.title {
    width: 100%;
    height: 140px;
    background-color: #14A17A;
    background-image: radial-gradient(#31b791 1px, rgba(0, 0, 0, 0) 1px);
    background-size: 20px 20px
}

@media screen and (max-width: 559px) {
    .title {
        height: 100px
    }
}

.title-inner {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    padding: 42.5px 0 42.5px
}

@media screen and (max-width: 559px) {
    .title-inner {
        padding: 32.5px 0 32.5px
    }
}

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

@media screen and (max-width: 559px) {
    .title-inner img {
        height: 35px;
        width: auto
    }
}

.heading {
    max-width: 900px;
    margin: 0 auto;
    padding: 50px 0
}

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

@media screen and (max-width: 559px) {
    .heading img {
        max-width: 95%;
        height: 90px
    }
}

.program {
    width: 100%
}

.program-intro {
    width: 90%;
    margin: 0 auto;
    line-height: 3.0rem
}

.program-intro p {
    margin-bottom: 30px;
    text-align: justify;
}

@media screen and (max-width: 559px) {
    .program-intro p {
        font-size: 1.4rem;
        line-height: 2.1rem
    }
}

.program-content {
    margin: 0 10px;
    padding: 30px 0 0;
}

.program .unit {
    width: 100%;
    margin-bottom: 70px
}

@media screen and (max-width: 559px) {

    .program-content {
        padding: 30px 0;
    }

    .program .unit:last-child {
        margin-bottom: 0
    }
}

.program .unit-title {
    width: 100%;
    height: 80px;
    line-height: 80px;
    font-size: 2.2rem;
    font-weight: bold;
    color: #FFFFFF;
    text-align: center;
    box-sizing: border-box;
    background-color: #6CD2FA;
    border: 5px solid #6CD2FA;
    background-image: radial-gradient(#43c8fc 18%, rgba(0, 0, 0, 0) 20%), radial-gradient(#43c8fc 18%, rgba(0, 0, 0, 0) 20%);
    background-position: 0 0, 15px 15px;
    background-size: 30px 30px
}

.program .unit-main {
    width: 100%;
    height: auto;
    background-color: #FFFFFF;
    box-sizing: border-box;
    border: 5px #6CD2FA;
    border-style: none solid solid solid
}

.program .unit-main .main {
    width: 85%;
    height: auto;
    margin: 0 auto
}

@media screen and (max-width: 768px) {
    .program .unit-main .main {
        width: 90%
    }
}

.program .unit-main .main-heading {
    width: 100%;
    font-size: 2.4rem;
    font-weight: bold;
    margin: 0 auto;
    padding: 70px 0 100px;
    text-align: center
}

@media screen and (max-width: 768px) {
    .program .unit-main .main-heading {
        font-size: 2.2rem;
        line-height: 4.5rem
    }
}

@media screen and (max-width: 559px) {
    .program .unit-main .main-heading {
        font-size: 1.8rem;
        line-height: 3.5rem;
        padding: 50px 0 40px
    }
}

.program .unit-main .main-heading span {
    border-bottom: 3px dashed #14A17A
}

.program .unit-main .main-list {
    width: 100%;
    height: auto;
    margin: 0 auto
}

.program .unit-main .main-item {
    display: flex;
    justify-content: space-between;
    padding-bottom: 50px
}

@media screen and (max-width: 559px) {
    .program .unit-main .main-item {
        display: block
    }
}

.program .unit-main .main-item:nth-child(2) {
    flex-direction: row-reverse;
    margin-left: 20px
}

@media screen and (max-width: 559px) {
    .program .unit-main .main-item:nth-child(2) {
        margin-left: 0
    }
}

.program .unit-main .main-text {
    width: 60%;
    padding: 0 20px
}

.program .unit-main .main-text ._title {
    font-size: 2.0rem;
    font-weight: bold;
    margin-bottom: 20px
}

.program .unit-main .main-text ._text {
    font-size: 1.4rem;
    line-height: 21px;
    padding-right: 30px;
    text-align: justify;
}

.program .unit-main .main-img {
    width: 40%;
    text-align: right
}

@media screen and (max-width: 768px) {
    .program .unit-main .main-text ._title {
        margin-bottom: 10px
    }
}

@media screen and (max-width: 559px) {
    .program .unit-main .main-text {
        width: 90%;
        padding: 0;
        margin: 0 auto 20px
    }

    .program .unit-main .main-text ._title {
        font-size: 1.6rem;
        margin-bottom: 10px;
        text-align: center
    }

    .program .unit-main .main-text ._text {
        padding: 0
    }

    .program .unit-main .main-img {
        width: 90%;
        margin: 0 auto
    }
}

.program .unit-main .main-img img {
    width: 100%;
    height: auto;
    object-fit: contain
}

.program .unit-main .main .menu {
    width: 100%;
    height: auto;
    margin-bottom: 50px
}

.program .unit-main .main .menu-list {
    width: 90%;
    height: auto;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-content: space-between
}

@media screen and (max-width: 559px) {
    .program .unit-main .main .menu-list {
        width: 100%
    }
}

.program .unit-main .main .menu-item {
    width: 30%;
    height: auto;
    padding-bottom: 18px
}

@media screen and (max-width: 559px) {
    .program .unit-main .main .menu-item {
        width: 45%;
        margin: 0 auto
    }
}

.program .unit-main .main .menu-item p {
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 2.2rem;
    padding-bottom: 8px;
    text-align: center
}

@media screen and (max-width: 768px) {
    .program .unit-main .main .menu-item p {
        font-size: 1.4rem;
        padding-bottom: 5px
    }
}

.program .unit-main .main .menu-item img {
    width: 100%;
    height: auto
}

.program .unit-main .main .menu-printer {
    width: 80%;
    height: auto;
    padding-top: 30px;
    margin: 0 auto
}

@media screen and (max-width: 559px) {
    .program .unit-main .main .menu-printer {
        width: 90%
    }
}

.program .unit-main .main .menu-printer ._title {
    font-size: 2.2rem;
    padding: 30px 0;
    font-weight: bold;
    line-height: 2.2rem;
    text-align: center;
}

.program .unit-main .main .menu-printer ._item {
    display: flex;
    justify-content: space-between
}

.program .unit-main .main .menu-printer ._item p {
    width: 100%;
    min-width: 225px;
    max-width: 390px;
    font-size: 1.4rem;
    line-height: 21px;
    margin-right: 1.5%;
    text-align: justify;
}

@media screen and (max-width: 559px) {
    .program .unit-main .main .menu-printer ._item {
        display: block
    }

    .program .unit-main .main .menu-printer ._item p {
        margin: 0 auto 30px;
        min-width: auto;
    }
}

.program .unit-main .main .menu-printer ._item div {
    max-width: 50%;
    height: auto;
    text-align: right;
    transform: translateY(-1.6rem);
}

.program .unit-main .main .menu-printer ._item div img {
    width: 100%;
    min-width: 15rem;
    max-width: 85%;
    height: auto
}

@media screen and (max-width: 559px) {
    .program .unit-main .main .menu-printer ._item div {
        width: 100%;
        margin: 0 auto;
        text-align: center;
        transform: translateY(0);
    }

    .program .unit-main .main .menu-printer ._item div img {
        min-width: auto;
        max-width: initial;
    }
}

.program .unit-main .main .printer-img-container {
    width: 100%;
    height: auto;
    margin-top: 20px;
}

.program .unit-main .main .menu-printer .printer-img-container ._title {
    font-size: 2.0rem;
    padding: 20px 0;
    line-height: 1.2rem;
    text-align: center;
    font-weight: normal;
}

.unit-main .main .printer-img-container .menu-list {
    width: 100%;
}


.program .unit:nth-child(2) .unit-title {
    font-size: 2.2rem;
    font-weight: bold;
    color: #FFFFFF;
    text-align: center;
    box-sizing: border-box;
    background-color: #F4A43B;
    border: 5px solid #F4A43B;
    background-image: radial-gradient(#f0951f 18%, rgba(0, 0, 0, 0) 20%), radial-gradient(#f0951f 18%, rgba(0, 0, 0, 0) 20%);
    background-position: 0 0, 15px 15px;
    background-size: 30px 30px
}

.program .unit:nth-child(2) .unit-main {
    background-color: #FFFFFF;
    box-sizing: border-box;
    border: 5px #F4A43B;
    border-style: none solid solid solid
}

.program .unit:nth-child(3) .unit-title {
    font-size: 2.2rem;
    font-weight: bold;
    color: #FFFFFF;
    text-align: center;
    box-sizing: border-box;
    background-color: #F0869A;
    border: 5px solid #F0869A;
    background-image: radial-gradient(#f16f87 18%, rgba(0, 0, 0, 0) 20%), radial-gradient(#f16f87 18%, rgba(0, 0, 0, 0) 20%);
    background-position: 0 0, 15px 15px;
    background-size: 30px 30px
}

.program .unit:nth-child(3) .unit-main {
    background-color: #FFFFFF;
    box-sizing: border-box;
    border: 5px #F0869A;
    border-style: none solid solid solid
}

.child-content {
    background-color: #ffffff;
    box-sizing: border-box;
    border: solid 5px #14A17A;
    margin: 0 10px 100px
}

@media screen and (max-width: 559px) {
    .child-content {
        margin-bottom: 50px
    }
}

.child-content ._text {
    width: 80%;
    height: auto;
    margin: 50px auto
}

@media screen and (max-width: 559px) {
    .child-content ._text {
        width: 80%;
        margin: 30px auto
    }
}

.child-content ._text p {
    font-size: 1.6rem;
    line-height: 2.4rem
}

.child-content ._text p:nth-child(1) {
    margin-bottom: 20px
}

.child-content ._text p:nth-child(2) {
    font-size: 1.4rem;
    line-height: 2.1rem
}

.line-top {
    width: 100%;
    height: 30px;
    background-image: url(../../../images/color-line_top.png);
    background-size: contain;
    background-repeat: repeat-x
}

.line-bottom {
    width: 100%;
    height: 30px;
    background-image: url(../../../images/color-line_bottom.png);
    background-position: left bottom;
    background-size: contain;
    background-repeat: repeat-x
}

.bg-area {
    background-color: #FFF7E0;
    background-size: 80px 80px;
    background-image: linear-gradient(rgba(246, 232, 190, 0.7) 1%, rgba(246, 232, 190, 0.7) 1%, rgba(0, 0, 0, 0) 1%, rgba(0, 0, 0, 0) 99%, rgba(246, 232, 190, 0.7) 99%, rgba(246, 232, 190, 0.7) 100%), linear-gradient(90deg, rgba(246, 232, 190, 0.7) 1%, rgba(246, 232, 190, 0.7) 1%, rgba(0, 0, 0, 0) 1%, rgba(0, 0, 0, 0) 99%, rgba(246, 232, 190, 0.7) 99%, rgba(246, 232, 190, 0.7) 100%), linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0) 25%, rgba(246, 232, 190, 0.4) 25%, rgba(246, 232, 190, 0.4) 26%, rgba(0, 0, 0, 0) 26%, rgba(0, 0, 0, 0) 50%, rgba(246, 232, 190, 0.4) 50%, rgba(246, 232, 190, 0.4) 51%, rgba(0, 0, 0, 0) 51%, rgba(0, 0, 0, 0) 75%, rgba(246, 232, 190, 0.4) 75%, rgba(246, 232, 190, 0.4) 76%, rgba(0, 0, 0, 0) 76%, rgba(0, 0, 0, 0) 100%), linear-gradient(90deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0) 25%, rgba(246, 232, 190, 0.4) 25%, rgba(246, 232, 190, 0.4) 26%, rgba(0, 0, 0, 0) 26%, rgba(0, 0, 0, 0) 50%, rgba(246, 232, 190, 0.4) 50%, rgba(246, 232, 190, 0.4) 51%, rgba(0, 0, 0, 0) 51%, rgba(0, 0, 0, 0) 75%, rgba(246, 232, 190, 0.4) 75%, rgba(246, 232, 190, 0.4) 76%, rgba(0, 0, 0, 0) 76%, rgba(0, 0, 0, 0) 100%)
}