@charset "utf-8";


html {
	font-family: HiraKakuProN-W3,Meiryo,sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}


/* HTML5 display definitions（定義） */
article,
aside,
figcaption,
figure,
footer,
header,
nav,
section,
summary {
  display: block;
}

body	{
	margin: 0;
	font-size: 100%;
	line-height: 1.5;
	color: #333;
}	/*字間を調整letter-spacing: 1px;*/

/*   強調   */
strong, em, b	{
	font-style: normal;
	font-weight: bold;
}
strong { font-size: 130%;}
em { font-size: 110%;}
mark	{
	color: black;
	background-color: #ffff90;
}

blockquote	{
	margin: 0 .5em 2em .5em;
	padding: 1em;
	background-color: floralwhite;
	border: 1px solid darkgray;
	border-radius: 20px;
}

q	{ text-decoration: underline;}/*文中の引用部分*/

.note-radius	{
	font-size: 100%;
	margin-bottom: 2em;
	padding: 0.5em;
	border-radius: 10px;	
	border: 2px solid lightgray;
	background-color: #fffafb;

}

.note	{
	font-size: 100%;
	margin-bottom: 2em;
	padding: 0.5em;
	border: 2px solid black;	
}

.memo	{
	font-size: inherit;
	margin: 1em;
	padding: 0.5em;
	border: 1px solid #ccc610;
	background-color: #f1fac8;
}

hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}

code,
pre {
  font-family: monospace;
  font-size: 1em;
  overflow: auto;
}

a	{
	color: royalblue;
	text-decoration: none;
	background: transparent;
}

a:active,
a:hover {
  outline: 0;
}

a:hover	{
	color: deeppink;
	text-decoration: underline;
}

table, td, th { 
 border: solid 1px #333;
 border-collapse: collapse;
 border-spacing: 0;
 padding: 10px;
}

th { background-color: gainsboro;}

/*共通：ブロック下は 2emマージン*/
figure { margin: 0 0 2em 0;}
figcaption { font-size: 90%;}

img,
figure { width: 100%;}

p, ul, ol, dl, table {
	margin-bottom: 2em;
}

ul { list-style-type: square;}
li {
	word-wrap: break-word;
	margin-bottom: 1.5em;
}

/*行間の幅を少なくしたリスト*/
.narrow-list li	{
	margin-bottom: 0;
	padding-bottom: 0.5em;
}

dt	{
	font-size: 110%;
	margin-bottom: 0.5em;
	font-weight: bold;
}
dd{	margin-bottom: 1.5em;}


#page,
#page-2columns	{
	background-color: white;
}

#siteHeader { background-color: #4c4c4c;}

#siteHeader h1	{
	margin: 0;
	padding: 3px 5px;
	font-size: 100%;
	color: gold;
}

#siteHeader h1 a	{
	color: gold;
}

#siteHeader h1 a:hover	{
	color: white;
	text-decoration: underline;
}

#contents,
#siteFooter { 
	width: 95%;
	margin: 2em auto;
	background-color: inherit;
}

#contentsHeader h1	{
	margin: 0;
	padding: 0;
	font-size: 130%;
	line-height: 1.375;
	color: #804000;
	border-bottom: solid 1px darkgray;
}

#contentsHeader p	{
	margin: 0.2em 0 2em 0;
	padding: 0;	
	font-size: 80%;
	line-height: 1.2;
	letter-spacing: 0.3em; 
	text-align: right;
	color: darkgray;
}

h2	{
	margin-bottom: 1.5em;
	padding: 0 1em;
	line-height: 2;
	font-size: 120%;
	color: maroon;
	background-color: white;
	border-top: solid 1px #4c4c4c;
	border-bottom: solid 1px #4c4c4c;
	border-left: solid 1em #4c4c4c;
	border-right: solid 1px #4c4c4c;
	box-shadow: 1px 1px 1px lightgray;
}

h3, h4	{
	margin-bottom: 1em;
	padding: 0 0.5em;
	line-height: 1.5;
	font-size: 120%;
	color: maroon;
	background-color: white;
	border-left: solid 1em gold;
}

h4	{ font-size: 100%; 	border-left: solid .5em gold;}

#siteFooter	{
	margin-bottom: 0;
}

#siteFooter p	{
	margin-bottom: 0;
}

.text-align-center {
	text-align: center;
}


/*
記事と無関係な広告は、見出しデザインを変更
*/

#lower-unrelated-article	{
	background-color: rgba(128, 0, 0, 0.1);
	line-height: 1.3;
}

#lower-unrelated-article #lowerBody	{
	margin: 0 auto;
	width: 300px;
}

#lower-unrelated-article h2	{
	margin-bottom: 1.5em;
	padding: 0 .5em;
	line-height: 2;
	font-size: 120%;
	background-color: white;
	border-radius: 10px;
	border-left: solid 1em maroon;
	border-top: solid 2px maroon;
	border-bottom: solid 2px maroon;
	border-right: solid 1em maroon;
	box-shadow: none;
	text-align: center;
}

#lower-unrelated-article h3,
#lower-unrelated-article h4	{
	margin-bottom: 1em;
	padding: 0 0.5em;
	line-height: 1.5;
	font-size: 120%;
	color: maroon;
	background-color: white;
	border-left: solid 1em maroon;
	border-radius: 10px;
}

/*広告*/

.border-ridge-blue,
.border-ridge-red,
.border-ridge-dimgray {
	font-size: 100%;
	margin-bottom: 2em;
	padding: .5em;
	box-shadow: 1px 1px 1px lightgray;
}
.border-ridge-blue{ 	border: 2px ridge #537ab3;}
.border-ridge-red{ 	border: 2px ridge red;}
.border-ridge-dimgray{ 	border: 2px ridge dimgray;}
.lower-ads a { display: block;}
.lower-ads a:hover { opacity: 0.9;}

.note-radius-ads-234	{
	width: 234px;
	font-size: 100%;
	padding: 0.5em;
	border-radius: 10px;	
	border: 2px solid lightgray;
	background-color: #fffafb;
}
.note-radius-ads-234 img	{
	display: none;
}
.note-radius-ads-234 a {display: block;}

.center	{text-align: center;}

/*w1024未満で非表示*/
.w1024-ads {
	display: none;
}

/*w1024未満で表示*/
.smart100-ads {
	display: block;
	width: 100px;
	margin: 5em auto 0;
}

.smart-ads {
	text-align: center;
}


@media screen and (min-width: 768px) {
	/* 	 768 -   */
#page,
#page-2columns	{
		width: 768px;
		margin: 0 auto;
}

#contents,
#siteFooter { 
	width: 95%;
	margin: 2em auto;
	background-color: inherit;
}

#upperBody,
#lowerBody	{
	width: 640px;
	margin: 0 auto;
}

blockquote	{
	margin: 0 1em 2em 1em;
}
}

@media screen and (min-width: 770px) {
	/* 	 770 -   */
body	{
	background-color: whitesmoke;
}	
#page,
#page-2columns	{
	border-left: solid 1px #4c4c4c;
	border-right: solid 1px #4c4c4c;
	border-bottom: solid 1px #4c4c4c;
}
}

@media screen and (min-width: 800px) {
	/* 	 800px - 		 */
body	{
	background-color: gainsboro;
}
}

@media screen and (min-width: 1024px) {
	/* 	 1024px - 		 */
body	{
	background-color: slategray;
}

#page-2columns	{
	width: 1024px;
}

#page-2columns #contentsHeader	{
	padding: 2em 2em 0 2em;
}
#page-2columns #contents,
#page-2columns #siteFooter { 
	width: 100%;
	margin: 0;
}

#page-2columns #siteFooter p	{
	padding-left: 30px;
}

#page-2columns #upper	{
	float: left;
	width: 700px;
}

#page-2columns #upperBody	{
	width: 640px;
	margin: 0 auto;
}

#page-2columns #lower,
#page-2columns #lower-unrelated-article,
#page-2columns #contentsFooter	{
	float: right;
	width: 324px;
}

#page-2columns #lower,
#page-2columns #lower-unrelated-article {
	font-size: 90%;
}

#page-2columns #lowerBody	{
	width: 300px;
	margin-right: 20px;
}
#page-2columns #contentsFooterBody	{
	width: 300px;
	margin: 1em 20px 0 4px;
}



#page-2columns #contents:after	{
	content: "";
	clear: both;
	display: block;
} 

/*広告*/

/*w1024以上で非表示*/
.smart-ads,
.smart100-ads {
	display: none;
}

/*w1024以上で表示*/
.w1024-ads	{
	display: block;
	margin: 2em auto 0;

	color: silver;
	font-size: 80%;
	text-align: center;
}
}

@media screen and (min-width: 1280px) {
	/* 	 1280px - 		 */
body	{
	background-color: antiquewhite;
}
}
