html {
	overflow-y:scroll;
}

body {
	font-family:"YuGothic", "Yu Gothic", "Hiragino Kaku Gothic Pro", "Meiryo", "Roboto", "Noto Sans JP", "Open Sans", "Arial", sans-serif;
	font-size:16px;
	color:#333;
	background:#f4f4f4;
	line-height:1.0;
	padding:0;
	margin:0;
}

a {
	text-decoration:none;
	color:#333;
}

a:hover {
	text-decoration:none;
	color:#111;
}

img {
	border:0;
}

h1 {
	margin:0;
	font-size:1.3em;
}

#main {
	width:980px;
}

#top {
	width:980px;
	margin:0 auto;
	border:0px;
}

#header {
	height:65px;
	padding:5px 0 0 0;
	margin:0;
}

#menu {
	float:left;
	padding-left:20px;
	margin:10px 0 0 0;
}

#topicPath {
	display:inline;
	float:left;
}

#contents {
	width:980px;
	min-height:620px;
	margin-top:70px;
	margin-left:0px;
	margin-bottom:14px;
}

#contents, #pageTop, #footer {
	clear:both;
}

#header h1 {
	font-size:1.3em;
	width:980px;
}

#menu ul {
	list-style:none;
	display:flex;
	gap:66px;
	padding:0;
	margin:0;
}
  
#menu li a {
	position:relative;
	display:inline-block;
	font-family:'YakuHanJP', 'Satoshi', hiragino-kaku-gothic-pron, sans-serif;
	font-size:0.75em;
	font-weight:700;
	color:#111;
	padding-bottom:4px;
}

#menu li a::after {
	content:"";
	position:absolute;
	left:0;
	bottom:0;
	width:0;
	height:2px;
	background:#111;
	transition:width 0.3s ease;
}

#menu li a:hover::after {
	width:100%;
}

#footer {
	display:flex;
	flex-direction:column;
	width:960px;
	margin:0 auto;
	font-family:"Franklin Gothic", sans-serif;
	font-size:0.72em;
	font-weight:700;
	color:#333;
	letter-spacing:0.05em;
    	padding:10px 0;
}

.footer-nav {
	display:flex;
	align-items:center;
	width:100%;
	margin-bottom:5px;
}

.back {
	width:40px;
	text-align:left;
}

.top {
	font-size:1.0em;
	width:40px;
	text-align:right;
	margin-right:0;
}

.ps {
	flex-grow:1;
	max-width:880px;
	font-family:sans-serif;
	font-size:0.96em;
	font-weight:500;
	letter-spacing:-0.05em;
	text-align:center;
}

.copyright {
	width:960px; 
	text-align:center;
	font-size:0.98em;
	font-family:sans-serif;
	font-weight:600;
	font-style:normal;
	letter-spacing:-0.02em;
	margin-top:10px;
}

.relative {
	position:relative;
}

.base {
	width:980px;
	min-height:660px;
	text-align:center;
	padding:0;
}

.menu {
	height:20px;
	font-size:0.8em;
	text-align:left;
	list-style-type:none;
}

.ticon {
	width:980px;
	display:inline-block;
	text-align:center;
	height:30px;
	text-align:center;
	margin-top:40px;
	margin-left:17px;
}

.icon {
	width:25px;
	height:25px;
	margin:0 20px;
	opacity:0.4;
	transition:opacity 0.3s;
}

.icon:hover {
	opacity:1.0;
}

.img {
	pointer-events:none;
}

.alpha img {
	filter:grayscale(80%);
	opacity:0.8;
	transition:filter 0.5s ease, opacity 0.5s ease;
}

.alpha a:hover img {
	filter:grayscale(0%);
	opacity:1.0;
}

.mat {
	position:absolute;
	width:980px;
	height:523px;
}

.link {
	font-size:0.8em;
	text-align:left;
	letter-spacing:-0.05em;
	width:235px;
	height:15px;
	padding-bottom:20px;
	margin:0;
}

a.link_i {
	background:url("../images/link.png") left calc(50% - 1px) no-repeat;
	padding-left:15px;
	margin:0;
	opacity:0.7;
}

a:hover.link_i {
	opacity:1.0;
}

.gallery {
	display:flex;
	width:100%;
	flex-direction:row;
	justify-content:flex-start;
	flex-wrap:wrap;
	align-content:flex-start;
	gap:1px;
	padding-left:20px;
}

.gallery img {
	width:93px;
	height:93px;
	border-radius:0px;
	object-fit:cover;
	display:block;
}

.navi {
	width:180px;
	height:auto;
	text-align:center;
	background:#000;
	padding:0;
	margin:0;
	opacity:1.0;
	overflow:hidden;
}

.navi a img {
	display:block;
	border-radius:0px;
	object-fit:cover;
	width:100%;
	height:100%;
	opacity:0.7;
	transition:opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
	filter:grayscale(0%);
}

.navi a:hover img {
	opacity:1.0;
	transform:scale(1.05);
	transition:opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
	filter:grayscale(0%);
}
