/* #globalnav_sp */
#globalnav_sp {
	display: none;
}

@media screen and (max-width: 767px) {

/* #globalnav_sp =================== */
#globalnav_sp {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	-webkit-box-shadow: 0px 7px 7px rgba(55,55,55,.23);
	-moz-box-shadow: 0px 7px 7px rgba(55,55,55,.23);
	box-shadow: 0px 7px 7px rgba(55,55,55,.23);
	overflow: hidden;
}
#globalnav_sp.top {
	margin: 2% auto 0;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
}

ul#globalnav_sp_list {
	list-style: none;
	display: -webkit-flex; /* Safari */
	display: flex;
	-webkit-flex-flow: row nowrap; /* Safari */
	flex-flow: row nowrap;
	-webkit-justify-content: space-between; /* Safari */
	justify-content: space-between;
	-webkit-align-items: stretch; /* Safari */
	align-items: stretch;
	position: relative;
	z-index: 100;
}
ul#globalnav_sp_list li {
	width: 25%;
}
ul#globalnav_sp_list li a {
	box-sizing: border-box;
	display: block;
	height: 100%;
	margin-left: 1px;
	padding: 35% 0 5px;
	line-height: 2.0;
	text-align: center;
	text-decoration: none;
	color: #333;
	font-size: 10px;
	font-weight: bold;
}
ul#globalnav_sp_list li a:hover {
	text-decoration: none;
}
ul#globalnav_sp_list li:first-child a {
	margin-left: 0px;
}

ul#globalnav_sp_list li.language a {
	background: #e1ddd6 url(../img/gnav_language.png) no-repeat center 6px;
	background-size: 22% auto;
}
ul#globalnav_sp_list li.traffic a {
	line-height: 1.0;
	background: #e1ddd6 url(../img/gnav_traffic.png) no-repeat center 5px;
	background-size: 27% auto;
}
ul#globalnav_sp_list li.menu a {
	background: #4d4d4d url(../img/gnav_menu.png) no-repeat center 10px;
	background-size: 17% auto;
	color: #fff;
}

ul#globalnav_sp_list li.weather a {
	 background-color: #e1ddd6;
	 position: relative;
}
ul#globalnav_sp_list li.weather img {
	 width: 54%;
	 height: auto;
	 margin-left: -27%;
	 position: absolute;
	 top: 5px;
	 left: 50%;
}
ul#globalnav_sp_list li.weather p span.red {
	color: #c30;
}
ul#globalnav_sp_list li.weather p span.blue {
	margin-left: 5px;
	color: #09f;
}

ul#globalnav_sp_list li.language.active a,
ul#globalnav_sp_list li.traffic.active a,
ul#globalnav_sp_list li.weather.active a {
	background-color: #d2cec3;
}
ul#globalnav_sp_list li.menu.active a {
	background-color: #4d4d4d;
}

/* .globalnav_sp_contents */
.globalnav_sp_contents {
	display: none;
}
/*.globalnav_sp_contents.active {
	display: block;
}*/

/* #globalnav_sp_language */
#globalnav_sp_language {
	padding: 0 3%;
	background-color: #d2cec3;
}
#globalnav_sp_language ul {
	padding: 4% 0 0;
	list-style: none;
}
#globalnav_sp_language ul li {
	padding: 0 0 4%;
}
#globalnav_sp_language ul li a {
	display: block;
	padding: 3%;
	border-radius: 5px;
	background-color: #fff;
	text-decoration: none;
	font-size: 15px;
	color: #333;
}
#globalnav_sp_language ul li span {
	display: inline-block;
	padding-right: 18px;
	background: url(../img/icon_link.png) no-repeat right center;
	background-size: 14px auto;
}

/* #globalnav_sp_traffic */
#globalnav_sp_traffic {
	padding: 4% 3%;
	background-color: #d2cec3;
}

#globalnav_sp_traffic .traffic_banner {
	width: 100%;
}

#globalnav_sp_traffic .traffic_banner p {
	display: table;
	width: 100%;
	margin: 0 0 2%;
	background-color: #fff;
	border-radius: 5px;
}
#globalnav_sp_traffic .traffic_banner p span {
	box-sizing: border-box;
	display: table-cell;
	width: 43%;
	padding: 2%;
	vertical-align: middle;
	color: #329d6a;
	font-size: 14px;
	font-weight: bold;
}
#globalnav_sp_traffic .traffic_banner p a {
	box-sizing: border-box;
	display: table-cell;
	width: 57%;
	padding: 2%;
	vertical-align: middle;
}
#globalnav_sp_traffic .traffic_banner p img {
	width: 100%;
	height: auto;
}


#globalnav_sp_traffic .traffic_info {
	padding: 2%;
	border-radius: 5px;
	background-color: #fff;
}
#globalnav_sp_traffic .traffic_info .ttl {
	margin: 0 0 3%;
	color: #329d6a;
	font-size: 14px;
	font-weight: bold;
}


#globalnav_sp_traffic_info {
	width: 100%;
	overflow: hidden;
}

#globalnav_sp_train_traffic_light {
	width: 17%;
	text-align: center;
	float: left;
}

#globalnav_sp_traffic_info dl {
	width: 83%;
	float: right;
}
#globalnav_sp_traffic_info dl dt {
	margin: 0 0 2%;
	font-size: 14px;
	font-weight: bold;
}
#globalnav_sp_traffic_info dl dt a {
	color: #329d6a;
}
#globalnav_sp_traffic_info dl dd {
	margin: 0 0 4% 4%;
	color: #333;
	font-size: 14px;
	font-weight: bold;
}

/* #globalnav_sp_weather */
#globalnav_sp_weather {
	padding: 4% 3%;
	background-color: #d2cec3;
}

#globalnav_sp_weather img {
	width: 100%;
	height: auto;
}

#globalnav_sp_weather p.ttl {
	margin: 0 0 3%;
	color: #329d6a;
	font-size: 14px;
	font-weight: bold;
}

#globalnav_sp_title p.ttl {
	margin: 0;
	color: #329d6a;
	font-size: 14px;
	font-weight: bold;
}

/* div.weather-box */
#globalnav_sp_weather div.weather-box dt.day {
	margin: 0;
	padding: 12px 10px 0 0;
	color: #333;
	font-size: 12px;
	font-weight: bold;
	position: absolute;
	top: 0;
	right: 0;
}
#globalnav_sp_weather div.weather-box dd.weather-img {
	width: 60%;
	float: left;
}
#globalnav_sp_weather div.weather-box dd.w-info-b {
	width: 35%;
	font-size: 16px;
	font-weight: bold;
	float: left;
}
#globalnav_sp_weather div.weather-box dd.w-info-b span {
	display: block;
	text-align: right;
}
#globalnav_sp_weather div.weather-box dd.w-info-b span.red {
	padding: 14% 0 8%;
	color: #c30;
}
#globalnav_sp_weather div.weather-box dd.w-info-b span.blue {
	color: #09f;
}

/* div.weather-box-s */
#globalnav_sp_weather div.weather-box-s {
	width: 20%;
	float: left;
	text-align: center;
}
#globalnav_sp_weather div.weather-box-s dt.day {
	font-size: 11px;
	font-weight: bold;
}
#globalnav_sp_weather div.weather-box-s dt.day span.weekday0 {
	color: #c30;
}
#globalnav_sp_weather div.weather-box-s dt.day span.weekday6 {
	color: #09f;
}

#globalnav_sp_weather div.weather-box-s dd.weekly-weather {
	padding: 3% 0;
	border-left: 1px solid #e4e5d8;
}
#globalnav_sp_weather div.weather-box-s dd.weekly-weather.weekly-weather0 {
	border-left: none;
}
#globalnav_sp_weather div.weather-box-s dd.weekly-weather div.weather-img {
	width: 80%;
	margin: 0 auto;
}
#globalnav_sp_weather div.weather-box-s dd.weekly-weather div.w-info-s span {
	line-height: 1.4;
	font-size: 13px;
	font-weight: bold;
}
#globalnav_sp_weather div.weather-box-s dd.weekly-weather div.w-info-s span.red {
	color: #c30;
}
#globalnav_sp_weather div.weather-box-s dd.weekly-weather div.w-info-s span.blue {
	color: #09f;
}

#globalnav_sp_weather p.announce {
	padding: 2% 0 0;
	font-size: 12px;
	color: #333;
	text-align: right;
	clear: both;
}
/**/
#globalnav_sp_today,
#globalnav_sp_tomorrow,
#globalnav_sp_weekly,
#globalnav_sp_title {
	box-sizing: border-box;
	width: 49%;
	padding: 10px;
	border-radius: 5px;
	background-color: #fff;
	overflow: hidden;
	position: relative;
}

#globalnav_sp_title {
	margin: 0 0 2% !important;
	width: 100%;
	text-align: center;
}

#globalnav_sp_today {
	margin: 0 0 2% !important;
	float: left;
}
#globalnav_sp_tomorrow {
	margin: 0 0 2% !important;
	float: right;
}

#globalnav_sp_weekly {
	width: 100%;
	clear: both;
}

/* #globalnav_sp_menu */
#globalnav_sp_menu {
	padding: 4% 2%;
	background-color: #4d4d4d;
}

#globalnav_sp_menu_home {
	margin: 0 0 4%;
	display: -webkit-flex; /* Safari */
	display: flex;
	-webkit-flex-flow: row nowrap; /* Safari */
	flex-flow: row nowrap;
	-webkit-align-items: center; /* Safari */
	align-items: center;
}
#globalnav_sp_menu_home p {
	width: 48%;
	padding: 0 1%;
}
#globalnav_sp_menu_home p a {
	display: block;
	padding: 2px 0 0 2px;
	border: 5px solid #c4c3bf;
	border-radius: 5px;
	background-color: #fff;
	text-decoration: none;
	text-align: center;
	color: #333;
	font-size: 16px;
	font-weight: bold;
}
#globalnav_sp_menu_home p a.active,
#globalnav_sp_menu_home p a:hover,
#globalnav_sp_menu_home p a:active {
	text-decoration: none;
}

#globalnav_sp_menu_home p a span {
	display: block;
	padding: 4px 0 6px;
	background-color: #eceae6;
	border-radius: 5px 0 0 0;
}

#globalnav_sp_menu_home form {
	box-sizing: border-box;
	width: 48%;
	margin: 0 1%;
	padding: 3.5px 34px 3.5px 16px;
	border-radius: 16px;
	background-color: #fff;
	position: relative;
}

#globalnav_sp_menu_home form input[type="text"] {
	width: 100%;
	height: 25px;
	margin: 0;
	padding: 0;
	border: none;
	color: #000;
	font-size: 14px;
	background-color: #fff;
}
#globalnav_sp_menu_home form button {
	margin: 0;
	padding: 0;
	border: none;
	background: none;
	position: absolute;
	top: 3.5px;
	right: 7px;
}
#globalnav_sp_menu_home form button img {
	width: 25px;
	height: auto;
}

#globalnav_sp_menu_buttons1 {
}
#globalnav_sp_menu_buttons1 ul {
	list-style: none;
	padding: 0 0 2%;
	display: -webkit-flex; /* Safari */
	display: flex;
	-webkit-flex-flow: row wrap; /* Safari */
	flex-flow: row wrap;
	-webkit-align-items: stretch; /* Safari */
	align-items: stretch;
}
#globalnav_sp_menu_buttons1 li {
	width: 48%;
	padding: 0 1% 2%;
}
#globalnav_sp_menu_buttons1 li a {
	display: block;
	padding: 2px 0 0 2px;
	border: 5px solid #1a7f4b;
	border-radius: 5px;
	background-color: #2fa478;
	text-decoration: none;
	text-align: center;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	text-shadow: -1px -2px #298c5c;
}
#globalnav_sp_menu_buttons1 li a:hover {
	text-decoration: none;
}
#globalnav_sp_menu_buttons1 a span {
	line-height: 1.2;
	display: block;
	padding: 14px 0 16px;
	background-color: #2db98a;
	-webkit-box-shadow: inset 0 0 60px #0b9460;
	-moz-box-shadow: inset 0 0 60px #0b9460;
	box-shadow: inset 0 0 60px #0b9460;
	border-radius: 5px 0 0 0;
}

#globalnav_sp_menu_buttons1 li.active a {
	border: 5px solid #32b672;
	background-color: #51eab7;
}
#globalnav_sp_menu_buttons1 li.active a span {
	background-color: #07cf8c;
	-webkit-box-shadow: inset 0 0 60px #34e7ab;
	-moz-box-shadow: inset 0 0 60px #34e7ab;
	box-shadow: inset 0 0 60px #34e7ab;
}

#globalnav_sp_menu_buttons1 li.buttons1_service a span { line-height: 2.4; }

#globalnav_sp_menu_buttons2 {
	padding: 0 0 2%;
}
#globalnav_sp_menu_buttons2 ul {
	list-style: none;
	padding: 0 0 2%;
	display: -webkit-flex; /* Safari */
	display: flex;
	-webkit-flex-flow: row wrap; /* Safari */
	flex-flow: row wrap;
	-webkit-align-items: stretch; /* Safari */
	align-items: stretch;
}
#globalnav_sp_menu_buttons2 li {
	width: 48%;
	padding: 0 1% 2%;
	line-height: 1.2;
}
#globalnav_sp_menu_buttons2 li a {
	display: block;
	border-radius: 5px;
	background-color: #333;
	text-decoration: none;
	color: #fff;
	font-size: 10px;
	font-weight: bold;
}
#globalnav_sp_menu_buttons2 li.active a {
	background-color: #808080;
}
#globalnav_sp_menu_buttons2 li a:hover {
	text-decoration: none;
}

#globalnav_sp_menu_buttons2 li a span {
	display: block;
	min-height: 2.4em;
	padding: 6% 1% 6% 35%;
	text-align: center;
	background-repeat: no-repeat;
}
#globalnav_sp_menu_buttons2 li a.access span {
	background-image: url(../img/menu_access.png);
	background-position: 10% center;
	background-size: 28% auto;
}
#globalnav_sp_menu_buttons2 li a.service span {
	background-image: url(../img/menu_service.png);
	background-position: 10% center;
	background-size: 20% auto;
}
#globalnav_sp_menu_buttons2 li a.parking span {
	background-image: url(../img/menu_parking.png);
	background-position: 15% center;
	background-size: 13% auto;
}
#globalnav_sp_menu_buttons2 li a.bank span {
	background-image: url(../img/menu_bank.png);
	background-position: 10% center;
	background-size: 20% auto;
}
#globalnav_sp_menu_buttons2 li a.shop span {
	background-image: url(../img/menu_shop.png);
	background-position: 11% center;
	background-size: 15% auto;
}
#globalnav_sp_menu_buttons2 li a.lan span {
	line-height: 2.4;
	background-image: url(../img/menu_lan.png);
	background-position: 13% center;
	background-size: 18% auto;
}
#globalnav_sp_menu_buttons2 li a.universal span {
	background-image: url(../img/menu_universal.png);
	background-position: 13% center;
	background-size: 14% auto;
}
#globalnav_sp_menu_buttons2 li a.faq span {
	background-image: url(../img/menu_faq.png);
	background-position: 15% center;
	background-size: 11% auto;
}

#globalnav_sp_menu .menu_links {
	font-size: 13px;
}
#globalnav_sp_menu .menu_links a {
	color: #fff;
	text-decoration: none;
}

#globalnav_sp_menu .menu_links .ttl {
	margin: 0 0 3%;
	padding: 0 0 2%;
	border-bottom: 1px solid #7a7a7a;
	font-size: 16px;
	font-weight: bold;
	color: #fff;
}

#globalnav_sp_menu .menu_links ul {
	padding: 0 0 6%;
}
#globalnav_sp_menu .menu_links ul li {
	margin: 0 0 4%;
}
#globalnav_sp_menu .menu_links li.active a {
	color: #ffa800;
	
}
#globalnav_sp_menu .menu_links li a::after {
	content:" ";
	display:inline-block;
	width: 14px;
	height: 14px;
	margin-left: 5px;
	background: url(../img/icon_link_mono.png) no-repeat center center;
	background-size: 100% auto;
}
#globalnav_sp_menu .menu_links li.active a::after {
	background: url(../img/icon_link_mono_on.png) no-repeat center center;
	background-size: 100% auto;
}

#globalnav_sp_menu .menu_links li a span.pdf::after {
	content:" ";
	display:inline-block;
	width: 16px;
	height: 16px;
	margin-left: 5px;
	background: url(../img/icon_pdf.png) no-repeat center center;
	background-size: 100% auto;
}

#globalnav_sp_menu p.tokyo_airport_link {
	width: 80%;
	margin: 0 auto;
	text-align: center;
	font-size: 12px;
}
#globalnav_sp_menu p.tokyo_airport_link a {
	box-sizing: border-box;
	display: block;
	padding: 3% 12px 3% 22%;
	border: 2px solid #369afe;
	border-radius: 24px;
	background: url(../img/icon_tokyo_airport.png) no-repeat 4% center;
	background-size: 16% auto;
}

/* #subnav_sp =================== */
#subnav_sp {
	box-sizing: border-box;
	width: 100%;
	margin: 0 auto 10px;
	padding: 0;
	border-radius: 5px;
	background-color: #4d4d4d;
	-webkit-box-shadow: 4px 6px 7px rgba(55,55,55,.23);
	-moz-box-shadow: 4px 6px 7px rgba(55,55,55,.23);
	box-shadow: 4px 6px 7px rgba(55,55,55,.23);
}

#subnav_sp a {
	color: #fff;
	text-decoration: none;
}
#subnav_sp a::after {
	content:" ";
	display:inline-block;
	width: 14px;
	height: 14px;
	margin-left: 5px;
	background: url(../img/icon_link_mono.png) no-repeat center center;
	background-size: 100% auto;
}
#subnav_sp .active>a {
	color: #ffa800;
}
#subnav_sp .active>a::after {
	background: url(../img/icon_link_mono_on.png) no-repeat center center;
	background-size: 100% auto;
}

#subnav_sp p {
	padding: 3%;
	font-size: 18px;
	font-weight: bold;
}
#subnav_sp p a::after {
	content:" ";
	display:inline-block;
	width: 14px;
	height: 14px;
	margin-left: 5px;
	background: url(../img/icon_down.png) no-repeat center center;
	background-size: 100% auto;
}

ul#subnav_sp_list {
	display: none;
	padding: 6% 3% 2%;
	list-style: none;
	border-top: 2px solid #fff;
}
ul#subnav_sp_list>li {
	margin: 0 0 6%;
	font-size: 17px;
	font-weight: bold;
}

ul#subnav_sp_list ul.sub {
	margin: 2% 0 0;
	font-size: 15px;
	font-weight: normal;
}
ul#subnav_sp_list ul.sub>li {
	padding: 2% 0;
	border-top: 1px solid #7a7a7a;
}

} 