* {
	margin: 0;
	padding: 0;
}

body{
  font-size: 90%;
}

img{
  border: none;
}

h2{
  font-family: sans-serif;
  font-weight: normal;
}
h2 a{
  text-decoration: none;
}
h3{
  margin: 10px 0;
  padding: 10px;
  background: #CDE1F7 url("../images/ashiato.jpg") no-repeat 97% 50%;
  color: #004DA4;
  font-size: 130%;
  font-family: sans-serif;
}

h4{
  clear: both;
  font-size: 110%;
  background: #CDE1F7;
  padding: 7px 10px;
  margin: 15px 0 5px 0;
  color: #0085D4;
  text-align: left;
  font-family: sans-serif;
  border-left: 8px solid #0085D4;
}

h5{
  clear: both;
  font-size: 110%;
  padding: 5px 7px;
  margin: 5px 0;
  font-family: sans-serif;
}
a{
  color: #00c;
}
li{
  list-style: none;
}
p{
  margin: 5px 0;
}
th{
  font-family: sans-serif;
}

/*
 * メインブロック
 * 全体の幅を調整
 */

#main {
	width:900px;
	margin:0px auto;
  background: #fff;
}

/*
 * ヘッダー
 */
 
#header {
	background: #fff url(../images/header-background.jpg) no-repeat center top;
	padding: 20px 10px 0;
  margin: 0 0 5px 0;
}
#header #title {
	width: 680px;
	float:left;
}
#header #banner {
	width: 200px;
  padding-top: 14px;
	float: left;
  text-align: center;
}
#header h1, #header h2 {
	font-family:sans-serif;
	float:left;
	height:50px;
	line-height: 50px;
}
#header h2 {
	padding: 0 0 0 10px;
	font-size: 90%;
}
#logged-in-message{
  margin: 3px 0;
  color: #fff;
  font-size: 90%;
  clear: both;
  background: #f00;
  padding: 3px;
}
#logged-in-message a{
  color: #fff;
}
/*
 * コンテナ
 */

#container {
	clear:both;
  padding: 0 10px;
}
#content {
	width: 680px;
	float:left;
}
#content-inner{
  padding: 0 10px 0 5px;
  position: relative;
  overflow: hidden;
}
#menu {
  width: 333px;
  height: 302px;
  float: left;
}
#flash-content{
  width: 654px;
  height: 302px;
  float: left;
}
#flash-menu{
  width: 333px;
  height: 302px;
  float: left;
}
#flash-image{
  width: 321px;
  height: 302px;
  float: left;
  position: relative;
  left: -1px;
}
#flash-space{
  width: 1px;
  height: 302px;
  float: left;
}
#flash-search-map{
  margin: 10px;
}
#contact-menu {
  clear: both;
	width:175px;
	float:left;
	margin: 10px 0;
}
#contact-menu ul {
	list-style:none;
}
#news {
	width:480px;
	float:left;
	margin: 10px 0;
}
#news ul{
  margin: 5px 10px;
}
#news ul li{
  padding: 8px;
  border-bottom: 1px dashed #ccc; 
}
#news ul a{
  text-decoration: none;
}

/*
 * サイドバー
 */
 
#sidebar {
	width:200px;
	float:left;
  font-size: 80%;
  text-align: center;
}

#sidebar ul{
	list-style-type: none;
}

#sidebar a{
  text-decoration: none;
}
#sidebar select{
  font-size: 80%;
}

#sidebar #recomend-estate{
  margin-top: 9px;
  margin-bottom: 9px;
  padding: 5px;
  background: #fef1e1;
}

#sidebar #recomend-title{
  text-align: left;
  padding: 3px;
  color: #666;
}

#sidebar .recomend-estate-section{
  text-align: left;
  margin-bottom: 5px;
  background: #fff;
}
#sidebar #recomend-footer{
  height: 1px;
  font-size: 1px;
}
#sidebar .recomend-estate-title{
  padding: 5px;
  background: #eee;
  border-top: 3px solid #bbb;
  border-left: 1px solid #bbb;
  border-right: 1px solid #bbb;
  border-bottom: 1px solid #bbb;
}
#sidebar .recomend-estate-content{
  padding: 5px;
}
#sidebar .recomend-estate-image{
  text-align: center;
  margin: 3px;
}

#sidebar #random-information-event{
  margin-top: 9px;
  margin-bottom: 9px;
  padding: 5px;
  background: #fee1f1;
}

#sidebar #random-information-event-title{
  text-align: left;
  padding: 3px;
  color: #666;
}

#sidebar .random-information-event-section{
  text-align: left;
  margin-bottom: 5px;
  background: #fff;
}
#sidebar .random-information-event-title{
  padding: 5px;
  background: #eee;
  border-top: 3px solid #bbb;
  border-left: 1px solid #bbb;
  border-right: 1px solid #bbb;
  border-bottom: 1px solid #bbb;
}
#sidebar .random-information-event-content{
  padding: 5px;
}
#sidebar .random-information-event-image{
  text-align: center;
  margin: 3px;
}
#sidebar #random-information-event-footer{
  height: 1px;
  font-size: 1px;
}

#sidebar #dealer-banners{
  margin: 5px 0;
}


/*
 * フッター
 */

#footer {
	clear:both;
	background: url(../images/footer-background.jpg) no-repeat left bottom;
	height:89px;
}
#footer-content {
	text-align: center;
	color:#fff;
	font-size: 90%;
}
#mini-sitemap{
  padding: 40px 0 10px;
  clear: both;
  text-align: center;
  font-size: 80%;
}
#mini-sitemap li{
}
#mini-sitemap a{
  text-decoration: none;
}

#foot-navigation{
  padding-left: 300px;
  clear: both;
  height: 65px;
  line-height: 65px;
}
#foot-navigation a{
  text-decoration: none;
}


/*
 * 細々したもの
 */

.require{
  color: #f00;
}
.require-cell{
  background: #fef1e1 !important;
}
.clear-float{
  clear: both;
}
.point{
  background: #ff6000;
  color:#fff;
  padding: 2px;
  margin-right: 2px;
  border-radius: 6px;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
}
.print{
  text-align: right;
}
.print a{
  text-decoration: none;
}
.dealer-name{
  font-size: 160%;
  padding: 5px 0;
}
.dealer-name a{
  text-decoration: none;
}

/*
 * サイトマップ
 */

#sitemap ul{
  margin: 0 3em 0 2em;
  float: left;
}
#sitemap ul ul{
  float: none;
}
#sitemap ul li{
  margin: 5px 0;
  list-style: disc;
}
#sitemap ul li ul li{
  list-style: circle;
}

/*
 * list-table
 */

.list-table{
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  clear: both;
}
.list-table th,
.list-table td{
  padding: 5px;
  font-size:80%;
  border: 1px solid #ddd;
}
.list-table th{
  text-align: left;
  font-weight: normal;
  background: #EDF2FA;
  white-space: nowrap;
}
.list-table .list-header{
  font-weight: normal;
  white-space: normal;
  background: #fff url("../images/table-header.jpg") repeat-x left bottom;
}
.list-table .list-space{
  padding: 0;
  font-size: 1px;
  height: 3px;
  border: none;
}
.list-table .list-thumbs{
  width: 100px;
  height: 100px;
  text-align: center;
}
.list-table .list-thumbs a{
  text-decoration: none;
}
.list-table .list-title{
  font-size: 150%;
  margin: 3px 0;
}
.list-table .list-title a{
  text-decoration: none;
}
.list-table .nowrap{
  white-space: nowrap;
}

.textfield{
  background: #FBFBFB;
  border: 1px solid #ccc;
  font-size: 110%;
  padding: 3px;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  margin: 3px;
}

/*
 * estate-details
 */

.estate-details{
  clear: both;
  font-size: 90%;
}

.estate-details-table{
  width: 100%;
  margin: 5px 0;
  border: 1px solid #ddd;
}

.estate-details-table{
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

.estate-details-table th{
  text-align: left;
  white-space: nowrap;
  background: #eee;
  padding: 5px;
  border: 1px solid #ddd;
  width: 20%;
}
.estate-details-table td{
  padding: 5px;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  width: 30%;
}
.estate-details-table td.wide{
  width: 80%;
}


/*
 * estates-list
 */

.estates-list{
  clear: both;
}

/*
 * estate-dealer
 */

.estate-dealer{
  margin: 5px 0;
  font-size: 90%;
}

.estate-dealer-table{
  width: 100%;
  margin: 5px 0 15px 0;
}

.estate-dealer-table th,
.estate-dealer-table td{
  line-height: 2.0em;
}

.estate-dealer-table th{
  text-align: left;
  white-space: nowrap;
  background: #EDF2FA;
}
td.estate-dealer-image{
  text-align: center;
}
.estate-dealer-table .contact{
  color: #c00;
  font-size: 140%;
}

/*
 * dealer-table
 */

.dealer-table{
  width: 100%;
  margin: 5px 0 15px 0;
  border-collapse: collapse;
  border-spacing: 0;
}

.dealer-table th,
.dealer-table td{
  padding: 5px;
  border: 1px solid #ddd;
}

.dealer-table th{
  text-align: left;
  white-space: nowrap;
  background: #EDF2FA;
}

/*
 * FormHelper
 */

.errorExplanation{
  border: 1px solid #f00;
  background: #fff;
  margin: 10px 0;
}
.errorExplanation ul{
  margin: 0 0 0 2em;
}
.errorExplanation h3{
  color: #000;
  background: none;

}
.fieldWithErrors input,
.fieldWithErrors select{
  border: 1px solid #f00 !important;
}
.formError{
  color: #f00;
}

/*
 * dealer
 */

.dealer-kana{
  text-align: center;
  letter-spacing: 5px;
  margin: 5px 0 10px 0;
}

.dealer-kana a{
  text-decoration: none; 
  font-size: 200%;
  vertical-align: middle;
}

.dealer-kinds{
  margin: 5px 0 10px 0;
}
.dealer-kinds table{
  width: 100%;
  text-align:center;
  margin: 0;
  padding: 0;
}
.dealer-kinds table td{
  width: 50%;
  text-align:center;
  margin: 0;
  padding: 0;
}
.dealer-kinds a{
  text-decoration: none; 
  white-space: nowrap;
  font-size: 150%;
}

/*
 * pagination
 */

div.pagination {
  padding: 3px;
  margin: 15px 3px;
  float: right;
}

div.pagination a {
  padding: 2px 5px 2px 5px;
  margin: 2px 0;
  border: 1px solid #666;
  text-decoration: none; /* no underline */
  color: #666;
}
div.pagination a:hover, div.pagination a:active {
  border: 1px solid #666;
  color: #000;
}
div.pagination span.current {
  padding: 2px 5px 2px 5px;
  margin: 2px 0;
  border: 1px solid #666;
  background-color: #666;
  color: #FFF;
}
div.pagination span.disabled {
  padding: 2px 5px 2px 5px;
  margin: 2px 0;
  border: 1px solid #EEE;
  color: #BBB;
}

.entry-info{
  padding: 3px;
  margin: 3px;
  float: left;
}
.entry-size{
  color: #c00;
  font-size: 200%;
}

/*
 * information-event-details
 */

.information-event-details{
  border: 1px solid #ddd;
  padding: 10px;
}

/*
 * image-list
 * センタリング付き
 */

.estate-image-list,
.dealer-image-list,
.information-event-image-list{
  text-align: center;
  width: 100%;
}

.estate-image-table,
.dealer-image-table,
.information-event-image-table{
  width: auto;
  margin: 5px auto;
  border-spacing: 15px;
}

.estate-image-table td,
.dealer-image-table td,
.information-event-image-table td{
  height: 280px; 
  width: 280px; 
  vertical-align: middle;
  background: #fff;
  border: 1px solid #ccc;
}
.estate-image-name,
.dealer-image-name,
.information-event-image-name{
  margin: 5px;
  font-size: 90%;
}
/*
 * contact
 */

.contact,
.estate-contact,
.information-event-contact{
  clear: both;
}

.contact-table,
.estate-contact-table,
.information-event-contact-table{
  margin: 5px 0 15px 0;
  border: 1px solid #ddd;
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

.contact-table th,
.estate-contact-table th,
.information-event-contact-table th{
  padding: 5px;
  border: 1px solid #ddd;
  vertical-align: top;
  text-align: left;
  white-space: nowrap;
  background: #EDF2FA;
}

.contact-table td,
.estate-contact-table td,
.information-event-contact-table td{
  padding: 5px;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}

.contact-table .textfield,
.estate-contact-table .textfield,
.information-event-contact-table .textfield{
  width: 95%; 
}
.contact-table textarea,
.estate-contact-table textarea,
.information-event-contact-table textarea{
  height: 150px;
}
.contact-table .name,
.estate-contact-table .name,
.information-event-contact-table .name{
  width: 150px !important; 
}
.contact-table ul,
.estate-contact-table ul,
.information-event-contact-table ul{
  margin: 10px 5px;
}
.contact-submit{
  text-align: center;
  padding: 5px 0 15px 0;
}
.contact-button{
  margin-top: 20px;
  clear: both;
  text-align: center;
  background: #CDE1F7;
}
.contact-submit a{
  text-decoration: none;
}


/*
 * errorExplanation
 */

.errorExplanation h3{
  border: none; 
}

/*
 * register
 */

.register{
  text-align: center;
}
.register p{
  line-height: 1.6em;
}
.estate-qrcode,
.information-event-qrcode,
.dealer-qrcode{
  margin: 10px auto 5px;
}
.estate-qrcode th,
.information-event-qrcode th,
.dealer-qrcode th{
  font-weight: normal;
}



/*
 * office
 */

.office{
  margin: 5px 0;
}

.office table{
  width: 100%;
  margin: 5px 0 15px 0;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 90%;
}

.office table th,
.office table td{
  padding: 5px;
  border: 1px solid #ddd;
}

.office table th{
  text-align: left;
  white-space: nowrap;
  background: #eee;
}

#privacy{
  padding: 15px 0;
  line-height: 1.3em;
}
#privacy p{
  margin: 0.5em 0;
}
#privacy ol{
  padding: 0 0 0 3em;
}
#privacy li{
  margin: 0.5em 0;
  list-style: decimal;
}
#privacy .foot{
  text-align: right;
}
#sub-header{
  padding: 5px;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
.line-title{
  clear: both;
  padding: 5px;
}

/*
 * search
 */

#search-box{
}
#search-box-inner{
  padding: 5px;
}
#search-lines a,
#search-areas a{
  text-decoration: none;
}
.search-list{
  background: #fff;
  margin: 10px;
}

.search-list li{
  float: left;
  width: 25%;
  white-space: nowrap;
  padding: 0 0 8px 0;
}

.search-area-title,
.search-line-title{
  padding: 3px 7px;
  clear: both;
  margin: 5px 0;
  background: #eee;
  border: 1px solid #ddd;
}
.search-area-title a,
.search-line-title a{
 border-left: 3px solid #004DA4;
 padding-left: 5px;
 padding-top: 1px;
 padding-bottom: 1px;
}
.search-submit{
  clear: both;
  text-align: center;
}

#estates-sort{
  padding: 5px;
  background: #fef1e1;
  font-size: 90%;
}
.search-title{
  padding: 5px;
  background: #fef1e1;
}
.search-content{
  padding: 5px;
  font-size: 90%;
}
.search-section{
  white-space: nowrap;
  padding: 5px 0;
}
.search-content option{
}

#search-details{
  margin: 5px 0;
  text-align: left;
  background: #fff;
  font-size: 90%;
}


.map-num-background{
  background: #fff;
  padding: 1px 5px;
  border: 1px solid #666;
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
}
#map-estate-view{
  display: none;
  position: relative;
  padding: 5px;
  width: 300px;
  background: #fff;
  float: right;
  opacity: 0.9;
  filter: alpha(opacity=90);
  height: 390px;
  overflow: auto;
  overflow-x: hidden; /* for ie */
  border-left: 1px solid #ccc;
}
#map-estate-view-title{
  padding: 10px;
  border-bottom: 1px solid #ccc;
  background: #ccc;
}
#map-estate-view-title a{
  text-decoration: none;
}
#map-select-area{
  border: 1px solid #ccc;
  padding: 5px;
  margin: 5px 0 7px;
}
#map-select-area a{
  text-decoration: none;
  padding: 5px;
}

.xhr-estate-list{
  width: 95%;
}
.xhr-estate-list td{
  padding: 10px;
  font-size: 80%;
}
.xhr-estate-list-image{
  width: 100px;
  height: 100px;
  text-align: center;
}

.chirashi-table{
  margin: 5px 0;
  width: 100%;
}
.chirashi-button{
  margin: 5px 0;
}
.chirashi-table td{
  vertical-align: top;
  padding: 0 5px;
}
.chirashi-asanyan{
  margin: 30px 0 0 0;
  text-align: center;
}
.search-method-table{
  margin: 10px 0;
}
.search-method-table th{
  padding: 5px;
  background: #ddd;
}
.search-method-table td{
  padding: 5px;

}
.mobile-view{
  text-align: center;
  padding: 10px;
}

/*
 * error-page
 */

#error-page{
  padding: 60px 0;
  text-align: center;
}
