@charset "UTF-8";

:root {

	--colorMain: #00b7ee;
	--colorSub: #8b7c6f;
	--colorAccent: #fff63c;
	--colorText: #333;
	--colorGrayL: #f4f8fc;
	--colorGrayD: #667788;

	--colorLabel1: var(--colorMain);
	--colorLabel2: var(--colorAccent);
	--colorLabel3: var(--colorGrayD);
	--colorLabel4: var(--colorSub);
	
	--fontSize: 18px;

}

@media screen and (min-width: 10px) {

* {
	margin: 0; padding: 0;
	box-sizing: border-box;
	font-weight: normal;
	text-decoration: none;
	list-style-type: none;
	text-align: justify;
}

body {
	color: var(--colorText);
	font-family: a-otf-ryumin-pr6n,serif;
	font-weight: 300;
	font-style: normal;
	font-size: var(--fontSize);
	line-height: 2em;
}

body > * {
	width: 640px;
	margin: 0 auto 20px; padding: 0;
}
body a:link, body a:visited, body a:active {
	padding: 0 0.1em;
	color: var(--colorMain);
}
body a:hover {
	background-color: var(--colorMain);
	border-radius: 2px;
	color: #ffffff;
}
body > * > a {
	width: 100%;
}
body > * > a:link, body > * > a:visited, body > * > a:active {
	color: var(--colorMain);
}
body > * > a:hover {
	background: var(--colorMain);
	color: #ffffff;
}

/* 本文 */
body > h2 {
	margin: 0 auto 80px;
	font-size: 1.6em;
	display: flex;
	align-items: center;
}
body > h2::before {
	content: "";
	width: 20px; height: 0;
	margin: 0 20px 0 0;
	display: block;
	border-top: 1px solid var(--colorText);
}
body > h2::after {
	content: "";
	width: auto; height: 0;
	margin: 0 0 0 20px;
	display: block;
	border-top: 1px solid var(--colorText);
	flex-grow: 1;
}
body > * + h2 { margin-top: 160px; }
body > h3 {
	padding: 0 0 0 10px;
	border-left: 1px solid var(--colorText);
}
body > * + h3 { margin-top: 64px; }
body > p > img {
	width: 100%;
}
body > p > strong {
	padding: 0 0.2em;
	background: var(--colorAccent);
	border-radius: 4px;
}

body > p > iframe {
	width: 100%; height: 450px;
	border: none;
}
body > p > small {
	font-size: 0.8em;
	color: var(--colorGrayD);
}
body > p > del {
	text-decoration: line-through;
}
body > ul {
	padding: 30px;
	background: var(--colorGrayL);
}
body > ul > li::before {
	content: "▶︎";
	margin: 0 0.5em 0 0;
	display: inline-block;
	position: relative; top: -0.15em;
	font-size: 0.7em; line-height: 1em;
	color: var(--colorGrayD);
}
body > blockquote {
	padding: 30px;
	background: var(--colorGrayD);
	color: #fff;
	position: relative;
}
body > blockquote::before {
	content: "“";
	font-size: 3em;
	position: absolute; top: 16px; left: 10px;
	opacity: 0.2;
}
body > pre {
	padding: 30px;
	background: var(--colorGrayD);
	color: #fff;
	position: relative;
}
/* baloon */
baloon {
	width: 656px;
	padding: 0 14px 0 4px;
	display: block;
	font-family: sans-serif;
	font-size: 0.9em; line-height: 1.6em;
	color: var(--colorMain);
	border: 20px solid;
	border-image: url(baloon.svg) 20% fill round;
	position: relative; left: 5px;
}
baloon::after {
	content: "";
	width: 40px; height: 40px;
	display: block;
	background: url(icon.png);
	background-size: cover;
	position: absolute; bottom: -25px; right: -65px;
	overflow: hidden;
	border-radius: 8000px;
}


/* header */
header {
	width: 800px;
	margin: 80px auto;
	position: relative;
}
header::before {
	content: "";
	width: 64px; height: 64px;
	margin: 0 auto 50px;
	display: block;
	background: url("icon.png");
	background-size: 100% auto;
	overflow: hidden;
	border-radius: 8000px;
}
h1 {
	margin: 0 auto 10px;
	font-size: 40px;
	line-height: 64px;
	text-align: center;
}
header > time {
	margin: 0 auto 80px; padding: 10px;
	display: block;
	font-size:  14px; line-height: 14px;
	color: var(--colorMain);
	font-family: tbudgothic-std, sans-serif;
	font-weight: 400;
	font-style: normal;
	text-align: center;
}
header > time.updated::after {
	content: "UPDATE!";
	height: 1em;
	margin: 0 0 0 1em; padding: 0.1em 1em 0;
	display: inline-block;
	border-radius: 8000px;
	font-size: 0.8em; line-height: 1em;
	background: var(--colorMain);
	color: #fff;
}
header > figure {
	width: 100%; height: auto;
	border-radius: 4px;
	overflow: hidden;
	font-size: 0;
}
header > figure > img {
	width: 100%; height: auto;
	display: block;
}

/* footer */
footer {
	width: 800px;
	margin: 160px auto 80px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	font-family: sans-serif;
}
footer > .buttons {
	width: 100%;
	margin: 0 0 80px;
	display: flex;
	justify-content: center;
}
footer > .buttons > a {
	width: 240px; height: 40px;
	margin: 0 10px 0; padding: 11px 0 0;
	display: block;
	font-family: tbudgothic-std, sans-serif;
	font-weight: 400;
	font-style: normal;
	text-align: center;
	border-radius: 8000px !important;
	font-size: 14px; line-height: 1em;
	border: 1px solid var(--colorMain);
}

footer > .coffee {
	width: 100%;
	margin: 0 0 80px;
}
footer > .coffee .bmc-btn {
	width: 240px; height: 240px;
	margin: 0 auto 20px; padding: 65px 0 0;
	display: block !important;
	text-align: center;
	font-size: 80px; line-height: 1em;
	border-radius: 120px;
	-webkit-mask-image: url("ninjaMask.svg");
	position: relative;
}
footer > .coffee .bmc-btn::after {
	content: "";
	display: block;
	width: 240px; height: 240px;
	position: absolute; left: 0; top: 0;
	background: url("ninjaFrame.svg");
}
footer > .coffee .bmc-btn:hover { transform: scale(1.1); }
footer > .coffee .bmc-btn-text {
	margin: 0;
	font-size: .22em;
	text-align: center;
	transform: translateY(-50px);
}
footer > .coffee > p {
	width: 240px;
	margin: 0 auto;
	text-align: justify;
	font-size: .8em; line-height: 1.5em;
}

footer > .history {
	width: 100%;
}
footer > .history > h2 {
	margin: 4px 0 20px;
	font-size: 1.1em;
}
footer > .history ol {
	display: flex;
	flex-wrap: wrap;
}
footer > .history li {
	width: 31%;
	margin: 0 1% 10px; padding: 4px;
	border-radius: 5px;
	font-size: 0.8em; line-height: 1em;
	text-align: center;
	border: 1px solid var(--colorGrayL);
	background: var(--colorGrayL);
}
footer > .history a { color: #fff; }
footer > .history li:hover {
	border: 1px solid var(--colorGrayD);
	background: transparent;
}
footer > .history li:hover a {
	color: var(--colorGrayD);
	background: transparent;
}
footer > .history li:last-child {
	border: 1px solid var(--colorMain);
	background: var(--colorMain);
}
footer > .history li:last-child:hover {
	border: 1px solid var(--colorMain);
	background: transparent;
}
footer > .history li:last-child:hover a {
	color: var(--colorMain);
}

footer > .credit {
	width: 100%;
	margin: 80px 0 0;
	text-align: center;
	font-family: tbudgothic-std, sans-serif;
	font-weight: 400;
	font-style: normal;
}


}