@charset "UTF-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100..900&display=swap');
a{
  word-break: break-all;
}
.Expo_container{
  color: #000;
}
.Expo_container a{color: #000;}

.expo_header{
  background: url("images/head_bg.png") no-repeat 0 0;
  background-size: 100%;
  padding: 30px;
  
}
.expo_header_inner{
  display: flex;
  justify-content: space-between;
}
.expo_header_logo img{
  width: 160px;
}
.expo_header_txt{
  color: #FFF;
  font-size: 2rem;
  font-family: "Montserrat", sans-serif;
}

.expo_ttl{
  font-weight: 700;
  text-align: center;
  color: #000;
  font-size: 4rem;
  padding: 30px 0;
}

.Expo_wrap{
  position: relative;
  font-size: 1.8rem;
  overflow: hidden;
  padding-bottom: 100px;
}
.Expo_wrap:before{
  content: '';
  display: block;
  width: 100%;
  height: 20%;
  background: url("images/bg_wave.png") no-repeat 0 0;
  background-size: 100%;
  position: absolute;
  top: 300px;
  left: 0;
  z-index: -1;
}

.expo_kv img{
  border-radius: 30px;
}
.expo_kv_txt{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 60px;
}
.expo_kv_txt_l{
  display: flex;
  font-family: "Montserrat", sans-serif;
  line-height: 1;
  align-items: center;
  }
.expo_kv_number{
  color: #e60012;
  font-weight: 500;
  font-size: 12rem;
  margin:-40px 20px 0 20px;
}
.expo_kv_number sup{
  font-size: 7rem;
  font-weight: 500;
  vertical-align: top;
}
.expo_kv_date{
  color: #0068b7;
  font-size: 2rem;
  border-bottom: 1px solid #0068b7;}
  
.expo_kv_caption{
  font-size: 1.4rem;
}


@media screen and (max-width:1024px){
  .expo_header{
    padding: 10px; 
  }
  .expo_header_txt{font-size: 1.4rem;}
  .expo_ttl{
    font-size: 3rem;
  }
}
@media screen and (max-width:767px){
  .Expo_wrap{
    padding-bottom: 0;
    font-size: 1.4rem;}
  .Expo_wrap:before{
    top: 200px;
  }
  .Expo_wrap:after{
    bottom: 150px;}
  .expo_header{
    background-size: 150%;
    background-position: top right;}
    
  .expo_header_logo img{
    width: 120px;
  }
  .expo_header_txt{font-size: 1rem;}
  .expo_ttl{
    font-size: 2.4rem;
    line-height: 1.2;
  }
  .expo_kv{
    margin: 0 -30px;
  }
  .expo_kv img{
    border-radius: 0;
  }
  .expo_kv_number{
    margin:-15px 10px 0 0;
    font-size: 4rem;
  }
  .expo_kv_number sup{
    font-size: 1.6rem;}
  .expo_kv_date{
    font-size: 1.4rem;
  }  
  .expo_kv_caption{
    font-size: 1rem;
  }
}
.Expo_ContentsInner{
  max-width: 900px;
  margin: 0 auto;
}
.Expo_ContentsInner p{
  margin-bottom: 40px;
}
section + section{
  margin-top: 100px;
}
.Expo_ContentsInner p.sttl{
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 20px;
  position: relative;
  padding-left: 30px;
}
.Expo_ContentsInner p.sttl:before{
  content: '';
  width: 20px;
  height: 3px;
  background: #0069B7;
  position: absolute;
  top: 20px;
  left: 0;}

.Expo_ContentsInner p.ssttl{
  margin-top: 60px;
  font-weight: bold;
  margin-bottom: 10px;
  color:#0069B7;}
.bold{font-weight: bold;}
.small{font-size: 1.4rem;}
.marker{
  background:linear-gradient(transparent 80%, #f5d11f 80%);
}
.arrow_link{
  display: block;
  padding-left: 40px;
  position: relative;
}
.arrow_link:before{
  content: '';
  display: block;
  background: url("images/arrow.png") no-repeat 0 0;
  background-size: 100%;
  width: 31px;
  height: 31px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}
.expo_img{
  margin-bottom: 40px;
  
}
.expo_img_wrap{
  position: relative;
}
.expo_img_cap2{
  position: absolute;
  bottom: 10px;
  right: 20px;
  font-size: 1.4rem;
  color: #FFF;
  margin: 0 !important;
}
.expo_img img{
  border-radius: 30px;
}
.expo_img_cap{
  font-size: 1.4rem;
  margin-top: 15px;
  margin-bottom: 0 !important;
}
.right{text-align: right;}

@media screen and (min-width:768px){
  .expo_img_2col{
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
  }  
  .expo_img_2col_l{
    width: 65%;
  }
  .expo_img_2col_r{
    width: 33%;
    display: flex;
    flex-direction: column;
  }
  .expo_img_2col_l_30{
    width: 30%;
  }
  .expo_img_2col_r_65{
    width: 65%;
  }
  
  .expo_img_2col_half{
    width: 49%;
  }
  .expo_img img + img{margin-top: 10px;}
}
@media screen and (max-width:767px){
  .expo_img{
    margin-bottom: 20px;
  }
  .expo_img img{
    border-radius: 20px;
  }
  .Expo_ContentsInner p{
  margin-bottom: 20px;
}
  .expo_img_cap{
    font-size: 1.2rem;
    margin-top: 5px;
  }
  .expo_img img + img{margin-top: 10px;}
  
  .Expo_ContentsInner p.sttl{font-size: 1.8rem;}
}
.Past_release{
  margin-top: 200px;
  background: url("images/bg_bottom.png") no-repeat top center;
  background-size: 100%;
}

.ttl_dot h2{
  font-weight: 600;
}
.ttl_dot span{
  font-family: "Montserrat", sans-serif;
  color: #0068b7;
}

.Past_release_box + .Past_release_box{
  margin-top: 40px;
}

.Past_release_txt time{
  font-family: "Montserrat", sans-serif;
  color: #0068b7;
}

.Past_release_txt time span{
  color: #e60012;
  font-weight: 500;
  font-size: 2.4rem;
  vertical-align: baseline;
  margin-right: 10px;
}
.Past_release_txt time span sup{
  font-size: 1.8rem;
  vertical-align: top;
  font-weight: 500;
}


  @media screen and (min-width:768px){
    .Past_release_box a{
      display: flex;
      justify-content: space-between;
      padding-right: 35px;
      position: relative;
    }
    .Past_release_box a:after{
      content: '';
      display: block;
      background: url("images/arrow.png") no-repeat 0 0;
      background-size: 100%;
      width: 31px;
      height: 31px;
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      right: 0;
    }
    .Past_release_img img{
      width: 220px;
      border-radius: 20px;
      margin-right: 20px;}
    .Past_release_txt{
      flex: 1;
      font-size: 1.6rem;
    }
    
  }
  @media screen and (max-width:767px){
    .Past_release{
      margin-top: 100px;
    }
    .Past_release_img img{
      border-radius: 20px;
      margin-bottom: 20px;}
    .Past_release_txt{
      padding-right: 35px;
      position: relative;
    }  
    
    .Past_release_txt:after{
      content: '';
      display: block;
      background: url("images/arrow.png") no-repeat 0 0;
      background-size: 100%;
      width: 31px;
      height: 31px;
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      right: 0;
    }

  }
  
.ttl_dot{
  text-align: center;
  background: url("images/ttl_icon.png") top center no-repeat;
  padding-top: 30px;
  margin-bottom: 50px;
  background-size: 36px 12px;
}


.ttl_dot h2 span{
  display: block;
  font-size: 1.4rem;
  letter-spacing: 0.025em;
  position: relative;
}


.ttl_dot h2{
  font-size: 3.4rem;
}

@media screen and (max-width:767px) {
    .ttl_dot h2{
      font-size: 2.4rem;
    }
    .ttl_dot{padding-top: 20px; margin-bottom: 30px;}
  }  