@charset "UTF-8";

/* 
==========================================
base
==========================================
*/ 
html {
	margin: 0;
	padding: 0;
	width:100%;
	font-size: 100%;
}
body {
	margin: 0;
	padding: 0;
	color: #222;
	background: #f2f2f2;
	font-size: 14px;
	*font-size: 117%;/*ie5over*/
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Osaka",Meiryo,"ＭＳ ゴシック",sans-serif;
	line-height: 1.5;
	text-align: center;
}

header, footer, hgroup, section, nav, article, aside, figure, menu {
	display: block;
	margin: 0;
	padding: 0;
} 

a:link {
	text-decoration: underline;
	color: #2b497b;
	background-color: transparent;
}
a:visited {
	text-decoration: underline;
	color: #5959ab;
	background-color: transparent;
}
a:hover {
	text-decoration: none;
	color: #9b9835;
	background-color: transparent;
}
a:hover img,
#confirmbtn:hover {
	opacity: 0.7;
	filter: alpha(opacity=70); /* IE lt 8 */
	-ms-filter: "alpha(opacity=70)"; /* IE 8 */
	-khtml-opacity: 0.7; /* Safari 1.x */
	-moz-opacity: 0.7; /* FF lt 1.5, Netscape */
}
a:active {
	text-decoration: none;
}

/* ---------------------------------------------------------------
general
----------------------------------------------------------------*/ 

form {
	margin: 0;
	padding: 0;
}
img {
	vertical-align: bottom;
	border: none;
}
.invisible {
	display: none;
}

/* 
==========================================
main structure
==========================================
*/ 

#wrap {
	min-width: 990px;
}
#headerarea {
	position: relative;
	*position: static;/*4ie7zoom*/
	width: 100%;
	height: 76px;
	background: #fff url("../images/bg_headerarea.png") center bottom no-repeat;
}
#headerarea-innerwrap {
	width: 100%;
	height: 76px;
	background: #fff url("../images/bg_headerarea.png") center bottom no-repeat;
	z-index: 100;
}
#headerarea-innerwrap2 {
	position: relative;
	margin: 0 auto;
	width: 720px;
	text-align: left;
}
#contentsarea {
	clear: both;
	background: #fff;
	text-align: left;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #d6d6d6;
}
#contentsarea-innerwrap {
}
#contentsarea-innerwrap2 {
	position: relative;
	margin: 0 auto;
	width: 720px;
	text-align: left;
}
#contentsarea-innerwrap2:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
* html #contentsarea-innerwrap2 {
	/*\*/height: 1%;
	display: inline-table;
}

#breadcrumbs {
}
#mainarea {
	width: 100%;
}
#mainarea-innerwrap {
	position: relative;
}
#mainarea-innerwrap2 {
}
#contents-body {
	padding: 0 0 24px 0;
	width: 100%;
}
#contentsarea-end {
	margin-top: 12px;
}
#footerarea {
	clear: both;
	position: relative;
	margin: 0 auto;
	width: 720px;
	text-align: left;
	border-top: 1px solid #fff;
}
#footerarea-innerwrap {
	padding: 13px 0;
}

/* 
==========================================
common
==========================================
*/ 
/* ---------------------------------------------------------------
heading & fontsize
----------------------------------------------------------------*/
h1, h2, h3, h4, h5 {
	margin: 0;
	padding: 0;
	color: #000;
	line-height: 1;
}
.txtxxl {/*m28px,r27px*/
	font-size: 28px;
	*font-size: 200%;
}
h1, .txtxl {/*20px*//*24px/171%*/
	font-size: 20px;
	*font-size: 143%;
}
h2, .txtl {/*18px*/
	font-size: 18px;
	*font-size: 128%;
}
h3, .txtm {/*14px*/
	font-size: 14px;
	*font-size: 100%;
}
.txts {/*12px*/
	font-size: 12px;
	*font-size: 85%;
}
.txtxs {/*11px*/
	font-size: 11px;
	*font-size: 78%;
	line-height: 1.35;
}
.txtxxs {/*10px*/
	font-size: 10px;
	*font-size: 71%;
	line-height: 1.35;
}

#contents-body h2 {
	margin: 2.5em 0 1.5em 0;
	padding: 1px 0 4px 6px;
	background: url("../images/bg_h3.png") left bottom repeat-x;
	border-left: 2px solid #8c0c19;
}

/* ---------------------------------------------------------------
lineheight
----------------------------------------------------------------*/ 
.lh180 {
	line-height: 1.8;
}
.lh150 {
	line-height: 1.5;
}
.lh135 {
	line-height: 1.35;
}
.lh115 {
	line-height: 1.15;
}
.lh100 {
	line-height: 1;
}

/* ---------------------------------------------------------------
color
----------------------------------------------------------------*/ 
.white {
	color: #fff;
}
.black {
	color: #000;
}
.red {
	color: #98001c;
}
.attention {
	color: #cc0e00;
}
span.required {
	padding: 2px 4px;
	color: #fff;
	background: #9a0019;
	font-size: 92%;
}
.optional {
	margin: 1px 4px;
	padding: 2px 4px;
	color: #fff;
	background: #999;
	font-size: 10px;
	line-height: 1;
}
td .optional {
	display: block;
	padding: 4px 4px;
	text-align: center;
}

/* ---------------------------------------------------------------
general style
----------------------------------------------------------------*/
.notes {
	display: block;
	margin-top: 6px;
	padding-top: 8px;
	color: #444;
	font-size: 11px;
	*font-size: 92%;
	border-top: solid 1px #ddd;
}
.notes2 {
	display: block;
	padding-top: 4px;
	color: #444;
	font-size: 11px;
	*font-size: 92%;
}
.notes3 {
	display: block;
	margin: 12px 0;
	padding: 10px;
	color: #666;
	background: #f4f4f4;
	border: solid 1px #eee;
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	-o-border-radius: 6px;
	-ms-border-radius: 6px;
}

.attention {
	display: block;
	margin: 18px 0;
	padding: 0 12px;
	color: #cc0e00;
	background: #fff;
	border: solid 1px #cc0e00;
}

.icon-check {
	padding: 2px 0 0 16px;
	background: url("../images/icon_check_m.png") 0 0 no-repeat;
}

.no-style {
	padding: 0 !important;
	background: none !important;
	border: none !important;
}

.status-avlb,
.status-notavlb {
	display: inline-block;
	margin-left: 2px;
	padding: 0 4px;
	color: #fff;
	font-size: 12px;
	text-align: center;
}
.status-avlb {
	background: #cc0e00;
}
.status-notavlb {
	background: #999;
}

/* ---------------------------------------------------------------
general elements
----------------------------------------------------------------*/ 
strong {
	color: #000;
}
em {
	color: #000;
}

/* ---------------------------------------------------------------
position
----------------------------------------------------------------*/ 
.left {
	text-align: left;
}
.right {
	text-align: right;
}
.center {
	text-align: center;
}

.top {
	vertical-align: top;
}
.middle {
	vertical-align: middle;
}
.bottom {
	vertical-align: bottom;
}

/* ---------------------------------------------------------------
float
----------------------------------------------------------------*/ 
.fleft {
	float: left;
}
img.fleft {
	margin: 0 15px 10px 0;
}
.fright {
	float: right;
}
img.fright {
	margin: 0 0 10px 15px;
}
.clear-both {
	clear: both;
}

/* ---------------------------------------------------------------
column
----------------------------------------------------------------*/ 
.clmn {
	clear: both;
}
.clear-fix:after,
.clmn:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
* html .clear-fix,
* html .clmn {
	/*\*/height: 1%;
	display: inline-table;
}

/* ---------------------------------------------------------------
margin
----------------------------------------------------------------*/
.margin0000 {
	margin: 0!important;
}
.margin1000 {
	margin: 1em 0 0 0!important;
}
.margin0010 {
	margin: 0 0 1em 0!important;
}
.margin-t15 {
	margin-top: 1.5em !important;
}
.margin-t0 {
	margin-top: 0 !important;
}

/* 
==========================================
header
==========================================
*/
#headerarea img {
	display: block;
}
#headerarea .siteid {
	width: 276px;
}
#headerarea .siteid .logo {
	padding: 20px 0 0 0;
}

/* 
==========================================
footer
==========================================
*/
#footerarea {
	color: #111;
	font-size: 12px;
}
#footerarea .siteid {
	width: 219px;
	text-align: right;
	float: right;
}

#copyright {
	margin: 5px 0;
}

/* 
==========================================
sub structure　& style
==========================================
*/

/* ---------------------------------------------------------------
breadcrumb
----------------------------------------------------------------*/
#breadcrumbs {
	margin: 0 0 24px;
	padding: 0 0 8px;
}
#breadcrumbs dl {
	margin: 0;
	padding: 0;
	font-size: 11px;
	*font-size: 92%;
	line-height: 1.35;
	text-align: left;
	overflow: hidden;
}
#breadcrumbs dt {
	display: none;
}
#breadcrumbs dd {
	margin: 0;
	padding: 16px 0 0 0;
}
#breadcrumbs a {
}
#breadcrumbs a:hover {
	text-decoration: underline;
}
#breadcrumbs a:hover span {
	text-decoration: underline;
	color: #ff6600;
}

/* ---------------------------------------------------------------
table
----------------------------------------------------------------*/
.table-wrap {
	margin: 1.5em 0;
}
table {
	border-collapse: collapse;
}

/* ==== 通常（グレーベース、枠） ==== */
table.table-style-fr-gr {
	width: 100%;
	border-top: 1px solid #ddd;
	border-left: 1px solid #ddd;
}
table.table-style-fr-gr th {
	padding: 6px 10px;
	vertical-align: top;
	background: #fafafa;
	text-align: left;
	white-space: nowrap;
	border-right: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}
table.table-style-fr-gr td {
	padding: 6px 10px;
	vertical-align: top;
	background: #fff;
	text-align: left;
	border-right: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}

/* == 一般枠あり == */
table.listtable,
table.listtable-v {
	border-top: 1px solid #dadce4;
	border-left: 1px solid #dadce4;
}
table.listtable th {
	padding: 8px 10px;
	width: 9em;
	background: #f7f7f8;
	vertical-align: top;
	text-align: left;
	border-right: 1px solid #dadce4;
	border-bottom: 1px solid #dadce4;
}
table.listtable td {
	padding: 8px 10px;
	background: #fff;
	vertical-align: top;
	border-right: 1px solid #dadce4;
	border-bottom: 1px solid #dadce4;
}
table.listtable td.cell-condition {
	width: 2.5em;
}

/* ---------------------------------------------------------------
本文h
----------------------------------------------------------------*/ 
#pgtitle h1 {
	position: relative;
	margin-bottom: 1em;
	padding-bottom: 9px;
	border-bottom: 1px solid #0f163b;
}
#pgtitle h1:before {
	position: absolute;
	content: "";
	top: 100%;
	left: 0;
	width: 22px;
	height: 1px;
	background: url("../images/bg_h2.png") left top no-repeat;
	z-index: 1;
}

/* ---------------------------------------------------------------
p
----------------------------------------------------------------*/ 
td p,
td ul,
td ol {
	margin: 0;
}

/* ---------------------------------------------------------------
list
----------------------------------------------------------------*/ 
ul, ol {
	margin-left: 0;
	padding-left: 0;
}
ul li {
	margin-left: 1.6em;
}
ol li {
	margin-left: 2em;
}
td ul li {
	margin-left: 1.4em;
}
td ol li {
	margin-left: 1.6em;
}

/* ---------------------------------------------------------------
link&linklist
----------------------------------------------------------------*/ 
.link a,
a.link {
	padding: 0 0 0 8px;
	background: url("../images/icon_arrow.png") 0 0.3em no-repeat;
}

/* ---------------------------------------------------------------
form
----------------------------------------------------------------*/ 
.listtable .contactform {
	width: 330px;
}
input.required,
textarea.required {
	background-color: #f7ebed;
}
input.hover,
textarea.hover {
	background-color: #f4f4ea;
}
#confirmbtn {
	display: block;
	margin: 2.5em auto 1em auto;
}
body#idcontact button,
body#idform button {
	padding: 0;
	width: 230px;
	height: 36px;
	background-color: #fff;
	border: none;
	cursor: pointer;
}
.imeon{
	ime-mode: active;
}
.imeoff{
	ime-mode: disabled;
}

#confirmbtn {
	margin: 1em 0 2em 0;
	padding: 1em 4em;
	font-size: medium;
	font-weight: bold;
	border-width: 1px;
	border-style: solid;
	border-color: #570405 #570405 #570405 #570405;
	color: #fff;
	background-color: #ba0014;
	background-image: -webkit-gradient(linear,left top,left bottom,from(#ba0014),to(#8f000f));
	background-image: -webkit-linear-gradient(top,#ba0014,#8f000f);
	background-image: -moz-linear-gradient(top,#ba0014,#8f000f);
	background-image: -ms-linear-gradient(top,#ba0014,#8f000f);
	background-image: -o-linear-gradient(top,#ba0014,#8f000f);
	background-image: linear-gradient(top,#ba0014,#8f000f);
	box-shadow: 0px 2px 1px -1px rgba(0,0,0,0.2);
	cursor: pointer;
}

/* ---------------------------------------------------------------
単体リンク系ナビゲーション（詳細へ、次へ、戻る、ページ先頭へ）
----------------------------------------------------------------*/ 
/*------- ページトップ -------*/
.navi-pgtop {
	clear: both;
	margin: 24px 0;
	text-align: right;
}
#contentsarea-end .navi-pgtop {
	margin: 0 4px 0 0;
}
#contentsarea-end .navi-pgtop a {
	padding: 0;
	background: 0;
}
#contentsarea-end .navi-pgtop img {
	vertical-align: bottom;
}
