@charset "UTF-8";


@import "util.css";


/* ------------------------------------------------- *
 *        Reset
 * ------------------------------------------------- */
html {}

* { margin: 0px; padding: 0px;}

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {
	margin: 0;
	padding: 0;}

body {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "メイリオ", sans-serif, "Times New Roman", Times;
	color: #333333;
	font-size: 100%;
	line-height: 1.4;
	-webkit-text-size-adjust: 100%; }

h1,h2,h3,h4,h5,h6 { font-weight:normal; font-style:normal; }

h1{
	font-size: 10px;
	line-height: 14px;
	color: #7F7F7F;
	margin: 0;
	padding: 0;
	text-align: right; }

table { margin: 0px; padding: 0px; }

li { list-style-type: none; }

img { border: 0px; margin: 0px; }

hr {
   clear: both;
   border: solid #FFF;
   border-width: 1px 0 0 0;
   height: 1px;/* for IE6 */ }

.clear { clear: both; }

.fixed {
    position: fixed;
    top: 0;
	left: 0;
    width: 100%;
    z-index: 10000; }


/* Clearfix*/
.clearfix:after {
	content: ".";  /* 新しい要素を作る */
	display: block;  /* ブロックレベル要素に */
	clear: both;
	height: 0;
	visibility: hidden; }
.clearfix {
	min-height: 1px;
	zoom: 1; }
* html .clearfix {
	height: 1px;
	/*\*//*/
	height: auto;
	overflow: hidden;
	/**/ }

@media only screen and (max-width:1560px) {
	img {
		max-width: 100%;
		height: auto;
	}
}

	.tb {
		display: none;
	}
	.sp {
		display: none;
	}
@media only screen and (max-width:768px) {
	.tb {
		display: block;
	}
}
@media only screen and (max-width:640px) {
	.sp {
		display: block;
	}
	.pc {
		display: none;
	}
	.tb {
		display: none;
	}
}



/* ------------------------------------------------- *
 *        Link
 * ------------------------------------------------- */
a         { color:#4D4D4D; text-decoration:underline; }
a:link    { color:#4D4D4D; text-decoration:underline; }
a:visited { color:#4D4D4D; text-decoration:underline; }
a:hover   { color:#4D4D4D; text-decoration:none; }
a:active  { color:#4D4D4D; text-decoration:none; }




/* ------------------------------------------------- *
 *        Font Size
 * ------------------------------------------------- */
.f10 { font-size: 10px; line-height: 1.4; }
.f11 { font-size: 11px; line-height: 1.4; }
.f12 { font-size: 12px; line-height: 1.4; }
.f13 { font-size: 13px; line-height: 1.4; }
.f14 { font-size: 14px; line-height: 1.4; }

.f10_g { font-size: 10px; line-height: 1.4; color: #B2B2B2; }
.f10_w { font-size: 10px; line-height: 1.4; color: #FFF; }

.cap { padding: 20px 0 0; }
.cap p {
	font-size: 10px;
	line-height: 1.4;
	text-indent: -1em;
	padding-left: 1em;
	text-align: left;
	max-height: 100%;
	color: #FFF;
}

@media only screen and (max-width:640px) {
	.cap {
		width: 94%;
		padding: 20px 0 0;
		margin: 0 auto;
	}
}



/* ------------------------------------------------- *
 *        Base
 * ------------------------------------------------- */
#container{
	width: 100%;
	text-align: center;
}

#mainContent {
	min-width: 1000px;
	margin-left: auto;
	margin-right: auto;
}

.contents {
	width: 1000px;
	margin-left: auto;
	margin-right: auto;
}

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

	#mainContent {
		min-width: 100%;
		max-width: none;
		margin-left: auto;
		margin-right: auto;
	}
	
	.contents {
		width: 94%;
		margin-left: auto;
		margin-right: auto;
	}

}



/* ------------------------------------------------- *
 *        Header
 * ------------------------------------------------- */
header {
	position: fixed;
	width: 100%;
	margin: 0;
	z-index: 999;
}

header h1 {
	position: absolute;
	width: 254px;
	height: 126px;
	top: 0;
	left: 50%;
	margin-left: -113px;
	z-index: 9999;
}
header h1 .pc { display: block; }
header h1 .sp { display: none; }

#hNav {
	position: relative;
	width: 1000px;
	height: 32px;
	margin: 0 auto 6px;
}

#hNav_l {
	position: absolute;
	top: 0;
	left: 0;
}
#hNav_l li { float: left; margin-right: 5px; }

#hNav_r {
	position: absolute;
	top: 0;
	right: 0;
}
#hNav_r li { float: left; margin-left: 5px; }
#hNav_r .pc { display: block; }
#hNav_r .sp { display: none; }

#panel-btn { display: none; }


.fList li { float: left; }
.fList li img {}

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

	header {
		position: fixed;
		width: 100%;
		height: 50px;
		margin: 0;
		z-index: 999;
		background: #FFF;
	}

	header h1 {
		position: absolute;
		width: 50%;
		height: auto;
		top: 25%;
		left: 2px;
		margin-left: 0;
		z-index: 9999;
	}
	header h1 .pc { display: none; }
	header h1 .sp { display: block; }

	#hNav {
		position: relative;
		width: 100%;
		height: auto;
		margin: 0;
	}

	#hNav_l {
		display: none;
	}

	#hNav_r {
		position: absolute;
		top: 0;
		right: 0;
	}
	#hNav_r li { float: left; margin-left: 0; width: 50px; }
	#hNav_r .pc { display: none; }
	#hNav_r .sp { display: block; }
	
	#panel-btn { display: block; }
	#panel-btn {
		display: block;
		position: relative;
	}
	#panel-btn a{
		position: relative;
		display: block;
		width: 50px;
		height: 50px;
		background: url(../img/sp/icn-menu.png) no-repeat top center;
		background-size: cover;
	}

}



/* ------------------------------------------------- *
 *        gNav
 * ------------------------------------------------- */
#gNav {
	width: 993px;
	margin: 0 auto;
	padding: 7px 0 7px 7px;
	text-align: center;
	background: url(../img/m_bg.png) no-repeat top center;
}

#gNav li {
	float: left;
	display: block;
	position: relative;
}

#gNav li span {
	display: none;
}

#gNav li img {
}

#gNav .sp_menu {
	display: none;
}


/* ------- hover ------- */
#gNav .gNav_01 {
  width: 98px;
	height: 74px;
	overflow: hidden;
}
.index #gNav li.gNav_01 a img, #gNav li.gNav_01 a:hover img {
	margin-top: -74px;
}

#gNav .gNav_02 {
  width: 87px;
	height: 74px;
	overflow: hidden;
}
.concept #gNav li.gNav_02 a img, #gNav li.gNav_02 a:hover img {
	margin-top: -74px;
}

#gNav .gNav_03 {
  width: 93px;
	height: 74px;
	overflow: hidden;
}
.guidance #gNav li.gNav_03 a img, #gNav li.gNav_03 a:hover img {
	margin-top: -74px;
}

#gNav .gNav_04 {
  width: 90px;
	height: 74px;
	overflow: hidden;
	margin-right: 238px;
}
.floor #gNav li.gNav_04 a img, #gNav li.gNav_04 a:hover img {
	margin-top: -74px;
}

#gNav .gNav_05 {
  width: 107px;
	height: 74px;
	overflow: hidden;
}
.cafe #gNav li.gNav_05 a img, #gNav li.gNav_05 a:hover img {
	margin-top: -74px;
}

#gNav .gNav_06 {
  width: 82px;
	height: 74px;
	overflow: hidden;
}
.gallery #gNav li.gNav_06 a img, #gNav li.gNav_06 a:hover img {
	margin-top: -74px;
}

#gNav .gNav_07 {
  width: 92px;
	height: 74px;
	overflow: hidden;
}
.uservoice #gNav li.gNav_07 a img, #gNav li.gNav_07 a:hover img {
	margin-top: -74px;
}

#gNav .gNav_08 {
  width: 105px;
	height: 74px;
	overflow: hidden;
}
.accessmap #gNav li.gNav_08 a img, #gNav li.gNav_08 a:hover img {
	margin-top: -74px;
}


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

	#gNav {
		display: none;
		position: absolute;
		width: 100%;
		height:385%;
		top: 50px;
		left: 0;
		margin: 0;
		padding: 0 ;
		text-align: center;
		background: #005BA5;
		z-index: 998;
		border-right: solid 1px #FFF;
		-webkit-box-sizing: border-box;
			-moz-box-sizing: border-box;
				box-sizing: border-box;
	}
	#gNav li {
		float: left;
		display: block;
		width: 50%;
		font-size: 14px;
		border-left: solid 1px #FFF;
		border-bottom: solid 1px #FFF;
		-webkit-box-sizing: border-box;
			-moz-box-sizing: border-box;
				box-sizing: border-box;
	}
	#gNav li.nolink {
		color: #4D8DC0;
		padding: 10px 0;
		border-left: solid 1px #FFF;
		border-bottom: solid 1px #FFF;
		-webkit-box-sizing: border-box;
			-moz-box-sizing: border-box;
				box-sizing: border-box;
	}

	#gNav li a {
		width: 100%;
		color: #FFF;
		display: block;
		padding: 10px 0;
		text-decoration: none;
	}
	#gNav li a:hover {
		background: #0083CD;
	}

	#gNav li span {
		display: block;
	}

	#gNav li img {
		display: none;
	}

	#gNav .sp_menu {
		display: inline-block;
		width:100%;
		margin: 0 auto;
			border-right: solid 1px #FFF;
	}
	#gNav .sp_menu li {
		width:33%;
	}
	#gNav .sp_menu li.gNav_facebook {
		width:34%;
	}
	#gNav .sp_menu li img {
		display: inline-block;
		margin: 0 auto;
	}

	#gNav .sp_menu .gNav_facebook {
		background: #EDEFF7;
		text-align: center;
	}
	#gNav .sp_menu .gNav_instagram {
		background: #F7E6F1;
		text-align: center;
	}
	#gNav .sp_menu .gNav_twitter {
		background: #EAF6FD;
		text-align: center;
	}
	#gNav .sp_menu .gNav_facebook img, #gNav .sp_menu .gNav_instagram img, #gNav .sp_menu .gNav_twitter img {
		width: 70%;
	}
	#gNav .sp_menu .gNav_facebook a {
		padding: 7px 0 4px;
	}
	#gNav .sp_menu .gNav_instagram a {
		padding: 8px 0 5px; 
	}
	#gNav .sp_menu .gNav_twitter a {
		padding: 6px 0 5px;
	}
	#gNav .sp_menu .gNav_facebook a:hover {
		background: #C7CDE7;
	}
	#gNav .sp_menu .gNav_instagram a:hover {
		background: #E6B2D3;
	}
	#gNav .sp_menu .gNav_twitter a:hover {
		background: #CAE8F3;
	}


	/* ------- hover ------- */
	#gNav .gNav_01,
	#gNav .gNav_02,
	#gNav .gNav_03,
	#gNav .gNav_04,
	#gNav .gNav_05,
	#gNav .gNav_06,
	#gNav .gNav_07,
	#gNav .gNav_08 {
	  width: 50%;
		height: auto;
		overflow: auto;
	}
	#gNav .gNav_04 {
		margin-right: 0;
	}
	#gNav .sp_menu .gNav_beginner {
	  width: 100%;
		height: auto;
		overflow: auto;
	}

	.index #gNav li.gNav_01 a,
	.concept #gNav li.gNav_02 a,
	.guidance #gNav li.gNav_03 a,
	.floor #gNav li.gNav_04 a,
	.cafe #gNav li.gNav_05 a,
	.gallery #gNav li.gNav_06 a,
	.uservoice #gNav li.gNav_07 a,
	.accessmap #gNav li.gNav_08 a,
	.beginner #gNav_beginner a {
		margin-top: 0;
		background: #0083CD;
	}

}



/* ------------------------------------------------- *
 *        Title
 * ------------------------------------------------- */
#pankuzuArea {
	width: 1000px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 140px;
	margin-bottom: 15px;
}
.pankuzu{
	text-align: left;
	padding: 0;
	font-size: 10px;
	color: #000; }
.pankuzu a{
	color: #000;
	text-decoration: underline;
}
.pankuzu a:hover {
	text-decoration: none;
}

h2.pTitle {
	width: 100%;
	text-align: center;
	margin-bottom: 20px;
}
h2.pTitle2 {
	width: 100%;
	text-align: center;
	margin-top: -3px;}

.ttlarea {
	width: 100%;
	height: 57px;
	background: #E9EDF3;
	padding-top: 25px;}

h3.subttl {
	width: 100%;
	text-align: center;
}

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

	#pankuzuArea {
		display: none;
	}

	h2.pTitle {
		width: 100%;
		text-align: center;
		margin-bottom: 20px;
		padding-top: 100px;
	}
	h2.pTitle2 {
		width: 100%;
		text-align: center;
		padding-top: 70px;
		}
	
	.ttlarea {
		width: 90%;
		height: 57px;
		background: #E9EDF3;
		padding: 27px 5% 0;}
	h3.subttl  {
		width: 100%;
		text-align: center;
	}

}



/* ------------------------------------------------- *
 *        Footer
 * ------------------------------------------------- */
footer {
	width: 100%;
	margin: 0;
	padding: 0;
}

#ftr_bnrArea {
	width: 100%;
	margin: 0;
	padding: 60px 0 20px;
	background: url(../img/bg_footer.jpg) top center no-repeat;
	background-size: cover;
}

#ftr_bnrArea .text {
	text-align: center;
	margin-bottom: 20px;
}

#ftr_bnrArea .linkBnr {
	width: 100%;
	margin-bottom: 40px;
}

#ftr_bnrArea .linkBnr li {
	float: left;
}

#ftr_bnrArea .linkBnr li a:hover img {
	filter: alpha(opacity=60);
	-moz-opacity: 0.6;
	opacity: 0.6;
}

#fNav {
	width: 100%;
	font-size: 12px;
	line-height: 1.6;
	padding: 0;
}

#fNav li {
	display: inline-block;
	color: #FFF;
	padding: 0 10px;
	border-right: solid 1px #FFF;
}
#fNav li.last {
	border-right: none;
}
#fNav li a       { color: #FFF; text-decoration: underline; }
#fNav li a:hover { color: #FFF; text-decoration: none; }
#fNav li span    { color: #FFF; }
#fNav li strong  { color: #FFF; font-weight: bold; }



#ftr_linkArea {
	width: 100%;
	background: #EDF6F7;
	padding: 25px 0;
}


#ftr_linkArea .textLink {
	float: right;
	width: 580px;
	padding-top: 45px;
}

#ftr_linkArea .ftrNav_col1 {
	float: left;
	width: 120px;
	margin-right: 5px;
}

#ftr_linkArea .ftrNav_col2 {
	float: left;
	width: 120px;
	margin-right: 5px;
}

#ftr_linkArea .ftrNav_col3 {
	float: left;
	width: 125px;
}

#ftr_linkArea .textLink li {
	font-size: 12px;
	line-height: 1.8;
	text-align: left;
}
#ftr_linkArea .textLink a {
	color: #4D4D4D;
	text-decoration: underline;
}
#ftr_linkArea .textLink a:hover {
	text-decoration: none;
}

#ftr_linkArea .conAbout {
	float: left;
	width: 330px;
}

#ftr_linkArea .conAbout .logo {
	text-align: left;
	margin-bottom: 10px;
}

#ftr_linkArea .conAbout .address {
	text-align: left;
	font-size: 12px;
	line-height: 1.6;
	color: #4D4D4D;
	margin-bottom: 10px;
}

#ftr_linkArea .conAbout .notes {
	text-align: left;
	font-size: 10px;
	line-height: 1.6;
	color: #4D4D4D;
}
	#ftr_linkArea .conAbout .notes dl:before,
	#ftr_linkArea .conAbout .notes dl:after {
    content: " ";
    display: table;
	}
	#ftr_linkArea .conAbout .notes dl:after {
		clear: both;
	}
	#ftr_linkArea .conAbout .notes dl {
		width: 100%;
    *zoom: 1;
		text-align: left;
		margin-bottom: 5px;
	}
	#ftr_linkArea .conAbout .notes dt {
		float: left;
		width: 55px;
	}
	#ftr_linkArea .conAbout .notes dt.spa {
		letter-spacing: 3px;
	}
	#ftr_linkArea .conAbout .notes dd {
		float: left;
		width: 274px;
		margin: 0;
	}


#copyright {
	width: 100%;
	background: #FFF;
	padding: 5px 0;
	font-size: 10px;
	line-height: 1.6;
	text-align: center;
}


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

	#ftr_bnrArea {
		width: 100%;
		margin: 0;
		padding: 5% 0;
		background: url(../img/bg_footer.jpg) top center no-repeat;
		background-size: cover;
	}

	#ftr_bnrArea .text {
		text-align: center;
		margin-bottom: 10px;
	}

	#ftr_bnrArea .linkBnr {
		width: 100%;
		margin-bottom: 0;
	}

	#ftr_bnrArea .linkBnr li {
		float: none;
		text-align: center;
	}

	#fNav {
		display: none;
	}



	#ftr_linkArea {
		width: 100%;
		background: #EDF6F7;
		padding: 3% 0;
	}

	#ftr_linkArea .conAbout {
		float: none;
		width: 100%;
	}


	#ftr_linkArea .textLink {
		float: none;
		width: 100%;
		padding-top: 0;
		margin-bottom: 4%;
	}

	#ftr_linkArea .ftrNav_col1 {
		float: none;
		width: 100%;
		margin-right: 0;
		margin-bottom: 10px;
		padding-bottom: 10px;
		border-bottom: solid 1px #FFF;
	}

	#ftr_linkArea .ftrNav_col2 {
		float: none;
		width: 100%;
		margin-right: 0;
		margin-bottom: 10px;
		padding-bottom: 10px;
		border-bottom: solid 1px #FFF;
	}

	#ftr_linkArea .ftrNav_col3 {
		float: none;
		width: 100%;
		margin-bottom: 10px;
		padding-bottom: 10px;
		border-bottom: solid 1px #FFF;
	}

	#ftr_linkArea .textLink li {
		float: left;
		width: 32%;
		font-size: 12px;
		line-height: 1.8;
		text-align: left;
		padding: 4px 0;
		border: none;
		-webkit-box-sizing: border-box;
			-moz-box-sizing: border-box;
				box-sizing: border-box;
	}
	#ftr_linkArea .textLink li.w100 {
		width: 100%;
	}
	#ftr_linkArea .textLink a {
		color: #4D4D4D;
		text-decoration: none;
	}
	#ftr_linkArea .textLink a:hover {
		text-decoration: underline;
	}
	#ftr_linkArea .textLink li.last {
		width: 35%;
	}

	#ftr_linkArea .conAbout .logo {
		text-align: center;
		margin-bottom: 10px;
	}

	#ftr_linkArea .conAbout .address {
		text-align: center;
		font-size: 12px;
		line-height: 1.6;
		color: #4D4D4D;
		margin-bottom: 10px;
	}

	#ftr_linkArea .conAbout .notes {
		text-align: center;
		font-size: 10px;
		line-height: 1.6;
		color: #4D4D4D;
	}
		#ftr_linkArea .conAbout .notes dl:before,
		#ftr_linkArea .conAbout .notes dl:after {
			content: " ";
			display: table;
		}
		#ftr_linkArea .conAbout .notes dl:after {
			clear: both;
		}
	#ftr_linkArea .conAbout .notes dl {
			width: 100%;
 	 	  *zoom: 1;
			text-align: center;
			margin-bottom: 10px;
		}
		#ftr_linkArea .conAbout .notes dt {
			float: none;
			width: 100%;
		}
		#ftr_linkArea .conAbout .notes dt.spa {
			letter-spacing: 0;
		}
		#ftr_linkArea .conAbout .notes dd {
			float: none;
			width: 100%;
			margin: 0;
		}

}



/* ------------------------------------------------- *
 *        Page Top
 * ------------------------------------------------- */

#pagetop {
	position: fixed;
	bottom: 0;
	right: 0;
}
#pagetop a {
	display: block;
}
#pagetop a:hover img {
	filter: alpha(opacity=60);
	-moz-opacity: 0.6;
	opacity: 0.6;
}

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

	#pagetop {
		position: fixed;
		width: 80px;
		bottom: 0;
		right: 0;
	}
	#pagetop img {
		width: 100%;
	}

}