@charset "utf-8";

/*
ページ全体の背景色や文字色のなど基本的な設定
*/
body {
	font-family: "Hiragino Kaku Gothic Pro", "Meiryo", "Noto Sans JP", sans-serif;
	font-size: small;
	background-color: #ffe;
	color: #030;
}

/*
等幅フォント
*/
pre, code, var, samp, kbd, .mono {
	font-family: "Consolas", "Menlo", "Courier New", Courier, Monaco, "MS Gothic", "Osaka-Mono", monospace;
}

/*
文字の修飾
*/
em {
	font-style: normal;
	font-weight: bold;
}
strong {
	font-style: normal;
	font-weight: bold;
	color: #ff0000;
}

/*
グレー文字
*/
.gray {
	color: #8a8;
}

/*
リンク文字列
*/
a:link {
	color: #060;
	text-decoration: none;
}
a:visited {
	color: #040;
	text-decoration: none;
}
a:focus {
  color: #080;
  text-decoration: underline;
}
a:hover {
	color: #840;
	text-decoration: underline;
}
a:active {
  color: #c40;
  text-decoration: underline;
}

/*
ブログのタイトル
*/
h1, h1 a:link, h1 a:visited, h1 a:focus, h1 a:hover, h1 a:active {
	background-color: #073;
	color: #fff;
	margin: 0.2em 0 0.2em 0;
	padding: 0.3em 0.5em 0.3em 0.5em;
}

/*
記事のタイトル
*/
h2, h2 a:link, h2 a:visited, h2 a:focus, h2 a:hover, h2 a:active {
	margin: 0.5em 0.5em 0.2em 1em;
	text-indent: -1.0em;
	font-size: large;
  font-weight: bold;
}

/*
見出し
*/
main h2, main h2 a:link, main h2 a:visited, main h2 a:focus, main h2 a:hover, main h2 a:active {
	margin: 0.5em 0.5em 0.2em 2.0em;
	font-size: medium;
}

/*
サブタイトル
*/
h3, h3 a:link, h3 a:visited, h3 a:focus, h3 a:hover, h3 a:active {
	margin: 0.5em 0 0.2em 0;
	font-size: medium;
	font-weight: bold;
}

/*
その他の見出し
*/
h4, h4 a:link, h4 a:visited, h4 a:focus, h4 a:hover, h4 a:active {
	margin: 0.5em 0 0.2em 1em;
	font-size: medium;
	font-weight: bold;
}

/*
ボタン
*/
button {
  font-family: "Hiragino Kaku Gothic Pro", "Meiryo", "Noto Sans JP", sans-serif;
  font-size: small;
  background-color: #ada;
  border: none;
  cursor: pointer;
}

/*
記事の本文
*/
main {
	border-top: dashed 1px #ada;
	margin: 0.1em 0 0.1em 0;
	padding: 0;
}

/*
記事の段落
*/
main p {
	margin: 0.3em 0.5em 0.5em 1.3em;
	line-height: 150%;
}

/*
整形済みテキスト
*/
main pre {
	white-space: pre-wrap;
	word-wrap: break-word;
	background-color: #fff;
	border-style: solid;
	border-color: #ada;
	border-width: 1px;
	margin: 1em 4em 1em 4em;
	padding: 1em;
}

/*
引用
*/
main blockquote {
	border-style: none;
	background-color: #dfd;
	margin: 1em 4em 1em 4em;
	padding: 0.5em;
}

/*
箇条書き
*/
main ul, main ol {
	margin-left: 4em;
	margin-right: 2em;
	padding-left: 0px;
}
main ul ul, main ol ol, main ul ol, main ol ul {
	margin: 0.5em 2em 0.5em 1.7em;
}
main ol li {
	line-height: 150%;
	margin-bottom: 0.5em;
}

/*
項目リスト
*/
main dl {
	margin-left: 4em;
}
main dt {
	margin-bottom: 0.2em;
	font-weight: bold;
}
main dd {
	margin: 0 3em 0.5em 1em;
}

/*
テーブル
*/
main table {
	margin: 0.5em 1em 0.5em 4em;
	border-style: solid;
	border-width: 2px;
	border-color: #ada;
	border-collapse: collapse;
}
main th, main td {
	padding: 5px;
	border-style: solid;
	border-width: 1px;
	border-color: #ada;
}

/*
画像
*/
main img {
  border: none;
	max-width: 100%;
	height: auto;
	margin: 1em auto 1em auto;
	display: block;
	float: none;
}
main img.left {
  display: inline;
  float: left;
}
main img.right {
  display: inline;
	float: right;
}
main img.inline {
	display: inline;
	float: none;
	margin: 0;
  padding: 0;
}

/*
図
*/
div.figure {
	margin: 1em 4em 1em 4em;
	text-align: center;
}

/*
数式
*/
div.expression {
	margin: 0.5em 0 0.5em 2em;
	text-align: center;
}

/*
罫線
*/
hr {
	border-style: solid;
	border-width: 2px 0px 0px 0px;
	border-color: #ada;
}

/*
フッタ
*/
footer {
	clear: both;
	font-size: small;
	text-align: right;
	border-top: solid 1px #ada;
	margin-top: 0.5em;
	padding-top: 0.5em;
}

/*
脚注
*/
main span.footnote {
	vertical-align: super;
	font-size: x-small;
}
main div.footnote {
	font-size: small;
	border-style: solid;
	border-color: #ada;
	border-width: 1px 0px 0px 0px;
	margin: 2em 0 2em 2em;
	padding: 0;
}
main p.footnote {
	margin: 0.5em;
	padding: 0;
}

/*
メインコンテンツ
*/
div.main {
	float: left;
	width: 75%;
	padding: 0;
}

/*
サイドバー
*/
div.sidebar {
	margin: 0;
	padding-left: 0.5em;
	border-left: solid 1px #ada;
	font-size: small;
	float: right;
	position: relative;
	width: 22%;
}
div.sidebar h2 {
	margin: 1em 0 0.5em 0;
	padding: 2px;
	font-size: medium;
	background-color: #ada;
	text-align: center;
}
div.sidebar ul {
	list-style-type: square;
	margin: 0 0 0.5em 1.2em;
	padding: 0;
}
div.sidebar li {
	line-height: 110%;
	margin: 4px 2px 4px 2px;
	padding: 0;
}

/*
シンタックスは居ライティング (rouge)
*/
.highlight table td { padding: 5px; }
.highlight table pre { margin: 0; }
.highlight, .highlight .w {
  color: #24292f;
}
.highlight .k, .highlight .kd, .highlight .kn, .highlight .kp, .highlight .kr, .highlight .kt, .highlight .kv {
  color: #cf222e;
}
.highlight .gr {
  color: #f6f8fa;
}
.highlight .gd {
  color: #82071e;
}
.highlight .nb {
  color: #953800;
}
.highlight .nc {
  color: #953800;
}
.highlight .no {
  color: #953800;
}
.highlight .nn {
  color: #953800;
}
.highlight .sr {
  color: #116329;
}
.highlight .na {
  color: #116329;
}
.highlight .nt {
  color: #116329;
}
.highlight .gi {
  color: #116329;
}
.highlight .ges {
  font-weight: bold;
  font-style: italic;
}
.highlight .kc {
  color: #0550ae;
}
.highlight .l, .highlight .ld, .highlight .m, .highlight .mb, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .il, .highlight .mo, .highlight .mx {
  color: #0550ae;
}
.highlight .sb {
  color: #0550ae;
}
.highlight .bp {
  color: #0550ae;
}
.highlight .ne {
  color: #0550ae;
}
.highlight .nl {
  color: #0550ae;
}
.highlight .py {
  color: #0550ae;
}
.highlight .nv, .highlight .vc, .highlight .vg, .highlight .vi, .highlight .vm {
  color: #0550ae;
}
.highlight .o, .highlight .ow {
  color: #0550ae;
}
.highlight .gh {
  color: #0550ae;
  font-weight: bold;
}
.highlight .gu {
  color: #0550ae;
  font-weight: bold;
}
.highlight .s, .highlight .sa, .highlight .sc, .highlight .dl, .highlight .sd, .highlight .s2, .highlight .se, .highlight .sh, .highlight .sx, .highlight .s1, .highlight .ss {
  color: #0a3069;
}
.highlight .nd {
  color: #8250df;
}
.highlight .nf, .highlight .fm {
  color: #8250df;
}
.highlight .err {
  color: #f6f8fa;
  background-color: #82071e;
}
.highlight .c, .highlight .ch, .highlight .cd, .highlight .cm, .highlight .cp, .highlight .cpf, .highlight .c1, .highlight .cs {
  color: #3a8028;
}
.highlight .gl {
  color: #6e7781;
}
.highlight .gt {
  color: #6e7781;
}
.highlight .ni {
  color: #24292f;
}
.highlight .si {
  color: #24292f;
}
.highlight .ge {
  color: #24292f;
  font-style: italic;
}
.highlight .gs {
  color: #24292f;
  font-weight: bold;
}

/*
レスポンシブデザイン
*/
@media screen and (max-width: 480px) {
	main {
		margin-left: 0;
		margin-right: 0;
	}
	main p {
		margin-left: 0;
		margin-right: 0;
	}
	main pre {
		margin-left: 0;
		margin-right: 0;
		padding: 2px;
	}
	main blockquote {
		margin-left: 0;
		margin-right: 0;
		padding: 2px;
	}
	iframe {
		max-width: 100%;
		height: auto;
	}
}
