/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */

html {
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}
body {
    margin: 0
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
    display: block
}
audio,
canvas,
progress,
video {
    display: inline-block
}
audio:not([controls]) {
    display: none;
    height: 0
}
progress {
    vertical-align: baseline
}
template,
[hidden] {
    display: none
}
a {
    background-color: transparent;
    -webkit-text-decoration-skip: objects
}
a:active,
a:hover {
    outline-width: 0
}
abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted
}
b,
strong {
    font-weight: inherit
}
b,
strong {
    font-weight: bolder
}
dfn {
    font-style: italic
}
h1 {
    font-size: 2em;
    margin: 0.67em 0
}
mark {
    background-color: #ff0;
    color: #000
}
small {
    font-size: 80%
}
sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}
sub {
    bottom: -0.25em
}
sup {
    top: -0.5em
}
img {
    border-style: none
}
svg:not(:root) {
    overflow: hidden
}
code,
kbd,
pre,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}
figure {
    margin: 1em 40px
}
hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}
button,
input,
select,
textarea {
    font: inherit;
    margin: 0
}
optgroup {
    font-weight: bold
}
button,
input {
    overflow: visible
}
button,
select {
    text-transform: none
}
button,
html [type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0
}
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText
}
fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em
}
legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}
textarea {
    overflow: auto
}
[type="checkbox"],
[type="radio"] {
    box-sizing: border-box;
    padding: 0
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto
}
[type="search"] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none
}
::-webkit-input-placeholder {
    color: inherit;
    opacity: 0.54
}
::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}
body {
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    color: #333;
    font-size: 16px;
    line-height: 1.8
}
a {
    color: #333855
}
a.innerLink:before {
    content: "≫"
}
a.innerLink:link,
a.innerLink:visited {
    color: #333855;
    font-weight: bold;
    text-decoration: none
}
a.innerLink:hover {
    text-decoration: underline
}
.naviBar {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 10;
    border-bottom: 1px solid rgba(255, 255, 255, 0);
    background-color: transparent
}
.naviBar.is-solid {
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
    background-color: white;
    transition: all .5s
}
.naviBar.is-solid .barLogo img {
    opacity: 1
}
.naviBar .naviBox {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row nowrap;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 1020px;
    height: 60px;
    margin: 0 auto
}
.naviBar .barLogo {
    width: 160px;
    height: 36px;
    margin-top: 7px
}
.naviBar .barLogo img {
    width: 100%;
    opacity: 0
}
.naviBar .sp-menuBtn,
.naviBar .sp-menuCancel {
    display: none
}
.naviBar .navi {
    height: 80px;
    margin: 0;
    padding: 0;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row nowrap;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}
.naviBar .navi li {
    display: block;
    margin-left: 20px
}
.naviBar .navi li a {
    color: inherit;
    text-decoration: none
}
.contentWrap .content {
    width: 1020px;
    margin: 0 auto
}
.footerWrap {
    color: #333855;
    border-top: 1px solid #333855
}
.footerWrap footer {
    width: 1020px;
    margin: 0 auto;
    padding: 60px 0;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row nowrap;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap
}
.footerWrap .footerBox {
    width: 100%;
    padding: 15px 35px
}
.footerWrap .footerBox+.footerBox {
    border-left: 1px solid #333855
}
.footerWrap .footerLogo {
    width: 250px;
    padding: 15px 0
}
.footerWrap .footerNavi {
    margin: 0;
    padding: 0
}
.footerWrap .footerNavi li {
    display: block;
    border-bottom: 1px solid #333855
}
.footerWrap .footerNavi li a {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row nowrap;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 10px 0;
    color: inherit;
    text-decoration: none
}
.footerWrap .footerNavi li a:after {
    content: '';
    display: block;
    width: 7px;
    height: 12px;
    margin-right: 15px;
    background-image: url("../images/common/icon_arrow.png");
    background-size: 7px
}
.footerWrap .social .text {
    text-align: center
}
.footerWrap .social .buttonBox {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    /*-webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center*/
}
.footerWrap .social .buttonBox .btn {
    margin: 10px
}
.footerWrap .copyright {
    height: 50px;
    margin: 0;
    line-height: 50px;
    background-color: #333855;
    text-align: center;
    color: #fff
}
.footerWrap .copyright a {
    color: #fff
}
.mobileOnly {
    display: none
}
@media screen and (max-width: 1020px) {
    body {
        font-size: 14px
    }
    .naviBar .naviBox {
        width: 100%;
        height: 45px
    }
    .naviBar .naviBox .navi {
        display: block
    }
    .naviBar .barLogo {
        width: 130px;
        height: 30px;
        margin: 5px 0 0 5px
    }
    .naviBar .sp-menuBtn {
        display: block;
        width: 50px;
        height: 100%;
        text-align: center
    }
    .naviBar .sp-menuBtn img {
        width: 20px;
        padding: 16px
    }
    .naviBar nav {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #fff;
        z-index: 15;
        opacity: 0;
        transition: opacity 1s
    }
    .naviBar nav .sp-menuCancel {
        margin: 20px 20px 20px 0;
        text-align: right
    }
    .naviBar nav .sp-menuCancel img {
        width: 20px
    }
    .naviBar nav.is-visible {
        display: block;
        opacity: 1
    }
    .naviBar nav.is-visible .sp-menuCancel {
        display: block
    }
    .naviBar nav .navi {
        margin: 10px
    }
    .naviBar nav .navi li {
        margin: 10px;
        border-bottom: 1px solid #ccc
    }
    .naviBar nav .navi li a {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-flow: row nowrap;
        -ms-flex-flow: row nowrap;
        flex-flow: row nowrap;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        padding: 10px 0;
        text-decoration: none
    }
    .naviBar nav .navi li a:after {
        content: '';
        display: block;
        width: 7px;
        height: 12px;
        margin-right: 15px;
        background-image: url("../images/common/icon_arrow_gray.png");
        background-size: 7px
    }
    .contentWrap .content {
        width: 100%;
        padding: 0 10px;
        box-sizing: border-box
    }
    .footerWrap footer {
        width: 100%;
        display: block
    }
    .footerWrap .footerBox {
        box-sizing: border-box
    }
    .footerWrap .footerBox+.footerBox {
        border-left: none
    }
    .footerWrap .credit {
        text-align: center
    }
    .mobileOnly {
        display: inline
    }
}
@font-face {
    font-family: 'Learning Curve';
    src: url("../font/LearningCurve.woff") format("woff"), url("../font/LearningCurve.ttf") format("truetype"), url("../font/LearningCurve.eot") format("eot")
}
.subHeader {
    margin-top: 60px;
    padding: 80px 0;
    text-align: center
}
.subHeader .title {
    margin: 0;
    font-size: 30px;
    font-family: "見出ゴMB31", "Midashi Go MB31", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif
}
.subHeader .en {
    margin: 0;
    font-size: 38px;
    font-family: 'Learning Curve';
    line-height: 1.3
}
.callToAction .message {
    text-align: center;
    font-size: 16px;
    margin-bottom: 30px
}
.callToAction .order {
    width: 700px;
    margin: 0 auto 60px
}
.callToAction .order a {
    display: block;
    height: 100%;
    line-height: 4;
    background-color: #fff;
    border: 2px solid #333855;
    border-radius: 10px;
    color: #333855;
    font-size: 18px;
    font-weight: bold;
    text-decoration: none;
    text-align: center;
    transition: all .3s
}
.callToAction .order a:hover {
    background-color: #333855;
    color: #fff
}
@media screen and (max-width: 1020px) {
    .subHeader .title {
        font-size: 18px
    }
    .subHeader .en {
        font-size: 24px
    }
    .callToAction .order {
        width: 100%
    }
}
.lawBox {
    margin-bottom: 100px
}
.lawBox .lawTable {
    width: 800px;
    margin: 0 auto;
    border-collapse: collapse;
    border: 1px solid #ccc
}
.lawBox .lawTable tr {
    min-height: 30px;
    border-bottom: 1px solid #ccc
}
.lawBox .lawTable th {
    width: 300px;
    padding: 15px;
    text-align: left;
    font-weight: bold;
    vertical-align: middle
}
.lawBox .lawTable td {
    padding: 10px;
    vertical-align: middle
}
@media screen and (max-width: 1020px) {
    .lawBox .lawTable {
        width: 100%
    }
    .lawBox .lawTable th,
    .lawBox .lawTable td {
        box-sizing: border-box
    }
}
