@charset "UTF-8";

html {
    font-family: sans-serif;
    line-height: 1.15;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

article,
aside,
footer,
header,
nav,
section {
    display: block
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

figcaption,
figure,
main {
    display: block
}

figure {
    margin: 1em 40px
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

pre {
    font-family: monospace, monospace;
    font-size: 1em
}

a {
    background-color: transparent;
    -webkit-text-decoration-skip: objects
}

a:active,
a:hover {
    outline-width: 0
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: inherit
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}

dfn {
    font-style: italic
}

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: -.25em
}

sup {
    top: -.5em
}

audio,
video {
    display: inline-block
}

audio:not([controls]) {
    display: none;
    height: 0
}

img {
    border-style: none
}

svg:not(:root) {
    overflow: hidden
}

button,
input,
optgroup,
select,
textarea {
    font-family: sans-serif;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

[type=reset],
[type=submit],
button,
html [type=button] {
    -webkit-appearance: button
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
    border-style: none;
    padding: 0
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
    outline: 1px dotted ButtonText
}

fieldset {
    border: 1px solid silver;
    margin: 0 2px;
    padding: .35em .625em .75em
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

progress {
    display: inline-block;
    vertical-align: baseline
}

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-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

details,
menu {
    display: block
}

summary {
    display: list-item
}

canvas {
    display: inline-block
}

template {
    display: none
}

[hidden] {
    display: none
}

html {
    min-width: 100%;
    min-height: 100%;
    overflow-y: scroll;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%
}

body {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0
}

h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1.8;
    margin: 0
}

:after,
:before,
a,
article,
aside,
dd,
details,
div,
dl,
dt,
figcaption,
figure,
footer,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
img,
li,
main,
menu,
nav,
ol,
p,
section,
span,
summary,
table,
td,
th,
tr,
ul {
    box-sizing: border-box
}

dl,
li,
p,
table {
    margin: 0;
    /*line-break: strict;*/
    /*word-break: break-strict;*/
    word-wrap: break-word;
    /*line-height: 1.8;*/
    font-size: 100%
}

figure {
    margin: 0;
    padding: 0
}

img {
    max-width: 100%;
    vertical-align: top
}

ol,
ul {
    margin: 0;
    padding: 0
}

address {
    font-style: normal;
    line-height: 1.8
}

button,
input,
select,
textarea {
    margin: 0;
    padding: 0;
    background: 0 0;
    border: none;
    border-radius: 0;
    outline: 0;
    -webkit-appearance: none;
    appearance: none
}

.cfx {
    display: inline-block
}

* html .cfx {
    height: 1%
}

.cfx {
    display: block
}

.cfx:after {
    content: "";
    display: block;
    clear: both
}

html {
    box-sizing: border-box;
    font-size: 62.5%
}

body {
    color: #333;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 500;
    font-family: "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    /*line-height: 1.8;*/
    text-align: justify;
    letter-spacing: .03em
}

a {
    cursor: pointer;
    background: 0 0;
    color: #333;
    text-decoration: none
}

a:focus {
    outline: 0
}

a:active,
a:hover {
    /*color: #ccc;*/
    -webkit-transition: .4s ease-in-out;
    transition: .4s ease-in-out
}

::selection {
    background: #333;
    color: #fff
}

ul li {
    list-style: none;
    list-style-position: outside
}

ol li {
    list-style-type: decimal;
    list-style-position: outside
}

sup {
    font-size: 10px;
    font-size: 1rem;
    vertical-align: text-bottom
}

sub {
    font-size: 10px;
    font-size: 1rem;
    vertical-align: text-top
}

hr {
    width: 100%;
    height: 1px;
    border: none;
    margin: 0;
    background: #fff
}

.noscript {
    position: relative;
    padding: 20px 0;
    background: #fff;
    text-align: center;
    z-index: 99999
}

.noscript span {
    color: red
}

#wrapper {
    margin: 0;
    padding: 0;
    text-align: left;
    position: relative;
    overflow: hidden
}

@media print {
    #wrapper {
        width: 800px;
        overflow: hidden;
        border: none
    }
}

.container {
    width: 820px;
    position: relative;
    margin: 0 auto;
    padding-top: 105px;
}

section {
    /*padding: 40px 0;*/
}

@media only screen and (max-width: 767px) {
    .container{
        padding: 12vw calc(40 / 750 * 100vw) 0;
        width: 100%;
    }
}