@charset "UTF-8";
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font: inherit; font-size: 100%; vertical-align: baseline; }

html { line-height: 1; }

ol, ul { list-style: none; }

table { border-collapse: collapse; border-spacing: 0; }

caption, th, td { text-align: left; font-weight: normal; vertical-align: middle; }

q, blockquote { quotes: none; }
q:before, q:after, blockquote:before, blockquote:after { content: ""; content: none; }

a img { border: none; }

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }

/** * mixin report($caption-pos:left, $top-pos:0) @param (caption-pos) caption位置 省略可 default値はleft @param (top-pos) captionのtop位置 省略可 default値は0px */
p.notes { font-size: 10px; font-size: 0.625rem; }

#pageTop { position: fixed; width: 140px; height: 30px; border: #ccc 1px solid; background-color: #fff; background-image: url(/mail/newsletter/common/images/btn-top.png); background-repeat: no-repeat; background-position: 0 0; background-size: 140px 30px; z-index: 150; display: none; text-indent: -119988px; overflow: hidden; text-align: left; text-transform: capitalize; right: 1%; bottom: 46px; }

#pageTop a { display: block; width: 140px; height: 30px; }

.hide-text { text-indent: -119988px; overflow: hidden; text-align: left; text-transform: capitalize; }

body { -webkit-text-size-adjust: 100%; color: #000; font-family: Arial, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ Pro W3' , Meiryo, 'メイリオ', 'MS PGothic', sans-serif; background-color: #fff; font-size: 12px; font-size: 0.75rem; line-height: 1.61; letter-spacing: 0.2em; }
@media only screen and (max-width: 480px) { body { letter-spacing: 0.1em; } }

a { text-decoration: underline; color: #000; }
a:active, a:hover { color: #d3d3d3; }

/* layout Style */
header { width: 100%; padding: 0; margin: 0 0 30px; background-color: #161616; overflow: hidden; }
@media only screen and (max-width: 720px) { header { margin: 0; } }
header figure { margin: 0 auto 0; max-width: 720px; }
@media only screen and (max-width: 480px) { header figure img { width: 100%; } }
header h1 { margin: 0 auto 0; max-width: 720px; text-align: center; font-size: 20px; font-size: 1.25rem; color: #fff; padding: 0 0 15px; }
header h1 img { width: 100%; }
header h1 .sub { font-size: 16px; font-size: 1rem; }
@media only screen and (max-width: 720px) { header h1 { font-size: 18px; font-size: 1.125rem; padding: 10px 0 0; } }

.eaGinza { margin: 40px auto 40px; max-width: 720px; padding: 0 10px; }
@media only screen and (max-width: 720px) { .eaGinza { margin-top: 10px; margin-bottom: 10px; max-width: 480px; } }
.eaGinza p { font-size: 12px; font-size: 0.75rem; margin-bottom: 40px; }
@media only screen and (max-width: 720px) { .eaGinza p { margin-bottom: 10px; } }
.eaGinza .floor { overflow: hidden; position: relative; letter-spacing: 0.1em; }
@media only screen and (max-width: 720px) { .eaGinza .floor { margin-bottom: 10px; } }
.eaGinza .floor figcaption { position: relative; margin-top: 30px; float: right; width: 350px; }
.eaGinza .floor figcaption h2 { font-weight: bold; margin: 10px 0; }
.eaGinza .floor figcaption h2.point:before { content: ''; background: url("../images/ico-point.png") 0 0 no-repeat; height: 18px; width: 25px; display: inline-block; position: relative; top: 4px; }
@media only screen and (max-width: 720px) { .eaGinza .floor figcaption h2 { margin: 20px 0 0; } }
.eaGinza .floor figcaption p { margin-bottom: 20px; }
@media only screen and (max-width: 720px) { .eaGinza .floor figcaption { padding: 0 10px; float: none; display: block; top: 0; max-width: 450px; width: auto; min-height: 100px; margin: 10px auto; height: auto; font-size: 12px; font-size: 0.75rem; }
  .eaGinza .floor figcaption p { margin-bottom: 0; } }
.eaGinza .floor figure { float: left; max-width: 300px; }
.eaGinza .floor figure img { max-width: 100%; float: right; }
@media only screen and (max-width: 720px) { .eaGinza .floor figure { float: none; display: block; max-width: 240px; margin: 0 auto; line-height: 0; }
  .eaGinza .floor figure img { float: none; width: 100%; height: auto; } }
@media only screen and (max-width: 720px) { .eaGinza .floor { max-width: 480px; } }
.eaGinza .item { overflow: hidden; position: relative; letter-spacing: 0.1em; }
@media only screen and (max-width: 720px) { .eaGinza .item { margin-bottom: 10px; } }
.eaGinza .item figcaption { position: relative; margin-top: 40px; float: left; width: 350px; }
.eaGinza .item figcaption h2 { font-weight: bold; margin: 10px 0; }
.eaGinza .item figcaption h2.point:before { content: ''; background: url("../images/ico-point.png") 0 0 no-repeat; height: 18px; width: 25px; display: inline-block; position: relative; top: 4px; }
@media only screen and (max-width: 720px) { .eaGinza .item figcaption h2 { margin: 20px 0 0; } }
.eaGinza .item figcaption p { margin-bottom: 20px; }
@media only screen and (max-width: 720px) { .eaGinza .item figcaption { padding: 0 10px; float: none; display: block; top: 0; max-width: 450px; width: auto; min-height: 100px; margin: 10px auto; height: auto; font-size: 12px; font-size: 0.75rem; }
  .eaGinza .item figcaption p { margin-bottom: 0; } }
.eaGinza .item figure { float: right; max-width: 300px; }
.eaGinza .item figure img { max-width: 100%; }
@media only screen and (max-width: 720px) { .eaGinza .item figure { float: none; display: block; max-width: 240px; margin: 0 auto; line-height: 0; }
  .eaGinza .item figure img { float: none; width: 100%; height: auto; } }
@media only screen and (max-width: 720px) { .eaGinza .item { max-width: 480px; } }

.shopInfo { width: 100%; background-color: #efefef; margin: 40px 0; padding: 30px 0; }
@media only screen and (max-width: 480px) { .shopInfo { margin: 20px 0; padding: 15px 0; } }
.shopInfo h1 { text-align: center; font-size: 14px; font-size: 0.875rem; }
.shopInfo .detail { margin: 30px auto 20px; max-width: 720px; padding: 20px; background-color: #fff; overflow: hidden; }
@media only screen and (max-width: 720px) { .shopInfo .detail { max-width: 480px; margin: 15px auto 10px; } }
@media only screen and (max-width: 480px) { .shopInfo .detail { margin: 15px 10px 10px; } }
.shopInfo .detail figure { float: right; max-width: 280px; }
.shopInfo .detail figure img { width: 100%; }
@media only screen and (max-width: 720px) { .shopInfo .detail figure { float: none; margin: 0 auto 0; max-width: 240px; } }
.shopInfo .detail figcaption { margin-top: 25px; max-width: 400px; float: left; }
@media only screen and (max-width: 720px) { .shopInfo .detail figcaption { margin-top: 10px; float: none; margin: 0 auto 0; max-width: 480px; } }
.shopInfo .detail figcaption h2 { text-align: left; font-size: 14px; font-size: 0.875rem; margin-bottom: 20px; }
@media only screen and (max-width: 480px) { .shopInfo .detail figcaption h2 { margin-bottom: 10px; } }
.shopInfo .detail figcaption p { margin-bottom: 10px; }

.tower { margin: 50px auto 50px; max-width: 720px; padding: 0 10px; overflow: hidden; position: relative; letter-spacing: 0.1em; }
@media only screen and (max-width: 720px) { .tower { margin-bottom: 10px; } }
.tower figcaption { position: relative; margin-top: 20px; float: right; width: 350px; }
.tower figcaption h2 { font-weight: bold; margin: 10px 0; }
.tower figcaption h2.point:before { content: ''; background: url("../images/ico-point.png") 0 0 no-repeat; height: 18px; width: 25px; display: inline-block; position: relative; top: 4px; }
@media only screen and (max-width: 720px) { .tower figcaption h2 { margin: 20px 0 0; } }
.tower figcaption p { margin-bottom: 20px; }
@media only screen and (max-width: 720px) { .tower figcaption { padding: 0 10px; float: none; display: block; top: 0; max-width: 450px; width: auto; min-height: 100px; margin: 10px auto; height: auto; font-size: 12px; font-size: 0.75rem; }
  .tower figcaption p { margin-bottom: 0; } }
.tower figure { float: left; max-width: 300px; }
.tower figure img { max-width: 100%; float: right; }
@media only screen and (max-width: 720px) { .tower figure { float: none; display: block; max-width: 240px; margin: 0 auto; line-height: 0; }
  .tower figure img { float: none; width: 100%; height: auto; } }
@media only screen and (max-width: 480px) { .tower { margin-top: 20px; margin-bottom: 20px; } }

.eaShopMap { width: 100%; background-color: #2f2f2f; margin: 40px 0; padding: 30px 0; }
@media only screen and (max-width: 480px) { .eaShopMap { margin: 20px 0; padding: 15px 0; } }
.eaShopMap h1 { text-align: center; font-size: 14px; font-size: 0.875rem; color: #fff; }
.eaShopMap .iframeMap { margin: 30px auto 20px; max-width: 960px; background-color: #2f2f2f; overflow-y: hidden; position: relative; height: 730px; }
@media only screen and (max-width: 960px) { .eaShopMap .iframeMap { padding: 80% 0 0 0; height: auto; } }
@media only screen and (max-width: 480px) { .eaShopMap .iframeMap { margin-top: 15px; margin-bottom: 10px; } }
.eaShopMap .iframeMap iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.ristorante { margin: 50px auto 50px; max-width: 720px; padding: 0 10px; overflow: hidden; position: relative; letter-spacing: 0.1em; }
@media only screen and (max-width: 720px) { .ristorante { margin-bottom: 10px; } }
.ristorante figcaption { position: relative; margin-top: 0; float: left; width: 350px; }
.ristorante figcaption h2 { font-weight: bold; margin: 10px 0; }
.ristorante figcaption h2.point:before { content: ''; background: url("../images/ico-point.png") 0 0 no-repeat; height: 18px; width: 25px; display: inline-block; position: relative; top: 4px; }
@media only screen and (max-width: 720px) { .ristorante figcaption h2 { margin: 20px 0 0; } }
.ristorante figcaption p { margin-bottom: 20px; }
@media only screen and (max-width: 720px) { .ristorante figcaption { padding: 0 10px; float: none; display: block; top: 0; max-width: 450px; width: auto; min-height: 100px; margin: 10px auto; height: auto; font-size: 12px; font-size: 0.75rem; }
  .ristorante figcaption p { margin-bottom: 0; } }
.ristorante figure { float: right; max-width: 300px; }
.ristorante figure img { max-width: 100%; }
@media only screen and (max-width: 720px) { .ristorante figure { float: none; display: block; max-width: 240px; margin: 0 auto; line-height: 0; }
  .ristorante figure img { float: none; width: 100%; height: auto; } }
@media only screen and (max-width: 720px) { .ristorante { margin-top: 20px; margin-bottom: 40px; } }
.ristorante figcaption p { margin-bottom: 0; }
.ristorante a { display: block; margin-bottom: 20px; }
.ristorante a:before { content: ''; background: url("../images/ico-arrow.png") 0 0 no-repeat; height: 9px; width: 9px; display: inline-block; position: relative; top: 0px; }

#info { margin: 0; padding: 60px 0 30px; font-size: 12px; font-size: 0.75rem; line-height: 1.61; letter-spacing: 0.1em; background-color: #eee; text-align: center; color: #000; }
@media only screen and (max-width: 480px) { #info { padding: 30px 10px 40px; letter-spacing: 0em; } }
#info p { margin-bottom: 30px; }
#info p a { color: #000; }
#info p a:active, #info p a:hover { color: #aaa; }
#info p.nextTips { position: relative; width: 400px; height: 40px; margin: 30px auto; background-color: #fff; border: #cdcdcd 1px solid; color: #000; }
#info p.nextTips:hover { background-color: #ddd; }
@media only screen and (max-width: 720px) { #info p.nextTips { height: 60px; } }
@media only screen and (max-width: 480px) { #info p.nextTips { width: 300px; height: 60px; } }
#info p.nextTips a { position: absolute; display: block; width: 400px; height: 20px; padding: 10px 0; }
#info p.nextTips a:active, #info p.nextTips a:hover { color: #000; }
@media only screen and (max-width: 720px) { #info p.nextTips a { height: 60px; } }
@media only screen and (max-width: 480px) { #info p.nextTips a { width: 300px; height: 60px; } }

footer { background-color: #000; text-align: center; letter-spacing: 0; font-size: 12px; font-size: 0.75rem; padding: 7px 0; width: 100%; color: #fff; }

.sp { display: none; }

@media only screen and (max-width: 720px) { .tab { display: none !important; }
  .sp { display: inherit; } }
@media only screen and (max-width: 480px) { .pc { display: none !important; }
  .sp { display: inherit; } }
/* Nav Style */
nav { width: 100%; background-color: #e9e9e9; height: 40px; overflow: hidden; }
nav #navWrapper { max-width: 720px; margin: 0 auto; float: right; }
nav #navWrapper li { float: left; }
nav #navWrapper li.newsletterTop { margin-right: 27px; }

/* responsive */
@media only screen and (max-width: 720px) { nav { height: 30px; }
  nav #navWrapper { float: right; }
  nav #navWrapper li.newsletterTop { margin: 0; }
  nav #navWrapper li.newsletterTop img { width: 155px; height: 30px; }
  nav #navWrapper li.backnumber img { width: 120px; height: 30px; } }
@media only screen and (max-width: 480px) { nav #navWrapper { width: 100%; }
  nav #navWrapper li.newsletterTop { margin: 0; float: left; }
  nav #navWrapper li.backnumber { float: right; } }
/* Add Footer Style */
footer a { color: #fff; text-decoration: underline; }
footer a:active, footer a:hover { color: #818181; }
footer p { line-height: 1.4em; }
footer p.arrow:before { content: url("/mail/newsletter/common/images/arrow.png"); margin-right: 3px; }
