@charset "utf-8";
/*
[0]  共通指定
[1]  レイアウト
[2]  ヘッダブロック内
[3]  コンテンツブロック内
[4]  サイドブロック内
[5]  フッタブロック内
[6]  トップページ固有
[7]  研究内容ページ 
[8]  研究業績ページ 
[9]  メンバーページ
[10] 講義および実験ページ
[11] お知らせページ
[12] リンクページ
[13] フォトギャラリーページ
[14] アクセスページ
[15] 高校生の皆さまへページ
*/
/* ===== [0] 共通指定 ================= */
.smpBtn {
 display: none !important;
}
img, img a, img a:hover {
 border: 0;
 margin: 0;
 padding: 0;
}
a.blank {
 padding-right: 20px;
 background: url(../image/design/blank.gif) no-repeat 100% 100%;
}
a {
 overflow: hidden;
}
a:link {
 text-decoration: underline;
 color: #0000CC;
}
a:visited {
 text-decoration: underline;
 color: #9933FF;
}
a:hover {
 text-decoration: underline;
 color: #ff0000;
}
a[href^="tel:"] {
 pointer-events: none;
 cursor: default;
 text-decoration: none;
 color: #000;
}
.smp a[href^="tel:"] {
 pointer-events: auto;
}
.clear {
 clear: both;
}
a:hover img {
 opacity: .5;
 transition: .2s;
}
/* ===== [1] レイアウト =============== */
body {
 text-align: center;
 font-size: 95%;
 font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
 margin: 0;
 padding: 0;
}
#gr {
 background: url(../image/design/bg-body-g.jpg) repeat-x 0 0;
}
#re1 {
 background: url(../image/design/bg-body-r1.jpg) repeat-x 0 0;
}
#re2 {
 background: url(../image/design/bg-body-r2.jpg) repeat-x 0 0;
}
#bl {
 background: url(../image/design/bg-body-b.jpg) repeat-x 0 0;
}
/*#home { background: url(../image/design/bg-body-home.jpg) repeat-x 0 0; }*/
#wrapper {
 text-align: left;
 width: 900px;
 margin: 0 auto;
 padding: 0;
 overflow: hidden;
 /*background: url(../image/design/bg-wrapper.jpg) repeat-y 0 0;*/
}
#header {
 position: relative;
 width: 900px;
 height: 190px;
 margin: 0;
 padding: 0;
}
#gr #header {
 background: url(../image/design/bg-header-g.jpg) no-repeat 0 0;
}
#re1 #header {
 background: url(../image/design/bg-header-r1.jpg) no-repeat 0 0;
}
#re2 #header {
 background: url(../image/design/bg-header-r2.jpg) no-repeat 0 0;
}
#bl #header {
 background: url(../image/design/bg-header-b.jpg) no-repeat 0 0;
}
#main {
 width: 100%;
 margin: 0 0 30px;
 padding: 0;
 display: flex;
 flex-wrap: nowrap;
 flex-direction: row-reverse;
 background: url(../image/design/bg-wrapper.jpg) repeat-y 0 0;
}
#content {
 width: 670px;
 margin: 0 auto;
 padding: 0 0 0 18px;
 border-left-width: 2px;
 border-left-style: solid;
 background-color: #fff;
}
#gr #content {
 border-left-color: #360;
}
#re1 #content {
 border-left-color: #903;
}
#re2 #content {
 border-left-color: #603;
}
#bl #content {
 border-left-color: #039;
}
#sidebar {
 width: 210px;
 margin: 0;
 padding: 0;
}
#footer {
 margin-bottom: 10px;
 padding: 30px 0 20px;
 background-image: linear-gradient(0deg, rgba(238, 238, 238, 1), rgba(238, 238, 238, 0.1));
 border: 1px solid #eee;
 border-radius: 5px;
}
/* ===== [2] ヘッダブロック内 ========= */
#header h1, #header h2 {
 color: #fff;
 font-weight: bold;
 line-height: 1;
}
#header h2 a {
 text-decoration: none;
 color: #fff;
}
#header h2 a:hover {
 opacity: .5;
 transition: .2s;
}
#header h1, #header h2, p.e {
 text-shadow: 0px 0px 3px #000;
}
#header h1 {
 font-size: 1rem;
 margin: 0;
 padding: 0;
 position: absolute;
 top: 80px;
 left: 230px;
}
#header h2 {
 font-size: 2rem;
 margin: 0;
 padding: 0;
 position: absolute;
 top: 40px;
 left: 230px;
}
p.e {
 font-family: "Times New Roman", Times, serif;
 letter-spacing: 0.05em;
 line-height: 1.4;
 display: block;
 width: 100%;
 position: absolute;
 top: 100px;
 left: 230px;
 color: #fff;
 font-size: .875rem;
}
p.language {
 margin: 0;
 padding: 0;
}
p.language a {
 text-indent: -9999px;
 text-decoration: none;
 display: block;
 width: 80px;
 height: 25px;
 margin: 0;
 padding: 0;
 position: absolute;
 top: 20px;
 right: 10px;
 background-image: url(../image/design/btn-en.jpg);
 background-repeat: no-repeat;
}
p.language a:hover {
 text-decoration: none;
}
#gr p.language a {
 background-position: 0 0;
}
#re1 p.language a {
 background-position: 0 -25px;
}
#re2 p.language a {
 background-position: 0 -50px;
}
#bl p.language a {
 background-position: 0 -75px;
}
/* ===== [3] コンテンツブロック内 ===== */
.flexbox {
 display: flex;
 width: 100%;
}
h3 {
 font-size: 140%;
 font-weight: normal;
 line-height: 60px;
 height: 60px;
 margin: 0 0 1em;
 padding: 0 0 0 40px;
 background-image: url(../image/design/bg-headline01.jpg);
 background-repeat: no-repeat;
}
#gr h3 {
 background-position: 0 -60px;
}
#re1 h3 {
 background-position: 0 -120px;
}
#re2 h3 {
 background-position: 0 -180px;
}
#bl h3 {
 background-position: 0 0;
}
.headline-h3 {
 font-size: 130%;
 font-weight: normal;
 line-height: 40px;
 margin: 0 0 1em;
 padding: 0 0 0 40px;
 background-image: url(../image/design/bg-headline01-2.jpg);
 background-repeat: no-repeat;
}
#gr .headline-h3 {
 background-position: 0 -40px;
}
#re1 .headline-h3 {
 background-position: 0 -80px;
}
#re2 .headline-h3 {
 background-position: 0 -120px;
}
#bl .headline-h3 {
 background-position: 0 0;
}
h4, h5, h6 {
 font-size: 140%;
 font-weight: normal;
 line-height: 30px;
 margin: 2em 0 0.5em;
 padding: 0;
}
h4 + h5, h5 + h6 {
 margin-top: 1em;
}
#gr h4 {
 background: url(../image/design/bg-headline02-g.jpg) no-repeat 0 100%;
}
#re1 h4 {
 background: url(../image/design/bg-headline02-r1.jpg) no-repeat 0 100%;
}
#re2 h4 {
 background: url(../image/design/bg-headline02-r2.jpg) no-repeat 0 100%;
}
#bl h4 {
 background: url(../image/design/bg-headline02-b.jpg) no-repeat 0 100%;
}
h5 {
 font-size: 120%;
 border-bottom: solid 3px #eee;
 position: relative;
}
h5::after {
 position: absolute;
 content: " ";
 display: block;
 border-bottom: solid 3px #9c9;
 bottom: -3px;
 width: 40%;
}
#gr h5::after {
 border-bottom-color: #9c9;
}
#re1 h5::after {
 border-bottom-color: #936;
}
#re2 h5::after {
 border-bottom-color: #936;
}
#bl h5::after {
 border-bottom-color: #9cf;
}
#content p {
 line-height: 1.8em;
 margin: 0 0 0.5em;
 padding: 0;
}
ol {
 margin-bottom: 2em;
}
ol li {
 line-height: 1.5em;
 margin: 0 0 0.5em;
 padding: 0;
}
ul.customNo, ul.decimal, ol.decimal {
 padding: 0;
}
ul.customNo li, ul.decimal li, ol.decimal li {
 list-style: none;
 margin: 0 0 10px;
 padding: 0 0 0 1.5em;
 position: relative;
 line-height: 1.2;
}
ul.customNo li::before, ul.decimal li::before, ol.decimal li::before {
 content: '';
 display: block;
 width: auto;
 font-size: 1.2em;
 position: absolute;
 top: 0;
 left: 0;
}
ul.customNo li:nth-child(1)::before {
 content: '1)'
}
ul.customNo li:nth-child(2)::before {
 content: '2)'
}
ul.customNo li:nth-child(3)::before {
 content: '3)'
}
ul.customNo li:nth-child(4)::before {
 content: '4)'
}
ul.customNo li:nth-child(5)::before {
 content: '5)'
}
ul.customNo li:nth-child(6)::before {
 content: '6)'
}
ul.customNo li:nth-child(7)::before {
 content: '7)'
}
ul.customNo li:nth-child(8)::before {
 content: '8)'
}
ul.customNo li:nth-child(9)::before {
 content: '9)'
}
ul.customNo li:nth-child(10)::before {
 content: '10)'
}
ul.customNo li:nth-child(11)::before {
 content: '11)'
}
ul.customNo li:nth-child(12)::before {
 content: '12)'
}
ul.customNo li:nth-child(13)::before {
 content: '13)'
}
ul.customNo li:nth-child(14)::before {
 content: '14)'
}
ul.customNo li:nth-child(15)::before {
 content: '15)'
}
ul.decimal li:nth-child(1)::before, ol.decimal li:nth-child(1)::before {
 content: '①'
}
ul.decimal li:nth-child(2)::before, ol.decimal li:nth-child(2)::before {
 content: '②'
}
ul.decimal li:nth-child(3)::before, ol.decimal li:nth-child(3)::before {
 content: '③'
}
ul.decimal li:nth-child(4)::before, ol.decimal li:nth-child(4)::before {
 content: '④'
}
ul.decimal li:nth-child(5)::before, ol.decimal li:nth-child(5)::before {
 content: '⑤'
}
ul.decimal li:nth-child(6)::before, ol.decimal li:nth-child(6)::before {
 content: '⑥'
}
ul.decimal li:nth-child(7)::before, ol.decimal li:nth-child(7)::before {
 content: '⑦'
}
ul.decimal li:nth-child(8)::before, ol.decimal li:nth-child(8)::before {
 content: '⑧'
}
ul.decimal li:nth-child(9)::before, ol.decimal li:nth-child(9)::before {
 content: '⑨'
}
ul.decimal li:nth-child(10)::before, ol.decimal li:nth-child(10)::before {
 content: '⑩'
}
ul.decimal li:nth-child(11)::before, ol.decimal li:nth-child(11)::before {
 content: '⑪'
}
ul.decimal li:nth-child(12)::before, ol.decimal li:nth-child(12)::before {
 content: '⑫'
}
ul.decimal li:nth-child(13)::before, ol.decimal li:nth-child(13)::before {
 content: '⑬'
}
ul.decimal li:nth-child(14)::before, ol.decimal li:nth-child(14)::before {
 content: '⑭'
}
ul.decimal li:nth-child(15)::before, ol.decimal li:nth-child(15)::before {
 content: '⑮'
}
.en {
 font-size: 105%;
 font-family: "Times New Roman", Times, serif;
 /*text-align: justify;*/
}
#content p.pagetop {
 text-align: right;
 clear: both;
 width: 100%;
 margin: 0;
 padding: 3em 0 0;
 cursor: pointer;
}
/* ===== [4] サイドブロック内 ========= */
#sidebar ul {
 list-style: none;
 width: 210px;
 margin: 0 0 10px;
 padding: 0;
}
#sidebar ul a {
 text-decoration: none;
 display: block;
 width: 180px;
 height: 30px;
 line-height: 30px;
 margin: 0;
 padding: 0 0 0 30px;
 background: url(../image/design/btn-side.jpg) no-repeat;
 color: #333;
}
#sidebar ul a:hover {
 text-decoration: none;
 background: url(../image/design/btn-side.jpg) no-repeat;
 color: #f00;
}
#sidebar ul.globalnavi a {
 background-position: 0 -60px;
}
#sidebar ul.globalnavi .homepage a {
 background-position: 0 0;
}
#sidebar ul.globalnavi .select a {
 text-align: right;
 padding: 0 30px 0 0;
 color: #fff;
}
#gr #sidebar ul.globalnavi .select a {
 background-position: 0 -120px;
}
#re1 #sidebar ul.globalnavi .select a {
 background-position: 0 -150px;
}
#re2 #sidebar ul.globalnavi .select a {
 background-position: 0 -180px;
}
#bl #sidebar ul.globalnavi .select a {
 background-position: 0 -210px;
}
#sidebar ul.globalnavi a:hover {
 background-position: 0 -90px;
}
#sidebar ul.globalnavi .homepage a:hover {
 background-position: 0 -30px;
}
#sidebar ul.link a {
 background-position: 0 -240px;
}
#sidebar ul.link a:hover {
 background-position: 0 -270px;
}
#sidebar div.highschool {
 width: 190px;
 padding: 10px 5px 0;
}
#sidebar div.highschool {
 width: 190px;
 padding: 10px 5px;
}
#bgimg {
 width: 100%;
 height: 350px;
 background: url(../image/design/bg-side.jpg) no-repeat 0 100%;
}
/* ===== [5] フッタブロック内 ========= */
#footer p {
 line-height: 1;
 margin: 0;
 padding: 0;
}
#footer p.copy {
 font-size: 1rem;
 padding-bottom: 20px;
 text-align: center;
}
#footer .flexbox {
 justify-content: center;
 align-items: center;
 gap: 20px;
}
#footer .flexbox p {
 font-size: 1rem;
 width: auto;
}
#footer .flexbox div {
 width: auto;
}
address {
 font-style: normal;
 margin: 0;
 padding: 0 0 5px;
}
address span {}
ul.phone {
 margin: 0;
 padding: 0;
 display: flex;
}
ul.phone li {
 list-style: none;
 margin: 0;
 padding: 0 10px 0 0;
}
/* ===== [6] トップページ固有 ========= */
.home_visual {
 width: 100%;
 margin-bottom: 20px;
 display: flex;
 justify-content: space-between;
 align-items: center;
}
.home_visual .top-key img {
 display: block;
 width: 100%;
 height: auto;
 margin: 0;
}
.home_visual .imgbox img {
 display: block;
 aspect-ratio: 27/32;
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: 50% 50%;
 margin: 0;
}
.home_visual .top-key {
 width: 390px;
 margin: 0;
 padding: 0;
 background: #eee;
}
.home_visual .imgbox {
 width: 270px;
 margin: 0;
 padding: 0;
}
.home_visual .top-key ul {
 box-sizing: border-box;
 height: 50px;
 margin: 0;
 padding: 5px 0;
 display: flex;
 justify-content: center;
 flex-wrap: wrap;
 align-items: center;
}
.home_visual .top-key li {
 list-style: none;
 margin: 0 5px;
 padding: 0;
 width: auto;
 line-height: 1;
 font-size: 14px;
}
.home_visual .top-key li:not(:last-child)::after {
 content: ',';
}
div.imgbox img {
 display: block;
 margin: 0;
 width: 100%;
 height: auto;
}
dl.topinfo {
 clear: both;
 margin: 0;
 padding: 0;
}
dl.topinfo dt {
 line-height: 30px;
 padding: 0 0 0 20px;
 background: #360;
 color: #fff;
}
dl.topinfo dd {
 height: 670px;
 height: auto;
 min-height: 300px;
 margin: 0;
 padding: 0;
}
dl.topinfo dd.cat01 {
 margin-bottom: 20px;
 background: url(../image/design/bg-information-cat1.jpg) no-repeat 100% 100%;
 background-size: auto 100%;
}
dl.topinfo dd.cat02 {
 background: url(../image/design/bg-information-cat2.jpg) no-repeat 100% 100%;
 background-size: auto 100%;
}
dl.topinfo ul {
 list-style-type: none;
 margin: 0;
 padding: 10px 0 0;
}
dl.topinfo li {
 box-sizing: border-box;
 display: flex;
 justify-content: space-between;
 width: 100%;
 margin: 0;
 padding: 6px 10px 6px 15px;
 background: url(../image/design/bg-info-span.gif) no-repeat 0 9px;
}
dl.topinfo li:not(:last-child) {
 border-bottom: 1px dotted #ccc;
}
dl.topinfo li span {
 display: block;
 width: 80px;
}
dl.topinfo a {
 display: block;
 width: 550px;
 text-decoration: none;
 color: #000;
}
dl.topinfo a:hover {
 text-decoration: underline;
 color: #f00;
}
/* ===== [7] 研究内容ページ =========== */
div.research .flexbox {
 flex-direction: row-reverse;
}
p.img-akakabe {
 width: 260px;
 height: 260px;
}
p.img-akakabe img {
 display: block;
 max-width: 100%;
 margin: 0 auto;
}
p.name {
 font-size: 140%;
}
dl.personal-history {
 width: 440px;
 margin: 0;
 padding: 0;
}
dl.personal-history dt {
 font-size: 140%;
 margin: 0 0 1em;
 padding: 0 0 5px;
 background: url(../image/design/bg-headline02.jpg) no-repeat 0 100%;
}
dl.personal-history dd {
 margin: 0 0 0.5em;
 padding: 0;
}
#content p.research-interests {
 width: 200px;
 height: 150px;
 float: left;
 margin: 0 1em 0.5em 0;
 padding: 0;
}
.research-interests-head {
 list-style-type: none;
 width: 670px;
 margin: 0 0 20px;
 padding: 0;
}
.research-interests-head li {
 font-size: 120%;
 margin: 0 0 0.5em;
 padding: 0.5em 1em;
 background-color: #eee;
 border-left: 10px solid #903;
 border-right: 1px outset #fff;
 border-bottom: 1px outset #fff;
 color: #330000;
}
.research-interests-head li span {
 font-size: 75%;
 text-align: right;
 display: block;
 margin: 0;
 padding: 0;
}
.research-interests-img {
 list-style-type: none;
 width: 100%;
 margin: 0;
 padding: 0;
 display: flex;
 flex-wrap: wrap;
 gap: 20px;
}
.research-interests-img li {
 width: calc(100% / 3 - 15px);
 overflow: hidden;
 margin: 0;
 padding: 0;
}
.research-interests-img li p {
 margin: 0 !important;
 padding: 0 !important;
}
.research-interests-img li img {
 display: block;
 width: 100%;
 height: auto;
 margin: 0;
}
.research-interests-img li a {
 display: block;
 width: 100%;
}
.research-interests-img .m-left {
 margin-right: 20px;
}
.research table {
 width: 100%;
 max-width: 500px;
 border-spacing: 0;
 border-collapse: collapse;
}
.research table td {
 padding: 0 0 0.5em;
 vertical-align: top;
 line-height: 1.4;
}
.research table tr td:first-child {
 width: 100px;
}
.research table tr td:nth-child(2) {
 width: 410px;
}
.english .research table {
 max-width: 100%;
}
.english .research table tr td:first-child {
 width: 50px;
}
.english .research table tr td:nth-child(2) {
 width: 620px;
}
/* ===== [8] 研究業績ページ =========== */
ul.select-detail {
 list-style-type: none;
 width: 100%;
 margin: 0 0 2em;
 padding: 0;
 font-size: 90%;
 overflow: hidden;
}
ul.select-detail li {
 text-align: center;
 float: left;
 width: 167px;
 margin: 0;
 padding: 0;
}
ul.select-detail li a {
 text-decoration: none;
 display: block;
 width: 165px;
 margin: 0;
 padding: 4px 0;
 background-color: #eee;
 color: #330000;
 border: 1px outset #fff;
}
.enp ul.select-detail li {
 width: 223px;
}
.enp ul.select-detail li a {
 width: 221px;
}
ul.select-detail li a:hover {
 text-decoration: none;
 background-color: #600;
 color: #fff;
 border: 1px outset #fff;
}
#re2 div.achievement h3 {
 font-size: 130%;
 font-weight: normal;
 line-height: 40px;
 margin: 0 0 1em;
 padding: 0 0 0 40px;
 background: url(../image/design/bg-headline01-2.jpg) no-repeat 0 -120px;
}
#re2 div.achievement h4 {
 margin-top: 0;
 font-weight: bold;
}
ol span {
 text-decoration: underline;
}
ol.en {
 font-family: "Times New Roman", Times, serif;
 /*text-align: justify;*/
}
ol.en li {
 line-height: 1.2em;
 margin: 0 0 0.5em;
 padding: 0;
}
/*.achievement .en li {
 font-size: 1.125em;
}*/
/* ===== [9] メンバーページ ===== */
#bl div.member h3 {
 font-size: 130%;
 font-weight: normal;
 line-height: 40px;
 height: 40px;
 margin: 0 0 0.5em;
 padding: 0 0 0 40px;
 background: url(../image/design/bg-headline01-2.jpg) no-repeat 0 0;
}
#bl div.member h4 {
 font-size: 100%;
 line-height: normal;
 margin: 0 0 0.2em;
 padding: 0 0 0.1em;
 background-image: none;
 border-bottom: 1px dotted #666;
 font-weight: bold;
 color: #333;
}
div.member ul {
 list-style-type: none;
 margin: 0 0 2em;
 padding: 0.5em 0 0;
}
div.member ul li {
 display: inline;
 margin: 0 0 0.5em;
 padding: 0 0 0 1.5em;
}
/* ===== [10] 講義および実験ページ ===== */
div.lecture ul {
 list-style-type: none;
 margin: 0;
 padding: 0;
}
div.lecture li {
 margin: 0 0 1em;
 padding: 0;
 line-height: 1.4;
}
/* ===== [11] お知らせページ ===== */
#gr div.information h3.info-headline {
 position: relative;
 font-size: 100%;
 line-height: 1.2;
 height: auto;
 margin: 0;
 padding: 12px 10px 14px 40px;
 background: #f9f9f9 url("../image/design/bg-headline02-g.jpg") repeat-x 0 100% !important;
 color: #030;
 border: 1px solid #ddd;
 font-weight: bold;
 border-radius: 3px;
 overflow: hidden;
}
#gr div.information h3.info-headline::before {
 content: '';
 width: 20px;
 height: 90%;
 border-radius: 0 0 3px 3px;
 background: url("../image/design/bg-headline02-g.png") no-repeat 0 100%;
 background-size: cover;
 position: absolute;
 bottom: 10px;
 left: 10px;
}
#content p.entryday {
 text-align: right;
 line-height: 1em;
 margin: 0;
 padding: 5px 0 15px;
 color: #030;
}
div.entry {
 line-height: 1.5em;
 margin: 0 0 5em;
 padding: 0;
}
div.information ul.pager {
 list-style-type: none;
 width: 100%;
 margin: 0 0 2em;
 padding: 0.5em 0;
 overflow: hidden;
}
div.information ul.pager li {
 text-align: center;
 width: 3em;
 float: left;
 margin: 0 5px 3px 0;
 padding: 0;
}
div.information ul.pager a {
 text-decoration: none;
 display: block;
 width: 100%;
 margin: 0;
 padding: 0.3em 0;
 background-color: #fff;
 color: #030;
 border: 1px outset #030;
}
div.information ul.pager a:hover {
 text-decoration: none;
 background-color: #030;
 color: #fff;
 border: 1px solid #030;
}
div.information ul.info-index {
 list-style-type: none;
 width: 60%;
 margin: 0 0 2em;
 padding: 0;
}
div.information ul.info-index li {
 margin: 0 0 2em;
 padding: 1em 2em;
 background-color: #eee;
 border: 1px outset #eee;
}
div.information ul.info-index li a {
 text-decoration: none;
 color: #030;
}
div.information ul.info-index li a:hover {
 text-decoration: underline;
 color: #f00;
}
div.information ul.select-year {
 list-style-type: none;
 width: 670px;
 margin: 0 0 2em;
 padding: 0;
 overflow: hidden;
}
/*div.information ul.select-year li { text-align: center; width: 98px; float: left; margin: 0 4px 10px 0; padding: 0; }*/
div.information ul.select-year li {
 text-align: center;
 width: 5em;
 float: left;
 margin: 0 2px 2px 0;
 padding: 0;
}
div.information ul.select-year li.cat-change {
 text-align: right;
 width: 670px;
 float: none;
 margin: 0;
 padding-bottom: 1em;
}
div.information ul.select-year li a {
 text-decoration: none;
 display: block;
 width: 100%;
 margin: 0;
 padding: 4px 0;
 background-color: #eee;
 color: #030;
 border: 1px outset #fff;
}
div.information ul.select-year li a:hover {
 text-decoration: none;
 background-color: #030;
 color: #fff;
 border: 1px outset #fff;
}
div.information ul.select-year li.cat-change a {
 display: inline;
 padding: 0;
 background-color: #fff;
 color: #030;
 border: none;
}
div.information ul.select-year li.cat-change a:hover {
 text-decoration: underline;
 background-color: #fff;
 color: #f00;
 border: none;
}
/* ===== [12] プロジェクトページ =========== */
.project_page table th {
 width: 5em;
 padding: 4px 0;
}
.project_page table td {
 width: 36.875em;
 padding: 4px 0;
}
/* ===== [13] 新食材・商品の開発ページ =========== */
.products-img {
 margin: 0;
 padding: 0;
 display: flex;
 gap: 10px;
}
.products-img li {
 box-sizing: border-box;
 max-width: 160px;
 list-style: none;
 margin: 0;
 padding: 0;
}
.products-img a {
 display: block;
}
.products-img a:hover img {
 opacity: .5;
 transition: .2s;
}
/* 2025追加 */
.list_by_year {
 margin: 0;
 padding: 0;
 display: flex;
 flex-wrap: wrap;
}
.list_by_year li {
 list-style: none;
 margin: 0;
 padding: 2px;
 width: calc(100% / 3);
 line-height: 1;
 box-sizing: border-box;
}
.list_by_year li a {
 display: block;
 width: 100%;
 margin: 0 auto;
 padding: 1em 0;
 text-align: center;
 text-decoration: none;
 background-color: #eee;
 color: #000;
}
.list_by_year li a:hover {
 background-color: #030;
 color: #fff;
 transition: .1s;
}
/* 2025変更 */
div.archive {
 width: 100%;
 overflow: hidden;
 display: flex;
 align-items: center;
 justify-content: space-between;
 flex-direction: row-reverse;
 margin-bottom: 20px;
}
div.archive p.cat-change {
 width: auto;
}
div.archive div.archive_option {
 width: auto;
}
div.archive div.archive_option a {
 display: block;
 box-sizing: border-box;
 width: 100%;
 line-height: 1;
 padding: 5px 14px;
 text-decoration: none;
 background-color: #eee;
 color: #000;
 border: 1px solid #ccc;
}
div.archive div.archive_option a:hover {
 background-color: #030;
 color: #fff;
 border-color: #030;
 transition: .1s;
}
/* ===== [12] リンクページ ===== */
div.link ul {
 list-style: none;
 margin: 0 0 0 40px;
 padding: 0;
}
div.link li {
 margin-bottom: 1em;
}
div.link li a {
 padding-left: 20px;
 background: url(../image/design/blank.gif) no-repeat 0 100%;
}
/* ===== [13] フォトギャラリーページ ===== */
#content p.topicpath {
 width: 100%;
 margin: 0 0 1em;
 overflow: hidden;
}
p.topicpath span {
 padding-right: 1.5em;
 color: #336600;
}
p.topicpath span.now {
 font-weight: bold;
 padding-left: 2px;
 color: #006600;
 border-left: 1em solid #006600;
}
p.topicpath a {
 text-decoration: none;
 color: #336600;
}
p.topicpath a:hover {
 text-decoration: underline;
 color: #cc0000;
}
ul.gallery-top-parameter {
 width: 100%;
 overflow: hidden;
 margin: 0;
 padding: 0;
}
ul.gallery-top-parameter li {
 width: 213px;
 float: left;
 list-style: none;
 margin: 0 10px 10px 0;
 padding: 14px 0;
 background-color: #eee;
}
#content ul.gallery-top-parameter p.img {
 text-align: center;
 width: 213px;
 height: 160px;
 overflow: hidden;
 margin: 0;
 padding: 0;
}
ul.gallery-top-parameter p.img img {
 vertical-align: middle;
 border: 1px solid #fff;
}
#content ul.gallery-top-parameter p.txt {
 width: 200px;
 line-height: 1em;
 margin: 0 auto;
 padding: 0 0 0 13px;
}
div#gallery {
 width: 670px;
 margin: 0;
 padding: 0;
 overflow: hidden;
}
div#gallery ul {
 width: 100%;
 list-style-type: none;
 margin: 0;
 padding: 0 0 50px;
 overflow: hidden;
 display: flex;
 flex-wrap: wrap;
 gap: 10px;
}
div#gallery li {
 width: 160px;
 height: auto;
 margin: 0;
 padding: 0;
 overflow: hidden;
}
#gallery li img {
 display: block;
 margin: 0;
 width: 100%;
 height: 100%;
 aspect-ratio: 4/3;
 object-fit: cover;
 object-position: 50% 50%;
}
div#gallery h4 {
 font-size: 130%;
 font-weight: normal;
 line-height: 40px;
 margin: 0 0 1em;
 padding: 0 0 0 40px;
 background: url(../image/design/bg-headline01-2.jpg) no-repeat 0 -40px;
 clear: both;
}
/* ===== [14] アクセスページ ===== */
/* MAP */
#map {
 position: relative;
 width: 100%;
 padding-top: 56.25%;
 height: 0;
}
#map iframe {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
}
/* ===== [15] 高校生の皆さまへページ ===== */
/* 2025 */
#pTop {
 cursor: pointer;
 width: 34px;
 height: 85px;
 position: fixed;
 bottom: -90px;
 right: 10px;
 background: url("../image/design/pagetop-footer.jpg") no-repeat 0 0;
 background-size: cover;
}
#pTop.up {
 bottom: 50px;
 transition: 1s;
}
/**/
ul.imgBox {
 display: flex;
 flex-wrap: wrap;
 gap: 2%;
 margin: 0;
 padding: 0;
}
ul.imgBox li {
 list-style: none;
 width: 23.5%;
 margin: 0 0 2%;
 padding: 0;
 font-size: 12px;
}
ul.imgBox a {
 display: block;
 width: 100%;
}
ul.imgBox img {
 display: block;
 aspect-ratio: 4/3;
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: 50% 50%;
 margin: 0;
}
.project_page ul.imgBox {
 padding-top: 1em;
}
.project_page ul.imgBox li {
 width: 32%;
}
@media screen and (max-width: 56.25em) {
 .smpBtn {
  display: block !important;
 }
 #wrapper {
  width: 100%;
  padding-top: 40px;
  background-image: none;
  overflow: hidden;
 }
 #header {
  width: 100%;
  height: 170px;
  border-radius: 5px;
 }
 #gr #header, #re1 #header, #re2 #header, #bl #header {
  background-position: 100% 0;
 }
 #content {
  box-sizing: border-box;
  width: 100%;
  float: none;
  padding: 2em 1em;
  border-left: 0 !important;
 }
 #pTop {
  right: 5px;
 }
 #pTop.up {
  bottom: 10px;
 }
 #footer {
  width: 100%;
  margin: 0;
  padding: 20px 0 10px;
 }
 #footer p.copy span {
  display: none;
 }
 #footer .flexbox {
  display: block;
  gap: 0;
 }
 #footer .flexbox p {
  text-align: center;
  width: 100%;
 }
 #footer .flexbox div {
  width: 100%;
  padding: 10px 0;
 }
 address {
  text-align: center;
  padding: 0 0 10px;
 }
 ul.phone {
  display: block;
 }
 ul.phone li {
  text-align: center;
  padding: 0 0 10px;
 }
 #header h1 {
  color: #000;
  top: -20px;
  left: 20px;
  text-shadow: none;
 }
 #header h2 {
  top: 60px;
  left: 15%;
 }
 p.e {
  left: 15%;
 }
 #header h1.en {
  top: -30px;
  padding-right: 60px;
  text-align: left;
 }
 /* Gナビ */
 .smpBtn {
  text-align: center;
  line-height: 1;
  position: absolute;
  top: 10px;
  right: 20px;
  z-index: 99;
  display: block;
  width: 34px;
  height: 34px;
  cursor: pointer;
  margin: 0;
 }
 .smpBtn span {
  display: block;
  position: absolute;
  width: 100%;
  border-bottom: solid 2px #000;
  transition: .2s ease-in-out;
  right: 0;
 }
 .smpBtn span:nth-child(1) {
  top: 5px;
 }
 .smpBtn span:nth-child(2) {
  top: 16px;
 }
 .smpBtn span:nth-child(3) {
  top: 27px;
 }
 .closeBtn {
  position: fixed;
 }
 .closeBtn span {
  border-color: #c00;
 }
 .closeBtn span:nth-child(1) {
  top: 16px;
  right: 0;
  transform: rotate(-45deg);
 }
 .closeBtn span:nth-child(2), .closeBtn span:nth-child(3) {
  top: 16px;
  transform: rotate(45deg);
 }
 #sidebar {
  display: none;
  box-sizing: border-box;
  width: 100%;
  float: none;
  padding: 60px 30px;
  background-image: none;
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  box-shadow: 0 10px 20px -10px #000;
 }
 #sidebar ul {
  width: 100%;
  margin: 0;
 }
 #sidebar ul li {
  border-bottom: 1px solid #ccc;
 }
 #sidebar ul.link li:last-child {
  border-bottom: 0;
 }
 #sidebar ul a, #sidebar ul.globalnavi .select a {
  text-align: left;
  width: 100%;
  height: auto;
  line-height: 1;
  margin: 0;
  padding: 10px 0;
  background-image: none;
  color: #333;
  font-size: 1.25em;
 }
 #sidebar div.highschool {
  width: 190px;
  margin: 0 auto;
  padding: 20px 0;
 }
 #bgimg {
  display: none;
 }
 /* ===== [3] コンテンツブロック内 ===== */
 h3 {
  font-size: 1.25em;
  font-weight: bold;
  line-height: 1.4;
  height: auto;
  padding: 8px;
  background-image: none !important;
  color: #fff;
  border-radius: 3px
 }
 #gr h3 {
  background-color: #060;
 }
 #gr #content {
  border-left-color: #360;
 }
 #re1 h3 {
  background-color: #903;
 }
 #re2 h3 {
  background-color: #603;
 }
 #bl h3 {
  background-color: #039;
 }
 .headline-h3 {
  font-size: 130%;
  font-weight: normal;
  line-height: 40px;
  margin: 0 0 1em;
  padding: 0 0 0 40px;
  background-image: url(../image/design/bg-headline01-2.jpg);
  background-repeat: no-repeat;
 }
 #gr .headline-h3 {
  background-position: 0 -40px;
 }
 #re1 .headline-h3 {
  background-position: 0 -80px;
 }
 #re2 .headline-h3 {
  background-position: 0 -120px;
 }
 #bl .headline-h3 {
  background-position: 0 0;
 }
 h4, h5, h6 {
  font-size: 140%;
  font-weight: normal;
  line-height: 30px;
  margin: 2em 0 0.5em;
  padding: 0;
 }
 #gr h4, #gr h5, #gr h6 {
  background: url(../image/design/bg-headline02-g.jpg) no-repeat 0 100%;
 }
 #re1 h4, #re1 h5, #re1 h6 {
  background: url(../image/design/bg-headline02-r1.jpg) no-repeat 0 100%;
 }
 #re2 h4, #re2 h5, #re2 h6 {
  background: url(../image/design/bg-headline02-r2.jpg) no-repeat 0 100%;
 }
 #bl h4, #bl h5, #bl h6 {
  background: url(../image/design/bg-headline02-b.jpg) no-repeat 0 100%;
 }
 /* ===== [6] トップページ固有 ========= */
 .home_visual {
  flex-wrap: wrap;
  flex-direction: column-reverse;
 }
 .home_visual .top-key, .home_visual .imgbox {
  width: 100%;
 }
 .home_visual .imgbox {
  margin-bottom: 20px;
 }
 dl.topinfo {
  clear: both;
  margin: 0;
  padding: 0;
 }
 dl.topinfo dt {
  text-align: center;
  padding-left: 0;
 }
 dl.topinfo dd {
  height: auto;
  min-height: inherit;
  margin: 0;
  padding: 0;
 }
 dl.topinfo dd.cat01 {
  background-image: none;
 }
 dl.topinfo dd.cat02 {
  background-image: none;
 }
 dl.topinfo ul {
  list-style-type: none;
  margin: 0;
  padding: 10px 0 0;
 }
 dl.topinfo li {
  display: block;
  padding: 10px 0 10px 15px;
  background-position: 0 12px;
 }
 dl.topinfo li:last-child {
  border: 0;
 }
 dl.topinfo li span {
  display: block;
  width: 100%;
  padding-bottom: 5px;
 }
 dl.topinfo a {
  width: 100%;
  line-height: 1.2;
 }
 /* ===== [7] 研究内容ページ =========== */
 div.research .flexbox {
  display: block;
 }
 p.img-akakabe {
  width: 100%;
 }
 .research-interests-img {
  gap: 20px;
 }
 .research-interests-img li {
  width: calc(100% / 2 - 15px);
 }
 /* ===== [8] 研究業績ページ =========== */
 ul.select-detail {
  font-size: 100%;
  display: flex;
  flex-wrap: wrap;
 }
 ul.select-detail li {
  float: none;
  width: 50%;
 }
 ul.select-detail li a {
  width: 99%;
  padding: 10px 0;
 }
 .enp ul.select-detail li {
  float: none;
  width: 50%;
 }
 .enp ul.select-detail li a {
  width: 99%;
  padding: 10px 0;
  word-wrap: break-word;
 }
 #re2 div.achievement h3 {
  font-weight: bold;
  text-align: center;
  padding: 0;
  color: #603;
 }
 #re2 div.achievement h4 {
  margin-top: 0;
  font-weight: bold;
 }
 /* ===== [9] メンバーページ ===== */
 #bl div.member h3 {
  width: 40%;
  background: #039;
  color: #fff;
  font-weight: bold;
  text-align: center;
  padding: 0;
 }
 #bl div.member h4 {
  font-size: 1.2em;
 }
 div.member ul {
  display: flex;
  flex-wrap: wrap;
 }
 div.member ul li {
  width: auto;
  padding: 0 1em .5em 0;
 }
 /* ===== [11] お知らせページ ===== */
 div.information ul.info-index {
  width: 100%;
 }

 #content p.entryday {
  line-height: 1;
  text-align: left;
  padding: 5px 0 15px;
 }
 /* ===== [12] リンクページ ===== */
 div.link ul {
  margin: 0;
 }
 /* ===== [13] フォトギャラリーページ ===== */
 ul.gallery-top-parameter {
  width: 100%;
  overflow: hidden;
  margin: 0;
  padding: 0;
 }
 ul.gallery-top-parameter li {
  box-sizing: border-box;
  width: 100%;
  float: none;
  list-style: none;
  margin: 0 0 10px;
  padding: 30px;
 }
 #content ul.gallery-top-parameter p.img {
  width: 100%;
  height: auto;
 }
 ul.gallery-top-parameter p.img img {
  width: 100%;
  height: 100%;
  aspect-ratio: 4/3;
 }
 #content ul.gallery-top-parameter p.txt {
  width: 100%;
  padding: 1em 0 0;
  text-align: center;
 }
 div#gallery {
  width: 100%;
 }
 div#gallery ul {
  gap: 10px;
 }
 div#gallery li {
  width: calc(100% / 2 - 5px);
  height: auto;
 }
}
@media screen and (max-width: 40em) {
 #header h1 {
  font-size: .75rem;
 }
 #header h2 {
  top: 40px;
  left: 20px;
 }
 p.e {
  font-size: .75rem;
  top: 80px;
  left: 20px;
 }
 p.e span {
  display: block;
 }
 ul.imgBox li, .project_page ul.imgBox li {
  width: 49%;
 }
}
@media print {
 #pTop {
  display: none;
 }
}