/* Defaults - Thanks to html5reset.org ---------------------------------------------------*/
html, body, body div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figure, footer, header, hgroup, menu, nav, section, time, mark, audio, video {margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent;} article, aside, figure, footer, header, hgroup, nav, section, img {display:block;} html {overflow-y:scroll;} ul {list-style:none;} blockquote, q {quotes:none;} blockquote:before, blockquote:after, q:before, q:after {content:''; content:none;} a {margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent;} del {text-decoration:line-through;} abbr[title], dfn[title] {border-bottom:1px dotted #000; cursor:help;} th {font-weight:bold; vertical-align:bottom;} td {font-weight:normal; vertical-align:top;} hr {display:block; height:1px; border:0; border-top:1px solid #ccc; margin:1em 0; padding:0;} input, select {vertical-align:middle;} pre {white-space:pre; white-space:pre-wrap; white-space:pre-line; word-wrap:break-word;} input[type="radio"] {vertical-align:text-bottom;} input[type="checkbox"] {vertical-align:bottom; vertical-align:baseline;} .ie6 input {vertical-align:text-bottom;} select, input, textarea {font:99% sans-serif;} table {font-size:inherit; font:100%;} a:hover, a:active {outline:none;} small {font-size:85%;} strong, th {font-weight:bold;} td, td img {vertical-align:top;} sub, sup {font-size:75%; line-height:0; position:relative;} sup {top:-0.5em;} sub {bottom:-0.25em;} pre, code, kbd, samp {font-family:monospace, sans-serif;} .clickable, label, input[type=button], input[type=submit], button {cursor:pointer;}
.clearfix:before, .clearfix:after { content:"\0020"; display:block; height:0; overflow:hidden; } .clearfix:after { clear:both; } /*.clearfix { zoom:1; }*/
table {border-collapse:collapse; border-spacing:0;}/* tables still need cellspacing="0" in the markup */
button, input, select, textarea {margin:0;}/* Webkit browsers add a 2px margin outside the chrome of form elements */
button {width:auto; overflow:visible;}/* make buttons play nice in IE */
.ie7 img {-ms-interpolation-mode:bicubic;}/* scale images in IE7 more attractively */
.ie6 html {filter:expression(document.execCommand("BackgroundImageCache", false, true));}/* prevent BG image flicker upon hover */
textarea:focus, input:focus{ outline:0; } /* stop click/focus outline in webkit */

* { border:none; padding:0; margin:0; -moz-box-sizing:border-box; -webkit-box-sizing:border-box; box-sizing:border-box; }


/* Main ----------------------------------------------------------------------------*/
/*
color:#00ACAC;
color:#097D91;
color:#116181;
color:#6ce4e8;
chrome selection bg: rgba(138,156,178,0.5);
*/

html, body { height:100%; }
body {
	/*font:13px/1.7em 'M+ 1c', 'Kozuka Gothic Pro', 'IPAX0208Gothic', Helvetica, Helmet, Freesans, sans-serif;*/
	font:18px/1.8em 'M+ 1c', 'Kozuka Gothic Pro', 'IPAX0208Gothic', Helvetica, Helmet, Freesans, sans-serif;
	/*background:#f6f8f9 url(../images/bg-noise.png) top left repeat;*/
	/*background:#eee url(../images/bg-noise.png) top left repeat;*/
	background-color:#e7e7e7;
	font-weight:100;
	letter-spacing:0.05em;
	color:#333;
}
h1, h2, h3, h4 { font-weight:100; color:#3a9eaf; letter-spacing:0.05em; font-weight:100; }
h2 {
	font-size:2em;
	line-height:1em;
	
	padding-bottom:0.3em;
	margin-bottom:0.5em;
	border-bottom:2px solid #3A9EAF;
}
h2.date { border:none; padding:0; margin:0; }
h3 { font-weight:500; }
h4 { }

p { font-size:1em; margin-bottom:1em; }

a { text-decoration:none; color:inherit; margin:0; padding:0; }
#access a,
#map a,
a#emaillink { text-decoration:underline; }
#access a:hover,
#map a:hover { color:#3A9EAF; }

em { font-style:normal; color:#3a9eaf; /*white-space:nowrap;*/ }
.txtlight em { color:#88f0eb; }

td { font-weight:inherit; }


::selection { /*color:#eee;*/ background-color:rgba(138,156,178,0.7); text-shadow:none; }
::-moz-selection { /*color:#eee;*/ background-color:rgba(138,156,178,0.7); text-shadow:none; }



header {
	height:50%;
	min-height:15em;
	max-height:23em;
	position:relative;
	overflow:hidden;
	background-color:#0E6583;
	width:100%;
	/*padding:0 25%;*/
	/*margin-bottom:2em; */
}

header h1 {
	display:block;
	width:230px;
	height:100px;
	position:absolute;
	bottom:25%;
	right:20%; /* linked to section padding */
	margin-right:-35px;
	background:transparent url('../images/head-logo.png') top left no-repeat;
	text-indent:-3000em;
	color:transparent;
	overflow:hidden;
}

section {
	padding:0;
	overflow:hidden;
	position:relative;
}

#mission { }
#info1 { } /*background-color:#097D91;*/
#info2 { }
#info3 { }
#pricing { margin:2em 0; }
#contact { }

/*#access { display:none; }*/
#access { margin:2em 0 0 0; }

.inner {
	/*width:80%;*/
	margin:2em 20% 3em 20%; /* problems later? */
	/*margin-top:2em;*/
	/*margin-bottom:3em;*/
	overflow:hidden;
	position:relative;
	max-width:50em;
}

#opening { text-align:center; }
#opening .inner { margin-top:4em; margin-bottom:1em; padding:1em; }
#opening .desc { font-size:1.7em; color:#888; letter-spacing:0.2em; margin-bottom:3%; }

#opening h2 {
	border-bottom:none;
	line-height:1.3em;
	margin-bottom:0.3em;
}
#opening h2 span { white-space:nowrap; }
#opening p { line-height:1.3em; margin-bottom:0.3em; }
#opening .icon { color:#3A9EAF; display:block; padding:0.2em 0; }

.bgimg {
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	overflow:hidden;
	z-index:-1;
}

.bgimg img {
	opacity:0.2; position:absolute; 
	width:100%; height:auto;
}
.bgimg.lockheight img { height:100%; width:auto; }

#info1 .bgimg img { bottom:0; left:0; }
#info3 .bgimg img { top:0; right:0; }


.icon { }
.icon i { font-size:7em; color:rgba(0, 0, 0, 0.2); width:20%; /*overflow:hidden;*/ }
.icon p { }
.icon.left i { float:left; text-align:left; }
.icon.left p { width:80%; float:right; }
.icon.right i { float:right; text-align:right; }
.icon.right p { width:75%; }

.txtlight { color:#eee; }
.txtlight i { color:#eee; }



.arrow {
	width:100%;
	height:7em;
	/*margin-bottom:1em;*/
	overflow:hidden;
	position:relative;
}
.arrow.left { }
.arrow.right { }
.arrow .tri {
	width:0px;
	height:0px;
	border-width:7em; /* same as .arrow height */
	border-style:solid;
	border-color:transparent;
	position:absolute;
	top:0;
	z-index:100;
}
.arrow .tri.fill { border-top-color:#e7e7e7; border-bottom-width:0; }
.arrow .tri.clear { border-left-color:#e7e7e7; border-right-color:#e7e7e7; border-bottom-width:0; }
footer .arrow .tri.fill { border-top-color:#e7e7e7;/*d6d6d6*/ }

.arrow.left .tri { left:20%; }
.arrow.right .tri { right:20%; }
.arrow.center .tri { left:50%; margin-left:-7em; }

.arrow .bg1,
.arrow .bg2 { background-color:#e7e7e7; width:100%; height:100%; position:absolute; top:0; }
.arrow.left .bg1 { left:0; width:20%; }
.arrow.left .bg2 { left:20%; margin-left:14em; } /* margin double .arrow height */
.arrow.right .bg1 { right:20%; margin-right:14em; } /* margin double .arrow height */
.arrow.right .bg2 { right:0; width:20%; }




/* Pricing --------------------------------------------------------- */

#pricing h3 { /*font-weight:500;*/ padding-top:2em; }

#pricing .inner { overflow:visible; }

#pricing .plan {
	padding:0.7em 0 0.5em 1.2em;
	overflow:hidden;
	position:relative;
	color:#eee;
	margin:1em 0;
}
#pricing .plan.plan25 { background-color:rgb(63,184,184);/*#097D91;*/ width:50%; }
#pricing .plan.plan55 { background-color:rgb(5,144,156); /*#116181;*/ width:100%; padding-right:10%; }
#pricing .plan.plan55 .bonus {
	/*background:rgb(0,170,189) url('../images/lines-05909C.png') top left repeat;*/
	background:rgb(154, 209, 200) url('../images/lines-05909C.png') top left repeat;

	/*background-color:rgba(53,140,177,1);*/
	/*background-color:rgb(0,170,189);*/
	position:absolute; top:0; right:0;
	height:100%; width:10%;
}

#pricing .plan h4,
#pricing .plan .detail { float:left; }
#pricing .plan h4 { padding-right:0.5em; margin:5px 0 0 0; color:#eee; font-size:2.5em; line-height:1em; }
#pricing .plan p.detail { line-height:1.5em; margin:0; }
#pricing .plan p.detail span { display:block; }
#pricing .plan em { font-weight:500; color:inherit; /*rgb(30,232,255)*/ /*rgba(66,198,255,1);*/ }



#pricing .callout {
	position:absolute;
	top:6em;
	right:-3em;
	width:10em;
	height:10em;
	/*background-color:rgba(24,72,115,1);*/
	background-color:#ececec;
	color:#333;
	text-align:center;
	border-radius:50%;
	box-shadow:0 10px 10px rgba(0,0,0,0.15);
	/*overflow:hidden;*/
}
#pricing .callout p {
	/*padding:25% 10%;*/
	padding:25% 15%;
	border-radius:50%;
}
#pricing .callout a { padding:25% 15%; }
/*#pricing .callout:hover p { display:none; }*/


#pricing table {
	width:100%;
	margin:1em 0;
	text-align:left;
	border:none;
	border-collapse:collapse; /* IE7 and lower */
	-webkit-border-radius:10px;
	   -moz-border-radius:10px;
	        border-radius:10px;
}
#pricing table th {
	font-weight:100;
	color:#eee;
	/*background-color:rgba(52,83,106,0.7);*/
	background-color:rgba(10, 69, 112, 0.7);
}
#pricing table th:first-child {
	-webkit-border-radius:10px 0 0 0;
	   -moz-border-radius:10px 0 0 0;
	        border-radius:10px 0 0 0;
}
#pricing table th:last-child {
	-webkit-border-radius:0 10px 0 0;
	   -moz-border-radius:0 10px 0 0;
	        border-radius:0 10px 0 0;
}
#pricing table th,
#pricing table td { padding:0.5em 0.8em; }
#pricing table tr:last-child { border-top:2px solid #eee; }


ul.notes { clear:both; }
.note, ul.notes li { list-style:none inside none; display:inline; color:#727272;}
.note i, ul.notes li i { color:#097D91; }

.note { font-size:0.8em; }



/* Contact --------------------------------------------------------- */

#contact { }

.inner .halfwidth { float:left; width:50%; }
.inner p.halfwidth { padding-right:2em; }


/* Forms General ------------------------------------------------ */

form {
	padding:0;
	overflow:hidden;
	position:relative;
	display:block;
}
form fieldset { display:block; margin:0; padding:0; overflow:hidden; width:100%; height:100%; }
label { display:block; width:100%; margin:0 0 1em 0; }
input,
textarea { width:100%; height:2em; line-height:1.5em; padding:0.2em 0.2em 0.2em 0.5em; background-color:#eee; -webkit-appearance:none; }
textarea { height:10em; min-height:10em; resize:vertical; }
input[type='text']:focus,
input[type='email']:focus,
textarea:focus { background:#fff; }
.form-error {
	font-size:0.8em;
	color:#BB0043;
	font-weight:normal;
	margin:0 !important;
	/*display:none;*/
	/*display:block;*/
	height:0;
	overflow:hidden;
}
.form-error.show { height:2em; }
.form-error i { font-size:0.8em; }
.form-success {
	position:absolute;
	top:0;
	right:100%;
	width:100%;
	height:101%;
	background-color:#eee;
	text-align:center;
}
.form-success.show { right:0; }

.submitwrapper { display:block; position:relative; overflow:hidden; height:2em; }
.submitwrapper .loading,
.submitwrapper .submit { color:#eee; position:absolute; top:0; left:0; width:100%; height:100%; }
.submitwrapper .loading { background-color:#aaa; z-index:0; display:none; text-align:center; padding:1.4em; font-size:0.6em; }
/*.submitwrapper .submit { padding:0.5em; }*/
.submitwrapper .submit:hover { box-shadow:inset 0 1em 2em 0 rgba(0,255,244,0.3); }
.submitwrapper.waiting .loading { display:block; }
.submitwrapper.waiting .submit { left:100%; }

::-webkit-input-placeholder { color:#ccc; }
     :-ms-input-placeholder { color:#ccc; }
          :-moz-placeholder { color:#ccc; } /* Firefox 18- */
         ::-moz-placeholder { color:#ccc; } /* Firefox 19+ */



/* Specific Forms ------------------------------------------------ */

form#form-contact fieldset { padding:1.5em; }
form#form-contact .submitwrapper { height:3em; }
form#form-contact .submitwrapper .loading { padding:0.8em; font-size:0.8em; }
form#form-contact .form-success { font-size:1.3em; line-height:2em; padding:40% 1em 0 1em; }

form#form-mlist { }
/*form#form-mlist fieldset { overflow:hidden; }*/
form#form-mlist label { margin:0; }
form#form-mlist label span { display:none; }
form#form-mlist label input { width:85%; height:3em; padding:0.2em 0.5em; border-radius:10px 0 0 10px; }
form#form-mlist .submitwrapper,
form#form-mlist .submitwrapper .submit,
form#form-mlist .submitwrapper .loading { border-radius:0 11px 11px 0; }
form#form-mlist .submitwrapper { width:4em; height:3em; position:absolute; top:0; right:0; }
form#form-mlist .submitwrapper .submit { padding:0; }form#form-mlist .form-success { line-height:3em; height:3em; }

/* Social Icons ------------------------------------------------ */

#social .icons a {
	display:block;
	width:30%;
	margin-right:5%;
	float:left;
	text-align:center;
	padding:1.1em 0 0.8em 0;
	background-color:#fff;
	color:#ccc;
}
#social .icons a:last-child { margin-right:0; }
#social .icons a span { display:none; }
#social .icons a.twit:hover { background-color:#00ACAC; }
#social .icons a.inst:hover { background-color:#097D91; }
#social .icons a.face:hover { background-color:#116181; }




#access .cols3 {
	/*width:33.3333%;*/
	display:inline-block;
	margin:0 5% 1em 0;
	/*float:left;*/
}
#access .cols3:last-child { margin-right:0; }
#access table { padding:0; margin:0; }
#access table td { padding-right:0.8em; height:1em; }
#access table td:last-child { padding-right:0; }
/*#access p { line-height:1em; margin:0; }*/






footer {
	height:90%;
	min-height:900px;
	position:relative;
	bottom:0;
	left:0;
	right:0;
	background-color:#105F80;
	overflow:hidden;
}
footer #map {
	width:100%;
	height:100%;
	position:absolute;
	top:-200px;
	color:#333;
}
footer #map .main {
	background:transparent url('../images/map1.png') center top no-repeat;
	width:100%;
	height:1200px;
}

.overlay .address,
.overlay .stn { position:absolute; }
.overlay .address {
	top:720px;
	right:51%;
	background-color:#eee;
	border-radius:10px 0 10px 10px;
	padding:1em 1em 0.8em 1em;
}
.overlay .address p { display:none; }
.overlay .stn { background-color:rgba(0,170,171,0.3); padding:0.5em; color:#eee; }
.overlay .stn h3 { font-weight:100; color:#fff; font-size:1.2em; }
.overlay .stn h3 span { font-size:0.8em; }
.overlay .stn p { font-weight:100; margin-bottom:0; }
.overlay .stn p.line { font-size:0.8em; line-height:1.2em; }
.overlay .stn p.time { }
.overlay a { display:block; font-size:0.8em; line-height:1.8em; }
.overlay .stn.kasumigaseki  { top:260px; left:30%; } /* 霞ケ関 */
.overlay .stn.toranomon     { top:550px; left:25%; } /* 虎ノ門駅 */
.overlay .stn.uchisaiwaicho { top:660px; left:58%; } /* 内幸町駅 */
.overlay .stn.shinbashi     { top:710px; left:80%; } /* 新橋駅 */

footer .base {
	color:#999999;
	background-color:#eee;
	width:100%;
	position:absolute;
	bottom:0;
	padding:1em 1.5em 0 1.5em;
	font-size:0.8em;
}
footer .base p { display:inline; }
footer .base p.credit { float:right; }
footer .base a:hover { color:#097D91; }




.hide { display:none; }

.rounded1 { border-radius:5px !important; }
.rounded2 { border-radius:10px !important; }
.rounded3 { border-radius:0 20px 20px 0 !important; }

.boxshadow1 {
	-webkit-box-shadow:0 0.3em 0.5em 0 rgba(0, 0, 0, 0.1);
	-moz-box-shadow:   0 0.3em 0.5em 0 rgba(0, 0, 0, 0.1);
	box-shadow:        0 0.3em 0.5em 0 rgba(0, 0, 0, 0.1);
}
.txtfx0 { text-shadow:none; }
.txtfx1 { text-shadow:0 2px 0 rgba(255,255,255,1); }
.txtfx2 { text-shadow:0 2px 0 rgba(255,255,255,0.5); }
.txtfx3 { text-shadow:0 3px 0 rgba(0,0,0,0.3); /*0 2px 0 rgba(51,51,51,0.5)*/ }
.txtfx4 { text-shadow:0 3px 2px rgba(0,0,0,0.3); }
.txtfx5 { text-shadow:0 -2px 0 rgba(0,0,0,0.3); }

.hrule { display:block; width:100%; height:4px; border-top:1px solid #c3c3c3; border-bottom:1px solid #efefef; }

.grad1 {
	background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0,#00ACAC), color-stop(1,#184873));
	background-image: -webkit-linear-gradient(right bottom, #00ACAC 0%, #184873 100%);
	background-image:    -moz-linear-gradient(right bottom, #00ACAC 0%, #184873 100%);
	background-image:     -ms-linear-gradient(right bottom, #00ACAC 0%, #184873 100%);
	background-image:      -o-linear-gradient(right bottom, #00ACAC 0%, #184873 100%);
	background-image: linear-gradient(to right bottom, #00ACAC 0%, #184873 100%);
}
.inset1 {
	background:rgba(183, 191, 201, 0.2);
	-webkit-box-shadow:inset 0 0.3em 0.5em 0 rgba(0, 0, 0, 0.1);
	-moz-box-shadow:   inset 0 0.3em 0.5em 0 rgba(0, 0, 0, 0.1);
	box-shadow:        inset 0 0.3em 0.5em 0 rgba(0, 0, 0, 0.1);
	position:relative;
	overflow:hidden;
}
.inset2 {
	background:rgba(183, 191, 201, 0.2);
	-webkit-box-shadow:inset 0 2em 8em 0 rgba(0, 0, 0, 0.1);
	-moz-box-shadow:   inset 0 2em 8em 0 rgba(0, 0, 0, 0.1);
	box-shadow:        inset 0 2em 8em 0 rgba(0, 0, 0, 0.1);
	position:relative;
	overflow:hidden;
}
.inset1:before,
.inset2:before {
	content:"";
	position:absolute;
	top:0; left:0; bottom:0; right:0;
	border-radius:10px;
	-webkit-box-shadow:0 2px 0 0 rgba(255, 255, 255, 0.5);
	-moz-box-shadow:   0 2px 0 0 rgba(255, 255, 255, 0.5);
	box-shadow:        0 2px 0 0 rgba(255, 255, 255, 0.5);
}
.anim1 {
	-webkit-transition:all 500ms;
	   -moz-transition:all 500ms;
		-ms-transition:all 500ms;
		 -o-transition:all 500ms;
			transition:all 500ms;
}
.anim1:hover {
	-webkit-transition:all 100ms;
	   -moz-transition:all 100ms;
		-ms-transition:all 100ms;
		 -o-transition:all 100ms;
			transition:all 100ms;
}
.anim2 {
	-webkit-transition:all 500ms;
	   -moz-transition:all 500ms;
		-ms-transition:all 500ms;
		 -o-transition:all 500ms;
			transition:all 500ms;
}
.anim3 {
	-webkit-transition:all 300ms;
	   -moz-transition:all 300ms;
		-ms-transition:all 300ms;
		 -o-transition:all 300ms;
		    transition:all 300ms;
}
.rotate1 {
	-webkit-transform:rotate(10deg);
	    -ms-transform:rotate(10deg);
	     -o-transform:rotate(10deg);
	        transform:rotate(10deg);
}
#mlistform .button, a, .email a, .mlist .message, .mlist p.errormsg {
	-webkit-transition:all 500ms;
	   -moz-transition:all 500ms;
		-ms-transition:all 500ms;
		 -o-transition:all 500ms;
			transition:all 500ms; 
}
#mlistform .button:hover, a:hover, .email a:hover {
	-webkit-transition:all 200ms;
	   -moz-transition:all 200ms;
		-ms-transition:all 200ms;
		 -o-transition:all 200ms;
			transition:all 200ms; 
}

/* Media Queries ----------------------------------------------------------------------------*/

/* iPhone Retina */
@media screen and (min-width:640px) and (max-width:960px) {

	header h1 { right:28%; bottom:35%; margin-right:0; }
	#opening .desc { font-size:1.2em; }

	section .inner { margin:2em 10% 3em 10%; }

	.arrow.left .tri { left:10%; }
	.arrow.right .tri { right:10%; }
	.arrow.left .bg1 { left:0; width:10%; }
	.arrow.left .bg2 { left:10%;}
	.arrow.right .bg1 { right:10%; }
	.arrow.right .bg2 { right:0; width:10%; }

	.overlay .stn.kasumigaseki  { top:260px; left:12%; }
	.overlay .stn.toranomon     { top:550px; left:5%; }
	.overlay .stn.uchisaiwaicho { top:620px; right:10%; left:auto; }
	.overlay .stn.shinbashi     { top:800px; right:5%; left:auto; }
}

/* iPhone 1 - 3GS */
@media screen and (min-width:320px) and (max-width:480px) {
	body { font-size:16px; }

	#opening .inner { padding:0.7em; margin:2em 1em 1em 1em; }
	#opening .desc { font-size:1em; }
	#opening h2.date { font-size:1.4em !important; }

	/*section .inner { margin:2em 1em; }*/
	section .inner { margin:2em 0.9em 2em 1em; }
	section#mission .inner { margin-top:1em; }

	.iconwrap { display:block; width:100%; text-align:center; margin-bottom:0.5em; }
	.icon i { margin:0 auto;}
	.icon.left p,
	.icon.left i,
	.icon.right p,
	.icon.right i { width:100%; float:none; }

	.arrow { height:3em; }
	.arrow .tri { border-width:3em; }
	.arrow.left .tri,
	.arrow.right .tri,
	.arrow.center .tri { left:50%; margin-left:-3em; }
	.arrow.left .bg1,
	.arrow.right .bg1 { left:0; right:auto; width:50%; margin-left:-3em; }
	.arrow.left .bg2,
	.arrow.right .bg2 { left:50%; right:auto; width:50%; margin-left:3em; }

	#pricing h3 { padding-top:1em; }
	#pricing .plan { padding:0.5em 0.7em !important; width:100% !important; }
	#pricing .plan .bonus { display:none; }
	.rounded3 { border-radius:10px !important; }
	#pricing .callout { width:100%; height:auto; position:relative; top:auto; right:auto; border-radius:0; }
	#pricing .callout p { padding:10%; font-size:1.1em }
	.rotate1 { -webkit-transform:rotate(0deg); -ms-transform:rotate(0deg); -o-transform:rotate(0deg); transform:rotate(0deg); }

	#pricing table { font-size:0.7em; }

	.note { font-size:0.7em; line-height:0.8em; }
	/*#pricing .plan.rounded3 { border-radius:0 !important; }*/

	.inner .halfwidth { float:none; width:100%; }
	.inner p.halfwidth { padding-right:0; }

	#social .icons a { color:#eee; }
	#social .icons a.twit { background-color:#00ACAC; }
	#social .icons a.inst { background-color:#097D91; }
	#social .icons a.face { background-color:#116181; }


	footer { min-height:640px; }
	footer .arrow { display:none; }
	footer #map { top:-70px; }
	footer #map .main { background-size:220%; }

	.overlay .address { top:360px; right:10%; width:80%; border-radius:10px; }
	.overlay .address p { padding:0.5em 0 0 0; }
	.overlay .address .point {
		width:0;
		height:0;
		border:3em solid transparent;
		border-top-width:0;
		border-bottom-color:#eee;
		position:absolute;
		bottom:100%;
		left:50%;
		margin-left:-3em;
	}
	.overlay .stn { padding:0 0.3em; }
	.overlay .stn.kasumigaseki  { top:90px; left:5%; }
	.overlay .stn.toranomon     { top:190px; left:5%; }
	.overlay .stn.uchisaiwaicho { top:210px; right:10%; left:auto; }
	.overlay .stn.shinbashi     { top:300px; right:5%; left:auto; }
	.overlay .stn h3,
	.overlay .stn p { display:inline-block; font-size:0.8em;  }
	.overlay .stn p.line { display:none; }

	footer .base p.credit { float:none; display:block; }

	.txtfx1 { text-shadow:0 1px 0 rgba(255,255,255,1); }
	.txtfx2 { text-shadow:0 1px 0 rgba(255,255,255,0.5); }
	.txtfx5 { text-shadow:0 -1px 0 rgba(0,0,0,0.3); }
}


/* Icon Font ----------------------------------------------------------------------------*/

.icon.em1 { font-size:1em; }
.icon.em2 { font-size:2em; }
.icon.em3 { font-size:3em; }
.icon.em4 { font-size:4em; }
.icon.em5 { font-size:5em; }
.icon.em6 { font-size:6em; }
.icon.em7 { font-size:7em; }
.icon.em8 { font-size:8em; }

.icon-lg { font-size:1.33333em; line-height:0.75em; vertical-align:-15%; }
.icon-2x { font-size:2em; }
.icon-small { font-size:1em; }
.spin {
	display:inline-block;
	-webkit-animation: spin 1.5s infinite linear;
	   -moz-animation: spin 1.5s infinite linear;
	     -o-animation: spin 1.5s infinite linear;
	        animation: spin 1.5s infinite linear;
}
@-webkit-keyframes spin { 0% { -webkit-transform:rotate(0deg); } 100% { -webkit-transform:rotate(359deg); } }
   @-moz-keyframes spin { 0% {    -moz-transform:rotate(0deg); } 100% {    -moz-transform:rotate(359deg); } }
    @-ms-keyframes spin { 0% {     -ms-transform:rotate(0deg); } 100% {     -ms-transform:rotate(359deg); } }
     @-o-keyframes spin { 0% {      -o-transform:rotate(0deg); } 100% {      -o-transform:rotate(359deg); } }
        @keyframes spin { 0% {         transform:rotate(0deg); } 100% {         transform:rotate(359deg); } }