@charset "utf-8";
/*リセットCSS（sanitize.css）の読み込み
---------------------------------------------------------------------------*/
@import url("https://unpkg.com/sanitize.css");
/*slick.cssの読み込み
---------------------------------------------------------------------------*/
@import url("https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css");
/*Font Awesomeの読み込み
---------------------------------------------------------------------------*/
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css");
/*Google Fontの読み込み
---------------------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:100,300,400,500,700,900&display=swap&subset=japanese');
/*全体の設定
---------------------------------------------------------------------------*/
html, body {
  margin: 0;
  padding: 0;
  height: 100%;
  font-size: 13px; /*基準となるフォントサイズ。下の方にある「画面幅900px以上」で基準を大きなサイズに再設定しています。*/
}
body {
  /*
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    */
  /*  
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";*/
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  background: #fff; /*背景色*/
  color: #000; /*全体の文字色*/
  line-height: 1.8; /*行間*/
}
/*リセット*/
figure {
  margin: 0;
}
dd {
  margin: 0;
}
nav {
  margin: 0;
  padding: 0;
}
/*table全般の設定*/
table {
  border-collapse: collapse;
}
table.line td {
  border-bottom: 1px solid #eee;
}
/*画像全般の設定*/
img {
  border: none;
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}
/*videoタグ*/
video {
  max-width: 100%;
}
/*iframeタグ*/
iframe {
  width: 100%;
}
/*section全般の設定*/
section + section {
  padding-top: 30px; /*sectionの間に空けるスペース*/
}
#left {
  padding-top: 0 !important;
}
/*opa1（透明から着色状態に）
---------------------------------------------------------------------------*/
@keyframes opa1 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*リンクテキスト全般の設定
---------------------------------------------------------------------------*/
h2 a {
 color: #333; /*文字色*/

}
a {
  color: #0055C9; /*文字色*/
  transition: 0.3s;
}
a:hover {
  color: #b5164d; /*マウスオン時の文字色*/
}
strong {
  font-weight: 600;
}
/*container（サイト全体を囲むブロック）
---------------------------------------------------------------------------*/
#container {
  /*max-width: 1500px; */ /*最大幅。これ以上広がらないように。後半の大きな端末用の「#menubar > ul」と数字を揃える。*/
  margin: 0 auto;
  height: 100%;
  display: flex; /*flexボックスを使う指定*/
  flex-direction: column; /*子要素を縦並びにする*/
  justify-content: space-between; /*並びかたの種類の指定*/
}
/*header（ロゴなどが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
  display: flex; /*flexボックスを使う指定*/
  justify-content: space-between; /*並びかたの種類の指定*/
  align-items: flex-start; /*垂直揃えの指定。上下中央に配置されるように。*/
  flex: 0 0 auto;
  /*height: 160px;*/ /*ヘッダーの高さ*/
  padding: 0 20px 10px 20px; /*ヘッダー内の余白*/
}
/*ロゴ画像*/
header #logo {
  line-height: 0;
  margin: 10px 0 0 0;
  padding: 0;
  width: 700px; /*ロゴ画像の幅*/
}
/*電話番号ブロック*/
header address {
  display: none;
  margin: 0;
  font-style: normal; /*addressがデフォルトで斜体になってしまうのを標準にする*/
  margin-right: 80px; /*右側に空けるスペース。ハンバーガーメニューに重ならないようにする為です。*/
  font-size: 12px;
}
/*電話番号のアイコン（アイコンにはFont Awesomeを使用）*/
header address i {
  color: #B5164D; /*アイコンの色*/
  padding-right: 10px; /*アイコンの右側に空ける余白*/
  margin-left: 20px;
}
header address a {
  font-size: 1.0em;
  text-decoration: none;
  background: #b5164d;
  color: #fff;
  padding: 8px 15px 8px 15px;
  line-height: 160%;
  letter-spacing: 0.5px;
  border-radius: 0 0 4px 4px;
}
header address a:hover {
  background: #c73065;
  color: #fff;
}
/*３本バー（ハンバーガー）アイコン設定
---------------------------------------------------------------------------*/
/*３本バーブロック*/
#menubar_hdr {
  display: block;
  position: fixed;
  z-index: 100;
  top: 25px; /*上からの配置場所指定*/
  right: 20px; /*右からの配置場所指定*/
  width: 30px; /*幅*/
  height: 30px; /*高さ*/
  cursor: pointer;
  background: rgba(0, 0, 0, 0.6) url(../images/ham.png) no-repeat center top/30px; /*背景色、ハンバーガメニュー画像の読み込み、50pxは幅の指定*/
  border-radius: 3px;
}
/*×印が出ている状態の設定。*/
#menubar_hdr.ham {
  background: #ff0000 url(../images/ham.png) no-repeat center bottom/30px;
}
/*メニュー設定（全端末サイズ共通の設定）
---------------------------------------------------------------------------*/
#menubar ul {
  list-style: none;
  margin: 0;
  padding: 0;
  background: #424242; /*背景色。諸事情あって、下のbackgroundのグラデーションのどちらかの色を抜いて下さい。*/
}
/*メニュー1個あたりの設定*/
#menubar ul a {
  display: block;
  text-decoration: none;
  background: #4073bf;
  color: #fff; /*文字色*/
  padding: 7px 10px 11px 10px; /*上下、左右へのメニュー内の余白*/
  border-bottom: 1px solid #6c93cd;
  z-index: 10;
}
/*マウスオン時のメニュー色*/
#menubar > ul > li > a:hover {
  filter: brightness(1.12); /*少しだけ明るくする*/
}
/*ドロップダウンメニューのリンクタグ*/
#menubar .ddmenu {
  cursor: default; /*リンク要素のカーソルを矢印に変更しておく*/
}
/*ddmenuを指定しているメニューに矢印アイコンをつける設定*/
a.ddmenu::before {
  font-family: "Font Awesome 5 Free"; /*Font Awesomeを使う指定*/
  /* content: "\f078";*/ /*使いたいアイコン名をここで指定。Font Awesomeに記載されています。詳しくは当テンプレートのマニュアルを読んで下さい。*/
  font-weight: bold; /*この手の設定がないとアイコンが出ない場合があります*/
  margin-right: 1em; /*アイコンとテキストとの間に空けるスペース*/
}
/*メニューの設定
---------------------------------------------------------------------------*/
#menubar {
  height: 0px;
  overflow: hidden;
}
/*小さな端末用のメニューブロック*/
#menubar.db {
  position: fixed;
  overflow: auto;
  z-index: 99;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 100%;
  padding: 90px 20px; /*上下、左右へのメニューブロック内の余白*/
  background: rgba(0, 0, 0, 0.8); /*背景色。0,0,0は黒の事で0.8は色が80%出た状態。*/
}
/*ドロップダウンメニュー
---------------------------------------------------------------------------*/
#menubar .ddmenu_parent ul {
  display: none;
}
/*ドロップダウンメニュー1個あたりの設定*/
#menubar .ddmenu_parent ul a {
  background: #fff; /*背景色*/
  color: #333; /*文字色*/
}
/*マウスオン時*/
#menubar .ddmenu_parent ul a:hover {
  background: #fafafa; /*背景色*/
  color: #54adf1; /*文字色*/
}
/*トップページ左側　ニュース・イベント
---------------------------------------------------------------------------*/
#left {
  width: 100%;
  float: left;
}
#left h2 {
  margin-top: 0;
  text-align: center;
}
/*Topページ右側
---------------------------------------------------------------------------*/
#right {
  width: 100%;
}
#right h2 {
  margin-top: 0;
  text-align: center;
}
.rcontents {
  margin-top: 1px;
  margin-bottom: 1em !important;
  overflow: hidden;
}
.rcontents p {
  padding-top: 0;
  margin-top: 0;
  padding-bottom: 0;
  margin-bottom: 0;
}
.rcontents ul {
  padding-top: 0.5em !important;
  margin-bottom: 0 !important;
}
.topchair {
  width: 100px;
  float: left;
  margin: 0 1em 1em 0;
}
.line td, table th {
  border-bottom: 1px dashed #999;
}
.oldpage {
  display: block;
  padding: 1em;
  background: -webkit-linear-gradient(#fff, #eee);
  background: -o-linear-gradient(#fff, #eee);
  background: linear-gradient(#fff, #eee);
  text-align: center;
  border: 1px solid #999;
  border-radius: 5px;
  text-decoration: none;
}
.oldpage:hover {
  background: -webkit-linear-gradient(#fafafa, #ececec);
  background: -o-linear-gradient(#fafafa, #ececec);
  background: linear-gradient(#fafafa, #ececec);
}
/*トップページ左側　ニュース・イベント
---------------------------------------------------------------------------*/
#left h2, #right h2 {
  margin-top: 0;
}
#left table {
  margin-top: 5px;
}
#left table td, table th {
  border-bottom: 1px dashed #999;
}
/*新着情報
---------------------------------------------------------------------------*/
.whatsnewCon, .eventsCon {
  width: 100%;
  margin: 1px 0 1em 0;
  overflow: auto;
  font-size: 0.9em;
}
.whatsnewCon {
  /*height: 200px;*/
}
.wntable {
  width: 98%;
}
.wntable tr td:first-child {
  width: 110px;
  font-weight: bold;
}
/*contentsブロック
---------------------------------------------------------------------------*/
#contents {
  min-height: 0%; /*IE対策*/
  flex: 1 0 auto;
}
#contents .toptxt { /*トップページの研究室説明*/
  float: left;
  width: 100%
}
#contents .topvideo { /*トップページのビデオ*/
  float: left;
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
}
/*mainブロック設定
---------------------------------------------------------------------------*/
/*mainブロックの設定*/
main {
  max-width: 1500px;
  display: block; /*IE対策*/
  margin: 20px 5% 50px 5%; /*上、左右、下へのブロックの外側にとるスペース*/
}
/*mainブロック内のh2タグ*/
main h1:not(:nth-child(1)) {
  margin-top: 2em;
}
/*mainブロック内のh2タグ*/
main h2 {
  font-size: 1.3em;
  font-weight: 500;
  border-bottom: 4px solid #eee; /*下線の幅、線種、色。ベースカラーです。下のspanのborder-bottomと数字を合わせておく。*/
}
/*mainブロック内のh2タグに下線を引くための指定。*/
main h2 span.uline {
  display: inline-block;
  border-bottom: 4px solid #B5164D; /*下線の幅、線種、色。アクセントカラーです。上のmain h2と数字を合わせておく。*/
  position: relative;
  bottom: -4px; /*下からの配置場所指定。上にある２つのborder-bottomと重ねる為の指定なので、数字を合わせてから冒頭にマイナスをつけて下さい。*/
  padding: 0 20px; /*上下、左右への余白。テキストの両脇に少し余裕をもって線を引くためです。*/
}
main h2:not(:nth-child(1)) {
  margin-top: 2em;
}
/*mainブロック内のh3タグ*/
main h3 {
  border-bottom: 4px solid #eee; /*下線の幅、線種、色*/
  padding: 20px 20px 0px; /*上、左右、下への余白*/
}
h3 + ul {
  margin-top: -0.5em;
}
/*mainブロックのpタグ*/
main p {
  margin: 0 20px 30px; /*上、左右、下へ空けるスペース*/
}
/*フッターメニュー設定
---------------------------------------------------------------------------*/
/*ボックス全体の設定*/
#footermenu {
  background: #d6e6f4; /*背景色*/
  color: #333; /*文字色*/
  font-size: 0.7rem; /*文字サイズ。remの単位についてはテンプレート内の解説をお読み下さい。*/
  padding: 20px; /*ボックス内の余白*/
  display: flex; /*flexボックスを使う指定*/
  justify-content: space-between; /*並びかたの種類の指定*/
  align-items: flex-start; /*垂直揃えの指定。上に配置されるように。*/
  display: none; /* 900px 以上は表示、それ以外は非表示 */
}
/*ボックス内のリンクテキスト設定*/
#footermenu a {
  text-decoration: none;
  color: #333; /*文字色*/
}
/*リンクテキストのマウスオン時*/
#footermenu a:hover {
  color: #ccc; /*文字色*/
}
/*ulタグ（メニューの列単位）*/
#footermenu ul {
  margin: 0;
  padding: 0 2px;
  flex: 1;
  list-style: none;
}
/*title*/
#footermenu .title {
  font-weight: bold; /*太字にする*/
  color: #4073bf; /*文字色*/
  padding-bottom: 5px; /*下に空けるスペース*/
}
#footermenu .title a {
  color: #4073bf; /*文字色*/
}
/*フッター設定
---------------------------------------------------------------------------*/
footer small {
  font-size: 100%;
}
footer {
  font-size: 0.8rem; /*文字サイズ。remの単位についてはテンプレート内の解説をお読み下さい。*/
  background: #005b94; /*背景色*/
  color: #fff; /*文字色*/
  padding: 20px; /*ボックス内の余白*/
}
/*リンクテキスト*/
footer a {
  color: #fff;
  text-decoration: none;
}
/*リンクテキストのマウスオン時*/
footer a:hover {
  color: #fff;
}
/*著作部分*/
footer .pr {
  display: block;
}
.ftitle {
  font-size: 1.2em;
}
/*「お知らせ」ブロック
---------------------------------------------------------------------------*/
/*お知らせブロック*/
#new {
  margin: 0;
  display: flex; /*flexボックスを使う指定*/
  flex-wrap: wrap; /*折り返す指定*/
  padding: 0 20px; /*上下、左右へのボックス内の余白*/
  height: 300px;
  overflow-y: auto;
}
/*日付(dt)、記事(dd)共通設定*/
#new th, #new td {
  border-bottom: 1px solid #ccc; /*下線の幅、線種、色*/
  padding: 5px 0; /*上下、左右へのボックス内の余白*/
  vertical-align: top;
}
#new th p, #new td p {
  padding: 5px 0;
}
/*日付(dt)設定*/
#new td:nth-of-type(1) {
  width: 8em; /*幅。8文字(em)分。※下の「900px以上」の端末用の設定に再設定があります。*/
}
/*日付の横のマーク（共通設定）*/
#new dt span {
  display: none; /*小さな端末では非表示にしておく。*/
}
/*記事(dd)設定*/
#new dd {
  width: calc(100% - 8em); /*「8em」は上の「#new dt」のwidthの値です。※下の「900px以上」の端末用の設定に再設定があります。*/
}
/*サービスページ（listブロック）
---------------------------------------------------------------------------*/
/*listボックスを囲むボックス*/
.list-container {
  display: flex; /*flexボックスを使う指定*/
  flex-wrap: wrap; /*折り返す指定*/
  justify-content: space-between; /*並びかたの種類の指定*/
  flex-direction: column; /*子要素を縦並びにする*/
}
/*listボックス。１個あたりのボックスの指定です。*/
.list {
  display: flex; /*flexボックスを使う指定*/
  flex-direction: column; /*子要素を縦並びにする*/
  justify-content: space-between; /*並びかたの種類の指定*/
  margin-bottom: 30px; /*ボックス同士の上下間の余白*/
  background: #111; /*背景色。*/
  color: #fff; /*文字色*/
  padding: 20px; /*ボックス内の余白*/
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1); /*ボックスの影。右へ、下へ、ぼかし幅の順。0,0,0は黒の事で0.1は色が10%出た状態。*/
  border-radius: 10px; /*角を丸くする指定*/
  overflow: hidden;
}
/*listボックス内のfigure画像*/
.list figure {
  margin: -20px -20px 0; /*上の余白部分を埋めて画像を大きくするような指定です*/
}
/*listボックス内のh4タグ*/
.list h4 {
  margin: 10px 0; /*上下、左右へのh4の外側に空けるスペース*/
  font-size: 1.2em; /*文字サイズを120%に*/
  font-weight: normal; /*hタグのデフォルトの太字を標準にする。太字がいいならこの１行を削除。*/
}
/*listボックス内のpタグ*/
.list p {
  margin: 0;
  font-size: 0.7em; /*文字サイズを70%に。*/
}
/*IE対策*/
.list div {
  min-height: 0%;
}
/*スライドショー（slickを使用）
---------------------------------------------------------------------------*/
.mainimg {
  position: relative;
  box-shadow: 0 2px 5px 0 #999;
  z-index: 5;
  background: #cccccc;
}
.keyimage {
  position: relative;
  z-index: 5;
  background: #0f375d;
}
.keyimage p {
  position: absolute;
  top: 0px;
  left: 30px;
  font-size: 1.7em;
  font-weight: 600;
  line-height: 105%;
  color: #fff;
  text-shadow: 0px 0px 5px #333;
}
.keyimage p span {
  font-size: 0.6em !important;
}
.keyimage ul {
  position: absolute;
  bottom: 0;
  right: 20px;
}
.keyimage ul li {
  font-weight: 400;
  list-style: none;
  float: left;
  color: #fff;
  margin: 0 3px 0 3px;
}
.keyimage li::after {
  content: '\00A0\00A0> ';
}
.keyimage li:last-child::after {
  content: '';
}
.keyimage a {
  text-decoration: none;
  color: #fff;
}
/*丸いページナビボタン全体を囲むブロック*/
ul.slick-dots {
  margin: 0;
  padding: 0;
  line-height: 1;
  width: 100%;
  text-align: center;
  position: absolute;
  bottom: 20px; /*下からの配置場所指定*/
}
/*丸いページナビボタン１個あたりの設定*/
ul.slick-dots li {
  display: inline-block;
  margin: 0 10px;
  cursor: pointer;
}
/*buttonタグ*/
ul.slick-dots li button {
  border: none;
  padding: 0;
  display: block;
  text-indent: -9999px; /*デフォルトで文字が出るので画面の外に追い出す指定*/
  width: 12px; /*ボタンの幅*/
  height: 12px; /*ボタンの高さ*/
  border-radius: 50%; /*丸くする指定*/
  cursor: pointer; /*クリックで画像へジャンプするので、わかりやすいようhover時にpointerになるように。*/
  background: #fff; /*背景色。白。*/
}
/*buttonのアクティブ時（現在表示されている画像を示すボタン）*/
ul.slick-dots li.slick-active button {
  background: #54adf1; /*色*/
}
/*アイコン
---------------------------------------------------------------------------*/
/*アイコンの共通設定*/
.icon {
  display: inline-block;
  padding: 0 10px; /*上下、左右へのアイコン内の余白*/
  background: #999; /*背景色。iconクラスだけ適用した場合に出る色です。*/
  color: #fff; /*文字色*/
  font-size: 0.7em; /*文字サイズを70%に。*/
  border-radius: 3px; /*角を丸くする指定*/
  margin-right: 3px; /*アイコンが並んだ際に間にとるスペース*/
}
/*NEWアイコン*/
.newicon {
	background: #F00;
	color: #FFF;
	font-size: 10px;
	padding: 0px 5px;
	border-radius: 2px;
	margin: 0px 5px;
}
/*option1アイコン*/
.option1 {
  background: #e80068; /*背景色*/
}
/*option2アイコン*/
.option2 {
  background: #009def; /*背景色*/
}
/*詳細ページ
---------------------------------------------------------------------------*/
/*大きな画像のボックスと説明文を入れるボックス*/
#item-image {
  position: relative;
  margin: 0 auto 20px;
  text-align: center;
  width: 100%;
}
/*大きな画像のボックスの中の画像*/
#item-image img {
  width: 100%;
}
/*サムネイル画像*/
.thumbnail {
  width: 80px; /*画像の幅*/
  border: 1px solid #dcdcdc; /*枠線の幅、線種、色*/
  margin-bottom: 5px;
}
.thumbnail:hover {
  border: 1px solid #999; /*マウスオン時の枠線の幅、線種、色*/
}
/*btnの設定
---------------------------------------------------------------------------*/
/*ボタンを囲むブロック*/
.btn {
  text-align: center; /*内容をセンタリング*/
}
/*ボタン*/
.btn a, .btn input {
  display: inline-block;
  text-decoration: none;
  border: none;
  color: #fff; /*文字色*/
  border-radius: 3px; /*角丸のサイズ。ほんの少しだけ角が丸くなります。*/
  padding: 10px 20px; /*上下、左右へのボタン内の余白*/
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2); /*ボックスの影。右へ、下へ、ぼかし幅の順。0,0,0は黒の事で0.2は色が20%出た状態。*/
  background: linear-gradient(#54adf1, #1d95f1); /*背景グラデーション*/
  font-size: 1rem; /*文字サイズ。remの単位についてはテンプレート内の解説をお読み下さい。*/
}
/*ボタンのマウスオン時*/
.btn a:hover, .btn input:hover {
  filter: brightness(1.2); /*少しだけ明るくする*/
  cursor: pointer;
}
/*listブロック内でのボタン*/
.list .btn a, .list .btn input {
  margin-top: 10px; /*上にスペースを空ける*/
  display: block; /*横幅いっぱいに広げる*/
}
/*テーブル
---------------------------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※caption）*/
.ta1 caption {
  font-weight: bold; /*太字に*/
  padding: 10px 5px; /*上下、左右へのボックス内の余白。基本的に数行下の「.ta1 th, .ta1 td」のpaddingと揃えておけばOKです。*/
  background: #333; /*背景色*/
  color: #fff; /*文字色*/
}
/*ta1テーブルブロック設定*/
.ta1 {
  border-top: 1px solid #ccc; /*テーブルの一番上の線。幅、線種、色*/
  table-layout: fixed;
  width: 100%;
  margin: 0 auto 30px; /*最後の「30px」がテーブルの下に空けるスペースです*/
}
/*tr（１行分）タグ設定*/
.ta1 tr {
  border-bottom: 1px solid #ccc; /*テーブルの下線。幅、線種、色*/
}
/*th（左側）、td（右側）の共通設定*/
.ta1 th, .ta1 td {
  padding: 10px 5px; /*上下、左右へのボックス内の余白*。基本的に数行上の「.ta1 caption」のpaddingと揃えておけばOKです。*/
  word-break: break-all; /*英語などのテキストを改行で自動的に折り返す設定。これがないと、テーブルを突き抜けて表示される場合があります。*/
}
/*th（左側）のみの設定*/
.ta1 th {
  width: 30%; /*幅*/
  text-align: left; /*左よせにする*/
  background: #f7f7f7; /*背景色*/
}
/*製品FAQ
---------------------------------------------------------------------------*/
/*FAQボックス全体*/
.faq {
  padding: 0 5px; /*上下、左右へのボックス内の余白*/
}
/*質問*/
.faq dt {
  border-radius: 10px; /*枠を角丸にする指定*/
  margin-bottom: 20px; /*下に空けるスペース*/
  background: linear-gradient(#fff, #f7f7f7); /*背景グラデーション*/
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2); /*ボックスの影。右へ、下へ、ぼかし幅、0,0,0は黒の事で0.2は色が20%出た状態の事。*/
  text-indent: -2em; /*テキストのインデント。質問が複数行になった際に、テキストの冒頭を揃える為に設定しています。*/
  padding: 5px 1em 5px 3em; /*ボックス内の余白。ここを変更する場合、上のtext-indentも調整します。*/
}
/*アイコン（Font Awesome）*/
.faq dt::before {
  font-family: "Font Awesome 5 Free"; /*Font Awesomeを使う指定*/
  content: "\f059"; /*使いたいアイコン名をここで指定。Font Awesomeに記載されています。詳しくは当テンプレートのマニュアルを読んで下さい。*/
  color: #54adf1; /*アイコンの色*/
  padding-right: 1em; /*アイコンとテキストの間の余白*/
}
/*回答*/
.faq dd {
  padding: 5px 1em 30px 3em; /*ボックス内の余白**/
}
/*opencloseを適用した要素のカーソル*/
.openclose {
  cursor: pointer; /*カーソルの形状。リンクと同じスタイルにしてクリックできると認識してもらう。*/
}
.faq dt span {
  text-indent: 0;
}
/*PAGE TOP（↑）設定
---------------------------------------------------------------------------*/
.pagetop-show {
  display: block;
}
/*ボタンの設定*/
.pagetop a {
  display: block;
  text-decoration: none;
  text-align: center;
  position: fixed; /*スクロールに追従しない(固定で表示)為の設定*/
  right: 20px; /*右からの配置場所指定*/
  bottom: 20px; /*下からの配置場所指定*/
  color: #fff; /*文字色*/
  font-size: 1.5rem; /*文字サイズ*/
  background: rgba(0, 0, 0, 0.3); /*背景色。0,0,0は黒の事で0.3は色が30%出た状態。*/
  width: 2em; /*幅*/
  line-height: 2em; /*高さ*/
}
/*マウスオン時*/
.pagetop a:hover {
  background: rgba(0, 0, 0, 0.8); /*背景色。0,0,0は黒の事で0.8は色が80%出た状態。*/
}
/*Open Close設定
---------------------------------------------------------------------------*/
/*inputを非表示*/
input[type="checkbox"].on-off {
  opacity: 0;
}
.open-label {
  font-size: 12px;
  float: right;
  padding: 5px 10px;
  display: block;
  color: #fff;
  text-align: center;
  box-shadow: 0 1px 0 1px #aaa;
  background: #333;
  border-radius: 2px;
}
/*エフェクト*/
.open-label:active {
  box-shadow: 0 0 0 0;
}
.open-label:hover {
  background: -webkit-linear-gradient(bottom, #fff4e0 1%, orange 80%);
  background: #555;
}
/*ラベルに表示するテキスト*/
.open-label::after {
  content: '+ OPEN';
}
.on-off:checked ~ .open-label::after {
  content: '- CLOSE';
}
/*開閉エリア*/
.open {
  padding: 0 1em;
  height: 0;
  opacity: 0;
  transition: .5s;
}
/*「開く」をタップで表示*/
.on-off:checked ~ .open {
  padding: 1.5em 1em;
  height: auto;
  opacity: 1;
}
/*その他
---------------------------------------------------------------------------*/
.clearfix::after {
  content: "";
  display: block;
  clear: both;
}
.color-theme, .color-theme a {
  color: #54adf1 !important;
}
.color-check, .color-check a {
  color: #f00 !important;
}
.c {
  text-align: center !important;
}
.ws {
  width: 95%;
  display: block;
}
.wl {
  width: 95%;
  display: block;
}
.mb30 {
  margin-bottom: 30px !important;
}
.look {
  display: inline-block;
  border: 1px solid #ccc;
  padding: 5px 20px;
  background: rgba(0, 0, 0, 0.03);
  border-radius: 5px;
  margin: 5px 0;
}
.ofx {
  overflow-x: hidden;
}
.red {
  color: #cc0000;
}
.blue {
  color: #00ABDF;
}
.email:after {
  content: "@";
}
.center {
  text-align: center;
}
.shadow {
  box-shadow: 1px 1px 5px;
}
.newscon a.ltitle {
  transition: none;
  padding-top: 70px;
  margin-top: -70px;
}
.etitle {
  font-size: 1.3em;
  font-weight: 700;
}
.etitle + ul {
  margin-top: -1em;
}
a.pdf {
  background: url(../images/pdficon.gif ) no-repeat right 4px;
  padding-right: 20px;
  margin-right: 2px;
}
a.word {
  background: url(../images/wordicon.gif ) no-repeat right 4px;
  padding-right: 20px;
  margin-right: 2px;
}
a.excel {
  background: url(../images/excelicon.gif ) no-repeat right 0;
  padding-right: 20px;
  margin-right: 2px;
}
a.link {
  background: url(../images/linkicon.gif ) no-repeat right 2px;
  padding-right: 23px;
  margin-right: 2px;
}
a.image {
  background: url(../images/imageicon.gif ) no-repeat right 0;
  padding-right: 23px;
  margin-right: 2px;
}

/*---------------------------------------------------------------------------
ここから下は画面幅600px以下の追加指定
---------------------------------------------------------------------------*/
@media screen and (max-width:600px) {
  /*header（ロゴなどが入った最上段のブロック）
---------------------------------------------------------------------------*/
  /*mainブロックのpタグ*/
  main p {
    margin: 0 5px 10px; /*上、左右、下へ空けるスペース*/
  }
  .keyimage p {
    font-size: 1.5em;
  }
  header #logo {
    margin-top: 20px;
    width: calc(100% - 20px); /*ロゴ画像の幅*/
  }
}
/*---------------------------------------------------------------------------
ここから下は画面幅480px以下の追加指定
---------------------------------------------------------------------------*/
@media screen and (max-width:480px) {
  /*header（ロゴなどが入った最上段のブロック）
---------------------------------------------------------------------------*/
  /*ヘッダーブロック*/
  header {
    flex-direction: column; /*ロゴと電話番号を縦並びにする*/
  }
  /*電話番号ブロック*/
  header address {
    margin-right: 0px;
  }
  /*　※注意！　下の閉じカッコ　}　はこのブロックに必要なので、削除しないで下さい。　*/
}
/*---------------------------------------------------------------------------
ここから下は画面幅900px以上の追加指定
---------------------------------------------------------------------------*/
@media screen and (min-width:900px) {
  /*全体の設定
---------------------------------------------------------------------------*/
  html, body {
    font-size: 16px; /*基準となるフォントサイズの上書き*/
  }
  /*fixmenu。大きな端末で、メインメニューが画面上部についた時のスタイル。
---------------------------------------------------------------------------*/
  .fixmenu {
    position: fixed !important;
    z-index: 100;
    left: 0px;
    top: 0px;
    width: 100%;
  }
  /*header（ロゴなどが入った最上段のブロック）
---------------------------------------------------------------------------*/
  /*電話番号ブロック*/
  header address {
    margin-right: 0px;
    display: inline;
  }
  /*menubar
---------------------------------------------------------------------------*/
  /*ハンバーガーメニューを非表示にする*/
  #menubar_hdr {
    display: none;
  }
  /*メニューのボックス全体の設定（※変更不要）*/
  #menubar {
    height: auto;
    overflow: visible;
  }
  #menubar.db {
    position: static;
    overflow: visible;
    height: auto;
    padding: 0;
  }
  /*メニュー設定（全端末サイズ共通の設定）
---------------------------------------------------------------------------*/
  /*メニュー1個あたりの設定*/
  #menubar ul a {
    background: #fff;
    /*    background: rgb(66, 66, 66);
    background: linear-gradient(0deg, rgba(66, 66, 66, 1) 0%, rgba(66, 66, 66, 1) 50%, rgba(80, 80, 80, 1) 50%, rgba(80, 80, 80, 1) 100%);*/
    font-size: 0.95em;
    padding: 7px 10px 11px 10px; /*上下、左右へのメニュー内の余白*/
    border-bottom: none;
  }
  /*ドロップダウンに影響させない為。*/
  #menubar > ul {
    display: flex; /*flexボックスを使う指定*/
    justify-content: space-between; /*並びかたの種類の指定*/
    /*max-width: 1500px;*/ /*最大幅。これ以上広がらないように。前半の小さな端末用の「#container」と数字を揃える。*/
    margin: 0 auto;
  }
  /*メニュー１個あたりの設定*/
  #menubar li {
    text-align: center; /*テキストをセンタリング*/
    flex: 1; /*個々のメニューを均等にし、幅いっぱいまで使う設定*/
    position: relative; /*ddmenu ulの幅となる基準を作っておく*/
  }
  .mHome, .mProgram, .mCurriculum, .mLectures, .mNews, .mDownload, .mContact, .mLanguage {
    height: 70px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    transition: none;
  }
  #menubar li a.mHome {
    background: #fff url("../jp/images/mHome.png") no-repeat center 0;
  }
  #menubar li a.mProgram {
    background: #fff url("../jp/images/mProgram.png") no-repeat center 0;
  }
  #menubar li a.mCurriculum {
    background: #fff url("../jp/images/mCurriculum.png") no-repeat center 0;
  }
  #menubar li a.mLectures {
    background: #fff url("../jp/images/mLectures.png") no-repeat center 0;
  }
  #menubar li a.mNews {
    background: #fff url("../jp/images/mNews.png") no-repeat center 0;
  }
  #menubar li a.mDownload {
    background: #fff url("../jp/images/mDownload.png") no-repeat center 0;
  }
  #menubar li a.mContact {
    background: #fff url("../jp/images/mContact.png") no-repeat center 0;
  }
  #menubar li a.mLanguage {
    background: #fff url("../jp/images/mLanguage.png") no-repeat center 0;
  }
  #menubar li a.mHome:hover, #menubar li a.mProgram:hover, #menubar li a.mCurriculum:hover, #menubar li a.mNews:hover, #menubar li a.mLectures:hover, #menubar li a.mDownload:hover, #menubar li a.mContact:hover, #menubar li a.mLanguage:hover {
    background-position: center -70px;
  }
  /*ドロップダウンメニュー
---------------------------------------------------------------------------*/
  #menubar ul li.honly {
    display: none;
  }
  /*ドロップダウンメニューブロック全体*/
  #menubar ul ul {
    position: absolute;
    z-index: 100;
    width: 100%;
  }
  /*メニュー１個ごとに入れる線*/
  #menubar .ddmenu_parent ul li a {
    /*border: 1px solid #ccc;*/ /*枠線の幅、線種、色*/
    color: #fff !important;
    background: #005b94;
    border-bottom: 1px solid #2f85ba;
    border-top: none; /*上の線だけ消す*/
  }
  /*メニュー１個ごとに入れる線*/
  #menubar .ddmenu_parent ul li a:hover {
    background: #3b82ae;
  }
  /*最初のドロップダウンにのみ上の線を入れる*/
  #menubar .ddmenu_parent ul li:first-of-type a {
    border-top: 1px solid #fff;
  }
/*画像サイズ限定---------------------------------------------------------------------------*/
.msize {
    max-width: 800px;
    margin: auto;
    }
  /*キーイメージ設定
---------------------------------------------------------------------------*/
  .keyimage img {
    width: 100%;
    object-fit: cover;
  }
  /*トップページ左側　ニュース・イベント
---------------------------------------------------------------------------*/
  #left h2 {
    margin-top: 0;
    text-align: center;
  }
  #left {
    width: 62%;
    float: left;
  }
  /*Topページ右側
---------------------------------------------------------------------------*/
  #right h2 {
    margin-top: 0;
    text-align: center;
  }
  #right {
    width: 36%;
    float: right;
  }
  /*コンテンツ設定
---------------------------------------------------------------------------*/
  #contents .toptxt { /*トップページの研究室説明*/
    float: left;
    width: 70%;
  }
  #contents .topvideo { /*トップページのビデオ*/
    float: left;
    width: 27%;
  }
  /*フッターメニュー設定
---------------------------------------------------------------------------*/
  /*ボックス全体の設定*/
  #footermenu {
    font-size: 0.8rem; /*文字サイズ。remの単位についてはテンプレート内の解説をお読み下さい。*/
    padding: 20px 50px; /*上下、左右へのボックス内の余白*/
    display: flex; /*flexボックスを使う指定*/
  }
  /*「お知らせ」ブロック
---------------------------------------------------------------------------*/
  /*日付(dt)設定*/
  #new dt {
    width: 14em; /*幅。14文字(em)分。*/
    display: flex; /*flexボックスを使う指定*/
    justify-content: space-between; /*日付とアイコンをそれぞれ端に寄せる*/
  }
  /*日付の横のマーク（共通設定）*/
  #new dt span {
    display: inline-block; /*表示させる*/
    width: 6em; /*幅。6文字(em)分。*/
    background: #999; /*背景色*/
    color: #fff; /*文字色*/
    font-size: 0.9em; /*文字サイズを90%に。*/
    text-align: center; /*文字をセンタリング*/
    border-radius: 3px; /*角を少しだけ丸くする*/
    margin-right: 1.2em; /*アイコンの右側に空けるスペース*/
    align-self: flex-start; /*高さを間延びさせない指定*/
    line-height: 1.5; /*行間を少し狭く*/
    position: relative;
    top: 0.4em; /*上下の配置バランスの微調整*/
  }
  /*bg1設定。サンプルテンプレートでは「求人情報」と書いてあるマーク*/
  #new dt span.icon-bg1 {
    background: #f32218; /*背景色*/
  }
  /*記事(dd)設定*/
  #new dd {
    width: calc(100% - 14em); /*「14em」は上の「#new dt」のwidthの値です。*/
  }
  /*サービスページ（listブロック）
---------------------------------------------------------------------------*/
  /*listボックスを囲むボックス*/
  .list-container {
    flex-direction: row; /*子要素を横並びにする*/
  }
  /*listボックス。１個あたりのボックスの指定です。*/
  .list {
    width: 49%; /*ボックスの幅*/
  }
  /*詳細ページ
---------------------------------------------------------------------------*/
  /*大きな画像のボックスと説明文を入れるボックス*/
  #item-image {
    width: 80%;
  }
  /*テーブル
---------------------------------------------------------------------------*/
  /*テーブル１行目に入った見出し部分（※caption）*/
  .ta1 caption {
    padding: 5px 15px; /*上下、左右へのボックス内の余白*/
  }
  /*th（左側）、td（右側）の共通設定*/
  .ta1 th, .ta1 td {
    padding: 20px 15px; /*上下、左右へのボックス内の余白*/
  }
  /*th（左側）のみの設定*/
  .ta1 th {
    width: 20%; /*幅*/
  }
  /*その他
---------------------------------------------------------------------------*/
  .ws {
    width: 48%;
    display: inline;
  }
  /*　※注意！　下の閉じカッコ　}　はこのブロックに必要なので、削除しないで下さい。　*/
}