@charset "UTF-8";

/* ===================================
	File Name   : top.css
	Description : Top Page CSS
	Editor      : Bface Chiba
	Last Editor : Bface Chiba
	
	Update Description :
	[2026/06/09] top_achievements追加
	[2024/02/02] top_scene追加
	[2024/01/19] top_scene追加
	[2021/11/15] 新規作成
====================================== */

/*========== Style Contents ==========

	1. Redefinition
  2. Section [top_hero]
  3. Section [top_about]
  4. Section [top_speaker]
  5. Section [top_value]
  6. Section [top_program]
  7. Section [top_achievements]

====================================== */



/*===== 1. Redefinition =====*/
/* box */
main { margin: 0 0 60px;}

@media (max-width: 1024px) {
  /* box */
  main { margin: 0 0 60px;}
}

@media (max-width: 768px) {
  /* box */
  main { margin: 0 0 8vw;}
}

/*===== 2. Section [top_hero]  =====*/
#top_hero {
  padding: 0;
  background: url(../img/top/bg-visual.svg) repeat left top / 2px 2px, url(../img/top/img-visual.jpg) no-repeat center / cover;
  margin-bottom: 120px;
}

#top_hero #top_main{
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 30px;
}
#top_hero #main_announce{
  padding-top: 100px;
  padding-bottom: 100px;
  max-width: 640px;
}

#top_hero #main_announce > p{
  color: #fff;
  font-weight: bold;
  margin-bottom: 20px;
  font-size:2.6rem;
  text-align: center;
}
#top_hero ul{
  margin-top: 50px;
}
#top_hero li{
  display: flex;
  align-items: flex-start;
  font-weight: bold;
  color: #fff;
  margin: 0 0 20px;
  font-size: 2rem;
}

#top_hero li > span{
  padding: 5px 10px;
  margin-right: 10px;
  background: #009944;
  border-radius: 3px;
  font-size: 1.4rem;
  line-height: 1.4;
}
#top_hero li p{
  flex: 1;
}
#top_hero #top_banner li img{width: 100%;}

@media (max-width: 1024px) {
  #top_hero #main_announce{
    padding-top: 8vw;
    padding-bottom: 8vw;
    max-width: none;
    width: 70%;
  }

  #top_hero .slide{
    width: auto;
    box-shadow: 1.33vw 1.33vw 2.66vw rgba(0,0,0,0.5);
  }
}

@media (max-width: 768px) {
  #top_hero {
    margin-bottom: 8vw;
  }
  
  #top_hero #main_announce{
    padding-top: 9.34vw;
    max-width: none;
    width: 100%;
  }
  #top_hero #main_announce > figure{
    width: 100%;
    margin: 0 auto;
  }

  #top_hero #main_announce > p{
    margin-bottom: 5.33vw;
    font-size: 1.6rem;
  }
  #top_hero ul{
    width: 100%;
    margin: 8vw auto 0;
  }
  #top_hero li{
    margin: 0 0 2.66vw;
    font-size: 1.8rem;
  }
  #top_hero li > span{
    padding: 0 2.66vw;
    margin-right: 2.66vw;
    border-radius: 0.8vw;
    line-height: 2;
  }

}


/*===== 3. Section [top_about]  =====*/

#top_about > div{
  display: flex;
  justify-content: space-between;
}

#top_about > div > div{
  flex: 1;
  margin-right: 30px;
}

#top_about > div > figure{
  width: 35%; 
}

#top_about dl{
  margin-bottom: 40px;
}

#top_about dl dt{
  font-size: 2rem;
  font-weight: bold;
  background-image: linear-gradient(55deg, #00a0e9, #009944);
  color: #fff;
  border-radius: 5px 5px 0 0 ;
  padding: 10px 20px;
}

#top_about dl dd{
  padding: 20px;
  background-image: linear-gradient(55deg, #dbf4ff, #d2ffe6 100%);
  border-radius: 0 0 5px 5px;
}

#top_about .catch{
  font-weight: bold;
  font-size: 2.8rem;
  margin-bottom: 15px;
}

#top_about .catch > span:first-child{color: #009944;}
#top_about .catch > span:last-child{color: #00a0e9;}

@media (max-width: 768px) {
  #top_about > div{
    flex-direction: column;
  }
  
  #top_about > div > div{
    margin-right: 0;
    margin-bottom: 8vw;
  }

  #top_about > div > figure{
    width: 100%; 
  }
  #top_about dl{
    margin-bottom: 10.55vw;
  }

  #top_about dl dt{
    border-radius: 1.33vw 1.33vw 0 0 ;
    padding: 2.66vw 5.33vw;
  }

  #top_about dl dd{
    padding: 5.33vw;
    background-image: linear-gradient(55deg, #dbf4ff, #d2ffe6 100%);
    border-radius: 0 0 1.33vw 1.33vw;
  }

  #top_about .catch{
    font-size: 1.8rem;
    margin-bottom: 4vw;
  }
}
  
/*===== 4. Section [top_speaker]  =====*/
#top_speaker > div > div{
  display: flex;
  align-items: flex-end;
}
#top_speaker > div > div figure{
  position: relative;
  width: 240px;
  margin: 0 40px 0 0 ;
}

#top_speaker > div > div figure::after{
  position: absolute;
  content: "";
  top: 10px; 
  left: 10px;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(55deg, #00a0e9, #009944);
  z-index: -1;
}

#top_speaker > div > div > div{
  flex: 1
}
#top_speaker > div > div .name{
  font-weight: bold;
  margin-bottom: 10px;
  font-size: 1.8rem;
}

#top_speaker > div > div .name > span{
  font-size: 2.6rem;
  margin-right: 10px;
}

#top_speaker > div > div .name > span > span{font-size: 2.2rem}

#top_speaker > div dl{
  position: relative;
  background-image: linear-gradient(55deg, #dbf4ff, #d2ffe6 100%);
  padding: 20px 20px 20px 22px;
  margin-top: 40px;
}

#top_speaker > div dl::before{
  position: absolute;
  content: "";
  background-image: linear-gradient(55deg, #00a0e9, #009944);
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
}

#top_speaker > div dl dt{
  margin-bottom: 10px;
  font-weight: bold;
  color: #009944;
}

@media (max-width: 768px) {
  #top_speaker > div > div{
    flex-direction:column; 
  }
  #top_speaker > div > div figure{
    width: 70%;
    margin: 0 auto 8vw ;
  }

  #top_speaker > div > div figure::after{
    position: absolute;
    content: "";
    top: 10px; 
    left: 10px;
  }

  #top_speaker > div > div .name{
    font-weight: bold;
    margin-bottom: 2.66vw;
    font-size: 1.6rem;
  }

  #top_speaker > div > div .name > span{
    font-size: 2.2rem;
    margin-right: 1rem;
  }
  
  #top_speaker > div > div .name > span > span {
    font-size: 1.8rem;
  }

  #top_speaker > div dl{
    padding: 5.33vw 5.33vw 5.33vw 5.86vw;
    margin-top: 10.66vw;
  }

  #top_speaker > div dl::before{
    width: 1.066vw;
  }

  #top_speaker > div dl dt{
    margin-bottom: 2.66vw;
  }
}

/*===== 5. Section [top_value]  =====*/
#top_value ul p{
  text-align: center;
  font-weight: bold;
  color: #009944;
  font-size: 2.4rem;
}

#top_value ul p span{
  display: flex;
  margin-bottom: 5px;
  font-size: 1.6rem;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

#top_value ul p span::after, 
#top_value ul p span::before {
  width: 40px;
  height: 1px;
  margin: 1px;
  background: #009944;
  content: "";
}

#top_value ul p b{
  font-size: 1.6rem;
  display: block;
  margin-top: 5px;
}


@media (max-width: 768px) {
  #top_value ul p{
    font-size: 2.2rem;
  }

  #top_value ul p span{
    margin-bottom: 1.33vw;
  }

  #top_value ul p span::after, 
  #top_value ul p span::before {
    width: 10.66vw;
    height: 0.266vw;
    margin: 0.266vw;
  }

  #top_value ul p b{
    margin-top: 1.33vw;
  }

}

/*===== 6. Section [top_program]  =====*/
#top_program table{
  width: 100%;
}
#top_program tr > *:first-child{
  border-right: 1px solid #fff;
}
#top_program th{
  background: #009944;
  color: #fff;
  padding: 15px;
  font-weight: bold;
}

#top_program td{
  background: rgba(0,153,68, 0.1);
  padding: 20px 30px;
}

#top_program tr:not(:last-child) td{
  border-bottom: 1px solid #fff;
}

#top_program tr td:first-child{
  text-align: center;
  font-weight: bold;
}
#top_program tr td:last-child{
  font-size: 2rem;
}


@media (max-width: 768px) {
  #top_program > div{
    overflow-x: auto;
    width: calc(100% + 2.67vw);
    white-space: nowrap;
  }
  #top_program > div table{
    width: 100%;
    height: 100%;;
  }
  
  #top_program tr > *:first-child{
    border-right: 0.266vw solid #fff;
  }
  
  #top_program th{
    padding: 4vw;
  }

  #top_program td{
    padding: 5.33vw 8vw;
  }

  #top_program tr:not(:last-child) td{
    border-bottom: 0.266vw solid #fff;
  }

  
    
}

/*===== 7. Section [top_outline]  =====*/
#top_outline table{
  width: 100%;
}
#top_outline .outline_table_basic th {
    position: relative;
    padding: 25px 20px;
    border-bottom: 2px solid #333;
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
}

#top_outline .outline_table_basic th::after, #top_outline .outline_table_basic th::before {
    position: absolute;
    bottom: 0;
    width: 2px;
    height: 10px;
    background: #333;
    content: "";
}


#top_outline .outline_table_basic th::before { left: 0;}
#top_outline .outline_table_basic th::after { right: 0;}

#top_outline .outline_table_basic td {
  padding: 25px 20px;
  border-bottom: 1px solid #ebebeb;
  vertical-align: middle;
  font-size: 1.8rem
}


@media (max-width: 768px){
  #top_outline .outline_table_basic_wrap{
    overflow-x: auto;
    width: calc(100% + 2.67vw);
    white-space: nowrap;
  }
  #top_outline .outline_table_basic{
    width: 100%;
    height: 100%;;
  }
  
  #top_outline .outline_table_basic th{
    border-left: none;
    border-top: none;
    border-right: none;
    padding: 2.66vw;
    font-size: 1.6rem;
  }
  
  #top_outline .outline_table_basic th::before,
  #top_outline .outline_table_basic th::after { 
    display: block; 
  }
  

  #top_outline .outline_table_basic tr th:first-child{
    position: sticky;
    top: 0;
    left: 0;
    border-bottom: none;
    background: #fff;
  }
  #top_outline .outline_table_basic tr th > span{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: #333;
  }

  #top_outline .outline_table_basic td{
    border-bottom: 0.266vw solid #ebebeb;
    padding: 5.23vw 2.66vw;
  }
    
}



/*===== 7. Section [top_university]  =====*/

#top_university > div {
  text-align: center;
  font-size: 2rem;
}

#top_university > div > figure {
  width: 600px;
  margin: 0 auto 30px;
}
#top_university > div > div{
  flex: 1;
}

#top_university > div > div figure{
  width: 400px;
  margin: 0 auto 30px;
}

#top_university > div > div span{
  font-weight: bold;
  margin-bottom: 10px;
  display:block; 
}
@media (max-width: 768px){
  #top_university > div {
    text-align: left;
    font-size: 1.6rem;
  }
  
  #top_university > div > figure {
    width:100%;
    margin: 0 auto 8vw;
  }
  
  #top_university > div > div figure{
    width:100%;
    margin: 0 auto 8vw;
  }
  
  #top_university > div span {
    text-align: center;
  }
    
    
}



/*===== 8. Section [top_achievements]  =====*/
#top_achievements #video_wrapper{
	padding: 10px;
	background: #333;
	width: 70%;
	margin: 0 auto 20px;
}
#top_achievements #video_wrapper video{
	width: 100%;
	display: block;
}

@media (max-width: 768px){
	#top_achievements #video_wrapper{
		padding: 2.66vw;
		width: 100%;
		margin: 0 auto 5.33vw;
	}
}


