@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,opsz,wght@0,6..96,500;1,6..96,500&display=swap");

#page_mv .mv_head{
  width: 456px;
}
#page_mv .mv_ttl{
  width: 500px;
  position: absolute;
  top: 342px;
  left: 50%;
  transform: translateX(-50%);
}

.page_common_ttl.underline::before{
  content: "";
  position: absolute;
  bottom: 31.3px;
  left: 0;
  width: 100%;
  height: 1px;
  background: #002b69;
}
.head_conte{
  margin-top: 77px;
  text-align: center;
  letter-spacing: 0.15em;
  line-height: 1.6;
}

#page_head .page_common_ttl{
  width: 494px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 75px;
}
#page_head .head_img{
  width: 1319px;
  margin-left: auto;
  margin-right: auto;
}

#sec01{
  margin-top: 120px;
}
#sec01 .page_common_ttl img{
  width: 648px;
  margin-left: auto;
  margin-right: auto;
}
#sec01 .head_conte .head_ttl{
  font-size: 27px;
}
#sec01 .head_conte .head_txt{
  font-size: 14px;
  margin-top: 2.5em;
  line-height: 2;
}
#sec01 .img._01{
  margin-bottom: 80px;
}

#sec02 .page_common_ttl{
  width: 430px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 110px;
}
#sec02 .head_conte .head_ttl{
  font-size: 73px;
}
#sec02 .head_conte .head_ttl_sub{
  font-size: 27px;
  margin-top: 1.5em;
}
#sec02 .head_conte .head_txt{
  font-size: 14px;
  margin-top: 2.5em;
  line-height: 2;
}

#sec03 .sec_cpt{
  width: 100%;
  height: 330px;
  background: url(../../common/images/bg_2.webp);
  background-size: 100% 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
#sec03 .sec_cpt .sec_cpt_txt{
  font-size: 27px;
  color: #fff;
  text-align: center;
  line-height: 1.8;
  letter-spacing: 0.13em;
}
#sec03 .conte._01{
  margin-top: 125px;
  width: 1250px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
#sec03 .conte._01 .txt_wrap .head{
  font-size: 27px;
  line-height: 1.8;
  letter-spacing: 0.13em;
  margin-bottom: 2em;
}
#sec03 .conte._01 .txt_wrap .txt{
  font-size: 14px;
  line-height: 1.8;
}
#sec03 .conte._01 .img_wrap{
  width: 720px;
}
#sec03 .conte._02{
  width: 1160px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 80px;
  margin-bottom: 100px;
}
#sec03 .conte._02 .conte_ttl{
  position: relative;
  font-size: 27px;
  padding-bottom: 0.2em;
  margin-bottom: 2em;
}
#sec03 .conte._02 .conte_ttl::after{
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 8px;
  background: url(../images/underline_bg.svg);
  background-size: 100% 100%;
}
#sec03 .conte._02 .conte_head{
  text-align: center;
  font-size: 18px;
  margin-bottom: 1.5em;
}
#sec03 .conte._02 .txt_lists{
  display: flex;
  justify-content: space-between;
  align-items: start;
}
#sec03 .conte._02 .txt_lists .txt_list{
  width: 32%;
}
#sec03 .conte._02 .txt_lists .txt_list .list_ttl{
  font-size: 18px;
  margin-bottom: 0.4em;
}
#sec03 .conte._02 .txt_lists .txt_list .list_box{
  background: url(../../common/images/bg_2.webp);
  background-size: 100% 100%;
  color: #fff;
  height: 100px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  letter-spacing: 0.1em;
}



@media screen and (max-width: 1400px) {
  #page_mv .mv_head{
    width: 32.57vw;
  }
  #page_mv .mv_ttl{
    width: 35.71vw;
    top: 24.42vw;
  }
  
  .page_common_ttl.underline::before{
    bottom: 2.23vw;
  }
  .head_conte{
    margin-top: 5.5vw;
  }
  
  #page_head .page_common_ttl{
    width: 35.28vw;
    margin-bottom: 5.35vw;
  }
  #page_head .head_img{
    width: 94.21vw;
  }
  
  #sec01{
    margin-top: 8.57vw;
  }
  #sec01 .page_common_ttl img{
    width: 46.28vw;
  }
  #sec01 .head_conte .head_ttl{
    font-size: 1.92vw;
  }
  #sec01 .head_conte .head_txt{
    font-size: 1vw;
  }
  #sec01 .img._01{
    margin-bottom: 5.71vw;
  }
  
  #sec02 .page_common_ttl{
    width: 30.71vw;
    margin-top: 7.85vw;
  }
  #sec02 .head_conte .head_ttl{
    font-size: 5.21vw;
  }
  #sec02 .head_conte .head_ttl_sub{
    font-size: 1.92vw;
  }
  #sec02 .head_conte .head_txt{
    font-size: 1vw;
  }
  
  #sec03 .sec_cpt{
    height: 23.57vw;
  }
  #sec03 .sec_cpt .sec_cpt_txt{
    font-size: 1.92vw;
  }
  #sec03 .conte._01{
    margin-top: 8.92vw;
    width: 89.28vw;
  }
  #sec03 .conte._01 .txt_wrap .head{
    font-size: 1.92vw;
  }
  #sec03 .conte._01 .txt_wrap .txt{
    font-size: 1vw;
  }
  #sec03 .conte._01 .img_wrap{
    width: 51.42vw;
  }
  #sec03 .conte._02{
    width: 82.85vw;
    margin-top: 5.71vw;
    margin-bottom: 7.14vw;
  }
  #sec03 .conte._02 .conte_ttl{
    font-size: 1.92vw;
  }
  #sec03 .conte._02 .conte_ttl::after{
    height: 0.57vw;
  }
  #sec03 .conte._02 .conte_head{
    font-size: 1.28vw;
  }
  #sec03 .conte._02 .txt_lists .txt_list .list_ttl{
    font-size: 1.28vw;
  }
  #sec03 .conte._02 .txt_lists .txt_list .list_box{
    height: 7.14vw;
    font-size: 1.28vw;
  }
}
@media screen and (max-width: 750px) {
  #page_mv .mv_head{
    width: 51.06vw;
  }
  #page_mv .mv_ttl{
    width: 44vw;
    top: 51.06vw;
  }
  
  .page_common_ttl.underline::before{
    bottom: 4.1vw;
  }
  .head_conte{
    margin-top: 5.6vw;
  }
  
  #page_head .page_common_ttl{
    width: 72.53vw;
    margin-bottom: 7.73vw;
  }
  #page_head .head_img{
    width: 100%;
  }

  #sec01{
    margin-top: 10vw;
  }
  #sec01 .page_common_ttl img{
    width: 86.66vw;
  }
  #sec01 .head_conte .head_ttl{
    font-size: 6vw;
  }
  #sec01 .head_conte .head_txt{
    font-size: 3.33vw;
    margin-top: 2em;
  }
  #sec01 .img._01{
    margin-bottom: 13.33vw;
  }

  #sec02 .page_common_ttl{
    width: 63.06vw;
    margin-top: 13.33vw;
  }
  #sec02 .head_conte .head_ttl{
    font-size: 9.73vw;
  }
  #sec02 .head_conte .head_ttl_sub{
    font-size: 4.66vw;
  }
  #sec02 .head_conte .head_txt{
    font-size: 3.33vw;
    margin-top: 2em;
  }

  #sec03 .sec_cpt{
    height: 33.33vw;
  }
  #sec03 .sec_cpt .sec_cpt_txt{
    font-size: 4.66vw;
  }
  #sec03 .conte._01{
    margin-top: 12vw;
    width: 100%;
    display: block;
  }
  #sec03 .conte._01 .txt_wrap{
    width: 84.83vw;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 6.4vw;
  }
  #sec03 .conte._01 .txt_wrap .head{
    font-size: 4.66vw;
    margin-bottom: 1em;
    line-height: 1.6;
  }
  #sec03 .conte._01 .txt_wrap .txt{
    font-size: 3.33vw;
  }
  #sec03 .conte._01 .img_wrap{
    width: 100%;
  }
  #sec03 .conte._02{
    width: 100%;
    margin-top: 8vw;
    margin-bottom: 14vw;
  }
  #sec03 .conte._02 .conte_ttl{
    font-size: 4.66vw;
    padding-left: 2.2em;
    text-indent: -1em;
    padding-left: 3em;
    line-height: 1.45;
    padding-bottom: 0.6em;
    margin-bottom: 1.3em;
  }
  #sec03 .conte._02 .conte_ttl::after{
    height: 2vw;
  }
  #sec03 .conte._02 .conte_head{
    font-size: 3.33vw;
    margin-bottom: 2em;
  }
  #sec03 .conte._02 .txt_lists{
    display: block;
    width: 81.33vw;
    margin-left: auto;
    margin-right: auto;
  }
  #sec03 .conte._02 .txt_lists .txt_list{
    width: 100%;
  }
  #sec03 .conte._02 .txt_lists .txt_list:nth-child(n+2){
    margin-top: 6.66vw;
  }
  #sec03 .conte._02 .txt_lists .txt_list .list_ttl{
    font-size: 4vw;
  }
  #sec03 .conte._02 .txt_lists .txt_list .list_box{
    height: 13.33vw;
    font-size: 4vw;
  }
}