@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP');
/* CSS Document */
*{
   box-sizing: inherit;
   margin: 0 auto;
   font-color: #333333;
   line-height: 1.6;
}

body{
   margin: 0;
   font-family: 'Noto Sans JP', sans-serif;
   color: #333333;
   background-color: #ffffff;
   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: #333333;
   font-size: 0.85rem;
   display: flex;
   justify-content: center;
   align-items: center;
}

footer{
   width: 100%;
   color: #333333;
   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: 16px;
   padding-top: 24px;
   padding-right: 16px;
}

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: #333333;
   margin-top: 80px;
   margin-bottom: 40px;
   line-height: 1.4rem;
}

h5{
   font-size: 1.1rem;
   color: #333333;
   line-height: 1.4rem;
   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: #333333;
   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: #333333;
   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: #333333;
   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: #333333;
   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 #333333;
  position: fixed;
  bottom: 10px;
  right: 10px;
  font-weight: bold;
  padding: 0.8em;
  text-align: center;
  color: #333333;
  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: #333333;
   margin-top: 16px;
   padding: 2px;
   background-color: #efefeb;
}

/*----------------------
index メインイメージ
----------------------*/
.top-image-area{
   width: 100%;
   background-color: #555555;
   background-image: url("../img/lhd_ll.jpg");
   background-position: 50% 20%;
   background-size: cover;
   height: 640px;
   display: flex;
   justify-content: center;
   align-items: center;
   flex-direction: column;
   margin: 0 auto;
   background-blend-mode: multiply;
   text-align: center;
}

.sitename{
   justify-content: center;
   align-items: center;
   flex-direction: column;
   margin: 0 auto;
}


/*--------------------------------------
index > 新着情報
---------------------------------------*/
.news_area_col{
   background-color: #F1F1F1;
   padding: 4px;
   width: 100%;
}

.news_table{
   width: 100%;
   padding: 16px;
}

.headline_block th, td{
   padding: 8px;
   vertical-align: baseline;
}

.cate-1, .cate-2{
   text-align: center;
   display: block;
   width: 5rem;
   padding: 2px 0;
   font-size: 0.8rem;
   color: #ffffff;
}

.cate-1{
   background-color: #555555;
}

.cate-2{
   background-color: #EF7C1A;
}

.headline_block> td> a{
   color: #333333;
}

.btn_seemoreListAll{
   text-align: center;
   margin-top: 48px;
}

.btn_seemoreListAll span a{
   background-color: #EF7C1A;
   color: #ffffff;
   padding:16px 80px 16px;
}

.btn_seemoreListAll span a:hover{
   background-color: #FFA355;
   opacity: 1.0;
}


/*----------------------
index > 研究成果
----------------------*/
#result_area{
   background-image: url("../img/wall_result.jpg");
   background-position: center center;
   background-repeat: no-repeat;
   background-size: cover;
   background-color: #555555;
   display: flex;
   justify-content: center;
   align-items: center;
   flex-direction: column;
   margin: 0 auto;
}

.result_area_col{
    margin-bottom:40px;
}

.result_box{
   
}

.result_box_items{
   max-width: 800px;
   padding-left: 0;
   padding-right: 0;
   padding-bottom: 24px;
   color: #eeeeee;
}

.result_box_items> li{
   margin-bottom: 32px;
}

.result_box_items> li> .resultLink{
   color: #333333;
}

.result_ul> li::marker{
   font-size: 1.15rem;
}

.resultTitle{

}

.resultLink{
   margin-top: 80px;
   color: #ffffff;
   text-decoration: underline;
}

.resultLink:hover{
   text-decoration: none;
}


/*-------------------------
index > メインコンテンツバナー
-------------------------*/
#maincontents_area{
   margin-top: 8px;
}

#maincontents_area_bnrs{
	text-align: center;
   width: 100%;
}

.mainconts_bnrs_ul{
	list-style: none;
	text-align: center;
   width: 100%;
	margin: 0 auto;
   padding-right: 0;
   padding-left: 0;
}

.contbnr{
	display: inline-block;
	width: 48%;
	text-align: right;
	margin: 0 2px 8px;
	position: relative;
	height: 200px;
	vertical-align: bottom;
   background-color: #444444;
   background-blend-mode: overlay;
}

.contbnr> a{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.contbnr> a:hover{
   background-color: #333333;
}

.bnr_1{
   background-image: url("../img/bnr_pht_result.jpg");
}

.bnr_2{
   background-image: url("../img/pht_howto_lhd.jpg");
   background-position: center 30%;
}

.bnr_3{
   background-image: url("../img/IMG_2640.png");
   background-repeat: no-repeat;
   background-size: cover;
   background-position: center 60%;
}

.bnr_4{
   background-image: url("../img/pht_howto_jt60sa-1.jpg");
    background-position: center 16%;
}

.bnr-en{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 30px;
	margin: auto;
	color: #ffffff;
	text-align: left;
	height: 70px;
}

.bnr-en> h3{
	font-size: 2.5rem;
	line-height: 2.5rem;
	font-family: 'Century Gothic';
	color: #ffffff;
   font-weight: normal;
   padding: 0px;
   margin-bottom: 0px;
}

.bnr-jp{
	font-size: 1.1rem;
}


/*--------------------------------------
新着情報 news.html
---------------------------------------*/
.archive_post{
	list-style: none;
   padding-left: 0;
   padding-right: 0;
}

.archive_post li{
	padding-bottom: 24px;
	border-bottom:1px solid #bbb;
	margin-bottom: 24px;
}

.post_title{
	font-size:1.3rem;
	font-weight: bold;
	color: #333333;
	margin:4px 0;
   line-height: 1.0;
}


/*--------------------------------------
研究内容 research.html
---------------------------------------*/
.document{
   margin-bottom: 80px;
}

.document> h3{
   background-color: #EFEFEB;
   padding-left: 8px;
}

.document> figure{
   max-width: 560px;
   padding: 16px;
}

.doc_sec{
   margin-bottom: 80px;
}

.doc_thi{
   margin-top: 40px;
   margin-bottom: 80px;
}
.doc_thi> p{
   margin-top: 16px;
   margin-bottom: 24px;
}

.h4_res{
   font-size: 1.2rem;
   margin-top: 24px;
   margin-bottom: 16px;
   line-height: 1.4rem;
}

.h4_res::before{
   content: '● '
}

.rowBox{
   width: 100%;
   display: flex;
   padding-top: 12px;
}

.box-row{
   width: 48%;
}

.box-row figure{
   width: 100%;
}

.box-row> strong{
   font-size: 1.05rem;
}

.box-row> p{
   margin-bottom: 24px;
}

.emph{
   color: #FF7600;
   font-weight: bold;
}

.howto_device_p{
   margin-bottom: 40px;
}


/*--------------------------------------
研究組織 members.html
---------------------------------------*/
.membersList{
   display: flex;
   flex-wrap: wrap;
   width: 100%; 
}

.memberBox{
   width: 160px;
   padding: 2px;
   padding-bottom: 32px;
}

.memberPhoto img{
   padding: 1px;
   width: 100%;
   margin: 1px;
}

.memberJob{
   font-size: 0.85rem;
   color: #D39158;
}

.memberName{
   font-size: 1.15rem;
   font-weight: bold;
}

.memberBelong{
   font-size: 0.85rem;
   line-height: 1.4;
   margin-bottom: 8px;
}

.memberField{
   font-size: 0.85rem;
   line-height: 1.4;
}

.memberField::before{
   content: '専門: ';
}


/*-------------------
研究成果 result.html
-------------------*/
.tab-wrap {
    display: flex;
    flex-wrap: wrap;
}

.tab-label {
   color: #ffffff;
   background: #bbbbbb;
   padding: 2px 12px;
   order: -1;
   margin: 2px;
   z-index: 30;
}

.tabConts {
    width: 100%;
    display: none;
}

/* アクティブなタブ */
.tab-switch:checked+.tab-label {
    background: #FF8800;
    color: #ffffff;
}

.tab-switch:checked+.tab-label+.tabConts {
     display: block;
}

/* ラジオボタン非表示 */
.tab-switch {
    display: none;
}

.resultTitle, .reportTitle{
   font-size: 1.15rem;
   /*background-color: #FFEBDB;*/
   padding: 0px;
   margin-bottom: 8px;
   line-height: 1.45;
}

.result_list> li{
   margin-bottom: 32px;
}

.result_list> li> .resultLink{
   color: #333333;
}

.result_list{
   margin-top: 24px;
   margin-bottom: 64px;
   padding-left: 24px;
}

.result_list> li::marker{
   font-size: 1.15rem;
}

.report_detail{
   padding-top: 4px;
   padding-left: 24px;
   list-style-position: inside;
}

.report_detail li{
   list-style: disc;
}

.result-tabs{
   margin-bottom: 40px;
}

.awardLink{
   color: #333;
   text-decoration: underline;
}

h6{
   font-size: 0.8rem;
}

.byyear-link{
   display: flex;
   flex-wrap: wrap;
   justify-content: flex-start;
   padding-left: 10px;
}

.byyear-link li{
   margin: 0px;
   margin-bottom: 10px;
   margin-right: 4px;
}

.byyear-link a{
   color: #CD6D00;
   border: solid 2px #CD6D00;
   padding: 4px 10px;
   font-size: 1.0rem;
   font-weight: bold;
}

.byyear-link a:hover{
   background-color: #CD6D00;
   color: #fff;
   opacity: 1;
}

#a-2025,
#a-2024,
#a-2023,
#a-2022,
#a-2021{
   padding-top: 300px;
   margin-top: -220px;
   font-size: 1.5rem;
   font-weight: bold;
}

#a-2025p,
#a-2024p,
#a-2023p,
#a-2022p,
#a-2021p{
   padding-top: 300px;
   margin-top: -220px;
   font-size: 1.5rem;
   font-weight: bold;
}

#a-2025t,
#a-2024t,
#a-2023t,
#a-2022t,
#a-2021t{
   padding-top: 300px;
   margin-top: -220px;
   font-size: 1.5rem;
   font-weight: bold;
}

hr{
   border: 4px #D8D8CF solid;
}

.hr-pagetop{
   color: #8B8B7E;
   font-size: 1.35rem;
}