@charset "utf-8";
*, :before, :after {
    box-sizing: border-box
}

* {
    margin: 0;
    padding: 0
}

html {
    font-size: 62.5%;
    -ms-overflow-style: scrollbar
}

body {
    line-height: 1;
    color: #000;
    font-family: 'Noto Sans JP', 'Noto Sans Japanese', sans-serif;
    font-feature-settings: 'palt';
}

a {
    color: #223983
}

input, select, button, textarea {
    font-family: inherit;
    font-size: inherit
}

input, select, button, textarea {
    margin: 1em 0
}

button {
    cursor: pointer
}

:focus {
    outline: 0
}

body {
    font-size: 1.4rem
}

@media (min-width: 768px) {
    body {
        font-size: 1.5rem
    }
}

h1, h2, h3, h4, h5, h6 {
    margin: 1.75rem 0;
    line-height: 1.5
}

h1, .h1 {
    font-size: 2.2rem
}

h2, .h2 {
    font-size: 2rem
}

h3, .h3 {
    font-size: 1.8rem
}

h4, .h4 {
    font-size: 1.6rem
}

h5, .h5 {
    font-size: 1.5rem
}

h6, .h6 {
    font-size: 1.5rem
}

@media (min-width: 768px) {
    h1, .h1 {
        font-size: 2.2rem
    }
    h2, .h2 {
        font-size: 2rem
    }
    h3, .h3 {
        font-size: 1.8rem
    }
    h4, .h4 {
        font-size: 1.6rem
    }
    h5, .h5 {
        font-size: 1.5rem
    }
    h6, .h6 {
        font-size: 1.5rem
    }
}

p {
    margin: 1rem 0;
    line-height: 1.8
}

ul, ol, dl {
    margin: 1rem 0
}

li, dt, dd {
    font-size: inherit;
    line-height: 1.8
}

img {
    vertical-align: middle
}

::selection {
    color: #fff;
    background: rgba(0, 0, 0, 0.8)
}

.text-left {
    text-align: left
}

.text-right {
    text-align: right
}

.text-center {
    text-align: center
}

.writing-mode-vertical {
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    -webkit-text-orientation: upright;
    text-orientation: upright
}

@media (min-width: 768px) {
    .medium-writing-mode-vertical {
        -ms-writing-mode: tb-rl;
        -webkit-writing-mode: vertical-rl;
        writing-mode: vertical-rl;
        -webkit-text-orientation: upright;
        text-orientation: upright
    }
}

@media (min-width: 768px) {
    .medium-text-left {
        text-align: left
    }
    .medium-text-right {
        text-align: right
    }
    .medium-text-center {
        text-align: center
    }
}

.text-normal {
    font-weight: 400
}

.text-italic {
    font-style: italic
}

.text-bold {
    font-weight: 700
}

.text-decoration-none {
    text-decoration: none
}

.list-style-type-none {
    list-style-type: none
}

.img-responsive {
    max-width: 100%;
    height: auto;
    image-rendering: -webkit-optimize-contrast
}

.overflow-hidden {
    overflow: hidden
}

.pointer-events-none {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
    color: inherit
}

@media (min-width: 768px) {
    .medium-pointer-events-none {
        pointer-events: none;
        cursor: default;
        text-decoration: none;
        color: inherit
    }
}

.vertical-align-bottom {
    vertical-align: bottom
}

.vertical-align-middle {
    vertical-align: middle
}

.vertical-align-top {
    vertical-align: top
}

.cursor-pointer {
    cursor: pointer
}

.white-space-nowrap {
    white-space: nowrap
}

.pull-right {
    float: right
}

.pull-left {
    float: left
}

.clearfix:before, .clearfix:after {
    content: '';
    display: table
}

.clearfix:after {
    clear: both
}

@media (min-width: 768px) {
    .medium-pull-right {
        float: right
    }
    .medium-pull-left {
        float: left
    }
}

.center-block {
    display: block!important;
    margin-left: auto!important;
    margin-right: auto!important
}

.right-block {
    display: block!important;
    margin-left: auto!important
}

.left-block {
    display: block!important;
    margin-right: auto!important
}

.expanded-inline-block {
    display: inline-block;
    width: 100%
}

@media (min-width: 768px) {
    .medium-pull-right {
        float: right
    }
    .medium-pull-left {
        float: left
    }
}