@charset "utf-8";

/* ========================
     リセット 
======================== */
html, body, h1, h2, h3, h4, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	font-weight: normal;
	font-size: 100%;
	vertical-align:baseline;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

article, header, footer, nav, section, #container, #header, #contents, #footer { 
	display:block;
}

body {
	line-height: 1;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}
ol, ul {
	list-style: none;
	list-style-type: none;
}

/* ========================
	Clearfix
======================== */
.clearfix {
	zoom:1;
}
.clearfix:after {
	content:"";
	display:block;
	clear:both;
}

/* ========================
	基本設定
======================== */
html, body {
	height: 100%;
}

body {
	background-color:#d9c8c7;
	color: #000;
	font-size: 14px;
	font-family: "Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
	line-height: 1.5;
}

#container {
	background-image: url("../img/background.png");
	background-repeat:repeat-y;
	background-position:center;
	background-color:#d9c8c7;
    position: relative;
    height: auto !important;
    height: 100%;
    min-height: 100%;

/*
	background-color: rgba(255,0,0,0.65);
*/
	margin: 0 auto;
	padding-bottom: 40px;	/*フッターの余白*/
}

#header {
	position: fixed;
	padding: 0;
	margin: 0;
	width: 100%;
	height: 50px;
	box-shadow: 0 3px 5px rgba(0,0,0,0.4);
}

#contents {
	margin: 0;
	padding: 80px 30px 70px;		/*ヘッダーの余白*/
}

#footer {
    position: fixed;
    bottom: 0;
    width: 100%;
    height: 40px;
	margin: 0 auto;
	padding: 0;
}

p, .text {
	width: 94%;
	margin: 0.8em auto;
}

a {
	color: #383832;
}

a img {
	border: 0;
}

/* ========================s
		ヘッダー
======================== */
#header {
	max-width: 640px;
	background-color: #454545;
	padding-top: 10px;
	text-align: center;
	border-bottom: 2px solid #410115;
	background: -webkit-gradient(linear, center top, center bottom,from(#b1335e),to(#320010));
	background: linear-gradient(top center,#b1335e 0%,#320010 100%);
	background: -o-linear-gradient(#b1335e, #320010);
	background: -moz-linear-gradient(#b1335e, #320010);
	box-shadow: 0 0 5px 0px #d7587e inset;
}

#header #title {
	color: #ffffff;
	font-size: 18px;
	font-weight: bold;
}
/* ========================
		フッター
======================== */
#footer {
	max-width: 640px;
	background-color: #454545;
	padding-top: 10px;
	text-align: center;
	border-top: 2px solid #410115;
	background: -webkit-gradient(linear, center top, center bottom,from(#b1335e),to(#320010));
	background: linear-gradient(top center,#b1335e 0%,#320010 100%);
	background: -o-linear-gradient(#b1335e, #320010);
	background: -moz-linear-gradient(#b1335e, #320010);
	box-shadow: 0 0 5px 0px #d7587e inset;
}

#footer #copyright {
	color: #ffffff;
}

/* ========================
======================== */
.passInput {
	margin: 20px 0;
}

.passInput p {
	margin: 0;
	padding: 0;
	font-weight: bolder;
}

.passInput input {
	margin: 0;
	padding: 3px;
	margin-bottom: 10px;
}

.passInput input.sendButton {
	margin: 20px 0;
	padding: 3px;
	min-width: 80px;
	text-align: center;
}

.returnPage {
	margin: 20px auto;
	text-align: center;
}

/* ========================
	デバッグページ
======================== */
.debugMessage {
	margin: 0;
	padding: 0;
	font-weight: bolder;
	text-align: center;
}

/*----テーブル----*/
.table {
	margin: 10px auto;
}
.table ul {
	display: table;
	margin: 0 auto;
	border: solid #000 thin;
}
.table ul ol {
	display: table-row;
}
.table ul li {
	display: table-cell;
	padding: 2px 5px;
	font-size: 12px;
	vertical-align: top;
	text-align: left;
	border: solid #000 thin;
	background-color: #fff;
}

ol.tbHeader li {
	text-align: center;
	background-color: #ffff99;
}

/* ========================
		フォント
======================== */
.attention {
	margin: 0 0 20px;
	font-size: 16px;
	font-weight: bolder;
	text-align: center;
}

.pointup {
	font-size: 16px;
	font-weight: bolder;
/*	text-align: center;*/
}

.bold {
	font-weight: bolder;
}

.small {
	font-size: 12px;
}

.white {
	color: #ffffff;	
}

.black {
	color: #000000;	
}

.red {
	color: #ff0000;	
}

.blue {
	color: #0000ff;	
}

.pink{
	color: #FF00A2;
}

.center {
	text-align: center;
}

/* ========================
		リスト
======================== */
ol, ul {
	width: 94%;
	margin: 0.5em auto;
	padding: 0;
}
ol > li, ul > li {
	margin: 0.5em 0;
	margin-left: 1em;
	padding: 0;
	line-height: 1.3;
}

ol.markDisc, ul.markDisc {
	list-style: disc;
}
ol.markCircle, ul.markCircle {
	list-style: circle;
}
ol.number, ul.number {
	list-style: decimal;
}
ol.markDisc > li, ul.markDisc > li,
ol.markCircle > li, ul.markCircle > li,
ol.number > li, ul.number > li {
	margin-left: 2em;
}

ol.markSquare > li::before,
ul.markSquare > li::before {
	content: '■';
	margin-left: -1em;
}
ol.markDot > li::before,
ul.markDot > li::before {
	content: '・';
	margin-left: -1em;
}
ol.markKome > li::before,
ul.markKome > li::before {
	content: '＊';
	margin-left: -1em;
}
ol.markArrow > li::before,
ul.markArrow > li::before {
	content: '→';
	margin-left: -1em;
}
ol.caution > li::before,
ul.caution > li::before {
	content: '※';
	margin-left: -1em;
}

ol.markRed > li::before,
ul.markRed > li::before {
	color: #ee0000;
}
ol.markBlue > li::before,
ul.markBlue > li::before {
	color: #0000ee;
}

/*--- 表示領域が640px以上の場合に適用 ---*/
@media screen and (min-width: 641px) {

	#container, #header, #contents, #footer {
		width: 640px;
	}
}



