@charset "UTF-8";
a, body {
    color:#000
}

footer, footer a {
    color:#fff
}

#page-top a, h4 {
    color:#a02c0f
}

h4, h5 {
    margin-bottom:10px
}

body {
    background: url(../img/bg_ptn1.jpg);
    background-size: 64px;
    font-family: 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', '游明朝','Yu Mincho', '游明朝体', 'YuMincho','ＭＳ Ｐ明朝', 'MS PMincho','Noto Serif JP', serif !important;
    font-size: 14px;
    letter-spacing: .1em;
    line-height:1.8;
}

footer {
    background: url(../img/bg_ptn3.jpg);
    background-size:350px
}

#page-top a {
    z-index:9999
}

.btn a, .info a {
    color:#fff
}

.btn {
    background: url(../img/bg_ptn4.jpg);
    background-size: 400px;
    text-align:center;
}

.btn a {
    display: block;
    padding:15px;
}

.info dl dd, dl.shop-info dd {
    border-bottom:1px solid rgba(0, 0, 0, .15)
}

.course dl dt.price + dd, .current {
    color:#a02c0f;
}

.access dl {
    margin-top:25px;
}

.access dl.shop-info dd {
    border-bottom:1px solid rgba(0, 0, 0, .15)
}

.course dl {
    border-bottom:1px solid rgba(0, 0, 0, .2)
}

.course-list {
    background:rgba(255, 255, 255, .9)
}

dl.menu-list dd, dl.menu-list dd.multi, dl.menu-list dt, dl.menu-list dt.multi {
    border-bottom:solid 1px rgba(0, 0, 0, .15)
}

dl.menu-list dt:first-child, dl.menu-list dt:first-child + dd {
    border-top:solid 1px rgba(0, 0, 0, .15)
}

dl.menu-list dt:nth-of-type(odd), dl.menu-list dt:nth-of-type(odd) + dd {
    background:rgba(0, 0, 0, .04)
}

dl.menu-list dt.multi + dd dl dt:nth-of-type(odd), dl.menu-list dt.multi + dd dl dt:nth-of-type(odd) + dd {
    background:0 0 !important
}

.current {
    border-bottom: dotted 2px #a02c0f;
    font-weight: 700;
    padding-bottom:7px
}

.mbn {
    margin-bottom:0 !important
}

.object-fit-img {
    object-fit: contain;
    font-family: 'object-fit: contain;'
}

@-webkit-keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translateY(30px);
        transform:translateY(30px)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform:translateY(0)
    }
}

@-moz-keyframes fadeInUp {
    0% {
        opacity: 0;
        -moz-transform: translateY(30px);
        transform:translateY(30px)
    }

    100% {
        opacity: 1;
        -moz-transform: translateY(0);
        transform:translateY(0)
    }
}

@-ms-keyframes fadeInUp {
    0% {
        opacity: 0;
        -ms-transform: translateY(30px);
        transform:translateY(30px)
    }

    100% {
        opacity: 1;
        -ms-transform: translateY(0);
        transform:translateY(0)
    }
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform:translateY(20px)
    }

    100% {
        opacity: 1;
        transform:translateY(0)
    }
}

.fadeInUp {
    -webkit-animation: fadeInUp .6s ease;
    -moz-animation: fadeInUp .6s ease;
    -ms-animation: fadeInUp .6s ease;
    animation: fadeInUp .6s ease;
    -webkit-animation-fill-mode: both;
    -moz-animation-fill-mode: both;
    -ms-animation-fill-mode: both;
    animation-fill-mode:both
}

.fade {
    opacity:0
}

@-webkit-keyframes fadeLR {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-30px);
        transform:translateX(-30px)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform:translateX(0)
    }
}

@-moz-keyframes fadeLR {
    0% {
        opacity: 0;
        -moz-transform: translateX(-30px);
        transform:translateX(-30px)
    }

    100% {
        opacity: 1;
        -moz-transform: translateX(0);
        transform:translateX(0)
    }
}

@-ms-keyframes fadeLR {
    0% {
        opacity: 0;
        -ms-transform: translateX(-30px);
        transform:translateX(-30px)
    }

    100% {
        opacity: 1;
        -ms-transform: translateX(0);
        transform:translateX(0)
    }
}

@keyframes fadeLR {
    0% {
        opacity: 0;
        transform:translateX(-30px)
    }

    100% {
        opacity: 1;
        transform:translateX(0)
    }
}

.fadeLR {
    -webkit-animation: fadeLR .7s ease;
    -moz-animation: fadeLR .7s ease;
    -ms-animation: fadeLR .7s ease;
    animation: fadeLR .7s ease;
    -webkit-animation-fill-mode: both;
    -moz-animation-fill-mode: both;
    -ms-animation-fill-mode: both;
    animation-fill-mode:both
}

.fade-ltr {
    opacity:0
}

@-webkit-keyframes fadeRL {
    0% {
        opacity: 0;
        -webkit-transform: translateX(30px);
        transform:translateX(30px)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform:translateX(0)
    }
}

@-moz-keyframes fadeRL {
    0% {
        opacity: 0;
        -moz-transform: translateX(30px);
        transform:translateX(30px)
    }

    100% {
        opacity: 1;
        -moz-transform: translateX(0);
        transform:translateX(0)
    }
}

@-ms-keyframes fadeRL {
    0% {
        opacity: 0;
        -ms-transform: translateX(30px);
        transform:translateX(30px)
    }

    100% {
        opacity: 1;
        -ms-transform: translateX(0);
        transform:translateX(0)
    }
}

@keyframes fadeRL {
    0% {
        opacity: 0;
        transform:translateX(30px)
    }

    100% {
        opacity: 1;
        transform:translateX(0)
    }
}

.fadeRL {
    -webkit-animation: fadeRL .7s ease;
    -moz-animation: fadeRL .7s ease;
    -ms-animation: fadeRL .7s ease;
    animation: fadeRL .7s ease;
    -webkit-animation-fill-mode: both;
    -moz-animation-fill-mode: both;
    -ms-animation-fill-mode: both;
    animation-fill-mode:both
}

.fade-rtl {
    opacity:0
}

.cnt {
    text-align:center
}

.rgt {
    text-align:right
}

.flex {
    display:flex
}

.flex-center {
    justify-content:center
}

.flex-between {
    justify-content:space-between
}

.flex-reverse {
    flex-direction:row-reverse
}

.flex-itemcenter {
    align-items:center
}

.flex-wrap {
    flex-wrap:wrap
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.delay1 {
    animation-delay: .2s;
    -moz-animation-delay: .2s;
    -webkit-animation-delay: .2s;
    -o-animation-delay:.2s
}

.delay2 {
    animation-delay: .35s;
    -moz-animation-delay: .35s;
    -webkit-animation-delay: .35s;
    -o-animation-delay:.35s
}

.delay3 {
    animation-delay: .5s;
    -moz-animation-delay: .5s;
    -webkit-animation-delay: .5s;
    -o-animation-delay:.5s
}

.delay4 {
    animation-delay: .8s;
    -moz-animation-delay: .8s;
    -webkit-animation-delay: .8s;
    -o-animation-delay: .8s
}

