@charset "utf-8";
/**
 * StyleName : _base
 * -Main contents styles
 */


/** Main contents 
------------------------------ **/

#mainContents h2, #sideContents h2{
	font-weight:normal;
	clear:both;
}
#mainContents h2,
#mainTopics h2,
#listTopics h2{
	padding:10px 4% 15px;
	margin-bottom:20px;
	line-height:1.4;
	text-align:center;
}
#mainArticles .article h3,
#mainArticles .gallery h3{
	padding:10px;
	margin-bottom:20px;
	line-height:1.4;
	font-size:12rem;
	letter-spacing:0.1em;
	text-align:center;
	border:solid 3px #333;
}

/** Pankuz **/
#pankuz{
	margin-bottom:15px;
	border-bottom:solid 1px #ddd;
	border-top:solid 1px #ddd;
}

.pankuz p{
	font-size:11rem;
	color:#aaa;
	padding:8px 0 8px 4%;
}

.pankuz a{
	color:#aaa;
}

/** Articles **/
.mainArticles div.article,
.mainArticles div.gallery{
	padding:0 4%;
	overflow:hidden;                                      
	margin-bottom:20px;
}

.mainArticles .article .image{
	text-align:center;
	margin-bottom:15px;
	max-width:100%;
	width:auto;
	overflow:hidden;
}

.mainArticles .article_right .image{
	float:right;
	margin-left:15px;
	margin-bottom:0;
	max-width:90px;
	overflow:hidden;
}

.mainArticles .article_left .image{
	float:left;
	margin-right:15px;
	margin-bottom:0;
	max-width:90px;
	width:auto;
	overflow:hidden;
}
.mainArticles .article img,
.mainArticles .article iframe
{
	max-width:100%;
}
.mainArticles .article_right .image img,
.mainArticles .article_left .image img
{
	max-width:90px;
}

/** gallery **/
.gallery ul.galleryImages li{
	overflow:hidden;
	margin-bottom:10px;
	padding:10px 10px 10px 0;
	border-bottom: solid 1px #ccc;
}

.gallery ul.galleryImages li .image{
	margin-right:15px;
	float:left;
}

.gallery ul.galleryImages li .image img{
	max-width:90px;
	max-height:80px;
}

.gallery ul.galleryImages li .title{
	margin:0;
	padding:0;
	float:left;
}

.gallery .comment,
.gallery .galleryController{
	font-size:12rem;
}

.gallery .galleryController{
	margin-bottom:10px;
}


/** Services **/
#mainServices{
	margin:0 4%;
}

#mainServices li{
	margin-bottom:15px;
	line-height:1.5;
	border-bottom:solid 1px #ccc;
}

#mainServices .service h3{
	overflow:hidden;
	margin-bottom:4px;
	font-size:14rem;
}

#mainServices .service a{
	padding:0 30px 15px 0;
	display:block;
	color:#333;
	text-decoration:none;
}
#mainServices .service a:hover{
	color:#36f;
	text-decoration:underline;
}

#mainServices .service h3 a:hover{
	text-decoration:underline;
}

#mainServices .service .description{
	overflow:hidden;
	font-size:12rem;
	color:#777;
}

/** Topics **/
.mainTopics .topics{
	margin:0 4%;
	text-align:justify;
}
.mainTopics .topics li{
	padding:18px 0;
	clear:both;
	line-height:1.5;
	border-bottom:solid 1px #ccc;
}
.mainTopics .topics li:first-child{
	padding-top:10px;
}
.mainTopics .topics li .thumb{
	width:auto;
	max-width:90px;
	height:auto;
	max-height:80px;
	float:left;
	overflow:hidden;
	margin-right:10px;
	margin-bottom:12px;
}
.mainTopics .topics li .thumb img{
	max-width:90px;
	max-height:80px;
}
.mainTopics .topics li h3 a{
	display:block;
	font-size:12rem;
	text-decoration:underline;
	color:#333;
}
.mainTopics .topics li h3 a:hover{
	color:#69f;
}
.mainTopics .topics li .description{
	margin-top:8px;
	font-size:12rem;
	color:#777;
}
.mainTopics .topics li .more a{
	display:none;
}
.mainTopics .topics li .date{
	margin-bottom:8px;
	line-height:1;
	font-size:11rem;
	color:#999;
}
.mainTopics .topics li.photo_gallery .category{
	padding:0 4px 1px;
	margin-right:8px;
	border:solid 1px #999;
	font-size:11rem;
}
#mainTopics .listview a{
	width: 50%;
	padding: 8px 0;
	margin:20px auto 0;
	display: block;
    text-align: center;
	color:#fff;
	border-radius:30px;
}
#mainTopics .listview a:hover{
	background-color:#39e;
}
.mainTopics .topics .description,
.mainTopics .topics li.photo_gallery p{
	clear:both;
}

/** listTopics **/
#listTopics{
	margin-bottom:15px;
}
#listTopics .mainTopics .topics li{
	padding:24px 0;
}

/** MAP **/
#gmap{
	width:100%;
	height:200px;
}

/** Tables
------------------------------ **/
table.contactTable,
table.companyTable{
	width:100%;
}

table.contactTable th,
table.contactTable td,
table.companyTable th,
table.companyTable td{
	padding:7px 4%;
	text-align:left;
}

/** Company
------------------------------ **/
table.companyTable th{
	background-color:#eee;
	font-size:12rem;
}

/** Contact
------------------------------ **/
#article_contact + #mainArticles_outer{
	padding:0 4%;
	margin-top:30px;
}

table.contactTable{
	margin-top:-10px;
}
table.contactTable th{
	padding-bottom:0;
}
table.contactTable td label{
	display: block;
}

table.contactTable td select{
	cursor: pointer;
    height: 3em;
    width: 100%;
	font-size:14rem;
}

/*text, textarea*/
table.contactTable td input[type="text"],
table.contactTable td textarea{
	width: 95%;
	padding: 0.4em;
	line-height: 1.4;
	display: block;
    font-size: 16rem;
	border:none;
	border-radius:6px;
	background-color:#ececec;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.07) inset;
}

/*radio, checkbox*/
table.contactTable td input[type="radio"],
table.contactTable td input[type="checkbox"]{
	margin-right:8px;
}

table.contactTable .checkList,
table.contactTable .radioList{
	display:block;
	background-color:#ececec;
	border-radius:8px;
}

table.contactTable .checkList li,
table.contactTable .radioList li{
	padding:8px;
	border-top:solid 1px #c0c0c0;
}

table.contactTable .checkList li:first-child,
table.contactTable .radioList li:first-child{
	border-top:none;
}

/*submit*/
table.contactTable input[type="button"],
table.contactTable input[type="submit"] {
    -webkit-appearance: none; /*リセット用*/
}

table.contactTable td input.button{
	width: 50%;
	padding: 8px 0;
	margin:5px auto 0;
	display: block;
	cursor: pointer;
    text-align: center;
	font-size: 14rem;
	color:#fff;
	border:none;
	border-radius:30px;
}

/** Side contents 
------------------------------ **/
#sideContents{
	padding:15px 4% ;
	background-color:#eee;
}

/** Ads **/
#sideAds250{
	margin-bottom:20px;
}

/** Services **/
#sideServices{
	margin-bottom:25px;
	text-align:center;
}

#sideServices h2{
	margin-top:15px;
	font-size:18rem;
}

.sideServices li{
	font-size:12rem;
	padding:10px 0 7px 0;
	border-top:solid 1px #c0c0c0;
}

.sideServices li:first-child{
	border-top:none;
}

.sideServices li a{
	display:block;
}

/** Banners **/
.sideBanners{
	margin-bottom:10px;
}
.sideBanners li{
	margin-bottom:10px;
	text-align:center;
}

.sideBanners li img{
	width:240px;
}

/**sideContact **/
#sideContact{
	margin-bottom:30px;
}

#sideContact a{
	padding:40px 0 15px;
	display:block;
	text-align:center;
	color:#69f;
	border-top:solid 2px #69f;
	border-bottom:solid 2px #69f;
}
#sideContact a:hover{
	text-decoration:underline;
}

/** freeHTML
------------------------------ **/
.freeHtml{
	margin-bottom:10px;
	padding:0 4%;
}

#sideContents .freeHtml{
	padding:0;
}