body{
    color: #333;
}

.bricklayer2 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.bricklayer-column {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding-left: 5px;
    padding-right: 5px;
}

.cont-read{
 display: flex;
 flex-direction: row-reverse;
 float:right;
 width: auto;
 margin-top: -10px; 
 padding-right: 4px;
 padding-left: 4px;
 padding-bottom: 2px;
 border: solid;
 border-color: #5fa1f2;
 border-width: 1px;
}

h2[id]::before{
  display: block;
  height: 3.5rem;
  margin-top: -3.5rem;
  content: "";
}

h3[id]::before{
  display: block;
  height: 3rem;
  margin-top: -3rem;
  content: "";
}

h4[id]::before{
  display: block;
  height: 2.5rem;
  margin-top: -2.5rem;
  content: "";
}

.youtube {
	width: 100%;
	padding: 0;
	box-sizing: border-box;
}

.youtube .inner {
	padding-top: 56.25%;
	position: relative;
	height: 0;
	overflow: hidden;
}

.youtube .inner iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


hr.begin {
	border-width: 0 0 3px 0;
	border-style: dashed;
	border-color: orange;
	text-align: center;
	height: 1.5em;
}

hr.begin:after {
	content: "以下引用";
	position: relative;
	display: inline-block;
	padding: 0 0.5em;
	line-height: 1.5em;
	color: #818078;
}

hr.end {
	border-width: 3px 0 0 0;
	border-style: dashed;
	border-color: orange;
	text-align: center;
	height: 1.5em;
}

hr.end:after {
	content: "引用ここまで";
	position: relative;
	display: inline-block;
	color: black;
	padding: 0 0.5em;
	line-height: 1.5em;
	color: #818078;
}

.page-toc{
	display: block;
	width: 300px;
	padding: 0.5rem;
//	background-color: #ffcc99;
	border-width: 1px;
	border: solid #09f;
	border-radius: 16px;
}

.hero-by{
	position: absolute;
	right: 0.5em;
	bottom: 0.5em;
	color: white;
	text-align: right;
}

.hero-blender{
	display: inline-block;
	background-color: rgba(0,0,0,0.5);
	padding: 0.5rem;
	color: white;
	text-align: left;
}

form#cse-search-box{
	font-family:'FontAwesome';
	margin-top:8px;
	text-align:right;
}

