@charset "shift-jis";

*,*::before,*::after{ box-sizing: border-box;}
body{ counter-reset: process 0;}

.tac { text-align: center;}
.tar { text-align: right;}
.tal { text-align: left!important; }
.td-u { text-decoration: underline!important; }

.txt_l{ font-size: 1.5em;}
.txt_s{ font-size: .85em;}
.txt_red{ color: #c6272d;}

.mb50 { margin-bottom: 50px;}
.mb60 { margin-bottom: 60px;}
.mb70 { margin-bottom: 70px;}
.ml10 { margin-left: 10px;}
.ml20 { margin-left: 20px;}
.ml35 { margin-left: 35px;}
.mt50 {margin-top: 50px;}

.sp{ display: none;}
.tab{ display: none;}
.pc{ display: block;}

.br_tb::before,
.br_sp::before{ content: none;}
.br_pc::before{
    content: "\A" ;
    white-space: pre ;
}

.bg-school{ background: rgb(138 158 85 / .15);}

#contents{ padding: 0 0 5px 0;}

img {
    max-width: 100%;
    height: auto;
}

.fill{fill:#8a9f55;}
.stroke{stroke:#8a9f55;}

section h2{
    font-size: 2rem;
    letter-spacing: .15em;
    font-weight: normal;
    line-height: 1.7;
    text-align: center;
}
section h2:not(.bd_none)::after{
    content: "";
    display: block;
    border-bottom: 3px solid #8a9f55;
    width: 115px;
    margin: 20px auto 55px;
}
section h3{
    text-align: center;
    font-size: 23px;
}

.line {
    position: relative;
    color: #8a9f55;
    font-size: 26px;
    font-weight: normal;
    text-align: center;
    letter-spacing: 0;
    margin-bottom: 30px;
}
.line::before,
.line::after {
    max-width: 300px;
    content: "";
    width: 30%;
    border-top: 1px solid #8a9f55;
    position: absolute;
    top: 50%;
}
.line::before{ left: 0;}
.line::after{ right: 0;}

.ttl_school{
    color: #8a9f55;
    font-size: 24px;
    letter-spacing: 0;
    line-height: 1.6;
    text-align: center;
    margin-bottom: 1em;
}

.lead{
    font-size: 18px;
    text-align: center;
}

.caution{ font-size: .8em;}

section .inner{
    width: 96%;
    max-width: 1000px;
    margin: 0 auto;
    padding: 90px 0;
}

.btn01{ text-align: center;}
.btn01 a{
    background: #c6272d url(/images/common/arrow02.svg) 96% center/18px no-repeat;
    color: #fff;
    padding: 10px 60px;
    font-size: 22px;
    width: 55%;
    max-width: 540px;
    display: block;
    margin: 60px auto;
    font-weight: normal;
    border-radius: 2.8px;
    box-shadow: 0 1.5px 0 #782332;
    letter-spacing: .175em;
}
.btn01 a:hover{
    text-decoration: none;
    opacity: .7;
}
.btn02,
.btn02:visited,
.btn02:link{
    text-align: center;
    background: #c6272d url(/images/common/arrow02.svg) 97% center/21px no-repeat;
    width: 100%;
    color: #fff;
    border: none;
    border-radius: 5px;
    font-size: 22px;
    position: relative;
    box-shadow: 0 1.5px 0 #782332;
    color: #fff;
    padding: 15px;
    display: block;
}
.btn02 > span{ font-size: .85em;}
.btn03 {
    text-align: center;
    background: #e10f40 url(/school/image/finance_strategy/icn_arrow.svg) 95% 50% no-repeat;
    background-size: 25px;
    width: 100%;
    color: #fff!important;
    border: none;
    border-radius: 4px;
    font-size: 20px;
    padding: 18px 40px;
    position: relative;
    display: block;
    text-decoration: none;
}
.btn03:hover{
    cursor: pointer;
    opacity: .7;
    text-decoration: none !important;
}
.btn03.plus {
    line-height: 1.1;
    padding-top: 11px;
    padding-bottom: 11px;
}
.btn03.plus span {
    font-size: 14px;
}

.dl_pdf .btn {
    width: 100%;
    max-width: 400px;
    border: 2px solid;
    background: #fff;
    padding: 10px 15px;
    border-radius: 5px;
    color: #8a9f55;
    text-align: center;
    font-size:  16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    margin: 0 auto;
}
.dl_pdf .btn:hover {
    text-decoration: none;
}
.dl_pdf .btn .icn_pdf,
.dl_pdf .btn .icn_dl{ line-height: 1;}

#breadcrumbs{
    float: left;
    margin: 20px 0;
}

.box_border{
    border: 1px solid #8a9f55;
    padding: 2em;
    background: #fff;
}

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

.top_bnr img{ 
    max-width: 90%;
    height: auto;
}


@media screen and (max-width: 999px) {
    .top_bnr img{ 
    max-width: 100%;
    height: auto;
    }
}

@media screen and (max-width: 599px) {
    .top_bnr img{ 
    max-width: 100%;
    height: auto;
    }
}



dt.accordion{
    border: 1px solid #8a9f55;
    padding: 10px;
    font-size: 23px;
    cursor: pointer;
}
dt.accordion::after{
    content: "";
    padding: 15px;
    background: url(/school/image/asset/icn_arrow.svg) right 15px/25px no-repeat;
    display: inline-block;
    margin-left: 20px;
}
dt.accordion.active::after{
    transform: rotate(180deg);
    background-position: right 3px;
}

#modal-close{ display: none;}

dl { margin-top: 35px;}

/* 「受講生の声」スライダー */
.comment_slick.slick-initialized .slick-slide{ padding: 30px;}
.comment_slick .slick-dots li button:before{
    font-family: inherit;
    content: "\025cf";
    font-size: 15px;
}
.comment_slick .slick-prev {
    left: 0;
    z-index: 10;
}
.comment_slick .slick-prev::before{
    content: '\03c';
    color: #000;
}
.comment_slick .slick-next { right: 0;}
.comment_slick .slick-next::before{
    content: '\03e';
    color: #000;
}

/* タブレット以下 */
@media screen and (max-width: 999px) {
    #head2{ height: 85px !important;}

    .pc{ display: none;}
    .sp{ display: none;}
    .tab{ display: block;}

    .br_pc::before,
    .br_sp::before{ content: none;}
    .br_tb::before{
        content: "\A" ;
        white-space: pre ;
    }

    #container{
        margin-top: 100px;
        overflow: hidden;
        width: 100%;
    }
    .lead{ font-size: 16px;}

    section .inner {
        padding: 50px 0;
    }

    .btn01{ max-width: 100%;}
    .btn01 a{ width: 80%;}

    .youtube{ max-width: 100%;}
}

/* スマホ */
@media screen and (max-width: 599px) {
    .pc{ display: none;}
    .tab{ display: none;}
    .sp{ display: block;}

    .br_pc::before,
    .br_tb::before{ content: none;}
    .br_sp::before{
        content: "\A" ;
        white-space: pre ;
    }

    #head2{ height: 85px !important;}

    .snsBtn { margin: 0}
    #breadcrumbs{ display: none;}

    .box_border{ padding: 1em;}

    .br_pc::before,
    .br_tb::before{ content: none;}
    .br_sp::before{
        content: "\A" ;
        white-space: pre ;
    }

    section .inner{ padding: 40px 10px;}
    section h2 {
        font-size: 1.5rem;
        letter-spacing: 0;
        line-height: 1.3;
    }
    section h2:not(.bd_none)::after {
        width: 80px;
        margin: 15px auto 30px;
    }
    section h3{ font-size: 1.2rem}

    .line{
        margin-bottom: 20px;
        font-size: 20px;
    }
    .line::before,
    .line::after{ width: 10%;}

    .ttl_school{ font-size: 18px;}

    .lead{
        font-size: 14px;
    }
    .btn01 a{
        font-size: 16px;
        padding: 10px 5px;
        background: #ca2828 url(/images/common/arrow02.svg) 97% center/12px no-repeat;
        letter-spacing: .1em;
        margin: 30px auto 0;
        width: 100%;
    }.
    .btn02,
    .btn02:visited,
    .btn02:link{ font-size: 13px;}

    .dl_pdf{ display: block;}
    .dl_pdf .btn {
        font-size: 15px;
        max-width: initial;
        padding: 10px;
    }
    .dl_pdf .btn .icn_pdf > svg,
    .dl_pdf .btn .icn_dl > svg{ width: 1.2em;}

    .kitei dt.accordion{
        border: 1px solid #8a9f55;
        padding: 10px 5px;
    }

    /* モーダル設定 */
    .modal-content {
        width: 80% ;
        max-height: 80%;
        overflow: auto;
        padding: 10px 20px ;
        border: 2px solid #aaa ;
        background: #fff ;
        position: fixed ;
        display: none ;
        z-index: 2 ;
        left: 0;
        right: 0;
        top: 110px;
        margin: auto;
    }
    #modal-overlay {
        z-index: 1 ;
        display: none ;
        position: fixed ;
        top: 0 ;
        left: 0 ;
        width: 100% ;
        height: 120% ;
        background-color: rgba( 0,0,0, 0.75 ) ;
    }
    .button-link {
        color: #000 ;
        text-decoration: none;
    }
    .button-link:hover { cursor: pointer ;}
    #modal-close{
        display: block;
        position: fixed;
        top: 120px;
        background: #fff;
        padding: 0 4px;
        border: 3px solid #aaa;
        line-height: 1.3;
        right: 13%;
    }

    .comment_slick.slick-initialized .slick-slide{ padding: 0 10px;}
}


/* ==========================================================================
   mv
   ========================================================================== */
.mv {
    text-align: center;
    position: relative;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    max-height: 560px;
    overflow: hidden;
    align-content: center;
}
.mv > div{
    width: 50%;
    background: #8a9f55;
    color: #fff;
    padding: 0;
    text-align: left;
    align-self: stretch;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-content: center;
    align-items: center;
    position: relative;
}
.mv .detail {
    margin-right: 10px;
    width: 100%;
    max-width: 470px;
}
.mv .in {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 40px 0;
}
.mv > div:first-of-type::before {
    content: "Investment trust";
    font-family: 'Josefin Slab', serif;
    position: absolute;
    left: 54vw;
    white-space: nowrap;
    top: 30%;
    font-size: 3.5em;
    color: #fff;
    z-index: 1;
}

.mv h1 {
    font-size: 3.3em;
    font-weight: normal;
    line-height: 1;
    margin-bottom: .8em;
    width: 100%;
    text-align: center;
}
.mv .lead{
    order: -1;
    margin-bottom: 35px;
}
.mv p,
.mv .lead{
    font-size: 22px;
    margin-bottom: 30px;
    letter-spacing: .15em;
}
.mv .lead{
    font-weight: normal;
    width: 100%;
}
ul.type {
    width: 96%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
ul.type li{
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    background: #fff;
    color: #8a9f55;
    padding: 17px 5px;
    border-radius: 5px;
    position: relative;
    line-height: 1.4;
    text-align: center;
}
ul.type li:nth-child(1) {
    width: 100%;
}
ul.type li:nth-child(2),
ul.type li:nth-child(3) {
    width: 48%;
    margin-top: 40px;
}
ul.type li:nth-child(2)::before,
ul.type li:nth-child(3)::before {
    content: '+';
    color: #ffffff;
    font-size: 30px;
    line-height: 1;
    position: absolute;
    top: -38px;
    left: 50%;
    transform: translateX(-50%);
}

.mv ul.point{
    text-align: left;
    width: 92%;
    display: flex;
    justify-content: center;
    margin: 20px 0;
}
.mv ul.point > li{
    width: calc(100% / 4);
    max-width: 96px;
    margin: 0 3px;
    text-align: center;
}
.mv ul.point .icn{
    height: 46px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.mv ul.point .icn .fill{ fill: #fff;}
.mv ul.point p{
    font-size: 12px;
    color: #fff;
    text-align: center;
    letter-spacing: 0;
    margin-top: .5em;
    margin-bottom: 0;
}

.mv .photo {
    background-image: url(/school/image/mutualfund/mv.jpg);
    background-position: 0 50%;
    background-repeat: no-repeat;
    background-size: cover;
}
@media screen and (min-width: 1921px) {
    .mv > div:first-of-type::before{ font-size: 5em;}
}
@media screen and (max-width: 999px) {
    .mv{ letter-spacing: 0;}
    .mv > div {
        padding: 20px 0;
        justify-content: center;
    }
    .mv > div:first-of-type::before{ font-size: 1.8em;}
    .mv p,
    .mv .lead{ font-size: 16px;}
    .mv .title h1{ top: 20%;}
    .mv ul.type li{
        font-size: 16px;
    }
    .mv .detail {
        margin-right: 0;
    }
}
@media screen and (max-width: 700px) {
    .mv h1 {
        font-size: 2em;
    }
}
@media screen and (max-width: 599px) {
    .mv > div {
        width: 100%;
    }
    .mv > div:first-of-type::before{
        top: auto;
        right: auto;
        left: auto;
        bottom: -105px;
        width: 100%;
        text-align: center;
    }
    .mv .in {
        padding: 0;
    }
    ul.type {
        width: 80%;
    }
    ul.type li {
        padding: 10px;
        border-radius: 5px;
    }
    ul.type li:nth-child(2),
    ul.type li:nth-child(3) {
        margin-top: 30px;
    }
    ul.type li:nth-child(2)::before,
    ul.type li:nth-child(3)::before {
        font-size: 20px;
        top: -28px;
    }

    .mv ul.point{ margin: 10px 0 0;}
    .mv ul.point .icn{ height: 30px;}
    .mv ul.point .icn svg{ max-height: 100%;}
    .mv ul.point .online .icn svg{ width: 26px;}
    .mv ul.point p{ font-size: 10px;}

    .mv p{
        font-size: 3.5vw;
        margin-bottom: 0;
        text-align: left;
        letter-spacing: 0;
    }
    .mv h1{
        margin-bottom: 12px;
    }
    .mv .lead{
        color: inherit;
        padding: 0 0 1em;
        font-size: 12px;
        margin-bottom: 0;
        order: 0;
        text-align: center;
    }
    .mv .photo {
        height: 160px;
        background-position: 0 100%;
    }
}
/* ==========================================================================
   catch
   ========================================================================== */
.catch .heading{
    background-color: rgba(138,159,85,.15);
}
.catch .heading .inner > p {
    text-align: center;
}
.catch p {
    font-size: 18px;
    margin-bottom: 30px;
}
.catch p:last-of-type {
    margin-bottom: 0;
}
.catch .ttl {
    font-size: 24px;
    color: #8a9f55;
    text-align: left;
    margin-bottom: 20px;
}
@media screen and (max-width: 999px) {
    .catch p {
        font-size: 16px;
        text-align: justify;
    }
}
@media screen and (max-width: 599px) {
    .catch .ttl {
        font-size: 16px;
    }
    .catch p {
        font-size: 14px;
    }
}
/* ==========================================================================
   osusume
   ========================================================================== */
.osusume {
    background-color: rgba(138,159,85,.15);
}
.osusume .checks {
    display: flex;
    justify-content: space-between;
}
.osusume ul {
    width: 48%;
    margin-bottom: 30px;
}
.osusume li{
    text-align: left;
    padding-top: 3px;
    padding-left: 28px;
    font-size: 18px;
    background: url(/school/image/asset/icn_check.svg) left top 4px/21px no-repeat;
    line-height: 1.6;
}
.osusume li {
    margin-bottom: 15px;
}
.youtube_wrap {
    max-width: 760px;
    margin: 90px auto 0;
}
@media screen and (max-width: 599px) {
    .youtube_wrap {
        margin-top: 50px;
    }
}
.youtube {
    margin: 0 auto;
    width: 100%;
    position:relative;
    padding-top:56.25%;
}
.youtube iframe {
    position:absolute;
    top:0;
    right:0;
    width:100%;
    height:100%;
}
@media screen and (max-width: 999px) {
    .osusume .checks {
        justify-content: space-around;
    }
    .osusume ul:first-child {
        margin-right: 1%;
    }
    .osusume li {
        font-size: 16px;
    }
}
@media screen and (max-width: 599px) {
    .osusume .inner {
        padding-left: 10px;
        padding-right: 10px;
    }
    .osusume .checks {
        flex-direction: column;
        margin-bottom: 30px;
    }
    .osusume ul {
        width: 100%;
        margin-bottom: 0;
    }
    .osusume ul:first-child {
        margin-right: 0;
    }
}
/* ==========================================================================
   questionnaire
   ========================================================================== */
.questionnaire .inner {
    padding-top: 0;
}
.questionnaire .heading {
    max-height: 400px;
    min-height: 200px;
    overflow: hidden;
}
.questionnaire .heading .bg {
    width: 100%;
    height: 0;
    padding-top: 23.2781839%;/* 605/2599 */
    background: url(/school/image/kabu/bg_ttl01.jpg) center top no-repeat;
    background-size: cover;
    position: relative;
}
.questionnaire .heading .ttl {
    position: absolute;
    width: 100%;
    top: 50%;
    line-height: 1.5;
    transform: translateY(-50%);
}
.questionnaire .heading .ttl::after {
    margin-bottom: 0;
}
.questionnaire .txt-total {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
    text-align: right;
    margin-top: -3em;
    position: relative;
    line-height: 1;
    padding-right: 10px;
    font-size: 12px;
}

/* タブレット以下 */
@media screen and (max-width: 999px) {
    .questionnaire .heading .bg {
        padding-top: 200px;
    }
    .questionnaire .txt-total {
        margin-top: -1.5em;
    }
}

/* ==========================================================================
   merit
   ========================================================================== */
.merit .inner{
    padding-top: 0;
}
.merit .heading {
    max-height: 400px;
    min-height: 200px;
    overflow: hidden;
}
.merit .heading .bg {
    width: 100%;
    height: 0;
    padding-top: 23.2602845%;/*605/2601*/
    background: url(/school/image/finance_strategy/bg_merit_head.jpg) center bottom no-repeat;
    background-size: cover;
    position: relative;
}
.merit .heading .ttl {
    position: absolute;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
    line-height: 1.2;
}
.merit .heading .ttl::after {
    margin-top: 0;
    margin-bottom: 35px;
}
.merit .heading .ttl .adjust {
    position: relative;
    top: -10px;
}
.merit .heading .ttl .num {
    font-family: 'Josefin Slab', serif;
    font-size: 80px;
    font-weight: normal;
}
.merit .heading .ttl .txt {
    font-size: 60px;
    -webkit-font-smoothing: antialiased;
}
.merit-list {
    counter-reset: merit;
    padding-top: 90px;
}
.merit-list .item {
    border-top: 1px solid #8a9f55;
    border-bottom: 1px solid #8a9f55;
    background-color: #efefef;
    position: relative;
    padding-bottom: 30px;
}
.merit-list .item:not(:first-child) {
    margin-top: 100px;
}
.merit-list .item:before {
    counter-increment: merit;
    content: 'Point 'counter(merit);
    font-family: 'Josefin Slab', serif;
    color: #8a9f55;
    font-size: 60px;
    position: absolute;
    width: 100%;
    text-align: center;
    line-height: 1;
    top: -50px;
    left: 0;
}
.merit-list .item:nth-child(even) .main {
    flex-direction: row-reverse;
}
.merit-list .ttl {
    font-size: 24px;
    color: #8a9f55;
    padding: 40px 5px 0;
    display: flex;
    justify-content: center;
    margin-bottom: 25px;
}
.merit-list .ttl:before {
    content: '';
    display: block;
    position: absolute;
    padding: 15px;
    box-shadow: 2px -2px 0 0 #8a9f55 inset;
    border: solid transparent;
    border-width: 0 0 2px 2px;
    transform:rotate(-45deg);
    top: 2px;
}
.merit-list .main {
    display: flex;
    justify-content: space-between;
    padding: 0 30px;
}
.merit-list .main .photo-wrap {
    width: 50%;
    max-width: 435px;
}
.merit-list .item:nth-child(odd) .photo-wrap {
    margin-right: 20px;
}
.merit-list .item:nth-child(even) .photo-wrap {
    margin-left: 20px;
}
.merit-list .main .photo {
    width: 100%;
    height: 0;
    padding-top: 52.8735632%;/* 230/435 */
    position: relative;
}
.merit-list .main .photo img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}
.merit-list .main .txt {
    font-size: 16px;
    width: 50%;
    text-align: justify;
}
/* タブレット以下 */
@media screen and (max-width: 999px) {
    .merit .heading .bg {
        padding-top: 200px;
    }
    .merit .heading .ttl .txt {
        font-size: 40px;
    }
    .merit .heading .ttl .num {
        font-size: 60px;
    }
    .merit .heading .ttl .adjust {
        top: -2px;
    }
}
/* スマホ */
@media screen and (max-width: 599px) {
    .merit .heading .ttl {
        line-height: 1.4;
    }
    .merit .heading .ttl .num {
        font-size: 50px;
    }
    .merit .heading .ttl .txt {
        font-size: 32px;
    }
    .merit .heading .ttl .adjust {
        top: 0;
        left: -5px;
    }
    .merit-list .item:not(:first-child) {
        margin-top: 80px;
    }
    .merit-list .item:before {
        font-size: 50px;
        top: -42px;
    }
    .merit-list .ttl {
        line-height: 1.4;
        font-size: 22px;
        margin-bottom: 15px;
    }
    .merit-list .main {
        display: block;
        padding-right: 15px;
        padding-left: 15px;
    }
    .merit-list .item:nth-child(odd) .photo-wrap {
        margin-right: 0;
    }
    .merit-list .item:nth-child(even) .photo-wrap {
        margin-left: 0;
    }
    .merit-list .main .photo-wrap {
        width: 100%;
        max-width: none;
    }
    .merit-list .main .txt {
        width: 100%;
        font-size: 14px;
        margin-top: 10px;
    }
}

/* ==========================================================================
   about
   ========================================================================== */
.about .heading {
    max-height: 400px;
    min-height: 200px;
    overflow: hidden;
}
.about .heading .bg {
    width: 100%;
    height: 0;
    padding-top: 23.2307692%;/*302/1300*/
    background: url(/school/image/finance_strategy/bg_about_head.jpg) center top no-repeat;
    background-size: cover;
    position: relative;
}
.about .heading .ttl {
    position: absolute;
    width: 100%;
    top: 50%;
    line-height: 1.5;
    transform: translateY(-50%);
}
.about .heading .ttl::after {
    margin-bottom: 0;
}
.about .lead-wrap {
    display: flex;
    justify-content: flex-end;
    background-color: #1c236d;
    max-height: 600px;
    overflow: hidden;
}
.about .lead-wrap > div {
    width: 50%;
}
.about .lead-wrap .txt {
    max-width: 500px;
    color: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left: 40px;
}
.about .lead-wrap .lead-main {
    font-size: 21px;
}
.about .lead-wrap .lead-sub {
    font-size: 18px;
    margin-top: 30px;
}

.about .photo-wrap {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
.about .lead-wrap .photo {
    width: 50%;
    height: 0;
    padding-top: 35.3846154%;/* (460/650)/2 */
    position: relative;
}
.about .lead-wrap .photo img {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
}
.about .main-txt {
    text-align: justify;
    font-size: 18px;
}
.about .block {
    margin-top: 80px;
    text-align: center;
}
.about .block .ttl {
    color: #333333;
    font-size: 30px;
}
.about .block .ttl::after {
    content: "";
    display: block;
    border-bottom: 3px solid #8a9f55;
    width: 115px;
    margin: 20px auto 55px;
}
.about .block .ttl-sub {
    font-size: 18px;
    font-weight: normal;
    margin-bottom: 20px;
}
.about .block .media {
    font-size: 20px;
}
.about .block .media:not(:first-child) {
    margin-top: 30px;
}
.about .block .lead {
    font-size: 18px;
    margin-bottom: 30px;
}
.about .block .photo {
  width: 100%;
  height: 0;
  position: relative;
}
.about .block .photo img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
.about .block .photo1 {
  padding-top: 8.5747393%;/* 74/863 */
}
.about .block .photo2 {
  padding-top: 63.4969325%;/* 621/978 */
}
.about .block .photo3 {
  padding-top: 24.625%;/* 197/800 */
}
.about .block .photo4 {
  padding-top: 50%;/* 500/1000 */
}
/* タブレット以下 */
@media screen and (max-width: 999px) {
    .about .heading .bg {
        padding-top: 200px;
    }
    .about .main-txt {
        font-size: 16px;
    }
    .about .lead-wrap {
        display: block;
    }
    .about .lead-wrap > div {
        width: 100%;
    }
    .about .lead-wrap .txt {
        max-width: none;
        text-align: center;
        padding: 20px 10px;
    }
    .about .lead-wrap .lead-sub {
        margin-top: 15px;
    }
    .about .photo-wrap {
        flex-wrap: nowrap;
    }
    .about .lead-wrap .photo {
        width: 25%;
        padding-top: 17.6923077%;/* (460/650)/4 */
    }
    .about .block .lead {
        font-size: 16px;
    }
}
/* スマホ */
@media screen and (max-width: 599px) {
    .about .lead-wrap .lead-main {
        font-size: 18px;
    }
    .about .lead-wrap .lead-sub {
        font-size: 14px;
    }
    .about .main-txt {
        font-size: 14px;
    }
    .about .block {
        margin-top: 40px;
    }
    .about .block .ttl {
        font-size: 20px;
    }
    .about .block .ttl::after {
        margin-top: 10px;
        margin-bottom: 35px;
        width: 80px;
    }
    .about .block .media {
        font-size: 18px;
    }
    .about .block .lead {
        font-size: 14px;
        text-align: justify;
    }
}
/* ==========================================================================
   training
   ========================================================================== */
.training {
    background-color: rgba(138,159,85,.15);
}
.training .box {
    background-color: #eeeeef;
    display: flex;
    justify-content: space-between;
    padding: 30px;
    margin-top: 30px;
    border-top: 1px solid #8a9f55;
    border-bottom: 1px solid #8a9f55;
}
.training .company-list {
    font-size: 16px;
    padding-right: 20px;
}
.training .box .company-list:nth-child(1) {
    width: 30%;
}
.training .box .company-list:nth-child(2) {
    width: 37%;
}
.training .box .company-list:nth-child(3) {
    width: 33%;
}
/* スマホ */
@media screen and (max-width: 599px) {
    .training .lead {
        text-align: justify;
    }
    .training .box {
        display: block;
    }
    .training .company-list {
        padding-right: 0;
        font-size: 14px;
    }
    .training .box .company-list:nth-child(1),
    .training .box .company-list:nth-child(2),
    .training .box .company-list:nth-child(3) {
        width: 100%;
    }
}
/* ==========================================================================
   advisory
   ========================================================================== */
.advisory-list {
    display: flex;
    justify-content: space-around;
    margin-top: 50px;
}
.advisory-list .item {
    max-width: 212px;
    margin: 0 15px;
}
.advisory-list .photo {
  width: 100%;
  height: 0;
  position: relative;
  padding-top: 100%;
}
.advisory-list .photo img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
.advisory-list .name {
    font-size: 20px;
    margin: 5px 0;
}
.advisory-list .post {
    font-size: 14px;
}
.advisory-list .txt {
    font-size: 13px;
    margin-top: 13px;
    text-align: justify;
}
/* スマホ */
@media screen and (max-width: 599px) {
    .advisory .lead {
        text-align: justify;
    }
    .advisory-list {
        display: block;
        margin-top: 30px;
    }
    .advisory-list .item {
        max-width: none;
        margin: 0;
    }
    .advisory-list .item:not(:first-child) {
        margin-top: 30px;
    }
    .advisory-list .item .head {
        display: flex;
    }
    .advisory-list .item .head figure {
        width: 40%;
        margin-right: 5%;
    }
}
/* ==========================================================================
   teacher
   ========================================================================== */
.teacher{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.teacher li{
    width: 50%;
    margin-bottom: 50px;
    text-align: left;
    line-height: 1.6;
    padding: 0 3.5%;
}
.teacher li img{
    float: left;
    width: 37vw;
    max-width: 150px;
    height: 37vw;
    max-height: 150px;
    object-fit: cover;
    margin-right: 15px;
}
.teacher li img.icn{
    background: #f3f3f2;
    padding: 10%;
}
.teacher li h3{
    text-align: left;
    padding: 15px 0 25px;
    margin-left: 40%;
}
.teacher li .position{
    min-height: 83px;
    margin-left: 40%;
}
.teacher li .text{
    clear: both;
    padding-top: 20px;
}
.teacher .small{
    font-size: 0.8rem;
}
@media screen and (max-width: 599px) {
    .teacher{ display: block;}
    .teacher li{
        width: 100%;
        padding: 0;
    }
    .teacher li .text{ padding-top: 0;}
}

/* ==========================================================================
   tips
   ========================================================================== */
.tips .heading {
    max-height: 400px;
    min-width: 200px;
    overflow: hidden;
}
.tips .heading .bg {
    width: 100%;
    height: 0;
    padding-top: 23.2602845%;/*605/2601*/
    background: url(/school/image/finance_strategy/bg_tips_head.jpg) center bottom no-repeat;
    background-size: cover;
    position: relative;
}
.tips .heading .ttl {
    position: absolute;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
    line-height: 1.5;
}
.tips .heading .ttl::after {
    margin-bottom: 0;
}
.tips .inner {
    font-size: 17px;
}
.tips .inner .txt {
    text-align: center;
}
.tips .txt-option {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 40px 0;
}
.tips .txt-option .bracket {
    width: 10%;
    max-width: 40px;
    display: flex;
    flex-direction: column;
}
.tips .txt-option .bracket .top,
.tips .txt-option .bracket .bottom {
    position: relative;
}
.tips .txt-option .bracket .top {
    background-image: linear-gradient(-45deg, transparent 49%, #8a9f55 49%, #8a9f55 52%, transparent 52%, transparent);
}
.tips .txt-option .bracket .bottom {
    background-image: linear-gradient(45deg, transparent 49%, #8a9f55 49%, #8a9f55 52%, transparent 52%, transparent);
}
.tips .txt-option li {
    padding-left: 40px;
    position: relative;
}
.tips .txt-option li:before {
    content: "●";
    position: absolute;
    top: 0;
    left: 5px;
    color: #8a9f55;
}
/* タブレット以下 */
@media screen and (max-width: 999px) {
    .tips .heading .bg {
        padding-top: 200px;
    }
    .tips .inner {
        font-size: 16px;
    }
}
/* スマホ */
@media screen and (max-width: 599px) {
    .tips .inner {
        font-size: 14px;
        padding-right: 10px;
        padding-left: 10px;
    }
    .tips .inner .txt {
        text-align: left;
    }
    .tips .txt-option {
        display: block;
        margin: 20px 0;
    }
    .tips .txt-option:nth-of-type(1) {
        margin-top: 0;
    }
    .tips .txt-option li {
        padding-left: 25px;
    }
    .tips .txt-option .bracket {
        display: none;
    }
}

/* ==========================================================================
   future
   ========================================================================== */
.future {
    background-color: rgba(138,159,85,.15);
}

.future .heading {
    max-height: 400px;
    min-height: 200px;
    overflow: hidden;
}
.future .heading .bg {
    width: 100%;
    height: 0;
    padding-top: 23.2307692%;/*302/1300*/
    background: url(/school/image/finance_strategy/bg_future_head.jpg) center top no-repeat;
    background-size: cover;
    position: relative;
}
.future .heading .ttl {
    position: absolute;
    width: 100%;
    top: 50%;
    line-height: 1.5;
    transform: translateY(-50%);
}
.future .heading .ttl::after {
    margin-bottom: 0;
}
.future .txt {
    font-size: 18px;
    text-align: center;
}
.future .txt ul {
    display: inline-block;
    text-align: left;
}
.future .txt li {
    padding-left: 40px;
    position: relative;
}
.future .txt li:before {
    content: "●";
    position: absolute;
    top: 0;
    left: 5px;
    color: #8a9f55;
}
.future .which {
    display: flex;
    justify-content: space-around;
}
.future .which li {
    width: 40%;
    height: 0;
    padding-top: 40%;
    border: 1px solid  #fff;
    color: #ffffff;
    border-radius: 50%;
    font-size: 20px;
    text-align: center;
    position: relative;
    margin-top: 60px;
}
.future .which li:first-child {
    background-color: #9fa0a0;
    box-shadow: 0 0 0 10px #9fa0a0;
    margin-right: 20px;
}
.future .which li:last-child {
    background-color: #8a9f55;
    box-shadow: 0 0 0 10px #8a9f55;
    margin-left: 20px;
}
.future .which li p {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
.future .question {
    margin-top: 40px;
    text-align: center;
    font-size: 32px;
    color: #8a9f55;
}
/* タブレット以下 */
@media screen and (max-width: 999px) {
    .future .heading .bg {
        padding-top: 200px;
    }
    .future .txt {
        font-size: 16px;
    }
    .future .which li {
        width: 47%;
        height: 0;
        padding-top: 47%;
        font-size: 18px;
    }
    .future .which li:first-child {
        margin-right: 10px;
    }
    .future .which li:last-child {
        margin-left: 10px;
    }
}
/* スマホ */
@media screen and (max-width: 599px) {
    .future .txt {
        font-size: 14px;
        text-align: left;
    }
    .future .txt ul {
        align-items: flex-start;
    }
    .future .txt li {
        padding-left: 25px;
    }
    .future .which li {
        font-size: 12px;
    }
    .future .question {
        font-size: 20px;
    }
}
/* ==========================================================================
   method
   ========================================================================== */
.method-list {
    display: flex;
    justify-content: space-between;
    counter-reset: method;
    margin-top: 30px;
}
.method-list .item {
    width: 313px;
    border: 1px solid #8a9f55;
    position: relative;
    margin-top: 60px;
}
.method-list .item:nth-child(2) {
    margin-left: 10px;
    margin-right: 10px;
}
.method-list .item:before {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 60px;
    height: 60px;
    counter-increment: method;
    content: counter(method);
    font-family: 'Josefin Slab', serif;
    background: #fff;
    color: #8a9f55;
    border: 2px solid #8a9f55;
    border-radius: 50%;
    position: absolute;
    top: -35px;
    left: 50%;
    z-index: 1;
    transform: translateX(-50%);
    font-size: 64px;
    box-sizing: border-box;
}
.method-list .item .ttl {
    text-align: center;
    font-size: 26px;
    color: #ffffff;
    background-color: #8a9f55;
    line-height: 1.2;
    padding: 30px 5px 20px;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}
.method-list .item .body {
    padding: 135px 20px 20px;
    font-size: 16px;
    display: flex;
    align-items: center;
    height: 100%;
}
.method-list .item li {
    padding-left: 30px;
    position: relative;
    line-height: 1.5;
}
.method-list .item li:before {
    content: "●";
    position: absolute;
    top: 0;
    left: 5px;
    color: #8a9f55;
}
.method-list .item li:not(:first-child) {
    margin-top: 10px;
}
/* スマホ */
@media screen and (max-width: 599px) {
    .method-list {
        display: block;
    }
    .method-list .item {
        width: 100%;
    }
    .method-list .item:before {
        width: 50px;
        height: 50px;
        font-size: 50px;
    }
    .method-list .item:nth-child(2) {
        margin-right: 0;
        margin-left: 0;
    }
    .method-list .item .ttl {
        font-size: 22px;
        padding: 20px 5px 10px;
    }
    .method-list .item .body {
        padding-top: 100px;
        font-size: 14px;
    }
}
/* ==========================================================================
   curriculum
   ========================================================================== */
.curriculum .inner {
    padding-top: 0;
}
.curriculum .summary-box {
    border-top: 1px solid #8a9f55;
    background-color: #fff;
    font-size: 16px;
    padding: 20px;
    margin: 20px 0;
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}
.curriculum .summary-box dl {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 5px 0;
}
.curriculum .summary-box dl dt,
.curriculum .summary-box dl dd {
    display: flex;
    align-items: flex-end;
}
.curriculum .summary-box dl dt {
    width: 5em;
}
.curriculum .summary-box .num {
    font-family: 'Josefin Slab', serif;
    font-size: 35px;
    color: #8a9f55;
    line-height: 1;
    display: inline-block;
    padding: 0 5px;
}
.curriculum-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.curriculum-list .item {
    max-width: 460px;
    width: 48%;
    background-color: #efefef;
    border-bottom: 1px solid #8a9f55;
    position: relative;
     margin-top: 60px;
}
.curriculum-list .item > .ttl {
    color: #8a9f55;
    font-size: 16px;
    line-height: 1;
    text-align: left;
    width: 100%;
    background-color: #fff;
    display: flex;
    align-items: flex-end;
}
.curriculum-list .item > .ttl .vol {
    font-family: 'Josefin Slab', serif;
    font-size: 30px;
    font-weight: normal;
}
.curriculum-list .item > .ttl .num {
    font-family: 'Josefin Slab', serif;
    font-size: 50px;
    display: inline-block;
    padding: 0 10px 0 3px;
    vertical-align: bottom;
    line-height: 1;
    position: relative;
    top: 13px;
    font-weight: normal;
}
.curriculum-list .item > .ttl .main {
    padding-bottom: 3px;
    line-height: 1.2;
}
.curriculum-list .box {
    background-color: #efefef;
    font-size: 14px;
    border-top: 1px solid #8a9f55;
    padding: 20px;
}
.curriculum-list .box dl {
    display: flex;
    margin-top: 0;
}
.curriculum-list .box dl:not(:first-child) {
    margin-top: 10px;
}
.curriculum-list .box dl dt {
    font-weight: bold;
    width: 90px;
}
.curriculum-list .box dl dd {
    width: calc(100% - 90px);
}
.curriculum-list .box li {
    padding-left: 1em;
    text-indent: -1em;
}

.curriculum .sample-document h4.line {
    position: relative;
    color: #8a9f55;
    font-size: 26px;
    font-weight: normal;
    text-align: center;
}
.curriculum .sample-document h4.line::before,
.curriculum .sample-document h4.line::after {
    max-width: 300px;
    content: "";
    width: 30%;
    border-top: 1px solid #8a9f55;
    position: absolute;
    top: 50%;
}
.curriculum .sample-document h4.line::before{ left: 0;}
.curriculum .sample-document h4.line::after{ right: 0;}
.curriculum .sample-document h4.line,
.curriculum .sample-document .lead {
    margin-bottom: 30px;
}
.sample-document .btn_schedule .dl_pdf .btn{ width: 90%;}
.curriculum .sample-document .btns {
    display: flex;
    justify-content: center;
}
.curriculum .sample-document .btns a {
    display: block;
    border-radius: 5px;
    text-align: center;
    max-width: 415px;
    width: 100%;
    background: url(/school/image/finance_strategy/icn_arrow.svg) 95% 50% no-repeat;
    background-size: 25px;
    font-size: 20px;
    color: #ffff;
    padding: 10px;
}
.curriculum .sample-document .btns a:first-child {
    background-color: #8a9f55;
}
.curriculum .sample-document .btns a:last-child {
    margin-left: 60px;
    background-color: #28b4d2;
}
.curriculum .sample-document .btns a:hover {
    text-decoration: none;
}
.list_sample{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 90%;
    margin: 0 auto;
}
.list_sample li{ width: 48.5%;}
.list_sample h3{
    text-align: left;
    border-bottom: 1px solid;
    color: #8a9f55;
}
.list_sample h3 .icn{
    margin-right: 10px;
    display: inline-block;
    vertical-align: middle;
}
.list_sample h3 .txt{
    display: inline-block;
    vertical-align: middle;
}
.list_sample .img_sample{
    max-height: 200px;
    display: block;
    margin: 25px auto;
}
.list_sample h3 .icn{ line-height: 1;}

/* スマホ */
@media screen and (max-width: 599px) {
    .curriculum-list {
        display: block;
    }
    .curriculum-list .item {
        max-width: none;
        width: 100%;
        margin-top: 20px;
    }
    .curriculum .sample-document h4.line, .curriculum .sample-document .lead {
        margin-bottom: 20px;
    }
    .curriculum .sample-document h4.line {
        font-size: 20px;
    }
    .curriculum .sample-document h4.line::before, .curriculum .sample-document h4.line::after {
        width: 16%;
    }
    .curriculum .sample-document .btns {
        display: block;
    }
    .curriculum .sample-document .btns a:last-child {
        margin-left: 0;
        margin-top: 20px;
    }
    .curriculum .sample-document .btns a {
        font-size: 16px;
        max-width: none;
    }
    .list_sample li{ width: 100%;}
    .list_sample li + li{ margin-top: 30px;}
}


/* ==========================================================================
   backup
   ========================================================================== */
.backup .lead {
    font-size: 16px;
    text-align: left;
}
.backup .box-main {
    border: 1px solid #8a9f55;
    margin-top: 50px;
    padding: 25px 25px 30px;
}
.backup .box-main > .ttl {
    color: #8a9f55;
    font-size: 30px;
    text-align: left;
    display: flex;
}
.backup .box-main > .ttl img {
    margin-right: 20px;
}
.backup .box-main .txt {
    font-size: 16px;
    margin-top: 15px;
}
.backup .box-main .txt-main {
    color: #8a9f55;
    font-size: 16px;
    border-top: 1px dotted #8a9f55;
    border-bottom: 1px dotted #8a9f55;
    padding: 15px 0;
    margin: 20px 0;
}
.backup .ttl-sub {
    font-size: 20px;
    font-weight: normal;
    color: #8a9f55;
}
.backup .item-list .item {
    font-size: 16px;
    margin-top: 20px;
    background-position: 5px 0;
    background-repeat: no-repeat;
    padding-left: 45px;
}
.backup .item-list .item:nth-child(1) {
    background-image: url(/school/image/fx/icn_backup1.png);
}
.backup .item-list .item:nth-child(2) {
    background-image: url(/school/image/fx/icn_backup2.png);
}
.backup .item-list .item:nth-child(3) {
    background-image: url(/school/image/fx/icn_backup2.png);
}
.backup .link-detail {
    display: block;
    border: 1px solid #8a9f55;
    border-radius: 2em;
    color: #8a9f55;
    text-align: center;
    font-size: 20px;
    max-width: 476px;
    padding: 6px;
    margin: 40px auto 0;
}
.backup .box-sub-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 15px;
}
.backup .box-sub {
    max-width: 320px;
    width: 32%;
    border: 1px solid #8a9f55;
    margin-top: 25px;
    padding: 20px 15px;
}
.backup .box-sub > .ttl {
    color: #8a9f55;
    font-size: 20px;
    font-weight: normal;
    display: flex;
}
.backup .box-sub:nth-child(4) > .ttl,
.backup .box-sub:nth-child(5) > .ttl,
.backup .box-sub:nth-child(6) > .ttl {
    min-height: 72px;
}
.backup .box-sub > .ttl .icn {
    width: 45px;
    margin-right: 15px;
}
.backup .box-sub .txt {
    font-size: 16px;
    margin-top: 10px;
}
.backup .box-sub .txt .fee {
    display: inline-block;
}
.backup .box-sub small {
    font-size: 12px;
    margin-top: 10px;
    display: block;
}
@media screen and (max-width: 599px) {
    .backup .lead {
        font-size: 14px;
    }
    .backup .box-main {
        margin-top: 25px;
        padding: 15px 15px 30px;
    }
    .backup .box-main > .ttl {
        font-size: 16px;
    }
    .backup .box-sub:nth-child(4) > .ttl,
    .backup .box-sub:nth-child(5) > .ttl,
    .backup .box-sub:nth-child(6) > .ttl {
        min-height: initial;
    }
    .backup .box-main > .ttl img {
        width: 40px;
        margin-right: 10px;
    }
    .backup .box-main .txt {
        font-size: 14px;
    }
    .backup .box-main .txt-main {
        font-size: 14px;
    }
    .backup .ttl-sub {
        font-size: 14px;
    }
    .backup .item-list .item {
        font-size: 14px;
        min-height: 30px;
    }
    .backup .link-detail {
        font-size: 14px;
        margin-top: 20px;
    }
    .backup .box-sub-wrap {
        flex-direction: column;
        margin-top: 0;
    }
    .backup .box-sub {
        max-width: none;
        width: 100%;
    }
    .backup .box-sub .txt {
        font-size: 14px;
    }
}
.backup .box-sub:nth-child(1) > .ttl .icn path {
    fill: #8a9f55;
}
.backup .box-sub:nth-child(2) > .ttl .icn path {
    fill: #8a9f55;
}
.backup .box-sub:nth-child(3) > .ttl .icn path {
    fill: #8a9f55;
}
.backup .box-sub:nth-child(4) > .ttl .icn path {
    fill: #8a9f55;
}
.backup .box-sub:nth-child(5) > .ttl .icn path {
    fill: #8a9f55;
    stroke: #8a9f55;
}
.backup .box-sub:nth-child(5) > .ttl .icn path.fill-none {
    fill: none!important;
}
.backup .box-sub:nth-child(6) > .ttl .icn path {
    fill: #8a9f55;
}
/* ==========================================================================
   attending-support
   ========================================================================== */
.attending-support {
    background-color: #EDF0E5;
}
.cls-1,.cls-2,.cls-3{stroke:#8a9f55;}
.cls-3{fill:#EDF0E5; }
.attending-support li{
    border: 1px solid #8a9f55;
}
.attending-support li h3{
    color: #8a9f55;
}
@media screen and (max-width: 599px) {
    .attending-support .kitei_sp h3 {
        border: 1px solid #8a9f55;
    }
}


/* ==========================================================================
   teaching-materials
   ========================================================================== */
.teaching-materials .inner {
    padding-top: 0;
    padding-bottom: 0;
}
.teaching-materials .col-wrap {
    display: flex;
    margin-top: 45px;
}
.teaching-materials .col-wrap .photo {
    max-width: 445px;
}
.teaching-materials .col-wrap .txt {
    font-size: 16px;
    padding-left: 25px;
}
.teaching-materials h3.line {
    position: relative;
    color: #8a9f55;
    font-size: 26px;
    font-weight: normal;
    text-align: center;
    margin-top: 50px;
}
.teaching-materials h3.line::before,
.teaching-materials h3.line::after {
    max-width: 300px;
    content: "";
    width: 30%;
    border-top: 1px solid #8a9f55;
    position: absolute;
    top: 50%;
}
.teaching-materials h3.line::before{ left: 0;}
.teaching-materials h3.line::after{ right: 0;}
.teaching-materials .btns {
    display: flex;
    justify-content: center;
    margin-top: 40px;
}
.teaching-materials .txt-dl {
    font-size: 16px;
    text-align: center;
    margin-top: 40px;
}
.teaching-materials .photo-guide {
    text-align: center;
    margin-top: 30px;
}
.teaching-materials .btns a {
    display: block;
    border-radius: 5px;
    text-align: center;
    max-width: 340px;
    width: 100%;
    font-size: 20px;
    color: #8a9f55;
    background-color: #fff;
    padding: 10px;
    border: 2px solid #8a9f55;
    position: relative;
}
.teaching-materials .btns a::before,
.teaching-materials .btns a::after {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: contain;
}
.teaching-materials .btns a::before {
    width: 27px;
    height: 34px;
    left: 15px;
    background-image: url(/school/image/mutualfund/icn_pdf_mf.svg);
}
.teaching-materials .btns a::after {
    width: 24px;
    height: 20px;
    right: 15px;
    background-image: url(/school/image/mutualfund/icn_dl_mf.svg);
}
@media screen and (max-width: 599px) {
    .teaching-materials .lead {
        text-align: left;
    }
    .teaching-materials .col-wrap {
        flex-direction: column;
        margin-top: 20px;
    }
    .teaching-materials .col-wrap .col {
        max-width: none;
    }
    .teaching-materials .col-wrap .txt {
        padding-left: 0;
        font-size: 14px;
        margin-top: 15px;
    }
    .teaching-materials h3.line {
        font-size: 20px;
        margin-top: 30px;
    }
    .teaching-materials h3.line::before,
    .teaching-materials h3.line::after {
        width: 17%;
    }
    .teaching-materials .txt-dl {
        margin-top: 25px;
        text-align: left;
        font-size: 14px;
    }
    .teaching-materials .photo-guide {
        margin-top: 20px;
    }
    .teaching-materials .btns {
        margin-top: 30px;
    }
    .teaching-materials .btns a {
        font-size: 16px;
        max-width: none;
    }
}

/* ==========================================================================
   application
   ========================================================================== */
.application {
    background-color: #EDF0E5;
}
.application .lead {
    font-size: 16px;
}
.application .head-wrap {
    width: 80%;
    margin: 25px auto 0;
}
.application .lead-note {
    border: 1px solid #8a9f55;
    color: #8a9f55;
    text-align: center;
    font-size: 16px;
    padding: 10px;
}
.application .explanation-wrap {
    margin-top: 35px;
}
.application .explanation-wrap .box {
    color: #8a9f55;
    border: 1px solid #8a9f55;
    border-radius: 5px;
    background-color: #ffffff;
    text-align: center;
    font-size: 16px;
    padding: 20px 5px;
}
.application .explanation-wrap .box strong {
    display: block;
    font-weight: normal;
    font-size: 20px;
}
.application .explanation-wrap .col-wrap {
    display: flex;
    justify-content: space-between;
    margin-top: 60px;
}
.application .explanation-wrap .col-wrap .box {
    width: 48%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}
.application .explanation-wrap .col-wrap .box::before {
    content: '+';
    color: #8a9f55;
    position: absolute;
    top: -50px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 35px;
    line-height: 1;
}
.application .txt-choice {
    text-align: center;
    font-size: 16px;
    color: #8a9f55;
    margin: 45px 0 35px;
}
.application .course-list {
    display: flex;
    margin-bottom: 30px;
}
.application .course-list > .item {
    width: 33%;
}
.application .course-list > .item .in {
    background-color: #F8F8F8;
}
.application .course-list > .item:not(:first-child) {
    margin-left: 0.5%;
}
.application .course-list .ttl {
    color: #ffffff;
    font-size: 20px;
    background-color: #8a9f55;
    padding: 23px 0;
}
.application .course-list .info-wrap {
    padding: 20px 15px;
    border: 1px solid #CCCCCC;
}
.application .course-list .info-wrap .main {
    font-size: 16px;
    font-weight: bold;
}
.application .course-list .info-wrap .txt {
    font-size: 16px;
    margin-top: 15px;
}
.application .course-list table {
    width: 100%;
}
.application .course-list table tr:nth-child(odd) th,
.application .course-list table tr:nth-child(odd) td {
    background-color: #fff;
}
.application .course-list table th,
.application .course-list table td {
    border-left: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    font-size: 16px;
}
.application .course-list table th {
    font-weight: normal;
    text-align: center;
    color: #8a9f55;
    padding: 20px 5px;
    width: 30%;
}
.application .course-list table td {
    border-right: 1px solid #ccc;
    padding: 20px 10px;
}
.application .course-list table .row-total th,
.application .course-list table .row-total td {
    border-left: 2px solid #8a9f55;
    border-bottom: 2px solid #8a9f55;
    border-top: 2px solid #8a9f55;
}
.application .course-list table .row-total td {
    border-right: 2px solid #8a9f55;
}
.application .course-list table .detail-list .item {
    position: relative;
    padding-left: 1em;
}
.application .course-list table .detail-list .item::before {
    content: '・';
    position: absolute;
    top: 0;
    left: 0;
}
.application .course-list table .link-schedule {
    display: block;
    border: 1px solid #8a9f55;
    text-align: center;
    color: #8a9f55;
    border-radius: 1em;
    margin-top: 10px;
    position: relative;
}
.application .course-list table .link-schedule::after {
    content: '>';
    color: #8a9f55;
    position: absolute;
    top: 5px;
    right: 8px;
    line-height: 1;
    transform: scale(0.9, 1.5);
    font-size: 14px;
}
.application .course-list .link-txt {
    padding-left: 1em;
}
.application .course-list .link-txt a {
    color: #333333;
    text-decoration: underline;
}


.application h4.line {
    position: relative;
    color: #8a9f55;
    font-size: 20px;
    font-weight: normal;
    text-align: center;
}
.application h4.line::before,
.application h4.line::after {
    max-width: 300px;
    content: "";
    width: 30%;
    border-top: 1px solid #8a9f55;
    position: absolute;
    top: 50%;
}
.application h4.line::before{ left: 0;}
.application h4.line::after{ right: 0;}


.application .form-list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 35px;
}
.application .form-list dt,
.application .form-list dd {
    border-left: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    font-size: 16px;
}
.application .form-list dt {
    background-color: #F8F8F8;
    width: 155px;
    color: #8a9f55;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    flex-direction: column;
}
.application .form-list dd {
    background-color: #fff;
    width: calc( 100% - 155px );
    border-right: 1px solid #ccc;
    padding: 30px 50px;
}
.application .form-list dt:first-of-type,
.application .form-list dd:first-of-type {
    border-top: 1px solid #ccc;
}
.application .form-list dt .required {
    background-color: #c6272d;
    color: #ffffff;
    display: inline-block;
    font-size: 14px;
    padding: 0 5px;
}
.application .form-list .check-list .item:not(:first-child) {
    margin-top: 10px;
}
.application .form-list .check-list input {
    opacity: 0;
    appearance: none;
    position: absolute;
}
.application .form-list .check-list .txt {
    position: relative;
    display: flex;
    align-items: center;
    padding-left: 30px;
}
.application .form-list .check-list .txt::before {
    content: '';
    display: block;
    border-radius: 50%;
    border: 1px solid #707070;
    width: 20px;
    height: 20px;
    margin-right: 10px;
    position: absolute;
    left: 0;
    top: 3px;
}
.application .form-list .check-list input:checked + .txt::after {
    content: '';
    display: block;
    border-radius: 50%;
    width: 14px;
    height: 14px;
    background-color: #8a9f55;
    position: absolute;
    left: 3px;
    top: 6px;
}
.application .form-list .price {
    font-weight: bold;
    color: #8a9f55;
}
.application .form-list .price-txt {
    color: #8a9f55;
}
.application .form-list .payment img {
    width: 40%;
    min-width: 200px;
}
.application .btn02 {
    display: block;
    width: 100%;
    max-width: 468px;
    margin: 10px auto 0;
    color: #fff;
    padding: 18px 22px 18px 5px;
    font-size: 18px;
    background-size: 17px;
}
.is-disable {
    pointer-events: none;
    opacity: 0.4;
}
.application .btn02,
.application .note-txt {
    text-align: center;
}
.application .link-to-course {
    display: none;
}
@media screen and (max-width: 999px) {
}
@media screen and (max-width: 599px) {
    .application .lead {
        font-size: 14px;
        text-align: left;
    }
    .application .head-wrap {
        width: 100%;
    }
    .application .lead-note {
        font-size: 14px;
        text-align: left;
    }
    .application .explanation-wrap {
        font-size: 30px;
    }
    .application .explanation-wrap .box {
        font-size: 14px;
        padding-top: 15px;
        padding-bottom: 15px;
    }
    .application .explanation-wrap .box strong {
        font-size: 16px;
    }
    .application .explanation-wrap .col-wrap {
        margin-top: 40px;
    }
    .application .explanation-wrap .col-wrap .box::before {
        font-size: 30px;
        top: -40px;
    }
    .application .txt-choice {
        font-size: 14px;
        margin: 25px 0;
    }
    .application .link-to-course {
        display: flex;
        justify-content: space-between;
        margin-bottom: 20px;
    }
    .application .link-to-course a {
        background-color: #8a9f55;
        border-radius: 5px;
        color: #ffffff;
        font-size: 14px;
        line-height: 1.5;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 32.5%;
        padding: 17px 0;
        text-align: center;
    }
    .application .course-list {
        flex-direction: column;
    }
    .application .course-list > .item {
        width: 100%;
    }
    .application .course-list > .item:not(:first-child) {
        margin-top: 35px;
    }
    .application .course-list .photo img {
        width: 100%;
    }
    .application .course-list .info-wrap .main,
    .application .course-list .info-wrap .txt {
        font-size: 14px;
    }
    .application .course-list table th,
    .application .course-list table td {
        font-size: 14px;
    }
    .application h4.line::before,
    .application h4.line::after {
        max-width: 80px;
    }
    .application .form-list {
        flex-direction: column;
    }
    .application .form-list dt,
    .application .form-list dd {
        width: 100%;
        font-size: 14px;
        padding: 20px 15px;
    }
    .application .form-list dt {
        justify-content: flex-start;
        flex-direction: row;
        border-right: 1px solid #ccc;
    }
    .application .form-list dt .required {
        margin-left: 15px;
    }
    .application .form-list dd:first-of-type {
        border-top: none;
    }
    .application .form-list .check-list .item:not(:first-child) {
        margin-top: 15px;
    }
    .application .btn02 {
        width: 100%;
        font-size: 16px;
    }
}

.wrap_form{
    max-width: 760px;
    margin: 0 auto;
}
.tbl_app{
    width: 100%;
    border-top: 1px solid #8a9f55;
    border-left: 1px solid #8a9f55;
    margin-bottom: 20px;
}
.tbl_app th,
.tbl_app td{
    border-right: 1px solid #8a9f55;
    border-bottom: 1px solid #8a9f55;
    padding: 20px;
}
.tbl_app th{
    background: rgba(138,159,85,.05);
    font-weight: normal;
    text-align: center;
    white-space: nowrap;
    padding: 20px 10px;
}
.tbl_app td{ background: #fff;}

.list_checkbox li{
    background: #e7ecdd;
    padding: 15px;
    border-radius: 5px;
}
.list_checkbox li.checked{
    background: #8a9f55;
    color: #fff;
}
.list_checkbox li + li{ margin-top: 15px;}
.list_checkbox input{ display: none;}
.list_checkbox label{
    display: inline-block;
    padding-left: 45px;
    position: relative;
}
.list_checkbox label::before{
    content: "";
    width: 20px;
    height: 20px;
    border: 1px solid #8a9f55;
    background: #fff;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}
.list_checkbox input:checked + label::after{
    content: "";
    width: 18px;
    height: 8px;
    border-left: 2px solid #8a9f55;
    border-bottom: 2px solid #8a9f55;
    transform: rotate(-45deg);
    position: absolute;
    left: 1px;
    top: -5px;
    bottom: 0;
    margin: auto;
}

.tbl_subtotal{
    margin: 0 0 35px auto;
    width: 80%;
    max-width: 380px;
    border-top: 2px solid #8a9f55;
    border-left: 2px solid #8a9f55;
}
.tbl_subtotal th,
.tbl_subtotal td{
    border-right: 2px solid #8a9f55;
    border-bottom: 2px solid #8a9f55;
    padding: 20px 25px;
}
.tbl_subtotal th{
    background: #f2f5ee;
    font-weight: normal;
    text-align: center;
}
.tbl_subtotal td{
    background: #fff;
    text-align: right;
}
.tbl_subtotal td .price{
    font-size: 1.2em;
    color: #8a9f55;
}

@media screen and (max-width: 599px) {
    .list_checkbox label{ padding-left: 35px;}
}



/* ==========================================================================
   .contents_app
========================================================================== */
.contents_app{
    background-color: #fff;
    padding: 12px;
    max-width: 760px;
    margin: 30px auto;
}
.contents_app .box{
    background-color: #f3f3f2;
    padding: 12px 30px;
}
.contents_app .ttl{
    font-size: 16px;
    font-weight: normal;
    text-align: center;
}
.contents_app .item{
    background-color: #fff;
    padding: 10px;
}
.contents_app .item + .item{
    margin-top: 48px;
    position: relative;
}
.contents_app .item + .item::before{
    content: "";
    padding: 12px;
    background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2223.942%22%20height%3D%2223.926%22%20viewBox%3D%220%200%2023.942%2023.926%22%3E%3Cpath%20d%3D%22M22.261-500.507a12.025%2C12.025%2C0%2C0%2C0-10.105%2C8.221%2C10.84%2C10.84%2C0%2C0%2C0-.558%2C3.695%2C10.7%2C10.7%2C0%2C0%2C0%2C.636%2C3.92c.294.871.436%2C1.15.612%2C1.219a.373.373%2C0%2C0%2C0%2C.48-.176c.078-.176.073-.2-.137-.71a11.319%2C11.319%2C0%2C0%2C1-.475-7.091%2C11.76%2C11.76%2C0%2C0%2C1%2C2.148-4.233%2C14.031%2C14.031%2C0%2C0%2C1%2C1.943-1.864%2C11.2%2C11.2%2C0%2C0%2C1%2C3.934-1.9%2C9.562%2C9.562%2C0%2C0%2C1%2C2.819-.338%2C10.373%2C10.373%2C0%2C0%2C1%2C1.615.083%2C12.2%2C12.2%2C0%2C0%2C1%2C3.435%2C1.091%2C2.155%2C2.155%2C0%2C0%2C0%2C.568.215.385.385%2C0%2C0%2C0%2C.254-.636%2C9.992%2C9.992%2C0%2C0%2C0-2.227-1%2C13.5%2C13.5%2C0%2C0%2C0-1.933-.445A15.461%2C15.461%2C0%2C0%2C0%2C22.261-500.507Z%22%20transform%3D%22translate(-11.598%20500.559)%22%20fill%3D%22%23001b5b%22%2F%3E%3Cpath%20d%3D%22M407.22-439.847a.363.363%2C0%2C0%2C0-.22.347c0%2C.122.1.25.573.729s.6.577.724.577a.369.369%2C0%2C0%2C0%2C.338-.573%2C7.322%2C7.322%2C0%2C0%2C0-1.057-1.072A.3.3%2C0%2C0%2C0%2C407.22-439.847Z%22%20transform%3D%22translate(-387.651%20442.87)%22%20fill%3D%22%23001b5b%22%2F%3E%3Cpath%20d%3D%22M66.637-389.857c-.21.2-.191.294.176.964a11.182%2C11.182%2C0%2C0%2C1%2C1.106%2C8.133%2C11.229%2C11.229%2C0%2C0%2C1-5%2C6.871%2C11.211%2C11.211%2C0%2C0%2C1-10.536.671%2C11.359%2C11.359%2C0%2C0%2C1-4.624-3.89c-.328-.484-.406-.563-.587-.563a.4.4%2C0%2C0%2C0-.377.387%2C7.7%2C7.7%2C0%2C0%2C0%2C1.747%2C2.329%2C12.065%2C12.065%2C0%2C0%2C0%2C7.12%2C3.46%2C14.754%2C14.754%2C0%2C0%2C0%2C3.073-.054%2C11.627%2C11.627%2C0%2C0%2C0%2C3.558-1.106%2C11.9%2C11.9%2C0%2C0%2C0%2C6.122-7.012%2C12.054%2C12.054%2C0%2C0%2C0-.891-9.567%2C4.755%2C4.755%2C0%2C0%2C0-.391-.607A.355.355%2C0%2C0%2C0%2C66.637-389.857Z%22%20transform%3D%22translate(-45.075%20395.365)%22%20fill%3D%22%23001b5b%22%2F%3E%3Cpath%20d%3D%22M135.7-385.587a.366.366%2C0%2C0%2C0-.157.142c-.039.064-.054%2C1.028-.054%2C2.961v2.868h-2.78c-2.731%2C0-2.784%2C0-2.887.1a.377.377%2C0%2C0%2C0%2C.02.573l.122.113h5.525v6.171l.122.117a.36.36%2C0%2C0%2C0%2C.538%2C0l.122-.117v-6.171h5.525l.127-.113a.357.357%2C0%2C0%2C0%2C0-.558l-.132-.113h-5.525V-382.5c0-2.672%2C0-2.887-.083-2.985A.468.468%2C0%2C0%2C0%2C135.7-385.587Z%22%20transform%3D%22translate(-123.916%20391.242)%22%20fill%3D%22%23001b5b%22%2F%3E%3C%2Fsvg%3E') center/contain no-repeat;
    position: absolute;
    left: 0;
    right: 0;
    top: -35px;
    margin: auto;
}
.contents_app .ttl_s{
    font-size: 16px;
    font-weight: normal;
    text-align: left;
}
.contents_app .package .ttl_s{
    padding: 15px 0 15px 60px;
    background: url(/school/image/contents_app/icn_package.png) left center/44px no-repeat;
    margin-bottom: 10px;
}
.contents_app .video .ttl_s{
    padding: 15px 0 15px 60px;
    background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2252.093%22%20height%3D%2234.799%22%20viewBox%3D%220%200%2052.093%2034.799%22%3E%3Cdefs%3E%3CclipPath%20id%3D%22a%22%3E%3Crect%20width%3D%2252.093%22%20height%3D%2234.799%22%20fill%3D%22none%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3Cg%20transform%3D%22translate(0%200)%22%3E%3Cg%20clip-path%3D%22url(%23a)%22%3E%3Cpath%20d%3D%22M0-.4H34.751a.4.4%2C0%2C0%2C1%2C.4.4V22.6a.4.4%2C0%2C0%2C1-.4.4H0a.4.4%2C0%2C0%2C1-.4-.4V0A.4.4%2C0%2C0%2C1%2C0-.4ZM34.351.4H.4V22.2H34.351Z%22%20transform%3D%22translate(8.671%200.421)%22%20fill%3D%22%23001b5b%22%2F%3E%3Cpath%20d%3D%22M51.9%2C46.221H.649a.4.4%2C0%2C0%2C1-.259-.7L8.64%2C38.5a.4.4%2C0%2C0%2C1%2C.259-.1H43.65a.4.4%2C0%2C0%2C1%2C.259.1l8.25%2C7.013a.4.4%2C0%2C0%2C1-.259.7Zm-50.162-.8H50.811L43.5%2C39.208H9.046Z%22%20transform%3D%22translate(-0.228%20-13.611)%22%20fill%3D%22%23001b5b%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cpath%20d%3D%22M45.01%2C48.474H24.894a.4.4%2C0%2C0%2C1-.264-.7l3.238-2.841a.4.4%2C0%2C0%2C1%2C.264-.1h13.64a.4.4%2C0%2C0%2C1%2C.264.1l3.238%2C2.841a.4.4%2C0%2C0%2C1-.264.7Zm-19.054-.8H43.947l-2.326-2.041H28.282Z%22%20transform%3D%22translate(-8.731%20-15.865)%22%20fill%3D%22%23001b5b%22%2F%3E%3Cg%20transform%3D%22translate(0%200)%22%3E%3Cg%20clip-path%3D%22url(%23a)%22%3E%3Cpath%20d%3D%22M49.085%2C52.177H3.463a.4.4%2C0%2C0%2C1-.244-.083L.405%2C49.926a.4.4%2C0%2C1%2C1%2C.488-.634L3.6%2C51.377H48.949l2.706-2.085a.4.4%2C0%2C0%2C1%2C.488.634l-2.814%2C2.168A.4.4%2C0%2C0%2C1%2C49.085%2C52.177Z%22%20transform%3D%22translate(-0.228%20-17.4)%22%20fill%3D%22%23001b5b%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E') left center/52px no-repeat;
    margin-bottom: 10px;
}
.contents_app .lecture .ttl_s{
    padding-left: 118px;
    background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2281.803%22%20height%3D%2272.43%22%20viewBox%3D%220%200%2081.803%2072.43%22%3E%3Cdefs%3E%3CclipPath%20id%3D%22a%22%3E%3Crect%20width%3D%2281.803%22%20height%3D%2272.43%22%20fill%3D%22none%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3Cg%20transform%3D%22translate(0%200)%22%20clip-path%3D%22url(%23a)%22%3E%3Cpath%20d%3D%22M60.051%2C20.987a1%2C1%2C0%2C0%2C1-.969-.755%2C9.388%2C9.388%2C0%2C0%2C0-6.237-6.622%2C1%2C1%2C0%2C0%2C1-.2-1.816%2C5.21%2C5.21%2C0%2C0%2C0%2C2.624-4.526%2C5.268%2C5.268%2C0%2C0%2C0-10.537%2C0%2C5.212%2C5.212%2C0%2C0%2C0%2C2.623%2C4.526%2C1%2C1%2C0%2C0%2C1-.2%2C1.816%2C9.388%2C9.388%2C0%2C0%2C0-6.237%2C6.622%2C1%2C1%2C0%2C1%2C1-1.939-.49%2C11.387%2C11.387%2C0%2C0%2C1%2C5.9-7.353%2C7.308%2C7.308%2C0%2C0%2C1-1.139-1.459%2C7.181%2C7.181%2C0%2C0%2C1-1-3.662%2C7.268%2C7.268%2C0%2C0%2C1%2C14.537%2C0%2C7.18%2C7.18%2C0%2C0%2C1-1%2C3.662%2C7.306%2C7.306%2C0%2C0%2C1-1.14%2C1.459%2C11.387%2C11.387%2C0%2C0%2C1%2C5.9%2C7.352%2C1%2C1%2C0%2C0%2C1-.97%2C1.245Z%22%20transform%3D%22translate(-8.374%20-0.21)%22%20fill%3D%22%23001b5b%22%2F%3E%3Cpath%20d%3D%22M86.628%2C47.9A7.277%2C7.277%2C0%2C0%2C1%2C93.9%2C55.165a7.18%2C7.18%2C0%2C0%2C1-1%2C3.662%2C7.308%2C7.308%2C0%2C0%2C1-1.138%2C1.458A11.383%2C11.383%2C0%2C0%2C1%2C98%2C70.437c0%2C1.79-2.037%2C2.786-3.746%2C3.307a27.393%2C27.393%2C0%2C0%2C1-7.625.945A27.393%2C27.393%2C0%2C0%2C1%2C79%2C73.743c-1.709-.52-3.747-1.516-3.747-3.307A11.382%2C11.382%2C0%2C0%2C1%2C81.5%2C60.284a7.309%2C7.309%2C0%2C0%2C1-1.137-1.457%2C7.181%2C7.181%2C0%2C0%2C1-1-3.661A7.276%2C7.276%2C0%2C0%2C1%2C86.628%2C47.9Zm0%2C24.791a25.388%2C25.388%2C0%2C0%2C0%2C7.042-.858C95.367%2C71.313%2C96%2C70.7%2C96%2C70.437a9.288%2C9.288%2C0%2C0%2C0-1.843-5.58%2C9.468%2C9.468%2C0%2C0%2C0-4.682-3.349%2C1%2C1%2C0%2C0%2C1-.2-1.816A5.21%2C5.21%2C0%2C0%2C0%2C91.9%2C55.165a5.268%2C5.268%2C0%2C0%2C0-10.537%2C0%2C5.212%2C5.212%2C0%2C0%2C0%2C2.623%2C4.526%2C1%2C1%2C0%2C0%2C1-.2%2C1.816A9.457%2C9.457%2C0%2C0%2C0%2C79.1%2C64.855a9.291%2C9.291%2C0%2C0%2C0-1.843%2C5.581c0%2C.265.632.877%2C2.329%2C1.393A25.388%2C25.388%2C0%2C0%2C0%2C86.628%2C72.688Z%22%20transform%3D%22translate(-15.987%20-10.251)%22%20fill%3D%22%23001b5b%22%2F%3E%3Cpath%20d%3D%22M11.371%2C47.9a7.277%2C7.277%2C0%2C0%2C1%2C7.269%2C7.268%2C7.18%2C7.18%2C0%2C0%2C1-1%2C3.662A7.308%2C7.308%2C0%2C0%2C1%2C16.5%2C60.285a11.383%2C11.383%2C0%2C0%2C1%2C6.243%2C10.152c0%2C1.79-2.037%2C2.786-3.746%2C3.307a27.393%2C27.393%2C0%2C0%2C1-7.625.945%2C27.393%2C27.393%2C0%2C0%2C1-7.625-.945C2.037%2C73.223%2C0%2C72.227%2C0%2C70.437A11.382%2C11.382%2C0%2C0%2C1%2C6.243%2C60.284a7.309%2C7.309%2C0%2C0%2C1-1.137-1.457%2C7.181%2C7.181%2C0%2C0%2C1-1-3.661A7.276%2C7.276%2C0%2C0%2C1%2C11.371%2C47.9Zm0%2C24.791a25.388%2C25.388%2C0%2C0%2C0%2C7.042-.858c1.7-.517%2C2.329-1.129%2C2.329-1.393a9.288%2C9.288%2C0%2C0%2C0-1.843-5.58%2C9.468%2C9.468%2C0%2C0%2C0-4.682-3.349%2C1%2C1%2C0%2C0%2C1-.2-1.816%2C5.21%2C5.21%2C0%2C0%2C0%2C2.624-4.526%2C5.268%2C5.268%2C0%2C1%2C0-10.537%2C0%2C5.212%2C5.212%2C0%2C0%2C0%2C2.623%2C4.526%2C1%2C1%2C0%2C0%2C1-.2%2C1.816%2C9.457%2C9.457%2C0%2C0%2C0-4.681%2C3.348A9.291%2C9.291%2C0%2C0%2C0%2C2%2C70.437c0%2C.265.632.877%2C2.329%2C1.393A25.388%2C25.388%2C0%2C0%2C0%2C11.371%2C72.688Z%22%20transform%3D%22translate(-0.21%20-10.251)%22%20fill%3D%22%23001b5b%22%2F%3E%3Cpath%20d%3D%22M60.54%2C42.173H37.389a1%2C1%2C0%2C0%2C1-.989-.853L34.025%2C25.395a1%2C1%2C0%2C0%2C1%2C.989-1.147h27.9a1%2C1%2C0%2C0%2C1%2C.989%2C1.147L61.529%2C41.32A1%2C1%2C0%2C0%2C1%2C60.54%2C42.173Zm-22.289-2H59.678l2.076-13.926H36.174Z%22%20transform%3D%22translate(-7.34%20-5.293)%22%20fill%3D%22%23001b5b%22%2F%3E%3Cpath%20d%3D%22M49.914%2C58.276a7.277%2C7.277%2C0%2C0%2C1%2C7.269%2C7.268%2C7.18%2C7.18%2C0%2C0%2C1-1%2C3.662%2C7.308%2C7.308%2C0%2C0%2C1-1.138%2C1.458%2C11.383%2C11.383%2C0%2C0%2C1%2C6.243%2C10.152c0%2C1.79-2.037%2C2.786-3.746%2C3.307a27.392%2C27.392%2C0%2C0%2C1-7.625.945%2C27.392%2C27.392%2C0%2C0%2C1-7.625-.945c-1.709-.52-3.746-1.516-3.746-3.307a11.382%2C11.382%2C0%2C0%2C1%2C6.243-10.153%2C7.309%2C7.309%2C0%2C0%2C1-1.137-1.457%2C7.181%2C7.181%2C0%2C0%2C1-1-3.661A7.276%2C7.276%2C0%2C0%2C1%2C49.914%2C58.276Zm0%2C24.791a25.389%2C25.389%2C0%2C0%2C0%2C7.042-.858c1.7-.517%2C2.329-1.129%2C2.329-1.393a9.288%2C9.288%2C0%2C0%2C0-1.843-5.58%2C9.468%2C9.468%2C0%2C0%2C0-4.682-3.349%2C1%2C1%2C0%2C0%2C1-.2-1.816%2C5.21%2C5.21%2C0%2C0%2C0%2C2.624-4.526%2C5.268%2C5.268%2C0%2C0%2C0-10.537%2C0%2C5.212%2C5.212%2C0%2C0%2C0%2C2.623%2C4.526%2C1%2C1%2C0%2C0%2C1-.2%2C1.816%2C9.457%2C9.457%2C0%2C0%2C0-4.681%2C3.348%2C9.291%2C9.291%2C0%2C0%2C0-1.843%2C5.581c0%2C.265.632.877%2C2.329%2C1.393A25.389%2C25.389%2C0%2C0%2C0%2C49.914%2C83.067Z%22%20transform%3D%22translate(-8.29%20-12.427)%22%20fill%3D%22%23001b5b%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E') left center/80px no-repeat;
    margin-bottom: 20px;
}
.contents_app .item p{ font-size: 12px;}
@media screen and (min-width: 600px) {
    .contents_app{
        display: flex;
        justify-content: space-between;
    }
    .contents_app .box{
        width: 49%;
        max-width: 350px;
    }
}
@media screen and (max-width: 599px) {
    .contents_app .box{ padding: 12px;}
    .contents_app .box + .box{ margin-top: 12px;}
}



/* ==========================================================================
flow
========================================================================== */
.flow .inner {
}

.flow-list li{
    border: 1px solid #8a9f55;
    margin-bottom: 95px;
    position: relative;
    padding-top: 15px;
}
.flow-list li::after{
    content: "";
    padding: 22px;
    background: url(/school/image/asset/icn_flow_arrow.svg) center top/15px no-repeat;
    position: absolute;
    bottom: -73px;
    left: 0;
    right: 0;
}
.flow-list li:last-child::after{ content: none;}
.flow-list li .step {
    position: relative;
    color: #8a9f55;
    text-align: center;
    font-family: 'Josefin Slab', serif;
    font-size: 40px;
}
.flow-list li .step::before,
.flow-list li .step::after {
    max-width: 420px;
    content: "";
    width: 42%;
    border-top: 1px solid #8a9f55;
    position: absolute;
    top: 50%;
}
.flow-list li .step::before{ left: 0;}
.flow-list li .step::after{ right: 0;}
.flow-list li h3{
    font-size: 23px;
}
.flow-list li.apply .txt {
    text-align: center;
    font-size: 23px;
    margin-bottom: 15px;
}
.flow-list li.pay h3{ margin-bottom: 20px;}
.flow-list li.pay .cashless-promotion {
    background-color: #fff;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 15px 40px;
    padding: 20px 20px 30px;
    border-top: 1px dashed #a0a0a0;
    border-bottom: 1px dashed #a0a0a0;
}
.flow-list li.pay .cashless-promotion img {
    width: 50px;
    height: 50px;
}
.flow-list li.pay .cashless-promotion .txt {
    font-size: 18px;
    text-align: center;
    line-height: 1.3;
    padding-left: 10px;
}
.flow-list li.pay .cashless-promotion .txt strong {
    font-weight: normal;
    font-size: 30px;
}
.flow-list li.pay .cashless-promotion .txt a {
    display: inline-block;
    text-decoration: underline;
    color: #333333;
    margin-top: 10px;
}
@media screen and (max-width: 599px) {
    .flow-list li.pay .cashless-promotion {
        margin: 20px 0;
        padding: 20px 10px;
        display: block;
        text-align: center;
    }
    .flow-list li.pay .cashless-promotion .txt {
        font-size: 16px;
        padding: 0;
        margin-top: 10px;
    }
    .flow-list li.pay .cashless-promotion .txt strong {
        font-size: 25px;
    }
}

.flow-list li.pay .detail{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 30px;
}
.flow-list li.pay .detail > div{
    width: 25%;
    padding: 0 10px;
    border-left: 1px solid #8a9f55;
}
.flow-list li.pay .detail > div:first-child{ border-left: none;}
.flow-list li.pay .detail > div h4{
    text-align: center;
    font-size: 22px;
    font-weight: normal;
    margin-bottom: 130px;
    position: relative;
}
.flow-list li.pay .detail > div:first-child h4::after{
    content: "";
    padding: 40px;
    background: url(/school/image/asset/icn_flow_card.svg) center top/73px no-repeat;
    position: absolute;
    top: 70px;
    left: 0;
    right: 0;
}
.flow-list li.pay .detail > div:nth-child(2) h4::after {
    content: "";
    padding: 40px;
    background: url(/school/image/logo_amazonpay.png) 50% 20% no-repeat;
    background-size: 75% auto;
    position: absolute;
    top: 70px;
    left: 0;
    right: 0;
}
.flow-list li.pay .detail > div:nth-child(3) h4::after{
    content: "";
    padding: 40px;
    background: url(/school/image/asset/icn_flow_bank.svg) center top/68px no-repeat;
    position: absolute;
    top: 56px;
    left: 0;
    right: 0;
}
.flow-list li.pay .detail > div:nth-child(4) h4::after{
    content: "";
    padding: 40px;
    background: url(/school/image/asset/icn_flow_loan.svg) center top/43px no-repeat;
    position: absolute;
    top: 64px;
    left: 0;
    right: 0;
}
.flow-list li.start h3{
    position: relative;
    border-bottom: 1px dashed #8a9f55;
    padding-bottom: 25px;
    width: 90%;
    margin: 60px auto 25px;
}
.flow-list li.start h3::before{
    content: "";
    padding: 50px;
    background: url(/school/image/asset/icn_flow_textbook.svg) center center/94px no-repeat;
    position: absolute;
    top: -80px;
    left: 0;
    right: 0;
}
.flow-list li.start h4{
    text-align: center;
    color: #8a9f55;
    font-size: 23px;
    font-weight: normal;
    margin-bottom: 25px;
}
.flow-list li.start p{
    width: 90%;
    margin: 0 auto;
    font-size: 14px;
}
.flow-list li.start p + p{
    padding: 20px 0 25px;
    font-size: 12px;
}


.application-method h3{
    display: inline-block;
    vertical-align: middle;
    width: 23%;
}
.application-method ul{
    width: 76%;
    display: inline-flex;
    justify-content: space-between;
    flex-wrap: wrap;
    vertical-align: middle;
}
.application-method ul li{
    border-left: 1px solid #8a9f55;
    width: 33%;
    text-align: center;
}
.application-method ul li h4{
    font-size: 22px;
    font-weight: normal;
    margin-bottom: 130px;
    position: relative;
}
.application-method ul li:first-child h4::after{
    content: "";
    padding: 40px;
    background: url(/school/image/asset/icn_flow_web.svg) center top/78px no-repeat;
    position: absolute;
    top: 70px;
    left: 0;
    right: 0;
}
.application-method ul li:nth-child(2) h4::after{
    content: "";
    padding: 40px;
    background: url(/school/image/asset/icn_flow_mail.svg) center top/63px no-repeat;
    position: absolute;
    top: 70px;
    left: 0;
    right: 0;
}
.application-method ul li:nth-child(3) h4::after{
    content: "";
    padding: 40px;
    background: url(/school/image/asset/icn_flow_phone.svg) center top/59px no-repeat;
    position: absolute;
    top: 70px;
    left: 0;
    right: 0;
}
.application-method ul li .btn_mail a{
    background: #8a9f55 url(/images/common/arrow.svg) 96% center/20px no-repeat;
    color: #fff;
    padding: 5px;
    font-size: 19px;
    width: 80%;
    display: block;
    margin: 0 auto;
}
.application-method ul li .phone{
    color: #8a9f55;
    background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229.417%22%20height%3D%2219.302%22%20viewBox%3D%220%200%2029.417%2019.302%22%3E%3Cpath%20d%3D%22M0%2C88.032v3.009a17.345%2C17.345%2C0%2C0%2C1%2C6.328%2C1.183q.522.206%2C1.013.443a16.036%2C16.036%2C0%2C0%2C1%2C2.395-.918%2C17.609%2C17.609%2C0%2C0%2C1%2C4.973-.708%2C17.352%2C17.352%2C0%2C0%2C1%2C6.355%2C1.183q.522.206%2C1.013.443a16.049%2C16.049%2C0%2C0%2C1%2C2.4-.918%2C17.617%2C17.617%2C0%2C0%2C1%2C4.946-.708V88.032Z%22%20transform%3D%22translate(0%20-88.032)%22%20fill%3D%22%238a9f55%22%2F%3E%3Cpath%20d%3D%22M320.59%2C210.6a3.657%2C3.657%2C0%2C0%2C0%2C5.7%2C3.033A3.65%2C3.65%2C0%2C0%2C0%2C327.9%2C210.6a3.12%2C3.12%2C0%2C0%2C0-.235-1.15%2C5.066%2C5.066%2C0%2C0%2C0-.728-1.24%2C9.246%2C9.246%2C0%2C0%2C0-2.695-2.246%2C9.941%2C9.941%2C0%2C0%2C0-2.213%2C1.692%2C5.494%2C5.494%2C0%2C0%2C0-1.259%2C1.928A3.053%2C3.053%2C0%2C0%2C0%2C320.59%2C210.6Z%22%20transform%3D%22translate(-302.17%20-199.19)%22%20fill%3D%22%238a9f55%22%2F%3E%3Cpath%20d%3D%22M25.656%2C175.657a7.377%2C7.377%2C0%2C0%2C1%2C1.681%2C2.612%2C4.951%2C4.951%2C0%2C0%2C1%2C.293%2C1.647%2C5.553%2C5.553%2C0%2C1%2C1-11.106%2C0%2C5.267%2C5.267%2C0%2C0%2C1%2C.637-2.434%2C8.28%2C8.28%2C0%2C0%2C1%2C1.677-2.162%2C11.548%2C11.548%2C0%2C0%2C1%2C1.2-.984c-.29-.106-.588-.206-.894-.3a15.73%2C15.73%2C0%2C0%2C0-4.437-.63%2C15.513%2C15.513%2C0%2C0%2C0-5.332.926%2C11.123%2C11.123%2C0%2C0%2C1%2C1.544%2C1.321%2C7.382%2C7.382%2C0%2C0%2C1%2C1.68%2C2.612%2C4.945%2C4.945%2C0%2C0%2C1%2C.293%2C1.647%2C5.553%2C5.553%2C0%2C1%2C1-11.106%2C0%2C5.269%2C5.269%2C0%2C0%2C1%2C.636-2.434A8.282%2C8.282%2C0%2C0%2C1%2C4.1%2C175.319a11.516%2C11.516%2C0%2C0%2C1%2C1.2-.984c-.291-.106-.588-.206-.894-.3a15.737%2C15.737%2C0%2C0%2C0-4.41-.63v14.4H29.417v-14.4a15.517%2C15.517%2C0%2C0%2C0-5.3.926A11.118%2C11.118%2C0%2C0%2C1%2C25.656%2C175.657Z%22%20transform%3D%22translate(0%20-168.504)%22%20fill%3D%22%238a9f55%22%2F%3E%3Cpath%20d%3D%22M64.118%2C210.6a3.657%2C3.657%2C0%2C0%2C0%2C5.7%2C3.033%2C3.651%2C3.651%2C0%2C0%2C0%2C1.613-3.033%2C3.129%2C3.129%2C0%2C0%2C0-.235-1.15%2C5.083%2C5.083%2C0%2C0%2C0-.728-1.24%2C9.254%2C9.254%2C0%2C0%2C0-2.695-2.246%2C9.932%2C9.932%2C0%2C0%2C0-2.212%2C1.692%2C5.494%2C5.494%2C0%2C0%2C0-1.259%2C1.928A3.049%2C3.049%2C0%2C0%2C0%2C64.118%2C210.6Z%22%20transform%3D%22translate(-60.434%20-199.19)%22%20fill%3D%22%238a9f55%22%2F%3E%3C%2Fsvg%3E');
}
.application-method ul li .phone a {
    color: #8a9f55;
}
/* タブレット以下 */
@media screen and (max-width: 999px) {
    .flow-list li h3{
        font-size: 26px;
        letter-spacing: 0;
    }
}
/* スマホ */
@media screen and (max-width: 599px) {
    .flow-list li .step {
        font-size: 30px;
    }
    .flow-list li .step::before, .flow-list li .step::after {
        width: 36%;
    }
    .flow-list li:last-child {
        margin-bottom: 40px;
    }
    .flow-list li h3{ font-size: 20px;}
    .flow-list li.apply .txt {
        font-size: 20px;
        padding: 0 14px;
    }
    .flow-list li.pay h3{ margin-bottom: 10px;}
    .flow-list li.pay .detail{ margin-bottom: 10px;}
    .flow-list li.pay .detail > div{
        width: 100%;
        padding: 0;
        border-left: none;
        padding-bottom: 25px;
        border-bottom: 1px dashed #8a9f55;
        margin-bottom: 10px;
    }
    .flow-list li.pay .detail > div:last-child{
        padding-bottom: 0;
        border-bottom: none;
        margin-bottom: 0;
    }
    .flow-list li.pay .detail > div h4{
        margin-bottom: 30px;
        font-size: 16px;
    }
    .flow-list li.pay .detail > div:first-child h4::after {
        padding: 25px;
        background-size: 48px auto;
        top: 40px;
    }
    .flow-list li.pay .detail > div:nth-child(2) h4::after {
        padding: 25px;
        background-size: auto 25px;
        top: 40px;
    }
    .flow-list li.pay .detail > div:nth-child(3) h4::after {
        padding: 25px;
        background-size: 45px auto;
        top: 40px;
    }
    .flow-list li.pay .detail > div:nth-child(4) h4::after {
        padding: 25px;
        background-size: 30px auto;
        top: 40px;
    }
    .flow-list li.pay .detail > div h4 + p{
        padding: 25px 14px 0;

    }

    .flow-list li.start h3 {
        margin: 60px auto 25px;
        padding-bottom: 15px;
    }
    .flow-list li.start h4{
        font-size: 16px;
        margin-bottom: 15px;
    }
    .application-method h3{
        display: block;
        width: 100%;
        margin-bottom: 20px;
    }
    .application-method ul{ width: 100%;}
    .application-method ul li:first-child{ border-left: none;}
    .application-method ul li h4 {
        font-size: 16px;
        margin-bottom: 80px;
    }
    .application-method ul li:first-child h4::after{
        padding: 20px;
        background-size: 60px;
        top: 40px;
    }
    .application-method ul li:nth-child(2) h4::after{
        padding: 20px;
        background-size: 50px;
        top: 45px;
    }
    .application-method ul li:nth-child(3) h4::after{
        padding: 20px;
        background-size: 50px;
        top: 40px;
    }
    .application-method ul li .btn_mail a{
        background: #8a9f55 url(/images/common/arrow.svg) 96% center/15px no-repeat;
        font-size: 1em;
    }
}
/* ==========================================================================
   faq
   ========================================================================== */
.faq {
    /*background-color: rgba(138,159,85,.15);*/
}
.faq-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: -30px;
}
.faq-list .item {.attending-support {
   background-color: #EDF0E5;
}
    width: 49%;
    max-width: 470px;
    border-bottom: 1px solid #8a9f55;
    position: relative;
    background-color: #efefef;
    margin-top: 100px;
}
.faq-list .question {
    color: #8a9f55;
    font-size: 18px;
    position: absolute;
    bottom: 100%;
    left: 0;
    width: 100%;
    line-height: 1.3;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #8a9f55;
    padding-left: 40px;
    background: url(/school/image/mutualfund/bg_faq.svg) 0 100% no-repeat;
    background-size: 36px 40px;
    min-height: 42px;
}
.faq-list .answer {
    font-size: 16px;
    padding: 10px;
    display: flex;
    align-items: center;
}
/* スマホ */
@media screen and (max-width: 599px) {
    .faq-list {
        display: block;
        margin-top: 30px;
    }
    .faq-list .item {
        width: 100%;
        max-width: none;
        background-color: transparent;
    }
    .faq-list .question {
        position: static;
        font-size: 16px;
    }
    .faq-list .answer {
        background-color: #efefef;
        font-size: 14px;
    }
    .faq-list .item {
        margin-top: 20px;
    }
}

/* ==========================================================================
   info
   ========================================================================== */
.info .school_info{
    border-top: 3px solid #8a9f55;
    border-bottom: 3px solid #8a9f55;
    background: rgba(138,159,85,.15);
    padding: 40px 50px;
    box-sizing: border-box;
    margin-bottom: 30px;
    position: relative;
}
.info .school_info h3{
    width: 70%;
    margin-right: auto;
    margin-bottom: 30px;
    color: #8a9f55;
    font-size: 28px;
    border-top: 1px dashed #8a9f55;
    border-bottom: 1px dashed #8a9f55;
    text-align: left;
    padding: 25px 0;
    letter-spacing: .1em;
}
.info .school_info h3 figure{
    position: absolute;
    top: 20px;
    right: 55px;
}
.info .school_info .school_info_question li{
    padding-left: 25px;
    padding-bottom: 25px;
    background: url(/vod/img2017/icn_q.svg) left top/24px no-repeat;
    text-align: left;
    font-size: 21px;
    line-height: 1.5;
}
.info .school_info .school_info_question{
    position: relative;
    margin-bottom: 85px;
}
.info .school_info .school_info_question:after{
    content: "";
    border: 14px solid transparent;
    border-top: 24px solid #8a9f55;
    position: absolute;
    left: 50%;
    bottom: -65px;
}
.info .school_info > p{
    text-align: center;
    font-size: 18px;
    line-height: 3;
}
.info .school_info + .btn_wrap{
    display: flex;
    margin: 0 auto;
    justify-content: space-between;
    flex-wrap: wrap;
}
.info .school_info + .btn_wrap li{ width: 47%;}
.info .school_info + .btn_wrap li a{
    display: block;
    color: #fff;
    font-size: 26px;
    width: 100%;
    padding: 15px 0 15px 20px;
    position: relative;
    text-decoration: none;
    box-sizing: border-box;
    text-align: left;
    border: 2px solid #8a9f55;
    color: #8a9f55;
    background: url(/school/image/mutualfund/icn_arrow_green.svg) 95% center/35px no-repeat;
}
/* タブレット以下 */
@media screen and (max-width: 999px) {
    .info .school_info h3 figure {
        width: 25%;
    }
    .info .school_info h3 {
        font-size: 22px;
        line-height: 1.4;
    }
    .info .school_info .school_info_question li {
        font-size: 18px;
    }
}
/* スマホ */
@media screen and (max-width: 599px) {
    .info .inner {
        padding-top: 20vw;
        padding-bottom: 0;
    }
    .info .school_info{
        padding: 30px 15px;
        margin-top: 30px;
    }
    .info .school_info h3{
        width: 100%;
        padding: 15px 0;
        font-size: 16px;
    }
    .info .school_info h3 figure{
        width: 28%;
        top: -20vw;
        right: 0;
        left: 0;
        margin: auto;
    }
    .info .school_info h3 figure img{ max-width: 100%;}
    .info .school_info .school_info_question{ margin-bottom: 40px;}
    .info .school_info .school_info_question li {
        padding-left: 18px;
        padding-bottom: 20px;
        background: url(/vod/img2017/icn_q.svg) left top/16px no-repeat;
        font-size: 14px;
    }
    .info .school_info .school_info_question:after{
        border: 7px solid transparent;
        border-top: 12px solid #8a9f55;
        left: 47%;
        bottom: -25px;
    }
    .info .school_info > p{ font-size: 11px;}
    .info .school_info > p img{ width: 75%;}
    .info .school_info + .btn_wrap li{
        width: 100%;
        margin-bottom: 20px;
    }
    .info .school_info + .btn_wrap li a{
        font-size: 15px;
        padding: 12px 0 12px 20px;
        background-size: 16px;
    }
}

/* ==========================================================================
    taiken
   ========================================================================== */
.taiken .inner{ padding-bottom: 0;}
.taiken ul.course{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 80px;
}
.taiken ul.course li{
    width: 30%;
    border: 1px solid #8a9f55;
    text-align: center;
    font-size: 15px;
}
.taiken ul.course li h3{
    font-size: 20px;
    line-height: 1.5;
    color: #8a9f55;
    padding: 20px;
    border-bottom: 1px solid #8a9f55;
    margin-bottom: 20px;
    min-height: 101px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}
.taiken ul.course li h3 .baloon{
    position: absolute;
    right: -30px;
    width: 180px;
    top: -70px;
}
.taiken ul.course li .point{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 0 20px;
}
.taiken ul.course li .point > p{
    width: 113px;
    height: 113px;
    border: 1px solid #8a9f55;
    border-radius: 100%;
    color: #8a9f55;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    align-content: center;
    font-size: 28px;
    line-height: 1.2;
    margin: 20px 15px 0;
}
.taiken ul.course li .point > p span{
    display: block;
    width: 100%;
}
.taiken ul.course li .point > p .txt_s{ font-size: .8em;}
.taiken ul.course li .point > p .txt_s del{ font-size: .8em;}
.taiken ul.course li .btn02{
    margin: 0 8.5% 35px;
    width: 83%;
    padding: 0;
}
.taiken ul.course li .btn02 > a{
    color: #fff;
    padding: 15px;
    display: block;
    font-size: 14px;
}
.taiken .course li .txt{ padding: 0 1em;}
/* タブレット以下 */
@media screen and (max-width: 999px) {
    .taiken ul.course li h3 .baloon{ width: 120px;}
}
/* スマホ */
@media screen and (max-width: 599px) {
    .taiken .lead {
        text-align: justify;
    }
    .taiken ul.course{ margin-top: 40px;}
    .taiken ul.course li{
        width: 100%;
        margin-bottom: 25px;
    }
    .taiken ul.course li h3 {
        font-size: 16px;
        padding: 12px;
        min-height: initial;
    }
    .taiken ul.course li .point{ margin: 10px 0 20px;}
    .taiken ul.course li .point > p{
        width: 68px;
        height: 68px;
        margin: 0 5px;
        font-size: 20px;
    }
    .taiken ul.course li h3 .baloon {
        right: -5px;
        top: -28px;
    }
}

/* ==========================================================================
   fixed-btn
   ========================================================================== */
.fixed-btn {
    position: fixed;
    z-index: 10;
    bottom: 100px;
    right: 10px;
    display: none;
}
.fixed-btn.is-show {
    display: block;
}
.fixed-btn a {
    display: block;
    background: #c6272d;
    box-shadow: 0 1.5px 0 #782332;
    color: #ffffff;
    position: relative;
    min-width: 220px;
    padding: 8px 15px 8px 0;
    text-align: center;
    border-radius: 2.8px;
    letter-spacing: 1px;
    font-size: 16px;
    background: #c6272d url(/images/common/arrow02.svg) 94% center/12px no-repeat;
}
.fixed-btn a:hover {
    text-decoration: none;
}
.fixed-btn .baloon {
    display: block;
    padding: 2px 7px;
    position: absolute;
    left: 0;
    top: -57%;
    background-color: #fff;
    color: #c6272d;
    font-size: 14px;
    border-radius: 5px;
    border: 1px solid #c6272d;
    letter-spacing: normal;
}
.fixed-btn .baloon::after {
    content: "";
    border: 4px solid transparent;
    border-top: 5px solid #fff;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -9px;
}
@media screen and (max-width: 599px) {
    .fixed-btn {
        left: 0;
        bottom: 0;
        width: 100%;
        padding: 10px 15px;
        background-color: rgba( 255,255,255, 0.75);
    }
    .fixed-btn .baloon {
        display: none;
    }
    .fixed-btn a {
        width: calc(100% - 80px);
        font-size: 16px;
        background-size: 16px;
    }
}

.start-online-school-box {
    border: 1px solid #8a9f55;
    margin-top: 40px;
    padding: 30px;
}
.start-online-school-box-ttl {
    text-align: center;
    font-size: 22px;
    color: #8a9f55;
}
.start-online-school-box-txt {
    margin: 15px 0;
}
a.start-online-school-box-btn-link {
    display: block;
    color: #8a9f55;
    text-align: center;
    border: 1px solid #8a9f55;
    font-size: 18px;
    padding: 5px 15px;
    border-radius: 1.5em;
    max-width: 400px;
    margin: 0 auto;
}
@media screen and (max-width: 599px) {
    .start-online-school-box {
        padding: 20px 15px;
        margin-top: 30px;
    }
    .start-online-school-box-ttl {
        font-size: 16px;
    }
    a.start-online-school-box-btn-link {
        font-size: 14px;
    }
}


/* 受講生の声 */
.seika .lead .color {
    font-size: 1.35em;
    color: #8a9f55;
}
.chart-wrap {
    margin-top: 50px;
}
.chart-wrap > .ttl {
    margin-top: 0;
    font-size: 18px;
}
.chart-inner {
    display: flex;
    justify-content: center;
    margin-top: 40px;
}
.chart-inner .wrap_ttl{
    text-align: left;
    color: #8a9f55;
    align-self: center;
    /*    margin: 0 auto 0 0;
    flex-grow: 1;*/
}
.chart-inner .wrap_ttl .ttl{
    font-family: 'Josefin Slab', serif;
    font-size: 40px;
    border-bottom: 1px solid;
    line-height: 1.2;
    margin-bottom: 10px;
}
.chart-inner .wrap_ttl h4{
    font-weight: normal;
    font-size: 1rem;
    letter-spacing: 0;
    padding-right: 1em;
}
.chart-inner .fig {
    width: 35%;
    max-width: 300px;
    margin: 0 10px;
}
.chart-inner .fig img {
    width: 100%;
}
.chart-inner .summary {
    max-width: 35%;
    padding-left: 40px;
}
.chart-inner .summary ul {
    padding-top: 20px;
}
.chart-inner .summary li {
    display: flex;
    align-items: center;
    margin-top: 15px;
}
.chart-inner .summary li span  {
    display: block;
    width: 35px;
    height: 23px;
    margin-right: 20px;
}
.chart-inner .summary li .color1 {
    background-color: #b8c697;
}
.chart-inner .summary li .color2 {
    background-color: #a1b175;
}
.chart-inner .summary li .color3 {
    background-color: #8a9f55;
}
.chart-inner .summary li p {
    font-size: 18px;
}
.chart-inner .summary .detail {
    text-align: left;
    padding-top: 30px;
    padding-left: 80px;
    background: url(/school/image/mutualfund/chart-line.svg) 12px 0 no-repeat;
    background-size: 60px;
}
.chart-inner .summary .detail .txt {
    font-size: 18px;
    line-height: 1.6;
}
.chart-inner .summary .detail .txt strong {
    display: block;
    color: #8a9f55;
    font-size: 28px;
}
.chart-wrap + small {
    display: block;
    text-align: left;
    font-size: 12px;
    line-height: 1.4;
    max-width: 810px;
    margin: 20px auto 0;
}
@media screen and (max-width: 599px) {
    .chart-wrap {
        margin-top: 20px;
    }
    .chart-wrap > .ttl,
    .chart-inner .summary li p,
    .chart-inner .summary .detail .txt {
        font-size: 16px;
    }
    .chart-inner {
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        margin-top: 20px;
    }
    .chart-inner .wrap_ttl{
        width: 100%;
        margin-bottom: 1em;
    }
    .chart-inner .wrap_ttl .ttl{ font-size: 35px;}
    .chart-inner .fig {
        width: 100%;
        max-width: 200px;
        text-align: center;
    }
    .chart-inner .summary {
        max-width: initial;
        padding-left: 0;
        display: flex;
        flex-direction: column;
        /*        align-items: center;*/
        margin-bottom: 0;
    }
    .chart-inner .summary li {
        margin-top: 8px;
    }
    .chart-inner .summary li span {
        margin-right: 15px;
    }
    .chart-inner .summary .detail {
        margin-bottom: 10px;
        background-position: 18px 0;
        background-size: 56px;
    }
    .chart-inner .summary .detail .txt strong {
        font-size: 24px;
    }
    .chart-wrap + small {
        margin-top: 0;
        text-align: left;
    }
}

.marker {
  background: linear-gradient(
    rgba(0, 0, 0, 0) 30%,
    rgba(215, 186, 65, 0.2) 30%
  );
}