@charset "UTF-8";

html {
	//scroll-behavior:smooth;
}
a[name] {
	position:absolute;
	display:inline-block;
	top:-3em;
}


/* ************************************************ */
/* カテゴリ共通 */
/* ************************************************ */
main .wrapper > section {
	margin-bottom:3em;
	background-color:white;
	padding:1em;
}
main .wrapper > section.none {
	display:none;
}

main .wrapper > section > h1,
main .wrapper > section > h2
{
	font-size:1.35em;
	padding:.5em 0;
	margin-bottom:.5em;
	border-bottom:1px solid #ddd;
	color:#888;
}

main ul.cate span.cnt {
	letter-spacing:-.03em;
	font-size:.8em;
	color:#aaa;
}
span.cnt::before { content:"("; }
span.cnt::after { content:")"; }

ul.cate li.new .cate > span::after {
	content:"new!!";
	display:inline-block;
	vertical-align:middle;
	font-size:.7em;
	line-height:1;
	padding:0;
	color:red;
	animation-name:flushBox;
	animation-duration:2.5s;
	animation-timing-function:linear;
	animation-iteration-count:infinite;
	animation-fill-mode:forwards;
	transition:opacity .3s linear;
}
@keyframes flushBox {
	70% {
		opacity:1;
	}
	90% {
		opacity:0;
	}
}


/* ************************************************ */
/* 検索 */
/* ************************************************ */
section.search form {
	display:flex;
	max-width:600px;
	flex-flow:row nowrap;
	border:1px solid #ddd;
	border-radius:.2em;
	overflow:hidden;
}
section.search form input {
	flex:1 1 auto;
	width:30em;
	padding:.5em;
	border:none;
	font-size:1em;
	line-height:2;
}
section.search form button {
	flex:0 0 auto;
	width:3.5em;
	border:none;
	background:none;
	color:transparent;
	margin:0;
	box-shadow:none;
	background-size:1.5em;
	background-position:center center;
	background-repeat:no-repeat;
	background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAACs0lEQVRYR72XzXHaQBTH9++bdAkdBCqIXUHQUfsmY7uC2B24gcyQCuKkgZgKTA4rHTEVhFQQ0gG5oNu+zGMEI4nV7pIx7AwX6em9375voAKnKIobZr4GMGTmSwADZl4DWDLzSik1I6IfIT1979H3whhzp5T6IgYjlK8ATPI8n0bItkQOAMqyHFprnwFcHquMmZdpmmZZlq1jv20BGGPE6Dzy1k4bEh6lVEZEyxiIPUB98589xsW1MwDrPM9fyrIcW2uHAMZKqY9dQwKRpukoxhN7AGPMEsC7jrIFgLs8zyXZnKcGF7jWtxIOIroKeWELIAkH4HtHeKq1lkSMOkVRPHW9wcz3RCTPe88WoCgKidubhtRCay3uPeo4vLjSWo+8AFLnSqnnphCAkc/tvnAw8++Orkzypu8bOFx3lOu7io0xkg/XjedftdYPPgChe98QuNVaz47yfUPYkU/ecIoHWvEH4HVZCExKlJnnO7lQNQgAN5VqrXvbc8i4vO8CyDOfznN44BcR9bZ1AWjlQEzt+jzxPznQbSCvWgXM/JmIJr4qeM0+0EpAMcrMV77BtGvFMs/fxmau6zbz+Xyw2Wxkku7jzcx/iGgYbMWuWcDMT0R0H5P5tXFZXlqzIyafvNNQavji4uI2MA1lNIvxbqZHzZM9gNyiqioZu82htHOAtNeZ7IAAwMxc74iSP/I7OLHb0cFGBEDK0gURE42WTAzEQder4/niWE5iABbMPOh8u0iS5KaqqrFrxoS24kmzOvoIJNuVUhNZPjoX+Gut/QDgm+SIKymDfb/u7RJnUbC9nRgEsGJmCZf8L2gtoHU+zay1n3bGGyXe2pKCADF+j+0LLoiTAbg2rSboLhwnAxBjPcvunkN2j5MChCCkTE8OEII4C4AHYno2gN26Zq19rBvVNEmSh3+72rOzuY5r2wAAAABJRU5ErkJggg==);
}


/* ************************************************ */
/* 大カテゴリ一覧 */
/* ************************************************ */
section.big .cate li {
	display:inline-block;
}
section.big .cate li a {
	display:inline-block;
	border:1px solid silver;
	border-radius:.2em;
	margin:.3em .4em;
	padding:.4em .5em;
	min-width:8em;
	text-align:center;
}
section.big .cate .select a {
	color:#fff;
	background-color:#999;
}
section.big .all-list li {
	position:relative;
	display:block;
	text-align:right;
	border-top:1px solid #ddd;
	padding-top:.3em;
	margin-top:.3em;
}
section.big .all-list li a {
	border:0;
	margin:0;
	padding:.5em 1.8em .5em;
}
section.big .all-list li::after {
	content: "";
	display: block;
	position: absolute;
	right:.8em;
	top:1.3em;
	width: .5em;
	height: .5em;
	border: 1px solid silver;
	border-width: 1px 1px 0 0;
	transform: rotate(45deg);
}


/* ************************************************ */
/* カテゴリ一覧 */
/* ************************************************ */
.cview > ul.cate {
	position:relative;
}
.cview > ul > li {
	max-width:400px;
	margin-bottom:1em;
}
.cview > ul > li.li0 {
	margin-bottom:3em;
}
.cview li {
	position:relative;
}
.cview .li0 > a.cate {
	font-size:1.15em;
	color:steelblue;
	display:block;
	border-radius:0 1em 1em 0;
	padding-right:1em;
}
.cview ul ul ul {
	margin-left:1.4em;
}
.cview ul ul li .mark::before {
	display:inline-block;
	line-height:1.3;
	width:1.5em;
	text-align:right;
	vertical-align:middle;
	content:"・";
}
.cview ul ul li.close .mark::before {
	border:1px solid #ddd;
	border-radius:.2em;
	text-align:center;
	content:"+";
	color:steelblue;
	cursor:pointer;
}
.cview li.close > ul {
	display:none;
}
.cview a.cate {
	color:#444;
	line-height:1.7;
}
.cview li.close a.cate {
}
.cview li.now:not(.child) {
	background-color:#eee;
}
.cview li.now:not(.child) > .cate::after {
	display:inline-block;
	content:"参照";
	color:red;
	background-color:white;
	font-size:.8em;
	border:1px solid red;
	border-radius:.2em;
	line-height:1.3;
	padding:0 .3em;
	vertical-align:middle;
}
.cview li.up > a.cate {
	color:steelblue;
	font-weight:bold;
}


/* アイコン */
.cview .li0 > a.cate {
	padding-left:1.6em;
	background-repeat:no-repeat;
	background-position:center left;
	background-size:1.4em;
}


/* アニメーション */
.cate.flush {
	transition:background-color .3s linear;
	background-color:lavender;
}


/* ************************************************ */
/* スマホ対応 */
/* ************************************************ */
@media screen and (max-width: 900px) {

main .wrapper {
	display:flex;
	flex-flow:column nowrap;
}
main .wrapper > section.big {
	order:1;
}

main .wrapper > section {
	margin-bottom:2em;
	padding:1.5%;
}

main .wrapper > section > h1 {
	margin-bottom:0;
}

main .wrapper > section ul {
	width:100%;
	margin:0;
	border-top:1px solid #ddd;
}
main .wrapper > section ul.cate li {
	margin:0;
	border-top:0;
	max-width:initial;
	text-align:left;
}
main .wrapper > section ul ul li { padding-left:1.5em; }
main .wrapper > section ul ul li:last-child {
	border-bottom:none;
}
main .wrapper > section ul.cate li {
	position:relative;
	display:block;
}
main .wrapper > section ul li:not(:last-child) {
	border-bottom:1px solid #ddd;
}
main .wrapper > section ul li::after {
	content: "";
	display: block;
	position: absolute;
	right:.8em;
	top:1.2em;
	width: .5em;
	height: .5em;
	border: 1px solid silver;
	border-width: 1px 1px 0 0;
	transform: rotate(45deg);
}
main .wrapper > section ul li.child::after {
	transform: rotate(135deg);
}
section.big .cate li a {
	text-align:left;
}
section.big .cate .select a {
	color:#666;
	background-color:transparent;
}
.big .all-list a::before { content:"("; }
.big .all-list a::after { content:")"; }
.cview ul ul li .mark {
	display:none;
}
main .wrapper > section ul li a:not([name]) {
	display:block;
	border:none;
	margin:0;
	padding:.7em 1.5em .7em .5em;
}

.cate > a.cate {
	margin:.2em;
}

.cview .li0 > a.cate { font-size:1em; }

}

@media screen and (max-width: 600px) {

}
