@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( ../img/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( ../img/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;
    text-align: center;
    font-weight: 400;
    width: 185px;
    text-align: center;
  font-size : 13px;
  line-height : 28.03px;
  letter-spacing : 2.6px;
  text-indent:-28.6px ;
  color : #FFFFFF;
  background : #011C44;
  padding: 13px 0 11px;
  border:solid 1px #011C44;
  background-image: url( ../img/arrow_w@2x.png);
  background-size: 15px;
  background-repeat: no-repeat;
  background-position: right 45px center;
  border-radius: 0;
}

.btn:hover{
    color : #3699E9;
  background : #fff;
    background-image: url( ../img/arrow_b@2x.png);
    background-size: 15px;
    background-repeat: no-repeat;
    background-position: right 45px center;
    border-color: #3699E9;
    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;
}
#group{
    padding-top: 120px;
    /* padding-bottom: 220px; */
    padding-bottom: 120px;
    /* background-image: url(../images/logo_slide_white@2x.png);
    background-size: 1008px;
    background-repeat: no-repeat;
    animation: loop-slide 20s infinite linear 0s; */
    background-color: #F2F5F9;
}
div#banner-sec {
    margin-top: 120px;
}

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

#group .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;
}

.flex .box p.sub_copy,.box p.sub_copy,.main .main_wrapper .main_box h2{
    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;

}

#group .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;
}
#about{
    padding: 120px 0;
}
section#about .box {
    margin-bottom: 0;
}
#about .flex {
    align-items: flex-start;
}

#about .service_box{
    position: relative;
    padding:35px 10px;
}

#about .service_box::before,#about .service_box::after{
    position: absolute;
    content: "";
    background-color: #BDCCD4;
}

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

#about .service_box::after{
    height: 1px;
    width: calc(100% - 50px);
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
}

#about .service_box.br_none::before,#about .service_box.bb_none::after{
    display: none;
}

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

#about .flex p.text{
width:60%;
font-size: 14px;
    line-height: 35px;
    letter-spacing: 2.8px;
    color: #001C44;
}

.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;
}

#group .box{
    margin-bottom: 50px;
}

.pickup_box{
    width: calc(100%/4 - 23px);
}

.pickup_img{
    border-radius: 15px;
}

#company .swiper-slide img{
    border-radius: 15px;
}

#company .swiper-slide p {
    text-align: center;
    font-size: 16px;
    letter-spacing: 1.6px;
    text-indent: 1.6px;
    color: #FFFFFF;
    margin-top: 30px;
}

#company .swiper-slide p span.eiji {
    display: block;
    text-align: center;
    font-size: 10px;
    letter-spacing: 1px;
    text-indent: 1px;
    color: #FFFFFF;
    margin-bottom: 10px;
}

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

table{
  width: 65%;
}

tr{
  border-bottom: solid 1px #BDCCD4;
}

tr:first-child{
  border-top: solid 1px #BDCCD4;
}

th,td{
  font-size: 15px;
  line-height: 1;
  vertical-align: middle;
}

th{
  width: 11%;
  padding: 0;
  color: #3699E9;
  letter-spacing: 3.6px;
}

table tr:nth-last-child(-n+3) th{
  vertical-align: top;
  padding-top: 30px;
}

td{
  color: #000000;
  padding: 30px 20px 28px 75px;
  letter-spacing:0.05em;
  word-break: break-all;
}

td>span{
  display: block;
  line-height: 1;
}

table tr:nth-last-child(-n+3) td>span:not(:last-child){
  margin-bottom: 15px;
}

#group .flex {
    align-items:stretch;
}

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

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

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

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

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

#group .flex .box h5::before{
  position: absolute;
  content: "";
  width: 3px;
  height: 17px;
  background-color: #001C44;
  top: 0;
  left: 0;
}

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

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

#group .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;
}

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

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

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

@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){
#about .container.list{
    max-width: 590px;
}
.block_575{
  display: none;
}
}

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

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

#group .aboutus{
  position: relative;
}
#group .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){
#about .container.list{
    max-width: 1190px;
}
.block_1199{
  display: none;
}

}

@media (min-width: 1400px){

#group .container,#about .container,#pickup .container{
    max-width: 1170px;
}

#about .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,#about .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) {
  #group .title_img,#group .box {
    margin-bottom: 45px;
}
  #group .flex .box p {
    letter-spacing: 2px;
}
  #group .flex .box h5 {
    letter-spacing: 0.6px;
  }
  .main .main_wrapper .main_box h2 {
      left: 80px;
    }
  #about {
    padding: 110px 0;
}
#pickup {
    padding: 110px 0;
}
  #group {
      /* padding: 110px 0 210px; */
      padding: 110px 0;
      /* background-size: 808px; */
  }
  div#banner-sec {
      margin-top: 110px;
  }
  @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) {
  table {
    width: calc(100% - 376px);
}
    #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;
    }
    td{
      letter-spacing:0.04em;
    }
    }

@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) {

  #group .flex .box h5 {
    font-size: 17px;
    letter-spacing: 1px;
  }
  #group .flex .box>div {
    padding: 30px 0;
}
  #group .title_img{
    margin-bottom: 40px;
  }
  #group .flex .box h4 {
    font-size: 28px;
  }
  #group .flex .box:last-child>div:last-child h5::before{
    top: 1px;
  }
  #group .flex .box .link {
    margin-top: -25px;
}
  #group .flex .box:last-child>div:last-child h5{
    line-height: 1.2;
  }
  #group .flex .box p {
    font-size: 14px;
    line-height: 1.6;
}
  #group .flex .box {
    width: calc(100%/2 - 20px);
    padding: 40px 50px;
  }
  table {
    width: 100%;
    margin: 50px auto 0;
}
  .main .main_wrapper .main_box h2 {
    left: 60px;
}
  .btn{
    padding: 11px 0 9px;
  }

  #company .btn_box{
      text-align: center;
  margin-top: 40px;
  }
  .none_1199{
    display: none;
  }
  #group {
      /* padding: 90px 0 185px; */
      padding: 90px 0;
      /* background-size: 708px; */
  }
  div#banner-sec {
      margin-top: 90px;
  }
  @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);
    }
    #group .box {
        margin-bottom: 40px;
    }
    .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;
    }
    #about .flex p.text {
        line-height: 30px;
    }
    .main_box .swiper-slide p span.eiji {
        margin-bottom: 5px;
    }

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

      #about .service_box {
        padding: 30px 10px;
    }
    .service_box p {
        font-size: 13px;
        letter-spacing: 0.8px;
    margin-right: -0.8px;
    }
    .service_icon {
        width: 90px;
    }
    #about {
        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) {
  #group .flex .box:last-child>div h5::before, #group .flex .box:first-child>div:last-child h5::before{
    top: 1px;
  }
  #group .flex .box:last-child>div h5, #group .flex .box:first-child>div:last-child h5{
    line-height: 1.2;
  }
  #group .flex .box h5::before {
    width: 2px;
  }

#about {
    padding: 75px 0;
}
  #group .flex .box .link {
    margin-top: -24px;
}
  #group .flex .box>div {
    padding: 25px 0;
}
  #group .flex .box h4 {
    font-size: 26px;
}
  #group .flex .box h5 {
    margin-bottom: 15px;
}
  #group .flex .box p {
    font-size: 13px;
    line-height: 1.5;
    letter-spacing: 1px;
}
  #group .flex .box {
    width: calc(100%/2 - 15px);
    padding: 30px;
}
  #group .box {
    margin-bottom: 35px;
}
#group .title_img {
    max-width: 350px;
    margin-bottom: 35px;
}
  table {
    width: 100%;
    margin-top: 35px;
}

th, td {
    font-size: 14px;
}
  #group {
    /* padding: 75px 0 150px; */
    padding: 75px 0;
    /* background-size: 608px; */
}
div#banner-sec {
    margin-top: 75px;
}
@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;
}

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

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

#about .service_box.br_none::before{
    display: block;
}

#about .service_box.br_none_991::before{
    display: none;
}
.service_icon {
    width: 80px;
}
#about .flex p.text {
    width: 100%;
}

.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%;
}


#group .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) {
  #group .flex .box h5::before {
    height: 16px;
}
  tr{
    display: block;
    padding: 25px 0 22px
  }
  th, td {
      display: block;
      width: 100%;
  }
  th {
    padding:0;
  line-height: 1;
  letter-spacing: 2.6px;
  }
  td{
    padding:0;
    margin-top: 10px;
  }
  table tr:nth-last-child(-n+3) th {
      padding-top:0;
  }
  table tr:nth-last-child(-n+3) td>span:not(:last-child) {
      margin-bottom: 10px;
  }
  #group .block_1199,#group .block_991{
    display:none;
  }
  #group .flex .box:first-child{
        margin-bottom: 30px;
  }
  th, td {
    font-size: 13px;
}
  #group .flex .box .link {
    margin-top: -23px;
}
  #group .flex .box h4 {
    font-size: 25px;
}

#group .flex .box h5 {
  font-size: 16px;
  letter-spacing: 0.01em;
  margin-bottom: 10px;
}
#group .flex .box:last-child>div h5, #group .flex .box:last-child>div:last-child h5,#group .flex .box:first-child>div:last-child h5 {
    line-height: 1;
}
#group .flex .box:last-child>div h5::before, #group .flex .box:last-child>div:last-child h5::before ,#group .flex .box:first-child>div:last-child h5::before {
    top:0;
}
#group .flex .box p {
  font-size: 12px;
}
#group .flex .box>div {
    padding: 20px 0;
}
  #group .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
}

    #about .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;
}
.flex .box p.sub_copy, .box p.sub_copy,.main .main_wrapper .main_box h2 {
    font-size: 16px;
}
#group .box {
    margin-bottom: 30px;
}
#group .title_img {
    max-width: 280px;
    margin-bottom: 30px;
}
table{
  margin-top: 30px;
}
#group .aboutus_box{
    padding-top: 60px;
}
#group {
    /* padding: 60px 0 135px; */
    padding: 60px 0;
    /* background-size: 558px; */
}
div#banner-sec {
    margin-top: 60px;
}
.flex .box p.text {
    margin-bottom: 30px;
}

#about .service_box.br_none_991::before{
    display: block;
}
#about .service_box.br_none_767::before,#about .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;
}
#about .service_box {
    padding: 25px 10px;
}

#about {
    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) {
  #group .title_img {
  max-width: 250px;
}
  #group .flex .box:last-child>div:last-child h5::before{
    top: 1px;
  }
  #group .flex .box:last-child>div:last-child h5{
    line-height: 1.2;
  }
  #group .block_1199{
    display: block;
}
  td>span.indent:first-child {
    line-height: 17px;
}
table tr:last-child td>span.indent:first-child {
    margin-bottom: 5px;
}
  .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;
}
#about .container.list{
    padding-right: 5px;
    padding-left: 5px;
}

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

}

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

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

  #group .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) {
  #group .flex .box {
    width: 100%;
}
  .modal.show .modal-dialog, .modal.fade .modal-dialog {
    width: 90%;
}
}

@media screen and (max-width: 480px) {
  #group .flex .box h5::before {
    height: 15px;
}
  #group .flex .box h5 {
    font-size: 15px;
}
  #group .flex .box:last-child>div:last-child h5::before {
    top: 1px;
}
  tr {
    padding: 20px 0 17px;
}
  th, td {
    font-size: 12px;
}
td {
    margin-top: 8px;
}
table tr:nth-last-child(-n+3) td>span:not(:last-child) {
    margin-bottom: 8px;
}
#group .flex .box:first-child{
      margin-bottom: 25px;
}
#group .flex .box h4 {
    font-size: 23px;
}
  #group .box {
    margin-bottom: 25px;
}
  #group .title_img {
    margin-bottom: 25px;
}
table{
  margin-top: 25px;
}

  #group .block_1199{
    display:block;
  }
  .main .main_wrapper .main_box img {
    height: 180px;
}
  .none_480{
    display: none;
  }

    #about .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;
    }
    #about .box{
        width: 100%;
    }
    #about .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;
    }

    #group .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;
    }
    #group .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;
    }
    #about .flex p.text{
        line-height: 28px;
    }

    .flex .box p.text,#about .flex p.text,.btn {
        font-size: 12px;
    }
.btn,.btn:hover{
    background-size: 13px;
}
.service_icon {
    width: 60px;
}
.service_box p {
    font-size: 11px;
    letter-spacing: 0.4px;
    margin-right: -0.4px;
    line-height: 20px;
}
#about .service_box {
    padding: 20px 0;
}
#about .service_box::before {
    height: calc(100% - 20px);
}
#about .service_box::after {
    width: calc(100% - 20px);
}
#about {
    padding: 55px 0;
}
#group {
    /* padding: 55px 0 120px; */
    padding: 55px 0;
    /* background-size: 505px; */
}
div#banner-sec {
    margin-top: 55px;
}

#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: 479px) {
#group .flex .box .link {
  text-align: justify;
  margin-top: 0;
}
}

@media screen and (max-width: 440px) {
  #group .title_img {
    max-width: 230px;
}
  .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;
}
#group .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) {
  table tr:last-child td>span:not(:last-child){
    line-height: 17px;
    margin-bottom: 5px;
}
  .modal img.block_767{
    display: none;
  }

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

}

@media screen and (max-width: 414px) {
  #group .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) {
  #group .title_img {
    max-width: 210px;
}
#group .flex .box:last-child>div h5, #group .flex .box:first-child>div:last-child h5{
    line-height: 1.2;
  }
  #group .flex .box:last-child>div h5::before, #group .flex .box:first-child>div:last-child h5::before {
    top: 1px;
}
 #group .block_991 {
    display: block;
}
  #group .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;
    }

#group .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,#about .flex p.text {
            line-height: 26px;
        }
        .service_box p {
            line-height: 18px;
        }
}

@media screen and (max-width: 360px) {
  #group .title_img {
    max-width: 200px;
}
  #group .flex .box h5::before {
    height: 14px;
}
  #group .flex .box h5 {
    font-size: 14px;
}

  .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;
    }

    #group .aboutus_box{
        padding-top: 50px;
    }
    #about {
        padding: 50px 0;
    }
    #group {
        /* padding: 50px 0 100px; */
        padding: 50px 0;
        /* background-size: 400px; */
    }
    div#banner-sec {
        margin-top: 50px;
    }

    .flex .box p.text {
        line-height: 24px;
    }
    #about .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) {
.flex .box p.sub_copy, .box p.sub_copy,.main .main_wrapper .main_box h2 {
    letter-spacing: 0;
    text-indent: 0;
}
#group .flex .box p.sub_copy{
    letter-spacing: 0;
    margin-right: 0;
}
.modal-body .box h3 {
    line-height: 20px;
}
.modal .block_340{
    display:block;
}

}
