/* style.css */


/* reset default style sheet */

* {
	margin: 0;
	padding: 0;
	font-style: normal;
	font-weight: normal;
	font-size: 14px;
	line-height: 1.25em;
	color: #000000;
	font-family: sans-serif;
}


/* common layout */

#container {
	border-left: solid 16px #eeeeee;
	border-right: solid 16px #eeeeee;
	width: 800px;
	background: #ffffff;
}

/* for smart-phone */
@media screen and ( max-width:480px ) {
	#container {
		border-left: 0;
		border-right: 0;
		width: auto;
	}
}

#top_header {
	width: 800px;
	height: 54px;
	background-image: url("title.png");
}

/* for smart-phone */
@media screen and ( max-width:480px ) {
	#top_header {
		width: auto;
		height: 32px;
		background-image: url("title_s.png");
	}
}

#header {
	padding: 8px;
}

#top_navi {
	padding-top: 0.5em;
	padding-right: 8px;
	padding-bottom: 1em;
	text-align: right;
}

#navi {
	padding-left: 8px;
	padding-bottom: 1em;
	text-align: left;
}

#contents {
	padding-left: 8px;
	padding-right: 8px;
}

#footer {
	padding-top: 0.5em;
	padding-left: 8px;
	padding-right: 8px;
	border-top: 1px solid #cccccc;
}

#footer_l {
	float: left;
}

#footer_l p, #footer_l a {
	font-size: 12px;
}

#footer_r {
	float: right;
}

#footer_r p {
	font-size: 10px;
}


/* mail form layout */

.tab {
	display: table;
}

.item {
	display: table-cell;
	width: 12em;
	text-align: right;
	vertical-align:top;
}

.input_box {
	display: table-cell;
	text-align: left;
	padding-left: 1em;
	padding-bottom: 1em;
}

input[type="text"] {
	width: 100%;
}

textarea {
	width: 100%;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}

/* for smart-phone */
@media screen and ( max-width:480px ) {
	.tab {
		display: block;
	}

	.item {
		display: block;
		width: auto;
		text-align: left;
		vertical-align: middle;
	}

	.input_box {
		display: block;
		text-align: left;
		padding-left: 0;
		padding-bottom: 1em;
	}

 	input[type="text"]  {
		width: 96%;
	}
}


/* common style */

body {
	background: #eeeeee;
}

h1 {
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	padding-left: 0.5em;
	margin-bottom: 0.25em;
	font-weight: bold;
	font-size: 22px;
	color: #000080; 
	border-left: 24px solid #ff9900;
	border-bottom: 4px solid #ff9900;
}

/* for smart-phone */
@media screen and ( max-width:480px ) {
	h1 {
		padding-top: 0.5em;
		padding-bottom: 0.5em;
		padding-left: 0.5em;
		margin-bottom: 0.25em;
		font-weight: bold;
		font-size: 16px;
		color: #000080; 
		border-left: 8px solid #ff9900;
		border-bottom: 2px solid #ff9900;
	}
}

h2 {
	padding-left: 0.5em;
	padding-top: 0.25em;
	margin-bottom: 0.25em;
	font-weight: bold;
	font-size: 20px;
	color: #333333;
	background-color: #ccccff;
	border-right: 2px solid #9999cc;
	border-bottom: 2px solid #9999cc;
}

h3 {
	padding-top: 0.5em;
	padding-left: 0.5em;
	margin-bottom: 1em;
	font-weight: bold;
	font-size: 18px;
	border-top: 1px dashed #cccccc;
	border-left: 8px solid #cccccc;
}

h4 {
	margin-bottom: 0.25em;
	font-weight: bold;
	font-size: 16px;
	color: #000080;
}

h4 a:link, h4 a:visited {
	font-weight: bold;
}

h4 a:hover {
	color: #ff0000;
}

p {
	margin-bottom: 1em;
}

table {
	margin-bottom: 1em;
	border: 1px solid #cccccc;
	border-collapse: collapse;
}

th, td {
	border: 1px solid #cccccc;
	padding: 2px;
}

caption {
	font-weight: bold;
	color: #000080;
}

ul {
	margin-left: 2em;
	margin-bottom: 1em;
}

dl {
	margin-bottom: 0.5em;
}

dt {
	padding-left: 1em;
	background: url('images/right.gif')  no-repeat left center;
}

dd {
	margin-bottom: 0.5em;
	padding-left: 1em;
}

em {
	font-weight: bold;
	color: #cc0000;
}

form {
	margin-bottom: 1em;
}

button {
	margin-bottom: 1em;
}

a:link    { text-decoration: none;      color: #0000cc; } /* 未訪問リンク */
a:visited { text-decoration: none;      color: #0000cc; } /* 訪問済みリンク */
a:hover   { text-decoration: underline; color: #ff0000; } /* マウスが乗ったとき */
a:active  { text-decoration: none;      color: #ff0000; } /* クリックしたとき */

a img {
	border-style: none;
}


/* 汎用class */

/* センタリング */
.c {
	text-align: center;
}

/* 右そろえ */
.r {
	text-align: right;
}

/* フォントサイズ large */
.fs_large {
	font-size: 16px;
}

/* フォントサイズ small */
.fs_small {
	font-size: 12px;
}

/* フォントサイズ x-small */
.fs_xsmall {
	font-size: 10px;
}

/* 背景色グレイ */
.bg_gray {
	background-color: #dddddd;
}

/* ドットライン */
div.dotline {
	border-top: 1px dashed #cccccc;
	width: 100%;
	height: 1em;
}

/* 境界線描画 */
.frame {
	border: 1px solid #cccccc;
}

/* 左フロート(右回り込み) */
.fl {
	margin-right: 8px;
	margin-bottom: 8px;
	float: left;
}

/* 右フロート(左回り込み) */
.fr {
	margin-left: 8px;
	margin-bottom: 8px;
	float: right;
}

/* 回り込み解除 */
div.cl_both {
	clear: both;
}
