@charset "UTF-8";
* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
}

ul {
    list-style: none;
    padding-left: 0;
}

.mobileOnly {
    display: none;
}

#header,
.content,
#footer {
    width: 740px;
    padding: 0;
    margin: 0 auto;
}

#headerWrap {
    min-width: 740px;
    margin: 0 auto;
}

small {
    vertical-align: top;
}

#hGlobalNav ul {
    width: 100%;
}

#siteName {
    padding-left: 0;
}

#globalNav li#gnGS {
    padding-right: 0;
}

#topLink {
    text-align: center;
    margin-top: 30px;
}

#topLink ul {
    display: inline-block;
}

#topLink li {
    float: left;
}

#topLink li.passport {
    border-right: 1px solid #333;
    padding-right: 15px;
    margin-right: 15px;
}

#passport .passport a,
#mile .mile a {
    cursor: default;
    pointer-events: none;
    text-decoration: none;
    font-weight: bold;
}

#intro .title {
    background-color: #f5f5f5;
    margin: 30px 0;
    text-align: center;
    padding: 40px 0 20px;
    position: relative;
}

#intro h1 {
    position: absolute;
    /*top: 90px;*/
    top: 70px;
    left: 175px;
}

#logo img {
    width: 400px;
}

#tag {
    text-align: center;
    font-size: 20px;
    margin: 0;
}

.content {
    font-size: 14px;
    line-height: 1.6;
}

.content #main {
    width: 740px;

}

.launch_date {
    width: 100%;
    border-top: 3px solid #7F0019;
    border-bottom: 3px solid #7F0019;
    padding: 7px;
    color: #7F0019;
    font-weight: bold;
    font-size: 21px;
    text-align: center;
}

.content section {
    margin-bottom: 30px;
}

section#accumulate6 {
    margin-top: 0px;
    padding-top: 40px;
    border-top: 0px solid #999;
}

section section {
    margin: 0 0 30px;
}

section section#accumulate1,
section section#accumulate2,
section section#accumulate3 {
    margin: 0;
}

section h1 {
    font-size: 30px;
    margin-bottom: 20px;
    font-weight: bold;
}

section#accumulate h1 {
    margin-bottom: 0;
}

section section h1 {
    font-size: 16px;
    margin-bottom: 15px;
}

#logo {
    text-align: center;
    margin-bottom: 30px;
}

#feature {
    position: relative;
}

#feature1 {
    position: relative;
    border-top: 1px solid #e6e6e6;
    padding-top: 30px;
}

#feature1 .relatedLink {
    margin-top: 20px;
}

#feature1 th.stage,
#feature1 th.point,
#feature1 th.mile {
    border: solid #ddd;
    border-width: 1px 1px 1px;
}

#feature1 h1,
#feature1 p {
    margin-right: 200px;
    /*padding-top: 30px;*/
}

#feature > h1,
#howto > h1,
#sums > h1 {
    border-top: 1px solid #e6e6e6;
    padding-top: 20px;
}

#vis-feat {
    position: absolute;
    right: 0;
    top: 0;
}

#vis-feat {
    width: 142px;
}

#guide {
    border: 1px solid #e6e6e6;
    padding: 15px;
    border-radius: 5px;
    font-size: 12px;
}

.desc {
    overflow: hidden;
}

#howto:after,
#sums:after,
#featureList:after,
#accumulateList:after {
    content: "";
    clear: both;
    display: block;
}

#howto figure,
#sums figure {
    float: left;
    margin-right: 20px;
    width: 340px;
}

#howto section,
#sums section,
#guide section {
    margin-top: 0;
    padding-top: 0;
    border: 0;
}

#howto section h1,
#sums section h1,
#guide {
    font-size: 14px;
}

#guide section {
    margin-bottom: 0;
}

#guide h1 {
    font-size: 16px;
    margin-bottom: 10px;
}

#guide figure {
    margin-bottom: 30px;
    text-align: center;
}

#guide li {
    margin-bottom: 10px;
}

#guide img {
    width: 160px;
    margin: 5px 10px;
    vertical-align: top;
}

#guide img#vis-guide-img01 {
    width: 250px;
}

.content p {
    margin-bottom: 1em;
}

.note {
    font-size: 11px;
}

.note + .note {
    margin-bottom: 40px;
}

.annotation {
    font-size: 12px;
}

.faq a {
    padding: 10px 0;
    text-indent: 10px;
    color: #000;
    font-weight: bold;
    text-decoration: underline;
}

.faq a:hover {
    color: #7f0019;
}

#faq {
    border-width: 1px 0;
    margin-top: 50px;
}

#faq a {
    padding: 10px 0;
    text-indent: 10px;
    color: #000;
    font-weight: bold;
    text-decoration: underline;
}

#faq a:hover {
    color: #7f0019;
}

#sns {
    margin: 30px auto;
}

#sns li {
    float: left;
    margin-right: 10px;
}

#sns li.tw {
    width: 100px;
}

#sns li.fb iframe {
    width: 115px !important;
}

table.horizontal {
    margin-bottom: 0px;
}

table.horizontal th {
    padding: 0px 0px;
    font-weight: bold;
    border: solid #999;
    border-width: 1px 1px 1px 1px;
}

table.horizontal td {
    padding: 10px;
    border: solid #999;
    border-width: 1px 1px 1px 1px;

}

table.horizontal td.point,
table.horizontal td.mile {
    white-space: nowrap;
    text-align: center;
    font-size: 11px;
}

table.horizontal .mile .num,
table.horizontal .point .num {
    font-size: 16px;
    font-weight: bold;
    margin: 0 2px;
    font-family: "Helvetica","Lucida Grande","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W6","ＭＳ Ｐゴシック", sans-serif;
}

.relatedLink {
    text-align: right;
}

.relatedLink a {
    display: inline-block;
    background: url(/img/common/arrow_right.png) no-repeat 14px 50%;
    border: 1px solid #ccc;
    padding: 7px 14px 7px 28px;
    text-decoration: none;
    font-weight: bold;
}

.relatedLink a:hover {
    border: 1px solid #7F0019;
}

#accumulate4 {
    min-height: 120px;
}

#accumulate4,
#accumulate5 {
    position: relative;
}

#accumulate4 img {
    position: absolute;
    right: 0;
    top: 20px;
}

#accumulate5 img {
    position: absolute;
    right: 0;
    top: 20px;
    width: 120px;
}

#accumulate6 .relatedLink {
    margin-top: 20px;
}

#accumulate6 th.stage,
#accumulate6 th.point,
#accumulate6 th.mile {
    border: solid 1px #999;
    border-width: 1px 1px 1px;
}

#accumulate6 table.horizontal.mobileOnly th {
    padding: 5px;

}

#accumulateList section {
    width: 33.3%;
    float: left;
    box-sizing: border-box;
    padding: 15px;
    text-align: center;
}

#accumulateList p {
    text-align: left;
}

#accumulateList {
    /* margin: 0 -15px;*/
    padding-top: 20px;
    margin-top: 40px;
    border-top: 1px solid #e6e6e6;
    margin-bottom: -10px;
}

#accumulateList img {
    width: 80%;
}

#accumulate,
#accumulate > section {
    border-top: 1px solid #e6e6e6;
    padding-top: 15px;
}

#accumulate section#accumulateList {
    border-top: 0;
    padding-top: 0;
}

#accumulate4 > h1,
#accumulate4 > p,
#accumulate5 > h1 {
    margin-right: 220px;
}

#accumulate5 > p {
    margin-right: 160px;
}
