html,body,div,h1,h2,h3,h4,p,img,article,footer,header,section {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    vertical-align: baseline;
    background: transparent;
}
img {
    border: 0;
}
article,footer,header,section {
    display: block;
}
a {
    text-decoration: none;
    color: #333;
    transition: opacity .2s ease;
    &:hover {
        opacity: .4;
    }
    @media only screen and (max-width:640px) {
        &:hover {
            opacity: 1;
        }
    }
}
img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}
*,*:before,*:after {
    box-sizing: border-box;
}
html {
    font-size: 14px;
    -webkit-text-size-adjust: 100%;
}
body {
    font-family: Helvetica Neue,Helvetica,YuGothic,Yu Gothic,"ヒラギノ角ゴ Pro W3",Hiragino Kaku Gothic Pro,sans-serif;
    color: #555;
    min-width: 100%;
    line-height: 1.9;
}
.site_frame {
    margin: 0 auto;
    &:before, &:after {
        display: table;
        line-height: 0;
        content: "";
    }
    &:after {
        clear: both;
    }
    @media only screen and (max-width:640px) {
        width: 100%;
        margin: 0;
    }
}
.a-billboard {
    & .site_frame {
        position: relative;
    }
}
.a-header,.a-footer,.a-billboard,.a-site_contents {
    margin: 0 auto;
}
.a-header:before,.a-header:after,.a-footer:before,.a-footer:after,.a-billboard:before,.a-billboard:after,.a-site_contents:before,.a-site_contents:after {
    display: table;
    line-height: 0;
    content: "";
}
.a-header:after,.a-footer:after,.a-billboard:after,.a-site_contents:after {
    clear: both;
}
.a-header {
    @media only screen and (max-width:640px) {
        padding: 0;
    }
}
.a-main {
    @media only screen and (max-width:640px) {
        float: none;
        width: 100%;
    }
}
.a-footer {
    position: relative;
}
.l-1 {
    & .bg-document {
		padding-top: 20px;
        margin-inline: auto;
    }
}
.w-base {
    position: fixed;
    display: block;
    opacity: 0;
    z-index: 180;
    overflow: hidden;
}
.w-top {
    top: 0;
}
.w-middle {
    top: 50%;
    transform: translateY(-50%);
}
.w-bottom {
    bottom: 0;
}
.w-left {
    left: 0;
}
.w-right {
    right: 0;
}
body[data-press-role] {
    & .a-billboard {
        opacity: 0;
    }
    & .a-main {
        opacity: 0;
    }
}
.g-column {
    &:before, &:after {
        display: table;
        line-height: 0;
        content: "";
    }
    &:after {
        clear: both;
    }
    &>.column {
        position: relative;
    }
    &>.column.-column1, &>.column:first-child {
        margin-left: 0;
    }
    &>.column:last-child {
        margin-right: 0;
    }
    &>.-col12 {
        margin-left: 0;
        width: 100%;
    }
    @media only screen and (max-width:640px) {
        &>.column {
            float: none;
            margin: 0;
        }
        &>.column.-column1, &>.column:first-child {
            margin-left: 0;
        }
        &>.column:last-child {
            margin-right: 0;
        }
        &>.-col12 {
            width: 100%;
            margin: 0;
        }
    }
}
.c-space_normal {
    & .g-column>.column {
        margin-left: 2%;
        margin-right: 2%;
        margin-top: 4%;
    }
    & .g-column>.column.-column1, & .g-column>.column:first-child {
        margin-left: 0;
    }
    & .g-column>.column:last-child {
        margin-right: 0;
    }
    & .g-column>.-col12 {
        margin-left: 0;
        margin-right: 0;
        width: 100%;
    }
}
.c-sp-space_normal {
    @media only screen and (max-width:640px) {
        & .g-column>.column {
            float: none;
            margin-left: 0;
            margin-right: 0;
            margin-top: 4%;
        }
        & .g-column>.-col12 {
            width: 100%;
        }
    }
}
.b-plain {
    & .g-column {
        display: flex;
        flex-wrap: wrap;
    }
    &:before, &:after {
        display: table;
        line-height: 0;
        content: "";
    }
    &:after {
        clear: both;
    }
    & .g-column>.column {
        min-height: 1px;
    }
}
.c-padding_normal {
    &>.g-column, &>.column, &>nav {
        padding: 30px;
    }
    &>.column {
        width: auto;
    }
}
.c-sp-padding_narrow {
    @media only screen and (max-width:640px) {
        &>.g-column, &>.column, &>nav {
            padding: 5px;
        }
    }
}
.c-sp-padding_normal {
    @media only screen and (max-width:640px) {
        &>.g-column, &>.column, &>nav {
            padding: 15px;
        }
    }
}
.c-sp-padding_narrow {
    @media only screen and (max-width:640px) {
        &>.column {
            width: auto;
        }
    }
}
.c-sp-padding_normal {
    @media only screen and (max-width:640px) {
        &>.column {
            width: auto;
        }
    }
}
.c-center {
    text-align: center;
}
.c-no_adjust {
    width: 100%;
}
.c-img {
    display: inline;
}
.c-page_title {
    font-weight: 700;
    font-size: 32px;
    font-size: 30.8px;
    font-size: 2.2rem;
    line-height: 1.8;
}
.c-title {
    font-weight: 700;
    font-size: 26px;
    font-size: 26.599px;
    font-size: 1.9rem;
    line-height: 1.6;
}
.c-large_headline {
    font-weight: 700;
    font-size: 22px;
    font-size: 22.4px;
    font-size: 1.6rem;
    line-height: 1.6;
}
.c-small_headline {
    font-weight: 700;
    font-size: 18px;
    font-size: 18.2px;
    font-size: 1.3rem;
}
.c-lead {
    font-size: 15px;
    font-size: 15.4px;
    font-size: 1.1rem;
}
.js-hide {
    display: none !important;
}
.js-sync {
    &:before, &:after {
        display: block;
        line-height: 0;
        content: "";
    }
    &:after {
        clear: both;
    }
}
.js-no_scroll {
    overflow: hidden;
}
.js-mouse_pointer {
    cursor: pointer;
}
.is-pc-hide {
    display: none!important;
    @media only screen and (max-width:640px) {
        display: block!important;
    }
}
.is-sp-hide {
    @media only screen and (max-width:640px) {
        display: none!important;
    }
}
@media print {
    @page {
        size: A4;
        margin-top: .4cm;
        margin: .5cm;
    }
}
body {
    @media print {
        -webkit-print-color-adjust: exact;
    }
}
.a-header {
    @media print {
        position: relative!important;
    }
}
.a-billboard {
    @media print {
        padding-top: 0!important;
    }
}
