@charset "UTF-8";

/* Reset
------------------------------------------------- */

html,body,div,
dl,dt,dd,ul,ol,li,
h1,h2,h3,h4,h5,h6,
pre,form,fieldset,input,textarea,
blockquote,th,td,p {
	margin: 0;
	padding: 0;
}



/* Default
------------------------------------------------- */
html {
	width: 100%;
	height: 100%;

}

body {
	background-color: #fff;
	color: #666;
	text-align: center;
	font-family: "メイリオ", Meiryo, Verdana, Helvetica, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", sans-serif;
	line-height: 1.5;
	font-size: 90%;
	width: 100%;
	height: 100%;
	position: relative;
}

/* Hyper text
------------------------------------------------- */

a {
	overflow: hidden;	/* for Fx */
	color: #0000ff;
	text-decoration: none;
}

a:link,
a:visited  {
	color: #0000ff;
}

a:focus,
a:hover,
a:active {
	color: #ff0000;
	text-decoration: underline;
}


/* Image
------------------------------------------------- */

img,
a img {
	border: none;
}

.emoji {
	vertical-align:middle;
}



/* Base elements
------------------------------------------------- */


ul, ol, li, dl, dt, dd { list-style: none; }



/* Over Screen
------------------------------------------------------------ */

div.blackscreen {
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	opacity: 0;
	animation: fadeIn 0.3s ease 0s 1 normal;
	animation-fill-mode:forwards;
	z-index: 10000;
	opacity: .5;
	background-color: black;
}
.blackscreen_overlay
{
	display: flex;
	position: fixed;
	overflow: scroll;
	width: 100%;
	height: 100vh;
	/* max-width: 100%;
	max-height: 100vh; */
	box-sizing: border-box;
	inset: 0;
	z-index: 10101;
	/* 交差軸方向の整列位置を中央に指定 */
	align-items: center;
	/* 主軸方向の整列位置を中央に指定 */
	justify-content: center;
}
.blackscreen_overlay > div {
	display: block;
	position: absolute;
	/* margin: auto;
	padding: 0; */
	/* inset: 0; */
	height: auto;
	/* overflow: hidden; */
}
.blackscreen_overlay .closebtn
{
	position: absolute;
	top: -10px;
	right: -10px;
	width: auto;
	height: auto;
	z-index: 100101;
}
/* div.blackscreen div.screen_background {
	display: block;
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	opacity: .5;
	background-color: black;
}
div.blackscreen div.screen_element {
	display: block;
	position: fixed;
	overflow: scroll;
	max-width: 100%;
	max-height: 100vh;
	box-sizing: border-box;
}
div.blackscreen div.screen_element > * {
	margin: 0;
	padding: 0;
} */


/* Layout
------------------------------------------------------------ */

#container {
	width: 900px;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
	position: relative;
	min-height: 100%;
	height: auto !important;
	height: 100%;
	background-image: url(images/parts/border_vertical.png);
	background-position: 0 0;
	background-repeat: repeat-y;
}
/*
#container:after {
    content: "";
    display: block;
    clear: both;
    height: 1px;
    overflow: hidden;
}
*/

#header {
	height:150px;
	width: 100%;
	background-color: #ffffff;
	background-image:url(images/parts/topimage.jpg);
	position: relative;
	background-repeat: no-repeat;
	overflow: hidden;
}

#wrapper {
	width: 700px;
	clear: both;
	float: right;
	background-image: url(images/parts/border_vertical.png);
	background-position: right top;
	background-repeat: repeat-y;
}

/*
#wrapper:after {
    content: "";
    display: block;
    clear: both;
    height: 1px;
    overflow: hidden;
}
*/


#contents {
	width: 700px;
/*	float: right;*/
	background-image: url(images/parts/border_vertical.png);
	background-position: 0 0;
	background-repeat: repeat-y;
}

#sidebar1 {
	width: 200px;
	float: right;
	overflow: visible;
}

#sidebar2 {
	display: none;
}

#footer {
	clear: both;
	width: 100%;
}



/* Header
------------------------------------------------------------ */


#header h1 {
	position: absolute;
	right: 5px;
	text-align: right;
	font-size: 14px;
}

#header #title {
	height: 150px;
	width: 350px;
	margin-left: 80px;
	float: left;
	/*
	position:absolute;
	top: 15px;
	left: 80px;
	*/
}

#header #title a {
	background-image: url(images/parts/title.png);
	background-repeat: no-repeat;
	background-position: 0 0;
	display: block;
	text-indent: 100%;
	overflow: hidden;
	white-space: nowrap;
	height: 122px;
	width: 323px;
}

#header #title a:hover {
	background-position: 0 -122px;
}

#header #ad_top {
	height: 60px;
	width: 468px;
	position: relative;
	top: 23px;
	float: right;
	/*
	position: absolute;
	top: 77px;
	right: 5px;
	*/
}

/* contents
------------------------------------------------------------ */

#contents {
	padding-bottom: 40px;
	min-height: 570px;
	height: auto !important;
	height: 570px;
	word-wrap: break-word;
}

#showmenu {
	display: none;
}

#contents h2{
	height: auto;
	padding: 5px 0 5px 15px;
	background-image: url(images/parts/h.png);
	background-position: left bottom;
	background-repeat: no-repeat;
	font-size: 130%;
	font-weight: bold;
	border-right: 1px solid #7f7f7f;
}

#contents h3{
	border-bottom: 1px solid #aaa;
	margin: 2px 5px 5px 5px;
	padding: 0;
	font-size: 120%;
	font-weight: bold;
}

#contents h4{
	margin: 2px 5px 5px 5px;
	padding: 0;
	font-weight: bold;
	font-size: 110%;
}

#contents hr {
	border: none;
	border-top: 1px solid #ccc;
	color: #ffffff;
	margin:5px 10px;
}


#contents p {
	padding: 2px 5px 10px 5px;
}

#contents .audioCaption {
	padding: 2px 5px 0 5px;
}


#contents audio {
	padding: 2px 5px 10px 5px;
}

#contents img {
	border: 1px solid #999;
	margin-top: 5px;
	margin-bottom: 10px;
}

#contents strong {
	font-weight: bold;
	font-style: normal;
	color: #e00;
}
#contents em {
	font-weight: normal;
	font-style: normal;
	color: #ee0000;
}

#contents dl {
	margin: 0 8px 10px 8px;
	padding: 0;
	background-color: #f0f0ff;
	border: 1px solid #aaa;
	border-top: none;
	width: 534px;
}

#contents  dt {
	width: 7em;
	margin: 0;
	padding: 0.5em 0.5em 0.5em 0.2em;
	border: none;
	border-top: 1px solid #aaa;
	float: left;
}

#contents  dd {
	background-color: #fff;
	margin: 0 0 0 7.7em;
	padding: 0.5em 1em 0.5em 1em;
	border-top: 1px solid #aaa;
	border-left: 1px solid #aaa;
}



#contents div.imagebox {
	width:100%;
	padding-bottom: 10px;
}
#contents div.imagebox:after {
	content: "";
	display: block;
	clear: both;
}


#contents div.imagebox span {
	margin: 0 5px;
	width: 230px;
	float: left;
	border: 1px solid #eeeeee;
	text-align: center;
	padding: 5px;
}

#contents div.big span {
	width: 250px;
}


#contents div.imagebox span img {
	border: none;
	margin-bottom: 0;
}

#contents ul,
#contents ol {
	margin: 0;
	padding: 2px 0 10px 15px;
}

#contents ul.point {
	background-image: url(images/parts/point.gif);
	background-repeat: no-repeat;
	background-position: 5px 0;
	padding-top: 28px;
}

#contents ul li {
	list-style: disc outside;
	margin-left: 15px;
}

#contents ol li {
	list-style: decimal outside;
	margin-left: 2em;
}

#contents .navi {
	text-align: center;
	margin-top: 20px;
}

#contents .notice {
	color: red;
}

#contents div.hint {
	margin: 0 5px 5px 5px;
	background-color: #f1f2ff;
	border: 1px solid #6b79ff;
}

#contents #ad_entry {
	height: auto;
}

#contents #ad_entry:after {
	content: "";
	display: block;
	clear: both;
}

#contents #ad_entry p {
	padding: 0 0 0 5px;
}

#contents #ad_entry #ad_entry1,
#contents #ad_entry #ad_entry2 {
	display: block;
	width: 336px;
	height:280px;
	padding: 0;
	margin-left: 5px;
	float: left;
}



/* side1
------------------------------------------------------------ */

#sidebar1 a{
	text-decoration: none;
	display: block;
}

#sidebar1 ul{
	list-style-type: none;
	margin: 0;
	padding: 0 2px 0 0;
	border: 1px solid #999;
	border-right: none;
}

#sidebar1 ul li{
	padding: 2px 0 0 5px;
	list-style-type: none;
	background-image: url(images/parts/side.gif);
	background-repeat: no-repeat;
	background-position: 2px 3px;
}

#sidebar1 ul li.parent{
	background-image: none;
}

#sidebar1 ul li.top a:focus,
#sidebar1 ul li.top a:hover,
#sidebar1 ul li.top a:active{
	color: #f00;
}

#sidebar1 ul li ul {
	margin: 0;
	margin-bottom: -1px;
	padding: 0 0 0 0;
	border: none;
	border-bottom: 1px solid #999;
	box-sizing: border-box;
}


#sidebar1 ul li ul li{
	background-image: url(images/parts/list.gif);
	background-repeat: no-repeat;
	background-position: 0 5px;
	padding-left: 8px;
}

#sidebar1 ul li.current{
	background-color: #bbdaf6;
	background-image: none;
}

#sidebar1 ul li ul li.current{
	background-color: #fff;
	background-image: url(images/parts/list_current.gif);
	/*border-bottom: 1px solid #FFCDCD;
	margin-bottom: -1px;*/
}

#sidebar1 #hidemenu {
	display: none;
}

#sidebar1 .hidemenu {
	display: none;
}

/* side1
------------------------------------------------------------ */


/* Footer
------------------------------------------------------------ */

#footer {
	text-align: right;
	background-image: url(images/parts/border_vertical.png);
	background-repeat: repeat-y;
	background-position: right top;
	height: 120px;
	width: 900px;
	bottom: 0;
	border-top: 1px solid #333;
}

#footer p {
	margin: 10px;
}

#footer #pgtop {
	display: block;
	width: 152px;
	height: 29px;
	position: absolute;
	right: 0;
	margin: 0;
	margin-top: -29px;
	padding: 0;
}

#footer #pgtop a {
	background-image: url(images/parts/pgtop.png);
	background-repeat: no-repeat;
	background-position: 0 0;
	display: block;
	width: 152px;
	height: 29px;
	text-indent: 100%;
	overflow: hidden;
	white-space: nowrap;
}

#footer #pgtop a:hover {
	background-position: 0 -29px;
}

/* for MacIE
------------------------------------------------------------ */

textarea,input,select {
	font-family: "ＭＳ Ｐゴシック", "Osaka", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku GothicPro", sans-serif;
}


/* @media
------------------------------------------------------------ */

@media screen and (max-width: 899px) {
	#container {
		width: 100%;
		background-position: 200px 0;
	}
	#header {
		/*height: 210px;*/
	}
	#header #ad_top {
		width: 468px;
		height: 60px;
		top: inherit;
		bottom: 0;
		right: inherit;
		left: 0;
	}
	
	#wrapper {
		width: 100%;
		margin-left: -200px;
		background-image: none;
	}
	
	#contents {
		width: auto;
		margin-left: 200px;
	}
	#contents h2 {
		border: none;
	}
	#sidebar1 {
		float: left;
		width: 200px;
	}

	#contents #ad_entry #ad_entry1,
	#contents #ad_entry #ad_entry2 {
		width: 300px;
		height:250px;
	}

	#footer {
		width: 100%;
		background-image: none;
	}
}

@media screen and (max-width: 809px) {

	#contents #ad_entry #ad_entry1 {
		width: 336px;
		height:280px;
	}
	#contents #ad_entry #ad_entry2 {
		display: none;
	}

	#sidebar2 {
		float: right;
		text-align: right;
		display: block;
		width: 160px;
		height:600px;
	}
}

@media screen and (max-width: 735px) {
	#contents dl {
		width: auto;
	}
}

@media screen and (max-width: 699px) {
	#container {
		background-position: 160px 0;
	}
	#sidebar1 {
		width: 160px;
	}

	#wrapper {
		margin-left: -160px;
	}
	
	#contents {
		margin-left: 160px;
	}
	img {
		max-width: 100%;
		height: auto;
		width /***/:auto;
	}
}

@media screen and (max-width: 499px) {
	#container {
		background-image: none;
	}
	
	#wrapper {
		margin-left: 0;
		background-image: none;
	}
	
	#contents {
		margin-left: 0;
		background-image: none;
	}

	#header{
		height: 160px;
	}
	#header #ad_top {
		display: none;
		width: 0;
		height: 0;
	}
	
	#showmenu {
		display: block;
		position: absolute;
		/* margin: 7px; */
		border: 1px solid #333;
		height: 25px;
		width: 156px;
		margin-left: auto;
		margin-right: auto;
		z-index: 100050;
		top: 130px;
		bottom: 0;
		left: 0;
		right: 0;
	}
	#showmenu a {
		display: block;
		height: 25px;
		width: 156px;
		display: block;
		text-indent: 100%;
		overflow: hidden;
		white-space: nowrap;
		background-image: url(images/parts/showmenu.png);
		background-position: 0 0;
	}
	@media (hover: hover) {
		#showmenu a:hover {
			background-position: 0 -25px;
		}
	}
	#showmenu.fixed {
		top: 0;
		position: fixed;
		/* width: 64px;*/
		/* height: 68px;
		transform: scale(0.7);
		transform-origin: top right; */
	}
	/* #showmenu.fixed a {
		width: 64px;
		height: 68px;
		top: 0;
		left: 0;
		background-position: -10px -27px;
	} */
	
	#sidebar1 {
		display: none;
		position: absolute;
		top: 130px;
		width: 100%;
		min-height: initial;
		min-height: auto;
		height:auto;
		border-bottom: 3px solid #333;
		background-color: #ffffff;
		background: transparent;
		z-index: 10060;
		transition: width 0.2s;
		-webkit-transition: width 0.2s;
		-moz-transition: width 0.2s;
		font-size: 120%;
	}
	#sidebar1:target {
		display: block;
		width: 100%;
	}
	#sidebar1.target {
		display: block;
	}
	#sidebar1.fixed {
		top: 0;
		position: fixed;
	}
	#sidebar1 #hidemenu {
		width: 156px;
		height: 25px;
		margin: auto;
		margin-bottom: 3px;
		border: 1px solid #333;
		display: block;

	}
	#sidebar1 #hidemenu a {
		width: 156px;
		height: 25px;
		display: block;
		text-indent: 100%;
		overflow: hidden;
		white-space: nowrap;
		background-image: url(images/parts/showmenu.gif);
		background-position: 0 -50px;
		background-repeat: no-repeat;
	}
	#sidebar1 #hidemenu a:hover {
		background-position: 0 -75px;
	}
	#sidebar1 .hidemenu {
		font-weight: bold;
		display: block;
		border: none;
	}

	#sidebar1 ul {
		background-color: #fff;
	}
	#sidebar1 ul li {
		background-position: 2px 6px;
		border-bottom: 1px solid #eee;
	}
	#sidebar1 ul li ul li {
		background-position: 0 8px;
	}

	#sidebar2 {
		display: none;
	}
}


/* @media screen and (max-width: 467px) {
	#header {
		
	}
	#header #ad_top {
		width: 320px;
		height: 100px;
	}

	#sidebar1 {
		top: 257px;
	}
} */

@media screen and (max-width: 409px) {
	#header {
		background-position: -40px 0;
	}
	
	#header #title {
		position: relative;
		left: inherit;
		right: inherit;
		margin: auto;
		/*margin-top: -24px;*/
	}

	#contents #ad_entry {
		/*height:122px;*/
		padding-left: 0;
		padding-right: 0;
	}
	#contents #ad_entry #ad_entry1 {
		margin: auto;
		width: 320px;
		height:100px;
	}
}

@media screen and (max-width: 323px) {
	#header #title {
		width: 100%;
		left: -1px;
	}
	#header #title a {
		width: 100%;
	}
	#contents #ad_entry,
	#contents #ad_entry #ad_entry1 {
		width: 100%;
		overflow: hidden;
	}
}
