@charset "utf-8";

/**
 *
 *  ページ用CSS
 *　news
 * 
 */

/*--------------------------------------------------------------------------
   Overwright
---------------------------------------------------------------------------*/
#Page::before{
  background: var(--light); 
}

/*--------------------------------------------------------------------------
   Content
---------------------------------------------------------------------------*/

/* news-detail
-----------------------------------------------------------------*/
.news-detail{
  padding: 0 0 100px; 
}
.news-detail .inner{
 max-width: 1200px; 
}
.news-hd{
  display: grid;
  gap: 20px;
  padding: 100px 0;
  text-align: center;
}
.news-hd .en{
  color: var(--navy);
  font-size: 1.6rem;
  line-height: 1.2;
}
.news-hd .date{
  font-size: 1.4rem;
  line-height: 1.2;
}
.news-hd h1{
  text-align: center;
  color: var(--navy); 
  font-size: 3.4rem;
  line-height: 1.3; 
}
.news-hd .txt-lead{
  color: var(--navy); 
  font-size: 2.4rem;
}
.news-body{
  display: grid;
  gap: 80px;
  padding: 0 0 100px;
  font-size: 1.8rem;
  line-height: 2.2;
  text-align: justify;   
}
.news-body > div{
  display: grid;
  gap: 15px;  
}
.news-body h2{
  font-size: 3.2rem;
  line-height: 1.6;
  color: var(--navy);
}
.news-body h3{
  display: flex;
  color: var(--navy);
  font-size: 2.4rem;
  line-height: 1.6;
}
.news-body h3::before{
  display: block;
  content: '';
  width: 15px;
  height: 2px;
  transform: translateY(18px);
  margin-right: 10px;
  background: var(--navy);
}
.news-body * +h3{
  margin-top: 30px;  
}
.news-body .pic-main{
  text-align: center;  
}
.news-body .pic-main .caption,
.news-body .pic .caption{
  display: block;
  margin-top: 15px;
  font-size: 1.6rem;
  text-align: center;
}
.news-body .pic-column{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-end;
  gap: 20px;  
}
.news-body .pic-column .pic{
  width: calc(50% - 10px);
  text-align: center;  
}
.news-body .txt-link a{
  color: var(--navy);
  text-decoration: underline;
  word-break: break-all;
}
.news-body .txt-link a:hover{
  text-decoration: none;
}
.news-body .txt-link a[target="_blank"]::after{
  display: inline-block;
  content: '';
  width: 12px;
  height: 12px;
  margin-left: 6px;
  background: url(../img/common/ico_blank.svg) no-repeat;
  background-size: 100% auto;  
}
.news-body .txt-link a.pdf::after{
  display: inline-block;
  content: '';
  width: 16px;
  height: 20px;
  transform: translateY(3px);
  margin-left: 6px;
  background: url(../img/common/ico_pdf.svg) no-repeat;
  background-size: 100% auto;    
}
.news-body dl.timeline > div{
  display: flex;
  align-items: flex-start;
  border-bottom: 1px solid var(--navy);
  padding: 20px 0;  
}
.news-body dl.timeline dt{
  flex-shrink: 0;
  width: 200px;
}
.news-body table{
  width: 100%;
  border-collapse: collapse;
  line-height: 1.6;  
}
.news-body table th,
.news-body table td{
  padding: 10px;
  border: 1px solid var(--navy);
  font-size: 1.6rem;
  vertical-align: middle;  
}
.news-body table th{
  background: var(--lightblue);
  font-weight: 500;
  color: var(--navy);
  text-align: center;
}
.news-detail .btn-base._back a{
  max-width: 260px;
  margin-inline: auto;
}
.news-detail .btn-base._back a::after{
  right: auto;
  left: 20px;
  transform: rotate(180deg) translateY(50%); 
}
.news-detail .btn-base._back a:hover::after{
  left: 15px;
}
.news-detail .dot-list{
  display: grid;
  gap:10px;  
}
.news-detail .dot-list li::before {
  margin-right: 4px;
  transform: scale(.3);
  color: var(--dark);
}
.news-detail .num-list li{
  display: flex;
  counter-increment: my-counter;
}
.news-detail .num-list li::before{
  content: counter(my-counter) ". ";
  margin-right: 5px;  
}
.news-detail .note{
  text-align: left;  
}
.news-detail small{
  font-size: 86%;  
}
.news-detail sup{
  display: inline-block;
  transform: translateY(-.3em);
  font-size: 80%;  
}
.news-detail .notes li{
  font-size: 1.4rem;
  text-indent: -1em;
  padding-left: 1em;
}















/*--------------------------------------------------------------------------
   mobile
---------------------------------------------------------------------------*/
@media screen and (max-width: 768px) {

  /* news-detail
  -----------------------------------------------------------------*/
  .news-detail{
    padding: 0 0 50px; 
  }
  .news-hd{
    padding: 40px 0;
  }
  .news-hd .en{
    font-size: 1.3rem;
  }
  .news-hd .date{
    font-size: 1.2rem;
  }
  .news-hd h1{
    font-size: 2.6rem;
    line-height: 1.5; 
  }
  .news-hd .txt-lead{
    color: var(--navy); 
  }
  .news-body{
    gap: 30px;
    padding: 0 0 40px;
    font-size: 1.3rem;
    line-height: 2;     
  }
  .news-body h2{
    font-size: 2.1rem;
  }
  .news-body h3{
    font-size: 1.8rem;
    line-height: 1.5;
  }
  .news-body h3::before{
    transform: translateY(12px);
    margin-right: 5px;
  }
  .news-body * +h3{
    margin-top: 20px;  
  }
  .news-body .pic-main .caption,
  .news-body .pic .caption{
    margin-top: 10px;
    font-size: 1.2rem;
  }
  .news-body .pic-column{
    flex-direction: column;  
  }
  .news-body .pic-column .pic{
    width: 100%;  
  }
  .news-body .pic-column._spcol .pic{
    width: calc(50% - 10px);
  }
  .news-body .txt-link a:hover{
    text-decoration: underline;
  }
  .news-body dl.timeline > div{
    padding: 15px 0;  
  }
  .news-body dl.timeline dt{
    width: 100px;
  }
  .news-body table{
    min-width: 700px;
    line-height: 1.5;  
  }
  .news-body table.no-scroll{
    min-width: 0;
  }
  .news-body table th,
  .news-body table td{
    font-size: 1.3rem;
  }
  .news-detail .dot-list{
    gap: 8px;  
  }
  .news-detail .dot-list li::before {
    margin-right: 4px;
    transform: scale(.4);
  }
  .js-scrollable .pic-main{
    min-width: 700px;  
  }



}