@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP');
/* CSS Document */
*{
   box-sizing: inherit;
   margin: 0 auto;
   font-color: #222;
   line-height: 1.6;
}

body{
   margin: 0;
   font-family: 'Noto Sans JP', sans-serif;
   color: #333;
   background-color: #fff;
   line-height: 2.0rem;
}

img{
   max-width: 100%;
}

html{
   scroll-behavior: smooth;
}

header{
   background-color: #efefeb;
   padding-top: 16px;
   background-size: cover;
   background-position: center center;
   background-repeat: no-repeat;
   top: 0;
   width: 100%;
   position: fixed;
   padding: 10px;
   z-index: 200; 
}

section{
   padding: 40px;
   margin-top: 100px; /* 上の空白を50pxに指定 */
}

small{
   color: #333;
   font-size: 0.85rem;
   display: flex;
   justify-content: center;
   align-items: center;
}

footer{
   width: 100%;
   color: #333;
   background-color: #efefeb;
   margin-top: auto;
   text-align: center;
   bottom: 0; /*下に固定*/
   padding-top: 8px;
}

ol {
   list-style-type: decimal;
   list-style-position: inside;
}

ol> li::before{
   font-size: 1.45rem;
}

ul{
   padding-left: 28px;
   padding-top: 24px;
   padding-right: 8px;
}

ul li{
   list-style: none;
}

ul li a{
   color: #1A2F2E;
   text-decoration: none;
}

a{
   text-decoration: none;
}

a:hover{
   opacity: 0.7;
}

nav{
   text-align: center;
}

/*footer最下部固定*/
#wrapper{
  flex-direction: column;
  min-height: 100vh;
  padding-top: 8%;
}

#container{
  padding: 0 3% 80px;
  margin: 0 auto;
  max-width: 1000px;
  overflow: hidden; 
  padding-bottom: 56px;
}

#main{
   display: block;
   min-height: 16vh;
   position: relative;/*←相対位置*/
   padding-bottom: 40px;/*←footerの高さ*/
   box-sizing: border-box;/*←全て含めてmin-height:100vhに*/
}

h1{
   font-size: 2.5rem;
   color: #FFFFFF;
}

h2{
   font-size: 1.85em;
}

h3{
   font-size: 1.45rem;
   /*background-color: #FFEBDB;*/
   padding: 16px;
   padding-left: 0px;
   margin-bottom: 16px;
}

h4{
   font-size: 1.0;
   color: 333;
   margin-top: 80px;
   margin-bottom: 40px;
   line-height: 1.4rem;
}

h5{
   font-size: 1.1rem;
   color: 333;
   line-height: 1.8rem;
   margin-top: 24px;
   margin-bottom: 10px;
   background-color: #ECEFF3;
   padding: 2px;
}

figure{
   width: 100%;
}

.header-backgroundimage{
   background-image: url("../img/lhd_ll.jpg");
   background-size: cover;
   background-position: center 30%;
   background-repeat: no-repeat;
   justify-content: center;
   align-items: center;
   flex-direction: column;
   margin: 0 auto;
   background-color: #efefeb;
   background-blend-mode: screen;
}

.h2_en{
   color:#FF7700;
   font-style:italic;
   margin-left:8px;
   font-size:0.65em;
}

.logo-area a{
   margin-left: 16px;
}

.logo-area a img{
   width: 288px; 
}

/*モバイルとPCでの表示に関するスタイル*/
.sp-only{
   display: block;
}

.pc-only{
   display: none;
}


/*----------------------
レスポンシブナビゲーション
----------------------*/
.gnav-toggle{
   position: relative;
   margin-top: 12px;
}

.gnav-hidden{
   display: none;
}

#gnav-open{
   display: inline-block;
   width: 30px;
   height: 32px;
   vertical-align: middle;
}

#gnav-open span,
#gnav-open span::after,
#gnav-open span::before{
   content: '';
   position: absolute;
   height: 3px;
   width: 25px;
   border-radius: 3px;
   background: #333;
   display: block;
   cursor: pointer;
}

#gnav-open span::before{
   bottom: -8px;
}

#gnav-open span::after{
   bottom: -16px;
}

#gnav-close{
   display: none;
   position: fixed;
   z-index: 90;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: #000;
   opacity: 0;
   transition: 0.3s ease-in-out;
}

#gnav-input:checked ~ #gnav-close{
   display: block;
   opacity: 0.5;
}

#gnav-input:checked ~ #gnav-content{
   transform: translateX(0%);
   box-shadow: 6px 0 25px rgba(0,0,0,0.15);
}

#gnav-content{
   overflow: auto;
   position: fixed;
   top: 0;
   left: 0;
   z-index: 300;
   width: 70%;
   max-width: 300px;
   height: 100%;
   background-color: #EFEFEB;
   transition: 0.3s ease-in-out;
   transform: translateX(-105%);
}

.gnav-menu{
   display: flex;
   flex-direction: column;
   align-items: center;
   padding-top: 50px;
   text-transform: uppercase;
   color: #efefeb;
}

.gnav-item{
   margin: 10px;
   padding-bottom: 20px;
}

.gnav-item a{
   color: #333;
   font-size: 0.7rem;
   display: block;
   width: 200px;
   text-align: center;
}

.gnav-item a::first-line{
   font-size: 1rem;
}


/*----------------------
サブナビ（PC表示のみ）
----------------------*/
.subNav{
   text-align: right;
   display: flex;
   margin: 0 0 0 auto;
   max-width: 1200px;
   height: 60px;
   font-size: 0.75em;
}

.subNav> ul{
   display: flex;
   margin-right: 16px;
}

.subNav_li{
   display: inline-block;
   margin: 2px;
   padding: 6px;
}

.subNav_li a{
   color: #333;
   font-size: 0.95rem;
}

/*レイアウト*/
.inner{
   margin: 0 auto;
   max-width: 1200px;
   /*padding: 0 15px;*/
   margin-top: 40px;
   top: 0;
   margin-bottom: 40px;
}

/*ページトップへ戻る*/
.pagetop{
  background-color: #efefeb;
  border: solid 1px #333;
  position: fixed;
  bottom: 10px;
  right: 10px;
  font-weight: bold;
  padding: 0.8em;
  text-align: center;
  color: #333;
  transition: 0.2s;
}

.pagetop:hover {
  opacity: 0.7;
}


/*----------------------
フッター
----------------------*/
/*フッター内ナビゲーションメニュー*/
.footer_nav{
   display: flex;
   width: 560px;
}

/*機関機構～電話番号*/
.footer_info {
   letter-spacing: 0.04em;
   margin-top: 40px;
   margin-bottom: 40px;
}

/*機関機構*/
.subtitle{
   line-height: 0.1;
   margin: 8px auto;
}

/*研究所名*/
.title{
   font-size: 2.0em;
   margin: 8px auto;
}

/*アドレス*/
.address{
   font-size: 0.95em;
   margin: 6px auto;
}

/*アイコン*/
.fa-solid{
   font-size: 0.9em;
}

/*コピーライト*/
.copyright{
   color: #333;
   margin-top: 16px;
   padding: 2px;
   background-color: #efefeb;
}

 /*====news専用CSS====*/
/*-------------------
新着情報 news
-------------------*/
.post_title{
	font-size: 1.3rem;
	font-weight: bold;
	color: #333333;
	margin: 4px 0;
	padding: 30px 40px;
	margin-bottom: 15px;
}

.document{}

.articleTop{
   margin-top: 80px;
}

.articleTitle{
   font-size: 1.3rem;
	font-weight: bold;
	color: #333333;
	margin: 0;
	padding: 0px;
	margin-bottom: 0px;
}

.articleText{
   margin-top: 40px;
}

.articleText p{
   margin-bottom: 20px;
}

.articleText> figure{
   margin-left: auto;
   margin-right: auto;
   margin-bottom: 24px;
   text-align: center;
}

.rowBox{
   width: 100%;
   display: flex;
   margin-bottom: 24px;
}

.box-row{
   margin-top: 24px;
}

.box-row figure{
   width: 100%;
   margin: auto;
   padding: 2px;
}

.box-row> strong{
   font-size: 1.05rem;
}

.emph{
   color: #FF7600;
   font-weight: bold;
}

/*各新着記事ページネーション*/
.pagenation ul{
   text-align: center;
}

.pagenation ul li{
   display: inline-block;
   padding: 4px;
}

.btn-nav a{
   color: #ffffff;
   font-size: 0.9rem;
   padding: 8px 30px;
   text-align: center;
   border-radius: 20px;
   display: block;
   background-color: #333333;
}

figcaption{
   font-size: 0.90rem;
   line-height: 1.0;
}

.backlist{
   color: #333333;
}