@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: 365px;
}
#page_mv .mv_ttl{
  width: 560px;
  position: absolute;
  top: 267px;
  right: 230px;
}

#nav{
  margin-top: 85px;
}
#nav .nav_lists{
  width: 1146px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: space-between;
  align-items: start;
}
#nav .nav_lists .nav_item{
  width: 22.5%;
}
#nav .nav_lists .nav_item .nav_ttl_en{
  height: 70px;
  margin-left: auto;
  margin-right: auto;
}
#nav .nav_lists .nav_item .nav_ttl_en img{
  margin-left: auto;
  margin-right: auto;
}
#nav .nav_lists .nav_item._01 .nav_ttl_en img{
  width: 144px;
}
#nav .nav_lists .nav_item._02 .nav_ttl_en img{
  width: 200px;
}
#nav .nav_lists .nav_item._03 .nav_ttl_en img{
  width: 230px;
}
#nav .nav_lists .nav_item._04 .nav_ttl_en img{
  width: 126px;
}
#nav .nav_lists .nav_item .box{
  position: relative;
  height: 250px;
  overflow: hidden;
}
#nav .nav_lists .nav_item .box .box_img{
  transform: scale(1);
  transition: transform 0.3s linear;
}
#nav .nav_lists .nav_item .box .box_img:hover{
  transform: scale(1.05);
  transition: transform 0.3s linear;
}
#nav .nav_lists .nav_item .box .box_ttl{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  writing-mode: vertical-rl;
  text-orientation: mixed;
  letter-spacing: 0.1em;
  font-size: 34px;
  color: #FFF;
  pointer-events: none;
}

.sec{
  margin-top: 195px;
}
.sec .sec_ttl_en{
  position: relative;
}
.sec .sec_ttl_en::after{
  content: '';
  width: 100%;
  height: 1px;
  background-color: #002b69;
  position: absolute;
  bottom: 2px;
  left: 0;
}
.sec#sec01 .sec_ttl_en::after{
  bottom: 34px;
}
.sec#sec04 .sec_ttl_en::after{
  bottom: 22px;
}
.sec .sec_ttl_en img{
  margin-left: auto;
  margin-right: auto;
}
.sec#sec01 .sec_ttl_en img{
  width: 299px;
}
.sec#sec02 .sec_ttl_en img{
  width: 420px;
}
.sec#sec03 .sec_ttl_en img{
  width: 479px;
}
.sec#sec04 .sec_ttl_en img{
  width: 260px;
}

.sec .sec_ttl_ja{
  writing-mode: vertical-rl;
  text-orientation: mixed;
  text-align: center;
  position: relative;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  font-size: 90px;
  letter-spacing: 0.1em;
  margin-top: 1.5em;
  margin-bottom: 1em;
}
.sec .sec_head{
  text-align: center;
}
.sec .sec_head .sec_head_ttl{
  font-size: 39px;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
.sec .sec_head .sec_head_txt{
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 1.8;
  margin-top: 2em;
  margin-bottom: 5em;
}
.sec .flex_conte{
  display: flex;
  justify-content: space-between;
  align-items: start;
  width: 1160px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 105px;
}
.sec .flex_conte .txt_wrap .txt_box .txt_box_ttl{
  font-size: 23px;
  letter-spacing: 0.1em;
  line-height: 1.5;
  margin-bottom: 0.7em;
}
.sec .flex_conte .txt_wrap .txt_box .txt_box_txt{
  font-size: 14px;
  letter-spacing: 0.06em;
  line-height: 1.7;
}
.sec .flex_conte .txt_wrap .txt_box:nth-child(2) .txt_box_ttl{
  margin-top: 2em;
}
.sec .flex_conte .img_wrap{
  width: 580px;
}
.sec .flex_conte .img_wrap .img_lists{
  display: flex;
  justify-content: space-between;
  align-items: start;
  flex-wrap: wrap;
}
.sec .flex_conte .img_wrap .img_lists .list_item{
  width: 49%;
}
.sec .flex_conte .img_wrap .img_lists .list_item:nth-child(n+3){
  margin-top: 1.5%;
}
.sec .flex_conte .img_wrap .img_lists .list_item .list_txt{
  font-size: 12px;
  letter-spacing: 0.03em;
  margin-top: .5em;
  text-align: right;
}

.sec .topic_conte{
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  width: 1160px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 80px;
}
.sec .topic_conte .img_wrap{
  position: relative;
  width: 486px;
}
.sec .topic_conte .img_wrap .img_txt{
  position: absolute;
  bottom: -2em;
  left: 0;
  font-size: 12px;
  letter-spacing: 0.03em;
}
.sec .topic_conte .txt_wrap{
  width: 674px;
  background: url(../images/topic_bg.webp);
  background-size: 100% 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  letter-spacing: 0.2em;
}
.sec .topic_conte .txt_wrap .wrap_ttl{
  font-size: 27px;
  margin-bottom: 0.6em;
}
.sec .topic_conte .txt_wrap .wrap_txt{
  font-size: 15px;
  line-height: 1.8;
}

.sec#sec04 .flex_conte{
  display: block;
}
.sec#sec04 .flex_conte .img_wrap{
  margin-top: 37px;
}
.sec#sec04 .flex_conte .img_wrap,
.sec#sec04 .flex_conte .img_wrap .img_lists .list_item{
  width: 100%;
}

#note{
  margin-top: 4em;
}


@media screen and (max-width: 1400px) {
  #page_mv .mv_head{
    width: 26.07vw;
  }
  #page_mv .mv_ttl{
    width: 40vw;
    top: 19.07vw;
    right: 16.42vw;
  }
  
  #nav{
    margin-top: 6.07vw;
  }
  #nav .nav_lists{
    width: 81.85vw;
  }
  #nav .nav_lists .nav_item .nav_ttl_en{
    height: 5vw;
  }
  #nav .nav_lists .nav_item._01 .nav_ttl_en img{
    width: 10.28vw;
  }
  #nav .nav_lists .nav_item._02 .nav_ttl_en img{
    width: 14.28vw;
  }
  #nav .nav_lists .nav_item._03 .nav_ttl_en img{
    width: 16.42vw;
  }
  #nav .nav_lists .nav_item._04 .nav_ttl_en img{
    width: 9vw;
  }
  #nav .nav_lists .nav_item .box{
    height: 17.85vw;
  }
  #nav .nav_lists .nav_item .box .box_ttl{
    font-size: 2.42vw;
  }
  
  .sec{
    margin-top: 13.92vw;
  }
  .sec#sec01 .sec_ttl_en::after{
    bottom: 2.42vw;
  }
  .sec#sec04 .sec_ttl_en::after{
    bottom: 1.57vw;
  }
  .sec#sec01 .sec_ttl_en img{
    width: 21.35vw;
  }
  .sec#sec02 .sec_ttl_en img{
    width: 30vw;
  }
  .sec#sec03 .sec_ttl_en img{
    width: 34.21vw;
  }
  .sec#sec04 .sec_ttl_en img{
    width: 18.57vw;
  }
  
  .sec .sec_ttl_ja{
    font-size: 6.42vw;
  }
  .sec .sec_head .sec_head_ttl{
    font-size: 2.78vw;
  }
  .sec .sec_head .sec_head_txt{
    font-size: 1vw;
  }
  .sec .flex_conte{
    width: 82.85vw;
    margin-top: 7.5vw;
  }
  .sec .flex_conte .txt_wrap .txt_box .txt_box_ttl{
    font-size: 1.64vw;
  }
  .sec .flex_conte .txt_wrap .txt_box .txt_box_txt{
    font-size: 1vw;
  }
  .sec .flex_conte .img_wrap{
    width: 41.42vw;
  }
  .sec .flex_conte .img_wrap .img_lists .list_item .list_txt{
    font-size: 0.85vw;
  }
  
  .sec .topic_conte{
    width: 82.85vw;
    margin-top: 5.71vw;
  }
  .sec .topic_conte .img_wrap{
    width: 34.71vw;
  }
  .sec .topic_conte .img_wrap .img_txt{
    font-size: 0.85vw;
  }
  .sec .topic_conte .txt_wrap{
    width: 48.14vw;
  }
  .sec .topic_conte .txt_wrap .wrap_ttl{
    font-size: 1.92vw;
  }
  .sec .topic_conte .txt_wrap .wrap_txt{
    font-size: 1.07vw;
  }
  
  .sec#sec04 .flex_conte .img_wrap{
    margin-top: 2.64vw;
  }
}
@media screen and (max-width: 750px) {
  #page_mv .mv_head{
    width: 37.2vw;
  }
  #page_mv .mv_ttl{
    width: 52.26vw;
    top: 44vw;
    right: 22vw;
  }
  
  #nav{
    margin-top: 11.3vw;
  }
  #nav .nav_lists{
    width: 81.3vw;
    flex-wrap: wrap;
  }
  #nav .nav_lists .nav_item{
    width: 48%;
  }
  #nav .nav_lists .nav_item:nth-child(n+3){
    margin-top: 6vw;
  }
  #nav .nav_lists .nav_item .nav_ttl_en{
    height: 10.4vw;
  }
  #nav .nav_lists .nav_item._01 .nav_ttl_en img{
    width: 21.2vw;
  }
  #nav .nav_lists .nav_item._02 .nav_ttl_en img{
    width: 29.6vw;
  }
  #nav .nav_lists .nav_item._03 .nav_ttl_en img{
    width: 33.8vw;
  }
  #nav .nav_lists .nav_item._04 .nav_ttl_en img{
    width: 18.5vw;
  }
  #nav .nav_lists .nav_item .box{
    height: 38.6vw;
  }
  #nav .nav_lists .nav_item .box .box_ttl{
    font-size: 6.6vw;
    letter-spacing: 0.2em;
  }

  .sec{
    margin-top: 18.2vw;
  }
  .sec .sec_ttl_en::after{
    bottom: 0.266vw;
  }
  .sec#sec01 .sec_ttl_en::after{
    bottom: 4.53vw;
  }
  .sec#sec04 .sec_ttl_en::after{
    bottom: 2.93vw;
  }
  .sec#sec01 .sec_ttl_en img{
    width: 39.86vw;
  }
  .sec#sec02 .sec_ttl_en img{
    width: 56vw;
  }
  .sec#sec03 .sec_ttl_en img{
    width: 63.86vw;
  }
  .sec#sec04 .sec_ttl_en img{
    width: 34.66vw;
  }

  .sec .sec_ttl_ja{
    font-size: 12vw;
    margin-top: 1em;
    margin-bottom: 1em;
  }
  .sec .sec_head .sec_head_ttl{
    font-size: 4.66vw;
  }
  .sec .sec_head .sec_head_txt{
    font-size: 3.33vw;
    line-height: 2;
    margin-top: 2em;
    margin-bottom: 2em;
  }

  .sec .flex_conte{
    display: block;
    width: 81.33vw;
    margin-top: 10.13vw;
  }
  .sec .flex_conte .txt_wrap .txt_box .txt_box_ttl{
    font-size: 3.6vw;
  }
  .sec .flex_conte .txt_wrap .txt_box .txt_box_txt{
    font-size: 2.66vw;
    letter-spacing: 0.04em;
  }
  .sec .flex_conte .txt_wrap .txt_box:nth-child(2) .txt_box_ttl{
    margin-top: 2em;
  }
  .sec .flex_conte .img_wrap{
    width: 100%;
    margin-top: 10.13vw;
  }
  .sec .flex_conte .img_wrap .img_lists .list_item .list_txt{
    font-size: 1.73vw;
  }

  .sec .topic_conte{
    flex-direction: column-reverse;
    justify-content: start;
    align-items: start;
    width: 100%;
    margin-top: 10.13vw;
    background: url(../images/topic_bg_sp.webp);
    background-size: 100% 100%;
    padding-top: 6.4vw;
    padding-bottom: 6.4vw;
  }
  .sec .topic_conte .img_wrap{
    width: 81.33vw;
    margin-left: auto;
    margin-right: auto;
  }
  .sec .topic_conte .img_wrap .img_txt{
    position: static;
    font-size: 2.13vw;
    margin-top: 0.5em;
  }
  .sec .topic_conte .txt_wrap{
    width: 81.33vw;
    margin-left: auto;
    margin-right: auto;
    background: none;
    display: block;
    justify-content: center;
    align-items: center;
  }
  .sec .topic_conte .txt_wrap .wrap_ttl{
    font-size: 3.6vw;
  }
  .sec .topic_conte .txt_wrap .wrap_txt{
    font-size: 2.66vw;
    line-height: 1.65;
    letter-spacing: 0;
    text-align: left;
    margin-bottom: 1.7em;
  }

  .sec#sec04 .flex_conte .img_wrap{
    width: 100vw;
    position: relative;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    margin-top: 8.8vw;
  }
  .sec#sec04 .topic_conte{
    margin-top: 0;
  }

  #note{
    margin-top: 0;
  }
}