@charset "utf-8";
/* CSS Document */

article{
 padding: 115px 0 120px 0;
}

.bt{
 width: 250px;
 margin: 50px auto 0;
 text-align: center;
}
.bt span{
 display: block;
 position: relative;
 background-color: #F03333;
 color: #fff;
 font-size: 1.8rem;
 font-weight: 700;
 padding: 15px 0;
 border-radius: 4px;
 box-shadow:0px 3px 10px rgb(0 0 0 / 20%);
 transition: all .3s ease-in-out;
}
.bt span:hover{
 background-color: #fff;
 color: #F03333;
}
.bt span i{
 right: 10px;
 position: absolute;
}
.bt-reverse span{
 background-color: #fff;
 color: #F03333;
}
.bt-reverse:hover span{
 background-color: #F03333;
 color: #fff;
}

.bt-office{
 margin: 30px 0 0 0 ;
}

.flex{
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
}
.a-center{
 align-items: center;
}

.main{
 position: relative;
 background-color: #fff;
 padding: 0 0 0 105px;
}

.main--insert{
 height: calc(100vh - 115px);
 position: relative;
 overflow: hidden;
  position:relative
}
.main--insert img.mv{
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: 50% 100%;
}
.main--insert iframe{
 /*position:absolute;
 top:50%;
 left: 50%;
 transform: translate(-50%,-50%);
 -ms-transform: translate(-50%,-50%);*/
}

.embed-container {
  bottom: 0;
  left: 0;
  overflow: hidden;
  position: absolute; /* fixed の場合。absolute でも同じ */
  right: 0;
  top: 0;
  margin: 0 10px 0 0;
}

.embed-container iframe {
  box-sizing: border-box;
  height: 56.25vw; /* 16:9 の高さなので 56.25% (= 9 ÷ 16) */
  left: 50%;
  min-height: 100%;
  min-width: 100%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 177.77777778vh; /* 16:9 の幅なので 177.77% (= 16 ÷ 9) */
}

a.scroll {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 40px;
  -webkit-transform: translateY(-50%) ;
  transform: translateY(-50%);
  z-index: 2;
  padding: 10px 10px 110px;
  overflow: hidden;
  color: #F03333!important;
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  text-transform: uppercase;
  text-decoration: none;
  writing-mode: vertical-lr;
}
a.scroll::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 100px;
  background: #F03333;
}

a.scroll::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 100px;
  background: rgba(255, 255, 255, .0);
}
a.scroll::after {
  animation: sdl 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}
@keyframes sdl {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
.main--insert .bnr img{
 width: 370px;
 height: auto;
}
.main--insert .bnr{
 position: absolute;
 right: 30px;
 bottom: 30px;
 z-index: 2;
}
.copy{
 font-size: 10.0rem;
 font-weight: 700;
 color: #fff;
 position: absolute;
 line-height: 120%;
 bottom: 50px;
 left: 50px;
 z-index: 100;
}
.slogan{
 margin: 120px 0 0px;
}
.slogan--insert{
 width: 850px;
 margin: 0 auto;
}
.slogan h2{
  font-size: 3.5rem;
 font-weight: 900;
 line-height: 160%;
 }
.slogan p{
 margin: 50px 0 0 0;
 font-size: 3.5rem;
 font-weight: 900;
 line-height: 160%;
}
/*.nvIntern{
 padding: 550px 0 0 0;
 position: relative;
}
.nvIntern::before{
 content: '';
 display: block;
 background-image: url(../../img/intern.png);
 background-repeat: no-repeat;
 background-position: center bottom;
 background-size:1650px 612px;
 background-size: contain;
 position: absolute;
 width: 100%;
 height: 612px;
 z-index: -1;
 top: 0;
 left: 0;
 right: 0;
 left: 50%;
 -webkit-transform:translateX(-50%);
 transform:translateX(-50%);
}*/

.nvIntern{
 padding: 70px;
 margin: 100px 0 0 0;
}
.nvIntern--insert{
 border: 1px solid #ddd;
 height: 620px;
 margin: 0 auto;
 position: relative;
 text-align: center;
 background-image: url(../../img/bg-intern.jpg);
 background-size: cover;
 background-position: center center;
 
}
.nvIntern--insert .box{
 position: absolute;
 top: 60%;
 left: 50%;
 -webkit-transform: translateY(-60%) translateX(-50%);
 transform: translateY(-60%) translateX(-50%);
 width: 95%;
 z-index:1;
 text-align: center;
 vertical-align: middle;
 text-shadow: 1px 1px 1px rgb(255 255 255 / 100%);
}
.nvIntern--insert .din{
 font-size: 12.0rem;
 font-weight: 700;
 letter-spacing: 0.02em;
 margin: 0 0 10px 0;
}
.nvIntern--insert h2{
 font-size: 4.0rem;
 color: #F03333;
}
.nvIntern--insert p{
 font-size: 2.2rem;
 font-weight: 700;
 line-height: 150%;
 margin: 25px 0 0 0;
}
.nvIntern--insert .bt{
 width: 300px;
 margin-top: 30px;
}
.nvIntern--insert .bt span{
 background-color: #fff;
 color: #F03333;
}
.nvIntern--insert .bt:hover span{
 background-color: #F03333;
 color: #fff;
}
.bt-intern{
 position: absolute;
 right: 0;
 bottom: 0;
}
.bt-intern a{
 display: flex;
 align-items: center;
}
.bt-intern img{
 width: 50px;
 height: 50px;
}
.bt-intern span{
 display: inline-block;
 margin: 0 7px 0 0;
 color: #F03333;
 font-weight: 600;
 font-size: 1.8rem;
}

.nvOffice {
 position: relative;
 height: 1000px;
 margin:0 0 0 0; 
}
.nvOffice img{
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: 50% 50%;
}
.nvOffice amp-img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
 }

.nvOffice--insert{
 position: absolute;
 top: 50%;
 left: 50%;
 -webkit-transform: translateY(-50%) translateX(-50%);
 transform: translateY(-50%) translateX(-50%);
 width: 85%;
 z-index:1;
 vertical-align: middle;
 color: #fff;
}
.nvOffice--insert .din{
 font-size: 6.8rem;
 text-shadow: 1px 1px 1px rgb(0 0 0 / 50%);
}
.nvOffice--insert p{
 font-size: 2.2rem;
 font-weight: 700;
  text-shadow: 1px 1px 1px rgb(0 0 0 / 50%);
  line-height: 150%;
}

.pageTitle--container{
 border-bottom: 1px solid #ddd;
 position: relative;
 padding: 0 0px;
 height: 200px;
}
.pageTitle--container video{
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: 50% 50%;
}

.pageTitle--insert{
 
 position: absolute;
 top: 50%;
 left: 50%;
 -webkit-transform: translateY(-50%) translateX(-50%);
 transform: translateY(-50%) translateX(-50%);
 max-width: 1350px;
 min-width: 1050px;
 width: 80%;
 z-index:1;
 vertical-align: middle;
}
.pageTitle--insert h1{
 font-size: 2.5rem;
}
.pageTitle--insert h2{
  font-size: 2.5rem;
 }
.pageTitle--insert .din{
 color: #F03333;
 font-size: 5.8rem;
 letter-spacing: 0;
 margin: 0 0 5px 0;
}

.container{
 padding: 0 20px;
 margin: 30px;
}
.insert{
 width: 1050px;
 margin: 0 auto;
}

.lead{
 font-size: 2.0rem;
 font-weight: 700;
 line-height: 180%;
 margin: 0 0 80px 0!important;
}

.recruitInfo dl{
 border-top: 1px solid #D7D7D7;
 position: relative;
 padding: 65px 0;
 display: flex;
 justify-content: space-between;
}
.recruitInfo dl::before {
    content: "";
    display: block;
    width: 150px;
    height: 1px;
    background-color: #F03333;
    position: absolute;
    top: -1px;
    left: 0;
}
.recruitInfo dl dt{
 width: 150px;
 font-size: 2.2rem;
 font-weight: 700;
 color: #F03333;
}
.recruitInfo dl dd{
 width: calc(100% - 180px);
}
.recruitInfo .col2{
 display: flex;
 justify-content: space-between;
}
.recruitInfo .col2 .item{
 width: 50%;
}
.recruitInfo .col2 .item.w30{
 width: 30%;
}
.recruitInfo .col2 .item.w70{
 width: 70%;
}
.recruitInfo .col2 .ttl{
 font-size: 1.7rem;
 font-weight: 700;
 line-height: 160%;
}
.recruitInfo .col2 .ttl span{
 display: block;
 font-weight: normal;
 font-size: 1.4rem;
}
.recruitInfo .col2 .item ul li{
 list-style-type: disc;
 margin: 0 0 0 20px;
}
.recruitInfo .notice{
 font-size: 1.4rem;
 color: #777;
}

.notice-box{
 background-color: #f1f1f1;
 padding: 25px 50px;
}
.notice-box ul{
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
}
.notice-box ul li{
 width: 50%;
 list-style-type: disc;
 font-size: 1.5rem;
 color: #555;
}

article.message .bread{
 padding-bottom: 15px;
}

.mvMessage{
 padding: 0 20px;
 margin: 0 0 150px 0;
}
.mvMessage--insert{
 height: calc(100vh - 200px);
 min-height: 700px;
}
.mvMessage--insert img{
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: 50% 30%;
}
.mvMessage{
 position: relative;
}
.mvMessage .catch{
 position: absolute;
 bottom: 20px;
 left: 50%;
 -webkit-transform: translateX(-50%);
 transform: translateX(-50%);
 width: 95%;
 z-index:1;
 text-align: center;
}
.mvMessage .catch img{
 width: auto;
 height: 350px;
}

.message--insert {
    width: 880px;
    margin: 0 auto;
}

.message--insert h2{
 font-size: 6.7rem;
 font-weight: 800;
 line-height: 160%;
 margin: 0 0 80px 0;
}
.message--insert h2 small{
 color: #F03333;
 font-size: 6.7rem;
 font-weight: 800;
 line-height: 160%;
}
.message--insert h2 small span{
}
.message--insert p{
 margin: 50px 0 0 0;
 font-size: 2.8rem;
 font-weight: 800;
 line-height: 200%;
}


.fadeIn {
  opacity: 0;
  transition: 2s;
}
.fadeIn.is-show {
  opacity: 1;
}

.fadeIn_up {
  opacity: 0;
  transform: translate(0, 15%);
  transition: 2s;
}
.fadeIn_up.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.fadeIn_right {
  opacity: 0;
  transform: translate(15%, 0);
  transition: 3s;
}
.fadeIn_right.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.type-first{
  opacity:0;
}
.type-first span {
  opacity: 0;
  -webkit-transition: .2s ease-in-out;
  transition: .2s ease-in-out;
}
.type{
  opacity:0;
}
.type span {
  opacity: 0;
  -webkit-transition: .4s ease-in-out;
  transition: .4s ease-in-out;
}
.type small span {
 opacity: 0;
}

article.award {
 padding-bottom: 20px;
}
article.award .bread{
 padding-bottom: 15px;
}

.insert--award .panel{
}
.insert--award .panel .pic{
 width: 50%;
 height: 700px;
}
.insert--award .panel .pic img{
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: 50% 50%;
}
.insert--award .panel .txt{
 width: 45%;
}
.insert--award .panel .txt h2{
 font-size: 5.5rem;
 line-height: 120%;
}
.insert--award .panel .txt h2 a{
  font-weight: 800;
 }
.insert--award .panel .txt p{
 margin: 0 0 15px 0;
 font-size: 2.4rem;
 font-weight: 700;
}

.btView{
 margin: 50px 0 0 0;
}
.btView a{
 display: flex;
 align-items: center;
}
.btView img{
 width: 50px;
 height: 50px;
}
.btView span{
 display: inline-block;
 margin: 0 7px 0 0;
 color: #F03333;
 font-weight: 600;
 font-size: 1.8rem;
}

.lead-award{
 text-align: center;
 margin: 0 0 15px 0;
 font-size: 2.4rem;
 font-weight: 700;
}
.layout-award {
 text-align: center;
}
.layout-award h2{
 margin: 35px 0 20px 0;
}
.layout-award h2 img{
 width: auto;
 height: 90px;
}

.layout-award hr{
 width: 100px;
 margin: 30px auto 30px;
}

.layout-award h3{
 line-height: 150%;
}

.pic-cept img{
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: 50% 60%;
}
.pic-cept {
 width: 85%;
 min-width: 1050px;
 height: 600px;
 margin: 50px auto 50px;
}
.din-lead{
 font-size: 4.5rem;
 line-height: 120%;
 margin: 0 0 30px 0;
 color: #F03333;
}

.blk-award .item{
 width: 48%;
 height: 350px;
 text-align: center;
 position: relative;
}
.blk-award.col3 .item{
 width: 32%;
 overflow: hidden;
}
.blk-award .txt {
 width: 100%;
 margin: 50px 0 0 0;
}
.blk-award.col3 .txt{
 width: 50%;
}
.blk-award .item img{
 position: absolute;
 top: 50%;
 left: 50%;
 -webkit-transform: translateY(-50%) translateX(-50%);
 transform: translateY(-50%) translateX(-50%);
 width: 100%;
 height: 100%;
 z-index:1;
 text-align: center;
 vertical-align: middle;
}

.layout-award .box .din{
 color: #F03333;
}
.layout-award .box .din span{
 display: inline-block;
 border-bottom: 2px solid #F03333;
 padding: 0 0 5px 0;
}
.layout-award .box h2{
 margin: 30px 0;
 line-height: 150%;
}
.layout-award .box p{
 text-align: left;
}
.layout-award .box .pic{
 margin: 0 0 30px 0;
}
.layout-award .box .pic.zoning02 img{
 width: auto;
 height: 350px;
}
.layout-award .box .pic.zoning03 img{
 width: auto;
 height: 450px;
}

.slide {
 margin: 80px 0;
}
.slide .pic {
 margin: 0 20px;
}
.slide .pic img{
 height: 500px;
 width: auto;
}
.slick-dots {
    bottom: 20px!important;
}

.outline{
 background-color: #f1f1f1;
 padding: 30px 50px;
 flex-wrap: wrap;
}
.outline dl{
 width: 50%;
 text-align: left;
 display: flex;
 justify-content: space-between;
}
.outline dl dt{
 width: 100px;
 font-weight: 700;
 color: #F03333;
}
.outline dl dd{
 width: calc(100% - 100px);
}

.outline h3{
 width: 100%;
 display: block;
 border-bottom: 1px solid #ddd;
 padding: 0 0 10px 0;
 margin: 0 0 20px 0;
 font-size: 2.0rem;
}


.layout-award h2.kids img {
    width: auto;
    height: 180px;
}


.pic-cept.kids img{
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: 50% 85%;
}

.layout-award p.left{
 text-align: left;
}

.lead-center{
 text-align: center!important;
}


.focus{
 border-top: 1px solid #ddd;
 padding: 50px 0;
}
.focus .din{
 margin-bottom: 20px;
}
.focus .din span{
 border: none!important;
 color: #fff;
 background-color: #F03333;
 line-height: 1;
 padding: 5px 20px!important;
 border-radius: 100px;
 font-size: 1.8rem;
}
.focus .item.zoning{
 border: 1px solid #ddd;
 padding: 30px;
}
.focus02 .item.zoning img{
 height: 400px;
 width: auto;
}

.title{
 text-align: center;
 margin: 0 0 30px 0;
}
.title .din{
 color: #F03333;
 margin: 0 0 15px 0;
}
.title h2{
 font-size: 4.5rem;
}
.title hr{
 width: 50px;
 border-top: 1px solid rgba(0, 0, 0, 0);
 border-bottom: 5px solid #FFD83B;
 margin: 25px auto 20px;
}
.title p{
 font-size: 3.0rem;
 font-weight: 800;
 line-height: 150%;
}

.knowledge{
 margin: 120px 0 80px 0;
}
.title-knowledge{
 padding: 0 0 0 50px;
 margin: 0 0 80px 0;
 border-left: 2px solid #F03333;
 position: relative;
}
.const .title-knowledge{
 border-left: 2px solid #27b7b5;
}
.direct .title-knowledge{
 border-left: 2px solid #add49b;
}
.title-knowledge .icon{
 position: absolute;
 right: 0;
 top: -130px;
 z-index: -1;
}
.title-knowledge .icon img{
 height: 260px;
 width: auto;
}
.title-knowledge h2{
 font-size: 2.4rem;
 margin: 0 0 25px 0;
}
.title-knowledge .din{
 color: #F03333;
 font-size: 6.5rem;
 letter-spacing: 0;
 margin: 0 0 30px 0;
}
.const .title-knowledge .din{
 color: #27b7b5;
}
.direct .title-knowledge .din{
 color: #add49b;
}

.knowledge-list .item{
 margin: 0 0 80px 0;
}
.knowledge-list .item:last-child{
 margin: 0;
}
.knowledge-list .item .pic img{
 width: 100%;
 height: auto;
}
.knowledge-list .item .pic{
 width: 350px;
 border: 1px solid #ddd;
 padding: 25px;
 border-radius: 4px;
 background-color: #fff;
 box-shadow:0px 4px 20px rgb(0 0 0 / 20%);
}
.knowledge-list .item .txt{
 width: calc(100% - 400px);
}
.knowledge-list .item .txt h3{
 line-height: 150%;
 font-size: 3.2rem;
}
.knowledge-list .item .txt h3 span{
 display: inline-block;
 padding: 0 2px;
 background:linear-gradient(transparent 70%, #FFD83B 70%);
}
.knowledge-list .item .txt .num{
 justify-content: flex-start;
 color: #F03333;
 margin: 0 0 10px 0;
}
.const .knowledge-list .item .txt .num{
 color: #27b7b5;
}
.direct .knowledge-list .item .txt .num{
 color: #add49b;
}
.knowledge-list .item .txt .num .ttl{
 font-weight: 700;
 display: inline-block;
 border-top: 2px solid #F03333;
 border-bottom: 2px solid #F03333;
}
.const .knowledge-list .item .txt .num .ttl{
 border-top: 2px solid #27b7b5;
 border-bottom: 2px solid #27b7b5;
}
.direct .knowledge-list .item .txt .num .ttl{
 border-top: 2px solid #add49b;
 border-bottom: 2px solid #add49b;
}
.knowledge-list .item .txt .num .din{
 font-size: 4.0rem;
 letter-spacing: 0;
 display: inline-block;
 margin: 0 0 0 5px;
}

.syoku_recruit{
  margin: 40px 0;
}
.syoku_recruit .title{
  margin-bottom: 40px;
}
.syoku_recruit .title h2{
  line-height: 1.2;
}
.syoku_recruit .recruitInfo dl{
  padding: 40px 0;
}
.syoku_recruit .recruitInfo dl dt{
  font-size: 2rem;
}
.recruitment_btn .btmBtGroup{
  margin: 20px 0 0;
}
.recruitment_btn .btmBtGroup .flex .btn {
  width: 48%;
}
.recruitment_btn .btmBtGroup .flex .btn span {
  font-size: 1.6rem;
}

article.member{
 padding-bottom: 0;
}

.nvMember--container{
 padding: 50px;
 margin: 20px 0 0 0;
}

.nvMember--insert .nv{
  width: 50%;
 border: 1px solid #fff;
 background-color: #F03333;
 padding: 150px 80px;
 position: relative;
}
.nvMember--insert .nv p{
 color: #fff;
 font-size: 2.5rem;
 font-weight: 800;
 margin: 0 0 0px 0;
}
.nvMember--insert .nv .bt-intern{
 right: 30px;
 bottom: 30px;
 display: flex;
 align-items: center;
}
.nvMember--insert .nv .bt-intern span{
 color: #fff;
}

.mvInterview--container {
 height: 700px;
 position: relative;
}
.mvInterview--container .pageTitle{
 position: absolute;
}
.mvInterview--container .pageTitle h1{
 font-size: 2.5rem;
}
.mvInterview--container .pageTitle .din{
 color: #F03333;
 font-size: 8.2rem;
 letter-spacing: 0;
 margin: 0 0 5px 0;
}
.mvInterview--container img{
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: 50% 50%;
}
.mvInterview--insert{
 position: absolute;
 top: 60%;
 left: 50%;
 -webkit-transform: translateY(-60%) translateX(-50%);
 transform: translateY(-60%) translateX(-50%);
 width: 1050px;
 z-index:1;
 color: #fff; 
}
.mvInterview--insert__yoshida{
 top: 80%;
 -webkit-transform: translateY(-80%) translateX(-50%);
 transform: translateY(-80%) translateX(-50%);
}
.mvInterview--insert.even{
 text-align: right;
}
.mvInterview--insert.black{
 color: #000;
}

.mvInterview--insert .din{
 font-size: 7.0rem;
}
.mvInterview--insert .name{
 font-size: 1.8rem;
 font-weight: 800;
}

.title-interview{
 text-align: center;
 font-size: 5.0rem;
 font-weight: 800;
 margin: 0 0 50px 0;
 line-height: 130%;
}
.interview--insert .num{
 text-align: center;
 font-size: 7.0rem;
 letter-spacing: 0;
 color: #F03333;
 margin: 0 0 10px 0;
}
.interview--insert .num span{
 display: block;
 font-size: 2.5rem;
}

.interview--insert{
 padding: 0 0px;
}
.interview--insert .pic img{
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: 50% 50%;
}
.interview--insert .pic.bottom img{
object-position: 50% 100%;
}
.interview--insert .pic.top img{
object-position: 50% 0%;
}
.interview--insert .pic{
 max-width: 1350px;
 min-width: 1050px;
 width: 80%;
 height: 600px;
 margin: 0 auto;
}

.interview--insert .item{
 width: 1050px;
 margin: 100px auto;
}
.interview--insert .item h2{
 margin: 0 0 40px 0;
 color: #F03333;
 line-height: 150%;
 font-size: 3.8rem;
}

.pic-full{
 height: 80vh;
}
.pic-full img{
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: 50% 50%;
}

.bt-back{
 width: 500px;
 margin: 100px auto 0;
 text-align: center;
}
.bt-back span{
 display: block;
 background-color: #fff;
 border: 1px solid #ddd;
 padding: 20px 0;
 position: relative;
 transition: all .3s ease-in-out;
}
.bt-back span i{
 position: absolute;
 left: 15px;
}
.bt-back span:hover{
 box-shadow:0px 4px 20px rgb(0 0 0 / 20%);
 color: #F03333;
 border: 1px solid #F03333;
}


.mvTalk--container{
 position: relative;
 /*height: calc(100vh - 100px);*/
}
.mvTalk--container img{
 width: 100%;
 height: auto;
}

.pageTitle--insert__crosstalk{
 text-align: center;
}
.pageTitle--insert__crosstalk .name{
 font-size: 5.0rem;
 font-weight: 800;
 color: #fff;
 text-shadow: 1px 1px 1px rgb(0 0 0 / 80%);
 line-height: 1;
 margin: 0 0 30px 0;
}
.pageTitle--insert__crosstalk .name span{
 display: inline;
 background:linear-gradient(transparent 90%, #FFD83B 90%);
 line-height: 1;
}

.talk--insert{
 width: 1050px;
 margin: 0 auto;
}
.talk--insert h2{
 font-size: 5.0rem;
 font-weight: 800;
 line-height: 130%;
 margin: 0 0 60px 0;
}


.headTalk{
 padding: 0 0 0 50px;
 margin: 0 0 80px 0;
 border-left: 2px solid #F03333;
 position: relative;
}
.headTalk > p{
 margin: 0 0 40px 0;
}
.headTalk .din{
 color: #F03333;
 font-size: 6.5rem;
 letter-spacing: 0;
 margin: 0 0 30px 0;
}
.headTalk .flex {
 justify-content: space-between;
 gap:50px 0;
}
.headTalk .flex .profile{
 width: 50%;
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
}
.headTalk .flex .profile .pic img{
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: 50% 50%;
 border-radius: 10px;
}
.headTalk .flex .profile .pic {
 width: 150px;
 box-shadow:0px 4px 20px rgb(0 0 0 / 20%);
 border-radius: 10px;
}
.headTalk .flex .profile .txt{
 width: calc(100% - 180px);
}
.headTalk .flex .profile p.name{
 font-weight: 700;
 font-size: 1.7rem;
}

.headTalk .flex .profile .tip{
 width: 95%;
 background-color: #f1f1f1;
 padding: 15px;
 font-size: 1.2rem;
 color: #555;
 line-height: 150%;
 margin: 20px 0 0 0;
}

.talk dl{
 display: flex;
 justify-content: space-between;
 margin: 30px 0;
}
.talk dl dt{
 width: 100px;
 font-weight: 700;
 color: #F03333;
 font-size: 1.9rem;
}
.talk dl dd{
 width: calc(100% - 100px);
}
.talk .pic{
 height: 500px;
 margin: 80px 0;
}
.talk .pic img{
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: 50% 50%;
}
.talk .pic.bottom img{
 object-position: 50% 100%;
}
.talk .pic.top img{
 object-position: 50% 0%;
}
.talk .pic.btm70 img{
 object-position: 50% 70%;
}
.picTalk-cept{
 margin: 100px 0;
 gap:15px 0;
}
.picTalk-cept .pic{
 width: 49.5%;
 height: 500px;
}
.cept3col .pic{
	width: 33%!important;
}
.picTalk-cept .pic img{
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: 50% 50%;
}
.picTalk-cept .pic:nth-child(2){
 margin: 100px 0 0 0;
}
.picTalk-cept .pic:nth-child(3){
 margin: -100px 0 0 0;
}

.cept3col .pic:nth-child(2){
 margin: 0px 0 0 0!important;
}
.cept3col .pic:nth-child(3){
 margin: 0px 0 0 0!important;
}

.noticeBox{
 border: 1px solid #ddd;
 padding: 30px;
 margin: 50px 0 0 0;
 font-size: 1.4rem;
 line-height: 160%;
}
.noticeBox p{
 font-weight: 700;
 margin: 0 0 5px 0!important;
}

.pic-last img{
 width: 100%;
 height: auto;
}

.nvInterview{
 position: relative;
 padding: 100px 0 0 0;
}
.nvInterview::before {
    content: '';
    background-color: #F03333;
    display: block;
    top: 0;
    left: 0px;
    right: 0px;
    height: 920px;
    z-index: -1;
    position: absolute;
    transform: skewY(-7deg) translateY(-120px);
}
.nvInterview .bt{
 width: 300px;
}

.title-layout{
 text-align: center;
}
.title-layout h2{
 font-size: 2.5rem;
}
.title-layout .din{
 color: #F03333;
 font-size: 8.2rem;
 letter-spacing: 0;
 margin: 0 0 5px 0;
}
.title-layout.white,
.title-layout.white .din{
 color: #fff!important;
}

.listInterview--insert {
  flex-wrap: wrap; /* 画面幅に合わせてカラム落ちさせる */
  display: flex;
  justify-content: space-between;
  align-items: top
}

.listInterview--insert .box {
  width: 24%;  /* お好みの幅で指定 */
  padding:16px;  /* お好みの幅で指定 */
  /* paddingと合わせてbox-sizingも指定 */
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box
}
.listInterview--insert:before {
  content: "";
  display: block;
  width: 24%;  /* .boxに指定したwidthと同じ幅を指定する */
  height: 0;
  order: 1;
}
/* 最後のコンテンツを左寄せにする指定 */
.listInterview--insert:after {
  content: "";
  display: block;
  width: 24%;  /* .boxに指定したwidthと同じ幅を指定する */
  height: 0;
}

.listInterview--insert{
 max-width: 75%;
 min-width: 1100px;
 margin: 0 auto;
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
}

.listInterview--insert .item{
 width: 24%;
 position: relative;
}
.listInterview--insert .item:nth-child(1){
 margin: 150px 0 0 0;
}
.listInterview--insert .item:nth-child(2){
 margin: 100px 0 0 0;
}
.listInterview--insert .item:nth-child(3){
 margin: 50px 0 0 0;
}
.listInterview--insert__dir .item{
 margin: 0 0 70px 0;
}
.listInterview--insert__dir .item:nth-child(1){
 margin: 0 0 70px 0;
}
.listInterview--insert__dir .item:nth-child(2){
 margin: 0 0 70px 0;
}
.listInterview--insert__dir .item:nth-child(3){
 margin: 0 0 70px 0;
}
.listInterview--insert .item .pic{
 height: 420px;
 position: relative;
}
.listInterview--insert .item .pic img{
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: 50% 50%;
}
.listInterview--insert .item .pic amp-img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
 }
.listInterview--insert .item .pic .ttl{
 position: absolute;
 z-index: 10;
 pointer-events: none;
 top: 80px;
 left: 30px;
}
.listInterview--insert .item .pic .ttl span{
 font-size: 2.0rem;
 font-weight: 800;
 color: #F03333;
 background-color: #fff;
 display: inline-block;
 padding: 0 0 0 5px;
 margin: 5px 0;
}
.listInterview--insert .item > .din{
 color: #fff;
 font-size: 5.5rem;
 margin: 0 0 0px 0;
 position: absolute;
 right: -30px;
 top: -30px;
 font-style: italic;
 letter-spacing: 0;
 text-shadow: 1px 1px 3px rgb(0 0 0 / 50%);
 z-index: 10;
}


.nvInterview .lead{
 text-align: center;
 color: #fff;
 position: relative;
 margin: 80px 0 30px 0!important;
}
.nvInterview .lead-cept::before{
 content: '';
 width: 1px;
 height: 50px;
 background-color: #fff;
 position: absolute;
 top: -60px;
 left: 50%;
 -webkit-transform: translateX(-50%);
 transform: translateX(-50%);
}

p.content_p{
  text-align: center;
  margin: 20px  0 40px!important;
}

.listInterview--insert .item .txt{
 margin: 20px 0 0 0;
}
.listInterview--insert .item .txt .ttl{
 color: #F03333;
 font-size: 1.9rem;
 font-weight: 700;
 letter-spacing: 0;
}
.listInterview--insert .item .txt p{
font-size: 1.5rem;
margin: 5px 0 ;
}
.listInterview--insert .item .txt .name{
 font-size: 2.0rem;
 font-weight: 700;
 display: flex;
 justify-content: flex-start;
 align-items: center;
 line-height: 1;
}
.listInterview--insert .item .txt .name span.din{
 color: #777;
 font-size: 1.6rem;
 margin: 0 0 0 10px;
}
.listInterview--insert .item .txt .view.din{
 font-size: 1.5rem;
 font-weight: 500;
 margin: 20px 0 0 0;
 display: flex;
 align-items: center;
 justify-content: flex-start;
}
.listInterview--insert .item .txt .view.din i{
 margin: 0 0 0 12px;
}

.nvTalk{
 margin: 150px 0 120px;
 padding: 150px 50px;
 position: relative;
}
.nvTalk::before{
 content: '';
 background-color: #F0F4F7;
 position: absolute;
 z-index: -1;
 top: 0;
 right: 0;
 bottom: 0;
 left: 50px;
}

.nvTalk-list{
 width: calc(100% - 520px);
 /*margin: 0 0 0 calc(100% - 880px);*/
}
.nvTalk-list .item{
 position: relative;
 margin: 0 0 70px 0;
}
.nvTalk-list .item:last-child{
 margin: 0;
}
.nvTalk-list .pic img{
 width: 100%;
 height: auto;
}
.nvTalk-list .pic amp-img{
  width: 100%;
  height: auto;
 }
.nvTalk-list .txt{
 margin: 20px 0 0 0;
}
.nvTalk-list .txt .ttl{
 display: flex;
 align-items: center;
 justify-content: flex-start;
}
.nvTalk-list .txt .ttl .din{
 font-size: 5.5rem;
 font-weight: 700;
 margin: 0 15px 0 0;
 display: inline-block;
 letter-spacing: 0;
}
.nvTalk-list .txt .ttl p{
 margin: 0;
 font-size: 2.7rem;
 font-weight: 800;
 color: #F03333;
}
.nvTalk-list .txt .ttl h3{
  margin: 0;
  font-size: 2.7rem;
  font-weight: 800;
  color: #F03333;
 }

.nvTalk-list .txt .view.din{
 font-size: 1.5rem;
 font-weight: 500;
 margin: 0px 0 0 0;
 display: flex;
 align-items: center;
 justify-content: flex-end;
}
.nvTalk-list .txt .view.din i{
 margin: 0 0 0 12px;
}

.nvTalk--insert{
 position: relative;
 display: flex;
 justify-content: space-between;
}
.nvTalk--insert .title{
 position: -webkit-sticky;
 position: sticky;
 top: 150px;
 display: block;
 width: 500px;
 height: 100%;
 text-align: left;
 /*pointer-events: none;*/
 z-index: 10;
 margin: 0 0 0 50px;
 /*position: absolute;
 text-align: left;
 margin: 0;
 left: 100px;
 top: -50px;
 z-index: 10;
 pointer-events: none;*/
}
.nvTalk--insert .title .din{
 font-size: 8.2rem;
 letter-spacing: 0;
 line-height: 1;
 margin: 0;
}
.nvTalk--insert .title h2{
 font-size: 2.5rem;
 margin: 0;
 line-height: 1;
}
.nvTalk--insert .title p{
 font-size: 2rem;
 margin: 30px 0 0 0;
 line-height: 160%;
}
.nvTalk--insert .title .bt{
 margin: 50px 0 0 0;
}

.nvAbout--insert{
 width: 1050px;
 margin: 40px auto 0;
}
.nvAbout--insert .item{
 width: 31%;
 box-shadow:0px 4px 20px rgb(0 0 0 / 20%);
}
.nvAbout--insert .item .pic{
 position: relative;
}
.nvAbout--insert .item .pic img{
 width: 100%;
 height: auto;
 border-radius: 5px 5px 0 0;
}
.nvAbout--insert .item .pic amp-img{
  width: 100%;
  height: auto;
  border-radius: 5px 5px 0 0;
 }
.nvAbout--insert .item .pic .inn{
 position: absolute;
 top: 50%;
 left: 50%;
 -webkit-transform: translateY(-50%) translateX(-50%);
 transform: translateY(-50%) translateX(-50%);
 width: 95%;
 z-index:1;
 text-align: center;
 vertical-align: middle;
 color: #fff;
}
.nvAbout--insert .item .pic .inn .din{
 font-size: 2.5rem;
}
.nvAbout--insert .item .pic .inn p{
 margin: 0;
 font-size: 1.4rem;
}
.nvAbout--insert .item .pic .inn h3{
  margin: 0;
  font-size: 1.4rem;
  font-weight: normal;
 }
.nvAbout--insert .item .link{
 padding: 25px;
}
.nvAbout--insert .item .link .btn{
 margin: 5px 0;
}
.nvAbout--insert .item .link .btn span{
 display: block;
 background-color: #F0F4F7;
 padding: 10px 17px;
 position: relative;
 border-radius: 3px;
}
.nvAbout--insert .item .link .btn span i{
 position: absolute;
 right: 10px;
}
.nvAbout--insert .item .link .btn span i.ri-external-link-line{
 color: #DD463D;
}

.fat-nav .copyright{
 position: absolute;
 z-index: 9999;
 bottom: 30px;
 left: 20px;
 color: #fff;
 font-size: 1.4rem;
}

.pic-last {
 height: 900px;
 margin: 150px 0 0 0;
}
.pic-last img{
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: 50% 50%;
}

article.cross{
 padding-bottom: 20px;
}

.pic-creation{
 height: 600px;
}
.pic-creation img{
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: 50% 50%;
}

.good{
 margin: 0 0 30px 0;
}
.good img{
 height: 45px;
 width: auto;
}
.kid{
 margin: 0 0 30px 0;
}
.kid img{
 height: 100px;
 width: auto;
}

.layout-award .mark-good{
 margin:40px 0 30px 0;
}
.layout-award .mark-good img{
 height: 50px;
 width: auto;
}
.layout-award .mark-kids{
 margin:30px 0 0px 0;
}
.layout-award .mark-kids img{
 height: 90px;
 width: auto;
}

.blk-award-gd .txt{
 width: 48%;
}
.blk-award-gd .txt img{
 width: 80%!important;
 height: auto!important;
}


.insert--databook{
 width: 80%;
 max-width: 1350px;
 min-width: 1050px;
 margin: 0 auto;
 gap:30px 0;
}
.insert--databook::after{
 content: '';
 display: block;
 width: 32%;
}
.update{
 width: 100%;
 text-align: right;
 color: #777;
}
.insert--databook .item{
 width: 32%;
 background-color: #fff;
 padding: 45px 20px;
 box-shadow:0px 4px 20px rgb(0 0 0 / 10%);
 border-radius: 5px;
 text-align: center;
 position: relative;
}
.insert--databook .item .memo{
 position: absolute;
 right: 15px;
 bottom: 15px;
 font-size: 1.4rem;
 color: #777;
}
.insert--databook .item .txt{
 text-align: left;
 margin: 10px 0 0 0;
 font-size: 1.5rem;
 color: #777;
}
.insert--databook .item .ttl{
 font-size: 3.0rem;
 font-weight: 800;
 color: #F03333;
}
.insert--databook .item .eng{
 margin: 15px 0;
 font-size: 1.8rem;
}
.insert--databook .item .num{
 font-size: 7.0rem;
 letter-spacing: 0;
 color: #F03333;
}
.insert--databook .item .num small{
 font-size: 2.5rem;
 font-weight: 800;
}
.insert--databook .item .img img{
 width: 100%;
 height: auto;
}
.insert--databook .item .noticeBlk{
 color: #777;
 margin: 10px 0 0 0;
 padding: 0 0px;
 font-size: 1.3rem;
}
.insert--databook .item .noticeBlk dl{
 width: calc(100% / 2);
 display: flex;
 justify-content: flex-start;
 line-height: 160%;
 font-size: 1.4rem;
}
.insert--databook .item .salary dl{
   width: 100%;
   text-align: left;
}

.insert--databook .item .noticeBlk dl dt{
 margin: 0 10px 0 0;
 font-weight: 700;
}
.insert--databook .item .salary dl dt{
  width: 4em;
}

.insert--databook .item .noticeBlk p{
 border-bottom: 1px solid #ddd;
 margin: 0 0 10px 0;
 padding: 0 0 5px 0;
}
.item-row2 .num{
 font-size: 6.0rem!important;
}
.insert--databook .item .col{
 display: flex;
 justify-content: center;
 flex-wrap: wrap;
 gap:0 10px;
}
.insert--databook .item .col div{
 font-weight: 800;
 width: 47%;
 text-align: left;
 font-size: 3.6rem;
 display: flex;
 justify-content: space-between;
 align-items: center;
}

.insert--databook .item .recruit div{
  width: 100%;
  justify-content: center;
}

.insert--databook .item .col div small{
 font-size: 1.8rem;
 margin: 0 2px 0 0;
}
.insert--databook .item .col div span{
 font-size: 4.0rem;
}
.insert--databook .item .col div p{
 margin: 0;
 font-weight: 700;
}

.mvOffice--insert{
 height: calc(100vh - 115px);
}
.mvOffice--insert img{
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: 50% 50%;
}

.mvOffice--container{
 position: relative;
}

.title-office{
 position: absolute;
 top: 50%;
 left: 50%;
 -webkit-transform: translateY(-50%) translateX(-50%);
 transform: translateY(-50%) translateX(-50%);
 width: 95%;
 z-index:2;
 text-align: center;
 vertical-align: middle;
}
.title-office .din{
 color: #fff;
 font-size: 8.0rem;
 letter-spacing: 0;
 margin: 0 0 5px 0;
}
.title-office h2{
 font-size: 2.5rem;
 color: #fff;
}

.insert--office{
 padding: 0 0 0 100px;
 margin: 0 0 150px 0;
}
.insert--office:last-child{
 margin: 0;
}
.title-area {
 margin: 0 0 30px 0;
}
.title-area .din{
 color: #F03333;
 font-size: 7.0rem;
 letter-spacing: 0;
 margin: 0 0 5px 0;
}
.title-area h2{
 font-size: 2.5rem;
 color: #F03333;
}

.officeSlide{
 margin: 50px 0 0 0;
 position: relative;
}

.officeSlide .swiper-slide{
 width: 500px;
}
.officeSlide .swiper-slide img{
 width: 100%;
 height: auto;
}
.officeSlide .swiper-slide .txt{
 margin: 15px 0 0 0;
 font-size: 1.3rem;
 color: #777;
}
.officeSlide .swiper-slide .txt p{
 margin: 0;
 font-size: 1.6rem;
 color: #000;
}
.officeSlide .swiper-pagination{
  bottom: -50px!important;
}
.officeSlide .swiper-pagination-bullet{
 width: 15px!important;
 height: 15px!important;
 margin: 0 6px!important;
}
.officeSlide .swiper-pagination-bullet-active {
    background: #F03333;
}



article.cross {
 padding-bottom: 20px;
}
article.cross .bread{
 padding-bottom: 15px;
}

.insert--cross .panel{
}
.insert--cross .panel .pic{
 width: 56%;
}
.insert--cross .panel .pic img{
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: 50% 50%;
}
.insert--cross .panel .txt{
 width: 40%;
}
.insert--cross .panel .txt p{
 font-size: 3.6rem;
 font-weight: 800;
 line-height: 150%;
}
.insert--cross .panel .txt h3{
  font-size: 3.6rem;
  font-weight: 800;
  line-height: 150%;
  margin: 15px 0 0 0;
 }
 .insert--cross .panel .txt h3 a{
  font-weight: 800;
 }
.insert--cross .panel .txt .ttl .din {
    font-size: 5.0rem;
    font-weight: 700;
    margin: 0 0 20px 0;
    display: inline-block;
    letter-spacing: 0;
    color: #F03333;
}

.notice_btm{
  max-width: 1350px;
    color: #777;
    margin: 20px auto 0;
    padding: 0 0px;
    font-size: 1.3rem;
}
.aos-animate sup{font-size: 1.3rem;}






















