@charset "UTF-8";


/* ================================================
　共通スタイル
================================================ */


/* typekitの動作改善（フォント適用まで画面を表示しない設定）
--------------------------------------------------------- */
html {
  visibility: hidden;
}
html.wf-active {
  visibility: visible;
}


* {
	box-sizing: border-box;
}
html {
	color: #333;
	font-size: 15px;
	line-height: 1.5;
	font-family: "a-otf-ud-shin-go-pr6n", Avenir, "Helvetica Neue", Helvetica, Arial, Verdana, Roboto, "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-feature-settings : "palt" 1;
}
/*ChromeとOperaとsafariに設定されるCSSハック*/
@media screen and (-webkit-min-device-pixel-ratio:0){
html {
	font-feature-settings : "pkna";
}
}
/*ChromeとOperaのみだけに適用されるCSSハック*/
_::content, _:future, html:not(*:root) { 
	font-feature-settings : "palt" 1;
}
html {
	letter-spacing: 0.05em;
}
h1 , h2 , h3 , h4 , h5 , h6 {
	margin: 0;
	padding: 0;
	font-size: 100%;
	font-weight: normal;
}
p {
	margin: 0;
	padding: 0 0 .5em;
	background-color: none;/* android対策 */
}
iframe {
	margin: 0;
	padding: 0;
	border: none;
}
ul , dl {
	margin: 0;
	padding: 0;
}
li {
	list-style: none;
}
dl {
	margin: 0 0 1em;
	padding: 0;
	background-color: none;/* android対策 */
}
dd {
	margin: 0;
}
a {/* 未訪問のリンク */
	color: #117;
	text-decoration: none;
}
a:visited {/* 訪問済みのリンク */
	color: #52b;
	text-decoration: none;
}
a:hover ,/* マウスポインタを合わせた状態 */
a:focus {/* フォーカスしている場合に適用 */
	color: #00F;
	text-decoration: none;
}
a:active {/* マウスのボタンを押された状態 */
	color: #52b;
	text-decoration: none;
}


/* ================================================
　header 
================================================ */


/* SP版 */
@media screen and (max-width:767px) {
.header {
	border-top: 3px solid #f29700;
	position: relative;
	color: #fff;
	height: 103px;
	width: 100%;
	background: url(../img/h_bg_1.png) no-repeat center top;
	background-size: 100% 100px;
	z-index: 110;
	position: relative;
}

.h_logo {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	margin: 0 auto;
	width: 170px;
	height: auto;
	z-index: 100;
	position: relative;
}
.h_logo a {
}
.h_logo img {
	width: 170px;
	height: auto;
}

.h_menu {
	position: absolute;
	right: 20px;
	top: 20px;
	width: 30px;
	height: 35px;
	margin: 0;
}
.h_menu img {
	width: 30px;
	height: 35px;
}

.nav {
	display: none;
	background: hsla(0,0%,0%,0.80);
	margin-top: -4px;
}
.g_nav {
}
.g_nav li {
}
.g_nav a {
	display: block;
	padding: 1em 20px;
	border-bottom: 1px solid #999;
	color: #fff;
}
.g_nav a:before {
	margin-bottom: -1px;
	content: "";
	display: inline-block;
	width: 8px;
	height: 10px;
	background: url(../img/arrow_w.png) no-repeat left top;
	background-size: 5px 8px;
}
.u_nav {
	background: hsla(0,0%,100%,0.20);
}
.u_nav li {
	width: 50%;
	float: left;
}
.u_nav li:nth-child(2n+1) {
	border-right: 1px solid #999;
}
.u_nav a {
	display: block;
	padding: 1em 20px;
	border-bottom: 1px solid #999;
	color: #fff;
	font-size: 10px;
}
.u_nav a:before {
	margin-bottom: -1px;
	content: "";
	display: inline-block;
	width: 8px;
	height: 10px;
	background: url(../img/arrow_w.png) no-repeat left top;
	background-size: 5px 8px;
}

.h_line {
	display: none;
	background: #fff;
	padding: 1em 20px;
}

.language {
	font-size: 10px;
	border-bottom: 1px solid #999;
	padding-bottom: .5em;
	margin-bottom: .5em;
}
.language li {
	float: left;
	margin-bottom: .5em;
}
.language a {
	padding-left: 24px;
	margin-right: 2em;
}
.jp a {
	background: url(../img/language_jp.png) no-repeat left center;
	background-size: 22px 14px;
}
.en a {
	background: url(../img/language_en.png) no-repeat left center;
	background-size: 22px 14px;
}
.zh a {
	background: url(../img/language_zh.png) no-repeat left center;
	background-size: 22px 14px;
}
.ko a {
	background: url(../img/language_ko.png) no-repeat left center;
	background-size: 22px 14px;
}
.fr a {
	background: url(../img/language_fr.png) no-repeat left center;
	background-size: 22px 14px;
}
.th a {
	background: url(../img/language_th.png) no-repeat left center;
	background-size: 22px 14px;
}
.ru a {
	background: url(../img/language_ru.png) no-repeat left center;
	background-size: 22px 14px;
}

.h_search {
	clear: both;
}
.wifi {
	display: none;
}
.taxfree {
	display: none;
}
}


/* TB以上 */
@media screen and (min-width:768px) {
.header {
	position: relative;
	height: 192px;
	min-width: 1020px;
	background: url(../img/h_bg_1.png) no-repeat center 32px;
	background-size: 100% 160px;
	z-index: 110;
	position: relative;
}

.h_logo {
	position: absolute;
	left: 0;
	right: 0;
	top: 32px;
	margin: 0 auto;
	width: 270px;
	height: 153px;
	z-index: 100;
	position: relative;
}
.h_logo a {
}
.h_logo img {
	width: 270px;
	height: 153px;
}

.h_menu {
	display: none;
}

.h_line {
	position: absolute;
	left: 0;
	top: 0;
	background: #ccc;
	width: 100%;
	height: 32px;
	border-bottom: 2px solid #f29700;
}
.h_search {
	position: absolute;
	right: 30px;
	top: 3px;
	width: 300px;
	height: 24px;
	overflow: hidden;
}
.wifi {
	position: absolute;
	right: 470px;
	top: 2px;
	width: 41px;
	height: 24px;
	overflow: hidden;
}
.wifi img {
	width: 100%;
}
.taxfree {
	position: absolute;
	right: 335px;
	top: 2px;
	width: 130px;
	height: 24px;
	overflow: hidden;
}
.taxfree img {
	width: 100%;
}
.language {
	font-size: 10px;
	margin-top: 7px;
	margin-left: 30px;
}
.language li {
	float: left;
}
.language a {
	padding-left: 24px;
	margin-right: 1em;
}
.jp a {
	background: url(../img/language_jp.png) no-repeat left center;
	background-size: 22px 14px;
}
.en a {
	background: url(../img/language_en.png) no-repeat left center;
	background-size: 22px 14px;
}
.zh a {
	background: url(../img/language_zh.png) no-repeat left center;
	background-size: 22px 14px;
}
.ko a {
	background: url(../img/language_ko.png) no-repeat left center;
	background-size: 22px 14px;
}
.fr a {
	background: url(../img/language_fr.png) no-repeat left center;
	background-size: 22px 14px;
}
.th a {
	background: url(../img/language_th.png) no-repeat left center;
	background-size: 22px 14px;
}
.ru a {
	background: url(../img/language_ru.png) no-repeat left center;
	background-size: 22px 14px;
}

.nav {
	position: absolute;
	left: 0;
	right: 0;
	top: 50px;
	margin: 0 auto;
	width: 960px;
	height: 100px;
}
.nav a {
	color: #fff;
	padding-bottom: .2em;
}
.nav a:hover {
	color: #fe0;
}

.g_nav {
	position: absolute;
	left: 0;
	top: 50px;
	font-size: 20px;
	font-weight: bold;
}
.g_nav li {
	float: left;
}
.g_nav_about {
	width: 175px;
	margin-right: 20px;
}
.g_nav_event {
	width: 125px;
	margin-right: 320px;
}
.g_nav_product {
	width: 110px;
	margin-right: 15px;
}
.g_nav_recommend {
	width: 195px;
}
.g_nav a {
	display: block;
	text-align: center;
}

.u_nav {
	position: absolute;
	left: 0;
	top: 0;
	font-size: 12px;
	font-weight: bold;
}
.u_nav li {
	float: left;
}
.u_nav_home {
	width: 70px;
}
.u_nav_sitemap {
	width: 100px;
}
.u_nav_link {
	width: 70px;
}
.u_nav_contact {
	width: 80px;
	margin-right: 320px;
	text-align: right;
}
.u_nav_eatin {
	width: 140px;
}
.u_nav_exhibitor {
	width: 180px;
	text-align: right;
}
.u_nav a:before {
	margin-bottom: -1px;
	content: "";
	display: inline-block;
	width: 8px;
	height: 10px;
	background: url(../img/arrow_w.png) no-repeat left top;
	background-size: 5px 8px;
}
.u_nav a:hover:before {
	background: url(../img/arrow_y.png) no-repeat left top;
	background-size: 5px 8px;
}
}


/* ================================================
　main 
================================================ */

/* パンクズリスト
--------------------------------------------------------- */
.breadcrumb {
	text-align: center;
	font-size: 12px;
	margin: 0 auto 2em;
}
.breadcrumb a {
	font-weight: bold;
}
.breadcrumb a:first-child {
	background: url(../img/breadcrumb.png) no-repeat left center;
	background-size: 12px 10px;
	padding-left: 14px;
}

/* SP以下*/
@media screen and (max-width:767px) {
.breadcrumb {
	padding: 0 20px;
}
}

/* TB以上 */
@media screen and (min-width:768px) {
.breadcrumb {
	padding: 0 30px;
	width: 1020px;
}
}


/* 各セクションの枠
--------------------------------------------------------- */
.box {
	text-align: center;
	width: 100%;
	padding: 20px 0 40px;
}
.box_bg {
	background: #fcf6f0;
}
.box_bg2 {
	background: #f0f6fc;
}

/* SP版 */
@media screen and (max-width:767px) {
.box_box {
	padding: 0 20px;
}
}

/* TB以上 */
@media screen and (min-width:768px) {
.box {
	min-width: 960px;
}
.box_box {
	width: 1020px;
	padding-left: 30px;
	padding-right: 30px;
	margin-left: auto;
	margin-right: auto;
}
}

/* 見出しスタイル
--------------------------------------------------------- */
.title {
	background: url(../img/title_bg_center.png) no-repeat center top,
				url(../img/title_bg_right.png) no-repeat right 45px,
				url(../img/title_bg_left.png) no-repeat left 45px;
	background-size: 120px 40px,
				60px 50px,
				60px 50px;
	text-align: center;
	font-size: 200%;
	font-weight: bold;
	font-weight: 600;
	display: inline-block;
	padding: 1.5em 60px 20px;
	margin-left: auto;
	margin-right: auto;
	font-family: "ryo-gothic-plusn",sans-serif;
	font-style: normal;
	font-weight: 900;
	color: #961;
	line-height: 1.1;
}
.title span {
	font-family: "a-otf-ud-shin-go-pr6n", Avenir, "Helvetica Neue", Helvetica, Arial, Verdana, Roboto, "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	display: block;
	font-size: 12px;
}
/* SP版 */
@media screen and (max-width:767px) {
.title {
	background: url(../img/title_bg_center.png) no-repeat center top,
				url(../img/title_bg_right.png) no-repeat right 40px,
				url(../img/title_bg_left.png) no-repeat left 40px;
	background-size: 100px auto,
				40px auto,
				40px auto;
	font-size: 20px;
	padding: 2em 40px 20px;
}
.title span {
	padding-top: .4em;
}
}


.title_m {
	font-size: 18px;
	font-weight: bold;
}
.title_m span {
	background: #fff;
	padding: 0 1em;
}
.title_m:after {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: #ccc;
	margin-top: -15px;
	margin-bottom: 30px;
}

/* コーナーコピー
--------------------------------------------------------- */
/* SP版 */
@media screen and (max-width:767px) {
.copy {
	text-align: left;
	text-align: justify;
	line-height: 1.8;
	margin-bottom: 1em;
	padding-left: 20px;
	padding-right: 20px;
}
.copy br {
	display: none;
}
}
/* TB以上 */
@media screen and (min-width:768px) {
.copy {
	text-align: center;
	line-height: 1.8;
	margin-bottom: 1em;
}
}


/* ボタンスタイル
--------------------------------------------------------- */
a.btn_obi {
	background: #117;
	color: #fff;
	padding: 1em;
	margin: 1em auto 2em;
	display: block;
	width: 100%;
}
a.btn_obi:before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 15px;
	background: url(../img/arrow_w.png) no-repeat left bottom;
	background-size: 6px 10px;
}
a.btn_sen {
	border: 1px solid #117;
	padding: .6em;
	margin: 1em auto 2em;
	display: block;
	width: 100%;
}
a.btn_sen:before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 15px;
	background: url(../img/arrow_b.png) no-repeat left bottom;
	background-size: 6px 10px;
}
/* TB以上 */
@media screen and (min-width:768px) {
a.btn_obi {
	width: 50%;
}
a.btn_sen {
	width: 50%;
}
}


/* 表スタイル
--------------------------------------------------------- */
.table {
	border: 9px solid #eee;
	background: #ccc;
	border-collapse: separate;
	border-spacing: 1px;
	width: 100%;
	font-size: 12px;
	font-weight: bold;
}
.table th {
	padding: .5em 1em;
	background: #117;
	color: #fff;
}
.table td {
	padding: .5em 1em;
	background: #fff;
}


/* ================================================
　フッター
================================================ */
.footer {
	position: relative;
}
p.f_pagetop {
	padding-bottom: 0;
}
.f_pagetop a {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: -50px auto 0;
	padding-top: 40px;
	width: 100px;
	height: 100px;
	border-radius: 100px;
	color: #fff;
	text-align: center;
	background: #117 url(../img/arrow_w_up.png) no-repeat center 25px;
	background-size: 20px 12px;
}
/* SP版 */
@media screen and (max-width:767px) {
.f_pagetop a {
	margin: -40px auto 0;
	padding-top: 30px;
	width: 80px;
	height: 80px;
	border-radius: 80px;
	font-size: 12px;
	background: #117 url(../img/arrow_w_up.png) no-repeat center 15px;
	background-size: 20px 12px;
}
}
.f_box {
	background: #f6f6f6;
}
.f_address {
	padding-left: 20px;
	padding-right: 20px;
	color: #117;
	font-style: normal;
}
.f_address_box {
	padding: 60px 0 20px;
}
.f_address h2 {
	font-family: "ryo-gothic-plusn",sans-serif;
	font-style: normal;
	font-weight: 900;
	line-height: 1.2;
}
.f_address h2 span {
	font-weight: bold;
	display: block;
	font-size: 40px;
}
/* SP版 */
@media screen and (max-width:767px) {
.f_address h2 span {
	font-size: 30px;
}
}
.f_address dl {
	font-size: 12px;
	margin-bottom: 2.5em;
}
.f_address dt {
	background: #117;
	width: 6em;
	color: #fff;
	text-align: center;
	padding: .2em .5em;
}
.f_address dd {
	padding-left: 7em;
	margin: -1.5em 0 .5em;
}

.f_address h3 {
	margin-bottom: .4em;
	font-size: 120%;
	line-height: 1.2;
	font-weight: bold;
}
.f_address h3:before {
	content: "";
	display: block;
	height: 1px;
	margin: 0 0 -.6em;
	padding: 0;
	background: #ccc;
}
.f_address h3 span {
	padding: 0 .8em 0 0;
	display: inline-block;
	background: #f6f6f6;
}
.f_map {
	width: 100%;
	height: 340px;
	pointer-events: none;
}
.copyright {
	background: #117;
	color: #fff;
	display: block;
	text-align: center;
	padding: 2em;
	font-size: 10px;
}

/* TB以上 */
@media screen and (min-width:768px) {
.footer {
	min-width: 1020px;
}
.f_address {
	float: left;
	position: relative;
	width: 50%;
}
.f_address_box {
	padding-top: 40px;
	position: absolute;
	right: 0;
	top: 0;
	width: 480px;
}
.f_map {
	float: right;
	width: 50%;
}
}










