@charset "UTF-8";

/* -----------------------------------------------------------------
   Base & Reset
----------------------------------------------------------------- */
html { margin: 0; padding: 0; border: 0; vertical-align: baseline; }
body, article, section, nav, aside, h1, h2, h3, h4, h5, h6, header, footer, address, p, pre, blockquote, ol, ul, li, dl, dt, dd, figure, figcaption, div, main, a, em, strong, small, s, cite, q, dfn, abbr, data, time, code, var, samp, kbd, sub,sup, i, b, u, mark, span, ins, del, img, iframe, embed, object, video, audio, table, caption, tbody, thead, tfoot, tr, td, th, form, label, fieldset, legend, canvas { margin: 0; padding: 0; border: 0; vertical-align: baseline; font-size: 100%; }
*, :before, :after { -webkit-box-sizing: border-box; box-sizing: border-box; }
main { display: block; }
html:not(.is-mobile) { overflow-y: scroll; }
body { background-color: #fff; }
html, body { line-height: 1.5; font-size: 10px; -webkit-text-size-adjust: 100%; }
h1, h2, h3, h4, h5, h6 { font-weight: 700; }
ol, ul { list-style: none; }
a { background-color: transparent; -webkit-text-decoration-skip: objects; }
a:hover, a:active { outline: 0; }
em, strong, b { font-style: normal; font-weight: 700; }
small { font-size: 1em; }
img { border: 0; vertical-align: top; -ms-interpolation-mode: bicubic; }

/* Typography */
body { font-weight: 300; font-family: Hiragino Sans, Hiragino Kaku Gothic ProN, Yu Gothic, Meiryo, sans-serif; }
.win body { font-weight: 500; font-family: YuGothic, Yu Gothic, Meiryo, sans-serif; }
.ie body { font-weight: 400; font-family: Meiryo, sans-serif; }
html, body { height: 100%; }
body { background-color: #fff; color: #333; line-height: 1.5; font-size: 2.4em; letter-spacing: 0; }

/* Links */
a:link { color: #1061f4; -webkit-transition: color .25s cubic-bezier(.215, .61, .355, 1), background-color .25s cubic-bezier(.215, .61, .355, 1); transition: color .25s cubic-bezier(.215, .61, .355, 1), background-color .25s cubic-bezier(.215, .61, .355, 1); }
a:visited { color: #1061f4; }
html:not(.is-mobile) a:hover { color: #094dc8; }


/* -----------------------------------------------------------------
   Layout Structure
----------------------------------------------------------------- */
.Page { min-width: 640px; }

.PageContainer {
    display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
    overflow: hidden; position: relative;
    -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column;
    -webkit-box-align: stretch; -webkit-align-items: stretch; -ms-flex-align: stretch; align-items: stretch;
    width: 100%; min-height: 100%; max-width: 640px; margin: 0 auto;
}

.MainContent { position: relative; }
.MainContent, .MainContent > .inner, .MainContent__body {
    display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
    -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column;
    -webkit-box-flex: 1; -webkit-flex-grow: 1; -ms-flex-positive: 1; flex-grow: 1;
}
.MainContent > .inner { width: 580px; margin: 0 auto; }
.MainContent__body { padding: 60px 0 100px; }


/* -----------------------------------------------------------------
   Header
----------------------------------------------------------------- */
.PageHeader { background-color: #fff; color: #033e7f; }
.PageHeader > .inner {
    width: 580px; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
    -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center;
    -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center;
    margin: 0 auto; padding: 30px 0;
}
.HeaderPageId { line-height: 1; font-size: 3rem; letter-spacing: .03em; text-align: center; font-weight: 300; }
.HeaderPageId > a { text-decoration: none; }
.HeaderPageId > a, html:not(.is-mobile) .HeaderPageId > a:hover { color: inherit; }
.HeaderPageId__logo { width: 206px; height: 56px; }


/* -----------------------------------------------------------------
   Footer
----------------------------------------------------------------- */
.PageFooter { background-color: #373130; color: #fff; }
.PageFooter > .inner { width: 580px; margin: 0 auto; padding: 50px 0; }

.FooterNav__pageList { line-height: 1; font-size: 2.4rem; letter-spacing: 0; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
.FooterNav__pageList > li { width: 290px; margin-top: 39px; padding-right: 20px; }
.FooterNav__pageList > li:nth-child(-n+2) { margin-top: 0; }
.FooterNav__pageList > li > a { display: inline-block; position: relative; padding-left: 18px; vertical-align: top; text-decoration: none; }
.FooterNav__pageList > li > a, html:not(.is-mobile) .FooterNav__pageList > li > a:hover { color: inherit; }
.FooterNav__pageList > li > a:before { top: 8px; left: -3px; content: ''; position: absolute; width: 9px; height: 9px; border-width: 2px 2px 0 0; border-style: solid; border-color: #fff #fff transparent transparent; -webkit-transform: rotate(45deg); transform: rotate(45deg); }

.FooterCopyright { margin-top: 72px; margin-bottom: -3px; line-height: 1.27272727273; font-size: 2.2rem; letter-spacing: .05em; text-align: center; }
.FooterCopyright:first-child { margin-top: -3px; }
.FooterCopyright__mark { font-family: Helvetica, Arial, sans-serif; }


/* -----------------------------------------------------------------
   Common Components (Headings, Paragraphs, Sections)
----------------------------------------------------------------- */
.PageTitle {
    display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
    -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center;
    -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center;
    line-height: 1.45; font-size: 4rem; letter-spacing: .05em;
    height: 182px; margin: 0 -30px; padding: 30px;
    border-top: 2px solid #ededed; border-bottom: 2px solid #ededed; color: #282828;
}

/* Sections */
.Section:before, .Section:after { content: ''; display: block; height: 1px; }
.Section:before { margin-bottom: -1px; }
.Section:after { margin-top: -1px; }

.Section__title { margin-top: -8px; line-height: 1.5; font-size: 3.2rem; letter-spacing: 0; padding-bottom: 20px; border-bottom: 2px solid #ededed; color: #282828; }
.Section .Section .Section__title { margin-top: -7px; margin-bottom: -7px; line-height: 1.5; font-size: 2.8rem; padding-bottom: 0; border-bottom: none; }
.Section .Section .Section .Section__title { margin-top: -6px; margin-bottom: -6px; line-height: 1.5; font-size: 2.4rem; }

.Section__content { margin-top: 50px; }
.Section .Section .Section__content { margin-top: 30px; }

.SectionContainer:not(:first-child) { margin-top: 70px; }
.SectionContainer .SectionContainer:not(:first-child) { margin-top: 55px; }
.SectionContainer .SectionContainer .SectionContainer:not(:first-child) { margin-top: 40px; }

/* Spacing Helpers found in HTML context */
main * + section { margin-top: 70px; }
main section * + section { margin-top: 55px; }
main section section * + section { margin-top: 40px; }

/* Paragraphs */
.Paragraphs:before, .Paragraphs:after { content: ''; display: block; height: 1px; }
.Paragraphs:before { margin-bottom: -1px; }
.Paragraphs:after { margin-top: -1px; }
.Paragraphs > p:not(:first-child) { margin-top: 18px; }
.Paragraphs > p:first-child { margin-top: -6px; }
.Paragraphs > p:last-child { margin-bottom: -6px; }
.Paragraphs:not(:first-child) { margin-top: 40px; }


/* -----------------------------------------------------------------
   Lists (Ordered & Unordered)
----------------------------------------------------------------- */
/* Ordered List (.e-ol) */
.e-ol { counter-reset: ol; }
.e-ol:before, .e-ol:after { content: ''; display: block; height: 1px; }
.e-ol:before { margin-bottom: -1px; }
.e-ol:after { margin-top: -1px; }
.e-ol > li:not(:first-child) { margin-top: 8px; }
.e-ol > li:first-child { margin-top: -6px; }
.e-ol > li:last-child { margin-bottom: -6px; }
.e-ol > li { counter-increment: ol; position: relative; padding-left: 38px; list-style-type: none; }
.e-ol > li:before { content: counters(ol, "-", decimal) '.'; position: absolute; top: 0; left: 0; font-weight: 700; }
.e-ol:not(:first-child) { margin-top: 40px; }

/* Unordered List (.e-ul) */
.e-ul:before, .e-ul:after { content: ''; display: block; height: 1px; }
.e-ul:before { margin-bottom: -1px; }
.e-ul:after { margin-top: -1px; }
.e-ul > li:not(:first-child) { margin-top: 8px; }
.e-ul > li:first-child { margin-top: -6px; }
.e-ul > li:last-child { margin-bottom: -6px; }
.e-ul > li { position: relative; padding-left: 38px; }
.e-ul > li:before { content: ''; position: absolute; top: 13px; left: 5px; width: 10px; height: 10px; border-radius: 50%; background-color: #333; }
.e-ul:not(:first-child) { margin-top: 40px; }


/* -----------------------------------------------------------------
   Page Specifics (Privacy Policy)
----------------------------------------------------------------- */
.PrivacyPolicy__revision { margin-top: 70px; text-align: right; }