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

	position: fixed;
/*	z-index: -1;*/
	inline-size: 100%;
	block-size: 100%;
}

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

/* 共通 */
.full {
	inline-size:100%;
}

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

	position:fixed;
	inset-inline-start: 0;
	inset-block-start: 0;
	z-index: 99;
/*	border-block-end: 1px solid #dcdcdc;*/
}
header .inner {
	block-size: 35px;
	position: relative;
	border: 0px solid;
}
#logo {
/*	inline-size: 162px;*/
	position: absolute;
	inset-block-start: 3px;
	inset-inline-start: 10px;

	font-weight:bold;
	margin-block: 0;
	margin-inline: 0;
	padding-block: 0;
	padding-inline: 0;
	font-size:26px;
	display: block;
}

header #h_contact {
	display: none;
	inline-size: 180px;
	position: absolute;
	inset-inline-end: 15px;
	inset-block-start: 7px;
}

#css3_nav {
	border-bottom: 1px solid #dcdcdc;
	padding-block: 1em;
}
#css3_nav ul {
	padding-inline-start: .5em;
}
#css3_nav li {
	list-style-type: disc;
}

/* コンテナー */
main {
	clear:both;
	margin-block: 0;
	margin-inline: 0;
	padding-block: 0;
	padding-inline: 0;
}


#bg {
	/*background-color:#fff;*/
	padding-block-start: 35px;
	padding-block-end: 20em; /* フッタの高さと合わせる */
}
/* フッタ部 */
footer {
	block-size: 20em; /* .bgの高さと合わせる */
	clear:both;
	position:absolute;
	inset-block-end:0;
	inline-size:100%;
	text-align:center;
	background-color:#fff;
}
footer .inner {
	padding-block-start: 30px;
}

/* フッタリンク */
footer .flinks {
	flex-wrap: wrap;
	font-size: 12px;
}
footer .flinks a {
	color: #000;
	display: inline-block;
	padding-inline: 1.4em;
	white-space: nowrap;
}

footer small {
	display: inline-block;
	text-align:center;
	font-style:normal;
	font-size:11px;
	margin-block-start:4em;
}

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

/* spボタン */
#btn_sp {
	display: block;
	position: fixed;
	left: 0;
	bottom: 0;
	background-color: #fff;
	padding-block: .6em;
	z-index: 2;
}
#btn_sp a {
	display: block;
	width: 90%;
	margin-inline: auto;
}


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


br.sbr {
	display: inline-block;
}










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

header .inner {
	block-size: 38px;
}
#logo {
	inline-size: 168px;
	inset-block-start: 3px;
	inset-inline-start: 10px;
}

#bg {
	padding-block-start: 38px;
	padding-bottom: 16em; /* フッタの高さと合わせる */
}
/* フッタ部 */
footer {
	block-size: 16em; /* .bgの高さと合わせる */
}

footer .inner {
	padding-block-start: 40px;
}
/* フッタリンク */
footer .flinks {
	font-size: 13px;
}
footer small {
	font-size:12px;
}

/* トップに戻る */
#btn_top {
	inline-size: 60px;
	block-size: 60px;
	inset-inline-end: 10px;
	inset-block-end: 90px;
}
#btn_top:after {
	inline-size: 16px;
	block-size: 16px;
	border-block-start: 5px solid #fff;
	border-inline-end: 5px solid #fff;
	inset-block-start: 42%;
}

/* spボタン */
#btn_sp {
	padding-block: .6em;
}
#btn_sp a {
	width: 60%;
}

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

br.sbr {
	display: none;
}

/* end of media query */	
}




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

header .inner {
	block-size: 46px;
}
#logo {
	inline-size: 224px;
	inset-block-start: 3px;
	inset-inline-start: 10px;
}

header #h_contact {
	display: block;
	inline-size: 144px;
	inset-inline-end: 10px;

	inset-inline-end: 60px;
	inset-block-start: 7px;
}

#bg {
	padding-block-start: 46px;
	padding-block-end: 14em; /* フッタの高さと合わせる */
}
/* フッタ部 */
footer {
	block-size: 14em; /* .bgの高さと合わせる */
}
footer .inner {
	padding-block-start: 50px;
}
/* フッタリンク */
footer .flinks {
	font-size: 15px;
}

/* トップに戻る */
#btn_top {
	inline-size: 60px;
	block-size: 60px;
	inset-inline-end: 10px;
	inset-block-end: 80px;
}
#btn_top:after {
	inline-size: 18px;
	block-size: 18px;
	border-block-start: 5px solid #fff;
	border-inline-end: 5px solid #fff;
	inset-block-start: 42%;
}

/* spボタン */
#btn_sp {
	display: none;	
}

/* メディア判定 */
.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 .inner {
	block-size: 55px;
}
#logo {
	inline-size: 280px;
	inset-block-start: 3px;
	inset-inline-start: 10px;
}

header #h_contact {
	inline-size: 180px;
	inset-inline-end: 15px;;
	inset-block-start: 7px;
}

#bg {
	padding-block-start: 55px;
	padding-block-end: 14em; /* フッタの高さと合わせる */
}
/* フッタ部 */
footer {
	block-size: 14em; /* .bgの高さと合わせる */
}
footer .inner {
	padding-block-start: 60px;
}
/* フッタリンク */
footer .flinks {
	flex-wrap: wrap;
	font-size: 16px;
}
footer .flinks a {
	color: #000;
	display: inline-block;
	padding-inline: 1.4em;
	white-space: nowrap;
}


/* トップに戻る */
#btn_top {
	inline-size: 70px;
	block-size: 70px;
	inset-inline-end: 10px;
	inset-block-end: 70px;
}
#btn_top:after {
	inline-size: 18px;
	block-size: 18px;
	border-block-start: 5px solid #fff;
	border-inline-end: 5px solid #fff;
	inset-block-start: 42%;
}


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



/* end of media query */
}


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

header #h_contact {
	inline-size: 180px;
	inset-inline-end: 15px;
	inset-block-start: 7px;
}


/* end of media query */	
}

