@charset "utf-8";


/*========= モーダル表示のためのCSS ===============*/
.fade:not(.show) {
    pointer-events: none;
}

.modal {
    background:rgba(0, 0, 0, 0.7);
    display: block;
    z-index: -1;
}

.modal_filter{
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
}

.modal.show{
    opacity: 1;
    transition: opacity .15s linear;
    z-index: 9999;
}

.modal.show .modal-dialog,.modal.fade .modal-dialog {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width:100%;
    max-width:1230px;
    margin: 0;
}


.modal-content{
    border-radius: 15px;
    overflow: hidden;
    border: none;
    background-color: transparent;
}

.modal-header{
    display: block;
    padding: 0;
    border-bottom: none;
}

.modal-body {
    padding: 0;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    flex-wrap: wrap;
    background-color: #fff;
}

.modal-body .box{
    position: relative;
    display: block;
    text-align: center;
    width: calc(100%/3);
    padding: 30px 0;
    transition: all 0.3s;
    z-index: 0;
}

.modal-body .box:nth-child(2) .box_container{
    border-left:solid 2px #e8e7e9 ;
    border-right:solid 2px #e8e7e9 ;
}

.modal-body .box .box_container{
    text-align: center;
    padding: 15px;
}

.modal-body .box .concert_icon{
    position: relative;
    width: 80px;
    margin: 0 auto;
}

.concert_icon .icon_img_on{
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
}

.modal-body .box:hover .icon_img{
    opacity: 0;
}

.modal-body .box:hover .icon_img_on{
    opacity: 1;
}

.modal-body .box h3{
    text-align: center;
    font-weight :600;
  font-size : 18px;
  line-height : 37px;
  letter-spacing : 2.7px;
  text-indent: 2.7px;
  color : #011C44;
  margin: 30px 0;
}

.modal-body .box h3 span{
    font-weight : 600;
    font-size : 24px;
    letter-spacing : 3.6px;
}
.modal-body .box h3 span.blue{
    color : #3699E9;
}

.modal-body .box .modal_link{
    display: inline-block;
    width: 260px;
    text-align: center;
  font-size : 13px;
  line-height : 28.03px;
  letter-spacing : 2.6px;
  text-indent:-25px ;
  color : #FFFFFF;
  background : #011C44;
  padding: 16px 0 14px;
  background-image: url( ../images/arrow_w@2x.png);
  background-size: 15px;
  background-repeat: no-repeat;
  background-position: right 70px center;
}

.modal-body .box:first-child .modal_link,.modal-body .box:first-child:hover .modal_link{
    background-position: right 60px center;
}

.modal-body .box:last-child .modal_link,.modal-body .box:last-child:hover .modal_link{
    background-position: right 85px center;
}


.close_btn{
    position: absolute;
    width: 45px;
    top: -55px;
    right: -40px;
    cursor: pointer;
    pointer-events: visible;
}

.modal-body .box:before{
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: #fff;
    transition: all 0.3s;
    z-index: -1;
}
.modal-body .box:after{
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background:linear-gradient(#3699E9, #3DBBE4 );
    opacity: 0;
    transition: all 0.3s;
    z-index: -2;
}

.modal-body .box:hover:after{
    opacity: 1;
}

.modal-body .box:hover:before{
    opacity: 0;
}

.modal-body .box:nth-child(2):hover .box_container{
border: none;
}

.modal-body .box:hover .modal_link{
    color : #3699E9;
  background : #fff;
    background-image: url( ../images/arrow_b@2x.png);
    background-size: 15px;
    background-repeat: no-repeat;
    background-position: right 70px center;
}


.modal-body .box:hover h3,.modal-body .box:hover h3 span.blue{
    color: #fff;
}

.modal .container{
    position: relative;
}

.btn{
    display: inline-block;
    width: calc(100%/3 - 20px);
  font-size : 13px;
  line-height : 28.03px;
  letter-spacing : 2.6px;
  text-indent:2.6px ;
  color : #011C44;
background : #F2F5F9;
  padding: 13px 0 11px;
  border:solid 1px #F2F5F9;
  border-radius: 0;
}
.btn span{
  text-align: center;
  font-weight: 400;
  display: block;
}
.btn:hover{
  color : #FFFFFF;
  background : #011C44;
    border-color: #011C44;
    border-radius: 0;
}


.main .main_wrapper .main_box{
    position: relative;
    width: calc(100% - 100px);
}

.main .main_wrapper .main_box h2{
    position: absolute;
    top: 50%;
    left: 16%;
    transform: translateY(-50%);
  color : #FFFFFF;
  margin-bottom: 0;
}

.main .main_wrapper .main_box h2 span.eiji{
    display: block;
}

.main_box .swiper_wrapper{
    position: absolute;
    width: 81%;
    padding-right: 30px;
    padding-top: 30px;
    background-color: #fff;
    left: 0;
    bottom: -30px;
}

.main_box .swiper{
    padding-bottom: 30px;
}

.main_box .swiper-slide{
    position: relative;
}

.main_box .swiper-slide p{
    position: absolute;
    font-size : 18px;
    letter-spacing : 1.8px;
    color : #FFFFFF;
    bottom: 25px;
    left: 35px;
}

.main_box .swiper-slide p span.eiji{
    display: block;
    font-size : 12px;
    letter-spacing : 1.2px;
    color : #FFFFFF;
    margin-bottom: 8px;
}


.main_box .swiper-slide>div{
    position: relative;
}

.main_box .swiper-slide>div::after{
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: linear-gradient( transparent, #000 );
    opacity: 0.5;
}

.main_box .swiper-slide a:hover{
  opacity: 0.8;
}

.swiper-horizontal>.swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal{
    background : #DDE5EF;
    height: 5px;
    width: 100%;
    left: 0;
    bottom:5px;
}

.swiper-scrollbar-drag{
    background : #001C44;
}

.scroll{
    width: 100px;
    transform: rotate(-90deg);
}
.scroll a{
    display: block;
    font-size: 12px;
    color: #011C44;
    letter-spacing: 0.2em;
    margin-left: -35px;
}
#chart{
      /* background-color: #011C44; */
}
#policy{
      background-color: #F2F5F9;
}
#chart .flex{
  align-items: flex-start;
}

#chart .chart_content{
  width: calc(100%/2 - 70px);
}

#chart .chart_content:last-child {
    width: calc(100%/2 - 130px);
}

#chart .chart_content .chart_box{
  position: relative;
  font-size: 15px;
  text-align: center;
  line-height: 1;
  letter-spacing: 1.5px;
  text-indent: 1.5px;
  color: #fff;
  background-color:#2687C1;
  border-radius: 5px;
  padding: 18px;
  margin-bottom: 20px;
}

#chart .chart_content .chart_box.department{
  color: #001C44;
  background-color: #F2F5F9;
  background-color: #ffffff;
  width: 260px;
  margin-right: 0;
  margin-left: auto;
}

#chart .chart_content .chart_box.department:last-of-type{
  margin-bottom: 0;
}

#chart .chart_content .chart_box.department.mb35{
  margin-bottom: 35px;
}

#chart .chart_content .chart_box.branch{
  width: 320px;
  margin-right: 0;
  margin-left: auto;
}

#chart .chart_content .chart_box::after{
  position: absolute;
  content: "";
  width: 1px;
  height:502px;
  background-color: #001C44;
  left: 30px;
  top: 51px;
}

#chart .chart_content:first-child .chart_box:first-child::before{
  position: absolute;
  content: "";
  width: 1px;
  height:258px;
  background-color: #001C44;
  left: 90px;
  top: 51px;
}

#chart .chart_content:last-child .chart_box:first-child::before{
  position: absolute;
  content: "";
  width: 200px;
  height:1px;
  background-color: #001C44;
  left: -200px;
  top: 50%;
  transform: translateY(-50%);
}

#chart .chart_content:last-child .chart_box::after {
    height: 330px;
}

#chart .chart_content .chart_box.department::after,#chart .chart_content .chart_box.branch::after{
  width: 30px;
  height:1px;
  left: -30px;
  top: 50%;
  transform: translateY(-50%);
}

#chart .chart_content .chart_box.branch::before{
  position: absolute;
  content: "";
  width: 1px;
  height:46px;
  background-color: #001C44;
  left: 30px;
  top: 51px;
}

#performance{
    padding-top: 120px;
    padding-bottom: 220px;
    background-image: url(../images/logo_slide@2x.png);
    background-size: 1008px;
    background-repeat: no-repeat;
    animation: loop-slide 20s infinite linear 0s;
}

@keyframes loop-slide {
    from {
      background-position: right -1008px bottom 60px;
    }
    to {
        background-position: left -1058px bottom 60px;
    }
  }

#performance .title_img{
    max-width: 400px;
    margin: 0 auto 50px;
}

.flex .box h3,.box h3,.main .main_wrapper .main_box h2 span.eiji{
    font-weight: 300;
font-size : 45px;
letter-spacing : 4.5px;
margin-bottom: 25px;
}

.flex .box h3,.box h3{
  color : #001C44;
}

/* #chart .box h3,#chart .box p.sub_copy{
  color : #fff;
} */

.flex .box p.sub_copy,.box p.sub_copy,.main .main_wrapper .main_box h2,#policy .policy_box>div p{
    font-weight: 500;
    font-size : 18px;
    line-height : 32.4px;
    letter-spacing : 3.6px;
}

.flex .box p.sub_copy,.box p.sub_copy{
  color : #001C44;

}

#performance .flex .box p.sub_copy{
    text-indent: -0.5em;
}

.box p.sub_copy{
    margin-bottom: 0;
}

.flex .box p.text{
    font-size : 14px;
    line-height : 35px;
    letter-spacing : 2.8px;
    color : #001C44;
    margin-bottom: 50px;
}

#company{
    background : #011C44;
    padding: 75px 0;
}

#company .flex .box{
    width: calc(100% - 940px);
}

#company .flex .box h3,#company .flex .box p.sub_copy,#company .flex .box p.text{
 color: #fff;
    }

#company .btn{
    color: #fff;
    border-color: #fff;
    background-position: right 30px center;
}

#company .btn:hover{
    color : #3699E9;
}

 #company .swiper{
    margin-right: calc(50% - 50vw);
    width: 1167px;
    padding-top: 30px;
    margin-left: 0;
 }

#company .swiper-slide{
    position: relative;
}

#company .swiper-slide .num{
    position: absolute;
    width:54px;
    left: 30px;
    top: -18px;
    border-radius: 0;
}
#policy,#chart{
    padding: 120px 0;
}

#policy .flex {
    align-items: flex-start;
}

#policy .policy_box{
width: calc(100%/3 - 80px);
}

#policy .policy_box:nth-child(2){
width: calc(100%/3 + 10px);
}

#policy .policy_box p{
  text-align: center;
  color:#001C44;
}

#policy .policy_box>div{
    border-bottom:solid 1px #001C44;
    padding-bottom: 30px;
}

#policy .policy_box>div p{
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  text-indent: 3.6px;
  /* background-color: #F2F5F9; */
  background-color: #ffffff;
  border-radius: 50%;
  width: 180px;
  height: 180px;
  padding-top: 5px;
  margin: 0 auto;
}

#policy .policy_box>p{
    font-size: 15px;
    line-height: 35px;
    letter-spacing: 3px;
    margin-right: -3px;
    padding-top: 30px;
}

#policy .policy_box:last-child>p{
  display: flex;
    align-items: center;
    justify-content: center;
    min-height: 170px;
}

#policy .service_box::before{
    width: 1px;
    height: calc(100% - 50px);
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}

.service_box>div,.service_box>div>div{
    text-align: center;
}

.service_icon{
    width:100px ;
}

.service_box p{
    text-align: center;
    font-size : 16px;
    line-height : 24px;
    font-weight: 500;
    letter-spacing : 1.6px;
   margin-right: -1.6px;
    color : #011C44;
    margin-top: 20px;
}

#pickup{
    padding: 120px 0;
    background: linear-gradient(transparent 56%, #F2F5F9 56%);
}

#pickup .pickup_box p{
    font-weight: 500;
    font-size : 16px;
  letter-spacing : 1.6px;
  color : #011C44;
  margin-top: 30px;
}

#pickup .pickup_box p span.eiji{
    font-weight: 300;
    display: block;
    font-size : 11px;
  letter-spacing : 1.1px;
  color : #011C44;
  margin-bottom: 5px;
}

.box{
    margin-bottom: 50px;
}
#performance .flex {
  margin-bottom: 60px;
}
.pickup_box{
    width: calc(100%/4 - 23px);
}

.pickup_img{
    border-radius: 15px;
}

#performance .aboutus_box{
  padding-top: 120px;
}

table{
  width: 100%;
}

#performance ul{
  padding: 0;
}

#performance ul li:not(:first-of-type,:last-of-type){
  border-bottom: solid 1px #BDCCD4;
}

#performance ul li:first-of-type p{
  display: block;
 font-size: 18px;
 letter-spacing: 3.6px;
 margin-bottom: 40px;
  }

#performance ul li p{
  color: #001C44;
}

#performance ul li:not(:first-of-type) p{
  vertical-align: middle;
  font-size: 15px;
  padding: 18px 0 16px;
  letter-spacing: 3px;
  word-break: break-all;
}

#performance ul li:not(:first-of-type) p:last-child{
  text-indent: 0;
}

#performance ul li:not(:first-of-type)>div{
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}

#performance ul li:not(:first-of-type) p:last-child{
  padding: 0;
}

th{
  color: #001C44;
  line-height: 1;
  width: 81%;
  word-break: break-all;
}

#performance ul li p:last-child>span{
  display:inline-block;
  text-align: center;
  font-size: 13px;
  line-height: 1;
  letter-spacing: 2.6px;
  text-indent: 2.6px;
  color: #3699E9;
  padding: 8px 7px 5px;
  background-color: #fff;
  word-break: break-all;
}

#performance .content_box {
    padding: 60px 60px 44px;
}

#performance .flex .box{
  background-color: #fff;
  width: calc(100%/2 - 30px);
  border-radius: 10px;
  padding:50px  60px;
  margin-bottom: 0;
}

#performance .flex .box>div{
    padding:40px 0;
    border-bottom: solid 1px #BDCCD4;
}

#performance .flex .box h4{
  color: #3699E9;
  font-weight: 300;
  text-align: center;
  font-size: 30px;
  letter-spacing: 1px;
  text-indent: 1px;
  margin: 0;
}

#performance .flex .box h5,#performance .flex .box p{
  color: #001C44;
}

#performance .flex .box h5{
  position: relative;
  font-size: 17px;
      letter-spacing: 2px;
      line-height: 1;
      padding: 1px 0 0 10px;
      margin-bottom:20px;
}

#performance .flex .box h5::before{
  position: absolute;
  content: "";
  width: 2px;
  height: 100%;
  background-color: #001C44;
  top: 0;
  left: 0;
}

#performance .flex .box p{
  font-size: 15px;
  line-height: 1.8;
  letter-spacing: 3px;
}

#performance .flex .box .link{
  text-align: right;
  margin-top:-27px;
}

#performance .flex .box .link a{
  display: inline-block;
  text-align: center;
  font-weight: 300;
  color: #fff;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 1px;
  text-indent: 1px;
  padding: 1px 5px;
  min-width: 39px;
}

#performance .flex .box .link a:hover{
  opacity: 0.8;
}

#performance .flex .box .link a.hp{
  background-color: #3699E9;
  margin-right: 5px;
}

#performance .flex .box .link a.map{
  background-color: #001C44;
}

#performance .tab {
  display: none;/*はじめは非表示*/
  opacity: 0;/*透過0*/
}

#performance .content_box{
    background: #F2F5F9;
    border-radius:0;
}

/*areaにis-activeというクラスがついた時の形状*/
#performance .tab.is-changed {
    display: block;/*表示*/
    animation-name: displayAnime;/*ふわっと表示させるためのアニメーション*/
    animation-duration: 1s;
    animation-fill-mode: forwards;
}

#performance .btn.change{
    color : #FFFFFF;
    background : #011C44;
    border-color: #011C44;
    border-radius: 0;
}

#performance .btn:focus{
  box-shadow:none;
}

.content_box{
  padding: 60px 120px;
  /* background-color: #fff; */
  background-color: #F2F5F9;
  border-radius: 10px;
}

@keyframes displayAnime{
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}


@media (min-width: 361px){
    .block_360{
        display: none;
    }
}

@media (min-width: 391px){
    .block_390{
        display: none;
    }
}

@media (min-width: 415px){
.block_414{
  display: none;
}
}

@media (min-width: 429px){
.block_428{
  display: none;
}
}

@media (min-width: 441px){
.block_440{
display: none;
}
}

@media (min-width: 481px){
.block_480{
display: none;
}
}

@media (min-width: 541px){
.block_540{
  display: none;
}
}

@media (min-width: 576px){
#policy .container.list{
    max-width: 590px;
}
.block_575{
  display: none;
}
}

@media (min-width: 768px){
.block_767{
    display: none;
}
#policy .container.list{
    max-width: 770px;
}
}

@media (min-width: 992px){
.block_991{
    display: none;
}
#policy .container.list{
    max-width: 1010px;
}
#performance .container.aboutus {
    max-width: 1096px;
    margin-right: 0;
    padding-right: 0;
    padding-left: 31px;
}

#performance .aboutus{
  position: relative;
}
#performance .aboutus img{
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: calc(100%/2 - 35px);
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
}

}

@media (min-width: 1200px){
#policy .container.list{
    max-width: 1190px;
}
.block_1199{
  display: none;
}

}

@media (min-width: 1400px){

.container{
    max-width: 1170px;
}

#policy .container.list{
    max-width: 1220px;
}
#company .container {
    max-width: 1350px;
}
.modal .container{
    max-width: 1230px;
}
}

@media screen and (max-width: 1900px) {
    #company .swiper {
        width: 1100px;
    }
    #company .flex .box {
        width: calc(100% - 920px);
    }
}

@media screen and (max-width: 1800px) {
#company .swiper {
    width: 1050px;
}
}

@media screen and (max-width: 1700px) {
.main_box .swiper-slide p {
    font-size: 16px;
}
.main_box .swiper-slide p {
    bottom: 25px;
    left: 30px;
}
#company .swiper {
    width: 1000px;
}
}

@media screen and (max-width: 1600px) {

.flex .box p.text,#policy .flex p.text {
    font-size: 13px;
}
#company .swiper {
    width: 930px;
}
#company .flex .box {
    width: calc(100% - 900px);
}
}

@media screen and (max-width: 1500px) {
#company .swiper {
    width: 880px;
}
}

@media screen and (max-width: 1400px) {
  #policy .policy_box:nth-child(2) {
    width: calc(100%/3 + 15px);
}

#policy .policy_box {
    width: calc(100%/3 - 75px);
}

.box {
    margin-bottom: 45px;
}
#performance .flex{
  margin-bottom: 55px;
}
  #performance .flex .box p {
    letter-spacing: 2px;
}
  #performance .flex .box h5 {
    letter-spacing: 1px;
  }
  .main .main_wrapper .main_box h2 {
      left: 80px;
    }

  #policy,#chart {
    padding: 110px 0;
}
#pickup {
    padding: 110px 0;
}
  #performance {
      padding: 110px 0 210px;
      background-size: 808px;
  }
  @keyframes loop-slide {
      from {
        background-position: right -808px bottom 65px;
      }
      to {
          background-position: left -858px bottom 65px;
      }
    }
.service_box p {
    font-size: 15px;
}

}

@media screen and (max-width: 1399px) {
  #chart .chart_content .chart_box.branch {
    width: 305px;
}
  #chart .chart_content .chart_box.department {
    width: 245px;
  }
  th {
    width: 80.44%;
}

    #company .flex .box {
        width: calc(100% - 700px);
    }
    #company .swiper {
        width: 760px;
    }
    #company .swiper-slide p {
        font-size: 15px;
    }
    #company .swiper-slide .num {
        width: 50px;
        left: 15px;
    }
    }

@media screen and (max-width: 1300px) {

#company .swiper {
    width: 740px;
}
#company .flex .box {
    width: calc(100% - 730px);
}
.close_btn {
    right: -15px;
}
}

@media screen and (max-width: 1199px) {
  #policy .policy_box:last-child>p{
      min-height: 145px;
  }
  #chart .chart_content .chart_box.department {
    width: 205px;
}
#chart .chart_content .chart_box.branch {
    width: 265px;
}
#chart .chart_content .chart_box::after {
    height: 482px;
    top: 48px;
}
#chart .chart_content:last-child .chart_box:first-child::after {
    height: 316px;
}
#chart .chart_content:first-child .chart_box:first-child::before {
    height: 248px;
    top: 48px;
}
#chart .chart_content .chart_box.branch::before {
    height: 44px;
    top: 48px;
}

#chart .chart_content:last-child .chart_box:first-child::before {
    width: 140px;
    left: -140px;
}

  #chart .chart_content .chart_box {
    font-size: 14px;
    letter-spacing: 1px;
    text-indent: 1px;
    padding: 18px 0px 16px;
}
  #chart .chart_content {
    width: calc(100%/2 - 40px);
}
#chart .chart_content:last-child {
    width: calc(100%/2 - 100px);
}
  .content_box {
    padding: 50px 100px;
}
  th {
    width: 78.15%;
}

  #performance ul li:first-of-type p {
    font-size: 17px;
    margin-bottom: 30px;
  }
  #performance ul li:not(:first-of-type) p {
    font-size: 14px;
    letter-spacing: 2.5px;
  }
  #performance ul li p:last-child>span {
    font-size: 12px;
    letter-spacing: 2.5px;
    text-indent: 2.5px;
  }
  #performance .content_box {
    padding: 50px 50px 34px;
}
  #policy .policy_box>div{
    padding-bottom: 25px;
  }
  #policy .policy_box>p {
    font-size: 14px;
    line-height: 30px;
    letter-spacing: 1px;
    margin-right: -1px;
    padding-top: 25px;
}
#policy .policy_box>div p{
  font-size: 17px;
  width: 160px;
  height: 160px;
}

  #performance .flex .box>div {
    padding: 30px 0;
}
  #performance .title_img{
    margin-bottom: 40px;
  }
  #performance .flex .box h5 {
    font-size: 16px;
  }
  #performance .flex .box h4 {
    font-size: 28px;
  }
  #performance .flex .box:last-child>div:last-child h5::before{
    height: 50%;
  }
  #performance .flex .box .link {
    margin-top: -25px;
}
  #performance .flex .box:last-child>div:last-child h5{
    line-height: 1.2;
  }
  #performance .flex .box p {
    font-size: 14px;
    line-height: 1.6;
}
  #performance .flex .box {
    width: calc(100%/2 - 20px);
    padding: 40px 50px;
  }

  .main .main_wrapper .main_box h2 {
    left: 60px;
}
  .btn{
    width: calc(100%/3 - 15px);
    padding: 11px 0 9px;
  }

  #company .btn_box{
      text-align: center;
  margin-top: 40px;
  }
  .none_1199{
    display: none;
  }
  #performance {
      padding: 90px 0 185px;
      background-size: 708px;
  }
  @keyframes loop-slide {
      from {
        background-position: right -708px bottom 55px;
      }
      to {
          background-position: left -758px bottom 55px;
      }
    }

    #pickup {
        padding: 90px 0;
    }
    .pickup_box {
        width: calc(100%/4 - 18px);
    }
    .box{
        margin-bottom: 40px;
    }
    #performance .flex{
      margin-bottom: 50px;
    }
    .flex .box h3, .box h3,.main .main_wrapper .main_box h2 span.eiji {
        font-size: 43px;
        margin-bottom: 20px;
    }
    .flex .box p.sub_copy, .box p.sub_copy,.main .main_wrapper .main_box h2 {
        font-size: 17px;
    }

    .flex .box p.text{
        line-height: 30px;
        margin-bottom: 40px;
    }

    .main_box .swiper-slide p span.eiji {
        margin-bottom: 5px;
    }

    .main_box .swiper-slide p {
        font-size: 14px;
        left: 15px;
    }

      #policy .service_box {
        padding: 30px 10px;
    }
    .service_box p {
        font-size: 13px;
        letter-spacing: 0.8px;
    margin-right: -0.8px;
    }
    .service_icon {
        width: 90px;
    }
    #policy,#chart {
        padding: 90px 0;
    }
    .main .main_wrapper .main_box {
        position: relative;
        width: calc(100% - 80px);
    }
    .scroll {
        width: 80px;
    }
    .main_box .swiper_wrapper {
        padding-right: 25px;
        padding-top: 25px;
        bottom: -25px;
    }
    .main_box .swiper {
        padding-bottom: 25px;
    }

    #company{
        padding: 55px 0;
    }
    #company .flex .box {
        width:100%;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    #company .flex .box>div{
      width: 360px;
    }
    #company .flex .box p.text {
      width: calc(100% - 420px);
    }
    #company .swiper {
        padding-top: 15px;
    }
    #company .swiper-slide p {
        font-size: 12px;
        letter-spacing: 0.5px;
        text-indent: 0.5px;
    }
    #company .swiper-slide .num {
        width: 45px;
        left: 10px;
        top: -15px;
    }
    .modal-body .box h3 {
        font-size: 16px;
        line-height: 30px;
    }
    .modal-body .box h3 span {
        font-size: 21px;
    }
    .modal-body .box .concert_icon {
        width: 75px;
    }
    #company .swiper {
        width:100%;
    }
}


@media screen and (max-width: 1100px) {


}

@media screen and (max-width: 1050px) {
.close_btn {
    right: 0px;
}
}

@media screen and (max-width: 1024px) {
.main_box .swiper_wrapper {
    padding-right: 20px;
    padding-top: 20px;
}
.main_box .swiper_wrapper {
    bottom: -20px;
}
.main_box .swiper {
    padding-bottom: 20px;
}
}

@media screen and (max-width: 991px) {
  #policy .policy_box:last-child>p{
      min-height: 120px;
  }
  #policy,#chart{
      padding: 75px 0;
  }
  #performance ul li:not(:first-of-type) p:last-child {
    text-align: right;
    width: 175px;
}
  #chart .chart_content .chart_box {
    font-size: 13px;
    letter-spacing: 0.05em;
    text-indent: 0.05em;
    margin-bottom: 15px;
}
#chart .chart_content .chart_box.department.mb35 {
    margin-bottom: 30px;
}
#chart .chart_content:last-child .chart_box:first-child::before {
    width: 100px;
    left: -100px;
}
#chart .chart_content .chart_box::after {
    height: 440px;
    top: 47px;
    left: 25px;
}
#chart .chart_content .chart_box.department::after, #chart .chart_content .chart_box.branch::after {
    width: 15px;
    left: -15px;
}
#chart .chart_content .chart_box.branch::before {
    height: 38px;
    top: 47px;
    left: 25px;
}
#chart .chart_content:first-child .chart_box:first-child::before {
    height: 224px;
    top: 47px;
    left: 65px;
}
#chart .chart_content:last-child .chart_box:first-child::after {
    height: 286px;
}
  .content_box {
    padding: 45px 60px;
}
#chart .chart_content .chart_box.branch {
    width: 215px;
}
#chart .chart_content .chart_box.department {
    width: 175px;
}
#chart .chart_content{
  width: calc(100%/2 - 30px);
}
#chart .chart_content:last-child {
    width: calc(100%/2 - 70px);
}

  #performance ul li:not(:first-of-type) p {
    line-height: 1.5;
    letter-spacing: 1.5px;
    text-indent: -0.5em;
    padding: 16px 0 14px 0.5em;
}
  #performance ul li:first-of-type p {
    margin-bottom: 28px;
}
  #performance .content_box {
    padding: 45px 45px 31px;
}

  .btn {
    width: calc(100%/3 - 8px);
    font-size: 12px;
    letter-spacing: 1.6px;
    text-indent: 1.6px;
}
  #policy .policy_box>div {
    padding-bottom: 20px;
}
  #policy .policy_box>div p {
    font-size: 16px;
    letter-spacing: 2.6px;
    text-indent: 2.6px;
    width: 140px;
    height: 140px;
}

  #policy .policy_box{
    width: calc(100%/3 - 80px);
}
#policy .policy_box:nth-child(2) {
  width: calc(100%/3 + 65px);
}
  #policy .policy_box>p{
    font-size: 13px;
    line-height: 25px;
    padding-top: 20px;
  }
  #performance .flex .box .link {
    margin-top: -24px;
}
  #performance .flex .box>div {
    padding: 25px 0;
}
  #performance .flex .box h4 {
    font-size: 26px;
}
  #performance .flex .box h5 {
    font-size: 15px;
    letter-spacing: 0.05em;
    margin-bottom: 15px;
}
  #performance .flex .box p {
    font-size: 13px;
    line-height: 1.5;
    letter-spacing: 1px;
}
  #performance .flex .box {
    width: calc(100%/2 - 15px);
    padding: 30px;
}
  .box{
    margin-bottom: 35px;
}

#performance .flex{
  margin-bottom: 45px;
}

th {
width: 71.9%;
}

#performance ul li p:last-child>span {
    letter-spacing: 1.5px;
    text-indent: 1.5px;
    padding: 7px 7px 5px;
}

  #performance {
    padding: 75px 0 150px;
    background-size: 608px;
}
@keyframes loop-slide {
    from {
      background-position: right -608px bottom 45px;
    }
    to {
        background-position: left -658px bottom 45px;
    }
  }
  #company .swiper-slide .num {
    width: 40px;
    top: -13px;
}

.none_991{
    display: none;
}
#pickup .pickup_box p {
    font-size: 15px;
    margin-top: 20px;
}
.pickup_box {
    width: calc(100%/4 - 15px);
}
#pickup {
    background: linear-gradient(transparent 57%, #F2F5F9 57%);
    padding: 75px 0;
}

#performance .flex img {
    width: 100%;
    margin-right: 0;
    border-radius: 20px;
}

#performance .aboutus_box{
  padding-top: 75px;
}

.main_box .swiper_wrapper {
    width: 100%;
    position: static;
    padding-right: 0;
}

.swiper-horizontal>.swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal {
    background: #DDE5EF;
    height: 5px;
    width: calc(100% - 30px);
    left: 50%;
    transform: translateX(-50%);
    bottom: 5px;
}

.scroll {
    display: none;
}

#company .flex .box>div,#company .flex .box p.text {
    width: 100%;
}
.main .main_wrapper .main_box{
    width: 100%;
}


#performance .btn_box{
    text-align: center;
}

.close_btn {
    width: 35px;
    top: -45px;
    right: -15px;
}
.modal-body .box {
    padding: 20px 0;
}
.modal-body .box .concert_icon {
    width: 65px;
}
.modal-body .box h3 {
    font-size: 15px;
    line-height: 25px;
    letter-spacing: 2.6px;
    margin: 20px 0;
}
.modal-body .box h3 span {
    font-size: 18px;
    letter-spacing: 2.6px;
}
.modal-body .box .modal_link {
    width: 90%;
    font-size: 12px;
    padding: 11px 0 9px;
}

.modal-body .box .modal_link,.modal-body .box:hover .modal_link{
    background-position: right 30px center;
}

.modal-body .box:first-child .modal_link,.modal-body .box:first-child:hover .modal_link{
    background-position: right 20px center;
}

.modal-body .box:last-child .modal_link,.modal-body .box:last-child:hover .modal_link{
    background-position: right 40px center;
}

}

@media screen and (max-width: 767px) {
  .btn {
    line-height: 18px;
    text-indent: 0;
}
.btn span {
margin-right: -1.6px;
}
  #performance ul li:not(:first-of-type) p:last-child {
    text-align: justify;
    width: 100%;
    padding-bottom: 16px;
}
  .content_box {
    padding:30px;
}
#chart .chart_content:last-child .chart_box:first-child::before {
    width: 30px;
    left: -30px;
}

#chart .chart_content .chart_box.department {
    width: 160px;
}
#chart .chart_content .chart_box.branch {
    width: 180px;
}
#chart .chart_content .chart_box {
    font-size: 12px;
    letter-spacing: 0.01em;
    text-indent: 0.01em;
    padding: 16px 0px 14px;
    margin-bottom: 15px;
}
#chart .chart_content,#chart .chart_content:last-child {
    width: calc(100%/2 - 15px);
}
#chart .chart_content .chart_box.department::after, #chart .chart_content .chart_box.branch::after {
    width: 13px;
    left: -13px;
}
#chart .chart_content .chart_box::after {
    height: 408px;
    top: 42px;
    left: 17px;
}
#chart .chart_content:first-child .chart_box:first-child::before {
    height: 207px;
    top: 42px;
    left: 37px;
}
#chart .chart_content:last-child .chart_box:first-child::after {
    height: 264px;
    left: 37px;
}
#chart .chart_content .chart_box.branch::before {
    height: 36px;
    top: 42px;
    left: 7px;
}

  #performance ul li:not(:first-of-type) p {
    font-size: 13px;
    width: 100%;
    padding-bottom: 5px;
}
  #performance ul li:first-of-type p {
    font-size: 16px;
    margin-bottom: 24px;
}
#performance .content_box {
    padding: 40px 40px 24px;
}
#performance ul li:not(:first-of-type) p{
    letter-spacing: 1px;
  }
  #performance ul li p:last-child>span {
    letter-spacing: 1px;
    text-indent: 1px;
}
#performance ul li:first-of-type p {
    margin-bottom: 19px;
}
  #performance .flex{
    margin-bottom: 40px;
  }

  #policy .policy_box>div p {
    font-size: 15px;
  }
  #policy .policy_box>p {
    font-size: 12px;
    letter-spacing: 0.01em;
    margin-right: -0.01em;
}
  #policy .policy_box {
    width: calc(100%/2 - 25px);
}
#policy .policy_box:first-child{
  order: 2;
}
#policy .policy_box:nth-child(2){
  width:65%;
  order: 1;
  margin: 0 17.5% 30px;
}
#policy .policy_box:last-child{
  order: 3;
}

  #performance .block_1199{
    display:none;
  }
  #performance .flex .box:first-child{
        margin-bottom: 30px;
  }

  #performance .flex .box .link {
    text-align: justify;
    margin-top: 0;
}
  #performance .flex .box h4 {
    font-size: 25px;
}
#performance .flex .box:last-child>div:last-child h5::before {
    height: 100%;
}

#performance .flex .box h5 {
  font-size: 14px;
  letter-spacing: 0.01em;
  margin-bottom: 10px;
}
#performance .flex .box p {
  font-size: 12px;
}
#performance .flex .box>div {
    padding: 20px 0;
}
  #performance .flex .box {
    width:90%;
    padding:40px 50px;
    margin: 0 auto;
}
  .main .main_wrapper .main_box h2 {
    left: 50px;
}
  .main .main_wrapper .main_box img{
    height: 200px;
    background-size: cover;
    background-position: left center;
  }
  .swiper-horizontal>.swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal {
    bottom: 3px;
    height: 4px
}

    #policy .service_box::before {
        right: -1px;
    }
    .modal-body .box .modal_link, .modal-body .box:hover .modal_link {
        line-height: 23.03px;
    }


#pickup {
    padding: 60px 0;
    background: #fff;
}
.pickup_box {
    width: calc(100%/2 - 15px);
}
.pickup_box:nth-child(-n+2){
    margin-bottom: 30px;
}
#pickup .pickup_box p {
    font-size: 14px;
    margin-top: 15px;
}
.flex .box h3, .box h3,.main .main_wrapper .main_box h2 span.eiji {
    font-size: 41px;
    margin-bottom: 15px;
}
.main .main_wrapper .main_box h2 span.eiji {
  line-height: 1;
}
.flex .box p.sub_copy, .box p.sub_copy,.main .main_wrapper .main_box h2 {
    font-size: 16px;
}
.box {
    margin-bottom: 30px;
}
table{

}
#performance .aboutus_box{
    padding-top: 60px;
}
#performance {
    padding: 60px 0 135px;
    background-size: 558px;
}
.flex .box p.text {
    margin-bottom: 30px;
}

#policy .service_box.br_none_991::before{
    display: block;
}
#policy .service_box.br_none_767::before,#policy .service_box.last::before{
    display: none;
}

.service_icon {
    width: 70px;
}

.service_box p {
    font-size: 12px;
    letter-spacing: 0.7px;
    margin-right: -0.7px;
    margin-top: 15px;
    line-height: 22px;
}
#policy .service_box {
    padding: 25px 10px;
}

#policy,#chart {
    padding: 60px 0;
}
.main_box .swiper-slide p span.eiji {
    font-size: 10px;
}
.main_box .swiper-slide p {
    font-size: 13px;
    letter-spacing: 1px;
}

.main_box .swiper_wrapper {
    padding-top: 15px;
}
.main_box .swiper {
    padding-bottom: 15px;
}
#company .btn_box{
margin-top: 30px;
}
#company{
    padding: 45px 0;
}

#company .swiper-slide p {
    margin-top: 20px;
}
.modal-body .box .concert_icon {
    width: 55px;
}
.modal-body .box h3 span {
    font-size: 15px;
    letter-spacing: 1.8px;
}

.modal-body .box h3 {
    font-size: 12px;
    line-height: 20px;
    letter-spacing: 1.8px;
    margin: 15px 0;
}

.modal-body .box .box_container {
    padding: 15px 5px;
}

.modal-body .box {
    padding: 15px 0;
}

.none_767{
    display: none;
}

.modal-body .box .modal_link, .modal-body .box:hover .modal_link{
    background-size: 0;
    text-indent: 2.6px;
}

@keyframes loop-slide {
    from {
      background-position: right -558px bottom 40px;
    }
    to {
        background-position: left -608px bottom 40px;
    }
  }
}

@media screen and (max-width: 680px) {
}

@media screen and (max-width: 620px) {
}

@media screen and (max-width: 575px) {
  #policy .block_767{
    display: none;
  }
  #policy .none_767{
    display:block;
  }
  #chart .chart_content, #chart .chart_content:last-child {
    width: 361px;
    margin: 0 auto;
}
  #chart .chart_content:last-child {
    margin-top: 30px;
}
#chart .chart_content:last-child .chart_box:first-child::before {
  width: 1px;
  height: 516px;
  left: 40px;
  top: -516px;
  transform: none;
}
#chart .chart_content:first-child .chart_box:first-child::before {
    left: 120px;
}
#chart .chart_content .chart_box::after {
    left: 80px;
}
#chart .chart_content .chart_box.department::after, #chart .chart_content .chart_box.branch::after {
    width: 20px;
    left: -20px;
}
  #policy .policy_box {
      width: calc(100%/2 - 20px);
  }

  #chart .chart_content .chart_box.branch {
      width: 261px;
  }
  #chart .chart_content .chart_box.department {
    width: 221px;
}
#chart .chart_content:last-child .chart_box:first-child::after {
    left: 120px;
}
  #chart .chart_content .chart_box.branch::before {
    left: 20px;
}

  .main .main_wrapper .main_box h2 {
    left: 30px;
}

.container {
    padding-right: 30px;
    padding-left: 30px;
}
.modal .container{
    max-width: 100%;
}

.modal-body .box h3 {
    margin: 12px 0;
}

.modal-body .box .concert_icon {
    width: 50px;
}

.main_box .swiper-slide p {
    font-size: 12px;
    left: 10px;
    bottom: 20px
}
.main_box .swiper-slide p span.eiji {
    margin-bottom: 3px;
}
.close_btn {
    width: 30px;
    top: -40px;
    right: 15px;
}
#policy .container.list{
    padding-right: 5px;
    padding-left: 5px;
}

.pickup_box {
    width: calc(100%/2 - 10px);
}
}

@media screen and (max-width: 540px) {
  #performance .content_box {
    padding: 35px 35px 19px;
}
  #performance .flex .box:first-child>div:last-child h5::before, #performance .flex .box:last-child>div h5::before,#performance .flex .box:last-child>div:last-child h5::before {
    height: 100%;
}

  #performance .flex .box {
    width: 95%;
    padding: 35px 45px;
}

  #performance .flex .box .link {

}
  #performance .flex .box h4 {
    font-size: 24px;
}
  #company .swiper-slide .num {
    width: 45px;
    top: -15px;
    left: 15px;
}

  .modal.show .modal-dialog, .modal.fade .modal-dialog{
    width: 80%;
  }
  .none_540{
    display: none;
  }

.modal-body .box{
    width: 100%;
}

.modal br{
    display: none;
}
.modal-body .box .modal_link {
    display: block;
    width: 200px;
    margin: 0 auto;
}
.modal-body .box:nth-child(2) .box_container {
    border-top: solid 2px #e8e7e9;
    border-bottom: solid 2px #e8e7e9;
    border-left: none;
    border-right: none;
    padding-top: 20px;
    padding-bottom: 20px;
}
.modal-body .box:nth-child(2){
    padding: 0;
}
.modal-body .box:nth-child(2):hover .box_container {
    border-top: solid 2px transparent;
    border-bottom: solid 2px transparent;
}
.modal-body .box .concert_icon,.modal-body .box h3{
display: inline-block;
}
.modal-body .box .concert_icon {
    width: 45px;
}
.modal-body .box h3 {
    margin: 15px 0 20px;
}
.modal-body .box {
    padding: 10px 0;
}
.modal-body .box .box_container {
    padding: 10px;
}
.modal-body .box .modal_link, .modal-body .box:hover .modal_link{
    background-size: 15px;
    text-indent: -25px;
    background-position: right 40px center;
}
.modal-body .box:first-child .modal_link,.modal-body .box:first-child:hover .modal_link{
    background-position: right 35px center;
}

.modal-body .box:last-child .modal_link,.modal-body .box:last-child:hover .modal_link{
    background-position: right 55px center;
}

}

@media screen and (max-width: 500px) {
  #performance .flex .box {
    width: 100%;
}
  .modal.show .modal-dialog, .modal.fade .modal-dialog {
    width: 90%;
}

}

@media screen and (max-width: 480px) {
  #policy .policy_box:last-child>p {
    min-height: auto;
}
  #performance ul li:first-of-type p {
    font-size: 15px;
    margin-bottom: 16px;
}
  #performance ul li:not(:first-of-type) p {
    letter-spacing: 0.01em;
    padding-top: 14px
}
#chart .chart_content .chart_box.department::after, #chart .chart_content .chart_box.branch::after {
    width: 17px;
    left: -17px;
}
  #performance ul li:not(:first-of-type) p:last-child {
    padding-bottom: 12px;
}
  #performance .content_box {
    padding: 35px 35px 21px;
}
#chart .chart_content:last-child .chart_box:first-child::before {
    left: 35px;
    top: -501px;
    height: 501px;
}
  #chart .chart_content:last-child .chart_box:first-child::after {
    left: 105px;
}
  #chart .chart_content .chart_box::after {
    left: 70px;
    height: 399px;
}
#chart .chart_content:first-child .chart_box:first-child::before {
    left: 105px;
}

#chart .chart_content .chart_box.branch {
    width: 221px;
}
#chart .chart_content .chart_box.department {
    width: 187px;
}
#chart .chart_content .chart_box.branch::before {
    left: 17px;
}

#chart .chart_content .chart_box.department.mb35 {
    margin-bottom: 25px;
}
#chart .chart_content:last-child {
    margin-top: 25px;
}
#chart .chart_content, #chart .chart_content:last-child {
    width: 309px;
}
  .btn {
    letter-spacing: 1.1px;
    padding: 9px 0 7px;
}
.btn span {
    margin-right: -1.1px;
}
  #policy .policy_box>div p {
    font-size: 14px;
}
  #policy .policy_box,#policy .policy_box:nth-child(2) {
    width: 70%;
    margin: 0 auto;
}

#policy .policy_box:first-child{
  order: 1;
}
#policy .policy_box:nth-child(2) {
  order: 2;
}
#policy .policy_box:last-child{
  order: 3;
}
#policy .policy_box>p {
    line-height: 22px;
    padding-top: 15px;
}
#policy .policy_box>div {
    padding-bottom: 15px;
}
#policy .policy_box:nth-child(2) {
    margin-top: 30px;
    margin-bottom: 30px;
}

#performance ul li p:last-child>span {
    font-size: 12px;
    letter-spacing: 0.01em;
    text-indent: 0.01em;
}

#performance .flex .box:first-child{
      margin-bottom: 25px;
}
#performance .flex .box h4 {
    font-size: 23px;
}

#performance .flex .box:last-child>div:last-child h5 {
   line-height: 1.2;
}
  .box {
    margin-bottom: 25px;
}

#performance .flex{
  margin-bottom: 35px;
}

table{
  margin-top: 25px;
}

  #performance .flex .box:last-child>div:last-child h5::before {
    height: 50%;
}
  #performance .block_1199{
    display:block;
  }
  .main .main_wrapper .main_box img {
    height: 180px;
}
  .none_480{
    display: none;
  }

    #policy .container.list{
        padding-right: 20px;
        padding-left: 20px;
    }
    #pickup {
        padding: 55px 0;
        background: #fff;
    }
    #pickup .pickup_box p {
        font-size: 13px;
    }
    #pickup .pickup_box p span.eiji{
        margin-bottom: 3px;
    }
    .pickup_box:nth-child(-n+2) {
        margin-bottom: 20px;
    }
    .flex .box h3, .box h3 {
        text-align: center;
        font-size: 38px;
        text-indent: 4.5px;
        margin-bottom: 10px;
    }
    .main .main_wrapper .main_box h2 span.eiji{
      font-size: 38px;
      margin-bottom: 10px;
    }
    #policy .box{
        width: 100%;
    }
    #policy .box h3{
        text-indent: 0;
        margin-right: -4.5px;
    }
    .flex .box p.sub_copy, .box p.sub_copy{
        text-align: center;
        text-indent: 3.6px;
    }

    #performance .flex .box p.sub_copy{
      text-align: center;
      text-indent: 0;
      margin-right: -3.6px;
      line-height: 1.8;
    }

    .flex .box p.sub_copy, .box p.sub_copy,.main .main_wrapper .main_box h2 {
        font-size: 15px;
    }
    #performance .aboutus_box{
        padding-top: 55px;
    }

    #company .flex .box p.sub_copy{
        line-height: 27.4px;
    }
    .flex .box p.text {
        margin-bottom: 20px;
        line-height: 28px;
    }
    #policy .flex p.text{
        line-height: 28px;
    }

    .flex .box p.text,#policy .flex p.text {
        font-size: 12px;
    }

.service_icon {
    width: 60px;
}
.service_box p {
    font-size: 11px;
    letter-spacing: 0.4px;
    margin-right: -0.4px;
    line-height: 20px;
}
#policy .service_box {
    padding: 20px 0;
}
#policy .service_box::before {
    height: calc(100% - 20px);
}
#policy .service_box::after {
    width: calc(100% - 20px);
}
#policy,#chart {
    padding: 55px 0;
}
#performance {
    padding: 55px 0 120px;
    background-size: 505px;
}

#company{
    padding: 37px 0;
}

#company .btn_box{
    margin-top: 20px;
    }
    #company .swiper-slide p {
        font-size: 12px;
        margin-top: 15px;
    }
    #company .swiper-slide p span.eiji {
        margin-bottom: 5px;
    }

    @keyframes loop-slide {
        from {
          background-position: right -505px bottom 35px;
        }
        to {
            background-position: left -555px bottom 35px;
        }
      }
}

@media screen and (max-width: 440px) {
  #performance ul li:first-of-type p {
    letter-spacing: 2.1px;
}
  .modal.show .modal-dialog, .modal.fade .modal-dialog {
    width: 95%;
}
    .openbtn1 {
        width: 30px;
    }
.flex .box p.sub_copy, .box p.sub_copy{
    letter-spacing: 2.1px;
    text-indent: 2.1px;
}
.main .main_wrapper .main_box h2{
      letter-spacing: 2.1px;
}
#performance .flex .box p.sub_copy {
  letter-spacing: 2.1px;
  margin-right: -2.1px;
}
.flex .box h3, .box h3 {
    margin-bottom: 5px;
}

.main .main_wrapper .main_box h2 span.eiji{
    margin-bottom: 5px;
}

.service_box.min_60 p{
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 60px;
}
}
@media screen and (max-width: 428px) {
  #performance .flex{
    display: block;
  }
  .btn {
    display: block;
    width: 221px;
    line-height: 28.03px;
    text-indent: 1.1px;
    margin: 0 auto;
}
.btn span {
margin-right:0;
}
#performance .block_767{
  display: none;
}
#performance .btn:not(:last-child){
  margin-bottom: 20px;
}
  #performance .content_box {
    padding: 30px 30px 18px;
}
#performance ul li:first-of-type p {
    margin-bottom: 14px;
}
  #chart .chart_content:first-child .chart_box:first-child::before,#chart .chart_content:last-child .chart_box:first-child::after {
    left: 75px;
}
  #chart .chart_content .chart_box.department {
    width: 184px;
}
  #chart .chart_content .chart_box::after {
    left: 50px;
}
#chart .chart_content .chart_box.branch {
    width: 208px;
}
  #chart .chart_content, #chart .chart_content:last-child {
    width: 271px;
}
#chart .chart_content:last-child .chart_box:first-child::before {
    left: 25px;
}
#chart .chart_content .chart_box.department::after, #chart .chart_content .chart_box.branch::after {
    width: 12px;
    left: -12px;
}
#chart .chart_content .chart_box.branch::before {
    left: 12px;
}
#policy .policy_box,  #policy .policy_box:nth-child(2)  {
    width: 75%;
}

  .modal img.block_767{
    display: none;
  }

.main_box .swiper-slide p {
    font-size: 11px;
    letter-spacing: 0.01em;
}

}

@media screen and (max-width: 414px) {
  #policy .policy_box,  #policy .policy_box:nth-child(2)  {
      width: 80%;
  }
  #performance .flex .box {
    padding: 25px;
}
  .modal.show .modal-dialog, .modal.fade .modal-dialog {
    width: 100%;
}
#company .swiper-slide .num {
    width: 40px;
    top: -13px;
}
#company .swiper {
    padding-top: 13px;
}
.modal-body .box .concert_icon {
    width: 40px;
}

}


@media screen and (max-width: 390px) {
  #chart .chart_content:last-child .chart_box:first-child::before {
    left: 20px;
}
#chart .chart_content .chart_box.department::after, #chart .chart_content .chart_box.branch::after {
    width: 10px;
    left: -10px;
}
  #performance ul li:first-of-type p{
    letter-spacing: 0.05em;
    margin-bottom: 11px;
}
  #chart .chart_content, #chart .chart_content:last-child {
    width: 241px;
}
#chart .chart_content:first-child .chart_box:first-child::before, #chart .chart_content:last-child .chart_box:first-child::after {
    left: 60px;
}
#chart .chart_content .chart_box.branch {
    width: 190px;
}
#chart .chart_content .chart_box.department {
    width: 171px;
}
#chart .chart_content .chart_box.branch::before {
    left: 9px;
}
  #chart .chart_content .chart_box::after {
    left: 40px;
}
  #policy .policy_box,#policy .policy_box:nth-child(2) {
    width: 85%;
}
#policy .policy_box>p {
    line-height: 20px;
}

  #performance .flex .box h4 {
    font-size: 22px;
}
  .main .main_wrapper .main_box img {
    height: 150px;
}
  .main_box .swiper_wrapper {
    padding-top: 10px;
}
.swiper-horizontal>.swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal {
    bottom: 0px;
    height: 3px;
}
.main_box .swiper {
    padding-bottom: 10px;
}

.service_box.min_60 p {
    min-height: 54px;
}
    .pickup_box {
        width: calc(100%/2 - 7px);
    }
    #pickup .pickup_box p {
        margin-top: 10px;
    }
    .pickup_box:nth-child(-n+2) {
        margin-bottom: 15px;
    }
    .flex .box h3, .box h3 {
        font-size: 33px;
    }
    .main .main_wrapper .main_box h2 span.eiji{
        font-size: 33px;
    }
    .flex .box p.sub_copy, .box p.sub_copy,.main .main_wrapper .main_box h2 {
        letter-spacing: 1.1px;
    }

#performance .flex .box p.sub_copy{
  letter-spacing: 1.1px;
  margin-right: -1.1px;
}

    #pickup .pickup_box p span.eiji {
        font-size: 10px;
    }
    .service_box p{
        margin-top: 10px;
    }
    .service_icon {
        width: 45px;
    }
    .modal-body .box .concert_icon,.modal-body .box h3{
        display:block;
        }
        .modal-body .box h3 {
            margin: 15px 0;
        }
        .flex .box p.text,#policy .flex p.text {
            line-height: 26px;
        }
        .service_box p {
            line-height: 18px;
        }
}

@media screen and (max-width: 360px) {
  #policy .policy_box, #policy .policy_box:nth-child(2) {
    width: 95%;
}
  #performance ul li:first-of-type p {
    font-size: 14px;
    margin-bottom: 6px;
}
  .content_box {
    padding: 25px;
}
#performance .content_box {
    padding: 25px 25px 13px;
}
#chart .chart_content .chart_box.branch {
    width: 192px;
}
  #chart .chart_content:first-child .chart_box:first-child::before, #chart .chart_content:last-child .chart_box:first-child::after{
    left: 45px;
}
#chart .chart_content .chart_box.branch::before {
    left: 6px;
}
#chart .chart_content .chart_box.department {
    width: 178px;
}

  #chart .chart_content .chart_box::after {
    left: 30px;
}
  #chart .chart_content:last-child .chart_box:first-child::before {
    left: 15px;
}
  #chart .chart_content .chart_box.department::after, #chart .chart_content .chart_box.branch::after {
    width: 8px;
    left: -8px;
}
  #chart .chart_content, #chart .chart_content:last-child {
    width: 231px;
}

  #performance .flex .box:first-child>div:last-child h5::before, #performance .flex .box:last-child>div h5::before, #performance .flex .box:last-child>div:last-child h5::before {
    height: 50%;
}
  #performance .flex .box:last-child>div h5,#performance .flex .box:first-child>div:last-child h5 {
      line-height: 1.2;
  }
  .main .main_wrapper .main_box img {
    height: 130px;
}
  .flex .box p.sub_copy, .box p.sub_copy,.main .main_wrapper .main_box h2 {
      font-size: 14px;
  }
    .modal-body .box h3 {
        margin: 10px 0;
    }
    #pickup {
        padding: 50px 0;
        background: #fff;
    }
    .pickup_box {
        width: 100%;
    }
    .pickup_box:not(:last-child){
        margin-bottom: 20px;
    }
    .flex .box h3, .box h3 {
        font-size: 27px;
    }
    .main .main_wrapper .main_box h2 span.eiji {
        font-size: 27px;
    }

    #performance .aboutus_box{
        padding-top: 50px;
    }
    #policy,#chart {
        padding: 50px 0;
    }
    #performance {
        padding: 50px 0 100px;
        background-size: 400px;
    }

    .flex .box p.text {
        line-height: 24px;
    }
    #policy .flex p.text {
        line-height: 24px;
    }
    .main_box .swiper-slide p {
        bottom: 20px;
        left: 10px;
    }
    .main_box .swiper-slide p span.eiji {
        margin-bottom: 2px;
    }

    @keyframes loop-slide {
        from {
          background-position: right -400px bottom 30px;
        }
        to {
            background-position: left -450px bottom 30px;
        }
      }
}

@media screen and (max-width: 340px) {
  #policy .policy_box, #policy .policy_box:nth-child(2) {
    width: 100%;
}
  #performance ul li:not(:first-of-type) p {
    font-size: 12px;
}#performance .content_box {
    padding: 23px 23px 11px;
}
#performance ul li:first-of-type p {
    margin-bottom: 4px;
}
#performance ul li p:last-child>span {
    font-size: 11px;
}

  #chart .chart_content .chart_box.department {
    width: 158px;
}

  #chart .chart_content .chart_box.branch {
    width: 172px;
}
  #chart .chart_content, #chart .chart_content:last-child {
    width: 211px;
}

.flex .box p.sub_copy, .box p.sub_copy,.main .main_wrapper .main_box h2 {
    letter-spacing: 0;
    text-indent: 0;
}
#performance .flex .box p.sub_copy{
    letter-spacing: 0;
    margin-right: 0;
}
.modal-body .box h3 {
    line-height: 20px;
}
.modal .block_340{
    display:block;
}

}

@media screen and (max-width: 320px) {
#chart .chart_content, #chart .chart_content:last-child {
    width: 210px;
}
#chart .chart_content .chart_box.department {
    width: 157px;
}
#chart .chart_content .chart_box.branch {
    width: 171px;
}
}
