html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, 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, menu, nav, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent
}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

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

body {
    color: #131313;
    font-size: 1.4rem;
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", Meiryo, メイリオ, sans-serif;
    letter-spacing: .04em;
    line-height: 1.6;
    -webkit-text-size-adjust: 100%
}

@media only screen and (max-width: 768px) {
    body {
        font-size: 1.3rem;
        letter-spacing: normal
    }
}

.roboto {
    font-family: "Roboto", sans-serif
}

article, aside, details, figcaption, figure, footer, header, main, menu, nav, section {
    display: block
}

h1, h2, h3, h4, h5, h6, strong, b, dt, th {
    font-weight: normal
}

ol, ul {
    list-style: none
}

blockquote, q {
    quotes: none
}

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

a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s
}

ins {
    background-color: #ff9;
    color: #000;
    text-decoration: none
}

mark {
    background-color: #ff9;
    color: #000;
    font-style: italic;
    font-weight: bold
}

del {
    text-decoration: line-through
}

abbr[title], dfn[title] {
    border-bottom: 1px dotted;
    cursor: help
}

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

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0
}

input, select, button, textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0;
    border: none;
    background-color: transparent;
    font-family: inherit;
    font-size: 100%;
    vertical-align: middle
}

select {
    text-indent: .01px;
    -o-text-overflow: "";
    text-overflow: ""
}

select::-ms-expand {
    display: none
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s
}

em {
    font-style: normal
}

:selection {
    color: #000;
    background: #dbbe64
}

:-moz-selection {
    color: #000;
    background: #dbbe64
}

*, *::before, *::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.slick-slider {
    position: relative;
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent
}

.slick-list {
    position: relative;
    overflow: hidden;
    display: block;
    margin: 0;
    padding: 0
}

.slick-list:focus {
    outline: none
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}

.slick-slider .slick-track, .slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.slick-track {
    position: relative;
    left: 0;
    top: 0;
    display: block;
    margin-left: auto;
    margin-right: auto
}

.slick-track:before, .slick-track:after {
    content: "";
    display: table
}

.slick-track:after {
    clear: both
}

.slick-loading .slick-track {
    visibility: hidden
}

.slick-slide {
    float: left;
    height: 100%;
    min-height: 1px;
    display: none
}

[dir="rtl"] .slick-slide {
    float: right
}

.slick-slide img {
    display: block
}

.slick-slide.slick-loading img {
    display: none
}

.slick-slide.dragging img {
    pointer-events: none
}

.slick-initialized .slick-slide {
    display: block
}

.slick-loading .slick-slide {
    visibility: hidden
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent
}

.slick-arrow.slick-hidden {
    display: none
}

.slick-loading .slick-list {
    background: #fff url("./ajax-loader.gif") center center no-repeat
}

@font-face {
    font-family: "slick";
    src: url("./fonts/slick.eot");
    src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
    font-weight: normal;
    font-style: normal
}

.slick-prev, .slick-next {
    position: absolute;
    display: block;
    height: 20px;
    width: 20px;
    line-height: 0px;
    font-size: 0px;
    cursor: pointer;
    background: transparent;
    color: transparent;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    padding: 0;
    border: none;
    outline: none
}

.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent
}

.slick-prev:hover:before, .slick-prev:focus:before, .slick-next:hover:before, .slick-next:focus:before {
    opacity: 1
}

.slick-prev.slick-disabled:before, .slick-next.slick-disabled:before {
    opacity: .25
}

.slick-prev:before, .slick-next:before {
    font-family: "slick";
    font-size: 20px;
    line-height: 1;
    color: #fff;
    opacity: .75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.slick-prev {
    left: -25px
}

[dir="rtl"] .slick-prev {
    left: auto;
    right: -25px
}

.slick-prev:before {
    content: "←"
}

[dir="rtl"] .slick-prev:before {
    content: "→"
}

.slick-next {
    right: -25px
}

[dir="rtl"] .slick-next {
    left: -25px;
    right: auto
}

.slick-next:before {
    content: "→"
}

[dir="rtl"] .slick-next:before {
    content: "←"
}

.slick-dotted.slick-slider {
    margin-bottom: 30px
}

.slick-dots {
    position: absolute;
    bottom: -25px;
    list-style: none;
    display: block;
    text-align: center;
    padding: 0;
    margin: 0;
    width: 100%
}

.slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer
}

.slick-dots li button {
    border: 0;
    background: transparent;
    display: block;
    height: 20px;
    width: 20px;
    outline: none;
    line-height: 0px;
    font-size: 0px;
    color: transparent;
    padding: 5px;
    cursor: pointer
}

.slick-dots li button:hover, .slick-dots li button:focus {
    outline: none
}

.slick-dots li button:hover:before, .slick-dots li button:focus:before {
    opacity: 1
}

.slick-dots li button:before {
    position: absolute;
    top: 0;
    left: 0;
    content: "•";
    width: 20px;
    height: 20px;
    font-family: "slick";
    font-size: 6px;
    line-height: 20px;
    text-align: center;
    color: #000;
    opacity: .25;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.slick-dots li.slick-active button:before {
    color: #000;
    opacity: .75
}

.btn {
    border: solid 2px #131313;
    border-radius: 42px;
    color: #131313;
    text-decoration: none;
    cursor: pointer;
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
    max-width: 100%;
    width: 270px;
    height: 70px;
    font-size: 1.6rem;
    font-weight: 600;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center
}

@media screen and (max-width: 768px) {
    .btn {
        padding: 12.5px 0;
        height: 57px
    }
}

.btn:not(:first-of-type) {
    margin-left: 10px
}

.btn:hover {
    color: #fff;
    background-color: #131313
}

.btn.-small {
    width: 122px;
    height: 36px;
    font-size: 1.4rem;
    font-weight: 600
}

.btn.-black {
    color: #fff;
    background-color: #131313
}

.btn.-black:hover {
    color: #131313;
    background-color: #fff
}

.btn.-black.-arrow::before {
    content: url(/assets/images/common/arrow_white.svg)
}

.btn.-black.-arrow:hover::before {
    content: url(/assets/images/common/arrow_black.svg)
}

.btn.-arrow {
    position: relative
}

.btn.-arrow::before {
    content: url(/assets/images/common/arrow_black.svg);
    position: absolute;
    top: 50%;
    right: 20px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

.btn.-arrow:hover::before {
    content: url(/assets/images/common/arrow_white.svg)
}

.btn-wrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center
}

.btn-wrapper.-center {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

.btn-wrapper.-between {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.btn-wrapper.-around {
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
    justify-content: space-around
}

.text-link {
    font-size: 1.4rem;
    font-weight: bold;
    color: #131313;
    text-decoration: none;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.text-link::after {
    content: "";
    background: #fff url(/assets/images/common/arrow_red_right.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 13px;
    border: solid 2px #F94A4A;
    width: 50px;
    height: 50px;
    border-radius: 25px;
    margin-left: 10px;
    -webkit-transition: background-color .3s;
    -o-transition: background-color .3s;
    transition: background-color .3s
}

.text-link:hover {
    color: #F94A4A
}

.text-link:hover::after {
    content: "";
    background: #F94A4A url(/assets/images/common/arrow_white.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 13px
}

.text-anchor-link {
    font-size: 1.4rem;
    font-weight: bold;
    color: #131313;
    text-decoration: none;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center
}

@media screen and (max-width: 768px) {
    .text-anchor-link-wrapper {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-flow: column;
        -ms-flex-flow: column;
        flex-flow: column;
        -webkit-box-pack: start;
        -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -webkit-align-content: flex-start;
        -ms-flex-line-pack: start;
        align-content: flex-start;
        -webkit-box-align: start;
        -webkit-align-items: flex-start;
        -ms-flex-align: start;
        align-items: flex-start
    }
}

.text-anchor-link:not(:first-child) {
    margin-left: 40px
}

@media screen and (max-width: 768px) {
    .text-anchor-link:not(:first-child) {
        margin-left: 0
    }
}

.text-anchor-link::after {
    content: "";
    background: #fff url(/assets/images/common/arrow_red_right.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 10px;
    border: solid 2px #F94A4A;
    width: 27px;
    height: 27px;
    border-radius: 13.5px;
    margin: 8px;
    -webkit-transition: background-color .3s;
    -o-transition: background-color .3s;
    transition: background-color .3s;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg)
}

.text-anchor-link:hover {
    color: #F94A4A
}

.text-anchor-link:hover::after {
    content: "";
    background: #F94A4A url(/assets/images/common/arrow_white.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 10px
}

.text-anchor-link-wrapper {
    text-align: center
}

@media screen and (max-width: 768px) {
    .text-anchor-link-wrapper {
        text-align: left
    }
}

@media screen and (max-width: 768px) {
    .header {
        position: fixed;
        top: 0;
        width: 100%;
        height: 60px;
        z-index: 999
    }
}

.header-inner {
    max-width: 1100px;
    height: 90px;
    margin: 0 auto;
    padding: 0 20px;
    background-color: #fff;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media screen and (max-width: 1100px) {
    .header-inner {
        max-width: 100%;
        padding: 0 1vw
    }
}

@media screen and (max-width: 768px) {
    .header-inner {
        height: 100%;
        padding-right: 0;
        padding-left: 15px;
        -webkit-box-pack: start;
        -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        z-index: 99999
    }
}

.header-logo {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    margin-right: calc((114px) - 40px)
}

@media screen and (max-width: 1100px) {
    .header-logo {
        margin-right: 2vw
    }
}

@media screen and (max-width: 768px) {
    .header-logo {
        -webkit-box-pack: start;
        -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        margin-right: 0;
        width: calc(100% - 60px);
        height: 100%;
        z-index: 9999
    }
}

@media screen and (max-width: 1100px) {
    .header-logo img {
        width: 12.182vw
    }
}

@media screen and (max-width: 768px) {
    .header-logo img {
        width: 102px
    }
}

.header-menu {
    max-width: 760px;
    width: 100%
}

.header-menu-wrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    width: 100%;
    height: 100%
}

.header-menu-child:not(.btn-wrapper) {
    height: 100%
}

.header-menu-child:not(.btn-wrapper) a {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 1.4rem;
    font-weight: bold;
    color: #131313;
    text-decoration: none;
    height: 100%;
    padding: 0 5px;
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s
}

.header-menu-child:not(.btn-wrapper) a:hover, .header-menu-child:not(.btn-wrapper) a.active {
    color: #F94A4A
}

.header-menu-child:not(.btn-wrapper) a::before {
    position: absolute;
    content: '';
    width: 0;
    height: 6px;
    background-color: #F94A4A;
    bottom: 0;
    -webkit-transition: all .3s ease-out;
    -o-transition: all .3s ease-out;
    transition: all .3s ease-out;
    -webkit-transform: translateX(-5px);
    -ms-transform: translateX(-5px);
    transform: translateX(-5px)
}

.header-menu-child:not(.btn-wrapper) a:hover::before {
    width: 100%
}

.header-menu-child:not(.btn-wrapper) a.active {
    pointer-events: none
}

.header-menu-trigger {
    display: none
}

@media screen and (max-width: 768px) {
    .header-menu-trigger {
        position: relative;
        display: block;
        width: 60px;
        height: 60px;
        background-color: #131313;
        z-index: 9999
    }
    .header-menu-trigger span {
        background-color: #fff;
        width: 20px;
        height: 2px;
        position: absolute;
        right: 0;
        top: 50%;
        left: 0;
        margin: auto;
        -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
        transition: -webkit-transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
        -o-transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
        transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
        transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55), -webkit-transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55)
    }
    .header-menu-trigger span::before, .header-menu-trigger span::after {
        content: '';
        background-color: #fff;
        width: 20px;
        height: 2px;
        position: absolute;
        -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
        transition: -webkit-transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
        -o-transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
        transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
        transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55), -webkit-transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55)
    }
    .header-menu-trigger span::before {
        top: -7px
    }
    .header-menu-trigger span::after {
        top: 7px
    }
}

@media screen and (max-width: 768px) {
    .header-menu {
        opacity: 0;
        width: 0;
        -webkit-transition: opacity .5s;
        -o-transition: opacity .5s;
        transition: opacity .5s;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-align-content: center;
        -ms-flex-line-pack: center;
        align-content: center
    }
}

@media screen and (max-width: 768px) {
    .header-menu-open .header-menu {
        z-index: 9998;
        opacity: 1;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
        height: 100%;
        background-color: #fff
    }
    .header-menu-open .header-menu-wrapper {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-flow: column;
        -ms-flex-flow: column;
        flex-flow: column;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center
    }
    .header-menu-open .header-menu-child {
        height: auto;
        width: 100%;
        max-width: 220px
    }
    .header-menu-open .header-menu-child a {
        text-align: center;
        display: block;
        padding-top: 20.5px;
        padding-bottom: 20.5px;
        font-size: 1.6rem
    }
    .header-menu-open .header-menu-child a::before {
        content: none
    }
    .header-menu-open .header-menu-child.btn-wrapper {
        margin-top: 35px
    }
    .header-menu-open .header-menu-child.btn-wrapper .btn {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        width: 100%;
        height: 57px;
        padding: 0
    }
    .header-menu-open .header-menu-trigger span {
        background-color: #131313
    }
    .header-menu-open .header-menu-trigger span::before {
        -webkit-transform: translate3d(0, 7px, 0) rotate(225deg);
        transform: translate3d(0, 7px, 0) rotate(225deg)
    }
    .header-menu-open .header-menu-trigger span::after {
        -webkit-transform: translate3d(0, -7px, 0) rotate(310deg);
        transform: translate3d(0, -7px, 0) rotate(310deg)
    }
}

.header.fixed {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 999
}

.footer {
    margin-top: 1px;
    background-color: #fff
}

.footer-inner {
    max-width: 980px;
    width: 100%;
    height: 133px;
    margin: 0 auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center
}

@media screen and (max-width: 768px) {
    .footer-inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -webkit-flex-flow: column-reverse;
        -ms-flex-flow: column-reverse;
        flex-flow: column-reverse;
        height: 130px;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center
    }
}

.footer-left-child {
    font-size: 1.2rem;
    color: #9CAEB9
}

@media screen and (max-width: 768px) {
    .footer-right {
        width: 100%;
        margin-bottom: 25.6px
    }
}

.footer-right-inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    list-style: none
}

.footer-right-child {
    margin: 0 50px
}

@media screen and (max-width: 768px) {
    .footer-right-child {
        margin: 0 20px
    }
}

.footer-right-child:first-child {
    margin-right: 0
}

.footer-right-child:last-child {
    margin-left: 0
}

.footer-right-child a {
    font-size: 1.4rem;
    color: #9CAEB9;
    text-decoration: none;
    position: relative
}

.footer-right-child a::before {
    content: "";
    width: 0;
    height: 1px;
    position: absolute;
    bottom: 0;
    background-color: #9CAEB9;
    -webkit-transition: width .3s;
    -o-transition: width .3s;
    transition: width .3s
}

.footer-right-child a:hover::before {
    width: 100%
}

.form-column {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
}

@media screen and (max-width: 768px) {
    .form-column {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-flow: column;
        -ms-flex-flow: column;
        flex-flow: column
    }
}

.form-column:not(:last-child) {
    margin-bottom: 40px
}

@media screen and (max-width: 768px) {
    .form-column:not(:last-child) {
        margin-bottom: 20px
    }
}

.form-column-label {
    max-width: 190px;
    width: 100%;
    padding-top: 10px;
    font-size: 1.4rem
}

@media screen and (max-width: 768px) {
    .form-column-label.-blank {
        display: none
    }
}

@media screen and (max-width: 768px) {
    .form-column-label {
        padding-top: 0;
        margin-bottom: 10px
    }
}

.form-column-input, .form-column-content {
    width: 100%;
    font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", Meiryo, メイリオ, sans-serif;
    font-size: 14px;
    padding: 10px 20px;
    background-color: #EFEFEF;
    border: none;
    border-radius: 5px;
    vertical-align: middle;
    display: table-cell
}

.form-column-input:-moz-read-only, .form-column-content:-moz-read-only {
    background-color: #fff;
    height: auto;
    min-height: 40px
}

.form-column-input:read-only, .form-column-content:read-only {
    background-color: #fff;
    height: auto;
    min-height: 40px
}

.form-column-input {
    max-width: 410px;
    height: 40px
}

@media screen and (max-width: 768px) {
    .form-column-input {
        padding: 5px 10px
    }
}

.form-column-content {
    max-width: 580px;
    height: 240px
}

@media screen and (max-width: 768px) {
    .form-column-content {
        padding: 10px 10px
    }
}

.form-select-wrapper {
    position: relative;
    width: 100%;
    max-width: 410px
}

.form-select-wrapper .form-column-input {
    background: url(../images/common/arrow-form-select.svg) no-repeat, #EFEFEF;
    background-position-x: 97%;
    background-position-y: center;
    cursor: pointer
}

@media screen and (max-width: 768px) {
    .form-select-wrapper .form-column-input {
        padding-right: 30px
    }
}

.table {
    width: 100%
}

.table-row {
    width: 100%
}

@media screen and (max-width: 768px) {
    .table-row {
        display: block
    }
}

.table-head {
    width: 270px;
    background-color: #F0F0F0;
    padding: 25px 34px;
    border-top: solid 1px #fff;
    border-bottom: solid 1px #fff;
    text-align: left;
    color: #131313
}

@media screen and (max-width: 768px) {
    .table-head {
        width: 100%;
        display: block;
        border: none
    }
}

.table-data {
    width: calc(100% - 270px);
    padding: 25px 34px;
    border-top: solid 1px #F0F0F0;
    border-bottom: solid 1px #F0F0F0;
    border-right: solid 1px #F0F0F0;
    color: #8A8A8A;
    line-height: 2
}

@media screen and (max-width: 768px) {
    .table-data {
        width: 100%;
        display: block;
        border: solid 1px #F0F0F0;
        padding: 20px
    }
}

.table-data a {
    color: #F94A4A
}

@font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 400;
    src: local("Noto Sans CJK JP"), local("Noto Sans JP"), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff2) format("woff2"), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff) format("woff"), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.otf) format("opentype")
}

body {
    font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", Meiryo, メイリオ, sans-serif;
    background-color: #F8F8F8
}

.wrapper {
    width: 100%
}

@media screen and (max-width: 768px) {
    .wrapper:first-of-type {
        margin-top: 60px
    }
}

.fixed+.wrapper:first-of-type {
    margin-top: 90px
}

.section.bg-white {
    background-color: #fff
}

.section-big-title h2 {
    font-size: 4.8rem;
    font-weight: bold;
    line-height: 1
}

@media screen and (max-width: 768px) {
    .section-big-title h2 {
        font-size: 3.6rem
    }
}

.section-big-title p {
    font-weight: bold;
    font-size: 1.8rem
}

@media screen and (max-width: 768px) {
    .section-big-title p {
        font-size: 1.6rem
    }
}

.section-title h2 {
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1.3
}

@media screen and (max-width: 768px) {
    .section-title h2 {
        font-size: 2.4rem
    }
}

.section-title p {
    font-weight: bold;
    font-size: 1.4rem;
    margin-top: 6px;
    color: #F94A4A
}

@media screen and (max-width: 768px) {
    .section-title p {
        margin-top: 10px;
        font-size: 1.2rem
    }
}

.inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 80px 60px 40px
}

@media screen and (max-width: 1100px) {
    .inner {
        max-width: 100%
    }
}

@media screen and (max-width: 768px) {
    .inner {
        padding: 30px 15px
    }
}

.inner:not(:first-child) {
    padding-top: 0
}

@media screen and (max-width: 768px) {
    .inner:first-child {
        padding-top: 60px
    }
}

.inner:last-child {
    padding-bottom: 80px
}

@media screen and (max-width: 768px) {
    .inner:last-child {
        padding-bottom: 60px
    }
}

.main-visual {
    height: 270px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column;
    -ms-flex-flow: column;
    flex-flow: column
}

@media screen and (max-width: 768px) {
    .main-visual {
        height: 110px
    }
}

.main-visual-content {
    font-size: 4.8rem;
    font-weight: bold;
    text-align: center
}

@media screen and (max-width: 768px) {
    .main-visual-content {
        font-size: 2.6rem;
        line-height: 1.3
    }
}

.main-visual-lead {
    font-size: 1.8rem
}

@media screen and (max-width: 768px) {
    .main-visual-lead {
        font-size: 1.4rem
    }
}

.contact-area .inner {
    padding-top: 92px;
    padding-bottom: 92px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center
}

@media screen and (max-width: 768px) {
    .contact-area .inner {
        display: block;
        padding-top: 60px;
        padding-bottom: 60px
    }
}

.contact-area-item {
    max-width: 460px;
    width: 100%;
    min-height: 150px;
    padding: 27.5px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column;
    -ms-flex-flow: column;
    flex-flow: column;
    text-decoration: none;
    font-weight: bold;
    position: relative;
    -webkit-transition: background .3s;
    -o-transition: background .3s;
    transition: background .3s
}

@media screen and (max-width: 768px) {
    .contact-area-item {
        max-width: none;
        padding: 20px;
        min-height: 110px
    }
    .contact-area-item:not(:first-child) {
        margin-top: 15px
    }
}

.contact-area-item::after {
    position: absolute;
    top: 50%;
    right: 27.5px;
    display: block;
    width: 22px;
    height: 22px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

.contact-area-item.-contact {
    color: #fff;
    background-color: #F8B921
}

.contact-area-item.-contact::after {
    content: url(/assets/images/common/arrow_white.svg)
}

.contact-area-item.-contact:hover {
    background-color: #FFD164
}

.contact-area-item.-twitter {
    color: #131313;
    background-color: #E9F1F4
}

.contact-area-item.-twitter::after {
    content: url(/assets/images/common/arrow_black.svg)
}

@media screen and (max-width: 768px) {
    .contact-area-item.-twitter .contact-area-title {
        font-size: 2.9rem
    }
}

.contact-area-item:hover {
    background-color: #F5FCFF
}

.contact-area-title {
    font-size: 3.2rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    line-height: 1;
    margin-bottom: 10px
}

@media screen and (max-width: 768px) {
    .contact-area-title {
        font-size: 2.2rem
    }
}

.contact-area-title img {
    margin-right: 5px
}

@media screen and (max-width: 768px) {
    .contact-area-title img {
        width: 27px
    }
}

.contact-area-text {
    font-size: 1.6rem
}

@media screen and (max-width: 768px) {
    .contact-area-text {
        font-size: 1rem
    }
}

p {
    font-size: 1.4rem;
    line-height: 1.8
}

@media screen and (max-width: 768px) {
    p {
        font-size: 1.3rem
    }
}

.text-center {
    text-align: center
}

.text-right {
    text-align: right
}

.text-left {
    text-align: left
}

.color-gray {
    color: #9CAEB9
}

.color-darkgray {
    color: #8A8A8A
}

.pc-only {
    display: block
}

@media screen and (max-width: 768px) {
    .pc-only {
        display: none
    }
}

.pc-only-inline {
    display: inline
}

@media screen and (max-width: 768px) {
    .pc-only-inline {
        display: none
    }
}

.sp-only {
    display: none
}

@media screen and (max-width: 768px) {
    .sp-only {
        display: block
    }
}

.sp-only-inline {
    display: inline
}

@media screen and (max-width: 768px) {
    .sp-only-inline {
        display: block
    }
}

.m0 {
    margin: 0px !important
}

.mt0 {
    margin-top: 0px !important
}

.mb0 {
    margin-bottom: 0px !important
}

.mr0 {
    margin-right: 0px !important
}

.ml0 {
    margin-left: 0px !important
}

.p0 {
    padding: 0px !important
}

.pt0 {
    padding-top: 0px !important
}

.pb0 {
    padding-bottom: 0px !important
}

.pr0 {
    padding-right: 0px !important
}

.pl0 {
    padding-left: 0px !important
}

.m5 {
    margin: 5px !important
}

.mt5 {
    margin-top: 5px !important
}

.mb5 {
    margin-bottom: 5px !important
}

.mr5 {
    margin-right: 5px !important
}

.ml5 {
    margin-left: 5px !important
}

.p5 {
    padding: 5px !important
}

.pt5 {
    padding-top: 5px !important
}

.pb5 {
    padding-bottom: 5px !important
}

.pr5 {
    padding-right: 5px !important
}

.pl5 {
    padding-left: 5px !important
}

.m10 {
    margin: 10px !important
}

.mt10 {
    margin-top: 10px !important
}

.mb10 {
    margin-bottom: 10px !important
}

.mr10 {
    margin-right: 10px !important
}

.ml10 {
    margin-left: 10px !important
}

.p10 {
    padding: 10px !important
}

.pt10 {
    padding-top: 10px !important
}

.pb10 {
    padding-bottom: 10px !important
}

.pr10 {
    padding-right: 10px !important
}

.pl10 {
    padding-left: 10px !important
}

.m15 {
    margin: 15px !important
}

.mt15 {
    margin-top: 15px !important
}

.mb15 {
    margin-bottom: 15px !important
}

.mr15 {
    margin-right: 15px !important
}

.ml15 {
    margin-left: 15px !important
}

.p15 {
    padding: 15px !important
}

.pt15 {
    padding-top: 15px !important
}

.pb15 {
    padding-bottom: 15px !important
}

.pr15 {
    padding-right: 15px !important
}

.pl15 {
    padding-left: 15px !important
}

.m20 {
    margin: 20px !important
}

.mt20 {
    margin-top: 20px !important
}

.mb20 {
    margin-bottom: 20px !important
}

.mr20 {
    margin-right: 20px !important
}

.ml20 {
    margin-left: 20px !important
}

.p20 {
    padding: 20px !important
}

.pt20 {
    padding-top: 20px !important
}

.pb20 {
    padding-bottom: 20px !important
}

.pr20 {
    padding-right: 20px !important
}

.pl20 {
    padding-left: 20px !important
}

.m25 {
    margin: 25px !important
}

.mt25 {
    margin-top: 25px !important
}

.mb25 {
    margin-bottom: 25px !important
}

.mr25 {
    margin-right: 25px !important
}

.ml25 {
    margin-left: 25px !important
}

.p25 {
    padding: 25px !important
}

.pt25 {
    padding-top: 25px !important
}

.pb25 {
    padding-bottom: 25px !important
}

.pr25 {
    padding-right: 25px !important
}

.pl25 {
    padding-left: 25px !important
}

.m30 {
    margin: 30px !important
}

.mt30 {
    margin-top: 30px !important
}

.mb30 {
    margin-bottom: 30px !important
}

.mr30 {
    margin-right: 30px !important
}

.ml30 {
    margin-left: 30px !important
}

.p30 {
    padding: 30px !important
}

.pt30 {
    padding-top: 30px !important
}

.pb30 {
    padding-bottom: 30px !important
}

.pr30 {
    padding-right: 30px !important
}

.pl30 {
    padding-left: 30px !important
}

.m35 {
    margin: 35px !important
}

.mt35 {
    margin-top: 35px !important
}

.mb35 {
    margin-bottom: 35px !important
}

.mr35 {
    margin-right: 35px !important
}

.ml35 {
    margin-left: 35px !important
}

.p35 {
    padding: 35px !important
}

.pt35 {
    padding-top: 35px !important
}

.pb35 {
    padding-bottom: 35px !important
}

.pr35 {
    padding-right: 35px !important
}

.pl35 {
    padding-left: 35px !important
}

.m40 {
    margin: 40px !important
}

.mt40 {
    margin-top: 40px !important
}

.mb40 {
    margin-bottom: 40px !important
}

.mr40 {
    margin-right: 40px !important
}

.ml40 {
    margin-left: 40px !important
}

.p40 {
    padding: 40px !important
}

.pt40 {
    padding-top: 40px !important
}

.pb40 {
    padding-bottom: 40px !important
}

.pr40 {
    padding-right: 40px !important
}

.pl40 {
    padding-left: 40px !important
}

.m45 {
    margin: 45px !important
}

.mt45 {
    margin-top: 45px !important
}

.mb45 {
    margin-bottom: 45px !important
}

.mr45 {
    margin-right: 45px !important
}

.ml45 {
    margin-left: 45px !important
}

.p45 {
    padding: 45px !important
}

.pt45 {
    padding-top: 45px !important
}

.pb45 {
    padding-bottom: 45px !important
}

.pr45 {
    padding-right: 45px !important
}

.pl45 {
    padding-left: 45px !important
}

.m50 {
    margin: 50px !important
}

.mt50 {
    margin-top: 50px !important
}

.mb50 {
    margin-bottom: 50px !important
}

.mr50 {
    margin-right: 50px !important
}

.ml50 {
    margin-left: 50px !important
}

.p50 {
    padding: 50px !important
}

.pt50 {
    padding-top: 50px !important
}

.pb50 {
    padding-bottom: 50px !important
}

.pr50 {
    padding-right: 50px !important
}

.pl50 {
    padding-left: 50px !important
}

.m55 {
    margin: 55px !important
}

.mt55 {
    margin-top: 55px !important
}

.mb55 {
    margin-bottom: 55px !important
}

.mr55 {
    margin-right: 55px !important
}

.ml55 {
    margin-left: 55px !important
}

.p55 {
    padding: 55px !important
}

.pt55 {
    padding-top: 55px !important
}

.pb55 {
    padding-bottom: 55px !important
}

.pr55 {
    padding-right: 55px !important
}

.pl55 {
    padding-left: 55px !important
}

.m60 {
    margin: 60px !important
}

.mt60 {
    margin-top: 60px !important
}

.mb60 {
    margin-bottom: 60px !important
}

.mr60 {
    margin-right: 60px !important
}

.ml60 {
    margin-left: 60px !important
}

.p60 {
    padding: 60px !important
}

.pt60 {
    padding-top: 60px !important
}

.pb60 {
    padding-bottom: 60px !important
}

.pr60 {
    padding-right: 60px !important
}

.pl60 {
    padding-left: 60px !important
}

.m65 {
    margin: 65px !important
}

.mt65 {
    margin-top: 65px !important
}

.mb65 {
    margin-bottom: 65px !important
}

.mr65 {
    margin-right: 65px !important
}

.ml65 {
    margin-left: 65px !important
}

.p65 {
    padding: 65px !important
}

.pt65 {
    padding-top: 65px !important
}

.pb65 {
    padding-bottom: 65px !important
}

.pr65 {
    padding-right: 65px !important
}

.pl65 {
    padding-left: 65px !important
}

.m70 {
    margin: 70px !important
}

.mt70 {
    margin-top: 70px !important
}

.mb70 {
    margin-bottom: 70px !important
}

.mr70 {
    margin-right: 70px !important
}

.ml70 {
    margin-left: 70px !important
}

.p70 {
    padding: 70px !important
}

.pt70 {
    padding-top: 70px !important
}

.pb70 {
    padding-bottom: 70px !important
}

.pr70 {
    padding-right: 70px !important
}

.pl70 {
    padding-left: 70px !important
}

.m75 {
    margin: 75px !important
}

.mt75 {
    margin-top: 75px !important
}

.mb75 {
    margin-bottom: 75px !important
}

.mr75 {
    margin-right: 75px !important
}

.ml75 {
    margin-left: 75px !important
}

.p75 {
    padding: 75px !important
}

.pt75 {
    padding-top: 75px !important
}

.pb75 {
    padding-bottom: 75px !important
}

.pr75 {
    padding-right: 75px !important
}

.pl75 {
    padding-left: 75px !important
}

.m80 {
    margin: 80px !important
}

.mt80 {
    margin-top: 80px !important
}

.mb80 {
    margin-bottom: 80px !important
}

.mr80 {
    margin-right: 80px !important
}

.ml80 {
    margin-left: 80px !important
}

.p80 {
    padding: 80px !important
}

.pt80 {
    padding-top: 80px !important
}

.pb80 {
    padding-bottom: 80px !important
}

.pr80 {
    padding-right: 80px !important
}

.pl80 {
    padding-left: 80px !important
}

.m85 {
    margin: 85px !important
}

.mt85 {
    margin-top: 85px !important
}

.mb85 {
    margin-bottom: 85px !important
}

.mr85 {
    margin-right: 85px !important
}

.ml85 {
    margin-left: 85px !important
}

.p85 {
    padding: 85px !important
}

.pt85 {
    padding-top: 85px !important
}

.pb85 {
    padding-bottom: 85px !important
}

.pr85 {
    padding-right: 85px !important
}

.pl85 {
    padding-left: 85px !important
}

.m90 {
    margin: 90px !important
}

.mt90 {
    margin-top: 90px !important
}

.mb90 {
    margin-bottom: 90px !important
}

.mr90 {
    margin-right: 90px !important
}

.ml90 {
    margin-left: 90px !important
}

.p90 {
    padding: 90px !important
}

.pt90 {
    padding-top: 90px !important
}

.pb90 {
    padding-bottom: 90px !important
}

.pr90 {
    padding-right: 90px !important
}

.pl90 {
    padding-left: 90px !important
}

.m95 {
    margin: 95px !important
}

.mt95 {
    margin-top: 95px !important
}

.mb95 {
    margin-bottom: 95px !important
}

.mr95 {
    margin-right: 95px !important
}

.ml95 {
    margin-left: 95px !important
}

.p95 {
    padding: 95px !important
}

.pt95 {
    padding-top: 95px !important
}

.pb95 {
    padding-bottom: 95px !important
}

.pr95 {
    padding-right: 95px !important
}

.pl95 {
    padding-left: 95px !important
}

.m100 {
    margin: 100px !important
}

.mt100 {
    margin-top: 100px !important
}

.mb100 {
    margin-bottom: 100px !important
}

.mr100 {
    margin-right: 100px !important
}

.ml100 {
    margin-left: 100px !important
}

.p100 {
    padding: 100px !important
}

.pt100 {
    padding-top: 100px !important
}

.pb100 {
    padding-bottom: 100px !important
}

.pr100 {
    padding-right: 100px !important
}

.pl100 {
    padding-left: 100px !important
}

.m105 {
    margin: 105px !important
}

.mt105 {
    margin-top: 105px !important
}

.mb105 {
    margin-bottom: 105px !important
}

.mr105 {
    margin-right: 105px !important
}

.ml105 {
    margin-left: 105px !important
}

.p105 {
    padding: 105px !important
}

.pt105 {
    padding-top: 105px !important
}

.pb105 {
    padding-bottom: 105px !important
}

.pr105 {
    padding-right: 105px !important
}

.pl105 {
    padding-left: 105px !important
}

.m110 {
    margin: 110px !important
}

.mt110 {
    margin-top: 110px !important
}

.mb110 {
    margin-bottom: 110px !important
}

.mr110 {
    margin-right: 110px !important
}

.ml110 {
    margin-left: 110px !important
}

.p110 {
    padding: 110px !important
}

.pt110 {
    padding-top: 110px !important
}

.pb110 {
    padding-bottom: 110px !important
}

.pr110 {
    padding-right: 110px !important
}

.pl110 {
    padding-left: 110px !important
}

.m115 {
    margin: 115px !important
}

.mt115 {
    margin-top: 115px !important
}

.mb115 {
    margin-bottom: 115px !important
}

.mr115 {
    margin-right: 115px !important
}

.ml115 {
    margin-left: 115px !important
}

.p115 {
    padding: 115px !important
}

.pt115 {
    padding-top: 115px !important
}

.pb115 {
    padding-bottom: 115px !important
}

.pr115 {
    padding-right: 115px !important
}

.pl115 {
    padding-left: 115px !important
}

.m120 {
    margin: 120px !important
}

.mt120 {
    margin-top: 120px !important
}

.mb120 {
    margin-bottom: 120px !important
}

.mr120 {
    margin-right: 120px !important
}

.ml120 {
    margin-left: 120px !important
}

.p120 {
    padding: 120px !important
}

.pt120 {
    padding-top: 120px !important
}

.pb120 {
    padding-bottom: 120px !important
}

.pr120 {
    padding-right: 120px !important
}

.pl120 {
    padding-left: 120px !important
}

.m125 {
    margin: 125px !important
}

.mt125 {
    margin-top: 125px !important
}

.mb125 {
    margin-bottom: 125px !important
}

.mr125 {
    margin-right: 125px !important
}

.ml125 {
    margin-left: 125px !important
}

.p125 {
    padding: 125px !important
}

.pt125 {
    padding-top: 125px !important
}

.pb125 {
    padding-bottom: 125px !important
}

.pr125 {
    padding-right: 125px !important
}

.pl125 {
    padding-left: 125px !important
}

.m130 {
    margin: 130px !important
}

.mt130 {
    margin-top: 130px !important
}

.mb130 {
    margin-bottom: 130px !important
}

.mr130 {
    margin-right: 130px !important
}

.ml130 {
    margin-left: 130px !important
}

.p130 {
    padding: 130px !important
}

.pt130 {
    padding-top: 130px !important
}

.pb130 {
    padding-bottom: 130px !important
}

.pr130 {
    padding-right: 130px !important
}

.pl130 {
    padding-left: 130px !important
}

.m135 {
    margin: 135px !important
}

.mt135 {
    margin-top: 135px !important
}

.mb135 {
    margin-bottom: 135px !important
}

.mr135 {
    margin-right: 135px !important
}

.ml135 {
    margin-left: 135px !important
}

.p135 {
    padding: 135px !important
}

.pt135 {
    padding-top: 135px !important
}

.pb135 {
    padding-bottom: 135px !important
}

.pr135 {
    padding-right: 135px !important
}

.pl135 {
    padding-left: 135px !important
}

.m140 {
    margin: 140px !important
}

.mt140 {
    margin-top: 140px !important
}

.mb140 {
    margin-bottom: 140px !important
}

.mr140 {
    margin-right: 140px !important
}

.ml140 {
    margin-left: 140px !important
}

.p140 {
    padding: 140px !important
}

.pt140 {
    padding-top: 140px !important
}

.pb140 {
    padding-bottom: 140px !important
}

.pr140 {
    padding-right: 140px !important
}

.pl140 {
    padding-left: 140px !important
}

.m145 {
    margin: 145px !important
}

.mt145 {
    margin-top: 145px !important
}

.mb145 {
    margin-bottom: 145px !important
}

.mr145 {
    margin-right: 145px !important
}

.ml145 {
    margin-left: 145px !important
}

.p145 {
    padding: 145px !important
}

.pt145 {
    padding-top: 145px !important
}

.pb145 {
    padding-bottom: 145px !important
}

.pr145 {
    padding-right: 145px !important
}

.pl145 {
    padding-left: 145px !important
}

.m150 {
    margin: 150px !important
}

.mt150 {
    margin-top: 150px !important
}

.mb150 {
    margin-bottom: 150px !important
}

.mr150 {
    margin-right: 150px !important
}

.ml150 {
    margin-left: 150px !important
}

.p150 {
    padding: 150px !important
}

.pt150 {
    padding-top: 150px !important
}

.pb150 {
    padding-bottom: 150px !important
}

.pr150 {
    padding-right: 150px !important
}

.pl150 {
    padding-left: 150px !important
}

#google-map {
    max-width: 980px;
    width: 100%;
    height: 489px
}

@media screen and (max-width: 768px) {
    #google-map {
        height: 340px
    }
}

.top-visual {
    max-width: 1100px;
    width: 100%;
    margin: 90px auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center
}

@media screen and (max-width: 768px) {
    .top-visual {
        display: block;
        padding: 0 15px;
        margin: 95px auto 35px
    }
}

.top-left {
    width: 50%;
    -webkit-flex-basis: 50%;
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%
}

@media screen and (max-width: 768px) {
    .top-left {
        width: 100%;
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        position: relative;
        z-index: 2
    }
    .top-left .slick-dots {
        position: absolute;
        top: 50%;
        left: 0;
        -webkit-transform: rotateZ(90deg) translate(-30%, -50%);
        -ms-transform: rotate(90deg) translate(-30%, -50%);
        transform: rotateZ(90deg) translate(-30%, -50%)
    }
    .top-left .slick-dots li {
        border: solid 2px #F94A4A;
        background-color: #F94A4A;
        width: 10px;
        height: 10px;
        border-radius: 10px
    }
    .top-left .slick-dots li button::before {
        content: none
    }
    .top-left .slick-dots li.slick-active {
        background-color: #fff
    }
}

.top-left-slider {
    background-color: #F0F0F0;
    padding: 10px
}

@media screen and (max-width: 768px) {
    .top-left-slider {
        padding: 5px;
        margin-right: 20px
    }
    .top-left-slider.slick-dotted {
        margin-bottom: 0
    }
}

.top-left-slider li img {
    width: 100%
}

.top-right {
    width: 50%;
    -webkit-flex-basis: 50%;
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column;
    -ms-flex-flow: column;
    flex-flow: column;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between
}

@media screen and (max-width: 768px) {
    .top-right {
        width: 90%;
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        z-index: 1;
        margin-top: -25px;
        margin-left: auto
    }
}

.top-right-slide-nav {
    padding-left: 50px;
    margin-bottom: 10px
}

@media screen and (max-width: 768px) {
    .top-right-slide-nav {
        display: none
    }
    .top-right-slide-nav * {
        display: none
    }
}

.top-right-slide-nav li {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    padding: 15px 35px 15px 15px;
    background-color: #fff;
    cursor: pointer;
    position: relative;
    -webkit-transition: color .3s;
    -o-transition: color .3s;
    transition: color .3s
}

.top-right-slide-nav li::before, .top-right-slide-nav li::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 8px;
    height: 100%
}

.top-right-slide-nav li::before {
    background-color: #F94A4A
}

.top-right-slide-nav li::after {
    background-color: #E2E2E2
}

.top-right-slide-nav li:not(:last-child) {
    margin-bottom: 10px
}

.top-right-slide-nav li.active::after {
    -webkit-transition: height 5s linear;
    -o-transition: height 5s linear;
    transition: height 5s linear;
    height: 0
}

.top-right-slide-nav li:hover {
    color: #F94A4A
}

.top-right-slide-nav-image {
    width: 80px
}

.top-right-slide-nav-image img {
    width: 100%
}

.top-right-slide-nav-text {
    width: calc(100% - 80px - 13.6px);
    max-height: calc(1.4rem * 3 * 1.8);
    overflow: hidden;
    font-weight: bold
}

.top-right-news {
    position: relative
}

.top-right-news::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 8px;
    height: 100%;
    background-color: #F94A4A
}

.top-right-news-item>a, .top-right-news-item>span {
    padding: 30px 35px 30px 20px;
    background-color: #fff;
    text-decoration: none;
    display: block;
    -webkit-transition: color .3s;
    -o-transition: color .3s;
    transition: color .3s;
    color: #131313
}

@media screen and (max-width: 768px) {
    .top-right-news-item>a, .top-right-news-item>span {
        padding: 45px 20px 20px
    }
}

.top-right-news-item>a:hover {
    color: #F94A4A
}

.top-right-news-text {
    font-size: 2.2rem;
    font-weight: bold;
    margin-bottom: 30px
}

@media screen and (max-width: 768px) {
    .top-right-news-text {
        font-size: 1.6rem;
        letter-spacing: 0;
        margin-bottom: 5px
    }
}

.top-right-news-info {
    color: #C3C3C3;
    font-size: 1.4rem
}

.top-right-news-category {
    position: relative;
    margin-right: 47px
}

.top-right-news-category::after {
    content: "";
    position: absolute;
    width: 1px;
    height: 14px;
    display: inline-block;
    background-color: #C3C3C3;
    top: 3px;
    right: -23px
}

.top-event {
    background: -webkit-gradient(linear, left bottom, left top, from(transparent), color-stop(25%, transparent), color-stop(25%, #fff), to(#fff));
    background: -o-linear-gradient(bottom, transparent 0%, transparent 25%, #fff 25%, #fff 100%);
    background: linear-gradient(0deg, transparent 0%, transparent 25%, #fff 25%, #fff 100%);
    margin-bottom: 90px
}

@media screen and (max-width: 768px) {
    .top-event {
        background: -webkit-gradient(linear, left bottom, left top, from(transparent), color-stop(15%, transparent), color-stop(15%, #fff), to(#fff));
        background: -o-linear-gradient(bottom, transparent 0%, transparent 15%, #fff 15%, #fff 100%);
        background: linear-gradient(0deg, transparent 0%, transparent 15%, #fff 15%, #fff 100%);
        margin-bottom: 60px
    }
}

.top-event .inner {
    padding-bottom: 0
}

.top-event-index {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    margin-bottom: 60px
}

@media screen and (max-width: 768px) {
    .top-event-index {
        display: block;
        margin-bottom: 40px
    }
}

.top-event-title {
    width: 37.55%
}

@media screen and (max-width: 768px) {
    .top-event-title {
        width: 100%;
        margin-bottom: 20px
    }
}

.top-event-title h2 {
    font-size: 2.8rem;
    font-weight: bold
}

@media screen and (max-width: 768px) {
    .top-event-title h2 {
        font-size: 2.4rem
    }
}

.top-event-title p {
    color: #F94A4A;
    font-weight: bold
}

@media screen and (max-width: 768px) {
    .top-event-title p {
        font-size: 1.2rem
    }
}

.top-event-lead {
    color: #8A8A8A;
    padding-left: 30px
}

@media screen and (max-width: 768px) {
    .top-event-lead {
        padding-left: 0
    }
}

.top-event-content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    /*justify-content: space-between;*/
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center
}

@media screen and (max-width: 768px) {
    .top-event-content {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-flow: column;
        -ms-flex-flow: column;
        flex-flow: column;
        -webkit-box-align: end;
        -webkit-align-items: flex-end;
        -ms-flex-align: end;
        align-items: flex-end
    }
}

.top-event-content-item {
    max-width: 460px;
    width: 100%;
    height: 260px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column;
    -ms-flex-flow: column;
    flex-flow: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    background-color: #F94A4A;
    text-decoration: none;
    position: relative;
    -webkit-transition: background .3s;
    -o-transition: background .3s;
    transition: background .3s;
    margin-bottom: 20px;
}

.top-event-content-item {
    margin-right: 60px;
}

.top-event-content-item:nth-child(2) {
    margin-right: 0;
}

.top-event-content-item:hover {
    background-color: #FF6C6C
}

@media screen and (max-width: 768px) {
    .top-event-content-item {
        width: calc(100% - 2rem);
        height: 180px
    }
    /*
    .top-event-content-item:first-child {
        margin-bottom: 20px
    }
    .top-event-content-item:last-child {
        margin-top: 20px
    }*/
}

.top-event-content-item-sub-title {
    position: absolute;
    font-size: 1.8rem;
    font-weight: bold;
    color: #C3C3C3;
    -webkit-transform: rotateZ(-90deg) translateX(-28px) translateY(-28px);
    -ms-transform: rotate(-90deg) translateX(-28px) translateY(-28px);
    transform: rotateZ(-90deg) translateX(-28px) translateY(-28px);
    top: 0;
    left: -2.8rem
}

@media screen and (max-width: 768px) {
    .top-event-content-item-sub-title {
        font-size: 1.4rem;
        -webkit-transform: rotateZ(-90deg) translateX(-22px) translateY(-15px);
        -ms-transform: rotate(-90deg) translateX(-22px) translateY(-15px);
        transform: rotateZ(-90deg) translateX(-22px) translateY(-15px)
    }
}

/*
.top-event-content-item:first-child {
    margin-right: 20px
}
*/

@media screen and (max-width: 768px) {
    .top-event-content-item {
        margin-right: 0
    }
}

/*
.top-event-content-item:last-child {
    margin-left: 20px
}
*/

@media screen and (max-width: 768px) {
    .top-event-content-item:last-child {
        margin-left: 0;
    }
}

.top-event-content-icon {
    width: 122px;
    height: 122px;
    background-color: #fff;
    border-radius: 66px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center
}

@media screen and (max-width: 768px) {
    .top-event-content-icon {
        width: 85px;
        height: 85px
    }
    .top-event-content-icon img {
        width: 50%
    }
}

.top-event-content p {
    font-size: 2.4rem;
    font-weight: bold;
    color: #fff;
    text-align: center
}

@media screen and (max-width: 768px) {
    .top-event-content p {
        font-size: 1.4rem
    }
}

.youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}

.youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}

.top-recruit {
    margin-bottom: 90px
}

@media screen and (max-width: 768px) {
    .top-recruit {
        margin-bottom: 60px
    }
}

.top-recruit .inner {
    background: -webkit-gradient(linear, left bottom, left top, from(#fff), color-stop(92%, #fff), color-stop(92%, transparent), to(transparent));
    background: -o-linear-gradient(bottom, #fff 0%, #fff 92%, transparent 92%, transparent 100%);
    background: linear-gradient(0deg, #fff 0%, #fff 92%, transparent 92%, transparent 100%);
    padding-top: 0
}

@media screen and (max-width: 768px) {
    .top-recruit .inner {
        background: -webkit-gradient(linear, left bottom, left top, from(#fff), color-stop(96%, #fff), color-stop(96%, transparent), to(transparent));
        background: -o-linear-gradient(bottom, #fff 0%, #fff 96%, transparent 96%, transparent 100%);
        background: linear-gradient(0deg, #fff 0%, #fff 96%, transparent 96%, transparent 100%)
    }
}

.top-recruit-index {
    margin-bottom: 50px
}

@media screen and (max-width: 768px) {
    .top-recruit-index {
        margin-bottom: 20px
    }
}

.top-recruit-content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center
}

@media screen and (max-width: 768px) {
    .top-recruit-content {
        display: block
    }
}

.top-recruit-content-lead {
    max-width: 650px;
    width: 100%;
    color: #8A8A8A;
    letter-spacing: 0;
    position: relative;
    margin-right: 60px
}

@media screen and (max-width: 768px) {
    .top-recruit-content-lead {
        margin-right: 0;
        margin-bottom: 30px
    }
}

.top-recruit-content-lead::after {
    content: "";
    position: absolute;
    top: 0;
    right: -25px;
    display: block;
    width: 1px;
    height: 100%;
    background-color: #DEDEDE
}

@media screen and (max-width: 768px) {
    .top-recruit-content-lead::after {
        content: none
    }
}

.top-live-stage {
    margin-bottom: 90px
}

@media screen and (max-width: 768px) {
    .top-live-stage {
        margin-bottom: 60px
    }
}

.top-live-stage .section-title {
    margin-bottom: 40px
}

@media screen and (max-width: 768px) {
    .top-live-stage .section-title {
        margin-bottom: 20px
    }
}

.top-live-stage-index {
    margin-bottom: 50px
}

@media screen and (max-width: 768px) {
    .top-live-stage-index {
        margin-bottom: 40px
    }
}

.top-live-stage-lead {
    color: #8A8A8A;
    letter-spacing: 0;
    margin-right: 56.5px
}

@media screen and (max-width: 768px) {
    .top-live-stage-lead {
        margin-right: 0
    }
}

.top-live-stage-content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center
}

.top-live-stage-item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    max-width: 460px
}

@media screen and (max-width: 768px) {
    .top-live-stage-item {
        max-width: none
    }
}

@media screen and (max-width: 768px) {
    .top-live-stage-item:not(:first-child) {
        margin-top: 10px
    }
}

.top-live-stage-item:nth-child(2) {
    margin-top: 90px
}

@media screen and (max-width: 768px) {
    .top-live-stage-item:nth-child(2) {
        margin-top: 10px
    }
}

.top-live-stage-item-image {
    width: 50%
}

.top-live-stage-item-text {
    width: 50%;
    background-color: #9ED32C;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column;
    -ms-flex-flow: column;
    flex-flow: column;
    padding: 0 24px;
    color: #fff
}

@media screen and (max-width: 768px) {
    .top-live-stage-item-text {
        padding: 0 5%
    }
}

.top-live-stage-item-text span {
    font-weight: bold
}

@media screen and (max-width: 768px) {
    .top-live-stage-item-text span {
        font-size: 1rem
    }
}

.top-live-stage-item-text h3 {
    font-size: 2.2rem;
    font-weight: bold;
    margin-bottom: 20px;
    letter-spacing: 1
}

@media screen and (max-width: 768px) {
    .top-live-stage-item-text h3 {
        font-size: 1.8rem;
        margin-bottom: 10px;
        max-height: 5.76rem;
        overflow-y: hidden
    }
}

@media screen and (max-width: 768px) {
    .top-live-stage-item-text p {
        line-height: 1.5;
        max-height: 3.9rem;
        overflow-y: hidden
    }
}

.top-live-stage-item.-link {
    -webkit-align-self: center;
    -ms-flex-item-align: center;
    align-self: center
}

@media screen and (max-width: 768px) {
    .top-live-stage-item.-link {
        width: 100%;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-top: 30px
    }
}

.top-amusement-tool {
    margin-bottom: 90px
}

@media screen and (max-width: 768px) {
    .top-amusement-tool {
        margin-bottom: 30px
    }
    .top-amusement-tool.bg-white {
        background: -webkit-gradient(linear, left bottom, left top, from(transparent), color-stop(36%, transparent), color-stop(36%, #fff), to(#fff));
        background: -o-linear-gradient(bottom, transparent 0%, transparent 36%, #fff 36%, #fff 100%);
        background: linear-gradient(0deg, transparent 0%, transparent 36%, #fff 36%, #fff 100%)
    }
}

.top-amusement-tool-index {
    margin-bottom: 50px
}

.top-amusement-tool-lead {
    color: #8A8A8A;
    letter-spacing: 0;
    margin-right: 56.5px
}

.top-amusement-tool-content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media screen and (max-width: 768px) {
    .top-amusement-tool-content {
        margin-left: -7.5px;
        margin-right: -15px;
        overflow-x: hidden
    }
}

.top-amusement-tool-item {
    max-width: 300px;
    width: calc(33% - (60px / 3));
    background-color: #3CCBDC
}

@media screen and (max-width: 768px) {
    .top-amusement-tool-item {
        max-width: none;
        margin: 0 7.5px
    }
}

.top-amusement-tool-item:not(.-link):nth-child(2) {
    margin-top: 100px
}

@media screen and (max-width: 768px) {
    .top-amusement-tool-item:not(.-link):nth-child(2) {
        margin-top: 0
    }
}

.top-amusement-tool-item:not(.-link):nth-child(3) {
    margin-top: 50px
}

@media screen and (max-width: 768px) {
    .top-amusement-tool-item:not(.-link):nth-child(3) {
        margin-top: 0
    }
}

@media screen and (max-width: 768px) {
    .top-amusement-tool-item-image {
        width: 100%
    }
}

@media screen and (max-width: 768px) {
    .top-amusement-tool-item-image img {
        width: 100%
    }
}

.top-amusement-tool-item-text {
    min-height: 145px;
    background-color: #3CCBDC;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column;
    -ms-flex-flow: column;
    flex-flow: column;
    padding: 0 24px;
    color: #fff
}

@media screen and (max-width: 768px) {
    .top-amusement-tool-item-text {
        padding: 15px 20px;
        -webkit-box-pack: start;
        -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
        justify-content: flex-start
    }
}

.top-amusement-tool-item-text span {
    font-weight: bold
}

.top-amusement-tool-item-text h3 {
    font-size: 2.2rem;
    font-weight: bold;
    margin-bottom: 20px;
    letter-spacing: 1
}

@media screen and (max-width: 768px) {
    .top-amusement-tool-item-text h3 {
        font-size: 1.8rem;
        margin-bottom: 5px
    }
}

.top-amusement-tool-item.-link {
    display: block;
    max-width: none;
    width: 100%;
    text-align: right;
    background-color: transparent
}

@media screen and (max-width: 768px) {
    .top-amusement-tool-item.-link {
        margin: 40px 0 0;
        text-align: center
    }
}

.fixed+.top-visual {
    margin-top: 180px
}

@media screen and (max-width: 768px) {
    .fixed+.top-visual {
        margin-top: 95px
    }
}

.business-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: wrap;
    -ms-flex-flow: wrap;
    flex-flow: wrap;
    margin-bottom: 7px
}

.business-list-note {
    text-align: right;
    font-style: 1.2rem;
    color: #8A8A8A
}

.business-list-item {
    width: calc((100% - 13px * 2) / 3);
    margin-bottom: 13px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column;
    -ms-flex-flow: column;
    flex-flow: column;
    padding: 16px 30px;
    min-height: 80px;
    border: solid 3px #F0F0F0;
    border-radius: 10px;
    text-align: center;
    font-weight: bold;
    background-color: #fff
}

@media screen and (max-width: 768px) {
    .business-list-item {
        width: 100%;
        min-height: unset
    }
}

.business-list-item:not(:nth-child(3n+1)) {
    margin-left: 13px
}

@media screen and (max-width: 768px) {
    .business-list-item:not(:nth-child(3n+1)) {
        margin-left: 0
    }
}

.business-list-item span {
    font-size: 12px
}

.business-important-title {
    color: #8A8A8A;
    font-size: 1.2rem
}

.business-important-list-item {
    color: #8A8A8A;
    font-size: 1.2rem;
    position: relative;
    padding-left: 1.5rem
}

.business-important-list-item::before {
    content: "";
    width: 3px;
    height: 3px;
    background-color: #8A8A8A;
    border-radius: 100%;
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 0.5rem;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%)
}

/** business.htmlへオリジナルキャラクターを追加 */

div#imgPhoto {
    display: flex;
    justify-content: space-between;
    margin: 4rem 0;
}

div#imgPhoto>figure {
    width: 48%;
}

@media screen and (max-width: 768px) {
    div#imgPhoto {
        flex-wrap: wrap;
        justify-content: center;
    }
    div#imgPhoto>figure {
        width: 90%;
    }
    div#imgPhoto>figure:first-of-type {
        margin-bottom: 4rem;
    }
}

.introduction-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 60px
}

.introduction-list-item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    max-width: 460px;
    width: 100%;
    margin-bottom: 40px
}

@media screen and (max-width: 768px) {
    .introduction-list-item {
        max-width: none
    }
}

.introduction-list-item-image {
    width: 50%
}

.introduction-list-item-text {
    width: 50%;
    background-color: #9ED32C;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column;
    -ms-flex-flow: column;
    flex-flow: column;
    padding: 0 24px;
    color: #fff
}

@media screen and (max-width: 768px) {
    .introduction-list-item-text {
        padding: 0 5%
    }
}

.introduction-list-item-text span {
    font-weight: bold
}

@media screen and (max-width: 768px) {
    .introduction-list-item-text span {
        font-size: 1rem
    }
}

.introduction-list-item-text h3 {
    font-size: 2.2rem;
    font-weight: bold;
    margin-bottom: 20px;
    letter-spacing: 1;
    line-height: 2.5rem;
    padding-left: 5rem;
    text-indent: -5rem;
}

@media screen and (max-width: 768px) {
    .introduction-list-item-text h3 {
        font-size: 1.8rem;
        margin-bottom: 10px;
        max-height: 5.76rem;
        overflow-y: hidden
    }
    .introduction-list-item-text h3 br {
        display: none;
    }
}

@media screen and (max-width: 768px) {
    .introduction-list-item-text p {
        line-height: 1.5;
        max-height: 3.9rem;
        overflow-y: hidden
    }
}

.amusement-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: wrap;
    -ms-flex-flow: wrap;
    flex-flow: wrap;
    margin-top: 60px
}

.amusement-list-item {
    width: calc((100% - (40px * 2)) / 3);
    margin-bottom: 40px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column;
    -ms-flex-flow: column;
    flex-flow: column;
    background-color: #3CCBDC
}

@media screen and (max-width: 768px) {
    .amusement-list-item {
        width: 100%;
        margin-bottom: 30px
    }
}

.amusement-list-item:not(:nth-child(3n+1)) {
    margin-left: 40px
}

@media screen and (max-width: 768px) {
    .amusement-list-item:not(:nth-child(3n+1)) {
        margin-left: 0
    }
}

.amusement-list-item:nth-last-child(-n+3) {
    margin-bottom: 0
}

@media screen and (max-width: 768px) {
    .amusement-list-item:nth-last-child(-n+3) {
        margin-bottom: 30px
    }
}

.amusement-list-item-image {
    width: 100%
}

.amusement-list-item-image img {
    max-width: none;
    width: 100%
}

.amusement-list-item-text {
    width: 100%;
    color: #fff;
    padding: 28px
}

@media screen and (max-width: 768px) {
    .amusement-list-item-text {
        padding: 20px
    }
}

.amusement-list-item-text h3 {
    font-size: 2.2rem;
    font-weight: bold
}

@media screen and (max-width: 768px) {
    .amusement-list-item-text h3 {
        font-size: 1.8rem;
        line-height: 1
    }
}

.amusement-list-item-text p {
    margin-top: 18.5px
}

@media screen and (max-width: 768px) {
    .amusement-list-item-text p {
        margin-top: 5px
    }
}

.recruit-offer-contents-item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 40px 0
}

@media screen and (max-width: 768px) {
    .recruit-offer-contents-item {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-flow: column;
        -ms-flex-flow: column;
        flex-flow: column;
        padding: 30px 0
    }
}

.recruit-offer-contents-item:first-child {
    padding-top: 0
}

.recruit-offer-contents-item:not(:last-child) {
    border-bottom: solid 1px #EDEDED
}

.recruit-offer-contents-item-image {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column;
    -ms-flex-flow: column;
    flex-flow: column;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    max-width: 250px;
    width: 100%
}

@media screen and (max-width: 768px) {
    .recruit-offer-contents-item-image {
        max-width: unset
    }
}

.recruit-offer-contents-item-image-text {
    text-align: center;
    margin-top: 10px
}

.recruit-offer-contents-item-image-text p {
    font-size: 1.6rem
}

.recruit-offer-contents-item-image-text .recruit-offer-contents-item-image-text-title {
    font-size: 1.8rem;
    font-weight: bold
}

.recruit-offer-contents-item-content {
    max-width: calc(100% - 250px - 48px);
    width: 100%;
    color: #8A8A8A
}

@media screen and (max-width: 768px) {
    .recruit-offer-contents-item-content {
        margin-top: 15px;
        max-width: unset
    }
}

.recruit-daily-flow-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between
}

@media screen and (max-width: 768px) {
    .recruit-daily-flow-list {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

.recruit-daily-flow-list-item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column;
    -ms-flex-flow: column;
    flex-flow: column;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: calc((100% - (25px * 5)) / 6)
}

@media screen and (max-width: 768px) {
    .recruit-daily-flow-list-item {
        width: calc((100% - (18px * 2)) / 3)
    }
    .recruit-daily-flow-list-item:nth-child(-n+3) {
        margin-bottom: 30px
    }
}

.recruit-daily-flow-list-item span {
    width: 84px;
    height: 35px;
    background-color: #fff;
    display: inline-block;
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
    border: solid 2px #D5D5D5;
    border-radius: 35px;
    margin-bottom: 20px
}

@media screen and (max-width: 768px) {
    .recruit-daily-flow-list-item span {
        width: 60px;
        height: 25px;
        font-size: 1.3rem;
        margin-bottom: 14px
    }
}

.recruit-staff-interview-list-item {
    cursor: pointer
}

.recruit-staff-interview-list-item:not(:last-child) {
    margin-bottom: 20px
}

.recruit-staff-interview-list-item-text {
    border: solid 2px #D5D5D5;
    border-radius: 10px;
    padding: 20px;
    position: relative;
    -webkit-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s
}

@media screen and (max-width: 768px) {
    .recruit-staff-interview-list-item-text {
        padding: 15px 100px 15px 15px
    }
}

.recruit-staff-interview-list-item-text .recruit-staff-interview-list-item-mark {
    position: absolute;
    top: 50%;
    right: 20px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    display: block;
    width: 40px;
    height: 40px;
    border-radius: 20px;
    border: solid 2px #F94A4A;
    background-color: #fff;
    -webkit-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s
}

@media screen and (max-width: 768px) {
    .recruit-staff-interview-list-item-text .recruit-staff-interview-list-item-mark {
        width: 34px;
        height: 34px
    }
}

.recruit-staff-interview-list-item-text .recruit-staff-interview-list-item-mark::before, .recruit-staff-interview-list-item-text .recruit-staff-interview-list-item-mark::after {
    content: "";
    display: block;
    width: 10px;
    height: 2px;
    background-color: #F94A4A;
    position: absolute;
    top: 50%;
    right: 13px;
    border-radius: 2px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media screen and (max-width: 768px) {
    .recruit-staff-interview-list-item-text .recruit-staff-interview-list-item-mark::before, .recruit-staff-interview-list-item-text .recruit-staff-interview-list-item-mark::after {
        right: 10px
    }
}

.recruit-staff-interview-list-item-text .recruit-staff-interview-list-item-mark::after {
    -webkit-transform: translateY(-50%) rotate(90deg);
    -ms-transform: translateY(-50%) rotate(90deg);
    transform: translateY(-50%) rotate(90deg)
}

.recruit-staff-interview-list-item .recruit-staff-interview-list-anser-list {
    opacity: 0;
    height: 0;
    overflow: hidden;
    -webkit-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s
}

.recruit-staff-interview-list-item.active .recruit-staff-interview-list-item-text {
    font-weight: bold;
    color: #F94A4A
}

.recruit-staff-interview-list-item.active .recruit-staff-interview-list-item-mark {
    background-color: #F94A4A
}

.recruit-staff-interview-list-item.active .recruit-staff-interview-list-item-mark::before {
    background-color: #fff
}

.recruit-staff-interview-list-item.active .recruit-staff-interview-list-item-mark::after {
    content: none
}

.recruit-staff-interview-list-item.active .recruit-staff-interview-list-anser-list {
    opacity: 1;
    height: auto;
    overflow: hidden
}

.recruit-staff-interview-list-item.active .recruit-staff-interview-list-anser-list-item {
    padding: 25px 0;
    border-bottom: solid 1px #EDEDED
}

.recruit-staff-interview-list-item.active .recruit-staff-interview-list-anser-list-item:first-child {
    padding-top: 40px
}

.recruit-staff-interview-list-item.active .recruit-staff-interview-list-anser-list-item-name {
    font-weight: bold;
    margin-bottom: 15px
}

.recruit-staff-interview-list-item.active .recruit-staff-interview-list-anser-list-item-content {
    font-size: 1.3rem;
    color: #8A8A8A
}

/*# sourceMappingURL=style.css.map */