.content_sec{
  padding:120px 0 40px;
  }
  @media (max-width:1024px){
      .content_sec{
        padding:80px 0 40px;
         margin-top:50px;
        }
        }

        @media (max-width:480px){
          .content_sec{
            padding:80px 0 0
            }
            }
            .mv_sec .inner{
              position:relative
              }
              .mv_sec .inner .img_box{
                position:relative;
                width:100%;
                height:90vh
                }
                .mv_sec .inner .img_box img{
                  width:100%;
                  height:100vh;
                  object-fit:cover;
                  position:absolute;
                  /*margin-top: 80px*/
                  }
                  .mv_sec .inner .text_wrapper{
                    z-index:10;
                    position:absolute;
                    top:60%;
                    transform:translateY(-50%);
                    right:10%;
                    margin:auto;
                    background-color:#ffffffd1;
                    padding:20px 25px;
                    max-height:280px;
                    }
                    .mv_sec .inner .text_wrapper h1{
                      line-height:0.9;
                      letter-spacing:5px
                      }
                      .mv_sec .inner .text_wrapper .sub_text{
                        margin-top:20px
                        }
                        .mv_sec .inner .text_wrapper .sub_text p{
                          background-color:#282828;
                          line-height:1;
                          padding:8px 15px;
                          display:inline-block;
                          margin:2px 0px;
                          letter-spacing:3px
                          }
                          .mv_sec .inner .text_wrapper::after,.mv_sec .inner .text_wrapper::before{
                            content:"";
                            position:absolute;
                            width:50px;
                            height:50px
                            }
                            .mv_sec .inner .text_wrapper::after{
                              bottom:100%;
                              left:100%;
                              background-color:#ffffffd1
                              }
                              .mv_sec .inner .text_wrapper::before{
                                background-color:#00138C;
                                opacity:0.8;
                                top:0;
                                left:calc(100% + 50px)
                                }
                                @media (max-width:1024px){
                                  .mv_sec .inner .img_box{
                                    height:70vh
                                    }
                                    .mv_sec .inner .img_box img{
                                     
                                      height:100%
                                      }
                                      .mv_sec .inner .text_wrapper{
                                        right:17%;
                                        padding:15px 20px
                                        }
                                        .mv_sec .inner .text_wrapper .sub_text{
                                          margin-top:10px
                                          }
                                          .mv_sec .inner .text_wrapper .sub_text p{
                                            padding:5px 10px
                                            }
                                            }
                                            @media (max-width:768px){
                                              .mv_sec .inner .img_box{
                                                height:80vh
                                                }
                                                .mv_sec .inner .text_wrapper{
                                                  right:19%;
                                                  padding:8px 15px
                                                }
                                                .mv_sec .inner .text_wrapper .sub_text{
                                                  margin-top:2px
                                                }

                                                .mv_sec .inner .text_wrapper .sub_text p{
                                                  padding:2px 5px;
                                                  font-size:16px;
                                                  letter-spacing:1.2px
                                                }
                                                .mv_sec .inner .text_wrapper::after,.mv_sec .inner .text_wrapper::before{
                                                  width:30px;
                                                  height:30px
                                                }
                                              
                                                .mv_sec .inner .text_wrapper::before{
                                                  left:calc(100% + 30px)
                                                }
                                              }
                                                
                                                @media (max-width:480px){
                                                  .mv_sec .inner .text_wrapper{
                                                    right:22%;
                                                    padding:5px 8px
                                                  }
                                                  .mv_sec .inner .text_wrapper h1{
                                                    letter-spacing:5px
                                                  }
                                                
                                                .mv_sec .inner .text_wrapper .sub_text{
                                                  margin-top:2px
                                                }
                                                .mv_sec .inner .text_wrapper .sub_text p{
                                                  padding:2px 3px;
                                                  font-size:14px;
                                                  letter-spacing:1px;
                                                  margin:0
                                                }
                                                .mv_sec .inner .text_wrapper::after,.mv_sec .inner .text_wrapper::before{
                                                  width:20px;
                                                  height:20px
                                                }
                                                .mv_sec .inner .text_wrapper::before{
                                                  left:calc(100% + 20px)
                                                }
                                              }
                                              .main_nav_bar-top{
                                                background-color:#00138C;
                                                background-size:70%;
                                                padding:30px 0;
                                                width: 100%;
                                                z-index: 30
                                              }
                                              .main_nav_bar-top .inner{
                                                display:flex;
                                                align-items:center;
                                                justify-content:space-between;
                                                max-width:75rem;
                                                margin:auto;
                                                width:92%
                                              }
                                              .main_nav_bar-top .inner .logo_box{
                                                max-width:180px
                                              }
                                              .main_nav_bar-top .inner .logo_box img{
                                                width:100%;
                                                display:block
                                              }
                                              .main_nav_bar-top .inner ul{
                                                align-items:center
                                              }
                                              .main_nav_bar-top .inner ul li{
                                                border-left:1px solid #fff;
                                                padding:0 15px
                                              }
                                              .main_nav_bar-top .inner ul li:last-child{
                                                border-right:1px solid #fff
                                              }
                                              @media (max-width:1024px){
                                                .main_nav_bar-top{
                                                  padding:20px 0
                                                }
                                                .main_nav_bar-top .inner .logo_box{
                                                  max-width:150px
                                                }
                                                .main_nav_bar-top .inner ul li{
                                                  padding:0 20px
                                                }
                                                .main_nav_bar-top .inner ul li:last-child{
                                                  border-right:none
                                                }
                                              }

                                                @media (max-width:1024px){
                                                  .main_nav_bar-top .inner ul{
                                                    display:none
                                                  }
                                                  .main_nav_bar-top .inner ul li{
                                                    border-left:none
                                                  }
                                                }
                                                .business_sec .content_wrapper{
                                                  display:flex;
                                                  flex-wrap:wrap;
                                                  max-width:1200px;
                                                  margin:auto;
                                                  margin-top:30px;
                                                  width:90%
                                                }
                                                .business_sec .content_wrapper li{
                                                  width:45%;
                                                  margin:0px 2.5%;
                                                  margin-bottom:80px;
                                                  position:relative
                                                }
                                                .business_sec .content_wrapper li .img_box{
                                                  width:100%
                                                }
                                                .business_sec .content_wrapper li .img_box img {
                                                  border-radius: 30px;
                                                }
                                                .business_sec .content_wrapper li .text_box{
                                                  position:absolute;
                                                  background-color:#fff;
                                                  left:0;
                                                  top:0;
                                                  line-height:1;
                                                  padding:12px
                                                }

                                                @media (max-width:1024px){
                                                  .business_sec .content_wrapper li{
                                                    width:43%;
                                                    margin:0px auto;
                                                    margin-bottom:20px
                                                  }
                                                }

                                                @media (max-width:768px){
                                                  .business_sec .content_wrapper li{
                                                    width:46%;
                                                    margin:0px 2%;
                                                    margin-bottom:4%
                                                  }
                                                }

                                                @media (max-width:480px){
                                                  .business_sec .content_wrapper{
                                                    display: block
                                                  }
                                                    .business_sec .content_wrapper li{
                                                      width:80%;
                                                      margin:0px auto;
                                                      margin-bottom:4%
                                                    }
                                                  }
                                                  .company_sec .inner{
                                                    max-width: 75rem;
                                                    margin:auto;
                                                    width:90%;
                                              }
                                              .company_sec .inner .content_wrapper .main_img{
                                                margin-bottom:40px
                                              }
                                              .company_sec .inner .content_wrapper .text_box p{
                                                text-align:center;
                                                line-height:2.5
                                              }
                                              .company_sec .inner .content_wrapper .btn_wrapper .more_btn{
                                                margin-top:70px
                                              }
                                              @media (max-width:1024px){
                                                .company_sec .inner .content_wrapper .main_img{
                                                  margin:20px auto;
                                                  width:80%
                                                }
                                                .company_sec .inner .content_wrapper .text_box p{
                                                  width:85%;
                                                  margin:auto
                                                }
                                                .company_sec .inner .content_wrapper .btn_wrapper .more_btn{
                                                  margin-top:30px
                                                }
                                              }
                                              @media (max-width:480px){
                                                .company_sec .inner .content_wrapper .main_img{
                                                  width:90%
                                                }
                                                .company_sec .inner .content_wrapper .text_box p{
                                                  width:95%;
                                                  line-height:2;
                                                  margin-bottom:6%
                                                }
                                              }
                                              .news_sec{
                                                background-image:url("../img/front/news_bg.png");
                                                background-position:center;
                                                background-repeat:no-repeat;
                                                background-size:cover;
                                                margin-top:120px
                                              }
                                              .news_sec .head_wrapper::after{
                                                background-color:#fff
                                              }
                                              .news_sec .news_wrapper .news_box{
                                                display:flex;
                                                flex-wrap:wrap;
                                                margin-top:50px
                                              }
                                              .news_sec .news_wrapper .news_box .news_item{
                                                width:46%;
                                                margin:0 2%;
                                                margin-bottom:30px;
                                                background-color:#fff
                                              }
                                              .news_sec .news_wrapper .news_box .news_item a{
                                                display:block;
                                                padding:12px 15px
                                              }
                                              .news_sec .news_wrapper .news_box .news_item a .new_txt{
                                                background:#000;
                                                color:#fff;
                                                display:inline-block;
                                                line-height:1;
                                                padding:5px 20px;
                                                letter-spacing:1px
                                              }
                                              .news_sec .news_wrapper .news_box .news_item a .flex_box{
                                                display:flex;
                                                margin-top:12px
                                              }
                                              .news_sec .news_wrapper .news_box .news_item a .flex_box .img_box{
                                                width:35%;
                                                margin:0 2%
                                              }
                                              .news_sec .news_wrapper .news_box .news_item a .flex_box .text_box{
                                                margin-left:2%;
                                                width:59%
                                              }
                                              .news_sec .news_wrapper .news_box .news_item a .flex_box .text_box .term_box{
                                                display:flex;
                                                flex-wrap:wrap;
                                                align-items:center;
                                                margin-bottom:15px
                                              }
                                              .news_sec .news_wrapper .news_box .news_item a .flex_box .text_box .term_box .cat{
                                                letter-spacing:2px;
                                                margin-right:10px
                                              }
                                              .news_sec .news_wrapper .news_box .news_item a .flex_box .text_box .term_box .date{
                                                letter-spacing:1.4px
                                              }
                                              .news_sec .news_wrapper .news_box .news_item a .flex_box .text_box .news_detail{
                                                line-height:1.8
                                              }
                                              @media (max-width:768px){
                                                .news_sec .news_wrapper .news_box .news_item{
                                                  width:100%;
                                                  margin:0;
                                                  margin-bottom:20px
                                                }
                                                .news_sec .news_wrapper .news_box .news_item a{
                                                  padding:10px
                                                }
                                              }
                                              @media (max-width:480px){
                                                .news_sec{
                                                  margin-top:40px
                                                }
                                                .news_sec .news_wrapper .news_box{
                                                  margin-top:20px
                                                }
                                              }
                                              
                                            .sectiontitle .title_ja .f32 .fb .lh1 .title .f24 .medium{
                                              text-align: center
                                            }


.flow_item{
  display:grid;
  grid-template-columns:1fr 1.5fr;
  counter-increment: number;
  align-items: center;
  padding-left: 0;
  border-top: solid 1px #616477;
  border-top: solid 1px var(--clr-main);
  height: 11.625rem;
  position: relative
}

.flow_item .num{
  justify-content: center;
  align-items: center;
  width: 6rem;
  height: 6rem;
   border-radius: 50%;
   background: transparent;
   border: 1px solid #616477;
   color: #616477;
   color: var(--clr-main);aspect-ratio: 1 / 1;
   display: flex;
   flex-direction: column;
   margin-right: 2.75rem;
  }
  
  .flow_item .num::before {
    content: "STEP";
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    line-height: 1;
    font-family: "Outfit", sans-serif;
    font-family: var(--font-en2);
    font-weight: 600
  }
  .flow_item .num::after{ 
       content: counter(number, decimal-leading-zero);
       font-size: 2rem;
       letter-spacing: 0.08em;
       line-height: 1;
       font-family: "Cormorant", serif;
       font-family: "Cormorant Infant", serif;
       font-family: var(--font-en3);
       font-weight: 600
      }
      .item--lft{ 
        position: relative;
        height: 100%;
        display: flex;
         align-items: center
        }
        @media (max-width:860px){
          .flow_item .num{
            width:4rem;
            height:4rem
          }
          .flow_item .num::after{
            font-size:1.4rem
          }
        }
        @media (max-width:768px){
          .flow_item{
            display:block
          }
          .item--lft{
            margin-bottom:4%;
            width:300px;
            margin:0 auto;
            margin-bottom:1rem
          }
          .item--rgt .text{
            text-align:center
          }
        }
        @media (max-width:768px){
          .flow_item .num{
            margin-right: 1.75rem
          }
        }
.works_sec .inner .content_wrapper .text_box p{
      text-align: center;
    line-height: 2.5;
}
.works_sec .inner .content_wrapper .btn_wrapper .more_btn{
	    margin-top: 70px;
}
.works_sec .inner .content_wrapper .works-btn .btn_wrapper .more_btn{
	    margin: 70px 4% 45px; 
}
.works-btn{   
   display: flex;
    justify-content: space-around;
    max-width: 1000px;
    margin: 0 auto;
  }
/*トップページナビゲーション*/
.main_nav_bar-top .inner .nav_banner .hb_box span{
  color: #fff;
}
.main_nav_bar-top.inner .nav_banner .hb_box span{
  position: absolute;
  display: block;
   width: 80%;
   height: 2px;
   left: 0;
   right:0;
   margin: auto;
   background-color: #d88120;
   transition: 0.5s;
  }
  .main_nav_bar-top .inner .nav_banner .hb_box span:nth-child(1) {
    top: 10px;
  }

		/*.main_nav_bar-top .inner .nav_banner{display:none}*/
		@media (max-width:1024px){
      .main_nav_bar-top .inner .nav_banner ul.nav_contents{
        transition:0.5s;
        position:fixed;
        width:50vw;
        background:#00138C;
        height:100vh;
        top:0;
        right:-100%;
        display:block;
        padding-top:100px;
        z-index: 60
      }
      .main_nav_bar-top .inner .nav_banner ul.nav_contents li{
        margin:20px;
        padding:20px;
        margin-bottom:0;
        padding-bottom:0;
        border-top:1px solid #fff;
        font-weight:700
      }
      .main_nav_bar-top .inner .nav_banner ul.nav_contents li:last-child{
        border-bottom:1px solid #fff;
        padding-bottom:20px
      }
      .main_nav_bar-top .inner .hb_box{
        position:fixed;
        right:15px;
        top:10px;
        width:40px;
        height:40px;
        cursor:pointer;
        z-index: 60
      }
      .main_nav_bar-top .inner .hb_box span{
        position:absolute;
        display:block;
        width:80%;
        height:2px;
        left:0;
        right:0;
        margin:auto;
        background-color:#fff;
        transition:0.5s
      }
      .main_nav_bar-top .inner  .hb_box span:nth-child(1){
        top:10px
      }
      .main_nav_bar-top .inner .hb_box span:nth-child(2){
        top:20px
      }
      .main_nav_bar-top .inner .hb_box span:nth-child(3){
        top:30px
      }
      .main_nav_bar-top .inner .nav_banner.open ul.nav_contents{
        right:0
      }
      .header .main_nav_bar-top .open .hb_box span{
        background-color:#fff
      }
      .main_nav_bar-top .inner .open .hb_box span:nth-child(1){
        top:20px;
        transform:rotate(-225deg)
      }
      .main_nav_bar-top .inner .open .hb_box span:nth-child(2){
        display:none
      }
      .main_nav_bar-top .inner .open  .hb_box span:nth-child(3){
        top:20px;
        transform:rotate(225deg)
      }
    }
/*トップページナビゲーション*/
/*
右から左へ
----------------------------*/
@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

/*
IE11対策
----------------------------*/
_:-ms-lang(x)::-ms-backdrop,
.works_sec .inner .content_wrapper .d-demo {
  display: -ms-grid;
  overflow: hidden;
}
/*----------------------------*/

.works_sec .inner .content_wrapper .d-demo .d-demo__wrap {
  display: flex;
  overflow: hidden;
}

.works_sec .inner .content_wrapper .d-demo .d-demo__wrap .d-demo__list {
  display: flex;
  list-style: none;
}

.d-demo__list--left{
animation :infinity-scroll-left 95s infinite linear 0.5s both;
}

.d-demo__item {
  width: calc(100vw / 4);
	padding: 0 10px;
}
.d-demo__item > img{
   width: 100%;
}
@media (max-width:480px){.d-demo__item{width: calc(100vw / 2)}}
.company_sec .inner .contentarea .flow_item .item--lft .ttl span{    
  font-weight: 600;
    font-size: 1.1rem;
    margin-right: 2rem;
  }
/* front-page.phpから移設 */
#slideshow {
  position: relative;
}

#slideshow img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 8;
  opacity: 0.0;
}

#slideshow img.active {
  z-index: 10;
  opacity: 1.0;
}

#slideshow img.last-active {
  z-index: 9;
}

.menu {
  display: flex;
}

.menu li {
  position: relative;
  list-style: none;
}

.menu li a {
  display: block;
  text-decoration: none;
  font-weight: bold;
  color: #fff;
  padding:15px 30px;
}

/* 通常時は非表示 */
.child_menu {
  display: none;
  position: absolute;
  top: 80%;
  left: 50%;
  transform: translateX(-50%);
  background-color: #ebebeb;
  width: 100%;
}

.dropdown {
  position: relative;
}

/* dropdownクラスhoverしたら隣接要素のdropdown_menuクラスを表示 */
.dropdown:hover+.dropdown_menu,
.dropdown_menu:hover {
  visibility: visible;
  /* transitionを設定することで指定した時間で表示される */
  opacity: 1;
}

.child_menu li {
  padding: 0;
}

.child_menu li a {
  display: block;
  text-align: center;
  padding: 20px 0;
  border-bottom: 1px solid #444;
  color: #444;
  font-size: 14px;
  font-weight: bold;
}

.child_menu li a:hover {
  background-color: #acacac;
}

  /*　ここから追加　*/

  .dropdown__lists {
    display: none;
    /*デフォルトでは非表示の状態にしておく*/
    width: 100%;
    position: absolute;
    top: 60px;
    left: 0;
  }

  .gnavi__list:hover .dropdown__lists {
    display: block;
    /*Gナビメニューにホバーしたら表示*/
  }

  .dropdown__list:not(:first-child)::before {
    content: "";
    width: 100%;
    height: 1px;
    background-color: #3492d1;
    position: absolute;
    top: 0;
    left: 0;
  }

  .dropdown__list:hover {
    background-color: #003558;
  }

  .dropdown__list a {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    text-decoration: none;
    position: relative;
  }

  .dropdown__list a::before {
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    transform: rotate(135deg);
    position: absolute;
    right: 15px;
    top: calc(50% - 5px);
  }

.overview {
  max-width: 1000px;
  width: 80%;
  margin: auto;
}

.top {
  display: flex;
  justify-content: space-between;
  margin-bottom: 40px;
}

.top .t_l {
  width: 40%;
}

.top .t_r {
  width: 60%;
  display: flex;
  align-items: center;
  justify-content: end;
}

.top .t_r .item {
  position: relative;
  margin: 0 10px;
}

.slider_wrap {
  display: flex;
  flex-wrap: wrap;
}

.slider_wrap .item {
  margin: 0 20px;
  background: #f3f3f3;
  padding: 20px;
}

.slider_wrap .item .img {
  width: 100%;
  margin: auto;
  margin-bottom: 30px;
  position: relative;
  padding-bottom: 60%;
}

.slider_wrap .item .img img {
  width: 100%;
  height: 100%;
  position: absolute;
  object-fit: cover;
}

.slider_wrap .item .center {
  margin-bottom: 20px;
}

.top .item.slick-active {
  opacity: .7;
}

.top .item.slick-active.slick-current {
  opacity: 1;
}

.p-slide {
  padding-left: 15px;
  padding-right: 15px;
}

.p-slide__inner {
  position: relative;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
  /*-- はみ出した要素を非表示にする --*/
}

.p-slide-mask {
  /*-- ドロップシャドウ用 --*/
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  /*-- 下にある要素をクリックできるようにする --*/
  box-shadow: 10px 0 14px -14px black inset, -10px 0 14px -14px black inset;
  z-index: 1;
}

.p-slide__main {
  display: flex;
  /*-- 横に並べるのに必要 --*/
  margin-left: -10px;
  padding-bottom: 17px;
}

.p-slide__block {
  flex: 0 0 calc(80% - 10px);
  /*-- 横に並べるのに必要 --*/
  margin-left: 10px;
}

.p-slide__img img {
  width: 100%;
}

.simplebar-scrollbar::before {
  /*-- スクロールバー自体の色を変更 --*/
  background-color: #debc00;

}


.simplebar-content-wrapper::-webkit-scrollbar {
  /*-- iOSでデフォルトのスクロールバーを非表示 --*/
  display: none;
  -webkit-appearance: none;
}


.p-slide__inner {
  overflow: hidden;
  /*-- はみ出した要素を非表示にする --*/
}

.p-slide__main {
  display: flex;
  /*-- 横に並べるのに必要 --*/
  margin-left: -10px;
}

.p-slide__block {
  flex: 0 0 calc(80% - 10px);
  /*-- 横に並べるのに必要 --*/
  margin-left: 10px;
}

.simplebar-scrollbar::before {
  /*-- スクロールバー自体の色を変更 --*/
  background-color: #A1C1C1;
  height: 40px;
}

/* 画像を並べている部分のcss */
.img_wrap {
  display: flex;
  flex-wrap: wrap;
  max-width: 1000px;
  margin: auto;
  width: 80%;
}

.img_wrap .img_box {
  width: 31%;
  margin: 1%;
  position: relative;
  padding-bottom: 31%;
  cursor: pointer;
}

.img_wrap .img_box .img {
  position: absolute;
  width: 100%;
  padding-bottom: 100%;
}

.img_wrap .img_box .img img {
  position: absolute;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

/* モーダル部分のデザイン */
.js_modal_area {
  display: none;
}

.js_modal_area .modal {
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 10;
}

.modal__bg {
  position: relative;
  z-index: 1;
  background: #00000080;
  width: 100%;
  height: 100%;
}

.js_modal_area .modal .modal__content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80%;
  background: #fff;
  max-width: 800px;
  z-index: 9999;
  padding: 90px 30px;
  display: none;
}

.js_modal_area .modal .modal__content.active {
  display: block;
}

.js_modal_area .modal .modal__content.active .img_box img {
  width: 100%;
  object-fit: contain;

  height: 40vh;
}

.js_modal_area .modal .modal__content .img_box {
  width: 80%;
  margin: 2% auto;
}

.js_modal_area .modal .modal__content p {
  width: 80%;
  margin: auto;
  margin-top: 12px;
  line-height: 1.4;
  font-size: 13px;
}

.js_modal_area .modal .js_modal_close {
  text-align: center;
  display: block;
  position: absolute;
  top: 10px;
  right: 15px;
  cursor: pointer;
  font-size: 30px;
  font-weight: 700;
}

/* 画像を並べている部分のcss */
.img_wrap {
  display: flex;
  flex-wrap: wrap;
  max-width: 1000px;
  margin: auto;
  width: 80%;
}

.img_wrap .img_box {
  width: 31%;
  margin: 1%;
  position: relative;
  padding-bottom: 31%;
  cursor: pointer;
}

.img_wrap .img_box .img {
  position: absolute;
  width: 100%;
  padding-bottom: 100%;
}

.img_wrap .img_box .img img {
  position: absolute;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

/* モーダル部分のデザイン */
.js_modal_area {
  display: none;
}

.js_modal_area .modal {
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 10;
}

.modal__bg {
  position: relative;
  z-index: 1;
  background: #00000080;
  width: 100%;
  height: 100%;
}

.js_modal_area .modal .modal__content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80%;
  background: #fff;
  max-width: 800px;
  z-index: 9999;
  padding: 90px 30px;
  display: none;
}

.js_modal_area .modal .modal__content.active {
  display: block;
}

.js_modal_area .modal .modal__content .img_box {
  width: 80%;
  margin: 2% auto;
}

.js_modal_area .modal .modal__content p {
  width: 80%;
  margin: auto;
  margin-top: 12px;
  line-height: 1.4;
  font-size: 13px;
}

.js_modal_area .modal .js_modal_close {
  text-align: center;
  display: block;
  position: absolute;
  top: 10px;
  right: 15px;
  cursor: pointer;
  font-size: 30px;
  font-weight: 700;
}


@media (max-width:875px) {
  .img_wrap .img_box {
    width: 31%;
    margin: 1%;
    position: relative;
    padding-bottom: 35%;
  }
}

@media (max-width:480px) {
  .img_wrap .img_box {
    width: 46%;
    margin: 2%;
    position: relative;
    padding-bottom: 55%;
  }
}