@charset "utf-8"; 
.canvas_wrapper {
	position: relative;
	overflow: hidden;
}

.map-main {
	position: absolute;
	z-index: 1;
}

.map-text {
	position: absolute;
	z-index: 8;
	top: -12px;
}

.map-text li {
	font-size: 12px;
	position: absolute;
	display: inline-block;
	white-space: nowrap;
	color: #1d1d1d;
	  text-shadow:
    -1px -1px 0 rgba(255,255,255,.5),
     0   -1px 0 rgba(255,255,255,.5),
     1px -1px 0 rgba(255,255,255,.5),
     1px  0   0 rgba(255,255,255,.5),
     1px  1px 0 rgba(255,255,255,.5),
     0    1px 0 rgba(255,255,255,.5),
    -1px  1px 0 rgba(255,255,255,.5),
    -1px  0   0 rgba(255,255,255,.5),
    -1.25px -1.25px 0 rgba(255,255,255,.5),
     0   -1.25px 0 rgba(255,255,255,.5),
     1.25px -1.25px 0 rgba(255,255,255,.5),
     1.25px  0   0 rgba(255,255,255,.5),
     1.25px  1.25px 0 rgba(255,255,255,.5),
     0    1.25px 0 rgba(255,255,255,.5),
    -1.25px  1.25px 0 rgba(255,255,255,.5),
    -1.25px  0   0 rgba(255,255,255,.5);
}

.map-sub1 .map-text li,
.map-sub2 .map-text li {
	font-size: 10px;
}

.map-text li.hasline::before,
.map-text li.hasline::after {
	position: absolute;
	top: 50%;
	display: inline-block;
	content: '';
	transform-origin: left bottom;
	background: #333333;
	box-shadow: 0px 0px 0 1px rgb(255 255 255 / 50%);
}

.map-text li.hasline::before {
	width: 50px;
	height: 1px;
}

.map-main svg {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#canvas_area {
	position: relative;
}

#canvas_area .map_legend {
	font-size: 14px;
	position: absolute;
	z-index: 2;
	top: 20px;
	right: 20px;
	width: 140px;
	text-align: right;
	border: solid 1px #ddd;
	background: #fff;
}

.map_legend li {
	box-sizing: border-box;
	padding: 14px 14px 22px;
}

.map_legend li:not(:nth-last-of-type(1)) {
	border-bottom: dashed 1px #ddd;
}

.map_legend_box {
	display: block;
	width: 100%;
	height: 22px;
	margin-bottom: 8px;
}

.map_legend_box.smallCase {
	background: #fd9;
}

.map_legend_box.mediumCase {
	background: #f90;
}

.map_legend_box.largeCase {
	background: #f30;
}

#canvas_area::before {
	position: absolute;
	display: block;
	box-sizing: border-box !important;
	width: calc(100% - 2.55px);
	height: 100%;
	content: '';
	border: solid 5px #ddd;
}

#canvas_area .map_affected {
	cursor: pointer;
}

#canvas_area .map_affected.active,
#canvas_area .map_affected:hover {
	opacity: .8;
}

#canvas_area [class^='map-main'] svg {
	position: absolute;
}

.map-main svg {
	z-index: 1;
}

.map-main-text svg {
	z-index: 2;
}

.sub-box {
	position: absolute;
	z-index: 5;
	overflow: hidden;
	box-sizing: border-box !important;
	border: solid 5px #ddd;
}

.sub-box::before {
	position: absolute;
	top: 5px;
	left: 5px;
	display: inline-block;
	padding: 0 .5em;
	content: '';
	color: #fff;
	background: #999;
}

#canvas_area .affected {
	cursor: pointer;
}

#canvas_area svg path,
#canvas_area svg polygon,
#canvas_area svg polyline {
	stroke: #89674a;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: .5px;
	fill: transparent;
}

#canvas_area svg path,
#canvas_area svg polygon {
	fill: #fff;
}

#canvas_area .smallCase,
#canvas_area .smallCase * {
	fill: #fd9;
}

#canvas_area .mediumCase,
#canvas_area .mediumCase * {
	fill: #f90;
}

#canvas_area .largeCase,
#canvas_area .largeCase * {
	fill: #f30;
}

#map-tooltip {
	font-size: 13px;
	line-height: 1.5;
	position: fixed;
	z-index: 100;
	top: -99999px;
	left: -99999px;
	padding: .5em 1em;
	transition: opacity .2s;
	pointer-events: none;
	opacity: 0;
	background: rgba(255, 255, 255, .9);
	box-shadow: 2px 2px 3px rgba(114, 114, 114, .69);
}

#map-tooltip.show {
	opacity: 1;
}

/* ===============================================================
サービスエリア全体情報
=============================================================== */
#b00 #canvas_area {
	width: 880px;
	height: 580px;
	background: transparent url(/teiden-info/images/map/00-bg.png) no-repeat 0 0;
}

#b00 #canvas_area .map-main {
	top: 5px;
	left: 90.5px;
	width: 453.125px;
	height: 573px;
}

#b00 #canvas_area .map-main svg {
	width: 100%;
	height: 100%;
}

#b00 .pref-button {
	font-size: 16px;
	position: absolute;
	z-index: 2;
	display: inline-block;
	min-width: 3.8em;
	padding: .25em .5em;
	text-align: center;
	color: #999;
	border: solid 3px rgba(165, 165, 165, .3);
	border-radius: 2px;
	background: rgba(255, 255, 255, .5);
}

#b00 .pref-button.affected {
	cursor: pointer;
	color: #333;
	border: solid 3px rgba(165, 165, 165, .5);
	background: linear-gradient(rgba(255, 255, 255, .9), rgba(236, 236, 236, .8));
	box-shadow: 2px 2px 6px rgba(90, 90, 90, .4);
	text-shadow: 1px 1px 1px #fff, -1px 1px 1px #fff, 1px -1px 1px #fff, -1px -1px 1px #fff;
}

#b00 .pref-button.affected:hover,
#b00 .pref-button.affected.active {
	background: linear-gradient(rgb(251, 252, 253), rgb(183, 207, 224));
}

#b00 #btn_18 {
	top: 23px;
	left: 350px;
}

#b00 #btn_21 {
	top: 69px;
	left: 536px;
}

#b00 #btn_24 {
	top: 466px;
	left: 445px;
}

#b00 #btn_25 {
	top: 173px;
	left: 444px;
}

#b00 #btn_26 {
	top: 118px;
	left: 317px;
}

#b00 #btn_27 {
	top: 276px;
	left: 283px;
}

#b00 #btn_28 {
	top: 154px;
	left: 162px;
}

#b00 #btn_29 {
	top: 355px;
	left: 373px;
}

#b00 #btn_30 {
	top: 439px;
	left: 252px;
}