@charset "utf-8";
/* CSS Document */

/***トップページスライダーに縦長動画を配置する場合に使う***/
.c-carousel .swiper-slide figure > video {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-top__mv > .c-carousel figure video {
  aspect-ratio: 18/18;/*16/9*/
  -o-object-fit: cover;
  object-fit: cover;
  width: 56%;/*100*/
}
@media (max-width: 300px/*768*/) {
  .p-top__mv > .c-carousel figure video {
    max-width: initial;
  }
}

/***アイコン***/
span.pdf {
  position: relative;
  text-decoration: none;
}
span.pdf:before {
  content: "";
  background-image: url("../img/common/pdf.svg");
  background-repeat: no-repeat;
  display: inline-block;
  background-size: contain;
  vertical-align: -3px;
  margin: 0 5px;
  justify-content: center;
  align-items: center;
  width: 15px;
  height: 15px;
}

span.excel {
  position: relative;
  text-decoration: none;
}
span.excel:before {
  content: "";
  background-image: url("../img/common/excel.svg");
  background-repeat: no-repeat;
  display: inline-block;
  background-size: contain;
  vertical-align: -3px;
  margin: 0 5px;
  justify-content: center;
  align-items: center;
  width: 15px;
  height: 15px;
}

span.word {
  position: relative;
  text-decoration: none;
}
span.word:before {
  content: "";
  background-image: url("../img/common/word.svg");
  background-repeat: no-repeat;
  display: inline-block;
  background-size: contain;
  vertical-align: -3px;
  margin: 0 5px;
  justify-content: center;
  align-items: center;
  width: 15px;
  height: 15px;
}

span.ppt {
  position: relative;
  text-decoration: none;
}
span.ppt:before {
  content: "";
  background-image: url("../img/common/ppt.svg");
  background-repeat: no-repeat;
  display: inline-block;
  background-size: contain;
  vertical-align: -3px;
  margin: 0 5px;
  justify-content: center;
  align-items: center;
  width: 15px;
  height: 15px;
}

span.zip {
  position: relative;
  text-decoration: none;
}
span.zip:before {
  content: "";
  background-image: url("../img/common/zip.svg");
  background-repeat: no-repeat;
  display: inline-block;
  background-size: contain;
  vertical-align: -3px;
  margin: 0 5px;
  justify-content: center;
  align-items: center;
  width: 15px;
  height: 15px;
}

span.youtube {
  position: relative;
  text-decoration: none;
}
span.youtube:before {
  content: "";
  background-image: url("../img/common/youtube.svg");
  background-repeat: no-repeat;
  display: inline-block;
  background-size: contain;
  vertical-align: -3px;
  margin: 0 5px;
  justify-content: center;
  align-items: center;
  width: 15px;
  height: 15px;
}

span.twitter {
  position: relative;
  text-decoration: none;
}
span.twitter:before {
  content: "";
  background-image: url("../img/common/twitter.svg");
  background-repeat: no-repeat;
  display: inline-block;
  background-size: contain;
  vertical-align: -3px;
  margin: 0 5px;
  justify-content: center;
  align-items: center;
  width: 15px;
  height: 15px;
}

span.x_white {
  position: relative;
  text-decoration: none;
}
span.x_white:before {
  content: "";
  background-image: url("../img/common/x_white.svg");
  background-repeat: no-repeat;
  display: inline-block;
  background-size: contain;
  vertical-align: -3px;
  margin: 0 5px;
  justify-content: center;
  align-items: center;
  width: 15px;
  height: 15px;
}

span.x_black {
  position: relative;
  text-decoration: none;
}
span.x_black:before {
  content: "";
  background-image: url("../img/common/x_black.svg");
  background-repeat: no-repeat;
  display: inline-block;
  background-size: contain;
  vertical-align: -3px;
  margin: 0 5px;
  justify-content: center;
  align-items: center;
  width: 15px;
  height: 15px;
}

span.csv {
  position: relative;
  text-decoration: none;
}
span.csv:before {
  content: "";
  background-image: url("../img/common/csv.svg");
  background-repeat: no-repeat;
  display: inline-block;
  background-size: contain;
  vertical-align: -3px;
  margin: 0 5px;
  justify-content: center;
  align-items: center;
  width: 15px;
  height: 15px;
}

span.mail {
  position: relative;
  text-decoration: none;
}
span.mail:before {
  content: "";
  background-image: url("../img/common/mail.svg");
  background-repeat: no-repeat;
  display: inline-block;
  background-size: contain;
  vertical-align: -3px;
  margin: 0 5px;
  justify-content: center;
  align-items: center;
  width: 15px;
  height: 15px;
}

span.new{
    position:relative;
    width:40px;
    height:20px;
    background:#FFFA21;
    padding:3px 10px;
    text-align:center;
    color:#333333;
    font-size:14px;
    font-weight:bold;
    border-radius:3px;
    -webkit-border-radius:3px;
    -moz-border-radius:3px;
    margin-left:10px; 
}
span.new:after{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    border-color: rgba(255, 250, 33, 0);
    border-top-width:5px;
    border-bottom-width:5px;
    border-left-width:9px;
    border-right-width:9px;
    margin-top: -5px;
    border-right-color:#FFFA21;
    right:100%;
    top:50%;
}

/***線***/
hr {
  height: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

/* 点線 */
.hr_dot {
  border-top: 1px dotted #aaa;
}

/**********************************************************************
                                テキスト
**********************************************************************/

/*** テキストをインラインブロックに ***/
span.ib  { 
    display:inline-block; 
}

/*** イベントページで使用 ***/
span.event_onsite  { 
  display:inline-block; 
  background-color:#a0d8ef; 
  font-size:70%; 
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  text-align: center;
  line-height: 1.1;
  padding: 2px 3px 1px;
  margin-left:5px;
}

span.event_online  { 
  display:inline-block; 
  background-color:#ffd700; 
  font-size:70%; 
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  text-align: center;
  line-height: 1;
  padding: 3px 0;
  margin-left:5px;
}

/***テキスト***/
.text_bold {
  font-weight: bold;  
}

.text_red {
  color: #FF0101;  
}
.text_white {
  color: #FFF;  
}

.center{
  text-align: center;
}
.left{
  text-align: left;
}

/*サイトマップが崩れるから使わないor名前変える
.right{
  text-align: right;
}
*/

/***テキスト　PC中央寄せ　スマホ左寄せ***/
.center_left {
  text-align: center;	
}
	@media (max-width: 767px) {
.center_left {
	  text-align: left;
}
}

/***テキストの背景にラインマーカー風色***/
.marker_yellow {
  background-color: #ff9;
}
.marker_yellow_line {
  background:linear-gradient(transparent 60%, #ff6 60%);
}
.marker_mizuiro {
  background-color: #adffff;
}
.marker_red {
  background-color: #E53232;
}
.marker_purple {
  background-color: #8F44CC;
}
.marker_blue {
  background-color: #236CA8;
}
.marker_green {
  background-color: #D4FFAD;
}

/***テキストをレスポンシブで中央に配置（デブリWS2022英語ページで使用中）***/
#text_center .inner {
  max-width: 100%;
  margin: 0 auto;
}

/***テキストに下線（リンクの下線より下側につく）***/
.underline {
  text-decoration: none;
  border-bottom: 1px solid #8E8E8E; /* 線の太さ 線の種類 線の色 */
  padding-bottom: 0.3px; /* テキストと下線との距離 */
}
.underline:hover {
  text-decoration: none;
  border-bottom: none; /* 線の太さ 線の種類 線の色 */
  color: #89c3eb;
  font-weight: normal;
}

/***olリストのマージン 通常時***/
.c-list.normal > li {
  position: relative;
  margin-left: 27px;
}
.c-list.normal > li:before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
}

/**********************************************************************
 横並び画像とテキストがレスポンシブで縦並びになる（左右どちらでも使える）革新WS2022で使用
**********************************************************************/

.flex_img_text{
  max-width: 960px;
  margin: 0 auto;
}
.flex_img_text img{
  max-width: 100%;
  display: block;
  margin: 0 auto;
}
.flex_item{
  margin-top: 30px;
}
@media screen and (min-width:768px) {  
  .flex_img_text{
    display: flex;
    flex-wrap:nowrap;
    justify-content:space-between;
  }
  .flex_item+.flex_item{
    margin-left:2.0em;
  }
}

/**********************************************************************
 横並びテキストとテキストがレスポンシブで縦並びになる_革新WS2022_プログラムで使用
**********************************************************************/
.flex_text_text {
     display: flex;
 }
.flex_text_text .box1 {
   width: 15%;
   padding: 1em 10px 1em 1em;
   background-color: #FFF;
   border: 1px solid #999;
   font-weight: bold;
   text-align: center;
   display: flex;
   justify-content: center;
   align-items: center;
 }
.flex_text_text .box2 {
   width: 85%;
    /* margin: auto .5rem;*/
   padding: 1em 10px 1em 1em;
   background-color: #FFF;
   border: 1px solid #999;
   margin-left: -1px;
 }
 @media screen and (max-width: 767px) {
    .flex_text_text {
      display: block;
     }
    .flex_text_text .box1 {
      background-color: #EFEFEF;
      width: 100%;
      margin: 0 auto;
      text-align: center;
      padding-bottom: .6em;
     }
    .flex_text_text .box2 {
      width: 100%;
      margin: 0 auto;
      text-align: center;
      margin-top: -1px;
      font-size: .9em;
      padding: .625em .625em .625em 1em;
     }
 }


/**********************************************************************
                                ボックス
**********************************************************************/

.box_gray {
  background-color: #f9f9f9;
  padding: 20px;
}
.box_gray .c-list {
  margin-top: 0;
}
.box_yellow {
  background-color: #ffffe0;
  padding: 20px;
}

.box_black_line {
  padding: 20px;
  border: solid 2px #f3f3f3;
  border-radius: 2px;
}

.box_simple_line {
  padding: 10px;
  border: solid 1px #BDBDBD;
  border-radius: 2px;
}
.box_black {
  padding: 2px 3px 1px;
  background-color: #2B2C31;
  color: #FFF;
}

/**刷新Pの衛星DX研究会で使用**/
.box_simple_line_dx {
  display: inline-block;
  margin:5px 5px;
  margin:5px;
  padding: 10px 15px 10px 15px;
  border: solid 1px #BDBDBD;
  border-radius: 2px;
}

.box_usured {
  background-color: rgba(229,50,50,0.05);
  padding: 20px;
}

.box_usublue {
  background-color: rgba(35,108,168,0.05);
  padding: 20px;
}

.box_usupurple {
  background-color: rgba(143,68,204,0.05);
  padding: 20px;
}
/**ここまで**刷新Pの衛星DX研究会で使用**/

/**********************************************************************
                タイトル付きボックス（sasshin等で使用）
**********************************************************************/

.box_title {
    position: relative;
    margin: 2em 0;
    padding: 0.5em 1em;
    border: solid 1px #BDBDBD;
    border-radius: 2px;
}
.box_title .box-title {
    position: absolute;
    display: inline-block;
    top: -9px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 15px;
    background: #FFF;
    color: #2B2C31;
    font-weight: bold;
}
.box_title p ul ol li {
    margin: 0; 
    padding: 0;
}


/**********************************************************************
                            赤カギ括弧ボックス
**********************************************************************/

.box_akakagi {
  margin: auto;
  text-align: center;
}
.box_akakagi > span {
  position: relative;
  display: inline-block;
  padding: 30px 40px;
}
.box_akakagi > span:before, .box_akakagi > span:after {
  content: "";
  position: absolute;
  width: 13.8144329897%;
  height: 89.2857142857%;
  pointer-events: none;
}
.box_akakagi > span:before {
  top: 0;
  left: 0;
  border-top: 1px solid #FF0101;
  border-left: 1px solid #FF0101;
}
.box_akakagi > span:after {
  right: 0;
  bottom: 0;
  border-right: 1px solid #FF0101;
  border-bottom: 1px solid #FF0101;
}

/**********************************************************************
             タイトルつきボックス＿ラジオ＿スウィングバイで使用
**********************************************************************/
/*左上にずらした背景色ありタイトル*/
.box_title_haikei{
	margin: 2em 20px; /* ボックスの余白 */
	background-color: #fffff0; /* ボックス背景色 */
	padding:4em 4em 3em 4em; /* ボックス内側余白 */
	position:relative; /* 配置(ここを基準に)*/
	border: 3px solid #3C3E58;	/* ボックスの線 (太さ　種類　色)*/
}
.box_title_haikei .box-title {
	background-color:#2B2C31; /* タイトル背景色 */
	font-size: 1.5em;/* タイトル文字の大きさ */
	color: #fff ; /* タイトル文字色 */
	padding: 20px 70px;/*タイトルの余白*/
	line-height: 1;/*タイトルの行の高さ*/
	position:absolute;	/* 配置(ここを動かす) */
	top: -30px; /*上から（0px）移動*/
	left: 50%; /*左右*/
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    border-radius: 70px;
}
@media screen and (max-width: 560px) {
    .box_title_haikei{
	margin: 2em auto; /* ボックスの余白 */
    padding:4em 1.5em 1em 1.5em; /* ボックス内側余白 */
    }
    .box_title_haikei .box-title {
     font-size: 1em;/* タイトル文字の大きさ */
     padding: 20px 10px;/*タイトルの余白*/
     width: 270px;
     text-align: center;
    }
}

/**********************************************************************
                研究紹介＿左側追従バナーメニュー_刷新Pで使用
**********************************************************************/
.floating-banner {
    position: fixed;
    z-index: 99999;
    bottom: 0px;
    left: 0px;
}
.fb_content {
    width: 200px;
    padding: 7px 0 5px 10px;
    color: #373737;
    font-weight: bold;
    border-radius: 10px;
    background-color: #fbfbfb;
    transition: box-shadow 0.5s;
    box-shadow:
        2px 2px 8px rgba(200,200,230,0.8),
        -2px -2px 8px rgba(255, 255, 255, 0.7),
        inset 10px 10px 30px transparent,
        inset -10px -10px 30px transparent;
}
.floating-banner a {
    text-decoration: none;
}
.koumoku {
    font-size: 12px;
    margin: 0 auto 20px;
    line-height: 1.5;
}
/*区切り線*/
.kugiri{
  position: relative;
  display: inline-block;
  margin-bottom: 0.6em;
}
/*以下で線を表示*/
.kugiri:before {
  content: '';
  position: absolute;
  /*left: 50%;*/
  bottom: -14px;/*線の上下位置*/
  display: inline-block;
  width: 140px;/*線の長さ30*/
  height: 1px;/*線の太さ*/
  -webkit-transform: translateX(50%);
  transform: translateX(-1%);/*位置調整*/
  background-color: #E8E8E8;/*線の色*/
  border-radius: 2px;/*線の丸み*/  
}

@media screen and (max-width: 990px) {
    .floating-banner {
        display: none;
    }
}
@media screen and (max-width: 560px) {
    .floating-banner {
        display: inline-block;
            bottom: 0;
    }

    .koumoku {
        font-size: 12px;
            margin: 0 auto;
    }
    .kugiri{
       position: relative;
       display: inline-block;
       margin-top: 0.6em;
    }
    /*以下で線を表示*/
    .kugiri:before {
       content: '';
       position: absolute;
       /*left: 50%;*/
       bottom: -7px;/*線の上下位置*/
       display: inline-block;
       width: 140px;/*線の長さ*/
       height: 1px;/*線の太さ*/
       -webkit-transform: translateX(-50%);
       transform: translateX(-1%);/*位置調整*/
       background-color: #E8E8E8;/*線の色*/
       border-radius: 2px;/*線の丸み*/  
    }
}
/*開閉ボタン*/
.switch_content {
  width: 200px; /* 全体の幅 */
  /*border: 1px solid #333;  全体を囲む枠線 */
}

#switch {
  display: none; /* チェックボックスを除去 */
}

.sw_button {
  display: block;
  position: relative;
  padding: 10px 20px;
}

.sw_icon { /* アイコン全体のスタイル */
  display: inline-block;
  position: absolute;
  top: 50%;
  transform: translateY(-52%);
  width: 22px;
  height: 22px;
  border: 1px solid #8A8A8A;
  border-radius: 50%;
}

.sw_icon::before, .sw_icon::after{ /* 「×」印のスタイル */
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1px; /* 棒の幅（太さ） */
  height: 15px; /* 棒の高さ */
  background: #8A8A8A; /* 棒の色 */
  transform: translate(-50%,-50%) rotate(90deg); /* デフォルトは「-」印に */
  transition: 0.5s all; /* クリック時のアニメーション設定 */
}

.sw_open,.sw_close {
  margin-left: 27px;
    margin-top: 5px;
    color: #333;
    font-weight: normal;
    font-size: 13px;
}

.sw_open { /* 表示ボタンのスタイル */
  display: inline-block; /* デフォルトは表示 */
}

.sw_close { /* 閉じるボタンのスタイル */
  display: none; /* デフォルトは非表示 */
}

.menu_contents { /* コンテンツのスタイル */
  display: none; /* デフォルトは非表示 */
  padding: 0 20px 15px;
}

 /* 以降、チェック時（クリック後）のスタイル */

#switch:checked + .sw_button > .sw_icon::before{
  transform: translate(-50%,-50%) rotate(45deg);
}

#switch:checked + .sw_button > .sw_icon::after{
  transform: translate(-50%,-50%) rotate(-45deg);
}

#switch:checked + .sw_button > .sw_open{
  display: none; /* 表示ボタンを非表示 */
}

#switch:checked + .sw_button > .sw_close{
  display: inline-block; /* 閉じるボタンを表示 */
}

#switch:checked ~ .menu_contents {
  display: block; /* コンテンツを表示 */
}


/**********************************************************************
        研究紹介＿複数の画像とテキストレスポンシブで縮む＿刷新Pで使用
**********************************************************************/

.parent div.child_flame{clear:both; display: flex !important;}
.parent div.child{
   float:left;
   margin: 0 10px;
   width: 280px;
}
.child img {max-width: 100%;}


/**********************************************************************
                    研究紹介＿過去の研究のタイトル表示用
**********************************************************************/

.c-hd-3_pastres {
    padding:5px 10px 5px 30px;
  margin-top: 10px;
  position: relative;
  /*padding-top: 5px;*/
  font-size: 0.9rem;
  width: 100%;
  font-weight:400;
  text-decoration: none;
}

.c-hd-3_pastres:before {
  content: "";
  display: inline-block;
  height: 1px;
  width: 12px;
  background: #2B2C31;
  position:absolute;
  top:18px;  /*アイコンの位置(上)*/
  left:0;    /*アイコンの位置(左)*/
}

/**********************************************************************
    研究紹介＿サブメニューのサブ＿ページごとに違う関連リンクを表示するときに使用
**********************************************************************/

.submenu_sub {
  margin-top: 10px;
  max-width: initial;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
}

.submenu_sub > .c-submenu {
  max-width: 960px;
  margin-top: initial;
  width: 100%;/***レイアウト改善（左寄せにした）***/
}

/**********************************************************************
                        研究紹介＿メニュー＿関連リンク
**********************************************************************/

.rs_kanren {
  font-size: 9px;
  background-color: #999;
  color: #FFFFFF;
  margin-right: 10px;
  padding: 1px 3px 2px 4px;
}

/**********************************************************************
                        研究紹介＿タイトル
**********************************************************************/
/***研究紹介＿タイトル＿先導する研究***/
.p-article .c-hd-1 > .sendo {
  text-align:center; 
  border-radius: 100vh; 
  background-image: linear-gradient(to left, #f3e7e9 0%, #e3eeff 99%, #e3eeff 100%); 
  font-size:10px; 
  margin-bottom:30px; 
  padding:5px 30px; 
  width:auto;
}

/***研究紹介＿タイトル＿支える研究***/
.p-article .c-hd-1 > .sasaeru {
  text-align:center; 
  border-radius: 100vh;
  background-image: linear-gradient(-225deg, #eaffde 0%, #edfff6 48%, #d6ffeb 100%);
  font-size:10px;
  margin-bottom:30px;
  padding:5px 30px;
  width:auto;
}

/***研究紹介＿タイトル＿プロジェクト等***/
.p-article .c-hd-1 > .project {
  text-align:center; 
  border-radius: 100vh;
  background-image: linear-gradient(to right, #fff457 0%, #fcf2ae 50%, #f8d0b0 100%);
  font-size:10px;
  margin-bottom:30px;
  padding:5px 30px;
  width:auto;
}

/***研究紹介＿タイトル＿A～E、特設サイト、プロジェクト等***/
.p-article .c-hd-1 > .recr_a, .p-article .c-hd-1 > .recr_b, .p-article .c-hd-1 > .recr_c, .p-article .c-hd-1 > .recr_d, .p-article .c-hd-1 > .recr_e, .p-article .c-hd-1 > .spacial, .p-article .c-hd-1 > .projects {
  text-align:center; 
  border-radius: 100vh;
 background:linear-gradient(90deg,rgba(0, 78, 162, 0.8) 75%, rgba(255, 255, 255, 0.1) 100%);
  color: #ffffff;
  font-size:10px;
  margin-bottom:30px;
  padding:5px 30px;
  width:auto;
}

/***研究紹介インデックスのカルーセル＿先導する研究***/
.sendo {
  text-align:center; 
  border-radius: 100vh; 
  background-image: linear-gradient(to left, #f3e7e9 0%, #e3eeff 99%, #e3eeff 100%); 
  font-size:10px; 
  margin-bottom:30px; 
  margin-right: 1em;
  padding:5px 10px; 
  width:auto;
}
@media screen and (max-width: 560px) {
    .sendo {
        font-size:0.6em;
    }
}
/***研究紹介インデックスのカルーセル＿支える研究***/
.sasaeru {
  text-align:center; 
  border-radius: 100vh;
  background-image: linear-gradient(-225deg, #eaffde 0%, #edfff6 48%, #d6ffeb 100%);
  font-size:10px;
  margin-bottom:30px;
  margin-right: 1em;
  padding:5px 10px;
  width:auto;
}
@media screen and (max-width: 560px) {
    .sasaeru {
        font-size:0.6em;
    }
}

/***研究紹介インデックスのカルーセル＿プロジェクト等***/
.project {
  text-align:center; 
  border-radius: 100vh;
  background-image: linear-gradient(to right, #fff457 0%, #fcf2ae 50%, #f8d0b0 100%);
  font-size:10px;
  margin-bottom:30px;
  margin-right: 1em;
  padding:5px 10px;
  width:auto;
}
@media screen and (max-width: 560px) {
    .project {
        font-size:0.6em;
    }
}

/**********************************************************************
    研究紹介＿革新輸送・小型刷新・MOLIで使用しているnewsスクロールボックス
**********************************************************************/
.res_news {
  max-width: auto;
}
.res_news > .res_news_wrapper {
  height: 92px;
  margin-top: 10px;
  overflow-y: scroll;
  border: 1px solid #BFBFC1;
}
.res_news > .res_news_wrapper > .res_news_list {
  padding: 5px 20px 5px 30px;
}
.res_news > .res_news_wrapper > .res_news_list > .res_news_item {
  margin: 5px 0;
  display: grid;
  grid-template-columns: 150px 1fr;
  font-size: 0.875rem;
  margin-bottom: 12px;
}
@media (max-width: 768px) {
  .res_news > .res_news_wrapper > .res_news_list > .res_news_item {
    grid-template-columns: initial;
  }
}
.res_news > .res_news_wrapper > .res_news_list > .res_news_item:last-child {
  margin-bottom: 0;
}

.res_news > .res_news_wrapper > .res_news_list > .res_news_item > .info {
  max-width: 150px;
  display: flex;
  flex-wrap: wrap;
}
.res_news > .res_news_wrapper > .res_news_list > .res_news_item > .info > .date {
  width: 150px;
}

/**********************************************************************
    研究紹介＿革新輸送Pの第3回3RFIで使用している縦に長いnewsスクロールボックス
**********************************************************************/
.res_news_l {
  max-width: auto;
}
.res_news_l > .res_news_wrapper {
  height: 192px;
  margin-top: 10px;
  overflow-y: scroll;
  border: 1px solid #BFBFC1;
}
.res_news_l > .res_news_wrapper > .res_news_list {
  padding: 5px 30px;
}
.res_news_l > .res_news_wrapper > .res_news_list > .res_news_item {
  margin: 5px 0;
  display: grid;
  grid-template-columns: 150px 1fr;
  font-size: 0.875rem;
  margin-bottom: 12px;
}
@media (max-width: 768px) {
  .res_news_l > .res_news_wrapper > .res_news_list > .res_news_item {
    grid-template-columns: initial;
  }
}
.res_news_l > .res_news_wrapper > .res_news_list > .res_news_item:last-child {
  margin-bottom: 0;
}

.res_news_l > .res_news_wrapper > .res_news_list > .res_news_item > .info {
  max-width: 150px;
  display: flex;
  flex-wrap: wrap;
}
.res_news_l > .res_news_wrapper > .res_news_list > .res_news_item > .info > .date {
  width: 150px;
}

/**********************************************************************
 革新輸送Pの研究提案募集のこれまでの募集内容で使用しているブロックごとに段替えできるリスト状リンク
**********************************************************************/
.c-submenu.ptn_04{
  justify-content: flex-start;
  margin-top: initial;
  padding: 0 ;
}
.c-submenu.ptn_04 .menu_item {
  padding: 0 12px;
  margin-top: 10px;
  margin-left: 20px;
  margin-right: 30px;
  font-size: 14px;
  color: #2B2C31;
}
.c-submenu.ptn_04 .menu_item a {
  color: #2B2C31;
}
.c-submenu.ptn_04 .menu_item a:hover {
  -webkit-text-decoration: none;
  text-decoration: none;
  color: #89c3eb;
}
.c-submenu.ptn_04 .menu_item::before {
  content: url("../img/list_rect.svg");
  background: transparent;
  position: absolute;
  top: 1px;
  bottom: 0;
  left: -10px;
  margin: auto;
  width: auto;
  height: auto;
}
.c-submenu.ptn_04 .menu_item:after {
  content: none;
}

/**ここまで**/

/***左右マージン***/
.u-mr10{margin-right: 10px;}
.u-mr20{margin-right: 20px;}
.u-mr30{margin-right: 30px;}
.u-mr40{margin-right: 40px;}
.u-mr50{margin-right: 50px;}
.u-mr60{margin-right: 60px;}
.u-mr70{margin-right: 70px;}
.u-mr80{margin-right: 80px;}
.u-mr90{margin-right: 90px;}
.u-mr100{margin-right: 100px;}
.u-mr110{margin-right: 110px;}
.u-mr120{margin-right: 120px;}
.u-mr130{margin-right: 130px;}
.u-mr140{margin-right: 140px;}
.u-mr150{margin-right: 150px;}
.u-mr160{margin-right: 160px;}
.u-mr170{margin-right: 170px;}
.u-mr180{margin-right: 180px;}
.u-mr190{margin-right: 190px;}
.u-mr200{margin-right: 200px;}
.u-mr210{margin-right: 210px;}
.u-mr220{margin-right: 220px;}
.u-mr230{margin-right: 230px;}
.u-mr240{margin-right: 240px;}
.u-mr250{margin-right: 250px;}

.u-ml10{margin-left: 10px !important;}
.u-ml20{margin-left: 20px !important;}
.u-ml30{margin-left: 30px !important;}
.u-ml40{margin-left: 40px !important;}
.u-ml50{margin-left: 50px !important;}
.u-ml60{margin-left: 60px !important;}
.u-ml70{margin-left: 70px !important;}
.u-ml80{margin-left: 80px !important;}
.u-ml90{margin-left: 90px !important;}
.u-ml100{margin-left: 100px;}

/**左右padding**/
.u-pl10 {padding-left: 10px !important;}
.u-pr10 {padding-right: 10px !important;}
.u-pl20 {padding-left: 20px !important;}
.u-pr20 {padding-right: 20px !important;}
.u-pl30 {padding-left: 30px !important;}
.u-pr30 {padding-right: 30px !important;}
.u-pl40 {padding-left: 40px !important;}
.u-pr40 {padding-right: 40px !important;}
.u-pl50 {padding-left: 50px !important;}
.u-pr50 {padding-right: 50px !important;}

/***画像とテキスト横並び***/
.img_text{
    display: flex;
      justify-content: center;
    justify-content: space-between;
}
@media screen and (max-width: 768px) {
.img_text{
    display: block;
    flex-direction: column;
    align-items: center;
　}
}

/**********************************************************************
                        説明リスト　dl　dt　dd
**********************************************************************/

.normal {
 width: 100%;
}
.normal dt {
float: left;
}
.normal dd {
margin-left: 2.5em;
padding: 0 0 10px 0;
}

.normal_1gyou {
 width: 100%;
}
.normal_1gyou dt {
float: left;
}
.normal_1gyou dd {
margin-left: 2.5em;
}

.normal_01 {
 width: 100%;
}
.normal_01 dt {
float: left;
}
.normal_01 dd {
margin-left: 1.5em;
}

.normal_1 {
 width: 100%;
}
.normal_1 dt {
float: left;
}
.normal_1 dd {
margin-left: 1em;
padding: 0 0 10px 0;
}

.normal_1_pd0 {
 width: 100%;
}
.normal_1_pd0 dt {
float: left;
}
.normal_1_pd0 dd {
margin-left: 1em;
}

.normal_2 {
 width: 100%;
}
.normal_2 dt {
float: left;
}
.normal_2 dd {
margin-left: 4.5em;
padding: 0 0 10px 0;
}

.normal_3 {
 width: 100%;
}
.normal_3 dt {
float: left;
}
.normal_3 dd {
margin-left: 3.5em;
padding: 0 0 10px 0;
}

.normal_4 {
 width: 100%;
}
.normal_4 dt {
float: left;
}
.normal_4 dd {
margin-left: 4.5em;
padding: 0 0 10px 0;
}
.normal_5 {
 width: 100%;
}
.normal_5 dt {
float: left;
}
.normal_5 dd {
margin-left: 6em;
padding: 0 0 10px 0;
}

.normal_6 {
 width: 100%;
}
.normal_6 dt {
float: left;
}
.normal_6 dd {
margin-left: 6.4em;
}

.normal_7 {
 width: 100%;
}
.normal_7 dt {
float: left;
}
.normal_7 dd {
margin-left: 7.4em;
}

.normal_8 {
 width: 100%;
}
.normal_8 dt {
float: left;
}
.normal_8 dd {
margin-left: 8.5em;
}


.research_01 dl {
 width: 100%;
}
.research_01 dt {
font-size: 14px;
font-weight: bold;
float: left;
padding: 0 0 0 30px;
}
.research_01 dd {
font-size: 14px;
margin-left: 116px;
padding: 0 30px 0 20px;
}

.contact dl {
 width: 100%;
}
.contact dt {
font-size: 18px;
font-weight: bold;
float: left;
}
.contact dd {
font-size: 14px;
margin-left: 100px;
padding: 5px 0 0 0;
}

.pickup_jyusyo dl {
display: flex;
flex-flow: row wrap;
width: 100%;
}
.pickup_jyusyo dt {
flex-basis: 25%;
padding: 10px 5px 10px 15px;
background-color: #f3f3f3;
font-weight: bold;
}
.pickup_jyusyo dd {
flex-basis: 75%;
padding: 10px 15px 10px 10px;
background-color: #f9f9f9;
font-weight: bolder;
}

.pickup_kaisai dl {
display: flex;
flex-flow: row wrap;
width: 100%;
}
.pickup_kaisai dt {
flex-basis: 30%;
padding: 10px 5px 10px 15px;
background-color: #f3f3f3;
font-weight: bold;
}
.pickup_kaisai dd {
flex-basis: 70%;
padding: 10px 15px 10px 10px;
background-color: #f9f9f9;
font-weight: bolder;
}

.research_data dl {
display: flex;
flex-flow: row wrap;
width: 100%;
}
.research_data dt {
flex-basis: 30%;
padding: 10px 5px 10px 15px;
background-color: #f3f3f3;
border-bottom: 2px solid #fff;
border-right: 2px solid #fff;
}
.research_data dd {
flex-basis: 70%;
padding: 10px 15px 10px 10px;
background-color: #f9f9f9;
border-bottom: 2px solid #fff;
}
 
@media screen and (max-width: 559px) {
.normal
.normal_1gyou
.normal_01
.normal_1
.normal_2
.normal_3
.normal_4
.normal_5
.normal_6
.normal_7
.normal_8
.contact
.pickup_kaisai
.pickup_jyusyo
.research_01
.research_data
    dl {
flex-flow: column;
 }
}

/**********************************************************************
            youtube埋め込みをレスポンシブに＿MOLIで使用
**********************************************************************/

.video_full {
  width: 100%;
  aspect-ratio: 16/9;
}

.video_full iframe {
  width: 100%;
  height: 100%;
}

@media (max-width: 559px) {
  .video_full {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}

/**width_200px以上**/
.u-wd220 {
  width: 220px !important;
  -o-object-fit: contain;
  object-fit: contain;
  max-width: initial;
}

.u-ht220 {
  height: 220px !important;
  -o-object-fit: contain;
  object-fit: contain;
  max-width: initial;
}

@media (max-width: 768px) {
  .u-wd220sp {
    width: 220px !important;
    -o-object-fit: contain;
    object-fit: contain;
    max-width: initial;
  }

  .u-ht220sp {
    height: 220px !important;
    -o-object-fit: contain;
    object-fit: contain;
    max-width: initial;
  }
}

.u-wd250 {
  width: 250px !important;
  -o-object-fit: contain;
  object-fit: contain;
  max-width: initial;
}

.u-ht250 {
  height: 250px !important;
  -o-object-fit: contain;
  object-fit: contain;
  max-width: initial;
}

@media (max-width: 768px) {
  .u-wd250sp {
    width: 250px !important;
    -o-object-fit: contain;
    object-fit: contain;
    max-width: initial;
  }

  .u-ht250sp {
    height: 250px !important;
    -o-object-fit: contain;
    object-fit: contain;
    max-width: initial;
  }
}

.u-wd270 {
  width: 270px !important;
  -o-object-fit: contain;
  object-fit: contain;
  max-width: initial;
}

.u-ht270 {
  height: 270px !important;
  -o-object-fit: contain;
  object-fit: contain;
  max-width: initial;
}

@media (max-width: 768px) {
  .u-wd270sp {
    width: 270px !important;
    -o-object-fit: contain;
    object-fit: contain;
    max-width: initial;
  }

  .u-ht270sp {
    height: 270px !important;
    -o-object-fit: contain;
    object-fit: contain;
    max-width: initial;
  }
}

.u-wd280 {
  width: 280px !important;
  -o-object-fit: contain;
  object-fit: contain;
  max-width: initial;
}

.u-ht280 {
  height: 280px !important;
  -o-object-fit: contain;
  object-fit: contain;
  max-width: initial;
}

@media (max-width: 768px) {
  .u-wd280sp {
    width: 280px !important;
    -o-object-fit: contain;
    object-fit: contain;
    max-width: initial;
  }

  .u-ht280sp {
    height: 280px !important;
    -o-object-fit: contain;
    object-fit: contain;
    max-width: initial;
  }
}
.u-wd290 {
  width: 290px !important;
  -o-object-fit: contain;
  object-fit: contain;
  max-width: initial;
}

.u-ht290 {
  height: 290px !important;
  -o-object-fit: contain;
  object-fit: contain;
  max-width: initial;
}

@media (max-width: 768px) {
  .u-wd290sp {
    width: 290px !important;
    -o-object-fit: contain;
    object-fit: contain;
    max-width: initial;
  }

  .u-ht290sp {
    height: 290px !important;
    -o-object-fit: contain;
    object-fit: contain;
    max-width: initial;
  }
}

.u-wd300 {
  width: 300px !important;
  -o-object-fit: contain;
  object-fit: contain;
  max-width: initial;
}

.u-ht300 {
  height: 300px !important;
  -o-object-fit: contain;
  object-fit: contain;
  max-width: initial;
}

@media (max-width: 768px) {
  .u-wd300sp {
    width: 300px !important;
    -o-object-fit: contain;
    object-fit: contain;
    max-width: initial;
  }

  .u-ht300sp {
    height: 300px !important;
    -o-object-fit: contain;
    object-fit: contain;
    max-width: initial;
  }
}



.u-wd310 {
  width: 310px !important;
  -o-object-fit: contain;
  object-fit: contain;
  max-width: initial;
}

.u-ht310 {
  height: 310px !important;
  -o-object-fit: contain;
  object-fit: contain;
  max-width: initial;
}

@media (max-width: 768px) {
  .u-wd310sp {
    width: 310px !important;
    -o-object-fit: contain;
    object-fit: contain;
    max-width: initial;
  }

  .u-ht310sp {
    height: 300px !important;
    -o-object-fit: contain;
    object-fit: contain;
    max-width: initial;
  }
}

/**フォントサイズ20pt以上追加**/
.u-fsz21 {
  font-size: 21px !important;
}

@media (min-width: 768px) {
  .u-fsz21pc {
    font-size: 21px !important;
  }
}
@media (max-width: 768px) {
  .u-fsz21sp {
    font-size: 21px !important;
  }
}
.u-fsz22 {
  font-size: 22px !important;
}

@media (min-width: 768px) {
  .u-fsz22pc {
    font-size: 22px !important;
  }
}
@media (max-width: 768px) {
  .u-fsz22sp {
    font-size: 22px !important;
  }
}
.u-fsz23 {
  font-size: 23px !important;
}

@media (min-width: 768px) {
  .u-fsz23pc {
    font-size: 23px !important;
  }
}
@media (max-width: 768px) {
  .u-fsz23sp {
    font-size: 23px !important;
  }
}
.u-fsz24 {
  font-size: 24px !important;
}

@media (min-width: 768px) {
  .u-fsz24pc {
    font-size: 24px !important;
  }
}
@media (max-width: 768px) {
  .u-fsz24sp {
    font-size: 24px !important;
  }
}
.u-fsz25 {
  font-size: 25px !important;
}

@media (min-width: 768px) {
  .u-fsz25pc {
    font-size: 25px !important;
  }
}
@media (max-width: 768px) {
  .u-fsz25sp {
    font-size: 25px !important;
  }
}
.u-fsz30 {font-size: 30px !important;}
@media (min-width: 768px) {.u-fsz30pc {font-size: 30px !important;}}
@media (max-width: 768px) {.u-fsz30sp {font-size: 30px !important;}}


/**********************************************************************
        FAQに番号をつけるときはこちらを差し込むEng＿SSPS＿FAQで使用
**********************************************************************/

.c-faq__question > .no {
  margin-left: 20px;
  font-size: 1.5625rem;
  display: inline-block;
  position: absolute;
  color: #fff;
  top: 12px;
  left: 21px;
}

.c-faq__question > .content_no {
  margin-left: 55px;
  margin-right: 30px;
  display: block;
}

.c-faq__answer > .no {
  margin-left: 20px;
  font-size: 1.5625rem;
  display: inline-block;
  position: absolute;
  color: #7E7F82;
  top: 20px;
  left: 21px;
}
.c-faq__answer > .content_no {
  margin: 30px 25px 30px 70px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/**********************************************************************
表頭テーブル_レスポンシブで縦並びに＿タイトル・講演者つき＿第10回スペースデブリWSのプログラム等で使用
**********************************************************************/

.table_program {
  border-collapse: collapse;
  margin: 0 auto;
  padding: 0;
  table-layout: fixed;
  color: #202020;
}
.table_program tr {
  background-color: #fff;
  padding: .35em;
}

.table_program th,
.table_program td {
  padding: 1em 10px 1em 1em;
}
.table_program tbody th {
    color: #202020;
    font-weight: bold;
    background-color: #fff;
}
.table_program.txt {
   text-align: left;
   font-size: .9em;
   font-weight:normal;
}
.table_program ul.poster {
	list-style-type: disc;
	margin-left: 1em;
	margin-top: 1em;
}

@media screen and (max-width: 768px) {
  .table_program {
    border: 0;
    width:100%
  }
  .table_program tbody th {
    background-color: #EFEFEF;
  }
  .table_program th{
    display: block;
    border-bottom: 1px solid #999;
    padding-bottom: .6em;
  }
  .table_program thead {
    border: none;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }
  
  .table_program tr {
    display: block;
    margin-bottom: 1em;
  }
  
  .table_program td {
    display: block;
    font-size: .9em;
    position: relative;
    padding: .625em .625em .625em 7em;
    border-top: none;
  }
  
  .table_program td::before {
    content: attr(data-label);
    font-weight: bold;
    position: absolute;
    left: 10px;
  }
	
.table_program tr.sp-break td {
	text-align: center;
	padding: .625em 0;
	}
.table_program tr.sp-break td::before {
    left: 0;
	}

.table_program tr.sp-poster td {
    padding: .625em .625em .625em 1.225em;
	}
.table_program tr.sp-poster td::before {
    left: 0;
	}
}

/**********************************************************************
表頭テーブル_レスポンシブで縦並びになる_シンプル版＿イベント官民共創センター説明会で使用
**********************************************************************/

.table_program_simple {
  border-collapse: collapse;
  margin: 0 auto;
  padding: 0;
  table-layout: fixed;
  color: #202020;
}
.table_program_simple tr {
  background-color: #fff;
  padding: .35em;
}

.table_program_simple th,
.table_program_simple td {
  padding: 1em 10px 1em 1em;
}
.table_program_simple tbody th {
    color: #202020;
    font-weight: bold;
    background-color: #fff;
}
.table_program_simple.txt{
   text-align: left;
   font-size: .9em;
   font-weight:normal;
}
@media screen and (max-width: 768px) {
  .table_program_simple {
    border: 0;
    width:100%
  }
  .table_program_simple tbody th {
    background-color: #EFEFEF;
  }
  .table_program_simple th{
    display: block;
    border-bottom: 1px solid #999;
    padding-bottom: .6em;
  }
  .table_program_simple thead {
    border: none;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }
  
  .table_program_simple tr {
    display: block;
    margin-bottom: 1em;
  }
  
  .table_program_simple td {
    display: block;
    font-size: .9em;
    position: relative;
    padding: .625em .625em .625em 1em;
    border-top: none;
         text-align: center;
  }
}


/**********************************************************************
テーブル_レスポンシブで縦並びに_見出しが見えなくなるバージョン＿革新WS2022で使用
**********************************************************************/

.table_program_nomidashi {
  border-collapse: collapse;
  margin: 0 auto;
  padding: 0;
  table-layout: fixed;
  color: #202020;
}
.table_program_nomidashi tr {
  background-color: #fff;
  padding: .35em;
}

.table_program_nomidashi th,
.table_program_nomidashi td {
  padding: 1em 10px 1em 1em;
}
.table_program_nomidashi tbody th {
    color: #202020;
    font-weight: bold;
    background-color: #fff;
}
.table_program_nomidashi.txt{
   text-align: left;
   font-size: .9em;
   font-weight:normal;
}
@media screen and (max-width: 768px) {
  .table_program_nomidashi {
    border: 0;
    width:100%
  }
  .table_program_nomidashi tbody th {
    background-color: #EFEFEF;
  }
  .table_program_nomidashi th{
    display: block;
    border-bottom: 1px solid #999;
    padding-bottom: .6em;
  }
  .table_program_nomidashi thead {
    border: none;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }
  
  .table_program_nomidashi tr {
    display: block;
    margin-bottom: 0.2em;
  }
  
  .table_program_nomidashi td{
      background-color: #FFF;
    display: block;
    font-size: .9em;
    position: relative;
    padding: .625em .625em .625em 1em;
    border-top: 1px solid #999;
    text-align: center;
      margin-top: -1px;
  }
}


/**********************************************************************
テーブル_レスポンシブで縦並び時にテキスト左寄せ_刷新P＿RFI2023で使用
**********************************************************************/

.table_program_nomidashi_left {
  border-collapse: collapse;
  margin: 0 auto;
  padding: 0;
  table-layout: fixed;
  color: #202020;
}
.table_program_nomidashi_left tr {
  background-color: #fff;
  padding: .35em;
}

.table_program_nomidashi_left th,
.table_program_nomidashi_left td {
  padding: 1em 10px 1em 1em;
}
.table_program_nomidashi_left tbody th {
  color: #202020;
  font-weight: bold;
  background-color: #EFEFEF;
  width: 30%;
}

@media screen and (max-width: 767px) {
  .table_program_nomidashi_left {
    border: 0;
    width:100%
  }
  .table_program_nomidashi_left tbody th {
    background-color: #EFEFEF;
          width: 100%;
  }
  .table_program_nomidashi_left th{
    display: block;
    border-bottom: 1px solid #999;
    padding-bottom: .6em;
  }
  .table_program_nomidashi_left thead {
    border: none;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }
  
  .table_program_nomidashi_left tr {
    display: block;
    margin-bottom: 0.2em;
  }
  
  .table_program_nomidashi_left td{
    background-color: #FFF;
    display: block;
    font-size: .95em;
    position: relative;
    padding: .625em .625em .625em 1em;
    border-top: 1px solid #999;
    text-align: left;
    margin-top: -1px;
  }
}

/**********************************************************************
             dl・dt・ddをテーブルのようなデザインにする_刷新P　オンボードPPP（RFP）で使用
**********************************************************************/

dl.table_01{
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
	flex-wrap: wrap;
	align-items: stretch;	
	width: 100%;
	border: 1px solid #CCC;
	border-bottom: none;
    border-top: none;
    border-right: none;
}
dl.table_01 dt{
	background: #f5f5f5;
	padding: 5px 10px;
	width: 50px;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
    text-align: center;
}
dl.table_01 dd{
	background: #fff;
	padding: 5px;
	width: calc(54% - 50px);
    border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}
@media only screen and (max-width: 768px) {
	dl.table_01 dt{ 
		width: 100%;
        text-align: left;
        font-weight:bold;
	}
	dl.table_01 dd{
		width: 100%; 
	}
}

/**********************************************************************
        横幅を狭いページにしたいとき　デブリWS等の単発のイベントページで使用
**********************************************************************/

.p-event_wd800 {
  padding: 0 30px;
}
.p-event__main_wd800 {
  max-width: 800px;
}

/**********************************************************************
        thanks page  クラウドファンディング寄付者掲載ページ
**********************************************************************/
.thanks_waku {
  padding: 20px 0 20px 20px;
  border: 8px gold;
  margin-bottom: 20px;
  border-style: outset;
  background-color: #FFFDF6;
}
.thanks_waku span { 
    display:inline-block; 
    margin: 20px;
}

@media screen and (max-width: 768px) {
  .thanks_waku {
    font-size: 86%;
  } 
  .thanks_waku span { 
    margin: 10px;
  }
}


/**********************************************************************
テーブル風ポスターセッション用_左右画像テキスト_レスポンシブ上下テキスト画像_イベント＿スペースデブリ_debrisws2024_poster.htmlで使用
**********************************************************************/
.presen {
	display: flex;
	flex-direction: row-reverse;
	width: 100%;
	box-sizing: border-box;
	margin: 1em auto;
}
.presen .poster {
	width: 25%;
	text-align: center;
	font-size: 0.875rem;
	border: 1px solid #BFBFC1;
	border-right: none;
	padding: 1em;
}
.presen .poster img {
	width: 100%;
	padding-bottom: 10px;
	border: 1px solid #BFBFC1;
}
.presen .txt {
	width: 75%;
	font-size: 0.875rem;
	border: 1px solid #BFBFC1;
	padding: 1em;
}
.presen .txt span {
	display: block;
	font-size: 1.2rem;
	margin-bottom: 1em;
}

.presen .txt ul {
	list-style-type: disc;
	margin-left: 1em;
	margin-top: 1em;
}

@media screen and (max-width: 768px) {
.presen {
	flex-direction: column;
    padding: .625em;
	}
.presen .poster {
	width: 100%;
	text-align: left;
    font-size: 0.9em;
	border-right: 1px solid #BFBFC1;
	}
.presen .poster img {
	width: 60%;
	padding-bottom: 5px;
	}
.presen .txt {
	width: 100%;
    font-size: 0.9em;
	border-bottom: none;
	}
.presen .txt span {
	font-size: 1.0rem;
	}
}

/**********************************************************************
ピックアップ_画像2枚切り替え_フェード繰り返し
**********************************************************************/
.slide {
	position: relative;
	overflow: hidden;
	aspect-ratio: 320 / 220;
	width: 100%;
	margin: auto; 
}

.slide img {
	display: block;
	position: absolute;
	width: inherit;
	height: inherit;
	opacity: 0;
	animation: slideAnime 6s ease infinite;
}

.slide img:nth-of-type(1) { animation-delay: 0s }
.slide img:nth-of-type(2) { animation-delay: 3s }
 
@keyframes slideAnime {
   0% { opacity: 0 }
  20% { opacity: 1 }
  50% { opacity: 1 }
  80% { opacity: 0 }
 100% { opacity: 0 }
}

/**********************************************************************
ライブラリindex_インタビュー追加
**********************************************************************/
.p-publication__interview {
  position: relative;
}
.p-publication__interview figure {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.p-publication__interview figure > a {
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}
.p-publication__interview figure > a:hover {
  opacity: 0.75;
}
.p-publication__interview figure > figcaption {
  font-size: 0.875rem;
}

/**********************************************************************
インタビューindex
**********************************************************************/
.c-interview-list__header {
  margin-top: 60px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.c-interview-list__header figure > figcaption {
  text-align: center;
  font-size: 0.875rem;
  margin-top: 30px;
}

.c-interview-list {
  max-width: 1120px;
  margin: 0 auto;
  margin-top: 60px;
}
.c-interview-list .c-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  padding: 10px;
  line-height: 1;
  margin-top: 40px;
    border-top: solid 5px #2B2C31;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
}
@media (max-width: 768px) {
  .c-interview-list .c-card {
    grid-template-columns: initial;
  }
}
.c-interview-list .c-card figure {
  flex-grow: 1;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  justify-self: center;
  line-height: 0;
  position: relative;
}
.c-interview-list .c-card figure:before {
  content: attr(data-length);
  z-index: 10;
  position: absolute;
  font-size: clamp(18px, 5vw, 28px);
  color: #fff;
  padding: 3px;
  top: clamp(18px, 5vw, 28px);
  left: 10px;
  -moz-text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.8);
  -webkit-text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.8);
  -ms-text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.8);
  text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.8);
}
.c-interview-list .c-card figure img {
  width: 100%;
  aspect-ratio: initial;
  min-width: initial;
  min-height: initial;
}

.c-interview-list .c-card > .content {
  flex-grow: 0;
  width: 100%;
  height: 100%;
  min-height: 220px;
  position: relative;
}
.c-interview-list .c-card > .content > .title {
  margin: 20px 0;
  font-size: 1.6rem;
}
.c-interview-list .c-card > .content > .title:before {
  content: none;
}
.c-interview-list .c-card > .content > .subtitle {
  line-height: 1.5;
  position: relative;
  margin-left: 40px;
  margin-top: 2em;
  margin-bottom: 18px;
  font-size: 1.1rem;
}
.c-interview-list .c-card > .content > .subtitle:before {
  content: none;
  content: "";
  position: absolute;
  top: 0.7em;
  left: -40px;
  height: 1px;
  width: 23px;
  background-color: #2B2C31;
}
.c-interview-list .c-card > .content > .name {
  text-align: right;
}
.c-interview-list .c-card > .content > .date {
  position: absolute;
  right: 0;
  bottom: 0;
}
@media (max-width: 768px) {
  .c-interview-list .c-card > .content {
    height: auto;
    min-height: auto;
}
  .c-interview-list .c-card > .content > .date {
    position: static;
    text-align: right;
    margin-top: 1em;
}
}

/**********************************************************************
インタビューcloseup
**********************************************************************/
.c-interview-article__header {
  margin-top: 60px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.c-interview-article__header figure {
  flex-grow: 1;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  justify-self: center;
  line-height: 0;
  position: relative;
}
.c-interview-article__header figure:before {
  content: attr(data-length);
  z-index: 10;
  position: absolute;
  font-size: clamp(18px, 5vw, 34px);
  color: #fff;
  padding: 3px;
  top: clamp(18px, 5vw, 34px);
  left: 10px;
  -moz-text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.8);
  -webkit-text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.8);
  -ms-text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.8);
  text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.8);
}
.c-interview-article__header figure > figcaption {
  margin-top: 30px;
}

.c-interview-article__profile {
	width:40%;
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 2em;
	margin: 2em auto 3em;
}
.c-interview-article__profile figure {
	padding: 0.5em 0.5em 0 0.5em;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
}

.c-interview-article__profile > p > span {
    vertical-align: middle;
    display: inline-block;
    padding: 1px 0.5em;
	margin: 0.5em 0;
    color: #fff;
    background-color: #2B2C31;
	font-size: 0.75rem;
}

@media (max-width: 960px) {
  .c-interview-article__profile {
	width:55%;
}
}

@media (max-width: 768px) {
  .c-interview-article__profile {
	width:100%;
	grid-template-columns: 1fr 1fr;
}
}

.c-interview-article {
	border-top: 1px solid #2B2C31;
}

.c-interview-article > .img-left {
	width: 100%;
	display: flex;
	flex-direction: row-reverse;
	gap: 2em;
}
.c-interview-article > .img-right {
	width: 100%;
	display: flex;
	gap: 2em;
}
.c-interview-article > .img-left > p, .c-interview-article > .img-right > p, .c-interview-article > .img-left > .talk, .c-interview-article > .img-right > .talk {
	width: 75%;
}
.c-interview-article > .img-left > figure, .c-interview-article > .img-right > figure {
	width: 25%;
}
.c-interview-article > .img-center {
	width: 70%;
	display: flex;
	justify-content: center;
	gap: 2em;
	margin: 0 auto;
	padding-top: 2em;
}
.c-interview-article > .img-center > figure > img {
	width: auto;
    max-width: 100%;
    height: auto;
    max-height: 450px;
}

.c-interview-article > .img-left figcaption, .c-interview-article > .img-right figcaption, .c-interview-article > .img-center figcaption {
  text-align: center;
  font-size: 0.75rem;
  margin-top: 10px;
  color: #7E7F82;
}
@media (max-width: 768px) {
  .c-interview-article > .img-left, .c-interview-article > .img-right, .c-interview-article > .img-center {
	width: 100%;
	flex-direction: column;
}
.c-interview-article > .img-left > p, .c-interview-article > .img-right > p, .c-interview-article > .img-left > .talk, .c-interview-article > .img-right > .talk, .c-interview-article > .img-left > p, .c-interview-article > .img-right > p, .c-interview-article > .img-left > figure, .c-interview-article > .img-right > figure {
	width: 100%;
}
.c-interview-article > .img-center > figure > img {
    max-height: 100%;
}
.c-interview-article > .img-left figcaption, .c-interview-article > .img-right figcaption, .c-interview-article > .img-center figcaption {
  text-align: left;
}
}

.c-interview-article .ask {
    position: relative;
    margin-left: 40px;
    margin-bottom: 18px;
	font-weight: bold;
}
.c-interview-article .ask:before {
    content: "";
    position: absolute;
    top: 1em;
    left: -40px;
    height: 1px;
    width: 23px;
    background-color: #2B2C31;
}

.c-interview-article ol.list-number {
	list-style: none;
 	counter-reset: number;
	margin: 1em 0;
}
.c-interview-article ol.list-number li {
	position: relative;
	text-indent: -1em;
	padding-left: 1em;
}
.c-interview-article ol.list-number li::before {
	content: counter(number);
	counter-increment: number;
	padding: 0 0.3em;
	font-size: 0.8em;
	margin-right: 0.2em;
}
.c-interview-article ol.list-number li::after {
	content: '';
	position: absolute;
	display: block;
	top: 5px;
	left: 0;
	width: 1em;
	height: 1em;
	border: 1px solid #2B2C31;
	border-radius: 50%;
}

/**********************************************************************
研究紹介_刷新P_バナーメニュー
**********************************************************************/
.p-article__bannermenu {
  max-width: 960px;
  padding: 0 30px;
  margin: 50px auto 0;
}
.p-article__bannermenu .c-card {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  line-height: 1;
  margin: 10px auto 0;
}
@media (max-width: 768px) {
  .p-article__bannermenu .c-card {
    width: 100%;
    grid-template-columns: initial;
  }
}
.p-article__bannermenu .c-card figure {
  flex-grow: 1;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  justify-self: center;
  line-height: 0;
}
.p-article__bannermenu .c-card figure img {
  width: 100%;
  aspect-ratio: initial;
  min-width: initial;
  min-height: initial;
}

/**********************************************************************
研究紹介_刷新P_軌道上実証
**********************************************************************/
.orbit {
  max-width: 960px;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 3fr;
  gap: 40px;
  margin: 10px auto 0;
}
.orbit figure {
  justify-self: start;
}
@media (max-width: 768px) {
  .orbit {
    width: 100%;
    grid-template-columns: initial;
  }
}
.orbit figure {
  flex-grow: 1;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  justify-self: center;
  line-height: 0;
  margin: 0 !important;
}
.orbit figure img {
  width: 100%;
  aspect-ratio: initial;
  min-width: initial;
  min-height: initial;
}

.orbit .read h3 {
	margin-top: 0;
	line-height: 1.2;
}

ul.dash li {
    position: relative;
    margin-left: 40px !important;
    margin-bottom: 18px;
	font-size: 16px;
	line-height: 1.2;
}
ul.dash li:before {
    content: "";
    position: absolute;
    top: 8px !important;
    left: -40px !important;
    height: 1px;
    width: 23px;
    background-color: #2B2C31;
}

/**********************************************************************
研究紹介_刷新P_オンボードPPP
**********************************************************************/
.p-article__present {
  max-width: 960px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin: 20px auto 50px;
}
.p-article__present .c-card {
  width: 100%;
  line-height: 1.2;
  margin: 0 auto;
}
.p-article__present .c-card figure {
  margin: 0 0 30px 0;
}
.p-article__present .c-card figure img {
  aspect-ratio: auto;
  width: 100%;
  border: 0;
}
.p-article__present .c-card p {
  margin: 0;
  color: #236CA8;
  font-size: 18px;
  font-weight: bold;
}
@media (max-width: 768px) {
.p-article__present {
    width: 100%;
    grid-template-columns: initial;
  }
.p-article__present .c-card:last-child {
  margin-top: 30px;
}
}

ul.c-list li a {
  -webkit-text-decoration: underline solid currentcolor;
  text-decoration: underline solid currentcolor;
}

/**********************************************************************
 横並び 画像とテキストがレスポンシブで縦並びになる（PC横幅70%）　研究紹介_刷新P_オンボードAI
**********************************************************************/
.flex_img_text_2 {
  display: flex;
  width: 70%;
  margin: 0 auto;
  align-items: stretch;
}
.flex_img_text_2 figure {
  width: calc(38% - 30px);
  height: auto;
  margin: 0 auto;
  margin-right: 30px;
  -o-object-fit: contain;
  object-fit: contain;
  max-width: initial;
}
.flex_img_text_2 figcaption {
  text-align: center;
}
.flex_img_text_2 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.flex_item_2 {
  width: 62%;
}

@media screen and (max-width: 834px) {  
.flex_img_text_2 {
  width: 100%;
  flex-flow: column;
  }
.flex_img_text_2 figure {
  width: 100%;
  margin-right: 0;
  margin-bottom: 30px;
}
.flex_img_text_2 img {
  width: auto;
  height: auto;
  object-fit: fill;
}
.flex_item_2 {
  width: 100%;
}
}

/**********************************************************************
 表側テーブル_レスポンシブで縦並びになる(.table_program_simple よりもシンプル)
 研究紹介_刷新P_軌道上実証AIアプリ募集、イベント_JAXA大技術博、他
**********************************************************************/
@media (max-width: 768px) {
  table.col th, table.col td {
    display: block;
  }
}

/**********************************************************************
 表頭ひとつ複数行_レスポンシブ調整有　JAXA宇宙技術実証加速プログラム
**********************************************************************/
dl.colcol {
	margin-top: 10px;
	margin-bottom: 30px;
}
dl.colcol dt, dl.colcol dd {
	font-size: 0.875rem;
	margin: 14px 0;
	padding: 0 14px;
}
dl.colcol dt {
	border-top: 1px solid #BFBFC1;
	border-bottom: 1px solid #BFBFC1;
	padding: 14px;
	background-color: #F2F1F4;
}
@media (max-width: 768px) {
dl.colcol dd {
	border-bottom: 1px solid #BFBFC1;
	padding-bottom: 14px;
}
}

/**********************************************************************
 テーブル内_タイムテーブル_レスポンシブで縦並びになる　イベント_JAXA大技術博
**********************************************************************/
dl.sp {
	width: 100%;
	display: flex;
	align-items: flex-start;
	box-sizing: border-box;
}
dl.sp dt {
	width: 80px;	
}
dl.sp dd:first-child {
	width: 200px;
}
dl.sp dd:last-child {
	width: calc(100% - 280px);
	padding-left: 2em;
}

@media (max-width: 768px) {
dl.sp {
	display: block;
	border-top: 1px solid #BFBFC1;
	padding-bottom: 5px;
}
dl.sp dd, dl.sp dd:last-child {
	width: calc(100% - 60px);
	padding-left: 60px;
	}
dl.sp dd.sp-none {
	display: none;		
	}
}

/**********************************************************************
 見出しサークルデザイン_研究紹介トップページ
**********************************************************************/
ul.p-research__circle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(var(--r) * 2px);
  height: calc(var(--r) * 2px);
	border: 10px solid #F2F1F4;
    border-radius: 50%;
  border-radius: 50%;
  box-sizing: border-box;
	transform: scale(1.1);
	margin: 100px 0;
  > li {
    --a2: calc(var(--a) * 1deg - 90deg);
    --x: calc(cos(var(--a2)) * var(--r) * 1px);
    --y: calc(sin(var(--a2)) * var(--r) * 1px);
    position: absolute;
    translate: var(--x) var(--y);
  }
}
li.p-research__circle__item div.text {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	width: 220px;
	height: 220px;
    border-radius: 50%;
}
@media (max-width: 768px) {
ul.p-research__circle {
	transform: scale(0.65);
	margin: -20px 0;
  }
}
@media (max-width: 428px) {
ul.p-research__circle {
	transform: scale(0.5);
	margin: -40px 0;
  }
}
	
li.p-research__circle__item a {
	display: block;
	transition-duration: .120s;
	transition-timing-function : ease-in;
}
li.p-research__circle__item a:hover div.text {
	transform: scale(1.05,1.05);
}

li.p-research__circle__item div.circle_a {
background:linear-gradient(180deg,rgba(0, 78, 162, 1) 65%, rgba(255, 255, 255, 0.1) 100%);
}
li.p-research__circle__item a:hover div.circle_a {
background:linear-gradient(180deg,rgba(0, 78, 162, 0.8) 65%, rgba(255, 255, 255, 0.1) 100%);
}

/**********************************************************************
 申込ボタン終了用　aタグをspanタグに変更し、c-buttonをc-button_endに変更する
**********************************************************************/
.p-section__more .c-button_end {
  display: inline-block;
}
.c-button_end {
  border: 1px solid #222;
  line-height: 1;
  position: relative;
  padding: 0.4em 1.5em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 12px;
  transition: color 0.3s, background-color 0.3s;
}

/**********************************************************************リストナンバーが長い時用**********************************************************************/
.c-list.marker2 > li {
  position: relative;
  margin-left: 30px;
}
.c-list.marker2 > li:before {
  content: attr(data-marker);
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -30px;
}

.c-list.marker3 > li {
  position: relative;
  margin-left: 70px;
}
.c-list.marker3 > li:before {
  content: attr(data-marker);
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -70px;
}

/**********************************************************************ビデオライブラリ/革新的衛星技術実証４号機　動画の時間表示を右側に**********************************************************************/
.c-video-list__thumb_r {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  line-height: 0;
  position: relative;
}
.c-video-list__thumb_r:before {
  content: attr(data-length);
  position: absolute;
  font-size: 0.8125rem;
  background-color: #000;
  color: #fff;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 20px;
  display: flex;
  align-items: center;
  padding: 3px;
  bottom: 5px;
  right: 5px;
}

/**********************************************************************ラジオ番組/画像横同サイズ並列**********************************************************************/
.p-publication .c-card {
  max-width: 800px;
  margin: 0 auto;
  margin-top: 30px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.p-publication .c-card figure img {
  width: 100%;
}
@media (max-width: 768px) {
.p-publication .c-card {
  max-width: 100%;
  grid-template-columns: initial;
  }
}