html, body {
    margin: 0;
    padding: 0;
    outline: 0;
    border: 0;
    background: transparent;
    vertical-align: baseline;
    line-height: 1.6;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-feature-settings: "palt";
    letter-spacing: 0.05em;
}

body {
    font-size: 16px;
    min-width: 320px;
    -webkit-overflow-scrolling: touch;
}

* {
    box-sizing: border-box;
}

@font-face {
    font-family: "Yu Gothic";
    src: local("Yu Gothic Medium");
    font-family: "Yu Mincho";
    src: local("Yu Mincho Medium");
    font-weight: 100;
}

@font-face {
    font-family: "Yu Gothic";
    src: local("Yu Gothic Medium");
    font-family: "Yu Mincho";
    src: local("Yu Mincho Medium");
    font-weight: 200;
}

@font-face {
    font-family: "Yu Gothic";
    src: local("Yu Gothic Medium");
    font-family: "Yu Mincho";
    src: local("Yu Mincho Medium");
    font-weight: 300;
}

@font-face {
    font-family: "Yu Gothic";
    src: local("Yu Gothic Medium");
    font-family: "Yu Mincho";
    src: local("Yu Mincho Medium");
    font-weight: 400;
}

@font-face {
    font-family: "Yu Gothic";
    src: local("Yu Gothic Bold");
    font-family: "Yu Mincho";
    src: local("Yu Mincho Medium");
    font-weight: bold;
}

@font-face {
    font-family: "Helvetica Neue";
    src: local("Helvetica Neue Regular");
    font-family: "Yu Mincho";
    src: local("Yu Mincho Medium");
    font-weight: 100;
}

@font-face {
    font-family: "Helvetica Neue";
    src: local("Helvetica Neue Regular");
    font-family: "Yu Mincho";
    src: local("Yu Mincho Medium");
    font-weight: 200;
}

main, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, pre, address, em, img, q, small, strong, sub, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video, a {
    margin: 0;
    padding: 0;
    outline: 0;
    border: 0;
    background: transparent;
    vertical-align: baseline;
    word-break: break-all;
    word-wrap: break-word;
    font-weight: normal;
    font-size: 100%;
}

section {
    clear: both;
}

ol, ul, li, dl, dt, dd, p {
    list-style-type: none;
    list-style-position: inside;
    margin: 0;
    padding: 0;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
    border: none;
}

figcaption, figure, footer, header, menu, nav, section {
    display: block;
}

blockquote, q {
    quotes: none;
}

b, em, strong {
    font-weight: 600;
    font-style: normal;
}

blockquote:before, blockquote:after, q:before, q:after {
    content: "";
    content: none;
}

a {
    -webkit-tap-highlight-color: rgba(153, 153, 153, 0.4);
    text-decoration: none;
}

table {
    border-spacing: 0;
    border-collapse: collapse;
}

u {
    text-decoration: underline !important;
}

i {
    font-style: normal;
}

i.fa {
    display: inline-block;
    margin: 4px;
}

a, input[type=submit], input[type=button], button {
    transition: all 0.3s;
    backface-visibility: hidden;
    cursor: pointer;
}

input, select, option, textarea, button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-shadow: none;
    border: none;
    border-radius: 0;
}

ul, ol {
    letter-spacing: -0.4em;
}

ul li, ol li {
    letter-spacing: normal;
}

::-webkit-input-placeholder {
    color: #858585;
    font-size: 14px;
}

/* Chrome	*/
::-moz-placeholder {
    color: #858585;
    font-size: 14px;
}

/* Firefox */
:-ms-input-placeholder {
    color: #858585;
    font-size: 14px;
}

/* IE */
[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
    -webkit-appearance: none;
}

input:focus,
button:focus {
    outline: none;
}