﻿@font-face {
    font-family: "iconset";
    src: url(../../fonts/icoset.woff) format("woff"),url(../../fonts/icoset.ttf) format("truetype");
}

@font-face {
    font-family: pageico;
    src: url(../../fonts/icoset.woff) format("woff"),url(../../fonts/icoset.ttf) format("truetype");
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 266px
}

@media(width <=570px) {
    html {
        scroll-padding-top: 207px
    }
}

sup {
    font-size: 50%;
    vertical-align: super
}

em {
    font-weight: bold
}

small {
    font-size: 80%
}

.isDevicePC .inner {
    max-width: 1024px;
    width: 100%
}

.isDevicePC .anchor-area .inner {
    max-width: 100%
}

#contents {
    padding-top: 0px
}

.l_section:not(:last-child) {
    margin: 60px 0
}

.l_section.has_bg {
    padding-bottom: 60px;
    background: url(../images/bg_slash.gif)
}

.winSP .l_section:not(:last-child) {
    margin: 30px 0
}

.winSP .l_section.has_bg {
    padding-bottom: 30px
}

.l_subsection:not(:last-child) {
    padding-bottom: 60px
}

.winSP .l_subsection:not(:last-child) {
    padding-bottom: 30px
}

.l_wrap {
    padding: 4%;
    background-color: #fff
}

.l_block:not(:last-child) {
    margin-bottom: 60px
}

.l_block.has_sm {
    margin-bottom: 30px
}

.winSP .l_block:not(:last-child) {
    margin-bottom: 30px
}

.winSP .l_block.has_sm {
    margin-bottom: 15px
}

.c_intro__title {
    border-bottom: solid 2px #1d376b;
    margin-bottom: .4em;
    padding-bottom: .2em;
    font-size: 30px;
    font-size: 3rem;
    color: #1d376b;
    font-weight: bold
}

.c_intro__subtitle {
    margin-bottom: .4em;
    color: #cc111a;
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: bold
}

.c_intro__note {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.8;
    text-align: justify
}

.winSP .c_intro__title {
    font-size: 2.4rem
}

.winSP .c_intro__subtitle {
    font-size: 2rem
}

.c_title-bar {
    margin-bottom: 40px;
    background: #1d376b;
    position: relative;
    line-height: 1.3;
    text-align: center;
    color: #fff;
    padding: 20px 0
}

.c_title-bar__title {
    font-weight: bold
}

.c_title-bar__title-txt {
    font-weight: bold
}

.c_title-bar__title-txt.is_lg {
    font-size: 3.6rem
}

.c_title-bar__title-txt.is_sm {
    font-size: 2rem
}

.c_title-bar:after {
    content: "";
    position: absolute;
    bottom: -18px;
    left: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20px 20px 0 20px;
    border-color: #1d376b rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
    margin-left: -20px
}

.winSP .c_title-bar__title-txt.is_lg {
    font-size: 2.4rem
}

.winSP .c_title-bar__title-txt.is_sm {
    font-size: 1.6rem
}

.c_title-bar.is_sub {
    background: #7a90b5;
    position: relative;
    line-height: 1.3;
    font-size: 32px;
    font-size: 3.2rem;
    text-align: center;
    color: #fff;
    padding: 10px 0
}

.c_title-bar.is_sub:after {
    display: none
}

.winSP .c_title-bar.is_sub {
    font-size: 2.4rem
}

.c_title-bar.is_note {
    background: #c00
}

.c_title-bar.is_app .c_title-bar__title {
    position: relative
}

.c_title-bar.is_app .c_title-bar__title:before {
    content: "";
    background: url(../../image/2024_03/ico_new.png) no-repeat top center/contain;
    width: 130px;
    height: 160px;
    position: absolute;
    top: -20%;
    left: 10%
}

.winSP .c_title-bar.is_app .c_title-bar__title:before {
    width: 18%;
    height: 100%;
    top: -30%;
    left: 0
}

.c_weblecture-points__title--highlight {
    display: inline-block;
    font-size: 2rem;
    font-weight: bold;
    background-color: #fffb97;
    color: #3e5a91;
    margin-bottom: .4em
}

.c_weblecture-points {
    display: flex;
    justify-content: space-around;
    margin-bottom: 20px;
    gap: 20px
}

.c_weblecture-points__item {
    flex: 1;
    background-color: #fff;
    padding: 15px;
    border: solid 2px #3e5a91;
    border-radius: 20px;
    text-align: center
}

.c_weblecture-points__image {
    display: block;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 15px
}

.c_weblecture-points__description {
    color: #3e5a91;
    font-size: 16px;
    text-align: justify
}

.winSP .c_weblecture-points {
    flex-direction: column
}

.winSP .c_weblecture-points__title--highlight {
    font-size: 1.6rem
}

.winSP .c_weblecture-points__item {
    width: 100%
}

.c_weblecture-actions {
    width: 50%;
    margin: 0 auto
}

.c_weblecture-actions__notes {
    margin: .8em 0
}

.c_weblecture-actions__trial {
    width: 100%;
    text-align: center
}

.c_weblecture-actions__links {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: .8em;
    font-size: 1.4rem
}

.winSP .c_weblecture-actions {
    width: 100%
}

.winSP .c_weblecture-actions__trial {
    display: block;
    width: 100%
}

.winSP .c_weblecture-actions__links {
    flex-direction: column;
    align-items: flex-end
}

.c_app-points__lead {
    margin-bottom: 1.2em;
    font-size: 2rem;
    font-weight: bold;
    text-align: center
}

.c_app-points__title {
    padding: .2em;
    background: #e20011;
    text-align: center;
    font-size: 2.4rem;
    font-weight: bold;
    color: #fff;
    margin-bottom: .8em
}

.c_app-points__content {
    display: flex;
    justify-content: space-between
}

.c_app-points__text {
    width: 60%;
    line-height: 1.8;
    font-size: 1.6rem
}

.c_app-points__text p,
.c_app-points__text ul {
    margin-bottom: 1.6em
}

.c_app-points__image {
    width: auto
}

.winSP .c_app-points__lead {
    font-size: 1.6rem
}

.winSP .c_app-points__title {
    font-size: 2rem
}

.winSP .c_app-points__content {
    flex-direction: column
}

.winSP .c_app-points__text {
    margin-bottom: 20px;
    width: 100%
}

.c_popular-reasons__title {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #1d376b;
    font-size: 46px;
    font-size: 4.6rem;
    margin-bottom: .8em
}

.c_popular-reasons__title::before {
    content: "";
    width: 57px;
    height: 55px;
    display: inline-block;
    background-image: url(../images/icon_search.png)
}

.c_popular-reasons__title span {
    font-size: 26px;
    font-size: 2.6rem;
    font-weight: normal
}

.c_popular-reasons__list {
    display: flex;
    justify-content: space-between;
    text-align: center
}

.c_popular-reasons__item {
    width: 31%
}

.c_popular-reasons__point {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    margin-bottom: .8em
}

.c_popular-reasons__point-content {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 120px;
    background-color: #e6faf7;
    border-left: solid 4px #35b3a0;
    padding: .8em
}

.c_popular-reasons__point-title {
    width: 100%;
    font-size: 2rem;
    text-align: left
}

.c_popular-reasons__grid {
    display: block
}

.c_popular-reasons__text {
    margin-bottom: 20px;
    font-size: 1.6rem;
    text-align: justify
}

.c_popular-reasons__annotation {
    margin-top: .8em;
    font-size: 1.2rem
}

.c_popular-reasons__image {
    text-align: right
}

.c_popular-reasons__image>a {
    display: inline-block
}

.winSP .c_popular-reasons__title {
    flex-direction: column;
    font-size: 2.4rem
}

.winSP .c_popular-reasons__list {
    display: block
}

.winSP .c_popular-reasons__item {
    width: 100%;
    margin-bottom: 20px
}

.winSP .c_popular-reasons__image {
    width: 50%;
    margin: 0 auto
}

.winSP .c_popular-reasons__point-title {
    font-size: 1.6rem
}

.winSP .c_popular-reasons__point-content {
    height: auto
}

.winSP .c_popular-reasons__point {
    flex-direction: row
}

.winSP .c_popular-reasons__point>img {
    width: 16vw
}

.winSP .c_popular-reasons__grid {
    display: flex;
    flex-direction: column-reverse
}

.c_question-support {
    width: 80%;
    margin: 0 auto;
    text-align: center
}

.c_question-support__title {
    font-size: 36px;
    font-size: 3.6rem;
    display: inline-block;
    position: relative;
    margin-bottom: .4em;
    font-weight: bold;
    line-height: 1.2
}

.c_question-support__title-advance {
    display: inline-block;
    color: #556788;
    position: absolute;
    top: -20%;
    left: -6%;
    transform: rotate(-10deg);
    font-size: 60%;
    font-weight: bold
}

.c_question-support__title-highlight {
    font-size: 120%;
    font-weight: bold
}

.c_question-support__description {
    margin: 0 auto 20px;
    text-align: justify;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.8
}

.c_question-support__image-item {
    display: inline-block;
    vertical-align: text-top;
    width: 30%
}

.c_question-support__notes {
    width: 100%;
    display: block;
    margin: 0 15% 0 auto;
    padding: 2%;
    text-align: left
}

.winSP .c_question-support {
    width: 100%
}

.winSP .c_question-support__title-advance {
    left: 0
}

.winSP .c_question-support__title {
    font-size: 2.4rem
}

.winSP .c_question-support__image-item {
    width: 49%
}

.c_course {
    font-size: 1.6rem
}

.c_course__info {
    display: flex;
    gap: 80px
}

.c_course__column {
    position: relative;
    width: 50%
}

.c_course__column-cross {
    text-align: center;
    width: 80px;
    margin: 10px auto
}

.c_course__column:nth-child(2)::before {
    content: "";
    background: url(../images/ico_cross_01.png) no-repeat top center/contain;
    position: absolute;
    width: 60px;
    height: 60px;
    top: 50%;
    left: -70px;
    transform: translateY(-50%)
}

.c_course__image {
    position: relative;
    margin-top: 25px
}

.c_course__point {
    color: #f27d00;
    font-size: 2.4rem;
    font-weight: bold;
    margin-bottom: .4em
}

.c_course__mark {
    margin-bottom: .4em
}

.c_course__txt {
    line-height: 1.8;
    text-align: justify
}

.c_course__teacher {
    margin-top: 40px
}

.c_course__teacher-title {
    margin-bottom: .4em;
    font-size: 2.4rem;
    font-weight: bold
}

.c_course__teacher__profile {
    margin-bottom: .4em;
    font-size: 1.4rem
}

.c_course__teacher-image {
    float: left;
    margin-right: 10px;
    margin-bottom: 10px
}

.c_course__link-banner {
    display: flex;
    margin-top: 20px;
    justify-content: space-between;
    margin-bottom: 20px;
    gap: 10px
}

.c_course__link-item {
    width: 50%
}

.c_course__annotation {
    font-size: 1.4rem
}

.c_course.is_hikaku .c_course__point {
    color: #1f529d
}

.c_course.is_hikaku .c_course__column:nth-child(2)::before {
    background: url(../images/ico_cross_02.png) no-repeat top center/contain
}

.c_course__btn {
    margin-top: 20px
}

.course-toggle-btn-wrap {
    background: #e4e4e4;
    padding: 15px
}

.course-toggle-btn {
    width: 100%;
    max-width: 490px;
    background: linear-gradient(#4a4a4a, #010101);
    padding: 15px;
    margin: 0 auto;
    border-radius: 30px;
    color: #fff;
    text-align: center;
    font-weight: bold;
    font-size: 1.6rem;
    cursor: pointer
}

.course-toggle-btn .open,
.course-toggle-btn .close {
    position: relative;
    padding-right: 20px
}

.course-toggle-btn .open::after,
.course-toggle-btn .close::after {
    width: 20px;
    height: 20px;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    position: absolute;
    background-size: contain;
    content: ""
}

.course-toggle-btn .open {
    font-weight: bold;
    display: block
}

.course-toggle-btn .open::after {
    background-image: url(../images/ico_open.png)
}

.course-toggle-btn .close {
    font-weight: bold;
    display: none
}

.course-toggle-btn .close::after {
    background-image: url(../images/ico_close.png)
}

.course-toggle-btn.selected .open {
    display: none
}

.course-toggle-btn.selected .close {
    display: block
}

.winSP .c_course {
    display: block
}

.winSP .c_course__info {
    flex-direction: column
}

.winSP .c_course__column {
    width: 100%;
    padding-right: 0
}

.winSP .c_course__point {
    font-size: 2rem
}

.winSP .c_course__column:nth-child(2)::before {
    top: -70px;
    left: 50%;
    transform: translateX(-50%)
}

.winSP .c_course__teacher-title {
    font-size: 2rem
}

.winSP .course_text_box {
    display: block;
    padding: 60px 10px 10px
}

.winSP .course_text_box.bgcolWhite {
    padding: 30px 10px 10px
}

.winSP .course_text_box .ttl {
    width: 100%
}

.winSP .course_text .box_wrap2 .box2 div:nth-child(1) {
    flex: 0 0 35%;
    margin-right: 15px
}

.winSP .course_text .bgcolLLBlue .box_wrap2 .box2:last-child {
    display: block
}

.winSP .c_course__btn {
    padding: 2%;
    font-size: 3vw
}

.c_btn {
    width: 100%;
    position: relative;
    display: inline-block;
    padding: .5rem 1rem;
    background-color: #fe6309;
    color: #fff !important;
    text-decoration: none;
    border-radius: 4px;
    font-size: 1.6rem;
    transition: background-color .3s ease
}

.c_btn:active,
.c_btn:link,
.c_btn:visited {
    color: #fff;
    text-decoration: none
}

.c_btn:hover {
    background-color: rgb(211.1417004049, 78.1052631579, .8582995951)
}

.c_btn::after {
    color: #fff;
    content: "";
    font-family: iconset;
    line-height: 1;
    font-size: 20px;
    font-size: 2rem;
    margin: auto;
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.c_btn2 {
    width: 100%;
    padding: .4em .8em;
    border: 1px solid #7ed3c6;
    border-radius: 3px;
    background: #35b3a0;
    box-shadow: 0 0 0 1px #2d9182;
    font-weight: bold;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .4em
}

.c_btn2:active,
.c_btn2:link,
.c_btn2:visited {
    color: #fff;
    text-decoration: none
}

.c_btn2:hover {
    background: #319e8d
}

.c_btn2.is_book::before {
    display: block;
    width: 1em;
    height: 1em;
    content: "";
    background: url(../images/ico_book.png) no-repeat center/contain
}

.c_btn2.is_arrow::after {
    display: block;
    width: .6em;
    height: .6em;
    content: "";
    background: url(../images/img_arr01.png) no-repeat center/contain
}

.c_btn3 {
    display: inline-block;
    width: 100%;
    text-align: center;
    display: block;
    position: relative;
    border: 1px solid #7898c7;
    border-radius: 5px;
    padding: 4%;
    background: #7898c7;
    box-shadow: 0px 0px 5px #fffde7 inset;
    font-size: 20px;
    font-size: 2rem
}

.c_btn3:active,
.c_btn3:link,
.c_btn3:visited {
    color: #fff;
    text-decoration: none
}

.c_btn3:hover {
    text-decoration: none;
    background: #586f91;
    box-shadow: 0px 0px 5px #d8d39e inset
}

.c_btn3::after {
    content: "";
    width: 10px;
    height: 10px;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%) rotate(45deg)
}

.btn_app {
    display: flex;
    gap: 10px
}

.btn_app a {
    display: block;
    position: relative;
    padding: 1em 3em;
    background: #1f325e;
    box-shadow: 0 2px 2px rgba(0, 0, 0, .2), 0 -14px 10px -5px #121c33 inset;
    font-size: 12px;
    font-size: 1.2rem;
    color: #fff;
    text-align: center
}

.btn_app a:after {
    content: "";
    width: 8px;
    height: 8px;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    position: absolute;
    top: 50%;
    left: 10px;
    transform: translateY(-50%) rotate(45deg)
}

.btn_app a:hover {
    text-decoration: none;
    background: #121c33;
    box-shadow: 0 -14px 10px -5px #1f325e inset
}

.winSP .btn_app {
    flex-direction: column;
    width: 80%;
    margin: 0 auto
}

.main-area {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: url(../../image/2024_03/bg_main.png);
    border-bottom: #274580 solid 2px
}

.main-area .inner {
    position: relative;
    max-width: 1200px !important;
    width: 100%;
    margin: 0 auto;
    min-width: 980px
}

.main-area .title {
    margin: 0 auto;
    width: 100%;
    text-align: center
}

.main-area .btn-faq {
    position: absolute;
    top: 2%;
    right: 20px
}

.main-visual_voice {
    position: absolute;
    z-index: 1;
    top: 11%;
    right: 20px;
    border: 1px solid #0ca098;
    border-radius: 4px;
    text-align: center;
    background: #fff;
    font-size: 1.2rem
}

.main-visual_voice:hover {
    background: linear-gradient(to top, #0ca098 40%, rgb(255, 255, 255) 12%)
}

.main-visual_voice a {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .2em;
    color: #0ca098;
    width: 100%;
    padding: .4em .8em;
    text-decoration: none !important;
    line-height: 1
}

.main-visual_voice a::before {
    font-family: pageico !important;
    font-size: .8em;
    color: #0ca098;
    content: "";
    position: absolute;
    bottom: 24%;
    left: 13%;
    transform: rotate(90deg)
}

.main-visual_voice a:hover,
.main-visual_voice a:hover:before {
    color: #fff
}

.main-visual_voice a span {
    font-weight: bold;
    line-height: 1.3
}

.main-visual_voice a img {
    display: inline-block;
    width: 80%
}

.main-area__campaign-detail {
    position: absolute;
    bottom: 11%;
    right: 20px;
    font-size: 1.6rem
}

.winSP .main-visual_voice {
    font-size: 3vw;
    top: 5%;
    right: 10px
}

.winSP .main-visual_voice a {
    flex-direction: row;
    position: relative
}

.winSP .main-visual_voice a::before {
    position: relative;
    left: inherit
}

.winSP .main-visual_voice a img {
    display: none
}

.winSP .main-area {
    height: auto
}

.winSP .main-area .title img {
    max-width: none;
    position: static;
    width: 100%;
    margin-left: 0
}

.winSP .main-area .inner {
    min-width: inherit
}

.winSP .main-area .btn-faq {
    width: 32%;
    top: 0;
    right: 10px
}

.winSP .main-area {
    height: auto
}

.winSP .main-area .title img {
    max-width: none;
    width: 100%;
    margin-left: 0
}

.winSP .main-area .btn_app {
    width: 38%;
    top: 67%;
    left: 20%
}

.winSP .main-area__campaign-detail {
    position: relative;
    margin-bottom: 10px;
    right: inherit
}

.copyrightText {
    font-size: 12px;
    font-size: 1.2rem;
    width: 100%;
    max-width: 1024px;
    margin: 150px auto 0
}

.winSP .copyrightText {
    font-size: 3;
    width: 95%;
    margin: 50px auto 0
}

#nav.fixed {
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 10
}

.anchor-area {
    padding: 8px 0;
    background-color: #fff
}

.anchor-nav {
    display: flex;
    justify-content: space-between
}

.anchor-nav li {
    width: 12%;
    word-spacing: normal;
    vertical-align: top
}

.anchor-nav li a {
    height: 5em;
    display: block;
    position: relative;
    line-height: 1.3;
    background-color: #274580;
    border-radius: 6px
}

.anchor-nav li a:after {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    background: url(../images/img_arr01.png) no-repeat left top/contain;
    position: absolute;
    bottom: 5%;
    left: 50%;
    transform: translateX(-50%)
}

.anchor-nav li a:hover:after {
    bottom: 0;
    transition: .3s
}

.anchor-nav li a .name {
    font-weight: bold;
    color: #fff;
    font-size: 12px;
    font-size: 1.2rem;
    display: inline-block;
    width: 100%;
    position: absolute;
    top: 48%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    text-align: center
}

.anchor-nav li a .main_name {
    font-weight: bold;
    font-size: 16px;
    font-size: 1.6rem
}

.winSP .anchor-area {
    position: static;
    padding: 8px 0
}

.winSP .anchor-nav {
    display: flex;
    width: 100%;
    text-align: center;
    position: relative;
    flex-wrap: wrap
}

.winSP .anchor-nav li {
    width: 24%;
    margin: .5%
}

.winSP .anchor-nav li a {
    display: block;
    height: 4rem;
    padding: 5px
}

.winSP .anchor-nav li a .name {
    font-size: 2.2vw;
    font-weight: normal;
    line-height: 1
}

.winSP .anchor-nav li:first-child {
    border-left: none
}

.winSP .anchor-nav li br {
    display: none
}

.winSP .anchor-nav li a::after {
    width: 11px;
    height: 7px;
    top: 78%
}

.c_pdf {
    display: inline-block;
    text-align: left;
    position: relative;
    display: inline-block;
    padding-left: 20px;
    color: #000 !important
}

.c_pdf:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 16px;
    height: 16px;
    content: "";
    background: url(../images/ico-pdf.png)
}

#sharoshi-teach .title_are {
    font-size: 1.6rem;
    max-width: 1024px;
    margin: 0 auto;
    padding: 0
}

#sharoshi-teach .title_are h2 {
    padding: 0
}

#sharoshi-teach .title_are p {
    padding: .5% 1%;
    background: #f2f2f2
}

.c_curriculum-title {
    font-size: 4.8rem;
    font-weight: bold;
    color: #f27d00;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .2em;
    margin-bottom: .8em
}

.c_curriculum-icon {
    width: 70px
}

.c_curriculum-icon path {
    fill: #f27d00
}

.c_curriculum-box {
    padding: 20px 0
}

.c_curriculum-box.is_gray {
    padding: 20px;
    background: #f8f8f8;
    border: 1px solid #e4e4e4
}

.c_curriculum-box.is_blue {
    padding: 20px;
    background: #f3f8fc;
    border: 1px solid #c5d6ea
}

.c_curriculum-box-title {
    color: #124885;
    font-size: 2rem;
    padding: 0 20px;
    font-weight: bold;
    margin-bottom: .8em
}

.c_curriculum-row {
    display: flex;
    flex-wrap: wrap;
    font-size: 1.4rem
}

.c_curriculum-col {
    width: 50%;
    padding: 0 20px;
    position: relative
}

.c_curriculum-col.web:before {
    position: absolute;
    top: 50%;
    left: -12%;
    transform: translateY(-50%);
    display: block;
    width: 70px;
    height: 70px;
    content: "";
    background: url(../../image/2024_03/ico_cross_02.png) no-repeat top center/contain
}

.c_curriculum-sub-title {
    margin-top: 40px;
    font-weight: bold;
    font-size: 2rem;
    color: #124885;
    padding: 15px 20px;
    display: flex;
    align-items: center
}

.c_curriculum-sub-title._col01 {
    border-top: 2px solid #f27d00;
    background: #fef2e5
}

.c_curriculum-sub-title._col02 {
    border-top: 2px solid #f27d00;
    background: #fbd8b2
}

.c_curriculum-sub-title .time {
    background: #fff;
    color: #222;
    font-weight: bold;
    font-size: 1.6rem;
    display: inline-block;
    padding: 5px 10px;
    border-radius: 5px;
    margin-left: 60px
}

.c_curriculum-note {
    font-size: 1.4rem;
    margin-bottom: 40px;
    text-align: justify
}

.c_curriculum.is_hikaku .c_curriculum-title {
    color: #1f529d
}

.c_curriculum.is_hikaku .c_curriculum-icon path {
    fill: #1f529d
}

.c_curriculum.is_hikaku .c_curriculum-sub-title._col01 {
    border-top: 2px solid #1f529d;
    background: #f2f7ff
}

.c_curriculum.is_hikaku .c_curriculum-sub-title._col02 {
    border-top: 2px solid #1f529d;
    background: #deeafd
}

.winSP .c_curriculum-sub-title {
    font-size: 5vw;
    padding: 15px 10px;
    display: flex;
    flex-direction: column
}

.winSP .c_curriculum-sub-title .time {
    font-size: 3vw;
    margin-left: 0
}

.winSP .c_curriculum-title {
    font-size: 7vw
}

.winSP .c_curriculum-title .img {
    width: 20%
}

.winSP .c_curriculum-box-title {
    padding: 0
}

.winSP .c_curriculum-icon {
    width: 40px
}

.winSP .c_curriculum-row {
    gap: 20px
}

.winSP .c_curriculum-col {
    flex: 1;
    padding: 0
}

.winSP .c_curriculum-col.web:before {
    top: 20%;
    left: -20px;
    display: block;
    width: 20px;
    height: 20px
}

.c_curriculum-book {
    display: flex;
    gap: 20px
}

.c_curriculum-book__img {
    width: 152px;
    flex: none;
    text-align: center
}

.c_curriculum-book__img.is_wide {
    width: 240px
}

.c_curriculum-book__ttl {
    font-weight: bold
}

.c_curriculum-book__ttl>span {
    font-weight: normal
}

.c_curriculum-book__txt {
    text-align: justify
}

.winSP .c_curriculum-book__img {
    width: 100%
}

.winSP .c_curriculum-book {
    flex-direction: column
}

.top_box_tex {
    display: grid
}

.top_box_tex .icon_box {
    grid-row: 1/3;
    grid-template-columns: 115px 1fr
}

.top_box_tex .sub_ttl {
    grid-row: 1/2;
    grid-column: 2/3;
    font-size: 18px;
    font-weight: bold
}

.top_box_tex .main_ttl {
    grid-row: 2/3;
    grid-column: 2/3;
    font-weight: bold;
    font-size: 28px
}

.label_R {
    display: inline-block;
    padding: 10px;
    background: #eb1d31;
    color: #fff;
    text-align: center;
    width: 115px;
    padding: 5px;
    margin: 2px 5px;
    font-size: 14px;
    box-sizing: border-box;
    font-weight: bold;
    border: solid 2px #eb1d31
}

.label_W {
    display: inline-block;
    border: #eb1d31;
    border: solid 2px #eb1d31;
    color: #eb1d31;
    text-align: center;
    padding: 5px;
    margin: 0 10px;
    box-sizing: border-box;
    font-size: 14px;
    font-weight: bold
}

#feat-option .option_lineup {
    background-color: #fff6f6;
    border-top: dashed 1px #000;
    padding: 10px 0
}

#feat-option .option_lineup .box {
    display: inline-block;
    vertical-align: top;
    margin: 15px 0;
    padding: 0
}

#feat-option .option_lineup .box:nth-child(2n+1) {
    width: 48%;
    margin-right: 1%
}

#feat-option .option_lineup .box:nth-child(2n) {
    width: 48%;
    margin-left: 1%
}

#feat-option .option_lineup .box .option-cont {
    position: relative;
    border: 1px solid #005196;
    background-color: #fff
}

#feat-option .option_lineup .box .option-cont dt {
    margin: 0 15px;
    padding: 50px 0 0 10px
}

#feat-option .option_lineup .box .option-cont dt img {
    position: absolute;
    top: 1px;
    left: 1px
}

#feat-option .option_lineup .box .option-cont dt strong {
    line-height: 1.2;
    font-size: 30px;
    font-size: 3rem
}

#feat-option .option_lineup .box .option-cont dt strong span {
    width: auto;
    font-size: 20px;
    font-size: 2rem
}

#feat-option .option_lineup .box .option-cont dd {
    margin: 10px 15px;
    padding: 10px;
    border-top: 1px solid #d9d9d9
}

#feat-option .option_lineup .box .option-cont dd.cation {
    padding: 0px 10px;
    border-top: none;
    font-size: 11px;
    font-size: 1.1rem;
    text-align: left
}

#feat-option .option_lineup .box .option-cont dd.cation ul li {
    padding-left: 1em;
    text-indent: -1em
}

#feat-option .option_lineup .box .option-cont dd img {
    display: inline-block;
    width: 25%;
    margin-right: 2%
}

#feat-option .option_lineup .box .option-cont dd .detail {
    display: inline-block;
    width: 70%;
    line-height: 1.6;
    font-size: 14px;
    font-size: 1.4rem;
    text-align: left
}

#feat-option .option_lineup .box .option-cont dd .detail strong.ttl {
    font-size: 23px;
    font-size: 2.3rem
}

#feat-option .option_lineup .box .option-cont dd span img {
    width: auto
}

#feat-option .option_lineup .note p {
    margin-bottom: 10px
}

.winSP #feat-option .option_lineup .box .option-cont dt strong {
    font-size: 2.2rem
}

.winSP #feat-option .option_lineup .box .option-cont dd strong.ttl {
    font-size: 1.8rem
}

.winSP #feat-option .option_lineup .box .option-cont dd p {
    text-align: left
}

.winSP #feat-option .option_lineup .box {
    width: 100%;
    margin-top: 0
}

.winSP #feat-option .option_lineup .box:nth-child(2n) {
    margin-left: 0
}

.winSP #feat-option .option_lineup .box:nth-child(2n+1) {
    margin-right: 0
}

.winSP #feat-option .option_lineup .note p {
    padding-left: 0;
    text-indent: 0
}

.winSP #feat-option .option_lineup .note p img {
    display: block;
    margin-bottom: 5px
}

#feat-option .option_lineup .box .option-cont dt {
    text-align: left;
    color: #005196
}

#feat-option .option_lineup .box .option-cont dt strong {
    display: inline-block;
    margin-bottom: 10px;
    font-size: 2.4rem
}

#feat-option .option_lineup .box .option-cont dt li {
    font-size: 1.3rem
}

#feat-option .option_lineup .box .option-cont dd .img {
    float: left;
    width: 140px;
    margin: 0 15px 15px 0
}

#feat-option .option_lineup .box .option-cont dd .img img {
    width: 100%
}

#feat-option .option_lineup .box .option-cont dd .detail {
    display: inline;
    width: 100%;
    line-height: 1.6;
    font-size: 16px;
    font-size: 1.6rem;
    text-align: left
}

#feat-option .option_lineup .option_lineup-box03 {
    border: 1px solid #005196;
    background-color: #fff;
    padding: 30px 20px
}

#feat-option .option_lineup .option_lineup-box03 .ttl-wrap {
    text-align: left;
    padding: 0 0 20px;
    color: #005196
}

#feat-option .option_lineup .option_lineup-box03 .ttl-wrap h3 {
    font-size: 2.6rem;
    font-weight: bold
}

#feat-option .option_lineup .option_lineup-box03 .ttl-wrap h3 span {
    font-size: 2rem;
    font-weight: bold
}

#feat-option .option_lineup .option_lineup-box03 .ttl-wrap p {
    font-size: 1.4rem
}

#feat-option .option_lineup .option_lineup-box03 .cont {
    border-top: 1px solid #d9d9d9;
    display: flex;
    padding: 10px
}

#feat-option .option_lineup .option_lineup-box03 .cont .img01 {
    flex: 0 0 47%
}

#feat-option .option_lineup .option_lineup-box03 .cont .img01+div {
    padding: 0 0 0 30px
}

#feat-option .option_lineup .option_lineup-box03 .cont p {
    text-align: left;
    font-size: 1.6rem;
    margin-bottom: 20px
}

#feat-option .option_lineup .option_lineup-box03 .cont p .num {
    font-size: 3rem
}

#feat-option .option_lineup .option_lineup-box03 .cont p .lead {
    font-size: 3rem;
    font-weight: bold
}

#feat-option .option_lineup .option_lineup-box03 .cont .img {
    text-align: left
}

.winSP #feat-option .option_lineup .option_lineup-box03 {
    padding: 15px 10px
}

.winSP #feat-option .option_lineup .option_lineup-box03 .ttl-wrap h3 {
    font-size: 2rem;
    font-weight: bold
}

.winSP #feat-option .option_lineup .option_lineup-box03 .ttl-wrap p {
    font-size: 1.2rem
}

.winSP #feat-option .option_lineup .option_lineup-box03 .cont {
    display: block
}

.winSP #feat-option .option_lineup .option_lineup-box03 .cont .img01+div {
    padding: 25px 0 0
}

.winSP #feat-option .option_lineup .option_lineup-box03 .cont p .lead {
    font-size: 2rem;
    font-weight: bold
}

.balloon_text-top {
    position: relative;
    display: inline-block;
    margin: 1.5em 0;
    padding: 7px 10px;
    max-width: 100%;
    color: #555;
    font-size: 16px;
    background: #90dbcd;
    border: solid 3px #53a79f;
    box-sizing: border-box;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px
}

.balloon_text-top:before {
    content: "";
    position: absolute;
    top: -24px;
    left: 10%;
    margin-left: -15px;
    border: 12px solid rgba(0, 0, 0, 0);
    border-bottom: 12px solid #90dbcd;
    z-index: 2
}

.balloon_text-top:after {
    content: "";
    position: absolute;
    top: -30px;
    left: 10%;
    margin-left: -17px;
    border: 14px solid rgba(0, 0, 0, 0);
    border-bottom: 14px solid #53a79f;
    z-index: 1
}

.balloon_text-top .inner_box {
    margin: 0;
    padding: 2%;
    font-size: 0;
    display: inline-block
}

.balloon_text-top .text_data {
    display: inline-block;
    margin: 0;
    padding: 0;
    font-size: 0;
    width: 90%;
    vertical-align: middle
}

.balloon_text-top .ico_img {
    display: inline-block;
    margin: 0 2.8% 0 0;
    padding: 0;
    font-size: 0;
    width: 7.2%;
    vertical-align: middle
}

.balloon_text-top .text_data p.textp {
    margin: 0;
    padding: 0;
    font-size: 14px;
    font-size: 1.4rem
}

.balloon_text-top .text_data ul {
    list-style: none
}

.balloon_text-top .text_data ul li {
    padding-left: 1em;
    text-indent: -1em;
    font-size: 14px;
    font-size: 1.4rem
}

.price-campaign01 {
    position: relative;
    padding: 40px;
    background-color: #fffef2;
    border: dashed 1px #000
}

.colPNK {
    color: #e94670
}

.bold {
    font-weight: bold
}

.fontL {
    font-size: 16px;
    font-size: 1.6rem
}

.spt10 {
    padding-top: 10px
}

.tcenter {
    text-align: center
}

.none {
    display: none
}

.limited_t {
    margin: 0 auto;
    padding: 0 10px;
    text-align: center;
    background: #1d376b;
    width: 30%;
    color: #fff;
    font-size: 24px;
    font-size: 2.4rem
}

.price-list {
    padding: 0px 0;
    text-align: center
}

.price-list li {
    display: inline-block;
    width: 32%;
    margin: 0 .5% 15px .5%;
    vertical-align: top
}

.price-list li:first-child {
    width: 32.5%;
    margin: 0 .5% 15px 0
}

.price-list li:last-child {
    width: 32.5%;
    margin: 0 0 15px .5%
}

.price-campaign01 .price-list li dl {
    border-bottom: 2px solid #f36a84;
    position: relative
}

.price-campaign01 .price-list li.course-cddvd dl {
    border-color: #f36a84
}

.price-campaign01 .price-list li.course-cd dl {
    border-color: #259bf4
}

.price-campaign01 .price-list li.course-dvd dl {
    border-color: #18c3cd
}

.price-campaign01 .price-list li.new dl:before {
    content: "";
    background: url(../../image/2024_03/ico_new.png) no-repeat top center/contain;
    width: 55px;
    height: 100px;
    position: absolute;
    top: -25px;
    left: 0
}

.price_off {
    margin-bottom: 1em;
    position: relative
}

.price_off::after {
    content: "";
    position: absolute;
    bottom: -15px;
    left: 0;
    width: 100%;
    height: 16px;
    background: url(../../image/2020/arrow_under.png) no-repeat;
    background-position: bottom center
}

.price_off .box {
    font-size: 26px;
    background: #fdff5d;
    padding: 0 5px;
    font-style: italic;
    font-weight: bold
}

.price_o-price {
    color: #cc111a;
    text-decoration: line-through;
    font-style: italic;
    font-size: 16px;
    font-size: 1.6rem
}

.fullpack_price {
    color: #cc111a;
    font-weight: bold;
    font-style: italic
}

.fullpack_price>span {
    font-weight: bold;
    font-style: italic;
    font-size: 40px !important;
    font-size: 4rem !important
}

.price_off-price {
    padding: 10px;
    background-color: #fff;
    font-size: 16px
}

.price_off-price span.fullpack {
    display: block;
    font-size: 1.6rem;
    font-size: 16px;
    padding: 15px 0 0;
    font-weight: bold;
    transform: skew(-10deg)
}

.price-list ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    width: 100%
}

.price-list li {
    flex: auto
}

.price-list li dl dd .fullpack:not(.fullpack) {
    font-weight: bold;
    font-size: 26px;
    font-size: 2.6rem;
    display: block;
    transform: skewX(-10deg)
}

.price-campaign01 .price-list li dl dd {
    border-left: 2px solid #f36a84;
    border-right: 2px solid #f36a84
}

.price-campaign01 .price-list li.course-cddvd dl dd {
    border-color: #f36a84
}

.price-campaign01 .price-list li.course-cd dl dd {
    border-color: #259bf4
}

.price-campaign01 .price-list li.course-dvd dl dd {
    border-color: #18c3cd
}

.price-list li dl dd.list-course {
    padding: 15px 0
}

.price-campaign01 .price-list li dl .list-course {
    border-top: 2px solid #f36a84
}

.price-campaign01 .price-list li.course-cddvd dl .list-course {
    background-color: #f36a84;
    border-color: #f36a84
}

.price-campaign01 .price-list li.course-cd dl .list-course {
    background-color: #259bf4;
    border-color: #259bf4
}

.price-campaign01 .price-list li.course-dvd dl .list-course {
    background-color: #18c3cd;
    border-color: #18c3cd
}

.course_name {
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #fff;
    font-size: 28px;
    font-style: italic;
    font-weight: bold;
    line-height: 1
}

.course_name p {
    font-style: italic;
    font-weight: bold;
    position: relative
}

.campaign_img {
    margin: 30px 0;
    text-align: center
}

.price-campaign01 .campaign_period {
    margin: 0 auto;
    padding: 0;
    text-align: center
}

.price-campaign01 .campaign_app_img {
    margin: 0 auto;
    padding: 0;
    text-align: center
}

.part_ttl {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    padding: 20px 0 0;
    font-size: 38px;
    line-height: 1.5;
    z-index: 1
}

.part_ttl img {
    margin: 0 10px
}

.part_ttl .point_img {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2
}

.part_ttl .fc_c {
    color: #f42547
}

.text_red {
    color: #e7000d;
    font-size: 14px;
    margin: 0;
    padding: 0
}

.campaign03_s h4 {
    position: relative;
    font-size: 34px
}

.play_wrap {
    max-width: 750px;
    margin: auto;
    border-top: solid 1px #333;
    border-bottom: solid 1px #333;
    padding: 2rem 1rem
}

.play_wrap:last-child {
    border-top: none
}

.p_box {
    padding-left: 45px
}

.f_box {
    display: flex;
    justify-content: space-around;
    align-items: center;
    max-width: 660px;
    position: relative
}

.f_box:after {
    content: "";
    display: inline-block;
    width: 45px;
    height: 100%;
    background: url(../../image/2020/icon_book.png) no-repeat left center;
    position: absolute;
    top: 50%;
    left: -45px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.p_icon {
    font-size: 13px;
    padding: 3px 10px;
    background: #f42547;
    color: #fff;
    border-radius: 2px;
    font-weight: bold
}

.download {
    max-width: 800px;
    margin: auto;
    background: #e9f7ff;
    border: solid 3px #1d376b;
    box-sizing: border-box
}

.download h3 {
    width: 100%;
    padding: 1rem;
    background: #1d376b;
    color: #fff;
    text-align: center;
    font-size: 28px
}

.download h3 span {
    display: block;
    color: #fffc00
}

.download ul {
    padding: 40px;
    line-height: 1.6
}

.form_area {
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 20px auto;
    max-width: 700px
}

.input_area {
    width: 200px
}

.js-input_button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 242px;
    height: 40px;
    background: url(../../image/2020/js-input_button.png) no-repeat;
    font-weight: bold;
    font-size: 14px
}

.winSP .price-campaign01 {
    padding: 20px
}

.winSP .price-list ul {
    flex-direction: column
}

.winSP .price-list li {
    width: 100%
}

.winSP .course_name {
    font-size: 2.4rem
}

.voice_inner {
    max-width: 1024px;
    margin: 0 auto
}

.voice_inner h3 {
    color: #fff;
    background: #16a791;
    border-top-left-radius: 30px;
    border-top-right-radius: 30px
}

.voice_container {
    border-right: solid 1px #e4e4e4;
    border-left: solid 1px #e4e4e4;
    border-bottom: solid 1px #e4e4e4
}

.voice_btn_area {
    width: 100%;
    background: #e4e4e4;
    padding: 20px
}

.voice_open_btn {
    margin: auto
}

.voice_intro {
    font-size: 1.8rem;
    padding: 40px 0 10px 0;
    text-align: center
}

.voice_intro__ttl {
    font-weight: bold
}

.voice_intro__annotation {
    margin-top: .8em;
    font-size: 1.2rem
}

.open_btn {
    height: 0;
    padding-top: 51px;
    overflow: hidden;
    background-image: url("../images/voice_click.png");
    background-repeat: no-repeat;
    background-position: center
}

.open_btn.selected {
    background-image: url("../images/voice_close.png");
    background-repeat: no-repeat;
    background-position: center
}

.winSP .sub-block-voice h3 {
    font-size: 2.4rem
}

.sub-block-voice .inner {
    width: 100%;
    margin: 0 auto;
    min-width: auto;
    background-color: #fff
}

.sub-block-voice h3 {
    font-size: 3.6em;
    font-weight: bold;
    text-align: center
}

.sub-block-voice h3>span {
    font-size: 60%
}

.sub-block-voice h3+p {
    font-size: 1.2em
}

.sub-block-voice h3 img {
    vertical-align: bottom;
    display: inline-block;
    margin-bottom: 5px
}

.sub-block-voice .voice_box {
    display: flex;
    border-top: 2px solid #16a791;
    line-height: 1.8;
    margin-top: 20px;
    text-align: justify
}

.sub-block-voice .voice_box .left_box {
    width: 17%;
    margin-top: 15px;
    padding: 20px calc((17% - 97px)/2);
    position: relative
}

.sub-block-voice .voice_box.first_pass .left_box:after {
    background: url("../../image/2024_05/ico_gokaku02.png") no-repeat
}

.voice_box__thumb {
    position: relative
}

.voice_box__thumb::after {
    content: "";
    width: 50px;
    height: 100%;
    background: url("../../image/2024_05/ico_gokaku01.png") no-repeat;
    display: inline-block;
    position: absolute;
    top: -20px;
    left: -20px
}

.sub-block-voice .voice_box .right_box {
    float: right;
    width: 83%;
    padding: 25px
}

.winSP .sub-block-voice .voice_box {
    flex-direction: column;
    align-items: center
}

.winSP .sub-block-voice .voice_box .left_box {
    width: 50%;
    display: flex;
    justify-content: center
}

.winSP .sub-block-voice .voice_box .right_box {
    width: 100%
}

.sharoshi-faq {
    padding-top: 40px;
    border-top: 8px solid #16a791
}

.sharoshi-faq h3.title {
    font-size: 42px;
    font-size: 4.2rem;
    font-weight: bold;
    text-align: center;
    color: #16a791;
    margin-bottom: .8em
}

.faq-list {
    border-bottom: 1px solid #404f84;
    margin-top: 30px
}

.faq-list dt {
    border-top: 1px solid #404f84;
    position: relative;
    cursor: pointer;
    color: #0067b5;
    font-weight: bold;
    padding: 8px 90px 8px 48px;
    font-size: 18px;
    font-size: 1.8rem
}

.faq-list dt i {
    position: absolute;
    width: 25px;
    height: 25px;
    top: 8px;
    left: 12px
}

.faq-list dd {
    font-size: 14px;
    font-size: 1.4rem;
    border-top: 1px solid #404f84;
    position: relative
}

.faq-list dd i {
    position: absolute;
    width: 25px;
    height: 25px;
    top: 20px;
    left: 33px
}

.faq-list dd .txt {
    margin: 8px 0 15px;
    padding: 15px 10px 15px 65px;
    background-color: #edf7ff;
    color: #0067b5
}

.sharoshi-faq .faq_accordion p {
    font-size: 18px;
    background: url(../images/bt_open.png) no-repeat;
    background-position: right;
    padding-right: 100px
}

.sharoshi-faq .faq_accordion p.open {
    background: url(../images/bt_close.png) no-repeat;
    background-position: center right
}

.sharoshi-faq .faq_accordion {
    background: #fff;
    padding: 30px 28px;
    margin-bottom: 30px;
    border-radius: 16px;
    border: solid 1px #eaeaea
}

.sharoshi-faq .faq_accordion p span {
    color: #16a791;
    font-size: 20px;
    font-weight: bold
}

.sharoshi-faq .faq_accordion .ac_wrap {
    border-top: solid 1px #e4e4e4;
    margin-top: 10px
}

.sharoshi-faq .faq_accordion .accordion-nav {
    font-size: 16px;
    padding-top: 20px;
    margin: 20px;
    margin-top: 0
}

.sharoshi-faq .faq_accordion .accordion-nav li {
    position: relative;
    text-indent: -1em
}

.sharoshi-faq .faq_accordion .accordion-nav li::before {
    content: "A.";
    color: #16a791;
    font-size: 20px;
    font-weight: bold
}

.winSP .sharoshi-faq {
    border-top-width: 5px
}

.winSP .sharoshi-faq h3.title {
    font-size: 24px;
    font-size: 2.4rem
}

.winSP .sharoshi-faq h2 {
    text-align: center
}

.winSP .sharoshi-faq .faq_accordion {
    margin-bottom: 10px
}

.winSP .sharoshi-faq .faq_accordion p {
    padding-right: 30%;
    font-size: 1.6rem
}

.kiyaku {
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center
}

.apply-notes {
    font-size: 14px;
    font-size: 1.4rem
}

.apply-notes .btn {
    width: 30%;
    margin: 0 0 0 auto
}

.apply-notes .title-bar {
    background-color: #c00
}

#sharoshi-feature .subttl {
    text-align: center
}

#sharoshi-feature .subttl .sub_txt {
    font-size: 22px;
    font-size: 2.2rem;
    vertical-align: middle
}

#sharoshi-feature .subttl .main_txt,
#sharoshi-feature .subttl .main_txt .y_line {
    font-size: 44px;
    font-size: 4.4rem
}

#sharoshi-feature .subttl.top {
    color: #1d376b;
    display: inline-block;
    position: relative;
    margin-top: 80px
}

#sharoshi-feature .subttl.btm {
    color: #1d376b;
    display: inline-block;
    position: relative;
    margin-bottom: 50px
}

.bottom_arrow .subttl.top:after {
    content: "";
    display: block;
    width: 153px;
    height: 44px;
    background: url(../../image/2020/img_arr02.png) no-repeat left top/contain;
    position: absolute;
    top: -60px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

.bottom_arrow .subttl.btm:after {
    content: "";
    display: block;
    width: 153px;
    height: 44px;
    background: url(../../image/2020/img_arr02.png) no-repeat left bottom/contain;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

#sharoshi-feature .subttl.bold .sub_txt {
    font-size: 30px;
    font-size: 3rem
}

#sharoshi-feature .subttl.bold .main_txt .p_line {
    font-size: 60px;
    font-size: 6rem
}

#sharoshi-feature .subttl_text {
    color: #1d376b;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
    margin: 10px auto;
    padding: 0
}

#sharoshi-feature .section {
    padding-bottom: 0
}

.winSP .bottom_arrow .subttl.top::after,
.winSP .bottom_arrow .subttl.btm::after {
    width: 90px
}

#teach-profile {
    margin-top: 15px;
    background: #d0f5e9;
    position: relative;
    font-size: 0
}

#teach-profile:after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20px 20px 0 20px;
    border-color: #fff rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
    margin-left: -20px
}

.teach-profile {
    display: inline-block;
    width: 50%;
    margin-top: 30px;
    vertical-align: top
}

.teach-profile .thum {
    display: inline-block;
    vertical-align: top;
    width: 40%;
    padding: 2%;
    text-align: center
}

.teach-profile .thum span {
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: bold
}

.teach-profile .thum .name_main {
    font-size: 22px;
    font-size: 2.2rem;
    font-weight: normal
}

.teach-profile .thum .cate {
    background: #cf1118;
    color: #fff;
    display: block
}

.teach-profile .txt {
    display: inline-block;
    width: 58%;
    padding: 2%;
    font-size: 1.4rem;
    line-height: 1.6
}

.teach-profile .txt p {
    margin: 5%;
    min-height: 225px
}

.winSP .teach-profile {
    margin-top: 20px;
    width: 100%;
    display: flex
}

.winSP .teach-profile .thum,
.winSP .teach-profile .txt {
    float: none;
    width: 100%
}

.winSP .teach-profile .thum {
    text-align: center;
    flex: 0 0 40%
}

.winSP .teach-profile .thum img {
    margin-bottom: 0
}

.winSP .teach-profile .thum span {
    font-size: 1.1rem
}

.winSP .teach-profile .thum .name_main {
    font-size: 1.8rem
}

.winSP .teach-profile .txt {
    font-size: 13px;
    font-size: 1.3rem
}

.winSP .teach-profile .txt p {
    min-height: inherit
}

.winSP .teach-profile .name-box {
    font-size: 16px;
    font-size: 1.6rem;
    margin-top: 8px
}

.winSP .teach-profile .name-box .name strong {
    font-size: 28px;
    font-size: 2.8rem
}

.winSP .teach-profile .name-box .name strong span {
    font-size: 14px;
    font-size: 1.4rem
}

.teach-guidebook {
    border: dashed 1px #000
}

.teach-guidebook dl {
    margin: 20px;
    font-size: 0
}

.teach-guidebook dl>* {
    display: inline-block;
    vertical-align: top;
    font-size: 16px;
    font-size: 1.6rem;
    padding: 0 1%
}

.teach-guidebook dl dt {
    display: inline-block;
    width: 18%;
    max-width: 20%
}

.teach-guidebook dl dd:nth-child(2) {
    width: 60%;
    text-align: left
}

.teach-guidebook dl dd:nth-child(3) {
    width: auto;
    text-align: center;
    max-width: 20%
}

.teach-guidebook dl dd h4 {
    font-size: 28px;
    font-size: 2.8rem
}

.teach-section {
    margin-top: 50px
}

.teach-ttl {
    background: #5883a7;
    color: #fff;
    padding: 15px 0;
    text-align: center;
    font-size: 36px;
    font-size: 3.6rem;
    font-weight: bold
}

.teach-ttl span {
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: normal
}

.teach-section .covers {
    font-size: 15px;
    font-size: 1.5rem
}

.course_text {
    padding-bottom: 50px
}

.book_box_wrap {
    margin-bottom: 20px;
    background: #f8f8f8;
    max-width: 900px;
    margin: 0 auto;
    position: relative
}

.book_box_wrap .book-box {
    margin-bottom: 50px
}

.book_box_wrap .book-box:last-child {
    margin-bottom: inherit
}

.teach-section .book-box:after {
    content: "";
    display: table;
    clear: both
}

.medium_box .text_box {
    width: 70%
}

.teach-section .book-box~.book-box {
    margin-top: 50px
}

.teach-section .book-box .title_box {
    display: flex
}

.teach-section .book-box .teach-subtimtl {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 8px;
    background: #1d376b;
    font-size: 28px;
    font-size: 2.8rem;
    font-weight: bold;
    color: #fff
}

.teach-section .book-box .book-box_data,
.teach-section .book-box .book-box_txt {
    margin-top: 15px
}

.teach-section .book-box .book-box_data {
    float: left;
    width: 55%
}

.teach-section .book-box .book-box_data figcaption {
    text-align: right
}

.teach-section .book-box .book-box_txt {
    float: right;
    width: 42%
}

.teach-section .caution {
    color: #06c
}

.teach-section .book-box .book-cathc dt {
    margin-top: 1.5em;
    font-size: 18px;
    font-weight: bold
}

.teach-section .book-box .book-cathc dt:first-child {
    margin-top: inherit
}

.teach-section .book-box .book-cathc dd {
    margin-top: 2px;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.3
}

.teach-section .book-box .book-name {
    font-size: 22px;
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1.3;
    text-align: left;
    letter-spacing: -0.05em
}

.teach-section .book-box .book-subttl {
    font-size: 14px;
    font-size: 1.4rem
}

.teach-section .book-box .book-img {
    text-align: right
}

.teach-section .book-box .book-lead {
    margin: 10px 0
}

.teach-section .book-box .btn_more {
    text-align: center;
    margin: 20px auto
}

.teach-section .btn {
    padding: 0 !important;
    background: none !important;
    text-align: left
}

.teach-section .btn-stage {
    margin-top: 30px;
    text-align: center
}

.teach-section .btn.textbook {
    float: right;
    margin-top: 0;
    padding: 0
}

.open_btn2 {
    height: 0;
    margin: 20px auto;
    padding-top: 35px;
    width: 174px;
    background-image: url("../images/btn_teach-material_open.png");
    background-repeat: no-repeat;
    background-position: center
}

.open_btn2.selected {
    background-image: url("../images/btn_teach-material_close.png");
    background-repeat: no-repeat;
    background-position: center
}

.WinSP .open_btn2 {
    height: 0;
    margin: 20px auto;
    padding-top: 35px;
    width: 174px;
    background-image: url("../images/btn_teach-material_open.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%
}

.WinSP .open_btn2.selected {
    background-image: url("../images/btn_teach-material_close.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%
}

.winSP .open_btn2 {
    height: 0;
    margin: 20px auto;
    padding-top: 35px;
    width: 174px;
    background-image: url("../images/btn_teach-material_open.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%
}

.winSP .open_btn2.selected {
    background-image: url("../images/btn_teach-material_close.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%
}

.feature-catch-area {
    margin-bottom: 40px
}

.feature-catch-area__txt {
    font-size: 1.6rem;
    text-align: justify
}

.feature-catch-area__ttl {
    font-size: 2.4rem;
    color: #1d376b;
    text-align: center;
    margin-bottom: 20px
}

.feature-catch-area .main_txt {
    font-size: 4.4rem
}

.winSP .feature-catch-area .main_txt {
    font-size: 2.4rem
}

.winSP .button {
    font-size: 14px;
    font-size: 1.4rem
}

.winSP .button-list li {
    width: 100%;
    margin-left: 0
}

.winSP .button-list li~li {
    margin-top: 5px
}

.winSP .button.line {
    padding-top: 12px;
    padding-bottom: 12px
}

.winSP .button.line:after {
    font-size: 18px;
    font-size: 1.8rem;
    margin-top: -9px
}

.winSP .button.ico-calendar span,
.winSP .button.ico-pdf span,
.winSP .button.ico-book span {
    padding-left: 20px;
    padding-right: 0
}

.winSP .button.ico-calendar span:before,
.winSP .button.ico-pdf span:before,
.winSP .button.ico-book span:before {
    left: -5px;
    width: 25px;
    height: 25px;
    margin-top: -12px
}

.winSP .button.ico-calendar span:before {
    width: 30px;
    height: 30px;
    margin-top: -15px;
    left: -8px
}

.winSP .btnPNK {
    width: 100%
}

.winSP .title-bar {
    font-size: 20px;
    font-size: 2rem
}

.winSP .title-bar .ttl {
    padding: 12px 0
}

.winSP .title-bar:after {
    bottom: -14px;
    width: 20px;
    margin-left: -10px
}

.winSP .section {
    padding-top: 20px;
    padding-bottom: 20px
}

.winSP .point-list {
    font-size: 14px;
    font-size: 1.4rem
}

.winSP .point-list li {
    margin-top: 10px !important
}

.winSP .btm_text {
    line-height: 1.5
}

.winSP .box_wrap.flbox .box div:first-child {
    margin: 0 11px 0 0
}

.title-line {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    text-align: center;
    margin-bottom: 50px;
    padding: 10px 1%;
    background: #00a33e;
    color: #fff;
    font-size: 28px
}

.title-line::after {
    content: "";
    position: absolute;
    bottom: -19px;
    background: #00a33e;
    height: 20px;
    width: 40px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    display: block
}

.title-line.is-2q {
    background: #45b8d0
}

.title-line.is-2q::after {
    background: #45b8d0
}

.title-line.is-23q {
    background: #1d376b
}

.title-line.is-23q::after {
    background: #1d376b
}

.title-line span {
    font-size: 46px
}

.title-line .fntYLW {
    color: #fffd31
}

.winSP .title-line {
    margin-bottom: 20px;
    font-size: 4vw
}

.winSP .title-line span {
    font-size: 8vw
}

.notes_info02 {
    background: #de0000;
    max-width: 1024px;
    margin: 0 auto;
    border: thin solid #de0000;
    text-align: center;
    font-size: 24px;
    font-size: 2.4rem
}

.notes_info02 h5 {
    padding: 1%;
    color: #fff
}

.notes_info02 p {
    background: #fff;
    padding: 3% 5%;
    color: #000
}

.notes_info02 p {
    position: relative;
    cursor: pointer
}

.notes_info02 p span {
    display: block;
    width: 90%
}

.notes_info02 p:after {
    content: "";
    background-image: url("../images/icon_click.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    width: 155px;
    height: 100%;
    line-height: 400%;
    position: absolute;
    top: 0;
    right: 1%
}

.notes_info02 p.open:after {
    content: "";
    background-image: url("../images/icon_close.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    width: 155px;
    height: 100%;
    line-height: 400%;
    position: absolute;
    top: 0;
    right: 1%
}

.notes_info02 .apply-list_wrap {
    background: #fff;
    padding: 2%;
    border-top: thin solid #de0000
}

.apply-list_wrap h6 {
    margin-bottom: .8em;
    font-size: 2.4rem;
    text-align: center
}

.notes_info02 .apply-list {
    background: #fff;
    color: #000;
    font-size: 14px;
    font-size: 1.4rem;
    text-align: left;
    padding: 2% 0;
    margin-top: 1px
}

.notes_info02 .apply-list a {
    color: #2a6be3 !important;
    text-decoration: none !important
}

.notes_info02 .apply-list a:hover {
    text-decoration: underline !important
}

.winSP .apply-list_wrap h6 {
    font-size: 2rem
}

.winSP .notes_info02 h5 img {
    vertical-align: middle
}

.winSP .notes_info02 h5 {
    font-size: 4vw
}

.winSP .notes_info02 p span {
    font-size: 3.6vw;
    width: 80%
}

.winSP .notes_info02 h6 {
    font-size: 4vw
}

.winSP .notes_info02 p:after {
    width: 70px
}

.winSP .notes_info02 p.open:after {
    width: 70px
}

.apply-notes {
    margin-bottom: 90px
}

.apply-notes h3 {
    text-align: center;
    font-size: 24px;
    font-size: 2.4rem;
    margin-top: 30px
}

.apply-list_wrap .kiyaku {
    background: #fffaa5;
    padding: 2%;
    color: #333
}

.apply-list_wrap dl {
    margin: 30px 0
}

.apply-list_wrap dt {
    background: #d9d9d9;
    margin-top: 20px
}

.apply-list_wrap dt span {
    display: block;
    text-align: left;
    background: #f4696a;
    width: 9em;
    font-size: 20px;
    font-size: 2rem;
    color: #fff;
    font-weight: bold;
    padding: 2px 0 0 5px
}

.apply-list {
    margin: 0 2%;
    font-size: 14px;
    font-size: 1.4rem;
    padding: 2% 0
}

.apply-list li {
    line-height: 1.8;
    padding-left: 1em;
    text-indent: -1em
}

.course_materials {
    margin-top: 20px
}

.course_price_wrap {
    padding-bottom: 0
}

.course_materials_inner dt {
    position: relative
}

.course_materials_inner dt:after {
    position: absolute;
    content: "▼";
    color: #aaa;
    top: 50%;
    right: 2%;
    -webkit-transform: translateY(-50%) scale(1.5, 1);
    transform: translateY(-50%) scale(1.5, 1)
}

.course_materials_inner dt.open:after {
    content: "▲";
    -webkit-transform: translateY(-50%) scale(1.5, 1);
    transform: translateY(-50%) scale(1.5, 1)
}

.guideline {
    display: block;
    margin: 20px auto 0;
    max-width: 920px
}

.guideline h3 {
    text-align: left
}

.course_materials .course_materials_inner {
    background: #fff;
    padding: 2%;
    border: thin solid #e9e9e9
}

.course_materials dt {
    text-align: center;
    padding: 5px;
    background: #e9e9e9
}

.course_materials dd {
    padding: 2% 2% 0
}

.course_materials dd li {
    margin-bottom: 5px
}

.course_materials dd p {
    text-align: center;
    margin-top: 50px;
    position: relative
}

.course_materials dd p:before {
    position: absolute;
    display: inline-block;
    content: "〉";
    font-size: 100px;
    font-weight: lighter;
    top: -70px;
    left: 50%;
    -webkit-transform: translateX(-50%) rotate(90deg) scale(1, 1.5);
    transform: translateX(-50%) rotate(90deg) scale(1, 1.5);
    color: #e9e9e9
}

.dokugaku-apply_area .inner {
    max-width: 1064px
}

.dokugaku-apply_flow {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: calc(100% + 30px);
    margin-top: 40px;
    margin-left: -30px
}

.dokugaku-apply_flow>.box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
    width: calc(100% - 30px);
    margin-left: 30px;
    padding: 12px;
    border: 1px solid #88887e;
    background-color: #fff
}

.dokugaku-apply_flow>.box>.thumb {
    display: block;
    margin-top: auto;
    text-align: center
}

.dokugaku-apply_flow>.box:last-child .title {
    padding-right: 0
}

.dokugaku-apply_flow>.box:last-child .title:after {
    display: none
}

.dokugaku-apply_flow .title {
    position: relative
}

.dokugaku-apply_flow .title:after {
    position: absolute;
    top: 50%;
    right: -46px;
    display: block;
    width: 200px;
    height: 24px;
    margin-top: -12px;
    content: "";
    background: url(../../image/2024_03/arr_line.png) no-repeat 100%
}

.dokugaku-apply_flow .title>span {
    font-size: 2rem;
    position: relative;
    z-index: 2;
    display: block;
    padding: 10px 5px 7px;
    text-align: center;
    color: #fff;
    background: #39988f
}

.dokugaku-apply_flow .txt {
    font-size: 1.4rem;
    margin-top: 15px;
    padding-bottom: 10px;
    color: #39988f
}

.dokugaku-apply_flow .txt .red {
    color: #dc0505
}

.dokugaku-apply_flow .flow-1 .txt {
    text-align: center
}

.dokugaku-apply_flow .flow-1 .txt .kakunin {
    margin-top: 15px
}

.dokugaku-apply_flow .flow-1 .txt .kakunin a {
    font-size: 1.5rem;
    position: relative;
    display: block;
    padding: 12px 25px 9px 5px;
    text-align: center;
    color: #fff;
    background: #193a75
}

.dokugaku-apply_flow .flow-1 .txt .kakunin a:hover {
    background: #153060
}

.dokugaku-apply_flow .flow-1 .txt .kakunin a:after {
    font-family: iconset !important;
    font-size: 1.8rem;
    font-weight: 400;
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    position: absolute;
    top: 50%;
    right: 8px;
    margin-top: -9px;
    content: "";
    text-transform: none;
    speak: none
}

.dokugaku-apply_flow .flow-2 .txtarea {
    text-align: center
}

.dokugaku-apply_flow .flow-2 .txt {
    padding-right: 10px;
    padding-left: 10px
}

.dokugaku-apply_flow .flow-2 .txt .dots {
    font-size: 1.6rem
}

.dokugaku-apply_flow .flow-2 .txt .dots li~li {
    margin-top: 5px
}

.dokugaku-apply_flow .border {
    border: 1px solid #39988f;
    padding: 5px;
    text-align: center;
    margin-bottom: 5px
}

.dokugaku-apply_flow .flow-3 .txt .caution {
    font-size: 1.2rem
}

.dokugaku-apply_flow .flow-4 .txt .caution {
    font-size: 1.2rem;
    margin-top: 10px
}

.dokugaku-apply_flow .web-kougi {
    display: flex;
    margin-bottom: 5px
}

.dokugaku-apply_flow .flow_sche {
    margin-top: 10px;
    color: #fff
}

.flow_sche__item {
    text-align: center;
    padding: 10px;
    background-color: #f27d00
}

.flow_sche__item.is_hikaku {
    background-color: #1f529d
}

.flow_sche__item a {
    color: #fff;
    text-decoration: underline
}

.flow_sche__item a:hover {
    text-decoration: none
}

.dokugaku-apply_deadline {
    margin: 40px auto;
    text-align: center
}

.dokugaku-apply_deadline>p {
    font-size: 3.4rem;
    position: relative;
    display: inline-flex;
    color: #000;
    align-items: center;
    font-weight: bold
}

.dokugaku-apply_deadline>p:before {
    display: block;
    width: 103px;
    height: 81px;
    margin-right: 20px;
    content: "";
    background: url(../../image/2024_03/ico_calendar.png) no-repeat 50%
}

.dokugaku-apply_deadline>p .ttl {
    font-size: 2.2rem;
    color: #089983
}

.dokugaku-apply_deadline+.dokugaku-red_btn {
    margin-top: 15px
}

.winSP .dokugaku-apply_flow {
    display: flex;
    width: 100%;
    margin-top: 40px;
    margin-left: 0;
    flex-direction: column
}

.winSP .dokugaku-apply_flow>.box {
    position: relative;
    display: block;
    width: 100%;
    margin-left: 0
}

.winSP .dokugaku-apply_flow .title:after {
    background: none
}

.winSP .dokugaku-apply_flow>.box:not(.flow-4):after {
    font-family: iconset !important;
    font-size: 3rem;
    font-weight: 400;
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    position: absolute;
    right: auto;
    bottom: -30px;
    left: 50%;
    width: auto;
    height: auto;
    margin-left: -15px;
    content: "";
    text-transform: none;
    color: #089983;
    background: none;
    speak: none;
    z-index: 1
}

.winSP .dokugaku-apply_flow>.box+.box {
    margin-top: 20px
}

.winSP .dokugaku-apply_flow>.box>.thumb {
    width: 150px;
    margin-right: auto;
    margin-left: auto
}

.winSP .dokugaku-apply_flow .txt {
    font-size: 1.2rem
}

.winSP .dokugaku-apply_deadline {
    margin-top: 30px
}

.winSP .dokugaku-apply_deadline>p {
    font-size: 2.4rem;
    display: flex;
    text-align: center;
    flex-wrap: wrap;
    justify-content: center
}

.winSP .dokugaku-apply_deadline>p:before {
    width: 33px;
    height: 26px;
    margin-top: -6px;
    margin-right: 15px;
    background-size: 100% auto
}

.winSP .dokugaku-apply_deadline>p .ttl {
    display: block
}

.bgcolLGray {
    background: #f8f8f8
}

.tcenter {
    text-align: center
}

.u_annotation {
    display: block;
    padding-left: 1em;
    text-indent: -1em
}

.u_nowrap {
    white-space: nowrap;
    font-weight: unset
}

.u_underline {
    text-decoration: underline
}

.u_normal {
    font-weight: normal
}

.u_bold {
    font-weight: bold
}

.u_highlight {
    color: #cc111a
}

.u_marker {
    background: linear-gradient(transparent 10%, #fffa6b 10%, #fffa6b 90%, transparent 90%)
}

.bold {
    font-weight: bold
}

.isSPn {
    display: block
}

@media screen and (max-width: 768px) {
    .isSPn {
        display: none
    }
}

.u_show_sp {
    display: none
}

.winSP .u_show_sp {
    display: initial
}

/*# sourceMappingURL=style.css.map */