@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Sans:ital,wght@0,100..900;1,100..900&family=Noto+Serif+JP:wght@200..900&family=Noto+Serif:ital,wght@0,100..900;1,100..900&family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap&display=swap');
@media screen and (-webkit-min-device-pixel-ratio:3){html{font-size:19.2px}}
@media screen and (-webkit-min-device-pixel-ratio:2){html{font-size:17.6px}}

*{
	margin:0;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-feature-settings: "pkna", 1;
}
*:lang(en){
	font-family: "Noto Sans", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-variation-settings:"wdth" 100;
	font-feature-settings: "palt" 1;
}
em:lang(en){
	font-style: italic;
}

html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;text-rendering:optimizeLegibility;
	background-color:#deb;color:#080;
	width:100%;
	line-height:2.1;
	overflow-wrap:break-word;
	scroll-behavior:smooth;
}
body{
	width:100%;
	font-size:17px;font-weight:400;
	font-optical-sizing: auto;
	font-style: normal;
}
header{
	width:960px;margin:0 auto;
	color:#063;
}
	header *{
		font-family: "Zen Maru Gothic", sans-serif;
		font-optical-sizing: auto;
		font-weight: 500;
		font-style: normal;
	}
nav{
	width:100%;margin:0;padding:0.2rem 0;
	background-color:#363;color:#fff;
	display:flex;line-height:1.5;
	font-size:.9em;
}
	nav ul{
		width:940px;margin:0 auto;padding:0;
		list-style:none;
	}
	nav ul li{
		display:inline;
	}
	nav ul li+li::before{
		padding:8px;
		content: ">";color:#fff;
	}
	nav ul li a{
		color:#fff;
	}
	nav ul li a:hover{
		color:#060;
	}
	nav ul li.current{
		color:#fff;
	}

	#menu{display:none;}
h1{
	margin:0;padding:10px;
	display:flex;
	flex-wrap:wrap;
	line-height:1.2;
}
h1 span{font-size:70%;margin-top:auto;line-height:1.4;}
h1 span::before{content:"\00A0";}
header p{
	margin:0 0 0 10px;padding-bottom:10px;text-indent:0;
	color:#063;
}
h4,p,ul,li,dl{color:#333;}
dt{font-weight:500;}
#container{
	width:100%;margin:0;
	background-color:#fff;
}
#wrap{
	display:flex;
	width:960px;margin:0 auto;
	align-items: flex-start;
}
#main{
	width:700px;margin:0 40px 40px 0;
	padding:10px;
}
#myMenu{
	background-color:#deb;ffe;
	width:220px;margin:30px 0 0 0;padding:0;
	align-items: normal;
}
#myMenu ul{
	list-style:none;
	margin:0;padding:1em 0;
}
#myMenu ul li{
	margin:0px 0 0px 0;padding:10px 10px;
	border-bottom:none 1px #060;
}
#myMenu ul li::before{
	color:#060;
	content:"● ";
}
#myMenu ul li ul{
	list-style:circle;
	margin:0;padding:0;
}
#myMenu ul li ul li{
	margin:10px 0 0 30px;padding:0;
	border-bottom:none;
}
#myMenu ul li ul li::before{
	content:none;;
}

#myMenu a{text-decoration:none;color:#060;}
#myMenu a:hover{text-decoration:underline;color:#060;}
#myMenu li.current a{font-weight:700}
#myMenu .current ul{font-weight:400}
#myMenu .current ul a{font-weight:400}
#myMenu .current ul .current a{font-weight:700}

footer{
	background-color:#deb;color:#063;
	width:960px;margin:0 auto;
	text-align:center;
}
footer p, footer dl{
	margin:0;padding:30px;color:#060;
}
a{color:#080}
a:hover{
	background-color:#cfc;
	box-shadow: 0 3px 5px #cec;
	transition:.2s;
	border-radius: 5px;
}
h2{
	color:#060;
	font-size:1.8em;font-weight:500;
	margin:0;padding:30px 0 0 0;
	font-family:"Zen Maru Gothic", sans-serif;
	line-height:1.4;
}
h3, h3 a{
	font-size:1.8rem;font-weight:700;
	margin:60px 0 10px 0;padding:0 0 5px 0;
	border-bottom:solid 1px #999;
	font-family:"Noto Sans JP", sans-serif;
}
h3 a{text-decoration:none;	border-bottom:none;}

h3 span:lang(en){
	font-family:"Noto Sans", sans-serif;
	font-style:italic;font-weight:600;
}
h3 span.date{
	font-size:1.4rem;
	display:block;font-weight:400;
}
.news p{
	margin:5px 0 0 0;padding:0;text-indent:0;
}
h4{
	font-weight:700;
	margin-top:2em;
}
h3+h4{margin-top:0;}
blockquote{
	margin:1em 0 1em 3em;
	text-indent:0;
}
ul{
	margin:1em 0 1em 1em;padding:0 0 0 2rem;
}
ul.vitae{
	list-style:none;
	margin:0.5em 0 0 3em;padding:0;
	text-indent:-3em;
}
	ul.vitae li{font-feature-settings:"palt";letter-spacing: 0.08em;}
	.vitae ul{
		margin:0 0 0 2.5rem;padding:0;list-style:circle;
	}
	.vitae ul li{
		margin:0;padding:0 0 0 5rem;;
	}
ul#renew{margin:0 0 0 0;line-height:1.5;padding-left:1.5rem;}
div.box, ul.box{
	border:solid 1px #aaa;
	margin:1em 0;padding:1em 2em;
}
	.box ul{
		margin:0;padding:0 2em;
	}
dd{margin:0 0 0 4rem;}
dd ul{margin:0;}
#thesis dl{list-style-type:disc;}
#thesis dl dt{margin:3em 0 0 0;}
#thesis dl dt:first-child{margin-top:0;}
#thesis dl dt *{font-weight:700;font-size:1.1em;}
#thesis dd{
	display:list-item;
	margin:0 0 0 3rem;padding:0;
}
img{
	float:right;
	box-shadow: 3px 5px 5px #ddd;
	margin-left:10px;
}
img.sboard{
	display:block;
	float:none;
	margin:0 auto;padding:0;
	width:100%;height:auto;
	max-width:960px;
}
a:hover img{opacity:0.8;}
p{
	margin:1rem 0;
	text-indent:1rem;
}
p.top{text-indent:0;margin-bottom:0;}
span.hyde{display:none;}
span.dash{margin:0 0.4em 0 0.2em;letter-spacing:-0.1em;}span.dash::after{content:"―";}
span.iblock{display:inline-block;}
.tag{
	line-height:1.2;text-align:right;display:block;font-size:1rem;margin:0;padding:0;
}
.aright{text-align:right;}
.gotop{
	position:fixed;right:15px;bottom:15px;
	font-size:1.7rem;line-height:1.8rem;padding:15px;
	background:#fff;color:#080;text-decoration:none;
	box-shadow: 0 2px 10px -6px rgba(0,0,0,.5), 0 3px 10px -4px rgba(0,0,0,.2);
	border-radius:10px;
}
.gotop:hover{background-color:#efe;color:#696;}
.noidt{text-indent:0;}
.mt30{margin-top:3rem;}
.mb50{margin-bottom:5rem;}

.news ul.news{margin:0;padding:0 0 0 3rem;text-indent:-3rem;list-style:none;}
.news ul.news li{margin-top:3rem;clear:right;}
.news ul.news li ul{list-style:square;margin-left:3rem;text-indent:0;}
.news ul.news li ul li{clear:none;margin-top:0;clear:none;}
.news ul.news li img{width:120px; height:auto;}
span.date{color:#666;font-size:80%;}
.intro{
	margin:20px 0 80px 0;
	padding:5px 15px;
	background-color:#efe;
}
.intro ul{
	padding:0px;
	list-style:none;
}
.intro ul li{
	margin-left:7.2rem;
	text-indent:-7.2rem;
}
.intro ul span{
	display:inline;padding-right:0.5rem;
}

article:after{content:".";display:block;clear:both;height:0;visibility:hidden;}article{min-height:1px;}* html article{height: 1px;/*¥*//*/height:auto;overflow:hidden;/**/}

.history li{clear:right;margin-bottom:2em;}
.history li ul li{clear:none;margin-bottom:0;}
.history li img{width:120px;height:auto;}
.history li iframe{width:100%;height:auto;}

a span{text-decoration:underline;}


@media screen and (max-width:960px){body{font-size:14.4px}
	header{width:100%;}
	nav{width:100%;	font-size:1em;}
	nav ul{margin-left:10px;}
	#menu{display:inline-block;position:absolute;top:0.2rem;right:10px;font-weight:700;color:#fff}
	nav a#menu:hover{color:#060;}
	#myMenu{display:none;position:absolute;top:26px;right:0;margin-top:0;}
	#container,#wrap,#main,footer{width:98%;margin:0;padding:0 1%;dislpay:block;}
	.gotop{bottom:10px;}
	#main{max-width:700px}
	h3, h3 a{font-size:1.3rem;line-height:1.5;}
	footer{padding:2rem 0;}
	footer dl,footer dt,footer dd{margin:0;padding:0;}
	img.sboard{width:90%;}
}
@media screen and (max-width:592px){
	h1 span::before{content:"\A";}
	header p{line-height:1.4;}
	ul.history{margin:0;padding:0;list-style:none;}
	.history li{margin:3rem 0 0 0;list-style:none;}
	.history li img{width:100px;height:auto;}
	.history li ul li{margin:0;list-style:square;}
	.gotop{bottom:10px;}
}
@media screen and (max-width:412px){
	body{font-size:14.4px;line-height:1.7;}
	h1{font-size:1.2rem;line-height:1.5;}
	h1 span{font-size:0.8rem;}
	h1 span::before{content:"";}
	h2{font-size:1.2rem;}
	h3{margin-top:2rem;}
	h3, h3 a{font-size:1rem;}
	header p{line-height:1.2;}
	ul{padding-left:1rem;margin-left:0;}
	ul.vitae{margin-left:1rem;}
	ul.vitae li{text-indent:-1rem;}
	ul.history{margin:0;padding:0;list-style:none;}
	.history li{margin:3rem 0 0 0;list-style:none;}
	.history li img{width:100px;height:auto;}
	.history li ul li{margin:0;list-style:square;}
	blockquote{margin-left:2rem;}
	p,blockquote{text-indent:0;}
	dd{margin-left:2rem;}
	footer{padding:2rem 0;}
	footer dl,footer dt,footer dd{margin:0;padding:0;}
	footer dl{padding:0 1rem;}
	.tag{font-size:0.6rem;}
	.intro ul li{
		margin-left:2rem;
		text-indent:-2rem;
	}
	footer span{display:inline-block}
	.news img{width:120px;height:auto;}
}
