@charset "UTF-8";

html {
  scroll-behavior: smooth;
}

.inner-block{
  padding: 0 !important;
  margin: 0 !important;
}

.inner-block.bdt{
  padding-top: 35px !important;
  border-top: 1px solid #e5e5e5;
}

.thumbnail{
  border: 1px solid #e5e7ec;
}

.col-3:nth-of-type(3n+1) {
  clear: both;
}

.block a,
.link-arrow,
.block p,
.list-categories-top p{
  font-size: 14px !important;
}

a.link-arrow:hover{
  text-decoration: underline;
}

.case_studies p{
  margin: 0 !important;
}

.case_studies a{
  transition: .3s opacity;
}

@media screen and (min-width: 801px) {
  .case_studies a:hover{
    opacity: .8;
  }
}

.case_inner {
  max-width: 1280px;
  margin: 0 auto
}

#c01,#c02{
  scroll-margin-top: 60px;
}

.main_title{
  font-family: 'UD Shin Go DemiBold', sans-serif;
  font-size: 45px;
  line-height: 1;
  text-align: center;
  margin: 105px 0 55px;
}

.p_nav{
  text-align: center;
  display: flex;
  justify-content: center;
  flex-flow: wrap;
  gap: 20px 25px;
  margin-bottom: 105px;
}

.p_nav li a{
  font-family: "FrutigerRoma", sans-serif;
  width: 300px;
  height: 55px;
  font-size: 20px;
  line-height: 55px;
  color: #003ebd;
  border: 1px solid #384d61;
  border-radius: 8px;
  display: block;
  position: relative;
}

.p_nav li a::before{
  content: "";
  width: 9px;
  height: 9px;
  border-bottom: 2px solid #0033b9;
  border-right: 2px solid #0033b9;
  position: absolute;
  top: 48%;
  right: 27px;
  transform: translateY(-50%) rotate(45deg);
}

.p_nav li a::after{
  content: "";
  width: 25px;
  height: 25px;
  border: 1px solid #0033b9;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: 19px;
  transform: translateY(-50%);
}

.case_list h2{
  font-family: "FrutigerBold", 'UD Shin Go DemiBold', sans-serif;
  font-size: 33px;
  line-height: 1.3;
  color: #384d61;
  padding-left: 25px;
  margin-bottom: 35px;
  position: relative;
}

.case_list h2::before{
  content: "";
  width: 5px;
  height: 100%;
  background: #1877cc;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.case_list ul{
  display: flex;
  justify-content: flex-start;
  flex-flow: wrap;
  gap: 40px 25px;
}

.case_list ul li{
  width: 300px;
}

.case_list ul li a{
  display: block;
}

.case_list ul li img{
  border-radius: 5px;
  border: 1px solid #a3aeb8;
  margin-bottom: 15px;
  display: block;
}

.case_list ul li > img{
  border: none;
}

.case_list ul li .area{
  font-size: 14px;
  line-height: 1;
  color: #FFF;
  padding: 3px 10px;
  margin-bottom: 5px !important;
  border-radius: 3px;
  background: #3362a2;
  display: inline-block;
}

.case_list ul li h3{
  font-size: 18px;
  line-height: 1.4;
}

.case_list ul li h3 span{
  font-size: 15px;
  display: block;
}

.case_list + .case_list {
  margin-top: 95px;
}

.cs_bk{
  background: #ecf1f3;
  padding: 100px 0;
  margin: 100px 0;
}

.cs_bk h2{
  font-family: 'UD Shin Go DemiBold', sans-serif;
  font-size: 28px;
  line-height: 1.4;
  color: #384d61;
  margin-bottom: 20px;
}
.cs_bk section + section{
  margin-top: 85px;
}

.s_list{
  display: flex;
  justify-content: flex-start;
  flex-flow: wrap;
  gap: 20px;
}

.s_list a{
  width: 300px;
  height: 100px;
  font-size: 18px;
  line-height: 100px;
  text-align: center;
  background: #FFF;
  border-radius: 8px;
  border: 1px solid #a3aeb8;
  display: block; 
  position: relative;
  transition: .3s all;
}

.s_list a::before{
  content: "";
  width: 55px;
  height: 55px;
  background: url("/jp/-/media/ivd/top/re/prd_icon01.png") no-repeat;
  background-size: 100% auto !important;
  position: absolute;
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
}

.s_list li:nth-child(2) a::before{
  background: url("/jp/-/media/ivd/top/re/prd_icon02.png") no-repeat;
}

.s_list li:nth-child(3) a::before{
  background: url("/jp/-/media/ivd/top/re/prd_icon03.png") no-repeat;
}

.s_list li:nth-child(4) a::before{
  background: url("/jp/-/media/ivd/top/re/prd_icon04.png") no-repeat;
}


@media screen and (min-width: 801px) {
  .s_list  a:hover{
    color: #FFF;
    background: #15b3bf;
    opacity: 1 !important;
  }
  
  .s_list a:hover::before{
    background: url("/jp/-/media/ivd/top/re/prd_icon01_w.png") no-repeat;
  }
  
  .s_list li:nth-child(2) a:hover::before{
    background: url("/jp/-/media/ivd/top/re/prd_icon02_w.png") no-repeat;
  }

  .s_list li:nth-child(3) a:hover::before{
    background: url("/jp/-/media/ivd/top/re/prd_icon03_w.png") no-repeat;
  }

  .s_list li:nth-child(4) a:hover::before{
    background: url("/jp/-/media/ivd/top/re/prd_icon04_w.png") no-repeat;
  }

}


@media screen and (max-width: 800px) {
  
  .block a,
  .link-arrow,
  .block p,
  .list-categories-top p{
    font-size: 13px !important;
  }
  
  #c01,#c02{
    scroll-margin-top: 15vw;
  }

  .case_inner {
    width: 100%;
    padding: 0 5vw;
    box-sizing: border-box;
  }
  
  .main_title{
    font-size: 8vw;
    line-height: 1;
    text-align: center;
    margin: 15vw 0 8vw;
  }

  .p_nav{
    gap: 0 5%;
    margin-bottom: 15vw;
  }
  
  .p_nav li{
    width:  45%
  }
  .p_nav li a{
    width: 100%;
    height: 10vw;
    font-size: 3.3vw;
    line-height: 10vw;
    text-align: left;
    padding: 0 3vw;
    box-sizing: border-box;
    border: 1px solid #384d61;
    border-radius: 1vw;
  }

  .p_nav li a::before{
    width: 1.5vw;
    height: 1.5vw;
    border-bottom: 1.5px solid #0033b9;
    border-right: 1.5px solid #0033b9;
    right: 4vw;
    transform: translateY(-50%) rotate(45deg);
  }

  .p_nav li a::after{
    width: 4vw;
    height: 4vw;
    border: 1px solid #0033b9;
    right: 2.8vw;
  }

  .case_list h2{
    font-size: 5vw;
    line-height: 1.3;
    color: #384d61;
    padding-left: 4vw;
    margin-bottom: 6vw;
  }

  .case_list h2::before{
    width: 4px;
    height: 100%;
  }

  .case_list ul{
    display: flex;
    justify-content: flex-start;
    flex-flow: wrap;
    gap: 6vw 4%;
  }

  .case_list ul li{
    width: 48%;
  }

  .case_list ul li img{
    border-radius: 1vw;
    margin-bottom: 2vw;
  }

  .case_list ul li .area{
    font-size: 3.2vw;
    line-height: 1;
    color: #FFF;
    padding: 1vw 2vw;
    margin-bottom: 1vw !important;
    border-radius: 1vw;
  }

  .case_list ul li h3{
    font-size: 3.8vw;
    line-height: 1.4;
  }

  .case_list ul li h3 span{
    font-size: 83%;
    display: block;
  }


  .case_list + .case_list {
    margin-top: 15vw;
  }

  .cs_bk{
    background: #ecf1f3;
    padding: 15vw 0;
    margin: 15vw 0 10vw;
  }

  .cs_bk h2{
    font-size: 5vw;
    line-height: 1.4;
    color: #384d61;
    margin-bottom: 5vw;
  }
  
   .cs_bk h2 span{
     font-size: 80%;
  }
  
  .cs_bk section + section{
    margin-top: 10vw;
  }

  .s_list{
    display: flex;
    justify-content: flex-start;
    flex-flow: wrap;
    gap: 3vw 3%;
  }
  
  .s_list li{
    width: 47%;
  }

  .s_list a{
    width: 100%;
    height: 18vw;
    font-size: 3.8vw;
    line-height: 18vw;
    padding-left: 5vw;
    border-radius: 1vw;
    box-sizing: border-box;
  }

  .s_list a::before{
    width: 10vw;
    height: 10vw;
    background: url("/jp/-/media/ivd/top/re/prd_icon01.png") no-repeat;
    background-size: 100% auto !important;
    position: absolute;
    top: 50%;
    left: 2vw;
    transform: translateY(-50%);
  }  

}