@charset "UTF-8";
html{
  box-sizing: border-box;
  display: inline-block;
  width:100%;
  font-family: 'Lato', 'Noto Sans JP', sans-serif;
  font-size: 32px;
  background-color: #C4DDF1;
  color: #313131;
  position: initial;
  }
  
body{
  background-color: #fff;
  }
  
img{
  width: 100%;
  }

a:hover{
  opacity: 60%;
  }
  
header{
  width: 100%;
  }
  
#main-header::after{
  content: "";
  clear: both;
  display: block;
  }
  
#main-header .text{
  text-align: right;
  padding: 2% 5% 2% 30%;
  }
  
#main-header .ruby{
  font-size: 0.7em;
  margin-top: 5%;
  padding-right: 20%;
  letter-spacing: 0.4em;
  }
  
.name{
  font-size: 1.4em;
  }
  
#menu li{
  float: left;
  width: 30%;
  margin-left: 2.5%;
  padding: 2%;
  text-align: center;
  font-size: 1.2em;
  font-weight: 800;
  }
  
#menu::after{
  content: "";
  clear: both;
  display: block;
  }
  
#logoHolder{
  float: left;
  width:30%;
  }
  
#menu{
  background-color: #348DD5;
  color: #fff;
  }
  
footer{
  background-color: #C4DDF1;
  width: 100%;
  text-align: center;
  padding: 5% 0;
  }
  
#tel, #mail{
  display: inline;
  }
  
#tel::after{
  content: " / "
  }

#top-container{
  position: relative;
  }
  
#topImgCopy{
  position: absolute;
  top: 65%;
  left: 5%;
  font-size: 1.2em;
  font-weight: bold;
  line-height: 1.6em;
  letter-spacing: 0.2em;
  }
  
#topImgHolder::after{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-color: #fff;
  width: 100%;
  height: 100%;
  opacity: 45%;
  }
  
.headline{
  background: linear-gradient(to left, #549DD6, #C4DDF1);
  font-weight: bold;
  padding: 2% 5%;
  }
  
.more{
  color: #F15F52;
  font-weight: bold;
  text-align: right;
  padding: 2% 5%;
  }
  
section ul{
  padding: 5%;
  }
  
#program .text{
  padding: 5%;
  }
  
#news ul{
  padding: 3%;
  }
  
#news li{
  padding-top: 1%;
  font-size: 0.7em;
  line-height: 1.4em;
  }
  
#news li::after{
  content: "";
  clear: both;
  display: block;
  }
  
/*company*/
#voice .text{
  padding: 5%;
  }
#voice .text > p{
  padding-bottom: 1%;
  }
#voice .text > p:first-child{
  font-weight: bold;
  padding-bottom: 3%;
  }
#voice .text > p:last-child{
  text-align: right;
  padding-top: 3%;
  }
.portrait{
  margin: 5%;
  }
.info{
  width: 90%;
  margin: 5%;
  }
.info td{
  padding-right: 3%;
  }
#members a{
  text-decoration: underline;
  }
/*company*/


/*program*/
#specified .text , #intern .text{
  padding: 5%;
  }
.chart{
  margin: 5%;
  }
#flow::after, #plan::after{
  content: "";
  clear: both;
  display: block;
  }
.process li{
  list-style: none;
  padding-bottom: 0.5%;
  }
.process{
  margin: 5%;
  }
#plan{
  font-size: 0.8em;
  }
#plan li{
  padding-top: 1%;
  }
.tables{
  padding-top: 5%;
  }
.tableHolder{
  width: 100%;
  padding: 0 2% 5% 2%;
  }
th{
  font-weight: normal;
  }
#number table, #number th, #number td, .tableHead{
  border-width: 1px;
  text-align: center;
  }
.tableHead{
  border-bottom: none;
  }
.c2{
  width: 100%;
  }
.c2 th, .c2 td{
  width: 50%;
  }
table.c5:last-child{
  width: 60%;
  border-left: none;
  }
.c5 th, .c5 td{
  width: 20%;
  }
.tableLeft{
  float: left;
  width: 40%;
  }
.tableLeft th{
  padding-bottom: 1px;
  }
.tableRight th:first-child, .tableRight td:first-child{
  border-left: none;
  }
#number .text{
  padding: 2%;
  }
#pdf{
 margin-top: -18px;
 margin-right: 18px;
 color: blue;
 font-size: 80%
}
/*program*/


@media screen and (min-width: 1024px) {
  
body{
  width: 1024px;
  margin: 0 auto;
  background-color: #fff;
  }
  
#news .imgHolder{
  width: 30%;
  margin-right: 1%;
  float: left;
  }
  
#news ul{
  padding: 0;
  }
  
/*company*/
.portrait{
  width:30%;
  float: left;
  }
#voice::after{
  content: "";
  clear: both;
  display: block;
  }
#voice .text{
  font-size: 0.7em;
  }
#voice .text > p{
  font-size: 0.8em;
  }
#voice .text > p:first-child{
  font-size: 1.2em;
  }
/*company*/

/*program*/
.chart{
  width: 40%;
  float: left;
  }
/*program*/
}