@charset 'UTF-8';

/**
*	http://asamuzak.jp/
*	layout.css
*	Copyright (c) 2006-2016 Kazz
*	http://asamuzak.jp
*	Dual licensed under MIT or GPL
*	http://asamuzak.jp/license
*/

/*	font-face */
@font-face {
	font-family: 'GillSans-Bold Wd';
	font-style: normal;
	font-weight: bold;
	src: url(../font/gillsan2.woff2) format('woff2');
}

/*	keyframes	*/
@keyframes zoomInBg {
	from {
		background-position: 0% 200%, 50% 10rem;
		background-size: 100% 200%, auto 0%;
	}
	50% {
		background-position: 0% 200%, 50% 0;
	}
	to {
		background-position: 0% 200%, 50% 0;
		background-size: 100% 200%, auto 100%;
	}
}
@keyframes softenBgContrast {
	from {
		background-position: 0% 200%, 50% 0;
	}
	to {
		background-position: 0% 0%, 50% 0;
	}
}
@keyframes flipInitial {
	from {
		color: rgb(175,122,44);
		text-shadow: 0 0 1px rgba(127,88,33,0.5), -1px -1px 0 rgba(127,88,33,0.5), 0 -1px 0 rgba(127,88,33,0.5), 1px -1px 0 rgba(127,88,33,0.5), 1px 0 0 rgba(127,88,33,0.5), 1px 1px 0 rgba(127,88,33,0.5), 0 1px 0 rgba(127,88,33,0.5), -1px 1px 0 rgba(127,88,33,0.5), -1px 0 0 rgba(127,88,33,0.5);
		transform: scaleX(1) translateX(0.025em);
	}
	20% {
		color: rgb(255,255,255);
		text-shadow: 0 0 3px rgba(255,223,33,0.8), -1px -1px 3px rgba(255,223,33,0.8), 0 -1px 3px rgba(255,223,33,0.8), 1px -1px 3px rgba(255,223,33,0.8), 1px 0 3px rgba(255,223,33,0.8), 1px 1px 3px rgba(255,223,33,0.8), 0 1px 3px rgba(255,223,33,0.8), -1px 1px 3px rgba(255,223,33,0.8), -1px 0 3px rgba(255,223,33,0.8);
	}
	30% {
		transform: scaleX(1) translateX(0.025em);
	}
	80% {
		color: rgb(255,255,255);
		text-shadow: 0 0 3px rgba(255,223,33,0.8), -1px -1px 3px rgba(255,223,33,0.8), 0 -1px 3px rgba(255,223,33,0.8), 1px -1px 3px rgba(255,223,33,0.8), 1px 0 3px rgba(255,223,33,0.8), 1px 1px 3px rgba(255,223,33,0.8), 0 1px 3px rgba(255,223,33,0.8), -1px 1px 3px rgba(255,223,33,0.8), -1px 0 3px rgba(255,223,33,0.8);
		transform: scaleX(-1) translateX(-0.025em);
	}
	to {
		color: rgb(175,122,44);
		text-shadow: 0 0 1px rgba(127,88,33,0.5), -1px -1px 0 rgba(127,88,33,0.5), 0 -1px 0 rgba(127,88,33,0.5), 1px -1px 0 rgba(127,88,33,0.5), 1px 0 0 rgba(127,88,33,0.5), 1px 1px 0 rgba(127,88,33,0.5), 0 1px 0 rgba(127,88,33,0.5), -1px 1px 0 rgba(127,88,33,0.5), -1px 0 0 rgba(127,88,33,0.5);
		transform: scaleX(-1) translateX(-0.025em);
	}
}
@keyframes showMenu {
	from {
		border-width: 0;
		max-height: 0;
		opacity: 0;
	}
	to {
		border-width: 1px;
		max-height: calc(100% - 5rem);
		opacity: 1;
	}
}
@keyframes hideMenu {
	from {
		border-width: 1px;
		max-height: calc(100% - 5rem);
		opacity: 1;
	}
	to {
		border-width: 0;
		max-height: 0;
		opacity: 0;
	}
}
@keyframes showNavi {
	from {
		border-radius: 0;
		max-width: 26%;
	}
	to {
		border-radius: 8px 8px 8px 0;
		max-width: 65%;
	}
}
@keyframes hideNavi {
	from {
		border-radius: 8px 8px 8px 0;
		max-width: 65%;
	}
	to {
		border-radius: 0;
		max-width: 26%;
	}
}
@keyframes showSearch {
	from {
		border-radius: 0;
		max-width: 26%;
	}
	to {
		border-radius: 8px 8px 0 8px;
		max-width: 65%;
	}
}
@keyframes hideSearch {
	from {
		border-radius: 8px 8px 0 8px;
		max-width: 65%;
	}
	to {
		border-radius: 0;
		max-width: 26%;
	}
}
@keyframes showInfo {
	from {
		border-radius: 0;
		max-width: 26%;
	}
	to {
		border-radius: 8px 8px 0 8px;
		max-width: 80%;
	}
}
@keyframes hideInfo {
	from {
		border-radius: 8px 8px 0 8px;
		max-width: 80%;
	}
	to {
		border-radius: 0;
		max-width: 26%;
	}
}

@media all {
/*	common	*/
html {
	margin: 0;
	border: 0;
	padding: 0;
}
head {
	display: none;
}
body {
	position: static;
	display: block;
	margin: 0;
	border: 0;
	padding: 0;
	width: 100%;
	min-height: 100%;
	background: rgb(16,49,18);
	color: rgb(248,244,243);
	font: normal normal normal 100%/1.6 sans-serif;
}
div,
article,
aside,
dialog,
figure,
footer,
header,
main,
menu,
nav,
section {
	position: static;
	display: block;
	margin: 0;
	border: 0;
	padding: 0;
	max-width: 100%;
	width: auto;
	height: auto;
}
h1 {
	position: static;
	display: block;
	margin: 1rem 0;
	border: 0;
	padding: 0;
	background: transparent;
	color: rgb(248,244,243);
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
}
h2 {
	position: static;
	display: block;
	margin: 1rem 0;
	border: 0;
	padding: 0;
	background: transparent;
	color: rgb(16,49,18);
	font-size: 1.2rem;
	font-weight: bold;
	text-align: left;
	text-shadow: 1px 1px 1px rgba(192,192,192,0.6);
}
h3 {
	position: static;
	display: block;
	margin: 1rem 0;
	border: 0;
	padding: 0;
	background: transparent;
	color: rgb(16,49,18);
	font-size: 1.15rem;
	font-weight: bold;
	text-align: left;
	text-shadow: 1px 1px 1px rgba(192,192,192,0.6);
}
h4 {
	position: static;
	display: block;
	margin: 1rem 0;
	border: 0;
	padding: 0;
	background: transparent;
	color: rgb(16,49,18);
	font-size: 1.1rem;
	font-weight: bold;
	text-align: left;
	text-shadow: 1px 1px 1px rgba(192,192,192,0.6);
}
h5 {
	position: static;
	display: block;
	margin: 1rem 0;
	border: 0;
	padding: 0;
	background: transparent;
	color: rgb(16,49,18);
	font-size: 1.05rem;
	font-weight: bold;
	text-align: left;
	text-shadow: 1px 1px 1px rgba(192,192,192,0.6);
}
h6 {
	position: static;
	display: block;
	margin: 1rem 0;
	border: 0;
	padding: 0;
	background: transparent;
	color: rgb(16,49,18);
	font-size: 1rem;
	font-weight: bold;
	text-align: left;
	text-shadow: 1px 1px 1px rgba(192,192,192,0.6);
}
p {
	position: static;
	display: block;
	margin: 1rem 0;
	border: 0;
	padding: 0;
}
fieldset > p {
	margin: 0.5rem 0;
}
form {
	position: static;
	display: block;
	margin: 1rem 0;
	border: 0;
	padding: 0;
}
fieldset {
	position: static;
	display: block;
	margin: 0;
	border: 1px solid rgba(16,49,18,0.9);
	border-radius: 6px;
	padding: 0.5rem;
}
legend {
	background: transparent;
	color: rgb(16,49,18);
	font-weight: bold;
	text-shadow: 1px 1px 1px rgba(192,192,192,0.6);
}
input {
	font-size: 1em;
}
input[type=text],
input[type=email],
input[type=password] {
	min-width: 8rem;
	max-width: calc(100% - 4px);
	width: auto;
}
button,
input[type=submit],
input[type=button],
input[type=reset] {
	border: 1px solid rgba(16,49,18,0.5);
	border-radius: 4px;
	background-color: rgb(245,245,245);
	color: rgba(16,49,18,0.8);
	font-family: sans-serif;
	font-weight: bold;
	box-shadow: 0 1px 1px 0 rgba(255,255,255,0.3) inset, 0 -1px 1px 0 rgba(0,0,0,0.3) inset;
	-webkit-transition: background-color 0.2s ease-out, color 0.2s ease-out, border-color 0.2s ease-out, box-shadow 0.2s ease-out;
	transition: background-color 0.2s ease-out, color 0.2s ease-out, border-color 0.2s ease-out, box-shadow 0.2s ease-out;
}
button:hover,
input[type=submit]:hover,
input[type=button]:hover,
input[type=reset]:hover,
button:focus,
input[type=submit]:focus,
input[type=button]:focus,
input[type=reset]:focus {
	border-color: rgba(175,122,44,0.5);
	background-color: rgb(255,255,255);
	color: rgba(16,49,18,1);
	box-shadow: 0 1px 1px 0 rgba(255,255,255,0.3) inset, 0 -1px 1px 0 rgba(0,0,0,0.3) inset, 0 0 4px 1px rgba(255,223,33,0.8);
	cursor: pointer;
}
button:active,
input[type=submit]:active,
input[type=button]:active,
input[type=reset]:active {
	box-shadow: 1px 1px 1px 0 rgba(0,0,0,0.3) inset, 0 0 4px 1px rgba(175,122,44,0.8);
}
button[disabled],
input[type=submit][disabled],
input[type=button][disabled],
input[type=reset][disabled],
button[disabled]:hover,
input[type=submit][disabled]:hover,
input[type=button][disabled]:hover,
input[type=reset][disabled]:hover,
button[disabled]:active,
input[type=submit][disabled]:active,
input[type=button][disabled]:active,
input[type=reset][disabled]:active {
	border-color: rgba(16,49,18,0.8);
	background-color: rgba(245,245,245,0.5);
	box-shadow: none;
	-webkit-transition: none;
	transition: none;
	cursor: not-allowed;
}
textarea {
	min-width: 16rem;
	width: auto;
	min-height: 12rem;
	height: auto;
}
dl {
	position: static;
	display: block;
	margin: 1rem 0;
	border: 0;
	padding: 0;
}
dt {
	display: block;
	font-weight: bold;
}
dd {
	display: block;
	margin-left: 1rem;
	padding-left: 0;
}
ul {
	position: static;
	display: block;
	margin: 1rem 0;
	border: 0;
	padding: 0 0 0 1rem;
}
ol {
	position: static;
	display: block;
	margin: 1rem 0;
	border: 0;
	padding: 0 0 0 1.5rem;
}
ol[class] {
	padding: 0;
	counter-reset: item;
	list-style: none;
}
ol ul,
ul ol,
ul ul,
ol ol {
	margin: 0;
}
ol[class] > li {
	margin-left: 0;
	padding-left: 0;
	counter-increment: item;
}
ol[class] > li::before {
	display: inline-block;
	min-width: 1.5em;
	content: counter(item) '. ';
}
table {
	position: static;
	display: table;
	margin: 1rem 0;
	border: 1px solid rgb(16,49,18);
	border-collapse: collapse;
}
figure > table {
	font-size: 0.9em;
}
caption {
	color: rgb(16,49,18);
	font-weight: bold;
	text-align: center;
	text-shadow: 1px 1px 1px rgba(192,192,192,0.6);
}
th {
	border: 1px solid rgb(16,49,18);
	padding: 0.5rem;
	font-weight: bold;
	text-align: center;
}
td {
	border: 1px solid rgb(16,49,18);
	padding: 0.5rem;
}
blockquote {
	position: static;
	display: block;
	margin: 1rem 0;
	border: 1px solid rgb(192,192,192);
	border-radius: 8px;
	padding: 0.5rem;
	background: rgba(74,121,165,0.1);
}
blockquote::before {
	display: block;
	color: rgba(16,49,18,0.5);
	font-size: 0.9em;
	font-weight: bold;
	content: "[\5F15\7528]"; /* [引用] */
}
blockquote[title]::after {
	display: block;
	color: rgb(16,49,18);
	font-size: 0.9em;
	font-style: italic;
	text-align: right;
	white-space: pre-wrap;
	content: attr(title);
}
blockquote[title][cite]::after {
	display: block;
	color: rgb(16,49,18);
	font-size: 0.9em;
	font-style: italic;
	text-align: right;
	white-space: pre-wrap;
	word-wrap: break-word;
	content: attr(title) '\a' attr(cite);
}
blockquote > :first-child {
	margin-top: 0;
}
q {
	display: inline-block;
	margin: 0 0.1rem;
	border: 1px solid rgb(192,192,192);
	border-radius: 4px;
	padding: 0.1rem;
	background: rgba(74,121,165,0.1);
	quotes: '"' '"' "'" "'";
}
q::before {
	margin-right: 0.2em;
	color: rgba(16,49,18,0.5);
	font-size: 0.9em;
	font-weight: bold;
	content: "[\5F15\7528]"; /* [引用] */
}
q::after {
	content: no-close-quote;
}
pre {
	position: static;
	display: block;
	margin: 1rem 0;
	border: 1px solid rgb(192,192,192);
	border-radius: 6px;
	padding: 0.5rem;
	background: rgba(74,121,165,0.1);
	font-family: monospace;
	white-space: pre-wrap;
	word-wrap: break-word;
}
address {
	position: static;
	display: block;
	margin: 1rem 0;
}
object {
	position: static;
	margin: 0;
	border: 0;
	padding: 0;
	max-width: 100%;
	width: auto;
	height: auto;
}
object[data] {
	border: 1px solid rgb(192,192,192);
	border-radius: 8px;
	box-shadow: 2px 2px 3px 0 rgba(96,96,96,0.6);
}
iframe {
	position: static;
	display: block;
	margin: 1rem 0;
	border: 0;
	padding: 0;
	max-width: 100%;
	width: auto;
	height: auto;
}
video {
	margin: 1rem 0;
	border: 0;
	padding: 0;
	max-width: 100%;
	width: 16rem;
	height: auto;
}
figcaption {
	position: static;
	display: block;
	margin: 0;
	border: 0;
	padding: 0;
	max-width: 100%;
	width: auto;
	height: auto;
	color: rgb(16,49,18);
	font-size: 0.9em;
	text-align: left;
}
.img_r figcaption,
.img_l figcaption {
	text-align: center;
}
hr {
	border: 1px solid rgb(16,49,18);
}
del {
	color: rgb(128,128,0);
	text-decoration: line-through;
}
ins {
	border: 1px solid rgb(192,192,192);
	border-radius: 6px;
	padding: 0 0.5rem;
	background: rgba(74,121,165,0.1);
	text-decoration: none;
}
ins::before {
	margin-top: 0.5em;
	margin-right: 0.2em;
	color: rgba(16,49,18,0.5);
	font-size: 0.9em;
	font-weight: bold;
	content: "[\8FFD\8A18]"; /* [追記] */
}
code ins::before,
.lyrics ins::before {
	display: none;
}
.main > del,
.main > ins {
	display: block;
	margin: 1rem 0;
}
ins > :first-child {
	margin-top: 0;
}
blockquote pre,
blockquote ins {
	background: transparent;
}
a {
	border-radius: 4px;
	padding: 0 0.2rem;
	text-decoration: underline;
}
a:link {
	color: rgb(0,0,238);
}
a:visited {
	color: rgb(102,51,153);	/* rebeccapurple */
}
a:hover {
	background: rgba(16,49,18,0.6);
	color: rgb(255,223,33);
	box-shadow: 0 0 2px 0 rgba(16,49,18,0.6);
}
abbr[title],
dfn[title] {
	border-bottom: 1px dotted;
	font-style: normal;
	cursor: help;
}
cite,
var {
	padding-right: 0.3rem;
	padding-left: 0.2rem;
	font-style: italic;
}
code,
kbd,
samp {
	padding-right: 0.2rem;
	padding-left: 0.2rem;
	font-family: monospace;
}
em {
	color: rgb(217,35,31);
	font-style: normal;
}
i {
	color: rgb(16,49,18);
}
img {
	margin: 0;
	border: 0;
	border-radius: 6px;
	padding: 0;
	max-width: 16rem;
	width: auto;
	max-height: 12rem;
	height: auto;
	box-shadow: 2px 2px 3px 0 rgba(96,96,96,0.6);
}
button > img {
	border-radius: 0;
	box-shadow: none;
}
mark {
	display: inline-block;
	border: 1px solid rgb(192,192,192);
	padding: 0 0.2rem;
	background-color: rgba(186,217,64,0.7);
	color: rgb(217,35,31);
	font-style: italic;
	font-weight: bold;
}
strong {
	color: rgb(217,35,31);
	font-weight: bold;
}
.counter2 {
	counter-reset: item 1;
}
.counter3 {
	counter-reset: item 2;
}
.counter4 {
	counter-reset: item 3;
}
.counter5 {
	counter-reset: item 4;
}
.counter6 {
	counter-reset: item 5;
}
.counter7 {
	counter-reset: item 6;
}
.counter8 {
	counter-reset: item 7;
}
.counter9 {
	counter-reset: item 8;
}
.sample {
	position: static;
	display: block;
	margin: 1rem 0;
	border: 1px solid rgb(192,192,192);
	border-radius: 6px;
	padding: 0.5rem;
	background: rgba(74,121,165,0.1);
	white-space: pre-wrap;
	word-wrap: break-word;
	font-family: monospace;
}
.sample::before {
	display: block;
	color: rgba(16,49,18,0.5);
	content: "[\30B5\30F3\30D7\30EB]"; /* [サンプル] */
	font-weight: bold;
	font-size: 0.9em;
}
blockquote .sample {
	background: transparent;
}
.img_l {
	float: left;
	margin-right: 1rem;
	margin-bottom: 1rem;
}
.img_r {
	float: right;
	margin-bottom: 1rem;
	margin-left: 1rem;
}
.verlong,
.portrait {
	max-width: 12rem;
	max-height: 16rem;
}
.square {
	max-width: 12rem;
	max-height: 12rem;
}
.scenario {
	display: flex;
	flex-flow: row wrap;
}
.scenario > dt {
	margin: 1rem 0 0;
	padding: 0;
	width: 4rem;
}
.scenario > dd {
	margin: 1rem 0 0 1rem;
	padding: 0;
	width: calc(100% - 5rem);
}
.img-container {
	margin: 1rem 0;
	padding: 0.5rem;
}
.img-container::before {
	display: block;
}
.img-anchor {
	padding: 0;
	border-radius: 0;
}
.img-anchor:hover {
	border: 0;
	background: transparent;
	color: transparent;
	box-shadow: none;
}
.back-to::before,
.refer-to::before,
.continued::before {
	display: inline-block;
	margin-right: 0.25em;
	color: rgb(16,49,18);
	font-weight: bold;
	font-size: smaller;
	text-decoration: none;
	content: '\00BB';
}
.pre {
	word-wrap: break-word;
}

/*	structure	*/
#root-container {
	margin: 0 1em;
}
#header-container > h1 {
	max-width: 100%;
	font-family: 'GillSans-Bold Wd', sans-serif;
	text-shadow: 0 0 1px rgba(175,122,44,0.9), -1px -1px 0 rgba(175,122,44,0.9), 0 -1px 0 rgba(175,122,44,0.9), 1px -1px 0 rgba(175,122,44,0.9), 1px 0 0 rgba(175,122,44,0.9), 1px 1px 0 rgba(175,122,44,0.9), 0 1px 0 rgba(175,122,44,0.9), -1px 1px 0 rgba(175,122,44,0.9), -1px 0 0 rgba(175,122,44,0.9);
	-ms-transform: scale(1.5,1);
	-webkit-transform: scale(1.5,1);
	transform: scale(1.5,1);
}
.mirror_initial {
	position: relative;
	display: inline-block;
	margin: 0.1em;
	width: 1em;
	background: transparent;
	color: rgb(175,122,44);
	text-shadow: 0 0 1px rgba(127,88,33,0.5), -1px -1px 0 rgba(127,88,33,0.5), 0 -1px 0 rgba(127,88,33,0.5), 1px -1px 0 rgba(127,88,33,0.5), 1px 0 0 rgba(127,88,33,0.5), 1px 1px 0 rgba(127,88,33,0.5), 0 1px 0 rgba(127,88,33,0.5), -1px 1px 0 rgba(127,88,33,0.5), -1px 0 0 rgba(127,88,33,0.5);
	z-index: 1;
	-ms-transform: scaleX(-1) translateX(-0.025em);
	-webkit-transform: scaleX(-1) translateX(-0.025em);
	transform: scaleX(-1) translateX(-0.025em);
}
.mirror_initial::before {
	position: absolute;
	left: -0.05em;
	top: 0;
	border: 0.05em solid rgb(175,122,44);
	border-top-width: 0.075em;
	border-bottom-width: 0.075em;
	border-radius: 2px / 3px;
	width: 1em;
	height: 1.5em;
	background-color: rgb(175,122,44);
	background-image: url(../svg/mirror_back.svg);
	background-image: linear-gradient(to bottom, rgb(217,35,31) 0%, rgb(217,35,31) 50%, rgb(248,244,243) 50%, rgb(248,244,243) 100%);
	background-position: center center;
	background-size: 100% 100%;
	background-repeat: repeat-x;
	background-clip: border-box;
	content: '';
	z-index: -1;
}
#global-navigation {
	margin: 1rem auto;
	padding: 0;
	width: auto;
	list-style: none;
	text-align: center;
}
#global-navigation > li {
	display: inline-block;
	margin: 0;
	border: 0;
	padding: 0 0.5rem;
}
#breadcrumbs-list {
	background: transparent;
	color: rgb(255,223,33);
	counter-reset: none;
	font-weight: bold;
	text-align: right;
}
#breadcrumbs-list > li {
	display: inline-block;
	margin: 0;
	border: 0;
	padding: 0;
	font-size: 0.9rem;
	counter-increment: none;
}
#breadcrumbs-list > li::before {
	display: inline-block;
	margin: 0 0.3em;
	color: rgb(255,223,33);
	font-weight: bold;
	content: '\203A';
}
#breadcrumbs-list li:first-child::before {
	display: none;
}
#global-navigation a,
#breadcrumbs-list a {
	border-radius: 0;
	color: rgb(248,244,243);
	font-weight: bold;
}
#global-navigation a:link,
#breadcrumbs-list a:link {
	color: rgb(248,244,243);
}
#global-navigation a:visited,
#breadcrumbs-list a:visited {
	color: rgb(192,192,192);
}
#global-navigation a:hover,
#breadcrumbs-list a:hover {
	background: transparent;
	color: rgb(255,223,33);
}
#toolbar {
	display: none;
}
#utility-list > dt {
	color: rgb(16,49,18);
}
#utility-list > dd {
	margin-left: 0;
}
#utility-list > dd ul li a {
	display: inline-block;
}
#utility-list > dd ul li .excerpt {
	display: block;
}
.entry-container {
	margin: 1rem 0;
	border: 1px solid rgb(16,49,18);
	border-radius: 8px;
	padding: 0.5rem 0.5rem 1rem;
	background: rgb(248,244,243);
	color: rgb(0,0,0);
}
.entry-extended {
	margin: 1.5rem 0 1rem;
}
.entry-extended::before {
	display: inline-block;
	margin-right: 0.2em;
	color: rgb(16,49,18);
	content: '\203A';
	text-decoration: none;
	font-size: smaller;
	font-weight: bold;
}
.entry-container > footer {
	clear: left;
	margin: 1rem 0;
}
.entry-footer {
	clear: right;
	margin: 1rem 0;
	padding: 0;
	list-style: none;
	text-align: right;
}
.entry-footer > li {
	display: inline-block;
	margin: 0;
	padding: 0 0 0 1rem;
	font-size: 0.9em;
}
.entry-footer > .tweet-button {
	float: left;
	margin: 0;
	padding: 0;
}
.entry-footer > .entry-posted {
	display: block;
}
.related-entries {
	display: table;
	table-layout: fixed;
	box-sizing: border-box;
	margin: 0 auto;
	border: 0;
	padding: 0 0 1rem;
	width: auto;
	font-size: 0.9em;
	list-style: none;
}
.related-entries > li {
	display: table-cell;
	box-sizing: border-box;
	padding: 0 1rem;
	max-width: 50%;
	width: 50%;
	text-align: center;
}
.related-entries > li:only-child {
	max-width: 100%;
	width: 100%;
	text-align: center;
}
.previous-entry > a::before {
	display: inline-block;
	margin-right: 0.5em;
	color: rgb(16,49,18);
	font-size: smaller;
	font-weight: bold;
	text-decoration: none;
	content: '\00AB';
}
.next-entry > a::after {
	display: inline-block;
	margin-left: 0.5em;
	color: rgb(16,49,18);
	font-size: smaller;
	font-weight: bold;
	text-decoration: none;
	content: '\00BB';
}
.entry-comment {
	clear: left;
	border-top: 1px solid rgb(16,49,18);
	font-size: 0.9em;
}
.comment {
	margin: 1rem 0;
	border: 1px solid rgb(192,192,192);
	border-radius: 6px;
	padding: 0.5rem;
	background: rgba(74,121,165,0.1);
}
.comment > header > h4 {
	display: none;
}
.comment-footer {
	clear: left;
	margin: 0;
	padding: 0;
	font-size: 0.9em;
	list-style: none;
	text-align: left;
}
.comment-footer li {
	display: inline;
	padding-right: 0;
	padding-left: 1rem;
}
.entry-trackbacks dd {
	margin-left: 1rem;
	padding-left: 0;
}
.entry-comment > form {
	margin: 1rem 0;
}
.entry-comment > form .note {
	font-size: 0.9em;
}
.entry-comment > form textarea {
	max-width: 90%;
}
#footer-container {
	margin: 1rem 0;
	padding: 0.5rem;
}
#footer-container > ul {
	padding: 0;
	list-style: none;
	text-align: center;
}
#footer-container > ul a {
	border-radius: 0;
	background: transparent;
	color: rgb(255,223,33);
}
#footer-container > ul a:hover {
	background: transparent;
	color: rgb(255,255,255);
}
#footer-container > ul img {
	border-radius: 0;
}
#footer-container > ul a > img {
	vertical-align: middle;
}
/* page */
.search-options {
	list-style: none;
}
.qlnk {
	display: flex;
	flex-flow: row wrap;
	margin: 1rem 0;
	padding: 0;
	list-style: none;
}
.qlnk > li {
	float: left;
	display: block;
	flex: 1 1 auto;
	margin: 0 1rem 1.5rem 0;
	padding: 0;
	min-width: 6rem;
	width: 8rem;
	width: calc(99.9999% / 6 - 1rem);
}
/* hiyaketai qa, misc data */
.qainfo,
.datainfo {
	margin: 1rem 0;
	border: 1px solid rgb(192,192,192);
	border-radius: 6px;
	padding: 0.5rem;
	background: rgba(74,121,165,0.1);
	font-size: 0.9em;
}
.qainfo::before,
.datainfo::before {
	display: block;
	color: rgba(16,49,18,0.5);
	font-weight: bold;
	font-size: 0.9em;
	content: "[\6CE8\8A18]"; /* [注記] */
}
.ques {
	margin: 1rem 0;
	border: 1px solid rgb(192,192,192);
	border-radius: 6px;
	padding: 0.5rem;
	background: rgba(244,164,96,0.1);
}
.ans {
	margin: 1rem 0;
	border: 1px solid rgb(192,192,192);
	border-radius: 6px;
	padding: 0.5rem;
	background: rgba(74,121,165,0.1);
}
.ques blockquote,
.ques pre,
.ques ins,
.ans blockquote,
.ans pre,
.ans ins {
	background: transparent;
}
/* photos */
.photolist {
	list-style: none;
}
.photolist li {
	float: left;
	margin-right: 2rem;
	margin-bottom: 1rem;
	width: 16rem;
}
.photoinfo {
	clear: both;
}
/* weblog 84 */
.pre {
	white-space: pre-wrap;
}
/* movabletype 82 */
.ins {
	border: 1px solid rgb(192,192,192);
	background: rgba(244,164,96,0.1);
	text-decoration: none;
}
blockquote[cite="http://www.code-404.net/article/2006/04/06/mime-type4xhtml11"] ins::before {
	content: '';
}
/* firstletter */
.firstletter.sample div {
	clear: both;
}
.firstletter.sample #test2::before,
.firstletter.sample #test4::before {
	content: '\22';
}
.firstletter.sample #test2-2::before {
	content: '\3e';
}
.firstletter.sample p::first-letter {
	color: blue;
	font-size: 3em;
	text-transform: uppercase;
}
.firstletter.sample #test3::first-letter,
.firstletter.sample #test4::first-letter {
	float: left;
	vertical-align: top;
}
/* URI RegExp tool */
.uritool {
	display: flex;
	flex-flow: row wrap;
}
.uritool > dt {
	margin: 1rem 0 0;
	padding: 0;
	width: 6rem;
}
.uritool > dd {
	margin: 1rem 0 0 1rem;
	padding: 0;
	width: calc(100% - 7rem);
}
.uritool > dd > input[type=text] {
	min-width: 7rem;
	max-width: calc(100% - 4px);
}
}

@media print {
body {
	background: transparent;
	color: rgb(0,0,0);
}
h2, h3, h4, h5, h6, legend, caption {
	text-shadow: none;
}
img,
object[data] {
	box-shadow: none;
}
#root-container {
	margin: 0;
}
#header-container > h1 {
	color: rgb(16,49,18);
	text-shadow: none;
}
#global-navigation,
#utility,
.entry-comment > form {
	display: none;
}
.entry-container {
	border: none;
	border-bottom: 1px solid;
	border-radius: 0;
	background: transparent;
}
.entry-container:first-child {
	border-top: 1px solid;
}
.twitter-share-button {
	display: none;
}
}

@media screen and (color) {
body {
	background : linear-gradient(to top, rgba(16,49,18,0), rgba(16,49,18,0.5), rgba(16,49,18,0.5)) 0 0 / 100% 200% no-repeat fixed, url(../svg/elan36.svg) 50% 0 / auto 100% no-repeat fixed rgb(16,49,18);
}
@supports (animation-name: zoomInBg) {
body {
	animation: zoomInBg 1.6s 2.5s ease-in-out 1 both/*, softenBgContrast 1.3s 4.2s ease-in 1 forwards*/;
}
}
body.do_animate {
	animation: zoomInBg 1.6s 2.5s ease-in-out 1 both/*, softenBgContrast 1.3s 4.2s ease-in 1 forwards*/;
}
/*
body.no_animate {
	animation: none;
}
*/
@supports (overflow-wrap: break-word) {
blockquote[title][cite]::after,
pre,
.sample,
.pre {
	overflow-wrap: break-word;
}
}
@supports (text-decoration-style: dotted) {
abbr[title],
dfn[title] {
	border-bottom: none;
	text-decoration: dotted underline;
}
}
#root-container {
	margin: 0 auto;
	width: 50rem;
	min-height: 100%;
}
#header-container {
	margin: 0 0 2rem;
	width: 100%;
	overflow: hidden;
}
#header-container > h1 {
	font-size: 4.16rem;
	font-size: calc(50rem / 11.5);
}
.mirror_initial {
	animation: flipInitial 1.8s 0.7s ease-in-out 1 both;
}
.mirror_initial.no_animate {
	animation: none;
}
.mirror_initial::before {
	border-radius: 6px / 9px;
}
#global-navigation > li {
	display: block;
	border-top: 1px solid rgba(192,192,192,0.3);
	padding: 0.5rem 1rem;
	width: auto;
	text-align: left;
}
#breadcrumbs-list > li::before,
#breadcrumbs-list > li > span {
	text-shadow: -1px -1px 0 rgba(16,49,18,0.9), 1px -1px 0 rgba(16,49,18,0.9), 1px 1px 0 rgba(16,49,18,0.9), -1px 1px 0 rgba(16,49,18,0.9);
}
#breadcrumbs-list .qBefore {
	display: none;
}
#toolbar {
	position: fixed;
	bottom: 0;
	left: 0;
	display: flex;
	flex-direction: row;
	align-items: stretch;
	box-sizing: border-box;
	margin: 0 auto;
	border: 0;
	border-radius: 8px 8px 0 0;
	padding: 0.1rem 0.5rem;
	width: 100%;
	height: 3rem;
	background: rgb(16,49,18);
	line-height: 1;
	list-style: none;
	box-shadow: 0 0 4px 0 rgba(16,49,18,0.6);
	z-index: 2;
}
#toolbar > li {
	display: block;
	flex: 1 1 25%;
	box-sizing: border-box;
	width: 25%;
	height: 100%;
}
#toolbar > li > button {
	display: inline-flex;
	width: 100%;
	height: 100%;
}
#toolbar > li > button > img {
	display: inline-block;
	margin: auto;
	width: 2rem;
	height: 2rem;
	opacity: 0.9;
}
#toolbar > li > button:hover > img {
	opacity: 1;
}
#utility > form > fieldset {
	padding: 0 1rem 1rem;
}
#utility > form > fieldset > legend {
	margin-top: 1rem;
	margin-bottom: 0.5rem;
}
#utility > form > fieldset > legend::before {
	display: inline-block;
	margin-right: 0.2em;
	width: 1.2em;
	height: 1.2em;
	background: url(../svg/search_ivory.svg) left top no-repeat;
	background-size: contain;
	content: '\2003';
	vertical-align: middle;
}
#utility-list > dt {
	margin: 1rem;
}
#utility > form > fieldset > legend,
#utility-list > dt {
	color: rgb(248,244,243);
	text-shadow: -1px -1px 0 rgba(16,49,18,0.9), 1px -1px 0 rgba(16,49,18,0.9), 1px 1px 0 rgba(16,49,18,0.9), -1px 1px 0 rgba(16,49,18,0.9);
}
#utility-list > dd + dt {
	margin-top: 2rem;
}
#utility-list > dd {
	margin: 1rem;
	padding: 0;
}
#utility-list > dd:last-child {
	margin-bottom: 2rem;
}
#twitter::before {
	margin-right: 0.2em;
	background: url(../svg/twitter.svg) left top no-repeat;
}
#feed::before {
	margin-right: 0.3em;
	background: url(../svg/feed.svg) left top no-repeat;
}
#twitter::before,
#feed::before {
	display: inline-block;
	width: 1.2em;
	height: 1.2em;
	background-size: contain;
	content: '\2003';
	vertical-align: middle;
}
#utility-list > dd ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
#utility-list > dd ul li {
	display: block;
	margin: 1rem 0;
	padding: 0;
	text-align: left;
	text-indent: 0;
}
#utility-list > dd ul li::before {
	display: none;
}
#utility-list > dd ul li ul {
	margin-left: 1rem;
}
#global-navigation,
#utility > form,
#utility-list {
	position: absolute;
	left: -9999px;
	width: 0;
	height: 0;
	overflow: hidden;
}
#global-navigation.hide,
#utility > form.hide,
#utility-list.hide {
	position: fixed;
	bottom: 3.1rem;
	display: block;
	border: 0 solid rgb(16,49,18);
	border-radius: 0;
	background: rgba(16,49,18,0);
	max-width: 26%;
	max-height: 0;
	box-shadow: 0 0 0 0 rgba(32,32,32,0);
	opacity: 0;
	overflow: hidden;
	z-index: 2;
}
#global-navigation.hide {
	left: 25%;
}
#utility > form.hide {
	left: auto;
	right: 25%;
}
#utility-list.hide {
	left: auto;
	right: 0;
}
#global-navigation.show,
#utility > form.show,
#utility-list.show {
	position: fixed;
	bottom: 3.1rem;
	display: block;
	border: 1px solid rgb(16,49,18);
	background: rgba(16,49,18,0.99);
	width: auto;
	max-height: 80%;
	max-height: calc(100% - 5rem);
	height: auto;
	box-shadow: 0 0 8px 0 rgba(32,32,32,0.92);
	overflow: auto;
	z-index: 2;
}
#global-navigation.show {
	left: 25%;
	box-sizing: content-box;
	margin: 0 auto;
	border-radius: 8px 8px 8px 0;
	padding: 0 0 0.5rem;
	min-width: 26%;
	max-width: 65%;
}
#global-navigation.show::before {
	display: block;
	margin: 1em;
	color: rgb(248,244,243);
	font-weight: bold;
	text-align: left;
	text-shadow: -1px -1px 0 rgba(16,49,18,0.9), 1px -1px 0 rgba(16,49,18,0.9), 1px 1px 0 rgba(16,49,18,0.9), -1px 1px 0 rgba(16,49,18,0.9);
	content: '\4E3B\306A\30AB\30C6\30B4\30EA\30FC'; /* 主なカテゴリー */
}
#utility > form.show {
	left: auto;
	right: 25%;
	margin: 0 auto;
	border-radius: 8px 8px 0 8px;
	padding: 0.5rem 0;
	min-width: 26%;
	max-width: 65%;
}
#utility-list.show {
	left: auto;
	right: 0;
	margin: 0 0.5rem 0 auto;
	border-radius: 8px 8px 0 8px;
	padding: 0 0 0.5rem;
	min-width: 50%;
	max-width: 80%;
	color: rgb(248,244,243);
}
@supports (animation-name: showMenu, showInfo) and (max-height: calc(100% - 5rem)) {
#global-navigation.show {
	animation: showNavi 0.1s 0s ease 1 both, showMenu 0.1s 0s ease 1 both;
}
#utility > form.show {
	animation: showSearch 0.1s 0s ease 1 both, showMenu 0.1s 0s ease 1 both;
}
#utility-list.show {
	animation: showInfo 0.1s 0s ease 1 both, showMenu 0.1s 0s ease 1 both;
}
#global-navigation.hide {
	animation: hideNavi 0.1s 0s ease 1 both, hideMenu 0.1s 0s ease 1 both;
}
#utility > form.hide {
	animation: hideSearch 0.1s 0s ease 1 both, hideMenu 0.1s 0s ease 1 both;
}
#utility-list.hide {
	animation: hideInfo 0.1s 0s ease 1 both, hideMenu 0.1s 0s ease 1 both;
}
}
#global-navigation a {
	display: block;
	margin: 0;
	border: 0;
	padding: 0;
	text-decoration: none;
	text-shadow: -1px -1px 0 rgba(16,49,18,0.9), 1px -1px 0 rgba(16,49,18,0.9), 1px 1px 0 rgba(16,49,18,0.9), -1px 1px 0 rgba(16,49,18,0.9);
	-webkit-transition: text-shadow 0.2s ease-out;
	transition: text-shadow 0.2s ease-out;
}
#breadcrumbs-list a {
	padding: 0;
	text-shadow: -1px -1px 0 rgba(16,49,18,0.9), 1px -1px 0 rgba(16,49,18,0.9), 1px 1px 0 rgba(16,49,18,0.9), -1px 1px 0 rgba(16,49,18,0.9);
	-webkit-transition: text-shadow 0.2s ease-out;
	transition: text-shadow 0.2s ease-out;
}
#utility-list > dd ul li a {
	margin: 0;
	border-radius: 0;
	padding: 0;
	background: transparent;
	color: rgb(255,223,33);
	font-weight: bold;
	text-decoration: underline;
	text-shadow: -1px -1px 0 rgba(16,49,18,0.9), 1px -1px 0 rgba(16,49,18,0.9), 1px 1px 0 rgba(16,49,18,0.9), -1px 1px 0 rgba(16,49,18,0.9);
	-webkit-transition: text-shadow 0.2s ease-out;
	transition: text-shadow 0.2s ease-out;
}
#global-navigation a:hover,
#breadcrumbs-list a:hover,
#utility-list > dd ul li a:hover {
	color: rgb(255,255,255);
	text-shadow: -1px -1px 3px rgba(255,223,33,0.8), 1px -1px 3px rgba(255,223,33,0.8), 1px 1px 3px rgba(255,223,33,0.8), -1px 1px 3px rgba(255,223,33,0.8);
	box-shadow: none;
}
#contents-container {
	margin: 1rem 0;
}
.entry-container {
	margin: 1.5rem 0;
	border: 2px solid rgba(175,122,44,0.9);
	padding: 1.5rem;
	background: rgba(248,244,243,0.95);
}
.entry-container > header {
	padding: 0 0 1rem;
}
.entry-container > header > h2 {
	margin: 0;
}
.entry-container > header > .excerpt {
	margin: 0;
	background: transparent;
	color: rgb(16,49,18);
	font-weight: bold;
	text-shadow: 1px 1px 1px rgba(192,192,192,0.6);
}
.entry-container > header > .excerpt::before {
	display: inline-block;
	margin-right: 0.5em;
	font-size: 1em;
	content: '\301C\0020';
}
.entry-container > header > .excerpt::after {
	display: inline-block;
	margin-left: 0.5em;
	font-size: 1em;
	content: '\0020\301C';
}
.entry-container a {
	-webkit-transition: background-color 0.2s ease-out, color 0.2s ease-out;
	transition: background-color 0.2s ease-out, color 0.2s ease-out;
}
.twitter-share-button::before {
	display: inline-block;
	margin-right: 0.1em;
	width: 1em;
	height: 1em;
	background: url(../svg/twitter.svg) left top no-repeat;
	background-size: contain;
	content: '\2003';
	vertical-align: middle;
	opacity: 0.8;
}
.twitter-share-button:hover::before,
.twitter-share-button:focus::before,
.twitter-share-button:active::before {
	opacity: 1;
}
.related-entries > li.previous-entry {
	padding-left: 0;
	text-align: right;
}
.related-entries > li.next-entry {
	padding-right: 0;
	text-align: left;
}
.related-entries > li.previous-entry:only-child,
.related-entries > li.next-entry:only-child {
	padding: 0;
	text-align: center;
}
.previous-entry > a::before {
	margin-right: 0.5em;
}
.next-entry > a::after {
	margin-left: 0.5em;
}
@supports (display: flex) {
.related-entries {
	display: flex;
	flex-direction: row;
	align-items: stretch;
}
.related-entries > li {
	display: block;
	flex: 1 1 auto;
}
}
#footer-container {
	clear: both;
	margin: 1rem 0 3rem;
	padding: 0 0 1rem;
	width: 100%;
}
#footer-container > ul {
	position: relative;
	margin: 0;
	font-style: normal;
	font-weight: normal;
	text-align: right;
}
#footer-container > ul > li {
	margin: 0;
}
#footer-container > ul a {
	padding: 0;
	border-radius: 0;
	background: transparent;
	color: rgb(255,223,33);
	box-shadow: none;
	-webkit-transition: text-shadow 0.2s ease-out;
	transition: text-shadow 0.2s ease-out;
}
#footer-container > ul > li,
#footer-container > ul a {
	text-shadow: -1px -1px 0 rgba(16,49,18,0.9), 1px -1px 0 rgba(16,49,18,0.9), 1px 1px 0 rgba(16,49,18,0.9), -1px 1px 0 rgba(16,49,18,0.9);
}
#footer-container > ul a:link,
#footer-container > ul a:visited {
	color: rgb(255,223,33);
}
#footer-container > ul a:hover {
	color: rgb(255,255,255);
	text-shadow: -1px -1px 3px rgba(255,223,33,0.8), 1px -1px 3px rgba(255,223,33,0.8), 1px 1px 3px rgba(255,223,33,0.8), -1px 1px 3px rgba(255,223,33,0.8);
}
#generator {
	position: absolute;
	top: 0;
	left: 0;
}
#footer-container > ul img {
	border: 0;
	box-shadow: none;
	opacity: 0.8;
	-webkit-transition: box-shadow 0.2s ease-out;
	transition: box-shadow 0.2s ease-out;
	vertical-align: middle;
}
#footer-container > ul img:hover {
	box-shadow: 0 0 4px 1px rgba(255,223,33,0.8);
	opacity: 1;
}
}

@media screen and (max-width: 52em) {
#root-container {
	margin: 0 1rem;
	width: auto;
}
#header-container > h1 {
	font-size: 3.25rem;
	font-size: calc((100vw - 2rem) / 11.75);
}
.mirror_initial::before {
	border-radius: 4px / 6px;
}
}

@media screen and (max-width: 41em) {
body {
	background-position: 0% 200%, 50% 0;
	background-size: 100% 200%, auto 100%;
	animation: none;
}
input[type=text],
input[type=email],
input[type=password] {
	min-width: 0;
	max-width: calc(100% - 4px);
}
button,
input[type=submit],
input[type=button],
input[type=reset] {
	border-radius: 2px;
}
textarea {
	min-width: 8rem;
	max-width: 100%;
	min-height: 6rem;
}
table {
	display: block;
	border: 1px dotted rgba(192,192,192,0.6);
	border-radius: 6px;
	padding: 0.5rem;
	max-width: 99%;
	max-width: calc(100% - 2px);
	width: auto;
	overflow: auto;
}
caption {
	font-weight: bold;
	text-align: left;
}
object[data] {
	border-radius: 6px;
}
img,
img[class] {
	max-width: 100%;
}
.img_r,
.img_l {
	display: block;
	float: none;
	margin: 1rem 0;
}
.img_r figcaption,
.img_l figcaption {
	text-align: left;
}
#root-container {
	margin: 0 0.5rem;
}
#header-container,
#contents-container {
	margin: 0;
}
#header-container > h1 {
	margin: 1rem 0 0.5rem;
	font-size: 1.58rem;
	font-size: calc((100vw - 1rem) / 12);
}
.mirror_initial {
	margin: 0.075em;
}
.mirror_initial::before {
	border-radius: 2px / 3px;
}
#breadcrumbs-list {
	margin: 0.5rem 0;
}
#breadcrumbs-list > li, #breadcrumbs-list > li::before {
	display: inline;
}
#toolbar {
	border-radius: 0.25rem 0.25rem 0 0;
	height: 2.5rem;
}
#toolbar > li > button > img {
	width: 1.5rem;
	height: 1.5rem;
}
#global-navigation.show,
#utility > form.show,
#utility-list.show {
	bottom: 2.6rem;
}
.entry-container {
	margin: 0.5rem 0 1rem;
	padding: 1rem 0.75rem;
	background: rgb(248,244,243);
}
.entry-container:first-child {
	margin-top: 0;
}
#footer-container {
	margin-top: 0;
	margin-bottom: 2.5rem;
}
#footer-container > ul > li {
	font-size: 0.9em;
	text-align: center;
}
#generator {
	position: static;
}
/* page */
.qlnk > li {
	margin: 0 0.5rem 0.75rem 0;
	width: calc(99.9999% / 6 - 0.5rem);
}
}
