@charset "UTF-8";
*,*::before,*::after{box-sizing:border-box}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul[role='list'],ol[role='list']{list-style:none}body{min-height:100vh;line-height:1.5}h1,h2,h3,h4,button,input,label{line-height:1.1}h1,h2,h3,h4{text-wrap:balance}a:not([class]){text-decoration-skip-ink:auto;color:currentColor}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}textarea:not([rows]){min-height:10em}:target{scroll-margin-block:5ex}
:root{
	--bs-font-sans-serif:"メイリオ","Meiryo","ヒラギノ角ゴ ProN","Roboto","Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji",sans-serif;
	--bs-body-font-family:var(--bs-font-sans-serif);
	--bs-body-font-size:11pt;rem;
	--bs-body-font-weight:400;
	--bs-body-line-height:2.0;
	--bs-body-bg:#fff;
	--bs-body-color:#333333;
	--bs-link-color:#ffff00;
	--bs-link-hover-color:#ffffff;
	--waseda-color:rgba(127,49,67,1);
	--gsjal-color:#00b2a9;
	--ofune-color:#0070c0;
	--ofune-nav-color:#c06;
	--ofune-top-color:#333;
	--ofune-anchor-color:#aaaaaa;
	--ofune-hover-color:#07c;
	scroll-behavior: smooth;
}
*,::after,::before{box-sizing:border-box}
@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}
*{
	font-feature-settings: "palt" 1;
	font-variant-east-asian: proportional-width;
}
body{
	margin:0;
	font-family:var(--bs-body-font-family);
	font-size:var(--bs-body-font-size);
	font-weight:var(--bs-body-font-weight);
	line-height:var(--bs-body-line-height);
	background-color:var(--bs-body-bg);
	color:var(--bs-body-color);
	text-align:var(--bs-body-text-align);
	-webkit-text-size-adjust:100%;
	-webkit-tap-highlight-color:transparent;
	overflow-wrap: break-word;
	word-break: break-word;
}
a{color:var(--ofune-anchor-color);text-decoration:underline;}
a:hover{color:var(--ofune-hover-color);text-decoration:underline;}
h2,h3{margin-top:5rem;}
h2{
	font-size:1.5em;
	margin:5rem 0 2rem 0;
	padding:15px 0;
	color:var(--ofune-top-color);
	border-bottom:solid 1px var(--ofune-top-color);
	border-top:   solid 1px var(--ofune-top-color);
}
	#whatsnew h2{
		margin:0 0 10px 0;
		padding:4px 0 4px 8px;
		border:none;
		border-left:  10px solid var(--ofune-color);
		border-bottom: none;1px solid var(--ofune-color);
	}
	h2.top{
		margin-top:0;
	}
h3{
	margin-top:5em;
	margin-bottom:2rem;
	font-size:1.3em;
	font-weight:700;
		color:#444;
}
	h2+h3{margin-top:0;}
		.col-lg-4 h3{
			font-family:Arial, "M PLUS Rounded 1c", sans-serif;transform: rotate(0.03deg);
			padding:10px;margin-bottom:10px;
			background:var(--ofune-color);
			color:#fff;
			font-weight:400;
		}
h4{
	margin-top:3rem;padding:5px 10px;
	font-size:1.1em;
	font-weight:400;
	border-left:solid 10px var(--ofune-color);
}
h5{
	margin:2rem 0 2rem 0;
	font-size:1em;
	font-weight:700;
}
p{
	margin:2rem 0;
	max-width:740px;
}
.col-lg-4 ul{
	margin-left:10px;
}
ul{padding-left:1.4rem;margin-bottom:2rem;}
	dd ul, li ul{
		margin-bottom:0.5rem;
	}
	ul.vitae{
		list-style:none;
		margin-left:1.8rem;
		text-indent:-3rem;
	}
	#whatsnew ul{
		list-style:none;
		padding:0 0 0 3rem;
		text-indent:-3rem;
	}
	@media (max-width:576px){#whatsnew ul{padding-left:0;text-indent:-0.5rem;}}
	#whatsnew ul li{
		margin-bottom:1rem;
	}
	#whatsnew ul li ul li{
		margin-bottom:0;
	}

	#whatsnew li ul {
		list-style:disc;
		padding:0;
		margin:0 0 0 1rem;
		text-indent:0;
	}
	.border ul{
		margin-bottom:0.5rem;
		width:100%;
	}
	h4+ul,h4+dl{margin-top:1.5em;}
ul dl{margin-left:2em;}
dt{
	margin:0.5rem 0 0 0;
	color:#444;
}
ul dt{
	font-weight:400;
}
dd{
	margin:0 0 0 3rem;
}
ul dd{
	margin-left:4rem;
}
img{
	margin-left:10px;
}
	img.thumb{width:88px;height:auto;}
	@media (max-width:576px){img.thumb{width:72px;}}
	h1 img{margin-left:0;}
@media (min-width: 576px){br.wrap{display:none;}}

div.border{padding:1rem!important;}
header{width:100%;background:var(--bs-body-bg)}
.logo h1{margin:20px 0 5px 0;}
.logo h1 a{text-decoration:none;}
.logo h1,h2,h3{
	font-family:Arial, "M PLUS Rounded 1c", sans-serif;
	transform: rotate(0.03deg);
}
.logo p{line-height:1.5rem;margin:0;padding:10px 0px;}
#gsjal{
	line-height:1.5rem;
	background:var(--waseda-color);
	color:#fff;
	}
	@media (max-width:576px){#gsjal{font-size:80%;}}
	#gsjal a{color:#fff;text-decoration:none;}
	#gsjal a:hover{color:var(--gsjal-color);text-decoration:underline;}
nav.shadow-sm{background:#e6e6e6;}
nav.navbar{
	background:var(--ofune-nav-color);
	line-height:1.3rem;
	color:#fff;
}
	.navbar a{
		color:#fff!important;
		font-family:Arial, "M PLUS Rounded 1c", sans-serif;transform: rotate(0.03deg);
	}
	.navbar a:hover{color:var(--gsjal-color)!important;}
	.navbar .dropdown-item{
		padding:1rem;
	}
	.navbar a.dropdown-item{
		color:#333!important;
	}
	.navbar .dropdown-menu{
		padding:0;
	}
	.navbar .navbar-toggler{
		border-radius: 0.1em;
		margin:2px;
	}
	.navbar .navbar-toggler-icon{height: 1.0em;}
	.navbar-expand-sm .navbar-nav .nav-link{
		padding-left: 0;
		padding-right: 2rem;
	}
		@media (max-width: 768px) {
			.navbar-expand-sm .navbar-nav .nav-link{padding-right: 1rem;}
		}
		.nav-link span{display:inline;}
			@media (max-width: 768px){.nav-link span{display:none;}}
			@media (max-width: 574px){.nav-link span{display:inline;}}
	.dropdown-item.active, .dropdown-item:active {background-color:var(--gsjal-color);}
.icon{width:1.3rem;height:1.3rem;float:left;}.icon svg use{width:1.3rem;height:1.3rem}
	@media (max-width:576px){
		a .icon{margin:0;padding:0;}
	}
	a[target="_blank"] .icon{;}
.list-unstyled li .icon{margin-top:0.4rem;}

.breadcrumb{
	--bs-breadcrumb-divider:'>';
	font-size:80%;
}
footer{
	background:#333;
	color:#fff;
}
footer a{color:#fff;}
#whatsnew{background-color:#fffffa;}

.scroll-top{
	display:flex;justify-content:center;align-items:center;position:fixed;
	right:15px;bottom:-15px;visibility:hidden;opacity:0;
	width:44px;height:44px;
	background:#fff;
	border:solid 1px #aaa;
	border-radius:0px;transition:.3s;z-index:11;
}
.scroll-top .icon{color:var(--waseda-color);width:20px;height:20px}
.scroll-top:hover{background:var(--ofune-color); box-shadow:0 6px 15px 0 rgba(255,255,255,.5)}
.scroll-top.active{visibility:visible;opacity:1;transition:.3s;bottom:15px}

div.border{padding:20px 30px;}
.pdf{height:1.5rem;width:1.5rem;vertical-align:middle;margin-left:0.4rem;}
.date{font-size:80%;color:#666;margin-left:5px;vertical-align:center;}
#___gcse_0 div.gsc-control-cse.gsc-control-cse-ja{padding:0;}
#___gcse_0{margin-bottom:30px;}

span.dash{margin:0 0.4em 0 0.2em;letter-spacing:-0.1em;}span.dash:after{content:"―";}
span.ilb{display:inline-block;}
