@charset "UTF-8";
/*初期化*/
body,div,header,nav,section,article,aside,footer,ul,ol,li,h1,h2,h3,h4,h5,h6,p,hr,img,table,tr,th,td,pre{
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	vertical-align: baseline;
}

header,footer,main,article,nav,section,aside{
	display: block;
}

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

/*基本設定*/
html{
	font-family: arial, helvetica, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', sans-serif;
	font-size: 15px;
	line-height: 1.7em;
}
body{
	color: #333333;
	background-color: #f5f5f5;
	background-image: url(/img_site/back.png);
}

h1,h2,h3,h4,h5,h6{
	font-weight: normal;
	font-size: 1.1rem;
	line-height: 1.7em;
}

a, a:link, a:visited{
	color: #333333;
	text-decoration: none;
}

a:hover, a:active{
	text-decoration: underline;
}

a.whitelink, a.whitelink:link, a.whitelink:visited{
	color: #cccccc;
}

a.whitelink:hover, a.whitelink:active{
	color: #ffffff;
	text-decoration: underline;
}

hr{
	border-bottom: dotted 1px #333333;
	padding-top: 12px;
	padding-bottom: 12px;
}

/*汎用クラス*/
.txt-center{
	text-align: center;
}
.txt-right{
	text-align: right;
}
.txt-left{
	text-align: left;
}

hr.hr-space{
	border: 0;
	padding: 0;
	height: 1rem;
}

/*ヘッダ*/
#siteheader{
	height: 118px;
	width: 100%;
	background-image: url(/img_site/bgtop.png);
	background-repeat: no-repeat;
	border-bottom: solid 1px rgba(0,0,0,0.5);
}

#siteheader div{
	text-align: center;
	width: 865px;
	margin-right: auto;
	margin-left: auto;
}

#siteheader h1{
	position: relative;
	float: left;
	width: 195px;
	height: 78px;
}

#siteheader h1 a{
	display: block;
	width: 100%;
	height: 100%;
}

#siteheader p{
	position: relative;
	float: right;
	top: 32px;
	font-size: 14px;
	line-height: 20px;
	height: 20px;
	vertical-align: text-bottom;
	padding-left: 24px;
	background-image: url(/img_site/pointtop.png);	/*size 20px x 20px*/
	background-repeat: no-repeat;
}

#siteheader::after{
	content:"";
	display: table;
	clear: both;
}


/*ページ内リンク位置調整*/
.descent{
	height: 40px;
}


/*ナビメニュー・固定*/
#menubar{
	position: fixed;
	z-index: 26;
	top: 0;
	width: 100%;
	font-size: 0.9rem;
	line-height: 35px;
	background-color: rgba(255,255,255,0.8);
	border-bottom: solid 1px #888888;
}

#menubar li a{
	display: block;
}

#menubar > ul{
	list-style: none;
	display: -webkit-flex; /* Safari */
    -webkit-flex-wrap: nowrap;
	-webkit-justify-content: center;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	text-align: center;
	margin: 0 auto;
}

#menubar > ul > li{
	display: inline-block;
	height: 35px;
	white-space: nowrap;
	-webkit-flex: 0 0 5.5rem;
	flex: 0 0 5.5rem;
	overflow: hidden;
	border-left: dotted 1px #888888;
}

#menubar > ul > li:hover{
	overflow: visible;
}

#menubar > ul > li:last-of-type{
	border-right: dotted 1px #888888;
}

#menubar li > ul{
	position: relative;
	top: 1px;
	width: 5.5rem;
	display: flex;
	flex-wrap: nowrap;
	flex-direction: column;
	list-style: none;
	/*border-top: solid 1px #888888;*/
	background-color: rgba(255,255,255,0.8);
}

#menubar li > ul > li{
	height: 35px;
	border: dotted 1px #888888;
	border-top: none;
}

#returntop{
	font-weight: bold;
	line-height: 4em;
	font-size: 0.78rem;
	text-align: center;
	width: 8em;
	height: 4em;
	position: fixed;
	z-index: 25;
	right: 2em;
	bottom: 28px;
	border-radius: 1em; 
	background-color: rgba(255,255,255,0.8);
	box-shadow: 0 0 2px 0 rgba(0,0,0,0.5);
}

#returntop a{
	display: block;
	width: 100%;
	height: 100%;
}


/*壁紙ナビ・小物ナビ*/
.menu-flex ul{
	display: -webkit-flex; /* Safari */
    -webkit-flex-wrap: nowrap;
    -webkit-justify-content: center;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	width: 100%;
	border-bottom:  solid 1px rgba(0,0,0,0.5);
	text-align: center;
}

.menu-flex li{
	font-weight: bolder;
	line-height: 2.5rem;
	height: 2.5rem;
	text-align: center;
	list-style: none;
	display: inline-block;
	-webkit-flex: 1 0 2.5rem;
	flex: 1 0 2.5rem;
	overflow: hidden;
	border-right:  solid 1px rgba(0,0,0,0.5);
}

.menu-flex li:last-of-type{
	border-right: none;
}

.menu-flex a{
	display:block;
	width: 100%;
	height: 100%;
	background-color: rgba(255,255,255,0.5);
}

.menu-flex a:hover{
	color: #ffffff;
	text-shadow: 1px 1px 3px rgba(0,0,0,0.5);
	background-color: rgba(255,255,255,0);
}

#bgnav li:nth-of-type(1){
	background-image: url(/img_site/menu/dot_aqua.png);
}
#bgnav li:nth-of-type(2){
	background-image: url(/img_site/menu/stripe_aqua.png);
}
#bgnav li:nth-of-type(3){
	background-image: url(/img_site/menu/grid_aqua.png);
}
#bgnav li:nth-of-type(4){
	background-image: url(/img_site/menu/vintage.png);
}

#bsnav li:nth-of-type(1){
	background-image: url(/img_site/menu/dot_basic.png);
}
#bsnav li:nth-of-type(2){
	background-image: url(/img_site/menu/stripe_basic.png);
}
#bsnav li:nth-of-type(3){
	background-image: url(/img_site/menu/grid_basic.png);
}
#bsnav li:nth-of-type(4){
	background-image: url(/img_site/menu/others_basic.png);
}

#opnav li:nth-of-type(1){
	background-image: url(/img_site/optape.png);
}
#opnav li:nth-of-type(2){
	background-image: url(/img_site/oppaper.png);
}
#opnav li:nth-of-type(3){
	background-image: url(/img_site/opicon.png);
}
#opnav li:nth-of-type(4){
	background-image: url(/img_site/opothers.png);
}


/*インフォエリア*/
#info{
	clear: both;
	font-size: 0.9rem;
	line-height: 2rem;
	text-align: center;
	border-bottom: solid 1px rgba(0,0,0,0.5);
	background-color: rgba(255,255,255,0.8);
}

#info a{
	color: #d00000;
	font-weight: bold;
}

#info a:hover{
	text-decoration: underline;
}

/*メインブロック*/
#mainwrapper{
	width: 100%;
}

#main{
	position: relative;
	margin-right: auto;
	margin-left: auto;
	width: 900px;
}

#maincontainer{
	padding: 2em 5em 2em 5em;
}

/*フッター*/
#sitefooter{
	width: 100%;
	border-top: solid 1px rgba(0,0,0,0.5);
}

/*最下部*/
#copyright{
	font-size: 0.85rem;
	padding-top: 2em;
	padding-bottom: 2em; 
	text-align: center;
}

#footeraside{
	border-top: solid 1px rgba(0,0,0,0.5);
	padding: 5px 0;
	vertical-align: middle;
	text-align: center;
}

#counter{
	font-size: 0.7rem;
	text-align: center;
}
/*レスポンシブ*/
@media screen and (max-width: 899px){
	#siteheader{
		background-position: -100px 0px;
	}
	#menubar {
		display: none;
	}
	.descent{
		height: 0;
	}
	#siteheader div{
		width: auto;
	}
	#siteheader h1, #siteheader p{
		position: static;
		float: none;
	}
	#siteheader p{
		padding-left: 0;
		background-image: none;
	}
	#siteheader h1{
		margin: 0 auto;
	}
	#returntop{
		opacity: 0.5;
		line-height: 2.8em;
		height: 2.8em;
		top: 28px;
		right: 0;
		bottom: auto;
	}

	#main{
		width: auto;
	}

	#maincontainer{
		padding:2rem 1rem;
	}
}