@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: 95%;
	width: 100%;
	background-image: url(images/parts/background.jpg);
	background-position: center;
	background-repeat: repeat-y;
	height: 100%;
}
/* Modern browser */
html>/**/body {
	font-size: 95%;
}



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

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

a:link,
a:visited {
	color: #00f;
}

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


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

img,
a img {
	border: none;
}

.emoji {
	vertical-align:middle;
}


/* del
------------------------------------------------- */

del {
	background-image: linear-gradient(#000, #000);
	background-position: 0 50%;
	background-size: 100% 2px;
	background-repeat: repeat-x;
	margin: 0 0.2em;
	text-decoration: none;
}


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

h1,
h2,
h3,
h4,
h5,
h6 { text-align:left; }

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


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


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

#header {
	height:150px;
	width: 900px;
	background-color: #fff;
	background-image:url(images/parts/head_back.jpg);
	background-repeat: no-repeat;
	position: relative;
	min-height: 150px;

}

#wrapper {
	width: 540px;
	/*height: 100%;*/
	clear: both;
	float: left;
	background-color: #fff;
	background-image: url(images/parts/border_vertical.png);
	background-position: left top;
	background-repeat: repeat-y;
	/*padding-bottom: 120px;*/
}


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

#contents {
	width: 540px;
	min-height: 600px;/*
	background-image: url(images/parts/border_vertical.png);
	background-position: right top;
	background-repeat: repeat-y;
	*/
}

#gotop {
	position: absolute;
	right: 0;
	margin-top: -25px;
	margin-right: 370px;
	display: block;
	width: 121px;
	height: 22px;
}

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



#side1 {
	width:200px;
	float:left;
	overflow: visible;
	background-image: url(images/parts/border_vertical.png);
	background-position: 0 0;
	background-repeat: repeat-y;
	background-color: #fff;
	margin-top: 3px;
}

#side2 {
	width:160px;
	float:right;
	overflow: visible;
	min-height: 600px;
}

#footer {
	clear: both;
	width: 900px;
	height: 120px;
	width: 900px;

	bottom: 0px;
}



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


#header {

}

#header h1 {
	position: absolute;
	font-size: 1em;
	font-weight: normal;
	right: 2px;
	padding: 2px 6px;
	border-left: 1px solid #333;
	border-bottom: 1px solid #333;
	background-color: #e5fde4;
}

#header #logo {
	height: 150px;
	width: 400px;
	/*
	position:relative;
	top: 5px;
	left: 20px;
	*/
	float: left;
}

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

#header #logo a:hover {
	background-position: 0px -141px;
}

#header #showmenu {
	display: none;
}

#header #ad_head {
	/*
	position: absolute;
	right: 10px;
	width: 468px;
	height: 60px;
	bottom: 0;
	*/
	width: 500px;
	height: 60px;
	float: right;
	position: relative;
	top: 27px;
}

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

#contents {
	padding-bottom: 30px;
}

#contents h2 {
	margin: 0.1em;
	padding: 0.1em 0.3em;
	/* background-image: url(images/parts/h2.png);
	background-position: 3px 2px;
	background-repeat: no-repeat; */
	font-size: 1.35em;
	border-left: solid 3px #76b876;
	border-bottom: solid 1px #999;
}

#contents h3 {
	margin: 0.1em;
	padding: 0.1em 0.3em;
	/* background-image: url(images/parts/h3.png);
	background-position: 3px bottom;
	background-repeat: no-repeat; */
	font-size: 1.2em;
	border-bottom: solid 1px #999;
}

#contents h4 {
	margin: 0.1em;
	padding: 0.1em 0.3em;
	border-bottom: 1px dashed #ccc;
	font-size: 1.1em;
}

#contents h5 {
	margin: 0.1em;
	padding: 0.1em 0.3em;
	font-size: 1em;
}

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

#contents p {
	padding: 8px 5px 8px 10px;
	word-wrap : break-word;
	overflow-wrap : break-word;
}

#contents div.info {
	border: 1px solid #76b876;
	background-color: #f3fff3;
	margin: 5px 10px;
	background-image: url(images/parts/backicon_exclamation.png);
	background-position: 15px 5px;
	background-repeat: no-repeat;
}

#contents div.info p {
	padding: 8px 5px 8px 10px;
}

#contents div.info p.first {
	padding-top: 20px;
	text-indent: 2em;
}

#contents ul {
	list-style-type: disc;
	margin-left: 5px;
	padding: 0px 5px 0px 25px;
}

#contents ul li {
	list-style-type: disc;
}

#contents ul.qa li {
	padding-top: 3px;
	padding-bottom: 3px;
	border-bottom: 1px dotted #333;
}

#contents ol {
	list-style-type: upper-alpha;
	margin-left: 15px;
	padding: 0px 5px 0px 25px;
}

#contents ol li {
	list-style-type: upper-alpha;
}
#contents ol.cc li {
	list-style-type: cjk-ideographic;
}


#contents dl {
	width: auto;
	margin: 8px 5px 8px 10px;
}

#contents dt {
	background-image: url(images/parts/side_liststyle.gif);
	background-repeat: no-repeat;
	background-position: 0px 4px;
	padding-left: 10px;
	border-bottom: 1px solid #999;
}

#contents dd {
	padding-bottom: 10px;
}

#contents dl.table {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	border: 1px solid #ccc;
	border-top: none;
}

#contents dl.table dt {
	background-color: #cfc;
	width: 30%;
	padding: 0.5em;
	box-sizing: border-box;
	border: none;
	border-top: 1px solid #ccc;
	background-image: none;
}

#contents dl.table dd {
	padding: 0.5em;
	margin: 0;
	border: none;
	border-left: 1px solid #ccc;
	border-top: 1px solid #ccc; 
	width: 70%;
	background: #fff;
	box-sizing: border-box;
}

#contents dl.table p {
	padding: 0;
	margin: 0;
}
/* 
#contents dl.table {
	width: auto;
	margin: 8px 5px 8px 5px;
	border: 1px solid #333;
	border-top: none;
}
#contents dl.table dt {
	float: left;
	width: 6.2em;
	padding: 0.5em 0.2em 0.5em 0.2em;
	border-top: 1px solid #333;
	border-bottom: none;
	background-image: none;
}

#contents dl.table dd {
	padding: 0.5em 0.2em;
	margin: 0;
	border-top: 1px solid #333;
	background-image: url(images/parts/border_vertical_black.png);
	background-repeat: repeat-y;
	background-position: 6.4em 0;
}

#contents dl.table dd.important {
	background-color: #cfc;
}

#contents dl.table dd p {
	padding: 0;
	margin: 0;
	margin-left: 6.4em;
} */

#contents strong {
	color: #c00;
	font-weight: bold;
}

#contents em {
	color: #c00;
	font-weight: normal;
	font-style: normal;
}

#contents blockquote {
	padding: 5px 5px 5px 10px;
	margin: 0px 5px;
	border: dashed 1px #333;
	background-color: #f0fff0;
	background-image: url(images/parts/backicon_quot.gif);
	background-position: 10px 5px;
	background-repeat: no-repeat;
}

#contents blockquote p {
	padding: 3px 0;
	text-indent: 2em;
}


#contents blockquote ol {
	padding: 3px 8px
}

#contents .matome {
	border: 1px solid #6f6;
	background-color: #ddffdd;
	background-image: url(images/parts/matome.gif);
	background-repeat: no-repeat;
	background-position: 5px 3px;
	margin: 5px 10px;
	padding: 20px 5px 5px 25px;
}

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

#contents #ad_entry {
	width: 336px;
	height: 280px;
	margin: 10px 0px 45px 10px;
}

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

#side1 {

}

#side1 a {
	text-decoration: none;
}

#side1 ul {
	list-style-type: none;
	margin-left: 2px;
	margin-top: 0;
	padding: 0px 2px 0px 0px;
	border-top: 1px solid #8fe689;
	border-bottom: 1px solid #8fe689;

}

#side1 ul li {
	padding: 2px 0px 0px 5px;
	list-style-type: none;
	border-top: 1px solid #8fe689;
	background-image: url(images/parts/side_list2.png);
	background-repeat: repeat;
	background-position: 0px -16px;
}
#side1 ul li a {
	display: block;
}

#side1 ul li.top {
	background-image: url(images/parts/side_list1.png);
	background-repeat: repeat;
}

#side1 ul li.top a {
	color: #fff;
	font-weight: bold;
}

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


#side1 ul li ul {
	list-style-type: none;
	margin: 0 0 0 -5px;
	padding: 0 0 0 5px;
	border-top: none;
	border-bottom:none;
	background-image: none;
	background-color: #fff;
}

#side1 ul li ul li {
	padding: 2px 0px 0px 13px;
	border-top: 1px solid #8fe689;
	background-image: url(images/parts/side_liststyle.gif);
	background-repeat: no-repeat;
	background-position: 0px 6px;
}

#side1 ul li ul li.current {
	background-image: url(images/parts/side_liststyle_current.gif);
}

#side1 .closemenu {
	display: none;
}



/* side2
------------------------------------------------------------ */

#side2 {
}



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

#footer {
	font-size: 85% !important;	/* for Modern browser */
	font-size: 90%;	 /* for IE6 */
/*	border-top: 1px solid #FFDEAD;*/
	text-align: right;
	background-image: url(images/parts/footer.png);
	background-repeat: no-repeat;
}

#footer p {
	margin: 10px;
	padding-top: 10px;
}


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

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


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

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

	#container {
		width: 100%;
		background-image: url(images/parts/border_vertical.png);
		background-position: left top;
		background-repeat: repeat-y;
	}

	#header {
		height:210px;
		width: 100%;
	}
	#header #ad_head {
		/*top: 150px;*/
		top: 0;
		right: 0;
	}

	#wrapper {
		width: 100%;
		margin-right: -200px;
	}

	#contents {
		width: auto;
		margin-right: 200px;
	}
	#gotop {
		margin-right: 210px;
	}
	#side1 {
		float:right;
	}

	#side2 {
		width:200px;
		float:right;
	}

	#footer {
		width: 100%;
	}
}

@media screen and (max-width: 699px) {
	#wrapper {
		margin-right: -160px;
	}

	#contents {
		width: auto;
		margin-right: 160px;
	}

	#gotop {
		margin-right: 170px;
	}

	#side1 {
		width: 160px;
	}

	#side2 {
		width: 160px;
	}
}

@media screen and (max-width: 525px) {
	#header h1 {
		position: absolute;
		font-size: 12px;
		font-weight: normal;
		right: 2px;
		padding: 2px 6px;
		border-left: 1px solid #333;
		border-bottom: 1px solid #333;
		background-color: #e5fde4;
	}
	#header #logo {
		height: 150px;
		width: 211px;
		position:relative;
		top: 35px;
		left: 10px;
	}
	#header #logo a {
		background-image: url(images/parts/logo_s.png);
		background-repeat: no-repeat;
		background-position: 0px 0px;
		display: block;
		height: 100px;
		width: 211px;
	}
	#header #logo a:hover {
		background-position: 0px -100px;
	}
	#header #showmenu {
		position: absolute;
		display: block;
		width: 84px;
		height: 95px;
		right: 7px;
		top: 40px;
		text-indent: 100%;
		overflow: hidden;
		white-space: nowrap;
	}
	#header #showmenu a {
		background-image: url(images/parts/menuicon.png);
		background-position: 0 0;
		background-repeat: no-repeat;
		width: 84px;
		height: 95px;
		display: block;
	}
	#header #showmenu a:hover {
		background-position: 0 -95px;
	}

	#wrapper {
		margin-right: 0;
	}

	#contents {
		margin-right: 0;
	}
	#contents #ad_entry {
		width: 468px;
		height: 60px;
		margin: 10px 0px 45px 10px;
	}

	#gotop {
		margin-right: 10px;
	}

	#side1 {
		display: none;
		width: 0;
		position: absolute;
		top: 0;
		left: -50px;
		z-index: 100;
		transition: width 0.2s;
		-webkit-transition: width 0.2s;
		-moz-transition: width 0.2s;
		text-align: center;
	}
	#side1:target {
		display: block;
		width: 100%;
		left: 0;
	}
	#side1 ul li a {
		font-size: 150%;
	}
	#side1 .closemenu {
		display: block;
	}
	#side1 ul li ul li {
		background-position: 0px 12px;
	}

	#side2 {
		display: none;
	}
}

@media screen and (max-width: 467px) {
	#header {
		height:250px;
	}

	#header #ad_head {
		width: 320px;
		height: 100px;
	}

	#contents #ad_entry {
		width: 320px;
		height: 100px;
	}
}

@media screen and (max-width: 339px) {
	#wrapper {
		background-image: none;
	}
	
	#contents #ad_entry {
		margin: 5px auto 45px auto;
		padding: 0;
	}
}