/* #################################################################################################
# 全体
################################################################################################# */

/* 日本語ページ調整 */
.wrap-text p { text-align: justify; }

/* 英語ページ調整 */
.wrap-text-english { word-break: normal; }
.wrap-text-english p { text-align: initial; }
.wrap-text-english a { word-break: normal; }
.en100 { width: 100%; }

/* リンクのアンダーバー修正 */
.wrap-text a[target="_blank"]:before { bottom: -3px; }

/* 外部リンクアイコン修正 */
header a[target="_blank"] { padding-right: 20px; }
header a[target="_blank"]::after { display: block; position: absolute; }
nav a[target="_blank"] { padding-right: 20px; }
nav a[target="_blank"]::after { display: block; position: absolute; }
#g-nav.panelactive #g-nav-list a[target="_blank"] { padding-right: 0; }
#g-nav.panelactive #g-nav-list a[target="_blank"]:after { display: inline-block; right: 0; position: relative; top: -2px; }
#g-nav.panelactive #g-nav-list .link_head ul li a[target="_blank"]:after{ right: 0; top: -2px; }
/*#g-nav.panelactive #g-nav-list .link_head ul li a[target="_blank"] { padding-right: 0; }
#g-nav.panelactive #g-nav-list .link_head ul li a[target="_blank"]:after { display: inline-block; right: 0; position: relative; top: -2px; }*/
/*li.menu-item-object-english a[target="_blank"] { padding-right: 0; }
li.menu-item-object-english a[target="_blank"]::after { display: inline-block; right: 0; position: relative; top: -2px; }*/
header .sub-menu a, li.menu-item-object-english a { vertical-align: middle; }
header .sub-menu a[target="_blank"]::after, li.menu-item-object-english a[target="_blank"]::after {
  background-image: url(/wp-content/themes/eng/img/icon-new-tab_navy.svg);
  /*transform: scale(0.7);*/
}
a[target="_blank"] { padding-right: 0; display: initial; }
a[target="_blank"]::after { display: inline-block; right: 0; position: relative; top: -2px; }

/* pdfアイコン修正 */
a[href$=".pdf"] { text-indent: 0; padding-right: 0; display: initial; }
a[href$=".pdf"]::after { position: relative; top: -2px; }

/* Wordアイコン追加 */
a[href$=".docx"] { text-indent: 0; padding-right: 0; position: relative; }
a[href$=".docx"]::after { content: "Word"; background: #0096D5; color: #fff; padding: 0; display: inline-block; font-size: 10px; font-weight: 700; width: 40px; text-align: center; height: 16px; line-height: 17px; position: relative; bottom: 2px; }
a[href$=".doc"] { text-indent: 0; padding-right: 0; position: relative; }
a[href$=".doc"]::after { content: "Word"; background: #0096D5; color: #fff; padding: 0; display: inline-block; font-size: 10px; font-weight: 700; width: 40px; text-align: center; height: 16px; line-height: 17px; position: relative; bottom: 2px; }

/* Excelアイコン追加 */
a[href$=".xlsx"] { text-indent: 0; padding-right: 0; position: relative; }
a[href$=".xlsx"]::after { content: "Excel"; background: #21a366; color: #fff; padding: 0; display: inline-block; font-size: 10px; font-weight: 700; width: 40px; text-align: center; height: 16px; line-height: 17px; position: relative; bottom: 2px; }
a[href$=".xls"] { text-indent: 0; padding-right: 0; position: relative; }
a[href$=".xls"]::after { content: "Excel"; background: #21a366; color: #fff; padding: 0; display: inline-block; font-size: 10px; font-weight: 700; width: 40px; text-align: center; height: 16px; line-height: 17px; position: relative; bottom: 2px; }

/* PowerPointアイコン追加 */
a[href$=".pptx"] { text-indent: 0; padding-right: 0; position: relative; }
a[href$=".pptx"]::after { content: "PPT"; background: #c94825; color: #fff; padding: 0; display: inline-block; font-size: 10px; font-weight: 700; width: 35px; text-align: center; height: 16px; line-height: 17px; position: relative; bottom: 2px; }
a[href$=".ppts"] { text-indent: 0; padding-right: 0; position: relative; }
a[href$=".ppts"]::after { content: "PPT"; background: #c94825; color: #fff; padding: 0; display: inline-block; font-size: 10px; font-weight: 700; width: 35px; text-align: center; height: 16px; line-height: 17px; position: relative; bottom: 2px; }
a[href$=".ppt"] { text-indent: 0; padding-right: 0; position: relative; }
a[href$=".ppt"]::after { content: "PPT"; background: #c94825; color: #fff; padding: 0; display: inline-block; font-size: 10px; font-weight: 700; width: 35px; text-align: center; height: 16px; line-height: 17px; position: relative; bottom: 2px; }

/* zipアイコン追加 */
a[href$=".zip"] { text-indent: 0; padding-right: 0; position: relative; }
a[href$=".zip"]::after { content: "ZIP"; background: gray; color: #fff; padding: 0; display: inline-block; font-size: 10px; font-weight: 700; width: 35px; text-align: center; height: 16px; line-height: 17px; position: relative; bottom: 2px; }

/* parent*.php 外部リンクアイコン調整 */
a.newtab01 { display: inline; }
a.newtab01::after { content: none; }
h2.newtab02::after { background-image:url("/wp-content/themes/eng/img/icon-new-tab_navy.svg"); }

/* include_side-children.php 外部リンクアイコン調整 */
img.newtab03 { position: relative; top: -2px; }

/* バナーサイズ調整 */
@media screen and (max-width: 1200px) {
  ul.banner { display: flex; flex-wrap: wrap; }
  ul.banner li { width: calc(50% - 1rem); margin: 0.5rem; }
  /*ul.target { display: flex; flex-wrap: wrap; }*/
  /*ul.target li { width: calc(50% - 1rem); margin: 0.5rem; }*/
}
@media screen and (max-width: 576px) {
  ul.banner { display: block; }
  ul.banner li { width: auto; margin: 0.5rem; }
  /*ul.target { display: block; }*/
  /*ul.target li { width: auto; margin: 0.5rem; }*/
}

/* ターゲットメニュー */
ul.target { text-align: center; }
ul.target li { display: inline-block; width: 11rem; padding: 0; margin: 3px 0; }

@media screen and (max-width: 768px) {
  ul.target { max-width: 500px; margin: 0 auto 16px auto; }
  ul.target li { width: calc(50% - 1rem); }
}
@media screen and (max-width: 370px) {
  ul.target li { width: 90%; }
}

.target li a { padding: 5px 26px 5px 5px ; font-size:100%; /*border-radius: 15px;*/ }
.target li a::after  { width: 10px; height: 10px; top: 12px; right: 8px; }
.target li a::before { width: 16px; height: 16px; top: 9px; right: 5px; }
.target li:nth-child(1) a { background: #24A2EC; }
.target li:nth-child(1) a::after { background-image: url("/wp-content/themes/eng/img/icon-arrow-right_blue.svg"); }
.target li:nth-child(2) a { background: #0096D5; }
.target li:nth-child(2) a::after { background-image: url("/wp-content/themes/eng/img/icon-arrow-right_light-blue.svg"); }
.target li:nth-child(3) a { background: #75BFB1; }
.target li:nth-child(3) a::after { background-image: url("/wp-content/themes/eng/img/icon-arrow-right_green.svg"); }
.target li:nth-child(4) a { background: #F77B62; }
.target li:nth-child(4) a::after { background-image: url("/wp-content/themes/eng/img/icon-arrow-right_red.svg"); }




/* スマホ用メニューのスクロール */
#g-nav-list { overflow-y: auto; max-height: 90%; }

/* ページ説明 */
div.parent-desc { padding: 0 1rem; margin-bottom: 2rem; text-align: justify; }

/* はみ出し防止，要観察… */
img { max-width: 100%; }
/*figure img { max-width: 100%; }*/


/* #################################################################################################
# 追加スタイル
################################################################################################# */

/* リンク 下線削除 */
a.nobar::before { content: initial; }
a[href$=".png"]::before { content: initial; }
a[href$=".jpg"]::before { content: initial; }
a[href$=".gif"]::before { content: initial; }
a[href$=".webp"]::before { content: initial; }

/* PDFアイコン削除 */
a.noicon { padding: 0; }
a.noicon::after { content: none; }

/* liツリー，組織図とか */
.tree { position: relative; background: white; margin-top: 20px; padding: 30px; font-size: .85rem; font-weight: 400; line-height: 1.5; color: #212529; }
.tree ul { padding-left: 5px; list-style: none; }
.tree ul li { position: relative; padding-top: 5px; padding-bottom: 5px; padding-left: 15px; box-sizing: border-box; }
.tree ul li::before { position: absolute; top: 15px; left: 0; width: 10px; height: 1px; margin: auto; content: ''; background-color: #666; } /* 横線 */
.tree ul li::after { position: absolute; top: 0; bottom: 0; left: 0; width: 1px; height: 100%; content: ''; background-color: #666; } /* 縦線 */
.tree ul li:last-child::after { height: 15px; } /* 子要素の最後の後，少し離す */
.tree ul li a { word-break: normal; }

/* table，横スクロール，スマホ時？フォントサイズ変更 */
@media screen and (max-width: 992px) {
  div.scroll { overflow-x: scroll; }
  div.scroll table { width: 100%; border-collapse: collapse; white-space: nowrap; font-size: small; }
}

/*  */
@media screen and (max-width: 767px) {
  table.fv td { font-size: small; }
  table.fv th { font-size: small; }
}

/* 2分割div箱，320px以下で縦並び */
/* 未完成というか作り直さないとダメ，すでにクラスは使われてるのでクラス名変える場合は注意 */
/*div.ds { display: flex; flex-wrap: wrap; }*/
/*div.ds2 { width: calc(50% - 0.5rem); max-width: calc(50% - 0.5rem); margin: 0.25rem; }*/
/*div.ds2 { width: calc(33.3% - 0.5rem); max-width: calc(33.3% - 0.5rem); margin: 0.25rem; }*/
/*@media screen and (max-width: 768px) { div.ds2 { width: 100%; max-width: initial; } }*/

/*div.ds { margin: 0; }*/
/*div.ds2 div: { display: inline-block; width: calc(40% - 1rem); margin: 0.35rem; vertical-align: top; border:1px solid red;}*/
/*div.ds2t { display: inline-block; width: calc(40% - 1rem); margin: 0.35rem; vertical-align: top; border:1px solid gray;}*/
div.ds2 div:nth-child(1n) { display: inline-block; width: calc(50% - 0.5rem); vertical-align: top; border:1px solid gray; margin:0 0.25rem 1rem 0;}
div.ds2 div:nth-child(2n) { display: inline-block; width: calc(50% - 0.5rem); vertical-align: top; border:1px solid gray; margin:0 0 1rem 0.25rem;}

@media screen and (max-width: 992px) {
 div.ds2 div:nth-child(1n) { display: block; width: 100%; margin: 0 0 1rem 0; }
 div.ds2 div:nth-child(2n) { display: block; width: 100%; margin: 0 0 1rem 0; }
}

div.grid11 { display: grid; gap: 0.5rem; grid-template-columns: 1fr 1fr; }
/*div.grid11 div img { max-width: 100%; }*/
div.grid12 { display: grid; gap: 0.5rem; grid-template-columns: 1fr 2fr; }
div.grid21 { display: grid; gap: 0.5rem; grid-template-columns: 2fr 1fr; }

@media screen and (max-width: 768px) {
  div.grid11, div.grid12, div.grid21 { grid-template-columns: repeat(auto-fit, minmax(100%, 1fr)); }
}

/* 横幅によってfloat */
figure.fr figcaption { text-align: center; }
@media screen and (min-width: 576px) {
  figure.fr { float: right; margin: 0 0 0 1rem; max-width: 50%; }
  figure.fr img { max-width: 100%;}
}
@media screen and (max-width: 575px) {
  figure.fr { float: none; margin: 0 auto 1rem 0; text-align: center; max-width: 100%; }
  figure.fr img { max-width: 80%;}
}

/*ul.none            { padding-left: initial; }*/
ul.none li         { padding-left: initial; }
ul.none li::before { all: initial; }
ol.parentheses             { list-style-type: none; }
ol.parentheses > li        { counter-increment: cnt; padding-left: 1.6rem; }
ol.parentheses > li:before { content: "("counter(cnt) ") "; font-size: 1rem; color: initial; top: 5px; }
ol.parentheses > li:after  { background: initial; }


/* #################################################################################################
# 日本語トップページ
################################################################################################# */

/* スライダ調整 */
div.slide_area { background: #F0FBFF; }
div.mslider { max-width: 1060px; margin: 0 auto; }
div.mslider a::after { content: none; }

/* お知らせ一覧矢印アイコン調整 */
.btn-blue.min { padding-right: 30px; }

/* ピックアップ修正 */
.pickup ul li.pickup1 { display: inline-block; vertical-align: top; }
.pickup ul li.pickup2 { display: inline-block; width: calc(100% - 130px); margin-top: 0; padding-left: 1rem; }

/* お知らせ，受賞記事の外枠調整 */
.wrap-news { position: relative; width: 100%; margin-bottom: 1rem; padding: 1.5rem; border-radius: 60px; }
@media screen and (min-width: 576px)  { .left-fluid { max-width: 540px;  } }
@media screen and (min-width: 768px)  { .left-fluid { max-width: 710px;  } }
@media screen and (min-width: 992px)  { .left-fluid { max-width: 940px;  } }
@media screen and (min-width: 1200px) { .left-fluid { max-width: 1210px; } }
@media screen and (min-width: 1400px) { .left-fluid { max-width: 1410px; } }

/* 見出し調整 */
h2.news-header { margin-bottom: 0; }

/* お知らせ，受賞記事調整（top トップページ，pos お知らせ一覧，tar ◯◯の方へ） */
.latest-news ul.row-top { margin-bottom: 8px; padding: 16px 0 8px 0; }
.latest-news ul.row-pos { margin-bottom: 8px; padding: 8px 0 0 0; }
.latest-news ul.row-tar { margin-bottom: 8px; padding: 8px 0 0 0; }

/* タイトル欄の調整 */
@media (min-width: 992px) { .latest-news ul li.news-col3 { width: calc(100% - 260px); margin-top: 0; padding-right:0; } }



/* #################################################################################################
# 教員一覧
################################################################################################# */

table.staff { width: 100%; }
table.staff tr { border-bottom: 2px solid #ddd; }

/* 各要素の幅指定 */
table.staff td:nth-child(1) { width: 12rem; }
table.staff td:nth-child(2) { width: 12rem; }
table.staff td:nth-child(3) { width: 5.5rem; text-align: center; }
table.staff td:nth-child(4) { width: auto; }
table.staff td { border: none; padding: 0.25rem; vertical-align: middle; }

table.en td:nth-child(1) { width: 12rem; }
table.en td:nth-child(2) { width: 10.5rem; text-align: center; }
table.en td:nth-child(3) { width: 3.5rem; text-align: center; }
table.en td:nth-child(4) { width: auto; }

/* 複数行表記化 */
@media screen and (max-width: 992px) {
  table.staff tr { display: flex; flex-wrap: wrap; }
  
  table.staff td { width: auto; padding: 0.25rem 0.5rem; }
  table.staff td:nth-child(1) { order: 1; width: auto; white-space: nowrap; }
  table.staff td:nth-child(2) { order: 3; width: 100%; white-space: normal; }
  table.en    td:nth-child(2) { order: 3; width: auto; white-space: normal; }
  table.staff td:nth-child(3) { order: 2; width: auto; text-align: left; }
  table.staff td:nth-child(4) { order: 4; width: 100%; }
  table.staff td.nd { display: none; }
  
  /*table.staff a[href$=".pdf"] { display: inline-block; }*/
}

/* レイアウト制限解除 */
@media screen and (max-width: 767px) {
  table.staff td { font-size: small; }
  table.staff td:nth-child(1) { white-space: normal; }
  table.staff td:nth-child(2) { white-space: normal; line-height: 160%; }
}

/* aタグ内改行禁止 */
/*table.en a { white-space: nowrap; };*/
/*table.staff td:nth-child(1) a { white-space: nowrap; };*/
/*
@media screen and (max-width: 575px) {
  table.staff td:nth-child(2) { line-height: 160%; }
}
*/
/*@media screen and (max-width: 374px) {*/
/*@media screen and (max-width: 410px) {
  table.staff td:nth-child(1) { white-space: normal; }
  table.staff td:nth-child(2) { white-space: normal; }
}*/

/* 研究キーワード別，学科表記 */
/*
table.staff span { display: inline-block;  width:10.5rem;    font-size: small; font-weight: 700; color: #fff; margin-right: 0.25rem; }
table.staff span.mechsys { background: #30AE4B; letter-spacing: 0.35rem }
table.staff span.ees     { background: #F39800; }
table.staff span.msae    { background: #EF8576; }
table.staff span.cis     { background: #5A84C3; }
table.staff span.civil   { background: #08B6C7; }
table.staff span.base    { background: #7B6CC4; }
*/
table.staff span.name { white-space: nowrap; }
table.staff img { height: 1rem; vertical-align: text-top; }
table.staff a.gak {  }
table.staff a.gak::before { all: initial; }
table.staff a.gak::after { content: none; }

/* 研究ガイド，1頁紹介PDF 表記 */
/*table.staff a[href$=".pdf"] { font-size: small; font-weight: 700; background: #F77B62; color: #fff; padding: 0; margin-right: 0.25rem; width: auto; display: inline; white-space: nowrap; }*/
table.staff td:nth-child(2) a span { display: inline; font-size: small; white-space: nowrap; border: solid 2px #F77B62; border-radius: 8px; color: black; padding-left: 0.5rem; margin-right: 0.25rem; }
table.en    td:nth-child(2) a span { display: inline; font-size: small; white-space: nowrap; border: solid 2px #F77B62; border-radius: 8px; color: black; padding-left: 0.1rem; margin-right: 0.25rem; }
table.staff td:nth-child(2) a[href$=".pdf"]::before { all: initial; }
table.staff td:nth-child(2) a[href$=".pdf"]::after { content: none; }

/*  */

/* 親タブ */
.tab1-wrap { display: flex; flex-wrap: wrap; min-width: 280px; }
.tab1-label { color: White; background: LightGray; width: calc(50% - 2px); height: 50px; line-height: 50px; text-align: center; display: block; float: left; border-radius: 5px 5px 0 0; order: -1; }
/* .tab1-label:not(:last-of-type) { margin-right: 4px; } */
.tab1-label-a { display: block; width: 100%; height: 100%; color: White; }
.tab1-content { width: 100%; padding: 0.2rem; display: none; }
.tab1-switch:checked+.tab1-label { background: #0096D5; }
.tab1-switch:checked+.tab1-label+.tab1-content { display: block; box-shadow: 0 0 3px #ddd; /*box-shadow: 0 0 3px DeepSkyBlue;*/ }
.tab1-switch { display: none; }
.tab1-wrap::after { content: ''; width: 100%; height: 3px; background: #0096D5; display: block; order: -1; }


/* 子タブ */
.tab2-wrap { display: flex; flex-wrap: wrap; }
.tab2-label { color: White; background: LightGray; margin: 0.2rem; max-width: calc(50% - 0.4rem); 
padding: 3px 12px; border-radius: 5px; order: -1; line-height: 160%; text-align: center; white-space: nowrap; flex: 2; }
.tab2-content { width: 100%; display: none; }
.tab2-switch:checked+.tab2-label { background: DeepSkyBlue; }
.tab2-switch:checked+.tab2-label+.tab2-content { display: block; }
.tab2-switch { display: none; }

@media screen and (max-width: 992px) { .tab2-label { font-size: small; } }
@media screen and (max-width: 768px) { .tab2-label { max-width: calc(100% - 0.4rem); } }
/*@media screen and (max-width: 375px) { .tab1-wrap { min-width: 325px; } }*/
