@charset "UTF-8";
/* CSS Document */

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline
}

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

body {
    line-height: 1
}

ol,ul {
    list-style: none
}

blockquote,q {
    quotes: none
}

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

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

input,button,textarea,select {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

input:hover,button:hover,textarea:hover,select:hover {
    cursor: pointer
}

input::-webkit-input-placeholder,input:-ms-input-placeholder,input::-moz-placeholder {
    color: #666;
    font-weight: normal
}

@font-face {
    font-family: 'D-DIN Condensed Bold';
    font-style: normal;
    src: url("../font/din/D-DINCondensed-Bold.woff") format("opentype")
}

@font-face {
    font-family: 'D-DIN Condensed';
    font-style: normal;
    src: url("../font/din/D-DINCondensed.woff") format("opentype")
}

@font-face {
    font-family: 'DIN Alternate';
    font-style: normal;
    src: url("../font/din/DINAlternate-Bold.woff") format("opentype")
}

* {
    box-sizing: border-box;
    word-break: normal
}

html {
    font: 56.25% "Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3",sans-serif;
    background: #000000
}

@media screen and (min-width: 768px) {
    html {
        font:62.5% "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif
    }
}

body {
    position: relative;
    color: #0d1b21;
    font-size: 1.6rem;
    line-height: 2;
    overflow-x: hidden;
    background: #fffffb
}

a {
    display: inline-block
}

a:link {
    color: #0d1b21;
    text-decoration: none;
    cursor: pointer
}

a:visited {
    color: #0d1b21;
    text-decoration: none
}

a:hover,a:active {
    color: #fb3533;
    text-decoration: none
}

a.line:link,a.line:visited,a.line:hover,a.line:active {
    text-decoration: underline
}

@media screen and (min-width: 992px) {
    a:hover {
        transition:all 0.5s;
        -moz-transition: all 0.5s;
        -webkit-transition: all 0.5s;
        -o-transition: all 0.5s;
        -ms-transition: all 0.5s
    }
}

@media screen and (max-width: 991px) {
    a:hover {
        text-decoration:none
    }
}

.header {
    width: 100%;
    height: 60px;
    color: #0d1b21;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    background: #fffffb
}

.header_logo {
    font-size: 0;
    position: relative;
    z-index: 1000;
    display: inline-block
}

.header_logo>a {
    width: 220px;
    height: 60px
}

.header_logo>a>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover;'
}

@media screen and (min-width: 992px) {
    .header {
        height:114px;
        background: #fffffb;
        border-top: 10px solid #fffffb;
        border-right: 10px solid #fffffb;
        border-left: 10px solid #fffffb
    }

    .header_logo>a {
        width: 300px;
        height: 100px
    }
}

.globalNav {
    display: none;
    cursor: pointer
}

@media screen and (min-width: 992px) {
    .globalNav {
        display:block;
        position: absolute;
        top: 50px;
        right: 0px;
        z-index: 1000;
        font-weight: normal;
        opacity: 1;
        transition: opacity 1s;
        -moz-transition: opacity 1s;
        -webkit-transition: opacity 1s;
        -o-transition: opacity 1s;
        -ms-transition: opacity 1s
    }

    .globalNav_category {
        padding: 0 2.4193vw;
        height: 50px;
        line-height: 50px;
        font-weight: bold
    }

    .globalNav>ul {
        font-size: 0
    }

    .globalNav>ul>li {
        display: inline-block;
        position: relative;
        font-size: 1.6rem;
        margin-left: -1px;
        transition: background .5s;
        -moz-transition: background .5s;
        -webkit-transition: background .5s;
        -o-transition: background .5s;
        -ms-transition: background .5s
    }

    .globalNav>ul>li a:link,.globalNav>ul>li a:visited {
        color: #0d1b21
    }

    .globalNav>ul>li a:hover,.globalNav>ul>li a:active {
        color: #fb3533;
        text-decoration: none
    }

    .globalNav>ul>li:hover {
        background: #000;
        color: #fb3533
    }

    .globalNav>ul>li:hover a:link,.globalNav>ul>li:hover a:visited {
        color: #fb3533
    }

    .globalNav>ul>li:hover a:hover,.globalNav>ul>li:hover a:active {
        color: #fb3533;
        text-decoration: none
    }

    .globalNav>ul>li:hover:not(:last-of-type)::after {
        background: #000
    }

    .globalNav>ul>li:not(:last-of-type)::after {
        content: '';
        display: block;
        width: 1px;
        height: 16px;
        background: #000;
        position: absolute;
        top: 50%;
        right: 0;
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        transition: background .5s;
        -moz-transition: background .5s;
        -webkit-transition: background .5s;
        -o-transition: background .5s;
        -ms-transition: background .5s
    }

    .globalNav>ul>li>.el_innerList {
        opacity: 0;
        display: none;
        position: absolute;
        top: 50px;
        background: #000;
        width: 200px
    }

    .globalNav>ul>li>.el_innerList a:link,.globalNav>ul>li>.el_innerList a:visited {
        color: #fff
    }

    .globalNav>ul>li>.el_innerList a:hover,.globalNav>ul>li>.el_innerList a:active {
        color: #fb3533;
        text-decoration: none
    }

    .globalNav>ul>li>.el_innerList>li {
        border-bottom: 1px solid #0d1b21;
        position: relative
    }

    .globalNav>ul>li>.el_innerList>li>a {
        padding: 15px 25px 15px 15px;
        line-height: 2rem;
        font-size: 1.4rem;
        width: 100%
    }

    .globalNav>ul>li>.el_innerList.is-open {
        display: block;
        opacity: 1;
        animation-duration: .5s;
        animation-name: fadeIn;
        -moz-animation-duration: .5s;
        -moz-animation-name: fadeIn;
        -webkit-animation-duration: .5s;
        -webkit-animation-name: fadeIn
    }

    .globalNav>ul>li.is-current a:link,.globalNav>ul>li.is-current a:visited {
        color: #fb3533
    }

    .globalNav>ul>li.is-current a:hover,.globalNav>ul>li.is-current a:active {
        color: #fb3533;
        text-decoration: none
    }

    .globalNav>ul>li.is-current>.el_innerList a:link,.globalNav>ul>li.is-current>.el_innerList a:visited {
        color: #fff
    }

    .globalNav>ul>li.is-current>.el_innerList a:hover,.globalNav>ul>li.is-current>.el_innerList a:active {
        color: #fb3533;
        text-decoration: none
    }

    .globalNav.is-open {
        opacity: 0;
        transition: opacity 1s;
        -moz-transition: opacity 1s;
        -webkit-transition: opacity 1s;
        -o-transition: opacity 1s;
        -ms-transition: opacity 1s
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

.translateNav {
    display: none
}

@media screen and (min-width: 992px) {
    .translateNav {
        display:block;
        font-family: 'D-DIN Condensed';
        letter-spacing: .2em;
        font-size: 1.5rem;
        font-weight: bold;
        position: absolute;
        top: 15px;
        right: 36px;
        z-index: 1000
    }

    .translateNav a:link,.translateNav a:visited {
        color: #0d1b21
    }

    .translateNav a:hover,.translateNav a:active {
        color: #fb3533;
        text-decoration: none
    }
}

@media screen and (max-width: 992px) {
    .translateNav {
        display:none;
        opacity: 0;
        z-index: 1000
    }

    .translateNav.is-open {
        display: block;
        color: #fff;
        font-family: 'D-DIN Condensed';
        letter-spacing: .2em;
        font-size: 1.5rem;
        font-weight: bold;
        position: absolute;
        top: 15px;
        left: 15px;
        z-index: 2000;
        opacity: 1;
        animation: fadeIn 1.5s ease
    }

    .translateNav.is-open a:link,.translateNav.is-open a:visited {
        color: #fff
    }

    .translateNav.is-open a:hover,.translateNav.is-open a:active {
        color: #fb3533;
        text-decoration: none
    }
}

.siteNav {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    color: #fff
}

.siteNav_btn {
    border: none;
    position: absolute;
    top: 4px;
    right: 5px;
    width: 50px;
    height: 50px;
    display: block;
    cursor: pointer;
    z-index: 1000;
    border: none;
    background: #000
}

.siteNav_btn .el_one,.siteNav_btn .el_two,.siteNav_btn .el_three {
    width: 25px;
    height: 3px;
    display: block;
    background: #fff;
    position: absolute;
    right: 12px;
    top: 50%;
    margin-left: -25px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg)
}

.siteNav_btn .el_one {
    -webkit-transform: translateY(-11px);
    transform: translateY(-11px)
}

.siteNav_btn .el_two {
    -webkit-transform: translateY(-1px);
    transform: translateY(-1px)
}

.siteNav_btn .el_three {
    -webkit-transform: translateY(9px);
    transform: translateY(9px)
}

.siteNav_btn .el_close {
    display: none
}

.siteNav.is-open {
    z-index: 1500
}

.siteNav.is-open .siteNav_btn .el_two {
    opacity: 0
}

.siteNav.is-open .siteNav_btn .el_one {
    -webkit-transform: rotate(-45deg) translateY(0px);
    transform: rotate(-45deg) translateY(0px)
}

.siteNav.is-open .siteNav_btn .el_three {
    -webkit-transform: rotate(45deg) translateY(0px);
    transform: rotate(45deg) translateY(0px)
}

@media screen and (min-width: 992px) {
    .siteNav.is-open .siteNav_btn .el_close {
        color:#fff;
        display: block;
        font-size: 1.4rem;
        position: absolute;
        top: 45px;
        left: 5px;
        margin-right: -10px
    }
}

.siteNav_close {
    margin-top: 45px;
    margin-bottom: 70px;
    display: block;
    text-align: center;
    color: #fff;
    cursor: pointer
}

.siteNav_close:hover {
    color: #fb3533
}

.siteNav_close:hover:hover {
    transition: all 0.5s;
    -moz-transition: all 0.5s;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    -ms-transition: all 0.5s
}

.siteNav_close::before {
    content: '';
    width: 20px;
    height: 20px;
    display: inline-block;
    background: url(../img/top/ico_close.gif) 50% 50% no-repeat;
    background-size: cover;
    margin-right: 15px;
    vertical-align: middle
}

@media screen and (min-width: 992px) {
    .siteNav {
        display:none
    }
}

.siteNav_nav {
    width: 100%;
    background: #000;
    display: none;
    padding-top: 65px
}

.siteNav_nav a:link,.siteNav_nav a:visited {
    color: #fff
}

.siteNav_nav a:hover,.siteNav_nav a:active {
    color: #fb3533;
    text-decoration: none
}

.siteNav_nav_inner {
    padding: 0 0 70px;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    max-height: 100vh
}

.siteNav_nav_wide {
    letter-spacing: .1em;
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between
}

.siteNav_nav_wide>li {
    width: 100%;
    margin-top: 20px
}

.siteNav_nav_wide .el_title {
    font-size: 2.4rem;
    display: inline-block;
    width: 100%;
    text-align: left;
    color: #fff
}

.siteNav_nav_wide .el_title::before {
    width: 20px;
    height: 20px;
    background: #fb2b29;
    display: inline-block;
    background: -moz-linear-gradient(top, #f54747, #ff6c41);
    background: -webkit-linear-gradient(top, #f54747, #ff6c41);
    background: linear-gradient(to bottom, #f54747, #ff6c41);
    content: '';
    margin-right: 15px
}

.siteNav_nav_wide .el_image {
    font-size: 0;
    margin-bottom: 22px
}

.siteNav_nav_wide .el_image img {
    width: 100%
}

.siteNav_nav_wide .el_list {
    line-height: 2.125;
    font-size: 1.8rem
}

.siteNav_nav_wide .el_list a {
    padding-left: 14px
}

.siteNav_nav_wide .el_list>li::before {
    content: '>';
    font-size: 1.7rem;
    margin-right: 12px;
    position: absolute;
    color: #fff
}

@media screen and (min-width: 992px) {
    .siteNav_nav {
        overflow-x:hidden;
        padding: 0
    }

    .siteNav_nav_inner {
        padding: 120px 0 70px;
        width: calc(100% + 17px)
    }

    .siteNav_nav_smallList {
        font-size: 0
    }
}

@media screen and (min-width: 992px) {
    body.is-scrolling {
        padding-top:60px
    }

    body.is-scrolling .header {
        animation: headerScrolling ease 0.5s;
        background: #fffffb;
        height: 60px;
        border: none
    }

    body.is-scrolling .header_logo>a {
        width: 215px;
        height: 60px
    }

    body.is-scrolling .header_logo img {
        margin-left: 10px;
        width: 215px;
        height: 60px
    }

    body.is-scrolling .translateNav {
        display: none
    }

    body.is-scrolling .globalNav {
        top: 6px;
        right: 10px
    }

    body.is-scrolling .siteNav_btn {
        top: 5px;
        right: 10px;
        width: 50px;
        height: 50px;
        background: #000;
        border: none
    }
}

@keyframes headerScrolling {
    0% {
        -moz-transform: translateY(-95px);
        -ms-transform: translateY(-95px);
        -webkit-transform: translateY(-95px);
        transform: translateY(-95px)
    }

    100% {
        -moz-transform: translateY(0);
        -ms-transform: translateY(0);
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

.footer {
    background: #000;
    padding-top: 30px;
    color: #fff;
    position: relative;
    z-index: 950
}

.footer a:link,.footer a:visited {
    color: #fff
}

.footer a:hover,.footer a:active {
    color: #fb3533;
    text-decoration: none
}

.footer_copyright {
    padding: 20px;
    font-size: 1.3rem;
    text-align: center;
    letter-spacing: .05em
}

@media screen and (min-width: 992px) {
    .footer {
        padding-top:60px
    }

    .footer_banner {
        display: -ms-flexbox;
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .footer_banner>li {
        width: 23%;
        height: 100px;
        padding: 10px;
        margin: 0 15px 15px 0
    }

    .footer_copyright {
        padding: 30px
    }
}

.footer_sitemap {
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    font-size: 1.3rem;
    border-top: 1px solid;
    border-bottom: 1px solid;
    margin-top: 22px;
    padding: 0 0 20px 20px;
    clear: both
}

.footer_sitemap_list {
    width: 100%;
    line-height: 2.5
}

.footer_sitemap_list>li {
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap
}

.footer_sitemap_list>li .el_innerList {
    -webkit-box-flex: 1 1 0%;
    -moz-box-flex: 1 1 0%;
    -ms-flex: 1 1 0%;
    -webkit-flex: 1 1 0%;
    flex: 1 1 0%;
    margin-bottom: 20px
}

.footer_sitemap_list>.is-top {
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 20px
}

.footer_sitemap_list .el_label {
    width: 100px
}

@media screen and (min-width: 768px) {
    .footer_sitemap {
        font-size:1.2rem;
        padding: 0
    }

    .footer_sitemap_list {
        width: 50%
    }

    .footer_sitemap_list>.is-top {
        font-size: 1.4rem
    }

    .footer_sitemap_list:nth-child(1) .el_label {
        width: 80px
    }

    .footer_sitemap_list:nth-child(2) .el_label {
        width: 80px
    }

    .footer_sitemap_list:nth-child(3) .el_label {
        width: 100px
    }
}

@media screen and (min-width: 992px) {
    .footer_sitemap_list {
        width:25%
    }
}

.mgoss {
    text-align: right;
    line-height: 0px
}

.mgoss>a {
    display: inline-block;
    clip-path: polygon(45.5% 0%, 55% 3.3%, 65% 5.5%, 75% 6.5%, 87% 6.1%, 93% 5%, 100% 3.2%, 100% 100%, 0% 100%, 10% 86.7%, 15% 79.5%, 20% 71.5%, 25% 62.5%, 30% 52.3%, 35% 40.3%, 40% 25%, 43% 13%)
}

.mgoss>a>img {
    width: 150px;
    height: auto
}

@media screen and (min-width: 480px) {
    .mgoss>a>img {
        width:216px;
        height: 129px
    }
}

.container {
    position: relative;
    width: 90.6666666667%;
    max-width: 100%;
    margin: auto
}

@media screen and (min-width: 1100px) {
    .container {
        max-width:1100px
    }

    .container.is-small {
        max-width: 1000px
    }
}

.mgt-base {
    margin-top: 40px !important
}

.mgb-base {
    margin-bottom: 40px !important
}

.pdt-base {
    padding-top: 40px !important
}

.pdb-base {
    padding-bottom: 40px !important
}

@media screen and (max-width: 991px) {
    .mgt-base {
        margin-top:20px !important
    }

    .mgb-base {
        margin-bottom: 20px !important
    }

    .pdt-base {
        padding-top: 20px !important
    }

    .pdb-base {
        padding-bottom: 20px !important
    }
}

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

.mgt-1 {
    margin-top: 1px !important
}

.mgt-2 {
    margin-top: 2px !important
}

.mgt-3 {
    margin-top: 3px !important
}

.mgt-4 {
    margin-top: 4px !important
}

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

.mgt-6 {
    margin-top: 6px !important
}

.mgt-7 {
    margin-top: 7px !important
}

.mgt-8 {
    margin-top: 8px !important
}

.mgt-9 {
    margin-top: 9px !important
}

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

.mgt-11 {
    margin-top: 11px !important
}

.mgt-12 {
    margin-top: 12px !important
}

.mgt-13 {
    margin-top: 13px !important
}

.mgt-14 {
    margin-top: 14px !important
}

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

.mgt-5-nega {
    margin-top: -5px !important
}

.mgt-10-nega {
    margin-top: -10px !important
}

.mgt-20-nega {
    margin-top: -20px !important
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.mgt-160 {
    margin-top: 160px !important
}

.mgt-1em {
    margin-top: 1em !important
}

.mgt-2em {
    margin-top: 2em !important
}

.mgt-3em {
    margin-top: 3em !important
}

.mgt-1rem {
    margin-top: 1rem !important
}

.mgt-2rem {
    margin-top: 2rem !important
}

.mgt-3rem {
    margin-top: 3rem !important
}

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

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

.mgb-8 {
    margin-bottom: 8px !important
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.mgb-160 {
    margin-bottom: 160px !important
}

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

.mgl-1 {
    margin-left: 1px !important
}

.mgl-2 {
    margin-left: 2px !important
}

.mgl-3 {
    margin-left: 3px !important
}

.mgl-4 {
    margin-left: 4px !important
}

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

.mgl-6 {
    margin-left: 6px !important
}

.mgl-7 {
    margin-left: 7px !important
}

.mgl-8 {
    margin-left: 8px !important
}

.mgl-9 {
    margin-left: 9px !important
}

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

.mgl-11 {
    margin-left: 11px !important
}

.mgl-12 {
    margin-left: 12px !important
}

.mgl-13 {
    margin-left: 13px !important
}

.mgl-14 {
    margin-left: 14px !important
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media screen and (min-width: 768px) {
    .mgt-20-sm-min {
        margin-top:20px !important
    }

    .mgt-30-sm-min {
        margin-top: 30px !important
    }

    .mgt-40-sm-min {
        margin-top: 40px !important
    }

    .mgt-50-sm-min {
        margin-top: 50px !important
    }

    .mgt-60-sm-min {
        margin-top: 60px !important
    }

    .mgt-70-sm-min {
        margin-top: 70px !important
    }

    .mgt-80-sm-min {
        margin-top: 80px !important
    }

    .mgb-20-sm-min {
        margin-bottom: 20px !important
    }

    .mgb-30-sm-min {
        margin-bottom: 30px !important
    }

    .mgb-40-sm-min {
        margin-bottom: 40px !important
    }

    .mgb-50-sm-min {
        margin-bottom: 50px !important
    }

    .mgb-60-sm-min {
        margin-bottom: 60px !important
    }

    .mgb-70-sm-min {
        margin-bottom: 70px !important
    }

    .mgb-80-sm-min {
        margin-bottom: 80px !important
    }
}

@media screen and (min-width: 992px) {
    .mgt-20-md-min {
        margin-top:20px !important
    }

    .mgt-30-md-min {
        margin-top: 30px !important
    }

    .mgt-40-md-min {
        margin-top: 40px !important
    }

    .mgt-50-md-min {
        margin-top: 50px !important
    }

    .mgt-60-md-min {
        margin-top: 60px !important
    }

    .mgt-70-md-min {
        margin-top: 70px !important
    }

    .mgt-80-md-min {
        margin-top: 80px !important
    }

    .mgb-20-md-min {
        margin-bottom: 20px !important
    }

    .mgb-30-md-min {
        margin-bottom: 30px !important
    }

    .mgb-40-md-min {
        margin-bottom: 40px !important
    }

    .mgb-50-md-min {
        margin-bottom: 50px !important
    }

    .mgb-60-md-min {
        margin-bottom: 60px !important
    }

    .mgb-70-md-min {
        margin-bottom: 70px !important
    }

    .mgb-80-md-min {
        margin-bottom: 80px !important
    }
}

.mgSide-10 {
    margin-left: 10px !important;
    margin-right: 10px !important
}

.pdt-0 {
    padding-top: 0 !important
}

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

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

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

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

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

.pdb-0 {
    padding-bottom: 0 !important
}

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

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

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

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

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

.pdtb-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important
}

.pdtb-10 {
    padding-top: 10px !important;
    padding-bottom: 10px !important
}

.pdtb-20 {
    padding-top: 20px !important;
    padding-bottom: 20px !important
}

.pdtb-30 {
    padding-top: 30px !important;
    padding-bottom: 30px !important
}

.pdtb-40 {
    padding-top: 40px !important;
    padding-bottom: 40px !important
}

.pdtb-50 {
    padding-top: 50px !important;
    padding-bottom: 50px !important
}

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

.pdl-5 {
    padding-left: 0px !important
}

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

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

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

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

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

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

.pdr-5 {
    padding-right: 0px !important
}

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

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

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

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

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

.pdlr-0 {
    padding-left: 0px !important;
    padding-right: 0px !important
}

.pdlr-5 {
    padding-left: 0px !important;
    padding-right: 0px !important
}

.pdlr-10 {
    padding-left: 10px !important;
    padding-right: 10px !important
}

.pdlr-20 {
    padding-left: 20px !important;
    padding-right: 20px !important
}

.pdlr-30 {
    padding-left: 30px !important;
    padding-right: 30px !important
}

.pdlr-40 {
    padding-left: 40px !important;
    padding-right: 40px !important
}

.pdlr-50 {
    padding-left: 50px !important;
    padding-right: 50px !important
}

.mg-0 {
    margin: 0px !important
}

.mg-5 {
    margin: 5px !important
}

.mg-10 {
    margin: 10px !important
}

.mg-15 {
    margin: 15px !important
}

.mg-20 {
    margin: 20px !important
}

.mg-25 {
    margin: 25px !important
}

.mg-30 {
    margin: 30px !important
}

.mg-35 {
    margin: 35px !important
}

.mg-40 {
    margin: 40px !important
}

.mg-45 {
    margin: 45px !important
}

.mg-50 {
    margin: 50px !important
}

.pd-5 {
    margin: 5px !important
}

.pd-10 {
    margin: 10px !important
}

.pd-15 {
    margin: 15px !important
}

.pd-20 {
    margin: 20px !important
}

.pd-25 {
    margin: 25px !important
}

.pd-30 {
    margin: 30px !important
}

.pd-35 {
    margin: 35px !important
}

.pd-40 {
    margin: 40px !important
}

.pd-45 {
    margin: 45px !important
}

.pd-50 {
    margin: 50px !important
}

.bd-0 {
    border: 0 !important
}

.sectionTitle {
    text-align: center;
    color: #1b1b1b
}

.sectionTitle.is-white {
    color: #fff
}

.sectionTitle>span {
    font-family: 'D-DIN Condensed Bold';
    font-size: 4rem;
    letter-spacing: .2em;
    display: inline-block;
    position: relative
}

@media screen and (max-width: 320px) {
    .sectionTitle>span {
        letter-spacing:.1em
    }
}

.sectionTitle>span::after {
    content: '';
    display: block;
    width: 100%;
    border-bottom: 2px solid;
    position: absolute;
    bottom: 23px;
    left: -5px
}

@media screen and (min-width: 768px) {
    .sectionTitle>span {
        font-size:6rem
    }

    .sectionTitle>span::after {
        bottom: 39px
    }
}

@media screen and (min-width: 992px) {
    .sectionTitle>span {
        font-size:7.5rem;
        letter-spacing: .35em;
        left: 12px
    }

    .sectionTitle>span::after {
        bottom: 50px;
        left: -12px
    }
}

.card {
    color: #fff
}

.card a:link,.card a:visited {
    color: #fff
}

.card a:hover,.card a:active {
    color: #fb3533;
    text-decoration: none
}

.card>li {
    background: #000;
    width: 100%;
    display: table;
    font-size: 0
}

.card>li>a {
    width: 100%
}

.card>li:hover {
    color: #fb2b29;
    transition: color .5s;
    -moz-transition: color .5s;
    -webkit-transition: color .5s;
    -o-transition: color .5s;
    -ms-transition: color .5s
}

.card_image {
    display: table-cell;
    width: 165px;
    height: 113px;
    overflow: hidden;
    background: #dcdcdc
}

.card_image img {
    width: 100%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover;';
    font-size: 1.6rem;
    transition: all 0.5s;
    -moz-transition: all 0.5s;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    -ms-transition: all 0.5s
}

.card_title {
    display: table-cell;
    vertical-align: middle;
    padding-left: 20px;
    padding-right: 20px
}

.card_title .el_textEng {
    font-family: 'D-DIN Condensed';
    letter-spacing: .35em;
    display: block;
    font-size: 2rem;
    line-height: 1.1;
    margin-bottom: 10px
}

.card_title .el_text {
    display: block;
    font-size: 1.5rem;
    line-height: 1.5
}

@media screen and (max-width: 320px) {
    .card_title {
        color:#fff;
        padding-left: 14px;
        padding-right: 14px
    }

    .card_title .el_textEng {
        letter-spacing: .2em
    }
}

@media screen and (min-width: 768px) {
    .card {
        display:-ms-flexbox;
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        -webkit-justify-content: space-between;
        justify-content: space-between
    }

    .card>li {
        width: 30.9090%;
        display: block
    }

    .card_image {
        display: block;
        width: 100%;
        height: 240px
    }

    .card_title {
        display: block;
        min-height: 100px;
        padding-left: 14px;
        padding-right: 14px;
        text-align: center
    }

    .card_title .el_textEng {
        font-size: 2.5rem
    }

    .card_title .el_text {
        display: block;
        vertical-align: middle;
        font-size: 1.4rem;
        line-height: 100px
    }
}

@media screen and (min-width: 992px) {
    .card_title {
        min-height:120px;
        font-size: 1.6rem
    }

    .card_title .el_textEng {
        font-size: 3.2rem
    }

    .card_title .el_text {
        display: block;
        vertical-align: middle;
        font-size: 1.7rem;
        line-height: 120px
    }
}

.col2-btn {
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: center;
    justify-content: center;
    font-size: 0;
    max-width: 700px;
    margin: 0 auto
}

.col2-btn>.btn {
    width: 48%
}

@media screen and (min-width: 768px) {
    .col2-btn {
        max-width:none;
        margin: 0;
        display: block;
        text-align: center;
        margin-right: -40px
    }

    .col2-btn>.btn {
        width: 30%;
        display: inline-block;
        margin-right: 40px;
        min-width: 300px
    }
}

.btn {
    background: #000;
    text-align: center;
    width: 100%;
    height: 60px;
    line-height: 60px;
    position: relative;
    display: block;
    margin: 0 auto 10px;
    color: #fff;
    font-size: 1.6rem;
    vertical-align: top;
    max-width: 340px
}

.btn:link,.btn:visited {
    color: #fff
}

.btn:hover,.btn:active {
    color: #fff;
    text-decoration: none
}

.btn.is-noShadow {
    margin-bottom: 0
}

.btn.is-noShadow::before {
    display: none
}

.btn.is-more>span {
    font-family: 'D-DIN Condensed';
    letter-spacing: .5em
}

.btn.is-more>span::before {
    width: 100px
}

.btn.is-gray {
    background: #9d9c9c
}

.btn::before {
    content: '';
    display: block;
    background: #c9c9c9;
    width: 90%;
    height: 10px;
    margin: 0 auto;
    position: absolute;
    bottom: -10px;
    left: 50%;
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

.btn>span {
    letter-spacing: .1em
}

@media screen and (min-width: 768px) {
    .btn {
        width:340px;
        height: 70px;
        line-height: 70px;
        margin-bottom: 15px;
        font-size: 2rem
    }

    .btn>span::before {
        content: '';
        display: inline-block;
        width: 60px;
        height: 2px;
        background: #fff;
        margin-right: 28px;
        vertical-align: middle
    }

    .btn::before {
        content: '';
        display: block;
        background: #c9c9c9;
        height: 15px;
        margin: 0 auto;
        position: absolute;
        bottom: -15px;
        left: 50%;
        -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        z-index: 1
    }

    .btn::after {
        content: '';
        display: block;
        background: -moz-linear-gradient(top, #f54747, #ff6c41);
        background: -webkit-linear-gradient(top, #f54747, #ff6c41);
        background: linear-gradient(to bottom, #f54747, #ff6c41);
        width: 90%;
        height: 15px;
        position: absolute;
        top: 70px;
        left: 50%;
        -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }

    .btn.is-noShadow {
        margin-bottom: 0
    }

    .btn.is-noShadow::before {
        display: none
    }

    .btn.is-noShadow::after {
        display: none
    }

    .btn.is-hover-white::after {
        background: #fff
    }

    .btn:hover {
        color: #fb2b29;
        transition: color .5s;
        -moz-transition: color .5s;
        -webkit-transition: color .5s;
        -o-transition: color .5s;
        -ms-transition: color .5s
    }

    .btn:hover::before {
        opacity: 0;
        transition: all 0.5s;
        -moz-transition: all 0.5s;
        -webkit-transition: all 0.5s;
        -o-transition: all 0.5s;
        -ms-transition: all 0.5s
    }

    .btn:hover>span::before {
        background: #fb2b29;
        transition: background .5s;
        -moz-transition: background .5s;
        -webkit-transition: background .5s;
        -o-transition: background .5s;
        -ms-transition: background .5s
    }
}

@media screen and (min-width: 992px) {
    .btn {
        width:340px
    }
}

.br {
    display: none
}

@media screen and (min-width: 768px) {
    .br {
        display:inline
    }
}

.pagepath {
    padding: 10px 0 5px 8px;
    overflow: auto;
    -ms-overflow-style: none;
    white-space: nowrap
}

.pagepath ol {
    font-size: 0
}

.pagepath ol li {
    display: inline-block;
    font-size: 1.1rem
}

.pagepath ol li a:after {
    content: ">";
    padding: 0 15px
}

.pagepath ol li:last-child {
    margin-right: 10px
}

@media screen and (min-width: 992px) {
    .pagepath {
        padding:8px 10px 16px;
        max-width: 1120px;
        margin: auto
    }

    .pagepath ol li {
        letter-spacing: .06em
    }
}

.dataTable {
    border-bottom: 1px solid #dcdcdc
}

.dataTable_item {
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    line-height: 2;
    padding: 15px 0 10px;
    border-top: 1px solid #dcdcdc
}

.dataTable_item>dt,.dataTable_item>dd {
    min-height: 26px
}

.dataTable_item>dt {
    -ms-flex-basis: 85px;
    -webkit-flex-basis: 85px;
    flex-basis: 85px;
    font-weight: 600;
    border-right: 1px solid #dcdcdc;
    padding: 0 7px
}

.dataTable_item>dd {
    -webkit-box-flex: 1 1 0%;
    -moz-box-flex: 1 1 0%;
    -ms-flex: 1 1 0%;
    -webkit-flex: 1 1 0%;
    flex: 1 1 0%;
    line-height: 2;
    padding-left: 14px
}

.dataTable_item>dd>dl {
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap
}

.dataTable_item>dd>dl>dt {
    -ms-flex-basis: 142px;
    -webkit-flex-basis: 142px;
    flex-basis: 142px
}

@media screen and (min-width: 992px) {
    .dataTable_item {
        padding:10px 0
    }

    .dataTable_item>dt,.dataTable_item>dd {
        min-height: 45px
    }

    .dataTable_item>dt {
        -ms-flex-basis: 180px;
        -webkit-flex-basis: 180px;
        flex-basis: 180px;
        padding: 0 20px
    }

    .dataTable_item>dd {
        padding: 4px 14px 0 36px
    }
}

.contactTable {
    width: 90.6666666667%;
    max-width: 100%;
    margin: auto;
    border-top: 1px solid #dcdcdc
}

.contactTable>dl {
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    line-height: 2;
    padding: 15px 0 10px;
    border-bottom: 1px solid #dcdcdc
}

.contactTable>dl>dt,.contactTable>dl>dd {
    -ms-flex-basis: 100%;
    -webkit-flex-basis: 100%;
    flex-basis: 100%;
    min-height: 26px
}

.contactTable>dl>dt {
    position: relative;
    font-size: 1.3rem;
    font-weight: 600;
    padding: 0 7px
}

.contactTable>dl>dt .el_mark {
    display: inline-block;
    width: 35px;
    height: 17px;
    line-height: 17px;
    border-radius: 9px;
    text-align: center;
    font-size: 1.1rem;
    color: #fff;
    background: #e60012;
    margin: 0 10px
}

.contactTable>dl>dd {
    font-size: 1.4rem;
    line-height: 2;
    padding: 0 14px
}

.contactTable>dl>dd>dl {
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap
}

.contactTable>dl>dd>dl>dt {
    -ms-flex-basis: 142px;
    -webkit-flex-basis: 142px;
    flex-basis: 142px
}

@media screen and (min-width: 768px) {
    .contactTable {
        max-width:800px
    }

    .contactTable>dl {
        padding: 8px 0
    }

    .contactTable>dl>dt,.contactTable>dl>dd {
        min-height: 45px
    }

    .contactTable>dl>dt {
        -ms-flex-basis: 286px;
        -webkit-flex-basis: 286px;
        flex-basis: 286px;
        font-size: 1.6rem;
        padding: 8px 60px 8px 7px;
        border-right: 1px solid #dcdcdc
    }

    .contactTable>dl>dt .el_mark {
        position: absolute;
        top: 15px;
        right: 12px
    }

    .contactTable>dl>dd {
        -webkit-box-flex: 1 1 0%;
        -moz-box-flex: 1 1 0%;
        -ms-flex: 1 1 0%;
        -webkit-flex: 1 1 0%;
        flex: 1 1 0%;
        font-size: 1.3rem;
        padding: 4px 30px 4px 25px
    }
}

.contactTable .el_message {
    font-size: 1.1rem;
    color: #fb2b29
}

.contactTable .el_post {
    font-size: 1.6rem;
    font-weight: bold;
    margin-right: 10px
}

.contactTable .form-input.is-short {
    width: 50%
}

.contactTable input,.contactTable textarea,.contactTable select {
    font-family: 'Hiragino Sans', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif
}

.contactTable input[type='email'],.contactTable input[type='text'],.contactTable input[type='tel'],.contactTable input[type='file'],.contactTable textarea {
    width: 100%;
    padding: 6px 8px;
    font-size: 1.6rem;
    border: 1px solid #bfbfbf;
    border-radius: 4px;
    background: #fff
}

.contactTable input[type='email']:hover,.contactTable input[type='text']:hover,.contactTable input[type='tel']:hover,.contactTable input[type='file']:hover,.contactTable textarea:hover {
    cursor: text
}

.contactTable textarea {
    height: 170px
}

.contactTable input[type='number'] {
    padding: 6px 8px;
    font-size: 16px;
    border: 1px solid #bfbfbf;
    border-radius: 4px;
    background: #fff
}

.contactTable input[type='number']:hover {
    cursor: text
}

.contactTable input[name="tel[data][0]"],.contactTable input[name="tel[data][1]"],.contactTable input[name="tel[data][2]"] {
    width: 60px !important
}

.contactTable label {
    display: inline-block;
    padding-left: 23px;
    text-indent: -23px;
    margin-right: 1em
}

.contactTable select {
    -webkit-appearance: menulist;
    -moz-appearance: menulist;
    appearance: menulist;
    width: 100%;
    padding: 6px 8px;
    font-size: 16px;
    border: 1px solid #bfbfbf;
    border-radius: 4px;
    background: #fff;
    color: #0d1b21
}

.contactTable input[type='checkbox'] {
    display: inline-block;
    width: 15px;
    height: 15px;
    border: 1px solid #bfbfbf;
    margin-right: 8px;
    vertical-align: middle;
    background: #fff
}

.contactTable input[type='checkbox']:checked {
    position: relative
}

.contactTable input[type='checkbox']:checked::before {
    position: absolute;
    top: 1px;
    left: 1px;
    content: '';
    width: 10px;
    height: 5px;
    color: #000;
    border-left: 2px solid #0d1b21;
    border-bottom: 2px solid #0d1b21;
    transform: rotate(-45deg)
}

.contactTable input[type='radio'] {
    display: inline-block;
    width: 15px;
    height: 15px;
    border: 1px solid #bfbfbf;
    margin-right: 8px;
    border-radius: 50%;
    vertical-align: middle;
    background: #fff
}

.contactTable input[type='radio']:checked {
    position: relative
}

.contactTable input[type='radio']:checked::before {
    position: absolute;
    top: 2px;
    left: 2px;
    content: '';
    display: block;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background-color: #000
}

.contactTable input[type='button'] {
    padding: 6px 8px;
    font-size: 16px;
    border: 1px solid #bfbfbf;
    border-radius: 4px;
    background: #fff
}

.contactTable table {
    border-collapse: separate;
    border-spacing: 0px 5px
}

.contactTable th {
    text-align: left;
    white-space: nowrap;
    font-size: 1.6rem;
    font-weight: bold;
    margin-right: 10px;
    vertical-align: top
}

.contactTable td {
    vertical-align: top
}

.contactTable_agree {
    text-align: center;
    margin: 40px 0
}

.contactTable label:hover {
    cursor: pointer
}

.contactTable.en input,.contactTable.en textarea,.contactTable.en select {
    font-family: 'Hiragino Sans', Meiryo, Osaka, 'MS PGothic', arial, helvetica, sans-serif
}

.contactTable.en>dl>dt .el_mark {
    width: 70px
}

.contactTable_agree {
    text-align: center;
    margin: 20px auto
}

.contactTable_agree a.contactTable_agree_link {
    display: block;
    font-size: 1.6rem;
    text-decoration: underline;
    margin: 15px auto
}

.contactTable_agree>input[type="checkbox"] {
    width: 20px;
    height: 20px;
    vertical-align: sub;
    font-size: 1.6rem
}

.contactTable_agree>input[type="checkbox"]:checked::before {
    top: 1px;
    left: 1px;
    font-size: 16px
}

.contactTable_agree>label {
    font-size: 1.6rem;
    letter-spacing: .05em
}

@media screen and (min-width: 992px) {
    .contactTable_agree {
        margin:35px auto 35px
    }
}

.contactTable_btn>.btn {
    display: block;
    margin: 0 auto;
    max-width: 340px
}

.mainVisual {
    background: #000;
    color: #fff;
    background: #fff;
    position: relative;
    margin-bottom: 70px
}

.mainVisual_catch {
    position: absolute;
    top: 230px;
    left: 20px;
    z-index: 20;
    font-size: 0
}

.mainVisual_catch img {
    width: 211px;
    height: auto
}

.mainVisual_scroll {
    display: none
}

.mainVisual_countDown {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 20;
    background: #000;
    text-align: center;
    padding: 15px 7px;
    font-size: 0;
    color: #fff
}

.mainVisual_countDown p {
    font-family: 'D-DIN Condensed';
    letter-spacing: 0.28em;
    font-size: 1.3rem;
    line-height: 1rem
}

.mainVisual_countDown_number {
    background: #313131;
    color: #fff222;
    font-size: 2rem;
    width: 20px;
    height: 30px;
    line-height: 30px;
    display: inline-block;
    margin: 12px 2px;
    font-family: 'DIN Alternate'
}

.mainVisual_slider {
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
    *zoom:1}

.mainVisual_slider:before,.mainVisual_slider:after {
    content: "";
    clear: both;
    display: table
}

.mainVisual_slider_item {
    float: left;
    width: 100%;
    height: 420px
}

.mainVisual_slider_item>.el_image {
    background: 50% 50% no-repeat;
    background-size: cover;
    height: 100%
}

.mainVisual_slider_item.is-01>.el_image {
    background-image: url(../img/top/img_mainVisual01.jpg)
}

.mainVisual_slider_item.is-02>.el_image {
    background-image: url(../img/top/img_mainVisual02.jpg)
}

.mainVisual_slider_item.is-03>.el_image {
    background-image: url(../img/top/img_mainVisual03.jpg)
}

@media screen and (min-width: 768px) {
    .mainVisual {
        margin-top:60px;
        margin-bottom: initial
    }

    .mainVisual_catch {
        top: 38.5%;
        left: 110px
    }

    .mainVisual_catch img {
        width: 300px
    }

    .mainVisual_scroll {
        display: block;
        width: 55px;
        z-index: 100;
        position: absolute;
        bottom: 8.5%;
        left: 50%;
        -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }

    .mainVisual_countDown {
        padding: 26px 12px
    }

    .mainVisual_countDown p {
        font-size: 1.5rem
    }

    .mainVisual_countDown_number {
        font-size: 3.2rem;
        width: 30px;
        height: 47px;
        line-height: 47px
    }

    .mainVisual_slider_item {
        height: auto
    }

    .mainVisual_slider_item>.el_image {
        padding-top: 56.4516%
    }
}

@media screen and (min-width: 992px) {
    .mainVisual {
        margin-top:114px;
        margin-bottom: initial
    }

    .mainVisual_catch img {
        width: 425px
    }
}

.artistSection {
    max-width: 1240px;
    margin: 10px auto auto
}

@media screen and (min-width: 768px) {
    .artistSection {
        margin-top:25px
    }
}

.artist_item_mainImage {
    width: 100%;
    height: 190px;
    object-fit: cover;
    font-family: "object-fit: cover;"
}

.artist_detail_title {
    font-size: 2.7rem;
    color: #fb2b29;
    width: 90.6666666667%;
    max-width: 100%;
    margin: 20px auto;
    line-height: 1.48;
    font-weight: bold
}

.artist_detail_text {
    width: 90.6666666667%;
    max-width: 100%;
    margin: 0 auto 20px;
    letter-spacing: .08em;
    line-height: 1.68
}

.artist_detail_member {
    width: 90.6666666667%;
    max-width: 100%;
    margin: 0 auto 20px;
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between
}

.artist_detail_member>li {
    width: 29%;
    overflow: hidden;
    border-radius: 50%;
    font-size: 0;
    margin-bottom: 20px
}

.artist_detail_member>li img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover;'
}

@media screen and (min-width: 768px) {
    .artist {
        display:-ms-flexbox;
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        margin-bottom: 0
    }

    .artist_item {
        width: 47.5806%
    }

    .artist_item_mainImage {
        height: auto
    }

    .artist_detail {
        width: 46%
    }

    .artist_detail_title {
        width: 100%;
        max-width: 530px;
        margin-top: 0;
        padding-right: 30px;
        font-size: 2.5rem
    }

    .artist_detail_text {
        width: 100%;
        max-width: 530px;
        margin: 0 0 30px;
        padding-right: 30px
    }

    .artist_detail_member {
        width: 100%;
        max-width: 530px;
        margin: 0;
        padding-right: 30px
    }

    .artist_detail_member>li {
        margin-bottom: 40px
    }
}

@media screen and (min-width: 992px) {
    .artist_detail_title {
        margin:30px 0 20px
    }

    .artist_detail_text {
        margin-bottom: 50px
    }
}

.artistCategory .card>li {
    margin-bottom: 10px
}

.artistCategory .card>li>a:hover img {
    transform: scale(1.2);
    transition: all 0.6s ease
}

@media screen and (min-width: 768px) {
    .artistCategory .card>li {
        margin-bottom:40px
    }
}

@media screen and (min-width: 992px) {
    .artistCategory {
        margin-top:-10px;
        padding-top: 110px;
        background: url(../img/top/bg_artist.gif) 50% 0 no-repeat;
        background-size: 1190px
    }
}

.FestivalMap {
    background: -moz-linear-gradient(to right, #fffffb 50%, #ece0cd 50%);
    background: -webkit-linear-gradient(to right, #fffffb 50%, #ece0cd 50%);
    background: linear-gradient(to right, #fffffb 50%, #ece0cd 50%);
    margin-top: 30px;
    padding-top: 20px
}

.FestivalMap_lead {
    text-align: center;
    margin: -5px auto 20px;
    letter-spacing: .08em;
    line-height: 1.68
}

.FestivalMap_images {
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: 0 auto 30px;
    font-size: 0
}

.FestivalMap_images>li {
    width: 50%
}

.FestivalMap_images>li>img {
    width: 100%
}

.FestivalMap>.container {
    padding-bottom: 20px
}

.FestivalMap>.container .btn {
    margin-bottom: 30px
}

@media screen and (min-width: 768px) {
    .FestivalMap {
        padding-top:30px
    }

    .FestivalMap_lead {
        margin-bottom: 55px
    }

    .FestivalMap_images {
        margin-bottom: 60px
    }

    .FestivalMap_images>li {
        width: 25%
    }

    .FestivalMap>.container .btn {
        margin-bottom: 50px
    }
}

.guide {
    background: #ece0cd;
    margin-top: 30px
}

.guide>.container {
    padding-bottom: 38px
}

.guide>.container>.sectionTitle {
    padding-top: 20px;
    margin-bottom: 10px
}

.guide .card>li {
    margin-bottom: 10px
}

.guide .card>li>a:hover img {
    transform: scale(1.2);
    transition: all 0.6s ease
}

@media screen and (min-width: 768px) {
    .guide {
        background:none;
        margin-top: 70px
    }

    .guide .container {
        background: -moz-linear-gradient(to right, #fffffb 4.5454%, #ece0cd 4.5454%, #ece0cd 95.4545%, #fffffb 95.4545%);
        background: -webkit-linear-gradient(to right, #fffffb 4.5454%, #ece0cd 4.5454%, #ece0cd 95.4545%, #fffffb 95.4545%);
        background: linear-gradient(to right, #fffffb 4.5454%, #ece0cd 4.5454%, #ece0cd 95.4545%, #fffffb 95.4545%)
    }

    .guide .container>.sectionTitle {
        padding-top: 40px
    }

    .guide .card>li {
        margin-bottom: 40px
    }
}

.pickup {
    margin-top: 15px;
    margin-bottom: 20px
}

.pickup>.sectionTitle {
    margin-bottom: 10px
}

.pickup .card>li {
    margin-bottom: 10px
}

.pickup .card>li>a:hover img {
    transform: scale(1.2);
    transition: all 0.6s ease
}

@media screen and (min-width: 768px) {
    .pickup .card>li {
        margin-bottom:40px
    }
}

.information {
    background: #ece0cd;
    padding-bottom: 45px;
    padding-top: 20px
}

.information>.container {
    margin-top: -15px
}

.information_item_title {
    font-family: 'D-DIN Condensed';
    font-size: 2.5rem;
    letter-spacing: .3em;
    text-align: center;
    margin-top: 20px
}

.information_item_detail {
    background: #fff;
    padding: 20px
}

.information_item_detail iframe {
    width: auto;
    max-width: 100%;
    height: 100%;
    min-height: 400px
}

.information_item_btn {
    width: 100%;
    max-width: none
}

@media screen and (min-width: 768px) {
    .information {
        padding-top:35px
    }

    .information_item_title {
        margin-top: 0;
        font-size: 3.6rem
    }
}

@media screen and (min-width: 992px) {
    .information {
        padding-bottom:90px
    }

    .information .container {
        display: -ms-flexbox;
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        -webkit-justify-content: center;
        justify-content: center
    }

    .information_item {
        width: 32.2727%;
        padding: 0 10px
    }

    .information_item_btn {
        height: 70px;
        line-height: 70px
    }

    .information_item_btn::before {
        content: '';
        display: inline-block;
        width: 100px;
        height: 2px;
        background: #fff;
        margin-right: 28px;
        vertical-align: middle
    }
}

.news>li {
    padding-bottom: 15px
}

.news>li:not(:first-of-type) {
    border-top: 1px solid #dcdcdc;
    padding-top: 15px
}

.news>li>a {
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap
}

.news>li>a:hover img {
    transform: scale(1.2);
    transition: all 0.6s ease
}

.news_image {
    width: 80px;
    height: 80px;
    background: #dcdcdc;
    margin-right: 20px;
    overflow: hidden
}

.news_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover;';
    transition: all 0.5s;
    -moz-transition: all 0.5s;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    -ms-transition: all 0.5s
}

.news_detail {
    -webkit-box-flex: 1 1 0%;
    -moz-box-flex: 1 1 0%;
    -ms-flex: 1 1 0%;
    -webkit-flex: 1 1 0%;
    flex: 1 1 0%;
    margin-top: -7px
}

.news_detail_date {
    font-family: 'D-DIN Condensed';
    font-size: 1.5rem;
    letter-spacing: .04em
}

.news_detail_text {
    font-size: 1.2rem;
    line-height: 1.5;
    margin-top: -5px
}

.chronicle {
    margin: 30px auto 30px
}

.chronicle_lead {
    text-align: center;
    letter-spacing: .08em;
    line-height: 1.68;
    margin-bottom: 25px
}

.chronicle_banner {
    background: #000;
    font-size: 0
}

.chronicle_banner_logo {
    text-align: center
}

.chronicle_banner_logo img {
    width: 100%;
    max-width: 540px
}

.chronicle_banner_image img {
    width: 100%;
    transition: all 0.5s;
    -moz-transition: all 0.5s;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    -ms-transition: all 0.5s
}

@media screen and (min-width: 768px) {
    .chronicle {
        margin:55px auto 60px
    }

    .chronicle_banner {
        margin: auto;
        display: table
    }

    .chronicle_banner:hover .chronicle_banner_image img {
        transform: scale(1.2);
        transition: all 0.6s ease
    }

    .chronicle_banner_image {
        display: table-cell;
        overflow: hidden
    }
}

.sponsors {
    background: #ece0cd;
    padding: 20px 0 30px
}

.sponsors_banner {
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: center;
    justify-content: center;
    margin-right: -10px;
    margin-top: 20px
}

.sponsors_banner>li {
    width: 45%;
    height: 60px;
    padding: 5px;
    background: #fff;
    margin: 0 10px 10px 0;
    text-align: center
}

.sponsors_banner>li>a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative
}

.sponsors_banner>li>a:hover {
    opacity: .7;
    transition: all 0.5s;
    -moz-transition: all 0.5s;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    -ms-transition: all 0.5s
}

.sponsors_banner>li>a img {
    max-width: 100%;
    max-height: 100%;
    font-size: 1.6rem;
    position: absolute;
    top: 50%;
    left: 50%;
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.sponsors_banner.is-small>li {
    width: 28%;
    height: 40px;
    padding: 3px
}

@media screen and (min-width: 768px) {
    .sponsors {
        padding:33px 0 63px
    }

    .sponsors_banner {
        margin-right: -15px
    }

    .sponsors_banner>li {
        width: 263px;
        height: 100px;
        padding: 10px;
        margin: 0 15px 15px 0
    }

    .sponsors_banner.is-small>li {
        width: 170px;
        height: 65px;
        padding: 5px
    }
}

.newsSection {
    background: #fb2b29;
    background: -moz-linear-gradient(top, #f54747, #ff6c41);
    background: -webkit-linear-gradient(top, #f54747, #ff6c41);
    background: linear-gradient(to bottom, #f54747, #ff6c41);
    padding-bottom: 30px;
    padding-top: 20px;
    text-align: center
}

.newsSection>.sectionTitle {
    margin-bottom: 10px
}

.newsSection>.container.is-white {
    background: #fff;
    padding: 20px 20px 15px 20px;
    margin-bottom: 40px;
    text-align: left
}

.newsSection>.container.is-white .news_detail_date,.newsSection>.container.is-white .news_detail_text {
    font-size: 1.6rem
}

.newsSection>.container.is-white .news_detail_text {
    font-size: 1.6rem;
    margin-top: 0
}

.newsSection>.topic {
    color: #FFFFFF;
    font-weight: bold;
    font-size: 2.3rem
}

@media screen and (min-width: 768px) {
    .newsSection {
        padding-bottom:70px;
        padding-top: 33px
    }

    .newsSection>.container {
        padding: 40px 40px 25px 40px
    }
}

.dataTable {
    margin-bottom: 3rem
}

.dataTable a {
    text-decoration: underline
}

.dataList {
    margin-bottom: 3rem;
    margin-left: 14px
}

.dataList a {
    text-decoration: underline
}

.contents {
    padding-top: 60px;
    margin-bottom: 30px
}

.contents_title>.sectionTitle {
    height: 200px;
    background: #3060C0 50% 50% no-repeat;
    background-size: cover;
    padding-top: 53px
}

.contents_title>.sectionTitle>small {
    display: block;
    position: relative;
    top: -10px;
    letter-spacing: .2em
}

.contents p {
    margin-bottom: 3rem;
    line-height: 1.875
}

.contents p a {
    text-decoration: underline
}

.contents figure {
    margin-bottom: 10px
}

.contents figure.left {
    float: left;
    margin-right: 20px
}

.contents figure.right {
    float: right;
    margin-left: 20px
}

.contents figure>img {
    max-width: 100%
}

.contents figure>figcaption {
    font-size: 1.4rem;
    text-align: center;
    margin-top: 5px;
    line-height: 0.7rem
}

.contents .dataTable {
    margin-bottom: 3rem
}

.contents .dataTable a {
    text-decoration: underline
}

.contents .dataList {
    margin-bottom: 3rem;
    margin-left: 14px
}

.contents .dataList a {
    text-decoration: underline
}

.contents .image {
    margin-bottom: 3rem;
    max-width: 100%
}

.contents .btn {
    margin-bottom: 2rem
}

@media screen and (min-width: 768px) {
    .contents {
        margin-bottom:75px
    }

    .contents_title {
        background: #fb2b29;
        background: -moz-linear-gradient(top, #f54747, #ff6c41);
        background: -webkit-linear-gradient(top, #f54747, #ff6c41);
        background: linear-gradient(to bottom, #f54747, #ff6c41);
        height: 240px;
        padding-top: 45px;
        margin-left: 60px;
        margin-bottom: 80px
    }

    .contents_title .sectionTitle {
        height: 270px;
        margin: 0 44.5px -75px -60px
    }

    .contents_title .sectionTitle>span {
        left: 18px
    }

    .contents_title .sectionTitle>small {
        top: -35px;
        left: 5px
    }

    .contents .btn {
        margin-bottom: 4rem
    }
}

@media screen and (min-width: 992px) {
    .contents {
        padding-top:100px
    }

    .contents_title {
        margin-left: 120px
    }

    .contents_title .sectionTitle {
        margin: 0 89px -75px -120px
    }
}

.pageNav {
    display: block;
    background: #eee
}

.pageNav>ul {
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: center;
    justify-content: center
}

.pageNav>ul>li {
    line-height: 50px;
    margin: 0 32px;
    font-weight: bold;
    border-bottom: 2px solid #eee
}

.pageNav>ul>li.is-current {
    border-bottom: 2px solid #fb3533
}

.pageNav>ul>li.is-current a:link,.pageNav>ul>li.is-current a:visited {
    color: #fb3533
}

.pageNav>ul>li.is-current a:hover,.pageNav>ul>li.is-current a:active {
    color: #fb3533;
    text-decoration: none
}

.pageNav>ul>li:hover {
    border-bottom: 2px solid #fb3533
}

@media screen and (min-width: 992px) {
    .pageNav {
        display:block;
        background: #eee;
        height: 80px
    }

    .pageNav>ul {
        display: -ms-flexbox;
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        -webkit-justify-content: center;
        justify-content: center
    }

    .pageNav>ul>li {
        line-height: 78px;
        margin: 0 32px;
        font-weight: bold
    }

    .pageNav>ul>li.is-current {
        border-bottom: 2px solid #fb3533
    }

    .pageNav>ul>li.is-current a:link,.pageNav>ul>li.is-current a:visited {
        color: #fb3533
    }

    .pageNav>ul>li.is-current a:hover,.pageNav>ul>li.is-current a:active {
        color: #fb3533;
        text-decoration: none
    }

    .pageNav>ul>li:hover {
        border-bottom: 2px solid #fb3533
    }
}

.sectionTitle-1 {
    font-family: 'D-DIN Condensed Bold';
    font-size: 5rem;
    letter-spacing: .3em;
    text-align: center;
    color: #fb2b29;
    margin: 0
}

.sectionTitle-1>span {
    font-size: 1.6rem;
    display: block;
    letter-spacing: normal;
    color: #0d1b21;
    position: relative;
    top: -27px
}

@media screen and (min-width: 768px) {
    .sectionTitle-1 {
        margin:25px auto 35px;
        font-size: 6rem
    }

    .sectionTitle-1>span {
        font-size: 1.4rem
    }
}

.sectionTitle-2 {
    font-weight: bold;
    margin-bottom: 2rem;
    line-height: 1
}

.sectionTitle-2_text {
    font-size: 2rem;
    display: block
}

.sectionTitle-2_eng {
    font-size: 3.6rem;
    font-family: 'D-DIN Condensed Bold';
    letter-spacing: .08em;
    display: block;
    margin-bottom: 12px
}

.sectionTitle-3 {
    position: relative;
    color: #fb2b29;
    font-size: 2rem;
    font-weight: 600;
    border-bottom: 2px solid #dcdcdc;
    padding: 10px 0 10px 10px;
    letter-spacing: .1em;
    margin-bottom: 3rem
}

.sectionTitle-3::before {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    display: block;
    width: 100px;
    height: 2px;
    background: #fb2b29
}

.sectionTitle-4,.sectionTitle-6 {
    font-weight: bold;
    letter-spacing: .1em;
    margin-bottom: 2rem
}

.sectionTitle-5 {
    font-weight: bold;
    letter-spacing: .1em;
    color: #fb2b29;
    margin-bottom: 2rem
}

.dataList {
    letter-spacing: .2em;
    line-height: 2.125
}

.dataList>li::before {
    content: '';
    margin-right: 7px;
    position: relative;
    width: 0px;
    height: 0px;
    border: 0.4em solid transparent;
    border-left: 0.4em solid #fb2b29;
    font-size: 15px;
    display: inline-block
}

.partnerImgList {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px
}

.partnerImgList img {
    width: 250px;
    height: auto;
    border: solid 1px #CCCCCC
}

.partnerImgList figure>figcaption {
    margin-top: 0px;
    line-height: 1.8rem
}

@media screen and (min-width: 320px) {
    .partnerImgList img {
        width:280px
    }
}

@media screen and (min-width: 480px) {
    .partnerImgList img {
        width:300px
    }
}

@media screen and (min-width: 768px) {
    .partnerImgList img {
        width:350px
    }
}

@media screen and (min-width: 992px) {
    .partnerImgList img {
        width:450px
    }
}

.partnerTxtList {
    text-align: center
}

.blogForm select {
    -webkit-appearance: menulist;
    -moz-appearance: menulist;
    appearance: menulist;
    width: 25%;
    padding: 6px 8px;
    font-size: 1.6rem;
    margin: 10px 0;
    border: 1px solid #bfbfbf;
    border-radius: 4px;
    background: #fff;
    color: #0d1b21
}

.snsNav {
    display: block;
    position: fixed;
    top: 0px;
    right: 0px;
    height: 100vh;
    z-index: 900;
    opacity: 1
}

.snsNav>ul {
    font-size: 0;
    position: relative;
    top: 50%;
    transform: translate(0, -50%)
}

.snsNav>ul>li {
    display: block;
    width: 51px;
    height: 52px;
    margin-bottom: 10px;
    background-color: #FFFFFF;
    border-top: 1px solid #FFFFFF;
    border-left: 1px solid #FFFFFF;
    border-bottom: 1px solid #FFFFFF
}

.snsNav>ul>li>a {
    display: block;
    width: 50px;
    height: 50px
}

.snsNav>ul>li>a>img {
    width: 50px;
    height: 50px
}

@media screen and (max-width: 768px) {
    .snsNav>ul>li {
        width:41px;
        height: 42px
    }

    .snsNav>ul>li>a {
        display: block;
        width: 40px;
        height: 40px
    }

    .snsNav>ul>li>a>img {
        width: 40px;
        height: 40px
    }
}

@media screen and (max-width: 480px) {
    .snsNav>ul>li {
        width:31px;
        height: 32px
    }

    .snsNav>ul>li>a {
        display: block;
        width: 30px;
        height: 30px
    }

    .snsNav>ul>li>a>img {
        width: 30px;
        height: 30px
    }
}

.snsNav>ul>li:last-child {
    margin-bottom: 0px
}

.bgInitial {
    background: initial
}

.colRed {
    color: #FF0000 !important
}

.colBlue {
    color: #0000FF !important
}

.colGleen {
    color: #00FF00 !important
}

.colWhite {
    color: #FFF !important
}

.colBlack {
    color: #000 !important
}

.col222 {
    color: #222 !important
}

.col444 {
    color: #444 !important
}

.col888 {
    color: #888 !important
}

.colAAA {
    color: #AAA !important
}

.colCCC {
    color: #CCC !important
}

.isBold {
    font-weight: bold !important
}

.isLine {
    text-decoration: underline !important
}

.isItalic {
    font-style: italic !important
}

.isCenter {
    text-align: center !important
}

.isLeft {
    text-align: left !important
}

.isRight {
    text-align: right !important
}

.isJustify {
    display: flex !important;
    justify-content: space-between !important
}

.maxSize {
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important
}

.font10rem {
    font-size: 1.0rem !important
}

.font11rem {
    font-size: 1.1rem !important
}

.font12rem {
    font-size: 1.2rem !important
}

.font13rem {
    font-size: 1.3rem !important
}

.font14rem {
    font-size: 1.4rem !important
}

.font15rem {
    font-size: 1.5rem !important
}

.font16rem {
    font-size: 1.6rem !important
}

.font17rem {
    font-size: 1.7rem !important
}

.font18rem {
    font-size: 1.8rem !important
}

.font19rem {
    font-size: 1.9rem !important
}

.font20rem {
    font-size: 2.0rem !important
}

.font21rem {
    font-size: 2.1rem !important
}

.font22rem {
    font-size: 2.2rem !important
}

.font23rem {
    font-size: 2.3rem !important
}

.font24rem {
    font-size: 2.4rem !important
}

.font25rem {
    font-size: 2.5rem !important
}

.font26rem {
    font-size: 2.6rem !important
}

.font27rem {
    font-size: 2.7rem !important
}

.font28rem {
    font-size: 2.8rem !important
}

.font29rem {
    font-size: 2.9rem !important
}

.font30rem {
    font-size: 3.0rem !important
}

.floatLeft {
    float: left !important
}

.floatRight {
    float: right !important
}

.clearBoth {
    clear: both !important
}

.youtube_yoko {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 56.25%
}

.youtube_tate {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 177.78%
}

iframe.youtube {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.hgt0 {
    height: 0px !important
}

.hgt5 {
    height: 5px !important
}

.hgt10 {
    height: 10px !important
}

.hgt15 {
    height: 15px !important
}

.hgt20 {
    height: 20px !important
}

.hgt25 {
    height: 25px !important
}

.hgt30 {
    height: 30px !important
}

.hgt35 {
    height: 35px !important
}

.hgt40 {
    height: 40px !important
}

.hgt45 {
    height: 45px !important
}

.hgt50 {
    height: 50px !important
}

.hgt55 {
    height: 55px !important
}

.hgt60 {
    height: 60px !important
}

.hgt65 {
    height: 65px !important
}

.hgt70 {
    height: 70px !important
}

.hgt75 {
    height: 75px !important
}

.hgt80 {
    height: 80px !important
}

.hgt85 {
    height: 85px !important
}

.hgt90 {
    height: 90px !important
}

.hgt95 {
    height: 95px !important
}

.hgt100 {
    height: 100px !important
}

.hgt150 {
    height: 150px !important
}

.hgt200 {
    height: 200px !important
}

.hgt250 {
    height: 250px !important
}

.hgt300 {
    height: 300px !important
}

.hgt350 {
    height: 350px !important
}

.hgt400 {
    height: 400px !important
}

.hgt450 {
    height: 450px !important
}

.hgt500 {
    height: 500px !important
}

.wb_ba {
    word-break: break-all !important
}

.wb_bw {
    word-break: break-word !important
}
