body{
  background: #008AD5;
  color: #fff;
  margin: 0;
  height: 100%;
}
#news .sec1{
  padding: 5% 15%;
  position: relative;
}
#news .wrapper{
	overflow: hidden;
}


#news .ttl {
  margin: 0 auto;
  text-align: center;
  position: relative;
  width: 500px;
}
#news .ttl h3{
  font-size: 5rem;
  animation-delay: .5s;
  font-family: "Josefin Sans";
  letter-spacing: .7rem;
  padding-top: 5rem;
}
#news .ttl p.sub{
  font-size: 1rem;
  animation-delay: .5s;
  letter-spacing: .3rem;
  margin-top:.5rem
}
#news .border{
  position: relative;
  text-align: center;
}

#news .border:before{
  content: '';
  position: absolute;
  left:50%;
  bottom: 0;
  width: 0;
  border-bottom: solid 5px #fff;
  transform: translateX(-50%);
  animation: border_anim 2s linear forwards;
}

@keyframes border_anim {
  0%{
    width: 0%;
  }
  50%{
    width: 100%;
    opacity:1;
  }
  100%{
    width: 100%;
    opacity: 0;
  }
}
@media screen and (max-width: 375px){
  #news .ttl {
    width: 100%;
  }
  #news .ttl h3{
    font-size: 3rem;
  }
}
#news .wrap_sec{
  margin: 5rem 0 3rem;}
#news .wrap_sec .inner{
  background: #fff;
  border-radius: 30px;
  padding: 1rem 4rem 1rem;
  width: 60vw;
  display: block;
  margin: 0 auto;
}
#news table {
margin: 3rem auto;
border-collapse: separate;
border-spacing: 0px 4rem;
text-align: left;
}
#news table th {
width: 150px;
font-family: sans-serif;
}
#news table th p{
color: #000;
text-align: left;
}
#news table th span.cate_NEWS{
  background: orange;
  font-size: .9rem;
  padding: .1rem 0;
  margin:.3rem .2rem
  }
  #news table th span.cate_OTHER{
  background: red;
  font-size: .9rem;
  padding: .1rem 0;
  margin:.3rem .2rem
    }
#news table td {
padding-left: 2rem;
color: #000;
border-left: 5px #008AD5 solid;
}
#news table td p:first-child{
  font-weight: bold;
  padding-bottom: 1rem;
  font-size: 1.2rem;
}
#news table td p {
  line-height: 1.6rem;
  font-size: .9rem;
}
#news table td p.pad {
  margin-bottom: 1rem;
}
#news table td p span{
  color: red;
}
@media only screen and (max-width: 1024px){

  #news .wrap_sec .inner{
    padding: 1rem 4rem 1rem;
    width: 70vw;
    display: block;
    margin: 0 auto;
  }
}
@media screen and (max-width: 640px) {
  .last td:last-child {
    border-bottom: solid 1px #ccc;
    width: 100%;
  }
  table {
    width: 80%;
  }
  table th,
  table td {
border-bottom: none;
  display: block;
    width: 100%;
  }
}
@media screen and (max-width: 375px){
#news .wrap_sec{
  margin: 2rem 0 3rem;}
  #news .wrap_sec .inner{
    padding: 0rem .2rem 1rem;
    width: 90vw;
    display: block;
    margin: 0 auto;
  }
  #news table {
  margin: 0rem auto;
  border-collapse: separate;
  border-spacing: 0px 4rem;
  text-align: left;
  font-size: .7rem;
  }
  #news table th {
  width: 100%;
  margin-bottom: 1rem;
  display: block;
  font-size: .7rem;
  height: 2rem;
  }
  #news table th span.cate_NEWS{
    background: orange;
    font-size: .7rem;
    padding: .1rem 0;
    margin:.3rem 0rem;
    vertical-align: top;
    }
    #news table th span.cate_OTHER{
    background: red;
    font-size: .7rem;
    padding: .1rem 0;
    margin:.3rem .2rem;
      }
  #news table td {
  padding-left: 0rem;
  padding-bottom: 2rem;
  border-bottom: 5px #008AD5 solid;
  border-left: none;
  }
  #news table td p:first-child{
    font-weight: bold;
    padding-bottom: 1rem;
    font-size: 1rem;
  }
  #news table td p {
    line-height: 1rem;
    font-size: .7rem;
  }
  #news table td p.pad {
    margin-bottom: 1rem;
  }
}
.hidden_box {
  margin: 2em 0;
  padding: 0;
  margin: 0 auto 2rem;
  text-align: center;
}

.hidden_box label {
  padding: .8rem 4rem;
  font-weight: bold;
  cursor :pointer;
  background: #008AD5;
  color: #fff;
  border-radius: 50rem;
  transition: .3s ease;
  margin: 0 auto;
  position: relative;}

.hidden_box label img{
  position: absolute;
  left:.5rem;
  width: 2rem;
  line-height: 2rem;
  top:.5rem;
}

.hidden_box label:hover {
  opacity: .6;
}

.hidden_box input {
  display: none;
}

.hidden_box .hidden_show {
  height: 0;
  padding: 0;
  overflow: hidden;
  opacity: 0;
  transition: 0.8s;
}

.hidden_box input:checked ~ .hidden_show {
  padding: 10px 0;
  height: auto;
  opacity: 1;
}
