@charset "utf-8";
/*
Theme Name:DAMLAB mobile
Theme URI:Description:ダムラボモバイル用テーマ
Version:1.0
Author:KLUTCHE
Author URI:http://klutche.org/
*/

/* reset css
--------------------------------------------------*/

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, select, input, textarea, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	border: 0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }

ol, ul { list-style: none; }

blockquote, q { quotes: none; }

blockquote:before, blockquote:after, q:before, q:after { content: ''; }

table {
	border-collapse: collapse;
	border-spacing: 0;
}

caption, th { text-align: left; }

img, iframe { vertical-align: bottom; }

/* general
--------------------------------------------------*/

/* link */
a {
	color: #058dc7;
	text-decoration: none;
	outline: none;
}

/* float */
.fl { float: left !important; }

.fr { float: right !important; }

.clearfix { zoom: 1; }

.clearfix:after {
	content: "";
	display: block;
	clear: both;
}

ul.clearfix li { float: left; }

/* margin */
.mb_10 { margin-bottom: 10px; }

.mb_20 { margin-bottom: 20px; }

/* text */
b, strong { font-weight: bold; }

small { font-size: 12px; }

.ta_r { text-align: right; }

.ta_c { text-align: center; }

/* font */
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 100;
}

@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 200;
}

@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 300;
}

@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 400;
}

@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Bold");
	font-weight: bold;
}

@font-face {
	font-family: "Helvetica Neue";
	src: local("Helvetica Neue Regular");
	font-weight: 100;
}

@font-face {
	font-family: "Helvetica Neue";
	src: local("Helvetica Neue Regular");
	font-weight: 200;
}

/* btn */
.btn {
	display: inline-block;
	padding: 5px 15px 3px;
	cursor: pointer;
	white-space: nowrap;
	color: #666;
	text-align: center;
	background: #fff;
	background: linear-gradient(#fff, #eee);
	border: solid 1px #aaa;
	box-shadow: 0 2 4px rgba(0, 0, 0, 0.2);
}

.btn:hover, .btn:focus {
	color: #058dc7;
	text-decoration: none;
	background: #def;
	background: linear-gradient(#fff, #def);
	border-color: #058dc7;
	box-shadow: none;
}

/* arrow */
.arrow_l, .arrow_r { position: relative; }

.arrow_l { padding-left: 22px; }

.arrow_r { padding-right: 22px; }

.arrow_l:after, .arrow_r:after {
	content: "";
	position: absolute;
	top: 50%;
	width: 0;
	height: 0;
	margin-top: -6px;
	border: solid 6px transparent;
}

.arrow_l:after {
	left: 5px;
	border-right-color: #666;
}

.arrow_l:hover:after { border-right-color: #058dc7; }

.arrow_r:after {
	right: 5px;
	border-left-color: #666;
}

.arrow_r:hover:after { border-left-color: #058dc7; }

/* form */
input[type=text], input[type=email], select, textarea {
	max-width: 100%;
	padding: 5px 5px 3px;
	box-sizing: border-box;
	border: solid 1px #999;
}

/* layout
--------------------------------------------------*/

/* body */
body {
	max-width: 640px;
	margin: 0 auto;
	padding-top: 50px;
	color: #000;
	font-size: 14px;
	font-family: "-apple-system", "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
	line-height: 1.8;
	letter-spacing: 0.05em;
	background: #eee;
}

/* header */
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 50px;
	z-index: 9999;
	color: #fff;
	background: #000;
}

h1 {
	padding-left: 10px;
	font-size: 20px;
	font-weight: bold;
	line-height: 50px;
}

.nav_btn {
	position: absolute;
	top: 0;
	right: 10px;
	padding: 0 25px 0 10px;
	cursor: pointer;
	line-height: 50px;
	background: url(images/common/nav_btn.png) no-repeat right center;
	background-size: 20px 20px;
}

.nav_btn.active { background-color: #333; }

nav {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	padding: 5px 5px 0;
	background: rgba(0, 0, 0, 0.75);
}

nav ul { margin-right: -5px; }

nav li {
	display: block;
	width: 50%;
	float: left;
}

nav a {
	position: relative;
	display: block;
	margin: 0 5px 5px 0;
	position: relative;
	padding: 11px 10px 9px;
	color: #fff;
	border: solid 1px #fff;
}

nav a:hover, nav a:focus {
	color: #058dc7;
	background: #def;
}

nav a:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	width: 0;
	height: 0;
	margin-top: -6px;
	border: solid 6px transparent;
	border-left-color: #fff;
}

/* breadcrumb */
.breadcrumb {
	background: #f5f5f5;
	border-bottom: 1px solid #aaa;
}

.breadcrumb ul {
	padding-left: 10px;
	background: url(images/common/breadcrumb_bg_01.png) no-repeat left center;
	background-size: 10px 30px;
}

.breadcrumb li {
	float: left;
	max-width: 100px;
	height: 30px;
	padding: 0 14px 0 7px;
	overflow: hidden;
	font-size: 12px;
	text-overflow: ellipsis;
	white-space: nowrap;
	line-height: 30px;
	background: #fff url(images/common/breadcrumb_bg_02.png) no-repeat right center;
	background-size: 10px 30px;
}

.breadcrumb ul li:last-child { background-image: url(images/common/breadcrumb_bg_03.png); }

/* article */
article { padding: 5px 5px 30px; }

/* section */
section {
	margin-bottom: 5px;
	padding: 10px;
	background: #fff;
	border: solid 1px #ccc;
}

h2 {
	margin-bottom: 10px;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4em;
	border-bottom: solid 1px #000;
}

/* footer */
footer {
	position: relative;
	padding: 15px;
	color: #999;
	background: #000;
}

footer h4 {
	color: #ccc;
	font-size: 16px;
	font-weight: bold;
}

footer a { color: #999; }

.page_top {
	position: absolute;
	top: -30px;
	right: 5px;
}

.page_top a {
	display: block;
	padding: 4px 10px 0 15px;
	color: #fff;
	line-height: 26px;
	background: #000;
	border-radius: 5px 5px 0 0;
}

.page_top a:hover { color: #def; }

.footer_nav { margin-bottom: 20px; }

.footer_nav li {
	float: left;
	width: 50%;
}

.footer_nav li a { text-decoration: underline; }

.footer_nav li a:hover, .footer_nav li a:focus { color: #def; }

.footer_ico {
	margin-bottom: 20px;
	text-align: center;
}

.footer_ico li {
	display: inline-block;
	padding: 0 4px;
}

/* index
--------------------------------------------------*/

/* bxslider */
.bx-wrapper { margin-bottom: 30px; }

.bx-wrapper .bx-viewport {
	left: 0;
	margin-bottom: 10px;
	box-shadow: none;
	border: none;
}

.bx-wrapper .bx-pager {
	bottom: -30px;
	padding-top: 10px;
}

/* post_list */
.post_list { border-bottom: 1px solid #aaa; }

.post_list li {
	display: block;
	border-width: 1px 1px 0;
	border-style: solid;
	border-color: #aaa;
}

.post_list a {
	display: block;
	position: relative;
	padding: 10px;
}

.post_list a:hover, .post_list a:focus { background: #def; }

.post_list a img {
	float: left;
	width: 40px;
	height: 40px;
	margin-right: 5px;
}

.post_list .title, .post_list .date {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.post_list .title {
	font-weight: bold;
	line-height: 25px;
}

.post_list .date {
	font-size: 10px;
	line-height: 15px;
}

.post_list .category {
	position: absolute;
	top: 5px;
	right: -8px;
	width: 80px;
	color: #fff;
	font-size: 10px;
	text-align: center;
	background: #999;
}

.post_list .category:after {
	content: "";
	position: absolute;
	right: 0;
	bottom: -8px;
	width: 0;
	height: 0;
	border-left: solid 8px #999;
	border-bottom: solid 8px transparent;
}

.post_list .damdata { background: #2980b9; }

.post_list .damblog { background: #16a085; }

.post_list .dictionary { background: #8r44Ad; }

/* single
--------------------------------------------------*/

.single p { margin-bottom: 10px; }

.single img {
	max-width: 100%;
	height: auto;
}

.single iframe {
	max-width: 100%;
	max-height: 300px;
}

/* damdata
--------------------------------------------------*/

.tabs { margin: 0 -5px 5px 0; }

.tabs li {
	width: 25%;
	margin-bottom: 5px;
}

.tabs li a {
	display: block;
	margin-right: 5px;
	padding: 5px 0 3px;
	background: #eee;
}

.tabs li.active a {
	color: #000;
	background: #fff;
	border-color: #000;
}

.pic_list { margin-right: -10px; }

.pic_list li { width: 25%; }

.pic_list li p {
	margin-right: 10px;
	cursor: pointer;
}

.damdata table { width: 100%; }

.damdata th, .damdata td {
	width: 50%;
	padding: 5px;
	border: solid 1px #999;
}

.damdata th {
	white-space: nowrap;
	background: #eee;
}

/* ranking
--------------------------------------------------*/

.ranking table { width: 100%; }

.ranking th, .ranking td {
	padding: 5px;
	border: solid 1px #aaa;
}

.ranking th { background: #eee; }

.sort .btn { position: relative; }

.sort .btn:before {
	position: absolute;
	top: 5px;
	left: 2px;
}

.sorting-asc .btn:before {
	content: "▲";
}

.sorting-desc .btn:before {
	content: "▼";
}

/* map
--------------------------------------------------*/

#map_canvas { height: 300px; }

#map_canvas .info_name {
	margin-bottom: 5px;
	font-weight: bold;
	border-bottom: 1px solid #aaa;
}

#map_canvas .info_img {
	float: left;
	width: 40px;
	height: 40px;
	margin: 0 5px 5px 0;
	padding: 2px;
	border: 1px solid #AAA;
	box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

#map_canvas .btn {
	margin-right: 5px;
	padding: 2px 10px;
}

/* dictionary
--------------------------------------------------*/

.dictionary .tabs { margin-bottom: 15px; }

.dictionary .tabs li { width: 20%; }

.word a {
	display: block;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.2;
}

.word a small {
	font-size: 12px;
	font-weight: normal;
	line-height: 1.2;
}

/* damcard
--------------------------------------------------*/

.damcard th, .damcard td {
	padding: 5px;
	border: solid 1px #999;
}

.damcard th {
	white-space: nowrap;
	background: #eee;
}
