@charset "utf-8";

/* フォント関係設定(June/2/2026) */
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:wght@400,700|Poppins:wght@400,700&display=swap');

html {
	overflow-y:scroll;
}

*{
	margin: 0;
	padding: 0;
}

body{
	font-size: 15px;
	font-family:"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Noto Sans JP","Myriad Pro",Myriad,arial,verdana,Helvetica,sans-serif;
	background-color:#ddd;
	color: #444;
}

A{
	text-decoration:none
}
A:link{color:#0060a0}
A:visited{color:#037}
A:hover{
	color:#0000f0;
	text-decoration:underline;
}


#container{
	background-color:#f8f8f8;
	width:880px;
	padding: 0;
	margin-left: auto;
	margin-right: auto;
	border-top: 1px solid #999;
	border-left: 1px solid #999;
	border-right: 1px solid #999;
	border-bottom: 1px solid #999;
	margin-top: 5px;
	overflow: auto;
}

#banner {
	color: #444;
	width: 588px;
	height: 120px;	
	margin: 0.5em 0 0.7em 0.5em;
	padding: 0;
	border-left: 0.4em solid #000;
	box-shadow: 1px 1px 3px rgba(0,0,0,0.5);
}

#banner a {
	width: 588px;
	height: 120px;	
	display: block;
/*	background-image: url("/banners/banner2012-w588.png");*/
	background-image: url("/banners/banner2021-588-120.png");
	background-repeat: no-repeat;
}

#banner img {
	margin: 0	!important;
}

#main{
	float:left;
	font-size: 100%;
	width:610px;
	margin: 0 0 0 0;
	padding: 0;
}

#nav{
	display: inline-block;
	margin-left: 0.5em;
	margin-right: 0.5em;
/*	padding: 0.2em 0.8em 0.2em 0.5em;	*/
	padding: 8px 0.8em 6px 0.8em;
	border: 1px solid #aaa;
	font-size:95%;
	line-height:120%;
	background: #fff;
}

#nav a{
	color: #444;
}
#nav a:visited{
	color: #666;
}
#nav A:hover{
	color:#0000f0;
	text-decoration:underline;
}

#main h1{
	line-height: 110%;
	font-weight:normal;	
	font-size:120%;
	text-align:left;
	margin: 0;
	padding: 7px 0.5em 7px 0.5em;
	background-color:#111;
	color: #fff;
}

#main h2{
	line-height: 110%;
	font-weight:normal;	
	font-size:110%;
	text-align:left;
	margin: 0;
	padding: 8px 0em 7px 0.5em;
	background-color:#111;
	color:#fff;
}

#main h3{
	line-height: 110%;
	margin: 0.3em 0 0 0;
	width: 25em;
	font-weight: normal;
	padding: 0 0 0 0.2em;
	background-color:#fff;
	border-bottom: 2px solid #222;	
}

#main dl{
	line-height: 100%;
}

#main dl dt{
	padding: 12px 0 6px 10px;
	font-size: 105%;
	color: #555;
	line-height: 120%;
	border-top: 1px dotted #aaa;
}

#main dl dt:first-child{
	border-top: 0;
}

#main dl dd{
	margin: 0;
	padding: 0.1em 1em 0.7em 1em;
	font-size: 100%;
	line-height: 150%;
}

#main dl dd.haveicon{
	min-height: 100px;
}

#main .thumbnail{
	height: 90px;
	width: 90px;
	padding: 0;
	margin: 0.2em 0.6em 0.2em 0;
    	box-shadow: 1px 1px 2px #888; /*rgba(50,50,50,1) ;*/
	float: left;
}

#main .thumbnail:after{
	clear: left;
}

#main .thumbnail a {
	border: 0;
}

#main .thumbnail img {
	border: 0;
	margin: 0;
}

#main img {
	margin-top: 8px;
}

#main dl dd:last-child{
	border-bottom: 1px dotted #aaa;
}


#main .newmark{
	font-weight: bold;
	background-color: #fff;
	border: 1px solid #800;
	vertical-align: top;
	color: #800;
	padding: 1px 3px 1px 3px;
	border-radius: 0.4em;
	font-size: 90%;
	line-height: 100%;
}

#main ol{
	margin: 0.5em 0.5em 0.5em 2.5em;
	line-height: 140%;
}

#main ol li{
	margin: 0.8em 0 0.5em 0;
}

.mainitem{
	margin: 0.5em 0.5em 0.5em 0.5em;
}


.mainframe{
	background: #fff;
	margin: 0 0 0 0;
	padding: 0em;
	overflow-x: hidden;
}

img.photoframe{
	display: block;
	vertical-align:middle;
	text-align: center;
	padding: 0px;
	margin: 0.5em auto 1em auto;
}

#pastinfo{
	width:100%;
	margin: 0 0 0 0;
}

#pastinfo a{
	color: #444;
	display: inline-block;
/	display: inline;
	padding-right: 0.5em;
	padding-left: 0em;
	margin: 4px 2px 0 2px;
	width: 6em;
/	zoom: 1;
}

#pastinfo a:visited{
	color: #666;
}

#pastinfo a:hover{
	color:#0000f0;
	text-decoration:underline;
}

#pastinfo a:before{
	color: #bbb;
	content: "\00bb";
}

#feed .note{
	margin: 0.5em 0.5em 0.5em 0.5em;
	font-size: 90%;
	line-height: 120%;
}

#feed dl{
	line-height: 100%;
}

#feed dl dt{
	padding: 12px 0 6px 10px;
	font-size: 90%;
	color: #555;
	line-height: 120%;
	border-top: 1px dotted #aaa;
}

#feed dl dt:first-child{
	border-top: 1px dotted #aaa;
}

#feed dl dd{
	margin: 0;
	padding: 0.1em 1em 0.3em 1em;
	font-size: 100%;
	line-height: 130%;
}

#feed .feedsummary{
	margin: 4px 0 2px 0;
	font-size: 90%;
	line-height: 120%;
}

#feed .feedsummary:before{
	content: "\00bb \0020";
	font-weight: bold;
    color: #888;
}

#menu{
	margin: 0.5em 0.5em 0em 0;
	float:right;
	font-size: 110%;
	width:255px;
}

#menu h2{
	font-weight:normal;
	text-align: right;
	color: #333;
	vertical-align: middle;
	font-size:100%;
	margin: 0em 0em 0.0em 0em;
	padding: 7px 1em 4px 0.3em;
	border-bottom: 2px solid #ddd;	
	background-color:#fff;
}

#menu h2.headline{
	border-bottom: 2px solid #333;	
}

#menu h3{
	margin: 0.5em 0 0.1em 0;
	font-size:95%;
	background: #fefefa;
}

#menu h3:first-child{
	margin: 0 0 0 0;
}

#menu h3.weekcalendardate{
	font-size: 80%;
	font-weight: normal;
	width: 95%;
	border-left: 0.5em solid #4396d0;
	padding-left: 0.5em;
    	box-shadow: 1px 1px 2px rgba(100,100,100,0.3);
}

#menu .weekcalendar{
	font-size: 80%;
	line-height: 120%;
	margin: 0.6em 0.5em 0.6em 0.5em;
	padding: 0.1em 0 0.1em 0;
}

#menu h3.pastweekcalendardate{
	font-size: 80%;
	font-weight: normal;
	width: 95%;
	border-left: 0.5em solid #aaa;
	padding-left: 0.5em;
	color: #777;
   	box-shadow: 1px 1px 2px rgba(100,100,100,0.3);
}

#menu .pastweekcalendar{
	font-size: 80%;
	line-height: 120%;
	margin: 0.6em 0.5em 0.6em 0.5em;
	color: #777;
}

#menu h3.nearweekcalendardate{
	font-size: 80%;
	width: 95%;
	color: #111;
	border-left: 0.5em solid #f15c22;
	padding-left: 0.5em;
    	box-shadow: 1px 1px 2px rgba(100,100,100,0.3);
}

#menu .nearweekcalendar{
	font-size: 80%;
	line-height: 120%;
	margin: 0.6em 0.5em 0.6em 0.5em;
}

#menu ul{
	list-style: none;
	margin-left: 18px;
	font-size: 13px;
	list-style: none;
	padding: 0.5em 0 0.5em 0em;
	vertical-align: middle;
}

#menu ul li{
	list-style-type: none;
	text-indent: -18px;
	margin-left: 0;
	margin-right: 0;
	margin-bottom: 0.1em;
	padding: 3px;
	line-height:110%;
}

#menu ul li:before{
	color: #111;
	content: "■";
}

#menu ul li ul{
    list-style: none;
	background: #f8f8f8;
    padding: 0.4em 0.2em 0.2em 0.2em;
    margin-top: 0.1em;
    margin-bottom: 0.2em;
    margin-left:  0.2em;
    margin-right: 0.2em;
    box-shadow: 1px 1px 3px 0px rgba(0,0,0,0.3) inset;
}

#menu ul li ul li{
   text-indent: -0.6em;
    line-height: 130%;
    text-align: left;
    margin-top: 0.2em;
    margin-bottom: 0.2em;
    margin-left: 0.6em;
    margin-right: 0.5em;
	padding: 0 0 0 0;
    border-bottom: 0;
}


#menu ul li ul li:before{
    content: "\2713";
    color: #f30;
}

.menuframe{
	background: #fff;
	margin: 0 0 0.5em 0;
	padding-top: 0.0em;
}
	
#menu a{
	color: #444;
}
#menu a:visited{
	color: #666;
}
#menu A:hover{
	color:#0000f0;
	text-decoration:underline;
}

#footer{
clear:both;
font-size:100%;
width:875px;
padding-top: 6px;
padding-bottom: 6px;
padding-left: 6px;
margin-right: auto;
margin-left: auto;
background-color: #333;
border-left: 1px solid #333;
border-right: 1px solid #333;
background: linear-gradient(#555, #111);
}

#footer ul{
	padding: 0.2em;
	display: inline;
}

#footer ul li{
	display: inline;
	color: #fff;
}

#footer ul li:first-child{
	border-left: 0;
}


#footer a{
	color: #ddd;
}

#footer a:hover{
	color: #fff;
}

#calendar{
margin: 0 0 0 0;
}

#calendar .monthlyframe{
/*	border-top: 1px  solid #ddd;	*/
}

#calendar h2{
	font-size: 120%;
	border-bottom: 2px solid #bbb;
	color:#111;
	background: #fff;
	padding: 0.3em 0em 0.3em 0.5em;
	text-align: left;
	margin-top: 0.5em;
	line-height: 100%;
}

#calendar .date{
	padding: 0.8em 0.5em 0.3em 0.5em;
	font-size: 100%;
	color: #555;
	line-height: 100%;
}

#calendar .title{
	padding: 0.2em 0.5em 0.5em 1em;
	font-size: 100%;
	color: #333;
	line-height: 130%;
	border-bottom: 1px dotted #aaa;
}

#calendar .location{
	margin: 0.7em 0 0.5em 0;
	color: #246;
	font-size: 100%;
}

#calendar .callink{
	vertical-align: 1px;
	font-weight: bolder;
	background-color: #ff9200;
	color: #fff;
	padding: 1px 3px 1px 3px;
	border-radius: 0.3em;
	border: 0;
	font-size: 80%;
	line-height: 90%;
}

#calendar A:before{
	color: #fff;
	content: "\00bb";
}

#calendar A:link{color:#fff}
#calendar A:visited{color:#fff}
#calendar A:hover{
	color:#fff;
	text-decoration:underline;
}

#calendar .updatedNote{
	color: #ff5099;
	font-size: 85%;
}

#calendar .past{
	color: #888;
}

#calendar .current{
	background: #ffffa0;
	color: #333;
}

p.calendarnotice {
	margin-left: auto;
	margin-right: auto;
	margin-top: 0.1em;
	margin-bottom: 0.2em;
	padding: 0.1em;
	width: 95%;
	line-height: 120%;
	font-size:90%;
}

.note{
	margin: 0.5em 0.4em 0.5em 0.4em;
	font-size: 90%;
	line-height: 120%;
}

p.message{
	font-size: 80%;
	line-height: 120%;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
	margin-left: 0.5em;
	margin-right: 0.5em;
}

p.essay{
	font-size: 90%;
	display: inline;
	border-bottom: 1px dashed #aaa;
}

.notice{
	padding: 0.3em;
	color: #9f0b33;
}

.navframe{
	color: #333;
	border-left: 1px solid #ddd;
	border-right: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	text-align: right;
	margin: 0;
	background-color: #ddd;
}
	
a.topbutton {
	color: #333;
	font-size: 90%;
	margin: 0.5em;
}

a.topbutton:before{
	content: "\00bb";
}

a.topbutton:hover{
	color: #000;
}

.navbar {
	color: #eee;
	margin: 0 0em 0.5em 0em;
	padding: 1px 0.5em 1px 0.5em;
	font-size:80%;
	border-radius: 0.5em;
	background-color: #ffa425;
	background: linear-gradient(#ffa425, #fd6c03);
	background: -webkit-gradient(linear, left top, left bottom, from(#ffa425), to(#fd6c03));
	background: -moz-linear-gradient(top, #ffa425, #fd6c03);
    box-shadow: 1px 1px 2px #888;
}

.dropshadow{
    box-shadow: 1px 1px 2px #888; /*rgba(50,50,50,1) ;*/
}

#twocolumnleft{
	float: left;
	width: 48%;
	line-height:120%;
	margin-left: 2em;
	margin-right: 1em;
}

#twocolumnright{
	float: right;
	width: 48%;
	line-height:120%;
	margin-left: 1em;
	margin-right: 2em;
}

.textjustify{
	text-align: justify;
	text-justify: distribute;
	padding-top: 1em;
	padding-left: 1em;
	padding-right: 1em;
	padding-bottom: 1em;
}

.figureright{
	float: right;
	margin-left: 1em;
	margin-right: 0.5em;
	text-align: center;
}

#taiken {
	font-size:100%;
	margin-left: 0em;	
	margin-right: 0em;	
	padding: 0.5em;	
	line-height:140%;
	overflow-x: auto;
}

.figcaption{
	width: 80%;
	line-height: 120%;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 0.5em;
}

#taiken p.q {
	text-indent: -1.5em;
	padding-left: 2.5em;
	padding-top: 0.8em;
	color: #003030;
	margin-bottom: 0em;
	margin-top: 0.3em;
	border-left: 0;
	border-right: 0;
	border-bottom: 0;
	border-top: 1px dotted #888;
}

#taiken p.q:before {
	content: "Q. \0020";
	color: #f050e0;
	font-size: 18pt;
	text-shadow: 1px 1px 2px #ccc;
}

#taiken p.multi {
	margin-bottom: 0em;
	margin-top: 0em;
	border-top: 0;
}

#taiken p.a {
	text-indent: -1.5em;
	padding-left: 2.5em;
	padding-top: 0;
	padding-bottom: 0.5em;
	margin-top: 0.8em;
	margin-bottom: 0em;
	border-top: 0;
	border-left: 0;
	border-right: 0;
}

#taiken p.a:before {
	content: "A. \0020";
	color: #00a0e0;
	font-size: 18pt;
	text-shadow: 1px 1px 2px #ccc;
}

#taiken p.a:last-child {
	border-bottom: 1px dotted #888;
}

sup{
	vertical-align: baseline;
	position: relative;
	top: -1ex;
}

#taiken ul.redcircle{
	font-size:100%;
	list-style: none;
	margin: 0.25em 0 0.25em 0;
	padding: 0 0 0 0em;
	vertical-align: middle;
}

#taiken ul li.redcircle{
	text-indent: -1em;
	margin-left: 1em;
	margin-right: 0;
	margin-bottom: 0em;
	padding: 0.2em;
	line-height:120%;
}

#taiken ul li.redcircle:before{
	color: #f30;
	content: "●";
}

#taiken p.note {
	width: 95%;
	font-size: 100%;
	margin: 0.5em auto 0.5em auto;
	padding: 0.5em;
	line-height: 120%;
	border: 1px solid brown;
}

.syllabusleft{
	clear: both;
	width: 33%;
	float:left;
}
	
.syllabusmiddle{
	width: 33%;
	float:left;
}

.syllabusright{
	width: 33%;
	float:right;
}

.syllabus{
	margin: 0.5em;
}

#main h2.syllabus{
	font-weight: normal;
	font-size: 100%;
	width: 80%;
	border-bottom: 2px solid #aaa;
	color: #333;
	background: #fff;
	margin-top: 0.5em;
}

#main ul{
	margin-top: 0.3em;
	margin-bottom: 0.3em;
	font-size: 100%;
	list-style: none;
	padding: 0 0 0 0em;
	vertical-align: middle;
}

#main ul li{
	margin-right: 0;
	margin-bottom: 0em;
	padding: 0.15em;
	padding-left: 1.5em;
	text-indent: -1.5em;
	line-height:130%;
}

#main ul li:before{
	color: #999;
	content: "\00bb \0020";
}

.navbutton {
	margin-left: 0em;
	margin-right: 0em;
	margin-bottom: 0.5em;
	margin-top: 0.5em;
	padding: 0.3em 0.4em 0.3em 0.4em;
	border: 1px solid #fff;
	font-size:90%;
	line-height:110%;
	background-color: #999;
}

.navbutton a{
	color: #fff;
}
.navbutton a:visited{
	color: #eee;
}
.navbutton A:hover{
	color:#fff;
	text-decoration:underline;
}

.navbutton:last-child {
	margin-right: 0;
}

.colorblue{
	color: #46a;
}

.content{
	margin-left: 0.5em;
	margin-right: 0.5em;
	margin-bottom: 0.5em;
	margin-top: 0.5em;
}

.imageframe{
	text-align: center;
	clear: both;
	float: right;
	width: 250px;
}

.imageframeleft{
	text-align: center;
	clear: both;
	float: left;
	width: 250px;
}

img.aimphoto{
	border-radius: 0.3em;
	display: block;
	vertical-align:middle;
	text-align: center;
	padding: 0px;
	margin: 0.5em auto 0.5em auto;
}

#steps h3{
	display: inline-block;
	line-height: 110%;
	padding: 0 0.2em 0 0.2em;
	font-size: 110%;
}

#steps dl{
	line-height: 100%;
}

#steps dl dt{
	padding: 0.5em 0.5em 0.0em 0.5em;
	font-size: 110%;
	color: #236;
	line-height: 100%;
	border-top: 1px dotted #aaa;
}

#steps dl dt:first-child{
	border-top: 0;
}

#steps dl dd{
	margin: 0;
	padding: 0.5em 1em 0.5em 1.5em;
	font-size: 100%;
	line-height: 120%;
}

#ob .messageleft{
	clear:both;
	width: 48%;
	float: left;
	margin: 0.0em;
	padding: 0.2em;
	border-bottom: 1px dotted #aaa;
}

#ob .messageright{
	width: 48%;
	float: right;
	margin: 0.0em;
	padding: 0.2em;
	border-bottom: 1px dotted #aaa;
}

#ob .portraitframe{
	margin: 0 0.1em 0.1em 0.1em;
	float: right;
}

#ob .name{
	text-align: right;
	color: #236;
}

#mechlabs h3{
	font-size: 110%;
	border-bottom: 2px solid #0f7a40;
	padding: 0 0.2em 2px 0.2em;
	color: #000;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

#mechlabs .labname{
	line-height: 130%;
	margin: 0.5em 0 0 0;
	padding: 0 0 0 0;
	color: #236;
}

#mechlabs .field{
	line-height: 130%;
	margin: 0 1em 0 0;
	padding: 0 0 0 0;
	font-size: 90%;
}

#mechlabs ul{
	font-size: 90%;
	list-style: none;
	margin: 0.2em 1em 0.5em 0;
	padding: 0 0 0 0em;
	vertical-align: middle;
}

#mechlabs ul li{
	text-indent: -1em;
	margin-left: 1em;
	margin-right: 1em;
	margin-bottom: 0em;
	padding: 0.2em;
	line-height:110%;
}

#mechlabs ul li:before{
	color: #f30;
	content: "\00bb \0020";
}

