@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 sounds-layout($text-pos:left, $top-pos:0, $image-size:470px, $bg-c:transparent) @param (text-pos) 文章の位置 left or right 省略可 default値はleft @param (top-pos) sectionのtop位置 省略可 default値は0px @param (image-size) figureの横imageサイズ 省略可 default値は470px @param (bg-c) コンテンツの背景色 省略可 default値はtransparent */
/** * 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: #4a6177 url("../images/bg.jpg") 50% 0% fixed no-repeat; background-size: cover; 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; }
.mainVisual h1 { position: static; z-index: 50; margin: 0 auto; padding: 120px 10px 90px; max-width: 584px; }
.mainVisual h1 img { width: 100%; }
@media only screen and (max-width: 480px) { .mainVisual h1 { padding: 20px 0; max-width: 300px; } }
.mainVisual h2 { position: static; text-align: center; font-size: 28px; font-size: 1.75rem; padding-bottom: 80px; color: #00a885; }
@media only screen and (max-width: 480px) { .mainVisual h2 { line-height: 1.1; padding-bottom: 10px; } }
.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 .hold { margin: 0 auto 110px; max-width: 380px; overflow: hidden; font-size: 18px; font-size: 1.125rem; }
.mainVisual .hold dt { width: 110px; float: left; }
.mainVisual .hold dt:after { content: "|"; padding-left: 10px; }
@media only screen and (max-width: 480px) { .mainVisual .hold dt { padding-left: 10px; width: 100px; } }
.mainVisual .hold dd { overflow: hidden; }
@media only screen and (max-width: 480px) { .mainVisual .hold { margin: 0 auto; padding: 20px 0 30px; line-height: 1.3; } }
.mainVisual a { color: #fff; }
.mainVisual a:hover { color: #00a885; }
.mainVisual a:after { content: url("../images/icon_link.png"); padding-left: 5px; }

.past { background-color: #466E6E; padding: 10px 0; }
.past .inner { overflow: hidden; margin: 0 auto 0; max-width: 900px; }
.past .inner figure { float: right; line-height: 0; max-width: 550px; }
.past .inner figure img { width: 100%; }
@media only screen and (max-width: 920px) { .past .inner figure { float: none; max-width: 400px; margin: 10px auto; } }
@media only screen and (max-width: 480px) { .past .inner figure { width: auto; padding: 0 10px; } }
.past .inner p { max-width: 310px; margin-top: 110px; margin-left: 20px; margin-right: 20px; float: left; }
@media only screen and (max-width: 920px) { .past .inner p { float: none; display: block; max-width: 900px; margin: 10px auto 0; padding: 0 10px 20px; } }
@media only screen and (max-width: 480px) { .past .inner p { width: auto; } }

.thisyear { background-color: transparent; padding: 10px 0; }
.thisyear .inner { overflow: hidden; margin: 0 auto 0; max-width: 900px; }
.thisyear .inner figure { float: left; line-height: 0; max-width: 550px; }
.thisyear .inner figure img { width: 100%; }
@media only screen and (max-width: 920px) { .thisyear .inner figure { float: none; max-width: 400px; margin: 10px auto; } }
@media only screen and (max-width: 480px) { .thisyear .inner figure { width: auto; padding: 0 10px; } }
.thisyear .inner p { max-width: 310px; margin-top: 86px; margin-left: 20px; margin-right: 20px; float: right; }
@media only screen and (max-width: 920px) { .thisyear .inner p { float: none; display: block; max-width: 900px; margin: 10px auto 0; padding: 0 10px 20px; } }
@media only screen and (max-width: 480px) { .thisyear .inner p { width: auto; } }

.special { background-color: #1e4353; padding: 10px 0; padding-bottom: 40px; }
.special .inner { overflow: hidden; margin: 0 auto 0; max-width: 900px; }
.special .inner figure { float: right; line-height: 0; max-width: 460px; }
.special .inner figure img { width: 100%; }
@media only screen and (max-width: 920px) { .special .inner figure { float: none; max-width: 400px; margin: 10px auto; } }
@media only screen and (max-width: 480px) { .special .inner figure { width: auto; padding: 0 10px; } }
.special .inner p { max-width: 400px; margin-top: 30px; margin-left: 20px; margin-right: 20px; float: left; }
@media only screen and (max-width: 920px) { .special .inner p { float: none; display: block; max-width: 900px; margin: 10px auto 0; padding: 0 10px 20px; } }
@media only screen and (max-width: 480px) { .special .inner p { width: auto; } }
.special a { color: #fff; }
.special a:hover { color: #00a885; }

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

/* 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; }
