@charset "utf-8";

/*-----------------------------------------------
common.css
-----------------------------------------------*/
body,div,
dl,dt,dd,ul,ol,li,
h1,h2,h3,h4,h5,h6,
pre,form,fieldset,input,textarea,
p,blockquote {
    margin:0;
    padding:0;
}

fieldset,img {
    border:0;
}

address,caption,cite,code,dfn,em,th,var {
    font-style:normal;
    font-weight:normal;
}

ol,ul {
    list-style:none;
}

caption,th {
    text-align:left;
}

h1,h2,h3,h4,h5,h6 {
    font-size:100%;
    font-weight:normal;
}

a,object{
    outline:none;
    border:none;
}

img{
    vertical-align:middle;
	max-width: 100%;
}

a:link,
a:visited{
	text-decoration:underline;
}

a:hover,
a:active{
    text-decoration:none;
	cursor: pointer;
}

/*-----------------------------------------------
Common
-----------------------------------------------*/
body{
	font-family: 'メイリオ',meiryo,sans-serif;
	font-size: 14px;
	color: #000;
    line-height:1.5;
	width: 100%;
	-webkit-text-size-adjust:100%;
	position: relative;
}

.inner {
	margin: 0 auto;
}

.fl {
	float: left;
}

.fr {
	float: right;
}

	@media screen and (min-width: 769px) {
		body {
			min-width: 1200px;
		}
		
		.inner {
			width: 1000px;
		}
	}

/*-----------------------------------------------
Header
-----------------------------------------------*/
.header__title {
	text-align: center;
	margin: 0 0 132px;
}

	@media screen and (min-width: 769px) {
		#header {
			background: url(../img/common/header_bg.png) repeat-x center top;
			padding: 60px 0 33px;
		}
		
		#header.second {
			background: url(../img/common/header_bg02.png) repeat-x center top;
			padding: 25px 0 13px;
		}
		
		#header.second .header__title {
			text-align: left;
			margin: 0;
			position: absolute;
			top: 8px;
			left: 40px;
		}
		
	}
	
	@media screen and (max-width: 768px) {
		#header {
			background: url(../img/common/header_bg_sp.png) no-repeat center top;
			background-size: cover;
			padding: 50px 30px 70px;
		}
		
		.header__title {
			margin: 0;
		}
		
	}
		

/*-----------------------------------------------
gnavi
-----------------------------------------------*/
#gnavi li {
	display: inline-block;
}

	@media screen and (min-width: 769px) {
		#header.second #gnavi {
			text-align: right;
		}
		
		
		#gnavi li:not(:last-child) {
			margin-right: 10px;
		}
		
	}

	@media screen and (max-width: 768px) {
		#gnavi {
			font-size: 0;
			width: 100%;
			text-align: center;
			padding: 0 0 6px;
			position: fixed;
			bottom: 0;
			left: 0;
			z-index: 700;
		}
		
		#gnavi li {
			width: 86px;
			position: relative;
			z-index: 700;
		}
		
		#gnavi li:not(:last-child) {
			margin-right: 6px;
		}
		
		#gnavi:before {
			display: block;
			content: "";
			width: 100%;
			height: 30px;
			background: #a4db1f;
			position: absolute;
			bottom: 0;
			z-index: 100;
		}
	}

/*-----------------------------------------------
breaccrumbs
-----------------------------------------------*/
#breadcrumbs {
	padding: 15px 0;
	margin: 0 0 0 10px;
	position:relative;
	z-index: 800;
}

#breadcrumbs li {
	display: inline-block;
	font-size: 12px;
	margin: 0 2px 0 0;
}

#breadcrumbs li a {
	color: #000;
}

#breadcrumbs li span {
	margin: 0 7px 0 0;
}

/*-----------------------------------------------
main
-----------------------------------------------*/
.wrap {
	background: url(../img/common/body_bg.png) repeat;
}

#main {
	padding: 0 0 50px;
}

#main .inner {
	position: relative;
}

.section {
	margin: 0 0 20px;
	position: relative;
	box-sizing: border-box;
}

.second .section {
	margin: 0 0 40px;
}

.section__txt {
	color: #fff;
	font-size: 12px;
}

.container {
	border-radius: 8px;
	padding: 4px;
	position: relative;
}

.container__title:before {
	display: block;
	content: "";
	width: 100%;
	position: absolute;
	left: 0;
}

.container__txt {
	font-size: 12px;
	color: #fff;
}

.con__box {
	background: #fff;
	padding: 25px 20px;
}

.con__box__title {
	font-size: 24px;
	color: #fff;
	text-align: center;
	letter-spacing: .1em;
	border: 3px solid #f0f1c6;
	border-radius: 3px;
	padding: 2px 0 1px;
	margin: 0 0 36px 23px;
	position: relative;
}

.con__box__title:after {
	display: block;
	content: "";
	position: absolute;
	top: -14px;
	left: -21px;
}

.con__box__notes {
	margin: 0 0 20px;
}

.link-col01 {
	color: #7e3806;
}

.link-col02,
.link-col03 {
	color: #0089be;
}



.link-col01:before,
.link-col02:before {
	display: inline-block;
	content: "";
	width: 6px;
	height: 10px;
	background: url(../img/common/ico_arrow01.png) no-repeat;
	margin: 0 5px 0 0;
}

.link-col02:before {
	background: url(../img/common/ico_arrow02.png) no-repeat;
}

	@media screen and (min-width: 769px) {
		.con__box__title br {
			display: none;
		}
		
		.container__title {
			padding: 30px 0 35px;
			position: relative;
		}
		
		.container__txt {
			position: absolute;
			top: 36px;
			left: 400px;
		}
	}

	@media screen and (max-width: 768px) {
		#main {
			padding: 0 10px 20px;
		}
		
		.section__txt {
			max-width: 600px;
			color: #000;
			padding: 10px 0;
			margin: 0 auto;
		}
		
		.container__title-wrap {
			position: relative;
		}
		
		.container__title {
			padding: 15px 0 17px 10px!important;
		}
		
		.container__title:before {
			background-size: 140%!important;
			top: inherit!important;
			bottom: 0;
		}
		
		.container__title img {
			height: 30px;
			position: relative;
			z-index: 400;
		}
		
		.container__txt {
			padding: 0 50px 20px 10px;
		}
		
		.con__box {
			padding: 10px;
		}
		
		.con__box__title {
			margin-left: 17px;
		}
		
		.con__box__title:after {
			left: -25px;
		}
		
		.con__box__title span {
			display: block;
			font-size: 16px;
			padding: 0 0 0 47px;
		}
		
		.con__box__title span.small {
			font-size: 19px;
			padding: 3px 0 3px 27px;
		}
		
		.over-wrap {
			width: 100%;
			overflow-x: scroll;
		}
		
		.over-box {
			overflow: auto;
			white-space: nowrap;
			margin: 0 0 10px!important;
		}
		
		.tableNavi {
			margin: 0 0 40px;
		}
		
		.tableNavi li a {
			font-size: 12px;
			color: #fff;
			text-decoration: none;
			border-radius: 3px;
			background: #503417;
			padding: 2px 6px;
		}	
		
		.tableNavi .next {
			float: right;
		}
		
		.tableNavi .prev {
			float: left;
		}
	}
	
/* top
------------------------------------ */
.top-pref__txt,
.top-info__txt {
	color: #000;
	font-size: 15px;
}

.top-traffic__title {
	margin: -42px 0 0;
}

.top-traffic__list {
	text-align: center;
}

.top-traffic__list li:not(:last-child) {
	margin: 0 0 9px;
}

.top-area__title {
	margin: -38px 0 0;
}

#top-info {
	margin: -10px 0 0;
}

#caution {
	line-height: 1.7;
	padding: 40px 0 20px;
}

#caution p {
	font-weight: bold;
}

#caution ul li {
	list-style: disc;
	margin: 0 0 0 20px;
	padding: inherit;
}

	@media screen and (min-width: 769px) {
		#top-traffic,
		#top-area {
			display: inline-block;
			vertical-align: top;
		}
		
		#top-traffic {
			width: 392px;border: 4px solid #fff;
			border-radius: 7px;
			background: #f4aa29;
			padding: 22px;
			margin-right: 12px;
		}
		
		#top-area {
			width: 590px;
			border: 4px solid #fff;
			border-radius: 7px;
			background: #0089be;
			padding: 22px;
		}
		
		.top-traffic__txt,
		.top-area__txt {
			width: 210px;
			position: absolute;
			top: 70px;
			left: 160px;
		}
		
		.top-area__txt {
			width: 360px;
			left: 165px;
		}
		
		.top-pref__txt,
		.top-info__txt {
			width: 360px;
			position: absolute;
			top: 75px;
			left: 400px;
		}
		
		.top-info__txt {
			width: 340px;
		}
	}
	
	@media screen and (max-width: 768px) {
		#top-pref {
			padding: 20px 0 0;
		}
		
		.top-pref__title,
		.top-info__title {
			text-align: center;
		}
		
		#top-traffic,
		#top-area {
			max-width: 600px;
			margin: 0 auto;
		}
		
		#top-traffic .section-in {
			border: 4px solid #fff;
			border-radius: 7px;
			background: #f4aa29;
			padding: 22px 10px;
		}
		
		.top-traffic__title {
			padding: 10px 10px 0 40px;
		}
		
		.top-traffic__list li:not(:last-child) {
			margin: 0 0 5px;
		}
		
		#top-area .section-in {
			border: 4px solid #fff;
			border-radius: 7px;
			background: #0089be;
			padding: 22px 10px;
		}
		
		.top-area__title {
			padding: 10px 10px 0 60px;
		}
		
		.top-area__map {
			text-align: center;
		}
		
		#caution {
			max-width: 600px;
			margin: 0 auto;
			padding: 30px 0 0;
		}
	}

/* 共通スタイル
------------------------------------ */
.con__box__nav__list li a,
.con__box__nav__list li > span {
	display: block;
	border-bottom: 3px solid #7ca33a;
	background: #aed66a;
	padding: 13px 0;
}

.con__box__nav__list li a {
	transition: background-color .3s,border-color .3s;
	position: relative;
}

.con__box__nav__list li > span,
.con__box__nav__list li a:hover {
	background: #3daa56;
	border-bottom: 3px solid #0f6723;
}

.con__box__nav__list li a:hover {
	transition: background-color .3s,border-color .3s;
}

.con__box__nav__list {
	background: #f0f1c6;
	margin: 0 0 10px;
	padding: 10px;
}

.con__box__nav__list li {
	display: inline-block;
	text-align: center;
}

.con__box__nav__list:not(.traffic-list) li a span {
	display: inline-block;
	position: relative;
}

.con__box__nav__list.pref-list li a span:after {
	display: block;
	content: "";
	width: 64px;
	height: 16px;
	background: url(../img/pref/btn_after.png) no-repeat;
	position: absolute;
	top: 7px;
	right: -50px;
}

.map-area {
	height: 950px;
	background: url(../img/common/map_bg.png) repeat;
	position: relative;
}

.map-area img {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}

.con__box__section__title {
	font-size: 24px;
	vertical-align: middle;
	border-bottom: 2px solid #0089be;
	padding: 0 0 8px;
	margin: 0 0 20px;
}

.con__box__section__title:before {
	display: inline-block;
	content: "●";
	font-size: 18px;
	color: #0089be;
	vertical-align: middle;
	margin: 0 16px 0 0;
	position: relative;
	top: -3px;
}

.con__box__section__title span {
	display: inline-block;
	vertical-align: middle;
	margin: 0 0 0 20px;
}

.con__box__section__title span a {
	display: block;
	font-size: 12px;
	color: #fff;
	text-decoration: none;
	padding: 4px 10px;
}

.con__box__section__title span a:before {
	display: inline-block;
	content: "▶︎";
	font-size: 8px;
	color: #fff;
	margin: 0 4px 0 0;
	transform: scale(1,.75);
}

.con__box__table {
	width: 100%;
	border-collapse: collapse;
}

.con__box__table thead tr > *{
	text-align: center;
	background: #f0f1c6;
	padding: 10px 0!important;
}

.con__box__table th,
.con__box__table td {
	border: 1px solid #000;
	padding: 14px;
}

	@media screen and (max-width: 768px) {
		.map-area {
			height: 370px;
		}
		
		.con__box__nav__list li {
			width: 100%!important;
		}
		
		.con__box__nav__list li:not(:last-child) {
			margin: 0 0 8px;
		}
		
		.tableNavi li:first-child {
			float: left;
		}
		
		.tableNavi li:last-child {
			float: right;
		}
	}

/* テーブル内リンクアイコン */
.con__box__table td a:not(.link-col03) {
	font-size: 12px;
	color: #fff;
	text-decoration: none;
	padding: 5px 8px;
}

.con__box__table td a + a {
	margin: 0 0 0 5px;
}

.con__box__table a.ic {
	background: #f4aa29;
}

.con__box__table a.ekitan {
	background: #32b5ec;
}

.con__box__table a.jordan {
	background: #0b3290;
}

.con__box__table a.navi {
	background: #006400;
}

.con__box__table a.ekisp {
	background: #eb0c0c;
}

.con__box__table a.access,
.con__box__table a.time {
	background: #4374d8;
}

.con__box__table a.route,
.con__box__table a.yahoo {
	background: #ff6666;
}

.con__box__table a.fare {
	background: #6fa700;
}

.con__box__table a.free {
	background: #4b54b7;
}

.con__box__table a span:before {
	display: inline-block;
	content: "▶︎";
	font-size: 8px;
	color: #fff;
	margin: 0 4px 0 0;
	transform: scale(1,.75);
}

/* pref
------------------------------------ */
#pref {
	background: #77b60a;
}

.pref__title {
	padding-left: 143px;
}

.pref__title:before {
	height: 145px;
	background: url(../img/pref/title_bg.png) no-repeat right bottom;
	top: -42px;
}

.pref-list li img {
	position: relative;
	left: -20px;
}

.pref__box__title {
	background: #77b60a;
}

.pref__box__table {
	border-collapse: collapse;
	margin: 0 0 13px;
}

.pref__box__table th,
.pref__box__table td {
	text-align: center;
	border: 3px solid #fff;
	padding: 8px 14px;
	white-space: nowrap;
}

.pref__box__table th.col1 {
	padding: 14px;
}

.pref__box__table tr:nth-child(odd) {
	background: #f0f1c6;
}

.pref__box__table tr:nth-child(even) {
	background: #dadbb9;
}

.pref__box__txt {
	margin: 0 0 20px;
}

/* title */
#pref .airport-title:after {
	width: 96px;
	height: 72px;
	background: url(../img/pref/ico01.png) no-repeat;
}

#pref .train-title:after {
	width: 72px;
	height: 74px;
	background: url(../img/pref/ico02.png) no-repeat;
}

#pref .bus-title:after {
	width: 74px;
	height: 73px;
	background: url(../img/pref/ico03.png) no-repeat;
}

#pref .ferry-title:after {
	width: 92px;
	height: 73px;
	background: url(../img/pref/ico04.png) no-repeat;
}

	@media screen and (min-width: 769px) {
		.pref-list li {
			width: 49.2%;
		}
		
		.pref-list li:not(:last-child){
			margin-right: 1.5%;
		}
		
		.pref__box .section:last-child {
			margin: 0 0 50px;
		}
	}
	
	@media screen and (max-width: 768px) {
		.pref__title:before {
			height: 154px;
		}
	}

/* info
------------------------------------ */
#info {
	background: #ff6666;
}

#info .con__box {
	padding: 30px 10px 10px;
}

.info__title {
	padding-left: 146px;
}

.info__title:before {
	height: 143px;
	background: url(../img/info/title_bg.png) no-repeat right bottom;
	top: -41px;
}

.info__txt {
	left: 410px;
}

.info__box__title {
	background: #ff6666;
}

.info__box__inner {
	padding: 0 0 40px;
}

.info__box .info__box__inner:last-child {
	padding: 0 0 20px;
}

.info__box__inner img {
	border-right: 20px solid #fff;
	margin: 0 0 10px 0;
}

.info__box__inner__col {
}

.info__box__inner__title {
	font-size: 20px;
	border-bottom: 2px solid #ff6666;
	padding: 0 0 6px;
	margin:  0 0 20px;
}

.info__box__inner__txt {
	padding: 0 0 20px;
}

/* title */
.info01-title:after {
	width: 95px;
	height: 72px;
	background: url(../img/info/ico01.png) no-repeat;
}

	@media screen and (max-width: 768px) {
		#info .fl {
			float: none;
			display: block;
			margin: 0 auto 10px;
			border: none;
		}
		
		.info__title:before {
			height: 154px;
		}
		
		.info__box__title {
			padding: 2px 0 1px 24px;
		}
	}

/* area
------------------------------------ */
#area {
	background: #0089be;
}

.area__title {
	padding-left: 146px;
}

.area__title:before {
	height: 147px;
	background: url(../img/area/title_bg.png) no-repeat right bottom;
	top: -44px;
}

.area__txt {
	left: 380px;
}

.area-list li {
	width: 19.3%;
}

.area-list li:not(:last-child) {
	margin-right: .8%;
}

.area-list li a {
	background: #8fc3d7;
	border-bottom: 3px solid #6aa1b6;
}

.area-list li > span,
.area-list li a:hover {
	background: #0089be;
	border-bottom: 3px solid #005474;
}

.area__box__title {
	background: #0089be;
}

.area-table02 td,
.area-table03 td {
	width: 13.5%;
	text-align: center;
	padding: 14px 10px;
}

.area-table03 .pink tr > *,
.area-table03 .pink > *{
	text-align: center;
	background: #ffe5e5;
}

.area-table03 .blue tr > *,
.area-table03 .blue > *{
	text-align: center;
	background: #cce5ff;
}

.area__box__section__title span {
	background: #4374d8;
}

/* title */
#area .access-title:after {
	width: 78px;
	height: 85px;
	background: url(../img/area/ico01.png) no-repeat;
	top: -30px;
}

#area .train-title:after {
	width: 72px;
	height: 74px;
	background: url(../img/area/ico02.png) no-repeat;
}

#area .bus-title:after {
	width: 74px;
	height: 73px;
	background: url(../img/area/ico03.png) no-repeat;
}
#area .ferry-title:after {
	width: 92px;
	height: 73px;
	background: url(../img/area/ico05.png) no-repeat;
}

	@media screen and (max-width: 768px) {
		#area .over-box {
			width: 952px;
		}
		
		.area__title:before {
			height: 154px;
		}
	}
	
/* traffic
------------------------------------ */
#traffic {
	background: #f4aa29;
}

.traffic__title {
	padding-left: 76px;
}

.traffic__title:before {
	height: 147px;
	background: url(../img/traffic/title_bg.png) no-repeat right bottom;
	top: -44px;
}

.traffic__txt {
	left: 410px;
}

.traffic-list {
	margin: 0 0 20px;
	padding: 10px 10px 5px;
}

.traffic-list li {
	width: 19%;
}

.traffic-list li:not(:last-child) {
	margin-right: .7%;
}

.traffic-list li a {
	background: #eec47b;
	border-bottom: 3px solid #dea440;
}

.traffic-list li a,
.traffic-list li > span {
	padding: 0!important;
	height: 50px;
	position: relative;
}

.traffic-list li img {
	display:block;
	position: absolute;
	top: 14px;
	right: 0;
	left: 0;
	margin: auto;
}

.traffic-list li:first-child img,
.traffic-list li:last-child img {
	top: 12px;
}

.traffic-list li > span,
.traffic-list li a:hover {
	background: #f4aa29;
	border-bottom: 3px solid #f47a29;
}

.traffic__box__title {
	background: #f4aa29;
}

.traffic-table01 td.icon {
	width: 13.5%;
	text-align: center;
	padding: 14px 10px;
}

.traffic-table01 td.icon02 {
	width: 83%;
}

.traffic-table01 tr th:nth-child(2) {
	width: 19%;
}

.traffic-table02 tr td.icon {
	width: 15%;
	text-align: center;
}

.traffic-table02 tr td:last-child {
	width: 59%;
}

.traffic-table03 th {
	width: 23%;
}

.traffic__box__list > * {
	display: inline-block;
	vertical-align: middle;
}

.traffic__box__list dt {
	font-size: 12px;
	color: #fff;
	background: #f4aa29;
	padding: 6px 12px;
	margin: 0 20px 0 0;
}

/* title */
#traffic .bus-title01:after {
	width: 74px;
	height: 73px;
	background: url(../img/traffic/ico01.png) no-repeat;
}

#traffic .train-title01:after {
	width: 72px;
	height: 74px;
	background: url(../img/traffic/ico02.png) no-repeat;
}

#traffic .airport-title01:after {
	width: 96px;
	height: 72px;
	background: url(../img/traffic/ico03.png) no-repeat;
	top: -18px;
}

#traffic .taxi-title01:after {
	width: 73px;
	height: 72px;
	background: url(../img/traffic/ico04.png) no-repeat;
}

#traffic .ferry-title01:after {
	width: 92px;
	height: 73px;
	background: url(../img/traffic/ico05.png) no-repeat;
}
	@media screen and (min-width: 769px) {
		.traffic__box__list {
			margin: 18px 0 70px;
		}
	}

	@media screen and (max-width: 768px) {
		#traffic .over-box {
			width: 952px;
		}
		
		.traffic__box__list {
			margin: 18px 0 0;
		}
		
		.traffic__title:before {
			height: 154px;
		}
	}

/*-----------------------------------------------
footer
-----------------------------------------------*/
.pagetop {
	position: fixed;
	bottom: 20px;
	right: 10px;
	z-index: 800;
	display: none;
}

#footer {
	background: url(../img/common/footer_bg.png) repeat-x center top;
	padding: 127px 0 0;
}

.footer__inner {
	color: #fff;
	text-align: center;
	background: #503417;
}

.footer__inner a {
	color: #fff;
	text-decoration: none;
}

.footer__inner a:hover {
	text-decoration: underline;
}

.footer__nav li {
	display: inline-block;
	line-height: 1;
	padding: 0 14px;
}

.footer__address {
	text-align: center;
}

#copy {
	font-size: 12px;
	text-align: center;
	padding: 10px 0;
}

	@media screen and (min-width: 769px) {
		.footer__inner {
			padding: 40px 0 30px;
		}
		
		.footer__nav {
			margin: 0 0 14px;
		}
		
		.footer__inner .footer__nav:nth-child(2),
		.footer__inner .footer__nav:nth-child(3),
		.footer__inner .footer__nav:nth-child(4) {
			display: inline-block;
		}
		
		.footer__nav li:not(:last-child),
		.footer__inner .footer__nav:nth-child(2) li,
		.footer__inner .footer__nav:nth-child(3) li {
			border-right: 1px solid #fff;
		}
		
		.footer__address {
			margin: 0 0 30px;
		}
		
		.footer__address span {
			margin: 0 0 0 14px;
		}
		
		.footer__address span:nth-child(2):after {
			content: "/";
			padding: 0 0 0 14px;
		}
		
	}

	@media screen and (max-width: 768px) {
		#footer {
			background-position: center bottom 395px;
			background-size:  140%;
		}
		
		.footer__inner {
			padding: 20px 0;
		}
		
		.footer__nav li {
			margin: 0 0 10px;
		}
		
		.footer__nav li:not(:last-child):not(:nth-child(2n)) {
			border-right: 1px solid #fff;
		}
		
		.footer__address {
			padding: 20px 0;
		}
		
		.footer__address span {
			display: block;
			margin: 10px 0 0;
		}
		
		.pagetop {
			width: 52px;
			position: fixed;
			bottom: 65px;
			right: 10px;
		}
		
		.pagetop img {
			max-width: 100%;
		}
		
		#copy {
			padding: 0 0 73px;
		}
	}


/* clearfix
------------------------------------ */
.cf:after {
    content:".";
    display:block;
    height:0;
    clear:both;
    visibility:hidden;
    font-size:0;
    line-height:0;
}
.cf {
    display:inline-block;
}
/* \*/
.cf {
    display:block;
}
/* */