a:link {
	color:blue;
}
a,a:visited {
	outline:none; color:blue;
}

.line-h {
line-height: 24pt;
}


h3.head1{
position: relative;
padding: 0 0;
background: #f4f4f4;/*背景色*/
border-left: solid 7px #e65a5a;/*左線*/
}
h3.head1:first-letter {
padding: 0 0 0 10px;
font-size: 2em;
color: #ac7271;
}
h3.head1:after {
content: "";
display: block;
height: 4px;
padding: 0;
background: -moz-linear-gradient(to right, rgb(230, 90, 90), transparent);
background: -webkit-linear-gradient(to right, rgb(230, 90, 90), transparent);
background: linear-gradient(to right, rgb(230, 90, 90), transparent);
}

h4.head2 {
position: relative;
padding-left: 25px;
}

h4.head2:before {
position: absolute;
content: '';
bottom: -3px;
left: 0;
width: 0;
height: 0;
border: none;
border-left: solid 15px transparent;
border-bottom: solid 15px rgb(119, 195, 223);
}
h4.head2:after {
position: absolute;
content: '';
bottom: -3px;
left: 10px;
width: 100%;
border-bottom: solid 3px rgb(119, 195, 223);
}

/* マップ */
div.map1 {
 width: 100%;
 height: 100%;
 padding: 0;
}
div.map2 {
 margin: 0;
 padding: 0;
 float:left;
}
div.map3 {
 padding: 0 0 0 0.5em;
 float:left;
}
div.mapv {
  margin: 0;
  padding: 0;
  width: 660px;
  height: 660px;
  float: left;
}

/*** {{{ アイコン説明 */
div.icon {
  margin: 0;
  padding: 0;
  width: 660px;
  height: auto;
  float: left;
}
div.icong {
  margin: 0 5px;
  padding: 0;
  width: 32px;
  height: 32px;
  float: left;
}
div.iconexp {
  margin: 0 5px;
  padding: 30px 0 0 0;
  width: auto;
  height: 28px;
  font-size: 14.08px;
  text-align: left;
  float: left;
}
/*** {{{ テーブル */
div.tabledata {
  margin: 20px 0 0 0;
  padding: 0;
  width: 660px;
}
table {
  margin: 20px 0 0 0;
  padding: 0;
  width: 660px;
  height: auto;
}
table th.title {
  width: 660px;
  height: 16px;
  padding: 2px 5px;
  font-size: 14.08px;
  text-align: left;
  color: #ffffff;
  background-color:#333388;
}

table th.number {
  width: 20px;
  height: 16px;
  padding: 0;
  border: 1px #aaa solid;
  font-size: 10.08px;
  text-align: center;
  color: #ffffff;
  background-color: #888888;
}
table th.photo {
  width: 44px;
  height: 16px;
  padding: 0;
  border: 1px #aaa solid;
  font-size: 10.08px;
  text-align: center;
  color: #ffffff;
  background-color: #888888;
}
table th.name {
  width: 510px;
  height: 16px;
  padding: 0;
  border-width: 1px;
  font-size: 10.08px;
  text-align: center;
  color: #ffffff;
  background-color: #888888;
}
table th.cultural {
  width: 100px;
  height: 16px;
  padding: 0;
  border-width: 1px;
  font-size: 10.08px;
  text-align: center;
  color: #ffffff;
  background-color: #888888;
}

table td.number {
  margin: 0;
  padding: 0;
  width: 20px;
  height: 44px;
  font-size: 12px;
  text-align: center;
  font-weight: 700;
  border: 1px solid #aaaaaa;
  text-decoration: none;
}
table td.photo {
margin: 0;
padding: 4px 2px 0px 2px;
width: 74px;
height: 100%;
border-top: 1px solid #aaaaaa;
border-right: 1px solid #aaaaaa;
border-bottom: 1px solid #aaaaaa;
}
table td.name {
  margin: 0;
  padding: 0 2px 1px 5px;
  width: 493px;
  height: 30px;
  text-align: left;
  line-height: 14px;
  border-top: 1px solid #aaaaaa;
  border-right: 1px solid #aaaaaa;
  border-bottom: 1px solid #aaaaaa;
}
table td.cultural {
  padding: 5px;
  width: 100px;
  height: 30px;
  border-right: 1px solid #aaaaaa;
  border-bottom: 1px solid #aaaaaa;
  font-size: 14.08px;
}
table td.besttime {
  padding: 1px 5px;
  width: 556px;
  height: 14px;
  border-top: 1px solid #aaaaaa;
  border-right: 1px solid #aaaaaa;
  border-bottom: 1px solid #aaaaaa;
  font-size: 14.08px;
}

