@charset "UTF-8";/*! normalize.css v3.0.1 | MIT License | git.io/normalize */
html {
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

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

audio,canvas,progress,video {
    display: inline-block;
    vertical-align: baseline
}

audio:not([controls]) {
    display: none;
    height: 0
}

[hidden],template {
    display: none
}

a {
    background: transparent
}

a:active,a:hover {
    outline: 0
}

abbr[title] {
    border-bottom: 1px dotted
}

b,strong {
    font-weight: 700
}

dfn {
    font-style: italic
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

mark {
    background: #ff0;
    color: #000
}

small {
    font-size: 80%
}

sub,sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sup {
    top: -.5em
}

sub {
    bottom: -.25em
}

img {
    border: 0
}

svg:not(:root) {
    overflow: hidden
}

figure {
    margin: 1em 40px
}

hr {
    box-sizing: content-box;
    height: 0
}

pre {
    overflow: auto
}

code,kbd,pre,samp {
    font-family: monospace,monospace;
    font-size: 1em
}

button,input,optgroup,select,textarea {
    color: inherit;
    font: inherit;
    margin: 0
}

button {
    overflow: visible
}

button,select {
    text-transform: none
}

button,html input[type=button],input[type=reset],input[type=submit] {
    -webkit-appearance: button;
    cursor: pointer
}

button[disabled],html input[disabled] {
    cursor: default
}

button::-moz-focus-inner,input::-moz-focus-inner {
    border: 0;
    padding: 0
}

input {
    line-height: normal
}

input[type=checkbox],input[type=radio] {
    box-sizing: border-box;
    padding: 0
}

input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button {
    height: auto
}

input[type=search] {
    -webkit-appearance: textfield;
    box-sizing: content-box
}

input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

fieldset {
    border: 1px solid silver;
    margin: 0 2px;
    padding: .35em .625em .75em
}

legend {
    border: 0;
    padding: 0
}

textarea {
    overflow: auto
}

optgroup {
    font-weight: 700
}

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

td,th {
    padding: 0
}

body {
    font-family: Libre Baskerville,"游明朝",YuMincho,"ヒラギノ明朝 ProN W3",Hiragino Mincho ProN,"HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
    position: relative;
    color: #4b4b4a
}

ul {
    list-style: none
}

p {
    line-height: 28.8px;
    line-height: 1.8rem
}

p a {
    text-decoration: underline
}

p a:hover {
    text-decoration: none
}

a {
    color: #4cbb92;
    text-decoration: none
}

.btn-block {
    display: inline-block
}

@media only screen and (max-width: 960px) {
    .btn-block {
        display:block;
        text-align: center
    }
}

ul {
    margin: 0;
    padding: 0
}

.right {
    display: block;
    text-align: right
}

.btn {
    position: relative;
    height: 40px;
    box-sizing: border-box;
    padding-left: 28px;
    padding-right: 16px;
    transition: all .3s;
    z-index: 2;
    border-radius: 20px;
    line-height: 40px;
    vertical-align: middle;
    color: #fff;
    overflow: hidden;
    background: url(./icon_right_arrow.svg) no-repeat 16px center #96d7bf;
    font-size: 14px;
    font-size: 16px;
    font-size: 1rem
}

.btn:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(./icon_right_arrow.svg) no-repeat 16px center #96d7bf;
    border-radius: 10rem;
    z-index: -2
}

.btn:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: url(./icon_right_arrow.svg) no-repeat 16px center #4cbb92;
    transition: all .3s;
    border-radius: 10rem;
    z-index: -1
}

@media only screen and (max-width: 960px) {
    .btn:before {
        display:none
    }
}

.btn:hover {
    color: #fff
}

.btn:hover:before {
    width: 100%
}

h1,h2,h3,h4 {
    font-weight: 400;
    margin: 0;
    padding: 0;
    letter-spacing: 1.6px;
    letter-spacing: .1rem
}

header {
    vertical-align: top;
    z-index: 10;
    width: 100%;
    display: block;
    overflow: hidden
}

@media only screen and (max-width: 960px) {
    header {
        height:60px
    }
}

header .logo {
    position: absolute;
    top: 24px;
    left: 16px;
    z-index: 11
}

@media only screen and (max-width: 960px) {
    header .logo {
        top:18px
    }
}

header .header-txt {
    background: #f8f5ed;
    position: absolute;
    top: 16px;
    right: 188px;
    font-size: 9px;
    font-size: 10.285px;
    font-size: .64286rem;
    padding: 10px 40px 10px 12px;
    border-radius: 20px
}

@media only screen and (max-width: 960px) {
    header .header-txt {
        display:none
    }
}

header .trial-btn {
    position: absolute;
    top: 14px;
    right: 16px;
    height: 40px
}

@media only screen and (max-width: 960px) {
    header .trial-btn {
        opacity:0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        text-align: center;
        margin: -80px -50% 0 0;
        position: fixed;
        z-index: 11;
        top: 100%;
        right: 50%;
        width: 100%
    }
}

header .trial-btn .btn {
    border-radius: 20px;
    background: none;
    padding-top: 10px;
    padding-bottom: 10px;
    height: 40px;
    overflow: hidden
}

header .g-nav {
    margin-top: 78px
}

@media only screen and (max-width: 960px) {
    header .g-nav {
        margin-top:0;
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        height: 0
    }
}

header .g-nav .menu {
    letter-spacing: 3.2px;
    letter-spacing: .2rem;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    width: 100%;
    line-height: 19.2px;
    line-height: 1.2rem;
    font-size: 14px;
    font-size: 16px;
    font-size: 1rem
}

header .g-nav .menu li {
    width: 100%
}

header .g-nav .menu li a {
    padding-bottom: 12px;
    color: #4b4b4a;
    display: block;
    background: url(./menu_line.svg) no-repeat right 0;
    border-bottom: white 2px solid;
    transition: .3s
}

header .g-nav .menu li a span {
    font-size: 9px;
    font-size: 10.285px;
    font-size: .64286rem;
    color: #c8a655;
    display: block;
    letter-spacing: 1.6px;
    letter-spacing: .1rem
}

header .g-nav .menu li a.active {
    border-bottom: #c8a655 2px solid
}

header .g-nav .menu li:last-child a {
    background: none
}

header .g-nav .menu:hover li a:not(:hover) {
    opacity: .3;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"
}

@media only screen and (max-width: 960px) {
    header .g-nav .menu:hover li a:not(:hover) {
        opacity:1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
    }
}

header .btn-menu {
    text-align: center;
    background: url(./icon_menu.svg) no-repeat center 10px #96d7bf;
    font-size: 8px;
    font-size: 9.142px;
    font-size: .57143rem;
    border-radius: 8px;
    height: 44px;
    width: 44px;
    display: block;
    position: fixed;
    right: 8px;
    top: 8px;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    visibility: hidden;
    cursor: pointer;
    color: white;
    box-sizing: border-box;
    padding-top: 28px;
    z-index: 12
}

@media only screen and (max-width: 960px) {
    header .btn-menu {
        opacity:1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        visibility: visible
    }
}

header .btn-close {
    display: none
}

.fixed .trial-btn {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
}

.fixed .btn {
    font-size: 20px;
    font-size: 22.857px;
    font-size: 1.42857rem;
    width: 100%;
    background: none;
    color: #96d7bf;
    padding: 12px 20px;
    height: 44px
}

.fixed .btn:after {
    background: white
}

.fixed .btn-menu {
    display: none;
    transition: all .3s
}

.fixed .g-nav {
    padding: 0;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    background: rgba(150,215,191,.9);
    overflow: hidden;
    box-sizing: border-box;
    transition: all .5s;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
}

.fixed .g-nav .menu {
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    height: 100%;
    overflow: hidden;
    padding: 80px 0 130px;
    box-sizing: border-box;
    font-size: 20px;
    font-size: 22.857px;
    font-size: 1.42857rem
}

.fixed .g-nav .menu li a {
    border-bottom: none;
    background: none;
    color: white;
    width: 100%;
    height: 100%;
    padding: 20px 0
}

.fixed .g-nav .menu li a span {
    display: none
}

.fixed .g-nav .menu li .active {
    border-bottom: none
}

.fixed .btn-close {
    background: url(./icon_close.svg) no-repeat center 10px;
    font-size: 8px;
    font-size: 9.142px;
    font-size: .57143rem;
    height: 44px;
    width: 44px;
    display: block;
    position: fixed;
    right: 8px;
    top: 8px;
    cursor: pointer;
    color: white;
    text-align: center;
    box-sizing: border-box;
    padding-top: 28px;
    z-index: 11
}

.main {
    line-height: 0;
    position: relative
}

.main h1 {
    position: absolute;
    bottom: 20px;
    right: 20px;
    z-index: 2
}

@media only screen and (max-width: 960px) {
    .main h1 {
        bottom:10px;
        right: 10px
    }

    .main h1 img {
        width: 100px
    }
}

.main .main-img {
    z-index: 1;
    position: relative
}

.main .main-img .shadow {
    box-shadow: 0 0 4px rgba(200,166,85,.4) inset
}

.main .main-img img {
    position: relative;
    width: 100%;
    z-index: -1
}

.main .main-txt {
    z-index: 2;
    font-weight: 400;
    font-size: 28px;
    font-size: 32px;
    font-size: 2rem;
    line-height: 38.4px;
    line-height: 2.4rem;
    color: #c8a655;
    position: absolute;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    left: 40%;
    top: 60px
}

@media only screen and (max-width: 960px) {
    .main .main-txt {
        font-size:18px;
        font-size: 1.28571rem;
        top: 20px;
        line-height: 1.4rem
    }
}

.main .main-txt span {
    margin-top: 120px
}

@media only screen and (max-width: 960px) {
    .main .main-txt span {
        margin-top:20px
    }
}

.fadeInDown {
    animation-fill-mode: both;
    animation-duration: 1s;
    animation-name: fadeInDown;
    visibility: visible!important
}

@keyframes fadeInDown {
    0% {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        transform: translateY(-20px)
    }

    100% {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        transform: translateY(0)
    }
}

h1.page-title {
    box-shadow: 0 0 4px rgba(200,166,85,.4) inset;
    height: 120px;
    text-align: center;
    font-size: 24px;
    font-size: 27.428px;
    font-size: 1.71429rem;
    background: url(./bg.jpg) no-repeat 0 0;
    background-size: 100% auto;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    z-index: 10
}

@media only screen and (max-width: 960px) {
    h1.page-title {
        height:60px;
        font-size: 18px;
        font-size: 1.28571rem
    }
}

section {
    padding: 40px 32px
}

@media only screen and (max-width: 960px) {
    section {
        padding:20px 16px
    }
}

section .title {
    color: #c8a655;
    background: url(./h2_line.svg) no-repeat 0 bottom;
    padding-bottom: 8px
}

section .title h2 {
    font-size: 18px;
    font-size: 20.571px;
    font-size: 1.28571rem
}

section .title p {
    font-size: 9px;
    font-size: 10.285px;
    font-size: .64286rem;
    margin: 0 0 8px;
    line-height: 0
}

section h3 {
    padding-top: 12px;
    font-size: 20px;
    font-size: 22.857px;
    font-size: 1.42857rem
}

.concept {
    background: url(./bg.jpg) no-repeat center/cover
}

.concept .message {
    width: 520px;
    text-align: center;
    margin: 40px auto
}

@media only screen and (max-width: 960px) {
    .concept .message {
        width:100%;
        margin: 0 auto
    }
}

@media only screen and (max-width: 960px) {
    .concept .message p {
        text-align:left
    }
}

.concept .list {
    text-align: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around
}

@media only screen and (max-width: 960px) {
    .concept .list {
        -ms-flex-direction:column;
        flex-direction: column
    }
}

.concept .list li {
    width: 240px;
    position: relative
}

@media only screen and (max-width: 960px) {
    .concept .list li {
        width:100%;
        margin-bottom: 20px;
        overflow: hidden;
        display: block
    }
}

.concept .list li figure {
    width: 240px;
    height: 240px;
    border: 1px solid #c8a655;
    border-radius: 120px;
    margin: 0;
    padding-top: 60px;
    box-sizing: border-box
}

@media only screen and (max-width: 960px) {
    .concept .list li figure img {
        height:50px
    }
}

@media only screen and (max-width: 960px) {
    .concept .list li figure {
        width:88px;
        height: 88px;
        padding-top: 20px;
        position: absolute;
        top: 0;
        left: 0
    }
}

.concept .list li h4 {
    color: #c8a655;
    width: 240px;
    position: absolute;
    top: 180px
}

@media only screen and (max-width: 960px) {
    .concept .list li h4 {
        text-align:left;
        left: 100px;
        top: 0;
        width: auto
    }
}

.concept .list li p {
    width: 240px;
    font-size: 14px;
    font-size: 16px;
    font-size: 1rem
}

@media only screen and (max-width: 960px) {
    .concept .list li p {
        width:auto;
        line-height: 1.4rem;
        margin: 24px 0 0 98px;
        text-align: left
    }
}

.teacher {
    background: #f8f5ed;
    display: -ms-flexbox;
    display: flex
}

@media only screen and (max-width: 960px) {
    .teacher {
        -ms-flex-direction:column;
        flex-direction: column
    }
}

.teacher h3 {
    height: 50px;
    background: url(./title_teacher.svg) no-repeat 110px center
}

@media only screen and (max-width: 960px) {
    .teacher h3 {
        background-size:160px auto
    }
}

.teacher .img-teacher {
    width: 360px;
    margin-right: 40px
}

.teacher .img-teacher img {
    width: 100%
}

@media only screen and (max-width: 960px) {
    .teacher .img-teacher {
        width:100%;
        height: 240px;
        overflow: hidden;
        margin-right: 0;
        margin-bottom: 32px
    }
}

.course h3 {
    text-align: center
}

.course .course-list {
    width: 100%;
    text-align: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.course .course-list li {
    margin: 1%;
    width: 22%
}

@media only screen and (max-width: 960px) {
    .course .course-list li {
        width:42%
    }
}

.course .course-list li a {
    position: relative;
    display: block;
    overflow: hidden;
    line-height: 0
}

.course .course-list li .mask {
    border-radius: 50%;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    background-color: rgba(150,215,191,.8);
    transition: all .2s ease-out
}

.course .course-list li .mask .caption {
    padding-top: 100%;
    color: #fff;
    transition: all .2s ease-out
}

.course .course-list li a:hover .mask {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
}

.course .course-list li a:hover .mask .caption {
    padding-top: 50%
}

.course .course-list li img {
    border-radius: 50%;
    width: 100%
}

.course .course-list li p {
    margin: 8px 0 0;
    color: #c8a655
}

.access {
    display: -ms-flexbox;
    display: flex;
    background: #f8f5ed
}

@media only screen and (max-width: 960px) {
    .access {
        -ms-flex-direction:column-reverse;
        flex-direction: column-reverse
    }
}

.access img {
    width: 100%;
    border-radius: 12px
}

@media only screen and (max-width: 960px) {
    .access img {
        margin-bottom:12px
    }
}

.access .img-access {
    width: 554px;
    margin-right: 40px
}

.access .img-access img {
    margin-bottom: 20px
}

@media only screen and (max-width: 960px) {
    .access .img-access {
        width:100%;
        margin-right: 0
    }
}

.page .concept,.page .teacher,.page .access {
    background: none
}

.page .title {
    display: none;
    height: 0
}

.page .form {
    text-align: center
}

@media only screen and (max-width: 960px) {
    .page .form iframe {
        width:100%
    }
}

nav {
    padding: 40px 40px 0
}

@media only screen and (max-width: 960px) {
    nav {
        padding:20px 16px 0
    }
}

nav .course-tab {
    width: 100%;
    text-align: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around
}

nav .course-tab li {
    transition: .3s;
    cursor: pointer;
    margin-right: 8px;
    height: 36px;
    vertical-align: middle;
    line-height: 36px;
    border-radius: 18px;
    color: #c8a655;
    border: 1px solid #c8a655;
    width: 90%
}

@media only screen and (max-width: 960px) {
    nav .course-tab li {
        width:auto;
        padding: 0 10px;
        font-size: 12px;
        font-size: .85714rem;
        margin-right: 2px
    }
}

nav .course-tab a {
    width: 100%;
    display: block;
    color: #c8a655
}

nav .course-tab li:last-child {
    margin-right: 0
}

nav .course-tab .active {
    background: #c8a655
}

nav .course-tab .active a {
    color: white
}

.course-content {
    position: relative;
    text-align: center
}

.course-content h2 {
    margin-bottom: 20px
}

@media only screen and (max-width: 960px) {
    .course-content h2 {
        margin-bottom:12px
    }
}

.course-content h3 {
    color: #c8a655;
    font-size: 18px;
    font-size: 20.571px;
    font-size: 1.28571rem;
    padding-bottom: 8px
}

.course-content table.course-table {
    table-layout: fixed;
    margin-left: auto;
    margin-right: auto;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 12px;
    border: 1px solid #c8a655
}

.course-content table.course-table th,.course-content table.course-table td {
    border-right: 1px solid #c8a655;
    border-bottom: 1px solid #c8a655;
    padding: 8px 12px
}

@media only screen and (max-width: 960px) {
    .course-content table.course-table th,.course-content table.course-table td {
        padding:4px 6px
    }
}

.course-content table.course-table th {
    background: #eae1c8
}

.course-content table.course-table td {
    background: white
}

.course-content table.course-table th:first-child {
    border-radius: 12px 0 0
}

.course-content table.course-table th:last-child {
    border-radius: 0 12px 0 0
}

.course-content table.course-table th:last-child {
    border-right: 0
}

.course-content table.course-table td:last-child {
    border-right: 0
}

.course-content table.course-table tr:last-child td:first-child {
    border-radius: 0 0 0 12px
}

.course-content table.course-table tr:last-child td:last-child {
    border-radius: 0 0 12px
}

.course-content table.course-table tr:last-child td {
    border-bottom: 0
}

.course-content .course-detail .course-name img {
    width: 100%;
    margin-bottom: 40px
}

@media only screen and (max-width: 960px) {
    .course-content .course-detail .course-name img {
        margin-bottom:12px
    }
}

.course-content .course-detail .course-name p {
    margin: 10px auto 0;
    width: 520px
}

@media only screen and (max-width: 960px) {
    .course-content .course-detail .course-name p {
        width:100%
    }
}

.course-content .course-detail .course-fee {
    background: #f8f5ed
}

.course-content .course-detail .course-fee table.course-table {
    width: 520px
}

@media only screen and (max-width: 960px) {
    .course-content .course-detail .course-fee table.course-table {
        width:100%
    }
}

.course-content .course-detail .course-fee p {
    font-size: 12px;
    font-size: 13.714px;
    font-size: .85714rem
}

.course-content .course-detail .course-schedule .course-schedule-wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: distribute;
    justify-content: space-around
}

@media only screen and (max-width: 960px) {
    .course-content .course-detail .course-schedule .course-schedule-wrapper {
        -ms-flex-direction:column;
        flex-direction: column
    }
}

.course-content .course-detail .course-schedule .course-schedule-1,.course-content .course-detail .course-schedule .course-schedule-2 {
    margin: 0 10px
}

@media only screen and (max-width: 960px) {
    .course-content .course-detail .course-schedule .course-schedule-1,.course-content .course-detail .course-schedule .course-schedule-2 {
        margin:0
    }
}

.course-content .course-detail .course-schedule table.course-table {
    width: 100%
}

@media only screen and (max-width: 960px) {
    .course-content .course-detail .course-schedule table.course-table {
        font-size:12px;
        font-size: .85714rem;
        width: 100%
    }
}

.course-content .course-detail .course-schedule p {
    font-size: 12px;
    font-size: 13.714px;
    font-size: .85714rem
}

.course-content .course-detail .course-flow {
    background: #f8f5ed
}

.course-content .course-detail .course-flow ul {
    width: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start
}

@media only screen and (max-width: 960px) {
    .course-content .course-detail .course-flow ul {
        -ms-flex-direction:column;
        flex-direction: column
    }
}

.course-content .course-detail .course-flow ul li {
    box-sizing: border-box;
    background: white;
    width: 25%;
    border: #c8a655 solid 1px;
    padding: 20px;
    border-radius: 12px;
    margin-right: 40px;
    position: relative
}

@media only screen and (max-width: 960px) {
    .course-content .course-detail .course-flow ul li {
        margin-right:0;
        margin-bottom: 40px;
        width: 100%;
        padding: 10px
    }
}

.course-content .course-detail .course-flow ul li img {
    width: 80%;
    margin-right: 0
}

@media only screen and (max-width: 960px) {
    .course-content .course-detail .course-flow ul li img {
        width:88px;
        float: left
    }
}

@media only screen and (max-width: 960px) {
    .course-content .course-detail .course-flow ul li h3 {
        text-align:left;
        margin-left: 100px
    }
}

.course-content .course-detail .course-flow ul li p {
    margin: 0
}

@media only screen and (max-width: 960px) {
    .course-content .course-detail .course-flow ul li p {
        text-align:left;
        margin-left: 100px
    }
}

.course-content .course-detail .course-flow ul li:after {
    content: "";
    position: absolute;
    bottom: 50%;
    right: -33px;
    background: url(./flow_icon.svg) no-repeat 0 0;
    width: 15px;
    height: 20px;
    display: block
}

@media only screen and (max-width: 960px) {
    .course-content .course-detail .course-flow ul li:after {
        bottom:-33px;
        right: 49%;
        transform: rotate(90deg)
    }
}

.course-content .course-detail .course-flow ul li:last-child {
    margin-right: 0
}

.course-content .course-detail .course-flow ul li:last-child:after {
    background: none
}

.footer-trial {
    text-align: center
}

.pagetop {
    text-align: right;
    position: relative
}

@media only screen and (max-width: 960px) {
    .pagetop {
        height:50px
    }
}

.pagetop a {
    position: absolute;
    bottom: 8px;
    right: 40px;
    background: url(./pagetop.svg) no-repeat 0 0;
    width: 32px;
    height: 36px
}

@media only screen and (max-width: 960px) {
    .pagetop a {
        right:50%;
        margin-right: -25px
    }
}

footer {
    background: #f8f5ed;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media only screen and (max-width: 960px) {
    footer {
        -ms-flex-direction:column;
        flex-direction: column
    }
}

footer .footer-txt {
    padding: 32px 0 10px 32px;
    box-sizing: border-box;
    -ms-flex-positive: 1;
    flex-grow: 1;
    width: 28%;
    font-size: 10px;
    font-size: 11.428px;
    font-size: .71429rem
}

footer .footer-txt p {
    margin: 0
}

@media only screen and (max-width: 960px) {
    footer .footer-txt {
        padding:20px 16px 0;
        width: 100%
    }
}

footer .footer-menu {
    padding: 32px 32px 10px 0;
    box-sizing: border-box;
    -ms-flex-positive: 2;
    flex-grow: 2;
    width: 72%;
    text-align: center;
    font-size: 13px;
    font-size: 14.857px;
    font-size: .92857rem
}

@media only screen and (max-width: 960px) {
    footer .footer-menu {
        padding:16px 16px 20px;
        width: 100%
    }
}

footer .footer-menu li {
    box-sizing: border-box;
    display: inline-block;
    padding-right: 20px;
    padding-bottom: 16px
}

footer .footer-menu li a {
    color: #c8a655
}

footer .footer-menu li a:hover {
    text-decoration: underline
}

footer .footer-menu li .btn {
    color: white
}

footer .footer-menu li:last-child {
    padding-right: 0
}

footer .footer-menu li:nth-last-child(2) {
    padding-right: 0
}

@media only screen and (max-width: 960px) {
    footer .footer-menu li:last-child {
        width:100%
    }

    footer .footer-menu li:nth-last-child(2) {
        width: 100%
    }
}

footer .copyright {
    margin-top: 12px;
    box-sizing: border-box;
    font-size: 12px;
    font-size: 13.714px;
    font-size: .85714rem;
    width: 100%;
    -ms-flex-positive: 3;
    flex-grow: 3;
    padding: 6px;
    text-align: center;
    color: white;
    background: #d4ba7c
}
