@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 sports-layout($text-pos:left, $top-pos:0, $fig-mgt:0) @param (text-pos) 文章のsection位置 省略可 default値はleft @param (top-pos) sectionのtop位置 省略可 default値は0px @param (fig-mgt) figureのtop位置 省略可 default値は0px */
/** * mixin recommend-glasses($pos:left) @param (pos) 要素の左右位置 省略可 default値はleft */
body { -webkit-text-size-adjust: 100%; color: #fff; font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", 'MS PGothic', sans-serif; background-color: #000; font-size: 14px; font-size: 0.875rem; line-height: 1.61; letter-spacing: 0.1em; }
@media only screen and (max-width: 480px) { body { letter-spacing: 0em; } }

a { text-decoration: underline; color: #000; }
a:active, a:hover { color: #d3d3d3; }

#pageTop { position: fixed; width: 140px; height: 30px; border: #111 1px solid; background-color: #000; background-image: url(/mail/newsletter/common/images/btn-top-black.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; }

footer { background-color: #000; text-align: center; letter-spacing: 0; font-size: 12px; font-size: 0.75rem; padding: 7px 0; width: 100%; color: #fff; }

span.check { background: -moz-linear-gradient(transparent 0%, #fbb9cf 0%); /* Firefox用 */ background: -webkit-linear-gradient(transparent 0%, #fbb9cf 0%); /* Safari用 */ background: -ms-linear-gradient(transparent 0%, #fbb9cf 0%); /* IE用 */ background: -o-linear-gradient(transparent 0%, #fbb9cf 0%); /* Opera用 */ background: linear-gradient(rgba(0, 0, 0, 0) 0%, #fbb9cf 0%); /* Default */ }

.point:before { content: ''; background: url("../images/ico-point.png") 0 0 no-repeat; height: 18px; width: 25px; display: inline-block; position: relative; top: 4px; }

.sp { display: none; }

@media only screen and (max-width: 900px) { .tab { display: none !important; }
  .sp { display: inherit; } }
@media only screen and (max-width: 480px) { .pc { display: none !important; }
  .sp { display: inherit; } }
/* layout Style */
header { background-color: #000; width: 100%; padding: 0; margin: 0; }
@media only screen and (max-width: 480px) { header { margin: 0; } }
header figure { margin: 0 auto 0; max-width: 900px; }
header figure img { width: 100%; }
header h1 { margin: 0 auto 0; max-width: 900px; text-align: center; font-size: 20px; font-size: 1.25rem; color: #fff; padding: 20px 0 25px; }
header h1 .sub { font-size: 16px; font-size: 1rem; }
@media only screen and (max-width: 480px) { header h1 { font-size: 18px; font-size: 1.125rem; padding: 10px 0; } }

.mainVisual { z-index: 0; width: 100%; padding: 0; position: relative; background-color: #000; }
.mainVisual h1 { position: static; z-index: 50; margin: 0 auto; padding: 60px 0 10px; width: 375px; }
.mainVisual h1 img { width: 100%; }
@media only screen and (max-width: 480px) { .mainVisual h1 { padding-top: 20px; width: 260px; } }
.mainVisual figure { margin: 0 auto; max-width: 731px; }
.mainVisual figure img { width: 100%; }
@media only screen and (max-width: 480px) { .mainVisual figure { width: 100%; } }
.mainVisual .first { position: static; color: #fff; padding: 30px 0 60px; text-align: center; margin: 0 auto 0; max-width: 900px; }
@media only screen and (max-width: 900px) { .mainVisual .first { text-align: left; } }
@media only screen and (max-width: 480px) { .mainVisual .first { margin: 0 auto; padding: 0px 0 30px; } }
.mainVisual .first p { padding: 0 10px 20px; }
.mainVisual .first p:last-child { padding-bottom: 0; }
.mainVisual hr { border-top: 1px solid #fff; width: 120px; }
.mainVisual .release { margin: 60px auto 80px; max-width: 315px; overflow: hidden; }
.mainVisual .release dt { width: 70px; float: left; }
.mainVisual .release dd:before { content: "|"; margin-right: 10px; }
@media only screen and (max-width: 480px) { .mainVisual .release { margin: 0 auto; padding: 20px 0 40px; } }

.lineup { background: #000 url("../images/bg_lineup.jpg") 50% 0% fixed no-repeat; background-size: cover; width: 100%; }
.lineup h1 { margin: 0 auto 0; max-width: 282px; padding-top: 60px; }
.lineup h1 img { width: 100%; }
@media only screen and (max-width: 480px) { .lineup h1 { max-width: 200px; padding-top: 30px; } }
.lineup h2 { text-align: center; font-size: 20px; font-size: 1.25rem; font-weight: bold; padding: 20px 0 0; }
@media only screen and (max-width: 900px) { .lineup h2 { padding: 10px 0 0; } }
.lineup .item { padding: 20px 0 20px; overflow: hidden; font-size: 12px; font-size: 0.75rem; margin: 60px auto 0; max-width: 860px; padding-bottom: 80px; }
.lineup .item section { width: 172px; float: left; }
.lineup .item section figure { margin: 0 auto 0; max-width: 124px; }
.lineup .item section figcaption { text-align: center; }
.lineup .item section figcaption dt { font-weight: bold; }
.lineup .item section figcaption p { margin-top: 10px; font-size: 10px; font-size: 0.625rem; }
.lineup .item section figcaption p.tw { margin-bottom: 10px; }
.lineup .item section figcaption p.tw:before { content: url("../images/icon_tw.png"); margin-right: 5px; }
@media only screen and (max-width: 920px) { .lineup .item { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
  .lineup .item section { float: none; margin-bottom: 10px; width: 140px; }
  .lineup .item section figure { max-width: 120px; } }
@media only screen and (max-width: 480px) { .lineup .item { -webkit-justify-content: flex-start; justify-content: flex-start; padding-bottom: 10px; }
  .lineup .item section { padding-bottom: 30px; width: auto; } }
@media only screen and (max-width: 480px) { .lineup .item { -webkit-justify-content: space-between; justify-content: space-between; width: 280px; margin: 0 auto; }
  .lineup .item section { padding-right: 10px; padding-bottom: 30px; } }

.function { width: 100%; padding-bottom: 80px; }
@media only screen and (max-width: 480px) { .function { padding-bottom: 40px; } }
.function h2 { text-align: center; font-size: 20px; font-size: 1.25rem; font-weight: bold; padding: 60px 0 0; }
@media only screen and (max-width: 480px) { .function h2 { padding: 30px 0 0; } }
.function .list { margin: 60px auto 0; max-width: 900px; overflow: hidden; }
@media only screen and (max-width: 480px) { .function .list { margin-top: 30px; } }
.function .list .block { float: left; overflow: hidden; width: 33%; }
.function .list .block div { overflow: hidden; height: 96px; }
.function .list .block div:first-child { height: 80px; }
@media only screen and (max-width: 900px) { .function .list .block div { height: 130px; padding: 0 10px; }
  .function .list .block div:first-child { height: 100px; } }
@media only screen and (max-width: 720px) { .function .list .block { float: none; width: 100%; }
  .function .list .block div { height: auto; padding-bottom: 20px; }
  .function .list .block div:first-child { height: auto; } }
.function .list figure { width: 20%; float: left; text-align: center; }
@media only screen and (max-width: 900px) { .function .list figure { width: 30%; } }
@media only screen and (max-width: 720px) { .function .list figure { width: 14%; } }
@media only screen and (max-width: 480px) { .function .list figure { width: 20%; } }
.function .list figure img { width: 51px; }
.function .list figcaption { width: 80%; float: right; }
@media only screen and (max-width: 900px) { .function .list figcaption { width: 70%; } }
@media only screen and (max-width: 720px) { .function .list figcaption { width: 86%; } }
@media only screen and (max-width: 480px) { .function .list figcaption { width: 80%; } }
.function .list figcaption dt { font-size: 14px; font-size: 0.875rem; }
.function .list figcaption dd { font-size: 12px; font-size: 0.75rem; }

.shoplist { width: 100%; overflow: hidden; color: #fff; background-color: #0e0e0e; }
.shoplist h2 { text-align: center; font-size: 20px; font-size: 1.25rem; padding: 60px 0 50px; font-weight: bold; }
@media only screen and (max-width: 480px) { .shoplist h2 { padding: 30px 0 20px; } }
.shoplist .inner { overflow: hidden; max-width: 880px; margin: 0 auto 60px; padding: 0 0 0 20px; font-size: 12px; font-size: 0.75rem; }
@media only screen and (max-width: 480px) { .shoplist .inner { margin: 0 auto; width: 300px; padding: 0; } }
.shoplist .inner div { width: 25%; float: left; height: 70px; min-width: 150px; display: inline-block; }
.shoplist .inner div dt, .shoplist .inner div dd { color: #fff; margin-left: 20px; }
@media only screen and (max-width: 920px) { .shoplist .inner div dt, .shoplist .inner div dd { margin-left: 0px; letter-spacing: 0em; } }
.shoplist .inner div dt.open, .shoplist .inner div dd.open { font-size: 10px; font-size: 0.625rem; color: #ba2222; letter-spacing: 0.1; }
.shoplist a { color: #fff; }
.shoplist a:hover { color: #ccc; }

.note { font-size: 10px; font-size: 0.625rem; }
@media only screen and (max-width: 900px) { .note { padding: 0 10px; } }

#info { margin: 0; padding: 60px 0 30px; font-size: 12px; font-size: 0.75rem; line-height: 1.61; letter-spacing: 0.1em; background-color: #fff; text-align: center; color: #000; border-top: 1px solid #ccc; }
@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: 900px) { #info p.nextTips { height: 40px; } }
@media only screen and (max-width: 480px) { #info p.nextTips { width: 300px; height: 40px; } }
#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: 900px) { #info p.nextTips a { height: 40px; } }
@media only screen and (max-width: 480px) { #info p.nextTips a { width: 300px; height: 40px; } }

/* Nav Style */
nav { width: 100%; background-color: #e9e9e9; height: 40px; overflow: hidden; }
nav #navWrapper { max-width: 900px; margin: 0 auto; float: right; }
nav #navWrapper li { float: left; }
nav #navWrapper li.newsletterTop { margin-right: 27px; }

/* responsive */
@media only screen and (max-width: 900px) { 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; }
