@charset "UTF-8";
/* ---------------------------------------------
*   html, body
--------------------------------------------- */
body {  font-family: "Noto Sans JP", sans-serif; background-color:   #f5f5f7;color: #333;margin: 0;padding: 0;font-size: 16px;line-height: 1.8em;}


p{font-size: 16px;line-height: 1.6em;margin-bottom: 1.0em;}
a{color: #363636;text-decoration: underline;text-decoration-color:#333;text-underline-offset: 0.4em;text-decoration-color:#999;}
a:hover{opacity: 0.8;}
img{max-width: 100%;}
em{font-style: normal;}
h2{letter-spacing: 1px;}
.text-center{text-align: center;}
.text-left{text-align: left;}
.text-small{font-size: smaller;}
.text-smaller{font-size: smaller;}
.flex{display: flex;justify-content: space-between;}
strong{font-weight: bold;}
.sp{display: none;}
.mt40{margin-top: 40px;}

.bg-photography{background-color: #54BCB3;color:#fff;}
.bg-imaging{background-color: #4F94CB;color:#fff;}
.bg-design{background-color: #EC5D6F;color:#fff;}
.bg-mediaart{background-color: #617099;color:#fff;}
.bg-animation{background-color: #B2CF4F;color:#fff;}
.bg-manga{background-color: #7FD1DF;color:#fff;}
.bg-game{background-color: #FDCA31;color:#fff;}
.bg-interactive{background-color: #5F6D9A;color:#fff;}

.border-photography{border-color: #54BCB3;}
.border-imaging{border-color: #4F94CB;}
.border-design{border-color: #EC5D6F;}
.border-mediaart{border-color: #617099;}
.border-animation{border-color: #B2CF4F;}
.border-manga{border-color: #7FD1DF;}
.border-game{border-color: #FDCA31;}
.border-interactive{border-color: #5F6D9A;}

.photography .contentTitle{border-color: #54BCB3;}
.imaging .contentTitle{border-color: #4F94CB;}
.design .contentTitle{border-color: #EC5D6F;}
.mediaart .contentTitle{border-color: #617099;}
.animation .contentTitle{border-color: #B2CF4F;}
.manga .contentTitle{border-color: #7FD1DF;}
.game .contentTitle{border-color: #FDCA31;}
.interactive .contentTitle{border-color: #5F6D9A;}

.photography section#head .headTitle em{border-bottom-color: #54BCB3;}
.imaging section#head .headTitle em{border-bottom-color:  #4F94CB;}
.design section#head .headTitle em{border-bottom-color:  #EC5D6F;}
.mediaart section#head .headTitle em{border-bottom-color:  #617099;}
.animation section#head .headTitle em{border-bottom-color:  #B2CF4F;}
.manga section#head .headTitle em{border-bottom-color:  #7FD1DF;}
.game section#head .headTitle em{border-bottom-color:  #FDCA31;}
.interactive section#head .headTitle em{border-bottom-color:  #5F6D9A;}



.icon-pdf{position: relative;}
.icon-pdf:after{content:"";display:inline-block;width: 1.2em;height: 1.2em;background-image: url(/assets/images/icon_pdf.png);background-size: contain;background-repeat: no-repeat;vertical-align: middle;margin-left: 0.2em;}

.contentTitle{font-size: 22px;padding: 25px 0 30px 20px;margin: 15px auto;border-left-color:#aaa;border-style: solid;border-left-width: 6px;}


body.fixed{position: fixed;}
/* #pre-window{display: block !important;} */
#pre-window{position: fixed;margin: auto;border: 0;top: 0;right: 0;bottom: 0;left: 0;display: block;z-index: 2;}
#pre-window .div-image{position: absolute;margin: auto;border: 0;top: 0;right: 0;bottom: 0;left: 0;z-index: 2;text-align: center;display: flex;flex-direction: column;justify-content: center;/*background-image: url(/assets/images/bg_pre_202501.png);background-repeat: repeat-x;background-size: contain;background-color: #fff;*/overflow: hidden;}
#pre-window .div-image video{position: relative;height: 100%;z-index: 2;position: relative;position: absolute;top:0;bottom: 0;left:-50%;right:-50%;margin: auto;}
#pre-window .div-image a:hover{opacity: 1;}
#pre-window .div-image a span{display: block;position: absolute;z-index: 1;background-color: #00661C;top:0;bottom: 50%;left: 0;right: 0;margin: auto;}

.underconstruction{opacity: 0.5;}

header{background-color: #fff;}
header div.logo{max-width: 1200px;margin: 0 auto;}
header div.logo p{display: inline-block;font-size: 36px;padding: 60px 0;margin:0;letter-spacing: 15px;}
header div.logo p a{display: block;text-decoration: none;}
header nav{max-width: 1200px;margin: 0 auto;}
/*
header nav>ul{display: flex;justify-content: space-between;font-size: 16px;border-left: 1px solid #ccc;max-height: 40px;width: 100%;gap:0 0;}
header nav>ul>li{position: relative;}
header nav>ul>li>a{text-decoration: unset;}
header nav>ul>li>*{display: block;line-height: 40px;padding: 0 31px;border-right: 1px solid #ccc;cursor: pointer;}
header nav>ul>li ul.sub{position: absolute;overflow: hidden;display: none;min-width: 100%;background-color: #e6e6e6;padding: 0;border: none;}
header nav>ul>li ul.sub li a{display: block;line-height: 40px;text-align: center;width: 100%;text-decoration: none;}
header nav>ul>li ul.sub li a:hover{background-color: #363636;color:#fff}
*/
header nav{display: table;width: 100%;border-left: 1px solid #ccc;position: relative;z-index: 2;font-size: 14px;}
header nav>ul{display: table-row;}
header nav>ul>li{position: relative;display: table-cell;min-width: 120px;}
header nav>ul>li>a{text-decoration: unset;}
header nav>ul>li>*{display: block;line-height: 40px;border-right: 1px solid #ccc;cursor: pointer;text-align: center;}
header nav>ul>li ul.sub{position: absolute;overflow: hidden;display: none;min-width: 100%;background-color: #fff;padding: 0;border: none;}
header nav>ul>li ul.sub>li a{display: block;line-height: 40px;text-align: center;width: 100%;text-decoration: none;white-space: nowrap;}
header nav>ul>li ul.sub.border-top>li a{border-top-width: 2px;border-top-style: solid ;}
header nav>ul>li ul.sub>li a:hover{background-color: #363636;color:#fff}
header nav>ul>li ul.sub>li.title{background-color: #b5b5b5;text-align: center;color:#fff;}
header nav>ul>li ul.sub>li>ul{display: flex;justify-content: center;gap: 0;}
header nav>ul>li ul.sub>li>ul li{flex-basis: 33.333%;}
header nav>ul>li ul.sub>li>ul>li a{border-right:1px solid #fff ;padding:0 0.6em;background-color: #fff;border-top: 2px solid;}
header nav>ul>li ul.sub>li>ul>li:nth-of-type(1) a{border-top:2px solid #00d5bf;}
header nav>ul>li ul.sub>li>ul>li:nth-of-type(2) a{border-top:2px solid #67bfff;}
header nav>ul>li ul.sub>li>ul>li:nth-of-type(3) a{border-top:2px solid #ff95a2;border-right:none}

footer{font-size: 12px;text-align: center;margin-top: 200px;}

section{max-width: 1200px;margin: 40px auto;}
.wrapper{max-width: 1200px;position: relative;}
.wrapper.border-bottom:after{content:"";position: relative;display: block;height: 1px ;background-color: #ccc;width: 100%;margin-top: 80px;}
.w900{max-width: 900px;margin-left: auto;margin-right: auto;}

.lightbox .lb-image{border: none;}

.btn-dropdown{}
.btn-dropdown  .icon-up{display: none;}
.btn-dropdown.open .icon-up{display: inline;}
.btn-dropdown.open .icon-down{display: none;}

.headTitle{text-align: center;font-size: 28px;padding: 70px 0 70px 0;margin: 0;letter-spacing: 2px;}
.headTitle span{display: block;font-size: 20px;line-height: 1.2;letter-spacing: 1px;margin-top: 0.2em;}
.headTitle a{text-decoration: none;}
.headTitle+p{margin-bottom: 2.0em;text-align: center;    word-wrap: break-word;}
#head+section{margin-top: 60px;}
.sectionTitle{text-align: center;font-size: 28px;padding: 120px 0 30px 0;margin: 0;letter-spacing: 2px;}
/* .sectionTitle+p{text-align: center;}  */


/* 共通：モーダル */
a.fancybox{position: relative;}
a.fancybox:hover:after{content:"";position: absolute;bottom: 0;right: 0;width: 40px;height: 40px;background-image: url(/assets/images/icon_open.png);background-size: contain;}



/* 共通：スライダー */
.slider{}
.slider a{text-decoration: none;}

.slider .slick-list {overflow: visible; }
.slider .slick-prev {left: calc(100% / 2 - 350px);z-index: 1;width: 60px;height: 60px;}
.slider .slick-prev:before{content:"◀";color:#666;font-size: 60px;}
.slider .slick-prev:hover {opacity: 0.6;}
.slider .slick-next {right: calc(100% / 2 - 350px);z-index: 1;width: 60px;height: 60px;}
.slider .slick-next:before{content:"▶";color:#666;font-size: 60px;}
.slider .slick-next:hover {opacity: 0.6;}

.slick-dotted.slick-slider{margin-bottom: 40px;}
.slick-dots{bottom: -35px;}
.slick-dots li button:before{font-size: 60px;}
.slick-dots li button{width: 30px;height: 30px;}
.slider .cotents{width: 640px ;padding: 25px 60px;background-color: #fff;aspect-ratio: 853/620;height: auto;overflow: hidden;}
.slider .cotents figure{position: relative;}
.slider .cotents figure img{width: 100%;aspect-ratio: unset;height: auto;}
.slider .cotents figure img.sp{display: none;}
.slider .cotents .biography figure img{aspect-ratio: 680/453;object-fit: cover;}
.slider .cotents .biography figure:after{content:"";position: absolute;width: 120px;height: 120px;top:0;left: 0;background-image: url(/assets/images/wappen_biography.png);background-size: contain;}
.slider .cotents .labo figure img{aspect-ratio: 680/453;object-fit: cover;}
.slider .cotents .labo figure:after{content:"";position: absolute;width: 140px;height: 140px;top:0;left: 0;background-image: url(/assets/images/wappen_labo.png);background-size: contain;}
.slider .cotents.solo{}
.slider .cotents.solo figure{width: 100%;}
.slider .cotents.solo figure img{width: 100%;aspect-ratio: 520/413;height: auto;object-fit: contain;}
.slider .cotents.solo .div-text{padding: 10px 15px 0 15px;}
.slider .cotents.solo p{font-size: 14px;}
.slider .cotents.solo h3{font-size: 23px;margin: 0.35em 0 0.3em 0;line-height: 1.6;}
.slider .cotents.solo p.catch{font-size: 15.5px;letter-spacing: -0.5px;}
.slider .cotents.solo.text-none{}

.slider .cotents.quad{display: flex;flex-wrap: wrap;justify-content: space-between;}
.slider .cotents.quad a{flex-basis: 50%;}
.slider .cotents.quad a .content{line-height: 1.2;}
.slider .cotents.quad a .content figure{width: 100%;}
.slider .cotents.quad a .content figure img{width: 100%;aspect-ratio: 750/450;height: auto;object-fit: cover;object-position: center top;}
.slider .cotents.quad .biography figure:after{width: 76px;height: 76px;}
.slider .cotents.quad .labo figure:after{width: 76px;height: 76px;}
.slider .cotents.quad a .content .div-text{padding: 10px 8px 0 8px;}
.slider .cotents.quad a .content h3{font-size: 14px;}
.slider .cotents.quad a .content p.name{font-size: 21px;margin-bottom: 0;letter-spacing: 2px;}
.slider .cotents.quad a .content p.catch{font-size: 11px;letter-spacing: -0.5px;}


/* 共通：ページトップメニュー */
section#head{max-width: 100%;margin: 40px auto;margin: 0;}
section#head .menu{background-color: #ffff;padding: 25px 0 20px 0;}
section#head .menu ul{display: flex;justify-content: flex-start;flex-wrap: wrap;margin: 0 auto;padding: 0;max-width: 1200px;}
section#head .menu ul.sp{display: none;}
section#head .menu ul li{position: relative;display: block;margin: 0 0 0.4em 0;padding: 0;padding: 0 20px;}
section#head .menu ul li:before{content:"";position: absolute;display: block;width: 1px ;height: 14px;top:2px;bottom: 0;left: 0;margin: auto;background-color: #363636;}
section#head .menu ul li:after{content:"";position: absolute;display: block;width: 1px ;height: 14px;top:2px;bottom: 0;right: -1px;margin: auto;background-color: #363636;}
section#head .menu ul li a{text-underline-offset:10px;text-decoration-skip-ink: none;text-decoration-skip: none;}
section#head .menu ul li a i{font-size: smaller;font-style: normal;}
section#head .menu ul li select{display: inline-block;border: 1px solid #ccc;border-radius: 4px;padding: 0 0.5em;text-align: center;color: #666;}
section#head .subTitle{background-color: #ffff;padding: 25px 0;text-align: center;letter-spacing: 2px;}
section#head+section{padding-top: 60px;}
section#head+div+section{padding-top: 20px;}

/* 共通：横3列コンテンツ */
.contents.col3{display: flex;justify-content: flex-start;flex-wrap: wrap;gap:18px;margin: 40px auto;}
.contents.col3 .content{flex-basis: 32%;background-color: #fff;}
.contents.col3 .content a{text-decoration: none;}
.contents.col3 .content figure img{aspect-ratio: 390/260;object-fit: cover;width: 100%;height: auto;}
.contents.col3 .content .div-text{padding: 0.7em 0.6em 0.9em 0.6em;}
.contents.col3 .content .div-text h3{font-size: 19px;margin-bottom: 0.3em;}
.contents.col3 .content .div-text p{font-size: 12px;}
.contents.col3 .content figure{position: relative;}
.contents.col3 .content figure img{width: 100%;/*aspect-ratio: unset;height: auto;*/}
.contents.col3 .content.biography figure img{aspect-ratio: 680/453;object-fit: cover;}
.contents.col3 .content.biography figure:after{content:"";position: absolute;width: 80px;height: 80px;top:0;left: 0;background-image: url(/assets/images/wappen_biography.png);background-size: contain;}
.contents.col3 .content.labo figure img{aspect-ratio: 680/453;object-fit: cover;}
.contents.col3 .content.labo figure:after{content:"";position: absolute;width: 80px;height: 80px;top:0;left: 0;background-image: url(/assets/images/wappen_labo.png);background-size: contain;}
body.biography .content.biography figure:after{display: none;}
body.labo .content.labo figure:after{display: none;}


/* 共通：横5列コンテンツ */
.contents.col5{display: flex;justify-content: flex-start;flex-wrap: wrap;margin: 40px auto;gap:15px}
.contents.col5 .content{flex-basis: 228px;background-color: #fff;margin-bottom: 24px;}
.contents.col5 .content figure img{aspect-ratio: 228/236;object-fit: cover;width: 100%;}
.contents.col5 .content .div-text{padding: 5px 19px 15px 19px;}
.contents.col5 .content .div-text p{text-align: center;font-size: 13px;}

/* 共通：記事（人物録・研究室探訪） */
section#title{max-width: 1200px;margin: 40px auto;padding-bottom: 1px;}
section#title .div-image{}
section#title .div-image img{height: auto;}
section#title .div-text{margin-top: 50px;}
section#title .div-text .catchcopy{max-width: 940px;margin: 0 auto;}
section#title .div-text .profile{border: 1px solid #333;padding: 40px;max-width: 940px;margin: 45px auto;}
section#title .div-text .profile .person{position: relative;flex-basis: 166px;letter-spacing: 2px;}
/*section#title .div-text .profile .person:after{content:"";position: absolute;height: 100%;top:0;bottom: 0;right: -12%;background-color:#333 ;margin: auto;width: 1px;}*/
section#title .div-text .profile .person span{display: block;font-size: 18px;line-height: 1em;margin-bottom: 1em;}
section#title .div-text .profile .person span:nth-of-type(2){font-size: 18px;}
section#title .div-text .profile .person span.text-small{line-height: 1.8;}
section#title .div-text .profile .person p{font-size: 32px;margin: 0.5em 0 0 0;}
section#title .div-text .profile .description{position: relative;flex-basis: 71%;}
section#title .div-text .profile .description:before{content:"";position: absolute;height: 100%;top:0;bottom: 0;left: -8%;background-color:#333 ;margin: auto;width: 1px;}
section#title .div-text .profile .description p{margin: 0;font-size: 16px;line-height: 1.8em;}

section#title h1{position: relative;text-align: center;font-size: 26px;line-height: 1.8em;font-weight: bold;position: relative;margin: 50px auto;}
section#title h1:after{content:"";position: absolute;display: block;left:0;right:0;bottom: -50px;width: 100px;height: 2px;background-color: #999;margin: auto;}

section.contents{margin-top: 100px;}
section.contents{margin-top: 100px;}
section.contents h3{font-size: 26px;text-align: center;margin:0px auto 100px auto;font-weight: normal;}
section.contents h3{font-size: 26px;text-align: center;margin:0px auto 100px auto;font-weight: normal;}
section.contents h3+.div-image{margin-bottom: 40px;}
section.contents .div-image{margin-top: 40px;}
section.contents .div-image img{max-width: 100%;height: auto;max-height: 1000px;width: auto;}
section.contents .div-image figure{position: relative;padding: 0;margin: 0;text-align: center;margin-bottom: 60px;}
section.contents .div-image figcaption{font-size: 14px;text-align: left;margin-top: 5px;}
section.contents .div-image figcaption img{position: relative;}
section.contents .div-image figure a{position: relative; display: block;}
section.contents .div-image figure a span{position: absolute;position: absolute;display: block;width:40px;height: 40px;background-color: #000;bottom: 0;right: 0;}
section.contents .div-image figure a span:before{content:"";position: absolute;  content: '';width: 15px;height: 1px;background-color: #fff;transform: rotate(90deg);
margin: auto;bottom: 17px;right: 13px;}
section.contents .div-image figure a span:after{content:"";position: absolute;  content: '';width: 15px;height: 1px;background-color: #fff;margin: auto;bottom: 17px;right: 13px;}
section#info .content figure{margin: 60px auto 80px auto;}
/*
section.contents p br:last-of-type {display: none;}
section.contents .div-text br:last-of-type {display: none;}
*/

#news{}
body.front #news{margin-top: 35px ;}
#news .sectionTitle{padding-top: 0;}
#news dl{}
#news dl dt{flex-basis: 8em;float: left;margin-bottom: 0.2em;}
#news dl dd{padding-left: 10em;margin-bottom: 0.2em;}
#news dl dd a{text-decoration: underline;}


#page-top {position: fixed;bottom: 20px;right: 20px;font-size: 14px;line-height: 1;z-index: 99;}
#page-top a {background: #333;  text-decoration: none;  color: #fff;  width: 60px;  padding: 22px 5px;  text-align: center;  display: block;  border-radius: 90px;  opacity: 0.9;  transition: all .3s ease;}
#page-top a:hover {  text-decoration: none;  opacity: .8;}
#page-top a em{display: none;}
.arrow-up {display: inline-block;vertical-align: middle;color: #fff;line-height: 1;position: relative;width: 0.1em;height: 1em;background: currentColor;}
.arrow-up::before {content: '';width: 0.65em;height: 0.65em;border: 0.1em solid currentColor;border-left: 0;border-bottom: 0;transform: rotate(-45deg);transform-origin: top right;position: absolute;top: -0.05em;right: 50%;box-sizing: border-box;}

.div-back{text-align: center;margin: 80px auto 40px auto;}

/* 共通：ページネーション */
.wp-pagenavi{display: flex;justify-content: center;margin: 60px auto 0 auto;float: none !important;}
.wp-pagenavi .pages{display: none;}
.wp-pagenavi>*{padding: 0 0.8em;position: relative;min-width: 2.4em;text-align: center;}
.wp-pagenavi>*:before{content:"";position: absolute;display:inline-block;width: 1px;background-color: #ccc;height: 100%;top:0;bottom: 0;left: -1px;}
.wp-pagenavi>*:after{content:"";position: absolute;display:inline-block;width: 1px;background-color: #ccc;height: 100%;top:0;bottom: 0;right: 0px;}
#contents .wp-pagenavi{float: none !important;display: flex !important;margin: 0 auto}

/** TOPページ **/
body.front{}
body.front #head{ /*background-color: #e7e7e7;*/width: 100%;overflow: hidden;max-width: 100%;margin: 0;padding: 0;}
.slider .cotents.solo .content.labo p.catch{}
body.front section .wrapper p{}

body.front #article h2+p{text-align: center; }
body.front #article .content figure{position: relative;}
body.front #article .content figure:after{content:"";position: absolute;width: 80px;height: 80px;top:0;left: 0;background-image: url(/assets/images/wappen_biography.png);background-size: contain;}
body.front #article .content.labo figure:after{background-image: url(/assets/images/wappen_labo.png);}

section#info{}
section#info p{text-align: left;}
section#info h2{padding-bottom: 40px;}
section#info h3{text-align: center;font-size: 28px;padding: 80px 0 10px 0;margin: 0;letter-spacing: 2px;}


section#department{}
section#department h2+p{text-align: center; }
section#department figure {background-color: #eaedef;border-bottom-width: 2px ;border-bottom-style:solid ;}
section#department figure img{aspect-ratio: 228 / 236;object-fit: contain;}
section#department .div-text p{font-size: 14px;}


/* 人物録ページ */
body.biography.archive section#head+section{margin-top: 0;}
body.biography.archive  .contents.col3{margin-top: 0;}
body.biography{} 
body.biography h2.headTitle {padding: 55px 0 55px 0;} 
body.biography section#head{max-width: 100%;margin: 40px auto;margin: 0;}

/* 研究室探訪ページ */
body.labo{} 
body.labo h2.headTitle {padding: 55px 0 55px 0;} 
body.labo h2.headTitle span{line-height: 1.8;} 
body.labo section#title .div-text .profile{padding: 40px;}
body.labo section#title .div-text .profile .person{flex-basis: 220px;}
body.labo section#title .div-text .profile .description{position: relative;flex-basis: 66%;}
body.labo section.contents .div-image figcaption{text-align: center;}

/* 同窓会について */
body.about{}
body.about h2{padding-bottom: 50px;font-size: 24px;text-align: center;}
body.about #message {}
body.about #message .div-text{flex-basis: 80%;}
body.about #message .div-text p{margin-bottom: 1.0em;}
body.about #message .div-image{margin-top: 0;padding-top: 0.3em;}
body.about #docs h2{font-size: 22px;text-align: left;padding-bottom: 40px;}
body.about #access h2{font-size: 22px;text-align: left;padding-bottom: 40px;}
body.about #access dl {display: flex;justify-content: flex-start;gap: 10px;}
body.about #access .div-map{flex-basis:60%}
body.about #links h2{font-size: 22px;text-align: left;padding-bottom: 40px;}


/* PC：事務局より 一覧  */
#head.information.list+#contents{margin-top: 60px;padding-top: 0;}
body.kaisai .menu .kaisai a{text-decoration: none;pointer-events: none;}
body.oshirase .menu .oshirase a{text-decoration: none;pointer-events: none;}
body.kaihou .menu .kaihou a{text-decoration: none;pointer-events: none;}
.div-list.information{}
.div-list.information .sectionTitle{padding: 0;font-size: 20px;margin: 0 auto 60px auto;}
.div-list.information dl{}
.div-list.information dl dt{}
.div-list.information dl dd{display: flex;justify-content: flex-start;gap:0.5em;margin-bottom: 0.6em;}
.div-list.information dl dd span.cat{display: inline-block;border: 1px solid #ccc;padding: 0 0.2em;text-align: center;font-size: 11px;min-width: 5.0em;margin-right: 0.5em;line-height: 1.4em;}


/* PC：事務局より 詳細  */
body.post .div-detail .sectionTitle{padding-bottom: 60px;}
body.post .div-detail .sectionTitle span{display: block;font-size: 13px;color: #888;}
body.post .div-detail.information .sectionTitle{padding: 0;font-size: 20px;margin: 0 auto 60px auto;}
body.post .div-detail.information .content{max-width: 800px;margin: 0 auto;}
.div-category{text-align: center;margin-bottom: 0.5em;}


/* PC：NEWS 掲示板 より 一覧  */
body.board{}
body.board #head+section{padding-top: 30px;margin-top: 30px;}
#head.board.list+#contents{margin-top: 60px;padding-top: 0;}
body.board .div-notice{background-color: #FDFFE5;padding: 40px 40px 35px 40px;margin-bottom: 60px;}
body.board .div-notice ul li{font-size: 13.2px;line-height: 1.6em;}
.div-list.board .sectionTitle{padding: 0;font-size: 20px;margin: 0 auto 60px auto;}
body.board .board .content{/*border-top: 1px solid #ccc;padding:  40px 0 40px 0;*/}
body.board .board .content .div-body{margin: 40px auto;}
body.board .board .content .div-body p{margin-bottom: 0.6em;}
body.board .board .content .flex{justify-content: space-between;}
body.board .board .content .flex .div-text{flex-basis: 65%;}
body.board .board .content .flex .div-image{flex-basis: 32%;}
body.board .board .content .flex .div-image img{max-width: 100%;height: auto;}
body.board.bosh .menu .bosh a{text-decoration: none;pointer-events: none;}
body.board.news .menu .news a{text-decoration: none;pointer-events: none;}
body.board.member01 .menu .member01 a{text-decoration: none;pointer-events: none;}
body.board.member02 .menu .member02 a{text-decoration: none;pointer-events: none;}
body.board .div-body img{display: inline-block;max-width: 800px;margin: 20px auto 0 auto;}
body.board .div-body .aligncenter{max-width: 800px;margin: 20px auto 0 auto;}

/* PC：学科一覧  */
body.faculty{}
body.faculty section#head h1{max-width: 1200px;margin: 0 auto;border-bottom: 1px solid #ccc;}
body.faculty section#head h1 em{border-bottom-width: 3px;border-bottom-style: solid;}
body.faculty .div-list>div:nth-of-type(1) .content{border-top: unset;}

/* PC：詳細 */
body .single  .div-body{margin: 40px auto;}
body .single  .div-body p{margin-bottom: 0.6em;}
body .single  .flex{justify-content: space-between;}
body .single  .flex .div-text{flex-basis: 65%;}
body .single  .flex .div-image{flex-basis: 32%;}
body .single  .flex .div-image img{max-width: 100%;height: auto;}
body .single  .div-text table th{position: relative;white-space: nowrap;padding-right: 1.0em;vertical-align: top;padding-top: 0.3em;}
body .single  .div-text table th:after{content:":";position: absolute;right: 0.5em;}
body .single  .div-text table td {padding-top: 0.3em;}
body .single  .div-text table td a{display: block;}
body .single  .div-text table td a img{display: block;margin: 0 auto 1.0em auto;}


body section .div-list .content{border-bottom: 1px solid #ccc;padding-bottom: 90px;margin-bottom: 90px;}
body section .div-list .content .contentTitle{font-size: 22px;padding: 25px 0 30px 20px;margin: 15px auto;border-left-style: solid;}
body section .div-list .content .contentTitle a{text-decoration: none;}
body section .div-list .content .contentTitle span{display: block;font-size: 1.0rem;letter-spacing: 2px;}
body section .div-list .div-body table.works_table{width: 100%;}
body section .div-list .div-body table.works_table th{position: relative;white-space: nowrap;padding-right: 2.0em;vertical-align: top;padding-top: 0.3em;}
body section .div-list .div-body table.works_table th:after{content:":";position: absolute;right: 0.5em;}
body section .div-list .div-body table.works_table td {padding-top: 0.3em;}
body section .div-list .div-body table.works_table a{display: block;}
body section .div-list .div-body table.works_table a img{display: block;margin: 0 auto 1.0em auto;}
body section .div-list .div-body .aligncenter{margin: 1.2em auto;display: block;} 
body section .div-list .div-text {flex-basis: 65%;}
body section .div-list .div-image {flex-basis: 30%;}
body section .div-list .div-image img{height: auto;}

/* PC：フォーム  */
body.add_form #head{border-bottom: 1px solid #fff;}
body.add_form #head .menu p{text-align: center;margin: 0;}
body.add_form #contents{margin-top: 0px;padding-top: 0;}
body.add_form #contents .wrapper {padding-top: 40px;}
body.add_form #contents .wrapper form{max-width: 1000px;margin: 0 auto;min-width: 1000px;}
body.add_form #contents .wrapper dl{display: flex;}
body.add_form #contents .wrapper dl dt {  border-bottom: 1px solid #ccc;  flex-basis: 200px;align-items: center;padding: 20px 20px 20px 20px;font-weight: bold;}
body.add_form #contents .wrapper dl dt span{font-size: smaller;color: #d00;float: right;border: 1px solid #d00;padding: 0 0.5em;line-height: 1.2;margin-top: 0.4em;font-weight: normal;}
body.add_form #contents .wrapper dl dd {padding: 10px 40px 10px 0px;border-bottom: 1px solid #ccc;flex-basis: calc( 100% - 200px );}
body.add_form #contents .wrapper dl dd .flex{justify-content: flex-start;gap:0 2%;clear: both;}
body.add_form #contents .wrapper dl dd input{border: 1px solid #ddd;display: inline-block;background-color: #fff;padding: 0.2em 0.8em;}
body.add_form #contents .wrapper dl dd select{border: 1px solid #ddd;display: inline-block;padding: 0.2em 0.8em;appearance: auto;line-height: 2.4;}
body.add_form #contents .wrapper dl dd textarea{border: 1px solid #ddd;display: inline-block;width: 100%;background-color: #fff;padding: 0.2em 0.8em;}
body.add_form #contents .wrapper dl dd label{font-weight: normal;padding: 5px 2%;border: 1px solid #ddd;cursor: pointer;min-width: 4.0em;white-space: nowrap;}
body.add_form #contents .wrapper dl dd label input{margin: 0 10% 0 0;vertical-align: inherit;}
body.add_form #contents .wrapper dl dd input[type='text']{line-height: 2.4;}
body.add_form #contents .wrapper dl dd input[type='email']{line-height: 2.4;}
body.add_form #contents .wrapper dl dd select{line-height: 2.4;background-color: #fff;height: 42px;}
body.add_form #contents .wrapper dl dd span{padding: 0 0.3em;display: flex;flex-direction: column;justify-content: center;}
body.add_form #contents .wrapper dl dd p{font-size: smaller;color: #d33;clear: both;}
body.add_form #contents .wrapper dl dd p.error-message{font-size: normal;color: #f00;margin-bottom: 0;font-weight: bold;float: left;clear: none !important;}
body.add_form #contents .wrapper dd>div{display: flex;justify-content: space-around;flex-wrap: nowrap;justify-content: flex-start;margin: 5px auto;clear: both;}
body.add_form #contents .wrapper dl dd .flex>div{display: flex;justify-content: space-around;flex-wrap: nowrap;clear: both;}
body.add_form #contents .wrapper .year input[type='text']{width: 7em;}
body.add_form #contents .wrapper .year input[type='text'].faculty{width: 12em;}
body.add_form #contents .wrapper .name .flex>div{/*flex-basis: 32%;*/}
body.add_form #contents .wrapper .name .flex>div>span{flex-basis: 7.5em;text-align: right;padding-right: 0.5em;}
body.add_form #contents .wrapper .name input{width: 7.5em;}
body.add_form #contents .wrapper .address div{display: flex;justify-content: flex-start;clear: both;}
body.add_form #contents .wrapper .address div>span{padding-right: 0.5em;min-width: 5.0em;}
body.add_form #contents .wrapper .address input{width: 25.0em;}
body.add_form #contents .wrapper .address .zip input{width: 10.2em;}
body.add_form #contents .wrapper .address .city input{width: 20.0em;}
body.add_form #contents .wrapper .email input{min-width: 30em;}
body.add_form #contents .wrapper .office input{width: 30.0em;}
body.add_form #contents .wrapper .div-btn{margin-top: 2.0em;display: flex;justify-content: center;}
body.add_form #contents .wrapper .div-btn button{padding: 0.5em 2.0em;border: 1px solid #666;margin: 0 1.0em;}
body.add_form #contents .wrapper .div-btn button:hover{background-color: #fff;}
body.add_form #contents .wrapper .complete{padding: 120px;}

/* PC：404 */
.notfound #head{border-bottom: 1px solid #fff;}
.notfound section#head{max-width: 100%;margin: 40px auto;margin: 0;}
.notfound #contents{margin-top: 0px;padding-top: 0;}


@media screen and (max-width: 1190px) {
  header nav>ul>li ul.sub>li>ul>li a{padding:0;}
}
@media screen and (max-width: 1000px) {
  header nav>ul{font-size: 14px !important;}
  header nav>ul>li ul.sub a{font-size: 14px !important;}
}
@media screen and (max-width: 860px) {
  header nav>ul>li{min-width: 100px;}
  header nav>ul>li ul.sub a{font-size: 12px !important;}
}


@media screen and (max-width: 767.98px) {
  body {min-width: unset;font-size: 14px;}
  .sp{display: block;}
  .pc{display: none !important;}
  span.sp{display: inline;}
  br.sp{display: inline;}
  p{font-size: 14px ;line-height: 1.6em;  -webkit-text-size-adjust: 100%;}
  a{text-underline-offset: 0.15em;}
  h2{padding: 35px 0 24px 0;font-size: 20px;}
  .headTitle{padding: 35px 0 24px 0;font-size: 20px;}
  .sectionTitle{padding: 35px 0 24px 0;font-size: 20px;}

  img{width: 100%;height: auto;}
  section{width: 100%;margin: 25px auto !important;}
  section>.wrapper{padding-left:15px;padding-right:15px;}
  .wrapper.border-bottom:after{margin-top: 50px;}

  header div.logo{/* background-image: url(/assets/images/header_mark_sp.png);*/background-repeat: no-repeat;background-position: top center;background-size: 36% auto;}
  header div.logo p{font-size: 20px;padding: 20px 0;text-align: center;letter-spacing: 4px;width: 100%;}
  header nav{position: absolute;display: none;background-color: #e6e6e6;z-index: 10;}
  header nav ul{display: block;}
  header nav ul li{display: block;}
  header nav>ul>li>*{border: none; border-bottom:1px solid  #ccc;border-top:1px solid  #ccc;margin-top: -1px;font-weight: bold;text-align: left;padding-left: 1.0em;background-color: #E4E4E4;}
  header nav>ul>li>span{border-bottom: none;}
  /*
  header nav>ul>li ul.sub{position: relative;display: flex;justify-content: space-between;flex-wrap: wrap;margin: 0 auto 0 auto !important;width: 90%;min-width: unset;border-top:1px solid  #ccc;}
  header nav>ul>li ul.sub li{flex-basis: 50% ;border-right: 1px solid  #ccc;border-bottom:1px solid  #ccc;}
  header nav>ul>li ul.sub li:nth-of-type(2n){border-right:none;}
  */
  header nav>ul>li ul.sub{position: relative;background-color: #d4d4d4;display: block !important;}
  header nav>ul>li ul.sub>li>a{padding-left: 2.5em;text-align: left;}
  header nav>ul>li ul.sub>li.title{background-color: transparent;text-align: left;padding-left: 2.5em;color: #363636;}
  header nav>ul>li ul.sub>li>ul{display: block;}
  header nav>ul>li ul.sub>li>ul li a{padding-left: 2.5em;font-size: 14px !important;text-align: left;}

  footer{margin-top: 60px;}
  footer .copyright p{font-size: 10px;}

  header .hamburger-menu {position: absolute; width: 50px; height: 50px;; border: none; background: transparent; appearance: none; padding: 0; cursor: pointer; top:10px;right: 5px;;}
  .hamburger-menu__bar {  display: inline-block; width: 44%; height: 2px; background: #242424; position: absolute; left: 50%; transform: translateX(-50%); transition: .5s; }
  .hamburger-menu__bar:first-child { top: 16px; }
  .hamburger-menu__bar:nth-child(2) { top: 24px; }
  .hamburger-menu__bar:last-child { top: 32px; }
  .hamburger-menu--open .hamburger-menu__bar { top: 50%; }
  .hamburger-menu--open .hamburger-menu__bar:first-child { transform: translateX(-50%) translateY(-50%) rotate(45deg); }
  .hamburger-menu--open .hamburger-menu__bar:last-child { transform: translateX(-50%) translateY(-50%) rotate(-45deg); }
  .hamburger-menu--open .hamburger-menu__bar:nth-child(2) { display: none; }

  #page-top {bottom: 0;}

  .contentTitle{border-left-width: 3px;}

  .slider .cotents.solo  figure:after{width: 65px !important;height: 65px !important;}
  .slider .cotents.solo figure img.sp{display: block;}

  #pre-window .div-image video {
    width: auto;
    height: 100vh;
    left: -100vh;
    right: -100vh;
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    width: auto;
}

/* スマホ：共通：モーダル */
a.fancybox{position: relative;}
a.fancybox:after{content:"";position: absolute;bottom: 0;right: 0;width: 40px;height: 40px;background-image: url(/assets/images/icon_open.png);background-size: contain;}

  /** スマホ：TOPページ向け **/
  body.front #head{background-color: unset;}
  body.front .slick-list{background-color: #f5f5f7;}
  body.front .slider .slick-prev{left:9.8vw;}
  body.front .slider .slick-next{right:9.8vw;}
  body.front .slider .slick-prev {width: 16px;height: 16px;}
  body.front .slider .slick-prev:before{font-size: 16px;}
  body.front .slider .slick-prev:hover {opacity: 0.6;}
  body.front .slider .slick-next {width: 16px;height: 16px;}
  body.front .slider .slick-next:before{font-size: 16px;}

  body.front .slick-prev:before, .slick-next:before{font-size: 16px;}
  body.front .slick-track{display: flex;justify-content: flex-start;}
  body.front .slick-dots li button:before{font-size: 50px;}
  body.front .slider .cotents{}
  body.front .slider .cotents{width: 70vw;padding: 0;aspect-ratio: unset;background-color: #ffff;margin: 0 10px;}
  body.front .slider .cotents .content{padding: 10px 0 10px 0 !important;margin-bottom: 0 !important;}
  body.front .slider .cotents.solo .div-text{padding: 3px 5px;}
  body.front .slider .cotents.solo .div-text p{font-size: 8px;letter-spacing: -0.8px;text-align: center;}
  body.front .slider .cotents.solo .div-text h3{font-size: 12px;text-align: center;letter-spacing: 0;}
  body.front .slider .cotents.solo .div-text p.catch{font-size: 10px;text-align: center;letter-spacing: 0;}
  body.front .slider .cotents.quad a .content figure img{aspect-ratio: 750 / 320;}
  body.front .slider .cotents.quad .content{}
  body.front .slider .cotents.quad .content .div-text{padding: 1 2px ;}
  body.front .slider .cotents.quad .content h3{font-size: 9px;letter-spacing: -0.8px;}
  body.front .slider .cotents.quad a .content p.name{font-size: 12px;}
  body.front .slider .cotents.quad .content p.catch{font-size: 7px;}
  
  .slider .cotents.quad .biography figure:after{width: 35px;height: 35px;}

  body.front #news dl{}
  body.front #news dl dt {float:none;font-size: 11px;margin-bottom: 0.2em;line-height: 1.0;}
  body.front #news dl dd{padding-left: 0;margin-bottom: 0.5em;}
  body.front #news dl dd a{display: inline-block;line-height: 1.4;}

  section#info .content figure { margin: 30px auto 25px auto; }
  section#info .content h3 {padding: 35px 0 5px 0;font-size: 20px;}

  body.front section.contents{padding: 0 15px;margin-top: 40px;}
  body.front section.contents h3{font-size: 16px;margin-bottom: 40px;}

  #article h2+p{text-align: center;}
  #article .contents.col3{gap:2vw}
  #article .contents.col3 .content{flex-basis: calc( 50% - 1vw );}
  #article .content figure:after{width: 40px !important;height: 40px !important;}
  #article .contents.col3 .content .div-text{padding:3px 0px 7px 0px;}
  #article .contents.col3 .content .div-text h3{font-size: 13px;line-height: 1.4;}
  #article .contents.col3 .content .div-text p{font-size: 11px;margin-top: 0.5em;}

  body.front #department .contents.col5{gap:2vw}
  body.front #department .contents.col5 .content{flex-basis: calc( 50% - 1vw );}
  body.front #department .contents.col5 .content .div-text{padding:3px 10px 7px 9px;}
  body.front #department .contents.col5 .content .div-text h3{font-size: 13px;}
  body.front #department .contents.col5 .content .div-text p{font-size: 11px;}

  /* スマホ：記事共通 */
  section#head h2{font-size: 18px;padding: 30px 0;}
  section#head h2 span{font-size: 12px;line-height: 1.2;letter-spacing: 1px;margin-bottom: 0.4em;}
  section#head .menu{margin: 0 15px;border: 1px solid #ccc;text-align: center;padding: 10px 0;}
  section#head .menu>*{font-size: 12px;text-decoration: none;}
  section.contents h3{font-size: 18px;margin:40px auto 30px auto;text-align: left;}
  section.contents .div-image figcaption{font-size: 12px;line-height: 1.4;margin-top: 2px;}

  section#head {margin:0 auto !important;}
  section#head .menu ul li{padding:0;}
  section#head .menu ul li>*{padding: 10px 0;text-decoration: none;}

  section#head+section{margin-top: 25px !important;padding-top: 10px !important;}
  body section#head .menu ul{display: none;}
  body section#head .menu ul li:after{display: none;}
  body section#head .menu ul li:before{display: none;}
  body section .div-list{}
  body section  .board .content .div-body{margin: 20px auto !important;}
  body section.author{padding-left: 15px;}



  /* スマホ：人物録 */
  body.biography section#title{margin-top: 15px;}
  body.biography section#title .div-text{padding: 0 15px;margin-top: 15px;}
  body.biography section#title>.catchcopy{padding: 0 15px;text-align: left;margin-bottom: 15px;}
  body.biography section#title .div-text .profile{display: block;padding: 17px;margin:0 0 20px 0;}
  body.biography section#title .div-text .profile .person{text-align: center;margin-bottom: 20px;}
  body.biography section#title .div-text .profile .person:after{display: none;}
  body.biography section#title .div-text .profile .person span{margin-bottom: 0.5em;font-size: 14px !important;}
  body.biography section#title .div-text .profile .person p{font-size: 24px;margin-top: 0em;}
  body.biography section#title .div-text .profile .description p{font-size: 12px;}
  body.biography section#title .div-text .profile .description:before{display: none;}
  body.biography section#title h1{font-size: 16px;margin: 30px auto;;}
  body.biography section#title h1:after{bottom: -32px;}

  /* スマホ：研究室探訪 */
  body.labo section#title{margin-top: 15px;}
  body.labo section#title .div-text{padding: 0 15px;margin-top: 15px;}
  body.labo section#title>.catchcopy{padding: 0 15px;text-align: left;margin-bottom: 15px;}
  body.labo section#title .div-text .profile{display: block;padding: 17px;margin:0 0 20px 0;}
  body.labo section#title .div-text .profile .person{text-align: center;margin-bottom: 20px;}
  body.labo section#title .div-text .profile .person:after{display: none;}
  body.labo section#title .div-text .profile .person span{margin-bottom: 0.5em;font-size: 14px !important;}
  body.labo section#title .div-text .profile .person p{font-size: 24px;margin-top: 0em;}
  body.labo section#title .div-text .profile .description p{font-size: 12px;}
  body.labo section#title .div-text .profile .description:before{display: none;}
  body.labo section#title h1{font-size: 16px;margin: 30px auto;;}
  body.labo section#title h1:after{bottom: -32px;}

  /* スマホ：同窓会について */
  body.about  .headTitle{position: relative;}
  body.about  .headTitle:after{content:"";display: block;width: 2.5em;height: 3px;background-color: #ccc;margin: 0 auto;position: absolute;left:0 ;right:0;        bottom: -11px;}
  body.about  section{margin-top: 0px !important;margin-bottom: 15px !important;}
  body.about h2{font-size: 20px;margin-bottom: 38px;padding-bottom: 0 !important;}
  body.about  section#head .menu{display: none;}
  body.about  section#message {padding-top: 0;}
  body.about  section#message .flex{display: block;}
  body.about  section#message .div-image{width: 50%;margin: 40px auto 0 auto;}
  body.about  section#message .div-image figcaption{margin: 10px auto 0 auto;text-align: center;}
  body.about  section#access .flex{display: block;}
  body.about  section#access .div-map{margin: 40px auto 0 auto;}

/* スマホ：事務局より 一覧  */
  .div-list.information .sectionTitle{margin-bottom: 30px;}
  .div-list  .content>div>div.flex{display: block;}


/* スマホ：NEWS 掲示板 より 一覧  */
  body.board section#head+section{margin-top: 5px !important;}
  body.board .div-notice{padding: 12px 15px;margin-bottom: 15px;}
  body.board .div-notice ul li{font-size: 11px;}
  body.board .board .content .contentTitle{font-size: 18px;padding: 10px 0 10px 12px;border-left:2px solid #aaa;margin: 10px auto;}
  body.board .div-list.board .sectionTitle{margin-top: 20px;margin-bottom: 35px;}
 
  body section .content{padding-bottom: 30px;margin-bottom: 20px !important;padding: 0 15px 5px 15px !important;}
  body section .wrapper .content{padding: 0 0px 5px 0px !important;}
  body section .content .contentTitle{font-size: 18px !important;padding: 10px 0 10px 10px !important;}
  body section .content .flex{display: block;}
  body section .div-list .div-body table.works_table th {padding-right: 1.2em;}
  /*
  body section .content table.works_table{display: block;}
  body section .content table.works_table tr th{display: block;background-color: #efefef;padding-left: 0.5em;font-weight: bold;}
  body section .content table.works_table th:after{display: none;}
  */
  body section .content table.works_table tr th{font-weight: bold;}
  body section .content .works_table tr td{padding-left: 0.5em;}


  /* PC：フォーム  */
  body.add_form #contents .wrapper{padding-top: 0;}
  body.add_form #contents .wrapper form{max-width: 1000px;min-width: unset;}
  body.add_form #contents .wrapper dl{display: block;clear: both;}
  body.add_form #contents .wrapper dl dt{padding: 5px 10px 5px 10px;background-color: #dfdfdf;}
  body.add_form #contents .wrapper dl dd{padding: 10px 0px 10px 0px;}
  body.add_form #contents .wrapper dl dd .div-checkbox.flex{flex-wrap: wrap;}
  body.add_form #contents .wrapper dl dd>div{margin: 0;}
  body.add_form #contents .wrapper dl dd .flex>div{justify-content: flex-start;}
  body.add_form #contents .wrapper .email input{min-width: unset;}
  /*body.add_form #contents .wrapper dl dd .flex>div{display: block;}*/
  body.add_form #contents .wrapper dl dd .div-radio.flex{}
  /*body.add_form #contents .wrapper dl.year dd>.flex{display: block;}*/
  body.add_form #contents .wrapper dl.year dd>.flex:nth-of-type(2){display: block;}
  body.add_form #contents .wrapper dl.name dd>.flex{display: block;}
  body.add_form #contents .wrapper .name input{width: auto;}
  body.add_form #contents .wrapper dl.address dd>.flex{display: block;}
  body.add_form #contents .wrapper .address div{margin: 0;}
  body.add_form #contents .wrapper .address input{width: auto;}
  body.add_form #contents .wrapper .email input{width: 100%;}

}
