@charset "UTF-8";
@media screen and (max-width: 1240px) {
  /******************************************************************** PC */
  header #main_menu .inner ul li {
    margin-right: 14px;
  }
  .keyview #header_main .inner .catch {
    width: 65%;
    min-width: 65%;
  }
  .keyview #header_main .inner .img {
    width: 35%;
    min-width: 35%;
  }
  .sec_guide .price_table {
    width: 100%;
    padding-right: 20px;
    padding-left: 20px;
    background: none;
  }
  .sec_guide .price_table .inner {
    padding: 35px 40px;
  }
}
@media screen and (max-width: 1060px) {
  /********************************************************************* タブレット */
  .on_tablet {
    display: block;
  }
  .keyview {
    height: auto;
    background: url("./../img/header_bg.png") left -90px bottom 80px no-repeat, #10376B;
    background-size: 83%;
  }
  .keyview #header_main .inner {
    display: block;
  }
  .keyview #header_main .inner .catch .head .ttl {
    font-size: 40px;
  }
  .keyview #header_main .inner .catch .head .ttl_tag {
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .keyview #header_main .inner .catch .head .ttl_tag .sub {
    margin-bottom: 26px;
  }
  .keyview #header_main .inner .catch .head .type_of_ct {
    display: inline-block;
    font-size: 40px;
  }
  .keyview #header_main .inner .catch .head .header_catch {
    text-align: left;
    margin-bottom: -26px;
  }
  .keyview #header_main .inner .catch .head .header_catch img {
    display: inline-block;
  }
  header #main_menu .pcMenu {
    display: none;
  }
  header #main_menu .sp_menu {
    display: block;
  }
  header #main_menu .sp_menu .ctaButton {
    margin-top: 10px;
    padding-right: 10px;
    padding-left: 10px;
  }
  header #main_menu .sp_menu .nav_hidden {
    display: none;
  }
  header #main_menu .sp_menu .nav_ctr {
    display: block;
    width: 70px;
    height: 42px;
    position: relative;
    z-index: 9999;
  }
  header #main_menu .sp_menu .nav_ctr span {
    display: block;
    width: 50px;
    height: 2px;
    background: #fff;
    position: absolute;
    top: 50%;
    left: calc(50% - 25px);
    transition: all ease 0.15s;
  }
  header #main_menu .sp_menu .nav_ctr span::before {
    content: "";
    display: block;
    width: 50px;
    height: 2px;
    background: #fff;
    position: absolute;
    top: 10px;
    transition: all ease 0.15s;
  }
  header #main_menu .sp_menu .nav_ctr span::after {
    content: "";
    display: block;
    width: 50px;
    height: 2px;
    background: #fff;
    position: absolute;
    top: -10px;
    transition: all ease 0.15s;
  }
  header #main_menu .sp_menu .navContainer {
    overflow-y: scroll;
    position: fixed;
    top: 0;
    left: 110vw;
    width: 100%;
    height: 100vh;
    background: #fff;
    transition: all 0.3s ease;
    padding: 70px 20px 20px;
  }
  header #main_menu .sp_menu .navContainer ul {
    flex-direction: column;
  }
  header #main_menu .sp_menu .navContainer ul li {
    width: 100%;
    border-bottom: 1px dotted #ddd;
  }
  header #main_menu .sp_menu .navContainer ul li.new::before {
    top: 0px;
    left: 0px;
  }
  header #main_menu .sp_menu .navContainer ul li a {
    font-size: 17px;
    padding: 17px 15px 11px;
    display: block;
    color: #004E9A;
  }
  header #main_menu .sp_menu .navContainer__cta {
    max-width: 100%;
    margin-top: 20px;
    margin-bottom: 20px;
  }
  header #main_menu .sp_menu .navContainer__login {
    display: inline-block;
    margin-top: 15px;
    font-size: 15px;
    font-weight: bold;
    color: #004E9A;
  }
  header #main_menu .sp_menu #nav_input:checked + .nav_ctr span {
    background: inherit;
  }
  header #main_menu .sp_menu #nav_input:checked + .nav_ctr span::before {
    transform: rotate(45deg);
    top: 0;
    transition: all ease 0.15s;
    background: #004E9A;
  }
  header #main_menu .sp_menu #nav_input:checked + .nav_ctr span::after {
    transform: rotate(-45deg);
    top: 0;
    transition: all ease 0.15s;
    background: #004E9A;
  }
  header #main_menu .sp_menu #nav_input:checked ~ .navContainer {
    display: block;
    left: 0;
    transition: all 0.3s ease;
  }
  header #main_menu .sp_menu .order_top_link a {
    box-shadow: none;
    margin-bottom: 5px;
    font-size: 15px;
    padding: 10px 10px 7px;
  }
  header #main_menu .inner .ctr_box {
    justify-content: center;
    margin-top: 20px;
    margin-bottom: 20px;
  }
  header #main_menu .order_top_link {
    display: block;
  }
  .keyview #header_main .inner {
    flex-direction: column;
  }
  .keyview #header_main .inner .catch {
    width: 100%;
    min-width: 100%;
    text-align: center;
  }
  .keyview #header_main .inner .img {
    width: 100%;
    min-width: 400px;
    margin-top: 0;
  }
  .keyview #header_main .inner .catch ul {
    justify-content: center;
    margin-bottom: 30px;
  }
  .keyview #header_main .inner .catch ul li {
    margin: 0 15px;
  }
  .keyview:after {
    display: none;
  }
  .sec_about {
    padding-bottom: 20px;
  }
  .keyview #header_main {
    padding-top: 50px;
  }
  .order_top_link {
    justify-content: center;
  }
  .sec_about ul {
    flex-wrap: wrap;
  }
  .sec_up .content_list_wrap .content_list .box_wrap.flat_rate {
    width: 100%;
    min-width: 100%;
    border-right: none;
  }
  .sec_up .content_list_wrap .content_list .box_wrap.single {
    width: 100%;
    min-width: 100%;
  }
  .sec_up .content_list_wrap .content_list {
    flex-direction: column;
  }
  .sec_up .content_list_wrap .content_list .box_wrap.flat_rate {
    margin-bottom: 20px;
  }
  .sec_up .content_list_wrap .content_list .box_wrap .ttl {
    font-size: 21px;
  }
  .sec_up .ct_block .main .txt_book_name {
    width: 165px;
    min-width: 165px;
    flex-direction: column-reverse;
    align-items: flex-start;
  }
  .sec_up .ct_block .main .txt_book_name .badge {
    margin-left: 0;
  }
  .sec_up .ct_block .main .nm_of_ctt .txt {
    font-size: 15px;
  }
  .sec_up .ct_block .main .txt_book_name {
    font-size: 26px;
  }
  .sec_up .ct_block .main .nm_of_ctt .num {
    font-size: 34px;
  }
  .sec_sch .ct {
    width: 100%;
  }
  .sec_guide .price_table table tr.price td > div,
.sec_guide .price_table table td > div {
    display: block;
  }
  .sec_guide .price_table table tr.price {
    font-size: 28px;
  }
  .sec_guide .price_table table th {
    font-size: 22px;
  }
}
@media screen and (max-width: 767px) {
  /********************************************************************* スマホ横 */
  .keyview #header_main .inner .catch .head .ttl {
    font-size: 42px;
  }
  .keyview #header_main .inner .catch ul li {
    margin: 0 5px;
    width: 160px;
    height: 160px;
    border-radius: 80px;
    font-size: 17px;
  }
  .keyview #header_main .inner .catch ul li:first-child span {
    font-size: 17px;
  }
  .keyview #header_main .inner .catch ul li:first-child {
    font-size: 14px;
  }
  .keyview .btn_trial {
    margin-top: 20px !important;
    background: #E80A2D;
    color: #fff;
    border-radius: 2px;
  }
  .keyview .btn_trial a {
    border-bottom: none !important;
    padding: 10px 10px 8px !important;
  }
  .sec_about .head,
.sec_head,
.sec_guide .guide_head {
    font-size: 32px;
  }
  .sec_merit {
    padding-bottom: 100px;
  }
  .sec_merit .box_wrap .box .head .txt .ttl {
    font-size: 28px;
  }
  .sec_merit .box_wrap .box {
    width: 100%;
    min-width: 100%;
  }
  .sec_lead_trial .flow_box {
    flex-direction: column;
  }
  .sec_lead_trial .flow_box .box {
    width: 100%;
    min-width: 100%;
    margin-bottom: 10px;
  }
  .sec_guide .s_box_wrap {
    flex-direction: column;
  }
  .sec_guide .s_box_wrap .s_box.to_b {
    width: 100%;
    min-width: 100%;
    margin-bottom: 10px;
  }
  .sec_guide .s_box_wrap .s_box.to_c {
    width: 100%;
    min-width: 100%;
  }
  .sec_about ul li {
    margin: 0 5px 10px;
  }
  .sec_functions .functions_img {
    width: 300px;
    top: -120px;
    right: -70px;
  }
  .sec_lead_trial .about_card {
    flex-direction: column;
  }
  .sec_lead_trial .about_card .txt {
    margin: 0 0 10px;
  }
  .sec_lead_trial .about_card .img {
    text-align: center;
    margin: 0 auto;
    max-width: 100%;
    min-width: 100px;
  }
  .sec_guide .s_box_wrap .s_box.to_c .course_wrap {
    flex-direction: column;
  }
  .sec_guide .s_box_wrap .s_box.to_c .course_wrap .course {
    width: 100%;
  }
  .sec_guide .s_box_wrap .s_box.to_c .course_wrap .course:first-child {
    border-bottom: 1px solid #ddd;
  }
  .secContact .sec_head span {
    font-size: 21px;
  }
  .sec_up .content_list_wrap .content_list .box_wrap.flat_rate .note {
    text-align: left;
  }
  .sec_up .ct_block .main {
    flex-direction: column;
    align-items: center;
  }
  .sec_up .ct_block .main .txt_book_name {
    width: auto;
    min-width: 0;
    margin-bottom: 10px;
    align-items: center;
  }
  .sec_up .ct_block .main .nm_of_ctt {
    flex-direction: column;
    margin-right: 0;
  }
  .sec_up .ct_block .main .nm_of_ctt .txt {
    margin-right: 0;
  }
  .sec_sch .ct .list {
    flex-direction: column;
  }
  .sec_sch .ct .list .period {
    margin-bottom: 20px;
  }
  .sec_sch .ct .list .ttl {
    margin-left: 0;
    font-size: 17px;
  }
  .sec_sch .head {
    font-size: 26px;
  }
  .keyview #header_main .inner .catch .head .ttl {
    font-size: 38px;
  }
  .keyview #header_main .inner .catch .head .type_of_ct {
    font-size: 36px;
  }
  .keyview #header_main .inner .catch .head .num_pr .num span {
    font-size: 68px;
  }
  .keyview #header_main .inner .catch .head .num_pr .txt {
    font-size: 42px;
  }
  .keyview #header_main .inner .img {
    min-width: 0;
    text-align: right;
    margin-top: 0;
  }
  .keyview #header_main .inner .img img {
    max-width: 300px;
  }
  .keyview {
    background-size: 120%;
  }
  .sec_up .sec_up_header {
    padding-top: 60px;
    padding-bottom: 45px;
  }
  .sec_guide .price_table {
    background: #fff;
  }
  .sec_guide .price_table table td {
    padding: 0 10px;
  }
  .sec_guide .price_table {
    padding: 20px 10px;
    overflow: scroll;
  }
  .sec_guide .price_table .inner {
    width: 800px;
  }
  .sec_guide .price_table .inner {
    padding: 20px 20px;
  }
  .sec_guide .price_table {
    padding: 0;
  }
  .sec_guide .price_table table td.line:nth-child(1),
.sec_guide .price_table table td.line:nth-child(7),
.sec_guide .price_table table th.line:nth-child(1),
.sec_guide .price_table table th.line:nth-child(7) {
    display: none;
  }
  #how_to_order,
.about_free_trial {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .sec_guide .price_table {
    border: 5px solid #fff;
  }
  .sec_sch .ct .list .ttl table .td_left {
    display: block;
    width: 100%;
    font-weight: bold;
  }
  .sec_sch .ct .list .ttl table .td_right {
    display: block;
    width: 100%;
    padding-bottom: 8px;
  }
  .sec_sch .ct .list .ttl {
    width: 100%;
    min-width: 100%;
  }
  .sec_guide .about_free_trial .head {
    font-size: 22px;
  }
  .order_top_link {
    flex-direction: column;
  }
  .order_top_link a {
    margin-bottom: 15px;
    margin-right: 0;
    text-align: center;
    flex-direction: column;
  }
  .order_top_link a .icon {
    margin-left: 0;
    display: none;
  }
  .order_top_link a:last-child {
    margin-bottom: none;
  }
  .mw_wp_form .contactFormWrap {
    padding: 0;
  }
  .mw_wp_form .contactFormWrap .flexwrap {
    justify-content: flex-start;
    margin-bottom: 5px;
  }
  .mw_wp_form .contactFormWrap table .td_left {
    width: 100%;
    padding-bottom: 0;
  }
  .mw_wp_form .contactFormWrap table .td_right {
    width: 100%;
    padding: 0 0 12px;
  }
  .mw_wp_form table {
    width: 100%;
  }
  .mw_wp_form table td {
    border: none;
  }
  .mw_wp_form table .td_left {
    display: block;
    padding: 0;
    width: 100%;
  }
  .mw_wp_form table .td_right {
    display: block;
    padding: 0 0 10px;
    width: 100%;
  }
  .mw_wp_form input[type=text],
.mw_wp_form input[type=email],
.mw_wp_form input[type=tel],
.mw_wp_form textarea {
    -webkit-appearance: none;
    font-size: 16px;
  }
  .mw_wp_form input[type=submit] {
    -webkit-appearance: none;
  }
}
@media screen and (max-width: 576px) {
  /********************************************************************** スマホ */
  .keyview #header_main .inner .catch .head .sub span {
    font-size: 24px;
    padding: 6px 10px 3px;
    margin-bottom: 8px;
  }
  .sec_functions .functions_img {
    width: 260px;
  }
  .keyview #header_main .inner .catch .head .ttl {
    font-size: 25px;
  }
  .keyview #header_main .inner .catch .head .day {
    font-size: 17px;
  }
  .keyview #header_main .inner .catch ul li {
    width: calc(33.33333% - 5px);
    min-width: calc(33.33333% - 5px);
    height: auto;
    border-radius: 3px;
    padding: 20px 3px 10px;
  }
  .keyview #header_main .inner .catch ul li .txt span {
    display: inline;
  }
  .keyview #header_main .inner .catch .head .ttl {
    font-size: 7vw;
  }
  .keyview #header_main .inner .catch .head .type_of_ct {
    font-size: 7vw;
  }
  .keyview #header_main .inner .catch .head .num_pr .num span {
    font-size: 50px;
  }
  .keyview #header_main .inner .catch .head .num_pr .txt {
    font-size: 7vw;
    line-height: 1.4em;
  }
  .keyview #header_main .inner .catch .head .ttl_tag .sub span {
    font-size: 24px;
  }
  .sec_sch .head {
    font-size: 6vw;
  }
  .sec_about .head, .sec_head, .sec_guide .guide_head {
    font-size: 22px;
  }
  .sec_about .catch {
    font-size: 22px;
  }
  .sec_about ul li {
    width: 88px;
    height: 88px;
    padding-top: 15px;
  }
  .sec_about ul li .icon {
    margin-bottom: 0;
  }
  .sec_merit .box_wrap .box .head .txt .ttl {
    font-size: 20px;
  }
  .sec_merit .box_wrap .box .head .icon {
    width: 60px;
    min-width: 60px;
    margin-right: 15px;
  }
  .sec_guide .s_box_wrap .s_box .head {
    font-size: 21px;
  }
  .sec_guide .s_box_wrap .s_box .head span {
    font-size: 28px;
  }
  .sec_guide .s_box_wrap .s_box .course .ttl {
    font-size: 22px;
  }
  .sec_guide .s_box_wrap .s_box .course {
    padding: 30px 15px 20px;
  }
  .sec_guide .s_box_wrap .to_c.s_box .course:last-child .price_box .price {
    font-size: 18px;
  }
  .sec_guide .about_tob_course .inner {
    padding: 20px 20px 15px;
  }
  .sec_guide .about_tob_course .inner .ttl {
    font-size: 17px;
  }
  .sec_up .content_list_wrap .content_list {
    flex-direction: column;
    padding: 30px 20px 20px;
  }
  .sec_up .content_list_wrap .content_list .box:first-child {
    margin-bottom: 10px;
  }
  .sec_lead_trial,
.sec_up,
.sec_guide {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .sec_functions {
    padding-bottom: 0;
  }
  .sec_contac {
    padding-top: 50px;
  }
  .sec_head {
    margin-bottom: 30px;
  }
  .sec_lead_trial .about_card {
    padding: 20px 20px 15px;
  }
  .sec_up .content_list_wrap .content_list .box_wrap .box .ul_wrap {
    flex-wrap: wrap;
  }
  .sec_up .content_list_wrap .content_list .box_wrap .box.box_flat_1,
.sec_up .content_list_wrap .content_list .box_wrap .box.box_flat_2,
.sec_up .content_list_wrap .content_list .box_wrap .box .ul_wrap ul,
.sec_up .content_list_wrap .content_list .box_wrap .box.box_single_1,
.sec_up .content_list_wrap .content_list .box_wrap .box.box_single_2 {
    width: 100%;
    min-width: 100%;
  }
  .sec_up .content_list_wrap .content_list .box_wrap .box {
    margin-bottom: 20px;
  }
  .sec_up .content_list_wrap .content_list .box_wrap.single {
    flex-wrap: wrap;
  }
  .order_top_link a br, .to_order_site a br {
    display: block;
  }
  .sec_up .ct_block .ct_list {
    width: 100%;
    overflow: scroll;
  }
  .sec_up .ct_block .ct_list table {
    width: 690px;
    font-size: 14px;
  }
  .sec_up .ct_block .ct_list tr .class {
    width: 21%;
  }
  .sec_up .ct_block .ct_list tr .nm {
    width: 12%;
  }
  .sec_up .ct_block .ct_list tr .ct {
    width: 57%;
  }
  .sec_up .lead .point .nm_of_ctt {
    font-size: 15px;
  }
  .sec_up .lead .point .nm_of_ctt span {
    font-size: 27px;
  }
  .sec_sch .ct .list .ttl li {
    border-bottom: 1px dotted #ddd;
    margin-bottom: 10px;
    padding-bottom: 2px;
  }
  .sec_sch .ct {
    padding: 30px 10px;
  }
}
@media screen and (max-width: 575px) {
  #important_news {
    left: 3vw;
    width: 94vw;
    padding-right: 20px;
    padding-left: 20px;
  }
}
/*# sourceMappingURL=sp-style.css.map */