@charset "utf-8";
/* CSS Document */

* {
	margin: 0;
	padding: 0;
}
html {
	overflow-y: scroll;
}
html,body {
	height: 100%;
}
img {
	border: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

article,aside,details,footer,header,main,menu,nav,section,summary, #pagebody, #entry, #entrywide {
	display: block;
}
/*------------------------------------------------------------------*/

h1 span {display:inline-block;}

article section p {
	padding: 10px;
}
#copyright {
	padding: 10px;
}

/*------------------------------------------------------------------*/
/* 0 to 768px */
html {
	width: 100%;
	overflow-y: scroll;
	overflow-x: hidden;
}
body {
	width: 100%;
}
#wrapper {
	width: 100%;
	height:auto;
	/*background: #ddd;*/
	min-width:320px;
	position: relative;
	overflow: hidden;
}

#Lheader {display:none;}
/*#main {display:block; z-index:10; width:660px; overflow: hidden;}*/

.sp_h1 {text-align:center; font-size:1.5rem; font-weight:500; color:#009900; }

#_btn {
	overflow: hidden;
	background:url(../img/head_cnt_bg.jpg) no-repeat #ccc;
	background-size: cover;
	width: 100%;
	height: 40px;
	position: relative;
	top: 0;
	z-index: 2;
}
#_btn a {display:block; width:50%; text-align:center; margin:0 auto;}
#_btn a span {visibility:hidden !important; font-size:48px;}

#nav_open {
	position: absolute;
	z-index: 1;
	top: 0;
	width:40px;
	height: 40px;
	padding-top:2px;
	cursor: pointer;
	border-radius:6px;
	background:rgba(255,255,255,0.5);
	box-shadow:1px 1px #bbb;
}
#nav_open img {display:block; width:32px; margin:1px;}

#aside_open {
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	width:40px;
	height: 40px;
	padding-top:2px;
	cursor: pointer;
	border-radius:6px;
	background:rgba(255,255,255,0.5);
	box-shadow:-1px 1px #bbb;
}
#aside_open img {display:block; width:38px; margin:2px;}

#_btn_nav #nav_close {top:-14px;}
#_btn2 {
	overflow: hidden;
	position: absolute;
	top: 0;
	z-index: 3;
}
#aside_close {
	cursor: pointer;
	position: relative;
}
#_btn3 {
	overflow: hidden;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 3;
}
#nav_close {
	cursor: pointer;
	position: relative;
	right: 0;
	width:40px;
	height:40px;
	padding-top:2px;
}

#nav_close img {display:block; margin:2px;}

aside section {
	position: relative;
	top: 40px;
}
nav section {
	position: relative;
	top: 0;
}
header {
	width: 100%;
	position: relative;
	z-index: 2;
	overflow: hidden;
	/*border-bottom: 1px solid #9fb7d4;*/
	background: #fff;
	padding-top:20px;
}
nav {
	width: 170px;/*3/22*/
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	background: #fff;
	padding:44px 0px;
	height:1vh;
}

aside {
	width: 150px;/*3/22*/
	position: absolute;
	top: 0;
	right: 0;
	z-index: 0;
	background:#fff;
	height:1vh;
}

nav ul, aside ul {
	margin: 25px 1px;
	padding-bottom:20px;
}
nav li/*, aside li*/ {
	margin: 0;
	padding: 10px 0;
	border-bottom: 1px solid #ccc;
}

nav li, aside li:last-child{border-bottom:none; }

nav li a, aside li a {
	display: block;
}
article ,#entry, #entrywide {
	width: 100%;
	position: relative;
	z-index: 2;
	background: #fff;
}
article section ,#entry section {
	margin: 0 auto;
	padding: 5px 0 10px 0;
}
article section p ,#entry section p {
	padding: 10px;
}
aside {
	width: 150px;/*3/22*/
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
}

aside section {margin:auto 5px;}

aside p {
	padding: /*5px*/auto;
}

footer {
	position: relative;
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
	border-top: 1px solid #9fb7d4;
	background: #fff;
}
/*-----------769px以上の場合-----------------------------------------------*/
@media only screen and (min-width: /*769*/840px) {
html {
	width: 100%;
	overflow-y: scroll;
	overflow-x: auto;
}
#wrapper {
	width: 980px;/*3/22*/
	overflow: hidden;
	margin: 0 auto;
}

#Lheader {display:nonet;}

.t_search {display:none !important;}

#_btn {
	display: none;
}
nav {
	position: static;
	float: left;
	width: 170px;/*3/22*/
}

article, #entry, #entrywide {
	width: 660px;
	margin: 0 auto;
	position: static;
	overflow: hidden;
	float: left;
}
article section, #entry section, #entrywide section {
	width: 660px;
}
nav {
	float: left;
	position: static;
	width: 170px;/*3/22*/
}

aside {
	float: left;
	position: static;
	width: 150px;/*3/22*/
}

footer {
	position: static;
	width: 980px;/*3/22*/
}

/* ** */}

/*-----------769px以上の場合-----------------------------------------------*/
@media only screen and (min-width: 840px) {
#wrapper {width:800px; margin:0 auto; height:auto;}
header {padding-top:0; display:block; width:100%;}

#_btn, #_btn3, #_btn2, aside, .sp_h1, a.toplogo span {display:none;}
#Lheader {
display:block;
clear:both;
width:800px;
height:165px;
padding-right:10px;
background:url(../img/head_bg.jpg) no-repeat 0px 25px;
}
#Lheader div.headnavi {
clear:both;
width:800px;
height:60px;
padding-right:10px;
}
#Lheader h1 {font-size:12px; font-weight:normal; color:#009900; margin:5px 5px;}
#Lheader a.toplogo {width:320px; height:60px; display:block; z-index:1; float:left;}
#Lheader a.toplogo span {z-index:-1; position:relative; top:5px; width:300px; height:40px;}

#pagebody {display:flex;}

nav {display:inline-flex; height:auto; border-left:solid 1px #aaa; padding:2px; }

#main {display:inline-flex; width:624px; border-right:1px solid #777; float: right\9;/*box-shadow:2px 0 6px #aaa;*/}

#footer {position:relative; display:block; width:100%; z-index:0;}
#footer p {text-align:center; font-size:0;}
}

/*-----------印字用-----------------------------------------------*/
@media print {
#_btn, header, nav, #page-top, aside, #footer {display:none;} 
#entry {width:100% !important; max-width:720px; display:block;}
.t_wrap {width: 100%;
    overflow-x:hidden;
	-ms-overflow-style: none;}
}