@charset "UTF-8";
/* Basic Layout */
html,
body {
	height:100%;
}
body {
	background-color:#fff;
}
html.mopen,
html.mopen body {
	/*overflow: auto;*/

	position: fixed;
/*	z-index: -1;*/
	width: 100%;
	height: 100%;
}

#wrapper {
	height:auto;
	min-height:100%;
	position:relative;
}

/* 共通 */
.full {
	width:100%;
}

/* ヘッダー部 */
header {
	padding:0;
	text-align:left;
	background-color: #fff;

	position:fixed;
	left: 0;
	top: 0;
	z-index: 99;
/*	border-bottom: 1px solid #dcdcdc;*/
}
header .inner {
	height: 40px;
	position: relative;
	border: 0px solid;
}
#logo {
	width: 157px;
	position: absolute;
	left: 15px;
	top: 10px;

	font-weight:bold;
	margin:0;
	padding:0;
	font-size:12px;
	display: block;
}
header #h_links {
	display: none;
	width: 26em;
	position: absolute;
	right: 230px;
	top: 15px;
}
header #h_links a {
	font-size: 16px;
	color: #000;
	text-decoration: none;
}
header #h_contact {
	display: none;
	width: 180px;	
	
	position: absolute;
	right: 18px;
	top: 9px;
}
header #h_contact a {
	display: block;
}



/* コンテナー */
main {
	clear:both;
	margin:0 0 0 0;
	padding:0 0 0 0;
	border:0px solid #000;
}








#bg {
	/*background-color:#fff;*/
	padding-top: 40px;
	padding-bottom: 32em; /* フッタの高さと合わせる */
}
/* フッタ部 */
footer {
	height: 32em; /* .bgの高さと合わせる */
	clear:both;
	position:absolute;
	bottom:0;
	width:100%;
	background-color:#000;
	color: #fff;
	text-align: center;
}
footer .inner {
	padding-top: 40px;
}
footer #flogo {
	width: 138px;
	margin-left: auto;
	margin-right: auto;
}
footer .enc .lside {
	text-align: center;
}
footer .enc .rside {
	text-align: center;
	padding-top: 2em;
}
footer .enc .lside ul {
	display: flex;
	margin-top: 2em;
	width: 21em;
	margin-left: auto;
	margin-right: auto;
	border: 0px solid #fff;
}
footer .enc .lside ul li {
	padding-right: 1em;
}
footer .enc .lside ul li a {
	color: #fff;
	white-space: nowrap;
	text-decoration: none;
}
footer .enc .lside ul li a:hover {
	text-decoration: underline;

}
footer small {
	display: inline-block;
	text-align:center;
	font-style:normal;
	font-size:12px;
	color: #a5a5a5;
	margin-top:40px;
}

/* トップに戻る */
#btn_top {
	display: inline-block;
	width: 50px;
	height: 50px;
	background-color: rgba(0,0,0,0.6);
	position: fixed;
	right: 5px;
	bottom: 70px;
	border-radius: 100%;
	vertical-align: middle;
	z-index: 13;
}
#btn_top:after {
	content: '';
	width: 12px;
	height: 12px;
	border-top: 4px solid #fff;
	border-right: 4px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	border-radius: 2px;
	position: absolute;
	top: 42%;
	left: 0;
	right: 0;
	margin:0  auto;
}
#btn_top span {
	visibility: hidden;
}




/* メディア判定 */
.sp {
	display: block;
}
.tbs {
	display: none;
}
.tb {
	display: none;
}
.pc {
	display: none;
}













@media handheld, print, screen and (min-width: 480px) {

/* header */
header .inner {
	height: 48px;
}
#logo {
	width: 171px;
	left: 15px;
	top: 14px;
}
header #h_contact {
	display: block;
	width: 144px;	
	right: 15px;
	top: 9px;
}

#bg {
	padding-top: 48px;
	padding-bottom: 32em; /* フッタの高さと合わせる */
}
/* フッタ部 */
footer {
	height: 32em; /* .bgの高さと合わせる */
}
footer #flogo {
	width: 184px;
}

/* トップに戻る */
#btn_top {
	width: 60px;
	height: 60px;
	right: 10px;
	bottom: 70px;
}
#btn_top:after {
	width: 16px;
	height: 16px;
	border-top: 5px solid #fff;
	border-right: 5px solid #fff;
	top: 42%;
}


/* メディア判定 */
.sp {
	display: none;
}
.tbs {
	display: block;
}
.tb {
	display: none;
}
.pc {
	display: none;
}


/* end of media query */	
}






@media handheld, print, screen and (min-width: 620px) {
/* iPad */

/* header */
header .inner {
	height: 48px;
}
#logo {
	width: 171px;
	left: 15px;
	top: 14px;
}
header #h_contact {
	display: block;
	width: 144px;	
	right: 15px;
	top: 9px;
}

#bg {
	padding-top: 48px;
	padding-bottom: 25em; /* フッタの高さと合わせる */
}
/* フッタ部 */
footer {
	height: 25em; /* .bgの高さと合わせる */
}
footer .inner {
	padding-top: 50px;
}
footer #flogo {
	width: 184px;
	margin-left: 0;
	margin-right: auto;
}
footer .enc .lside {
	text-align: left;
}
footer .enc .rside {
	text-align: left;
	padding-top: 0;
}
footer .enc .lside ul {
	display: block;
	margin-top: 2em;
	width: auto;
	margin-left: 0;
	margin-right: auto;
}
footer small {
	margin-top:40px;
}

/* トップに戻る */
#btn_top {
	width: 60px;
	height: 60px;
	right: 10px;
	bottom: 80px;
}
#btn_top:after {
	width: 18px;
	height: 18px;
	border-top: 5px solid #fff;
	border-right: 5px solid #fff;
	top: 42%;
}

/* メディア判定 */
.sp {
	display: none;
}
.tbs {
	display: none;
}
.tb {
	display: block;
}
.pc {
	display: none;
}



/* end of media query(iPad) */	
}



















@media handheld, print, screen and (min-width: 835px) {

/* header */
header .inner {
	height: 56px;
}
#logo {
	width: 214px;
	left: 18px;
	top: 14px;
}
header #h_links {
	display: none;
}
header #h_links a {
	font-size: 14px;
}

header #h_contact {
	display: block;
	width: 180px;	
	right: 18px;
	top: 9px;
}



#bg {
	padding-top: 56px;
	padding-bottom: 25em; /* フッタの高さと合わせる */
}
/* フッタ部 */
footer {
	height: 25em; /* .bgの高さと合わせる */
}
footer .inner {
	padding-top: 60px;
}
footer #flogo {
	width: 230px;
}
footer .enc .lside {
	text-align: left;
}
footer .enc .rside {
	text-align: left;
}
footer .enc .lside ul {
	display: block;
	margin-top: 2em;
}
footer .enc .lside ul li {
	padding-right: 0;
}
footer small {
	margin-top:40px;
}

/* トップに戻る */
#btn_top {
	width: 70px;
	height: 70px;
	right: 10px;
	bottom: 70px;
}
#btn_top:after {
	width: 18px;
	height: 18px;
	border-top: 5px solid #fff;
	border-right: 5px solid #fff;
	top: 42%;
}

/* メディア判定 */
.sp {
	display: none;
}
.tbs {
	display: none;
}
.tb {
	display: none;
}
.pc {
	display: block;
}



/* end of media query */
}

@media handheld, print, screen and (min-width: 900px) {

header #h_links {
	display: block;
	width: 26em;
	right: 215px;
	top: 15px;
}
header #h_links a {
	font-size: 14px;
}

/* end of media query */
}

@media handheld, print, screen and (min-width: 1050px) {

header #h_links {
	width: 32em;
	right: 230px;
	top: 15px;
}
header #h_links a {
	font-size: 16px;
}

/* end of media query */
}
