@charset "utf-8";
.main .page__title {
    position: relative;
    width: 100%;
}

.main .page__title img {
    height: 200px;
    object-fit: cover;
    width: 100%;
}

.main .h1{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
}

.main .h1__inner {
    max-width: 1360px;
    padding: 0 80px;
    margin: 0 auto;
}

h1 {
    font-size: 3.8rem;
    font-weight: 700;
    padding: 15px;
    background-color: #fff;
    color: #1E1E1E;
    display: inline-block;
    line-height: 1.2;
}

.main .topicpath {
    max-width: 1360px;
    padding: 10px 80px 50px 80px;
    margin: 0 auto;
}

.main .topicpath ul {
    margin: 0;
}

.main .topicpath ul li {
    display: inline-block;
    padding-right: 1em;
    margin-right: 0.5em;
    line-height: 1;
    color: #1E1E1E;
    background: url(/fr_ger/resources/images/topicpath_arrow_icon.svg) right center no-repeat;
    font-size: 1.2rem;
}

.main .topicpath ul li:last-child {
    background: none;
}

.main .topicpath ul li a {
    text-decoration: underline;
    color: #1069C4;
    font-size: 1.2rem;
}

.main .contents {
    padding: 0 20px;
    max-width: 1080px;
    margin: 0 auto;
}

h2 {
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.28;
    padding: 20px 20px 20px 10px;
    margin-bottom: 40px;
}

.main .h2 {
    background-color: #DCF4FF;
    border-left: 10px solid #7DCDF4;
}

.main .h2__french {
    background-color: #BC27661A;
    border-left: 10px solid #BC2766;
}

.main .h2__german {
    background-color: #3433991A;
    border-left: 10px solid #343399;
}

.h3 {
    font-size: 2.4rem;
    font-weight: 700;
    color: #1069C4;
    margin-bottom: 20px;
    line-height: 1.3;
}

.h4 {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 20px;
    line-height: 1.3;
    padding-left: 8px;
    border-left: 4px solid #7DCDF4;
}

.h5 {
    position: relative;
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 20px;
    line-height: 1.4;
    padding-bottom: 10px;
    border-bottom: 2px solid #F5F5F5;
}

.h5:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 60px;
    border-bottom: 2px solid #7DCDF4;
}

.main .text {
    font-size: 1.5rem;
    line-height: 1.6;
    margin: 0 0 40px 0;
}

.main .precautions {
    font-size: 1.5rem;
    line-height: 1.6;
    margin: 10px 0 0 0;
}

.main .faq .faq__acco .faq__acco__item p.precautions {
    font-size: 1.5rem;
    line-height: 1.6;
    margin: 10px 0 0 0;
}

.main .precautions-width {
    width: 70%;
    padding-right: 20px;
    box-sizing: border-box;
}

.main .pc-add-mb {
    margin-bottom: 64px;
}

.main .text-transparent {
    color: transparent;
}

.main .sp-hide {
    display: block;
}

.main .img__inner {
    display: flex;
    justify-content: center;
    align-items: end;
}

.main .img__inner.add-mb {
    margin-bottom: 10px;
}

.main .text__img .text {
    font-size: 1.5rem;
    line-height: 1.6;
    margin: 0 0 40px 0;
}

.main .text__img .img__inner .left img {
    width: 290px;
    margin-bottom: 10px;
}

.main .text__img .img__inner .right img {
    width: 296px;
    margin-bottom: 25px;
}

.main .text__img .img__inner .img_center {
    margin-left: 0;
    margin-right: 0;
}

.main .text__img .img__inner .img_center img {
    width: 791px;
    margin-bottom: 25px;
}

.main .text__img .img__inner figcaption {
    text-align: center;
    font-size: 1.5rem;
    font-weight: 700;
    color: #BC2766;
    margin-bottom: 80px;
}

.main .blue__frame {
    border: 6px solid #7DCDF4;
    border-radius: 10px;
    padding: 30px 40px;
    margin-bottom: 40px;
}

.main .blue__frame:last-of-type {
    margin-bottom: 80px;
}

.main .blue__frame .h3 {
    margin-bottom: 10px;
}

.main .blue__frame .text {
    margin-bottom: 20px;
}

.main .blue__frame .tag__list {
    margin: 0 0 40px 0;
    list-style: none;
    padding: 0;
    background-color: #F5F5F5;
    border-radius: 5px;
    display: inline-block;
    padding: 10px;
}

.main .blue__frame .tag__list li {
    font-size: 1.2rem;
    display: inline-block;
    position: relative;
}

.main .blue__frame .tag__list li:not(:last-of-type) {
    padding-right: .7em;
}

.main .blue__frame .tag__list li:not(:first-of-type) {
    padding-left: .4em;
}

.main .blue__frame .tag__list li:not(:last-of-type)::after {
    position: absolute;
    content: "";
    border-right: 1px solid #1E1E1E;
    height: 13px;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

.main .blue__frame .modal__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
}

.main .blue__frame .modal__list .modal__item {
    cursor: pointer;
    width: calc(100% / 3 - 20px);
}

.main .blue__frame .modal__list .modal__item:not(:last-of-type) {
    margin-right: 40px;
}

.main .blue__frame .modal__list .modal__item .img-box {
    position: relative;
    margin-bottom: 15px;
}

.main .blue__frame .modal__list .modal__item .img-box::after {
    position: absolute;
    content: "";
    background: url(/fr_ger/resources/images/modal_zoom.svg);
    width: 40px;
    height: 40px;
    right: 0;
    bottom: 0;
}

.main .blue__frame .modal__list .modal__item .img-box img {
    border: 1px solid #dcdcdc;
}

.main .blue__frame .modal__list .modal__item .modal__caption {
    text-align: center;
    line-height: 1.6;
}

.main .blue__frame .modal__list .modal__item .modal__caption .number {
    font-size: 1.5rem;
    color: #1069C4;
    font-weight: 700;
    margin: 0;
}

.main .blue__frame .modal__list .modal__item .modal__caption .ttl {
    font-size: 1.5rem;
    color: #1E1E1E;
    font-weight: 700;
    margin: 0;
}

.main .blue__frame .modal-block {
    display: none;
    position: fixed;
    justify-content: center;
    align-items: center;
    z-index: 99999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.8);
}

.main .blue__frame .popup__wrapper {
    width: 700px;
    height: 100vh;
    max-height: 775px;
    background-color: #fff;
}

.main .blue__frame .img-section {
    width: 100%;
    height: 100%;
    position: relative;
    margin: 0 auto;
    text-align: center;
}

.main .blue__frame .img-section .modal__closebtn {
    width: 30px;
    height: 30px;
    display: block;
    position: absolute;
    right: 30px;
    top: 30px;
    cursor: pointer;
}

.main .blue__frame .img-section .popup__img {
    width: 400px;
    height: 80.4%;
    position: absolute;
    top: 50px;
    right: 50%;
    transform: translateX(50%);
    border: 1px solid #dcdcdc;
}

.modal-block .caption {
    position: absolute;
    bottom: 4%;
    right: 50%;
    transform: translateX(50%);
    font-size: 2rem;
}

.modal-block .caption p {
    margin: 0;
    font-weight: 700;
    line-height: 1.3;
}

.modal-block .caption p:first-of-type {
    color: #1069C4;
}

.main .bgc__blue {
    width: 100%;
    background-color: #7DCDF4;
    padding: 80px 0;
}

.main .bgc__blue .h2__white {
    font-size: 3.8rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 38px;
    padding: 0;
}

.main .bgc__blue .white__text {
    font-size: 1.6rem;
    color: #fff;
    font-weight: 700;
    line-height: 2;
}

.main .bgc__blue .feature_copy .white__text {
    margin-bottom: 20px;
}

.main .bgc__blue .feature_copy :nth-last-of-type(2) {
    margin-bottom: 10px;
}

.main .bgc__blue .attention {
    margin-bottom: 40px;
    font-size: 1.2rem;
    color: #fff;
    font-weight: 700;
}

.main .cards__half {
    display: flex;
    margin-bottom: 40px;
}

.main .cards__half .cards__half__item {
    background-color: #fff;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: calc(100% / 2 - 20px);
}

.main .cards__half .cards__half__item:nth-of-type(odd) {
    margin-right: 40px;
}

.main .cards__half .cards__half__item.french,
.main .cards__half .cards__half__item.german {
    padding: 21px 40px 30px 40px;
}

.main .cards__half .cards__half__item .french__img,
.main .cards__half .cards__half__item .german__img {
    width: 249px;
    margin: 0 auto 33px auto;
}

.main .cards__half .cards__half__item img {
    width: 100%;
}

.main .cards__half .cards__half__item .text {
    margin-bottom: 30px;
}

.main .cards__half .cards__half__item a {
    font-size: 1.6rem;
    color: #fff;
    padding: 19px;
    text-align: center;
    display: block;
    position: relative;
}

.main .cards__half .cards__half__item a::after {
    position: absolute;
    content: "";
    background: url(/fr_ger/resources/images/btn_icon.svg) no-repeat;
    width: 8.6px;
    height: 14.58px;
    right: 20.4px;
    top: 50%;
    transform: translateY(-50%);
}

.main .cards__half .cards__half__item .french__btn a {
    background-color: #BC2766;
    border-radius: 4px;
}

.main .cards__half .cards__half__item .german__btn a {
    background-color: #343399;
    border-radius: 4px;
}

.main .cards {
    margin-bottom: 40px;
}

.main .cards:last-of-type {
    margin-bottom: 0;
}

.main .cards .cards__headline {
    background-color: #1069C4;
    border-radius: 10px 10px 0 0;
    padding: 15px 0 15px 40px;
    margin-bottom: 0;
    font-size: 2.8rem;
    color: #fff;
    font-weight: 700;
}

.main .cards .bgc__white {
    background-color: #fff;
    border-radius: 0 0 10px 10px;
}

.main .cards .text__wrap {
    padding: 30px 40px 40px 40px;
}

.main .cards .blue__emphasis {
    font-size: 2rem;
    color: #1069C4;
    margin: 0 0 20px 0;
}

.main .cards .text__wrap .text {
    margin-bottom: 30px;
}

.main .cards .text__wrap .text:last-of-type {
    margin-bottom: 0;
}

.main .admission__item__wrap {
    padding-top: 90px;
}

.main .admission__item {
    display: flex;
    padding: 20px 0 20px 20px;
    align-items: center;
    border: 2px solid #1069C4;
    border-radius: 10px;
    margin-bottom: 10px;
    position: relative;
    background-color: #fff;
}

.main .admission__item::after {
    position: absolute;
    content: "";
    background: url(/fr_ger/resources/images/admission.svg) no-repeat;
    width: 99px;
    height: 109px;
    background-size: contain;
    right: 21px;
    bottom: 0;
}

.main .admission__item .admission__headline {
    font-size: 1.8rem;
    font-weight: 700;
    margin: 0 0 11px 0;
}

.main .admission__item .admission__headline .blue {
    color: #1069C4;
}

.main .admission__item .admission__item__right .text {
    font-size: 1.4rem;
    margin: 0;
}

.main .admission__item .admission__item__left {
    margin-left: 30px;
}

.main .admission__item .admission__item__btn a {
    color: #fff;
    background: #FAAF18;
    display: block;
    padding: 19px 69px;
    border-radius: 4px;
    font-size: 1.4rem;
    max-width: 250px;
}

.main .admission__item .admission__item__btn a span {
    position: relative;
}

.main .admission__item .admission__item__btn a span::after {
    position: absolute;
    content: "";
    width: 10.89px;
    height: 9px;
    background: url(/fr_ger/resources/images/admission_btn_icon.svg) no-repeat;
    background-size: contain;
    right: -18.89px;
    top: 50%;
    transform: translateY(-30%);
}

.main .contents__inner__btn {
    margin-bottom: 80px;
}

.main .button {
    max-width: 300px;
    margin: 0 auto 30px auto;
}

.main .button a,
.main .button input {
    padding: 19px 0;
    display: block;
    position: relative;
    text-align: center;
    font-weight: 700;
    font-size: 1.6rem;
    color: #fff;
    border-radius: 4px;
}

.main .button input {
    width: 100%;
    border: 0;
}

.main .important__btn {
    position: relative;
}

.main .button a::after,
.main .important__btn::after {
    position: absolute;
    content: "";
    background: url(/fr_ger/resources/images/btn_icon.svg) no-repeat;
    width: 8.6px;
    height: 14.58px;
    background-size: contain;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
}

.main .normal__btn a {
    background-color: #1069C4;
}

.main .important__btn a,
.main .important__btn input {
    background-color: #FAAF18;
    cursor: pointer;
}

.main .small__btn a {
    color: #fff;
    background: #FAAF18;
    display: block;
    padding: 19px 0;
    border-radius: 4px;
    font-size: 1.4rem;
    text-align: center;
}

.main .small__btn {
    max-width: 250px;
    margin: 0 auto;
}

.main .small__btn a span {
    position: relative;
}

.main .small__btn a span::after {
    position: absolute;
    content: "";
    width: 10.89px;
    height: 9px;
    background: url(/fr_ger/resources/images/admission_btn_icon.svg) no-repeat;
    background-size: contain;
    right: -18.89px;
    top: 50%;
    transform: translateY(-30%);
}

.main .contact__h1 {
    background-color: #7DCDF4;
}

.main .contact__h1 h1 {
    font-size: 3.8rem;
    font-weight: 700;
    color: #fff;
    margin: 0;
    padding: 60px 0;
    background-color: #7DCDF4;
}

.main .step__nav {
    margin-bottom: 40px;
}

.main .step__nav ol {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.main .step__nav ol li {
    font-weight: 700;
    font-size: 1.4rem;
    color: #7DCDF4;
    height: 70px;
    width: 70px;
    border: 2px solid #7DCDF4;
    border-radius: 50px;
    text-align: center;
    line-height: 67px;
    position: relative;
}

.main .step__nav ol li.step__nav__current {
    background-color: #7DCDF4;
    color: #fff;
}

.main .step__nav ol li:not(:last-of-type) {
    margin-right: 60px;
}

.main .step__nav ol li:not(:last-of-type)::after {
    position: absolute;
    content: "";
    border-bottom: 2px solid #7DCDF4;
    width: 60px;
    height: 2px;
    right: -62px;
    top: 50%;
    transform: translateY(-50%);
}

.main .form__toptext {
    font-weight: 700;
    font-size: 1.4rem;
    margin: 0 0 20px 0;
}

.main .contact-table,
.main .confirm-table {
    border: 1px solid #e1e1e1;
    border-bottom: none;
    table-layout: fixed;
    text-align: left;
    width: 100%;
    font-size: 1.5rem;
}

.main .contact-table tr,
.main .confirm-table tr {
    border-bottom: 1px solid #e1e1e1;
}

.main .contact-table th,
.main .confirm-table th {
    width: 24%;
    background-color: #DCF4FF;
    padding: 30px;
}

.main .contact-table .th__top {
    vertical-align: top;
}

.main .contact-table th .required {
    display: inline-block;
    margin-left: 8px;
    margin-top: -3px;
    padding: 3px 4px;
    border-radius: 2px;
    background-color: #EB3C3C;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    vertical-align: middle;
}

.main .contact-table td,
.main .confirm-table td {
    padding: 30px;
}

.main .contact-table .error_field {
    background-color: #ffc1c2;
}

.main .contact-table td input,
.main .contact-table td textarea,
.main .class_search .search_cards_right .search-box .search-input input {
    font-size: 100%;
    padding: 0 20px;
    border-radius: 4px;
    border: 1px solid #C8C8C8;
    background-color: #F5F5F5;
}

.main .contact-table td input {
    height: 50px;
}

.main .contact-table td .input-name {
    width: 400px;
}

.main .contact-table td .input-tel {
    width: 200px;
}

.main .contact-table td .input-large-wrap {
    margin-bottom: 30px;
}

.main .contact-table td .input-large {
    width: 100%;
}

.main .contact-table td .mail_confirmation {
    font-size: 1.2rem;
    margin-bottom: 10px;
}

.main .contact-table td .radio__wrap,
.main .contact-table td .input-text-large__wrap {
    margin-bottom: 20px;
}

.main .contact-table td .radio01-input,
.main .class_search .search_cards_right .radio01-input {
    display: none;
}

.main .contact-table td .radio01-input + label {
    position: relative;
    padding-left: 30px;
}

.main .contact-table td .radio01-input + label::before,
.main .class_search .search_cards_right .radio01-input + label::before {
    content: "";
    display: block;
    position: absolute;
    top: 2px;
    left: 0;
    width: 20px;
    height: 20px;
    border: 1px solid #d0d0d0;
    border-radius: 50%;
    background: #F5F5F5;
}

.main .class_search .search_cards_right .radio01-input + label::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 5px;
    transform: translateY(-40%);
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #1069C4;
    opacity: 0;
}

.main .contact-table td .radio01-input:checked + label::before {
    border: 6px solid #17a1e6;
    width: 20px;
    height: 20px;
}

.main .class_search .search_cards_right .radio01-input:checked + label::after {
    opacity: 1;
}

.main .contact-table td .input-text-large__wrap > div {
    display: flex;
    align-items: center;
}

.main .contact-table td .before__text {
    margin-right: 20px;
    width: 70px;
}

.main .contact-table td .input-text-large {
    width: 100%;
}

.main .contact-table td .checks {
    display: inline-flex;
    flex-wrap: wrap;
}

.main .contact-table td .checks .check {
    margin-right: 28px;
    margin-bottom: 14px;
}

.main .contact-table td .check input[type=checkbox] {
    opacity: 0;
    position: absolute;
}

.main .contact-table td .check input[type=checkbox] + label {
    display: block;
    font-size: 1.5rem;
    line-height: 1.5;
    padding-left: 25px;
    position: relative;
}

.main .contact-table td .check input[type=checkbox] + label::before {
    background: #fff;
    border: 1px solid #b8b8b8;
    content: "";
    display: block;
    height: 15px;
    left: 0;
    position: absolute;
    top: 0.4rem;
    transition: background-color .25s ease;
    width: 15px;
}

.main .contact-table td .check input[type=checkbox] + label::after {
    border: 0 solid #17a1e6;
    border-width: 0 2px 2px 0;
    content: "";
    display: block;
    height: 0.8rem;
    left: 0.5rem;
    opacity: 0;
    position: absolute;
    top: 0.6rem;
    transform: rotate(37deg) scale(1.2);
    transition: opacity .25s ease;
    width: 0.5rem;
}

.main .contact-table td .check input[type=checkbox]:checked + label:after {
    opacity: 1;
}

.main .contact-table td .form-textarea {
    display: flex;
}

.main .contact-table td textarea {
    width: 100%;
    height: 150px;
    padding: 10px 20px;
}

.main .error_message:not(:empty) {
    color: #EB3C3C;
    display: inline-block;
    margin-top: 10px;
    font-weight: 700;
}

.main .error_message:not(:empty).ml {
    margin-left: 83px;
}

.main .contact-table td .input-large-wrap {
    margin-bottom: 0;
}

.main .subject__study + .error_message:not(:empty) {
    margin-top: 0;
}

.main .confirm__btn__area {
    margin-bottom: 80px;
}

.main .confirm__btn__area p {
    text-align: center;
    font-weight: 700;
    font-size: 1.4rem;
    margin: 0 0 40px 0;
}

.main .confirm__btn__area .confirm__btn__wrap {
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
}

.main .confirm__btn__area .confirm__btn__wrap .return__btn {
    width: 150px;
    position: relative;
    margin-right: 20px;
}

.main .confirm__btn__area .confirm__btn__wrap .return__btn::before {
    position: absolute;
    content: "";
    background: url(/fr_ger/resources/images/return_btn_icon.svg) no-repeat;
    height: 11px;
    width: 6px;
    background-size: contain;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
}

.main .confirm__btn__area .confirm__btn__wrap .return__btn input {
    width: 100%;
    padding: 21px 0;
    border: 0;
    font-size: 1.4rem;
    border-radius: 4px;
    background: #f5f5f5;
}

.main .confirm__btn__area .confirm__btn__wrap .important__btn {
    width: 300px;
    margin: 0;
}

.main section.complete {
    margin-bottom: 80px;
}

.main .complete .sub__blue {
    background-color: #DCF4FF;
    padding: 40px 0;
    border-radius: 10px;
}

.main .complete .complete__headline {
    font-size: 2.8rem;
    text-align: center;
    margin: 0 0 20px 0;
}

.main .complete p {
    font-size: 1.5rem;
    text-align: center;
    margin: 0 0 40px 0;
    line-height: 1.6;
}

.main .complete .contents__inner__btn,
.main .complete .button {
    margin-bottom: 0;
}

.main .classroom__search__guide {
    margin-bottom: 80px;
}

.main .classroom__search__guide__inner {
    padding: 20px;
    background: #F5F5F5;
    position: relative;
    margin-bottom: 20px;
}

.main .classroom__search__guide__inner::after {
    position: absolute;
    content: "";
    background: url(/fr_ger/resources/images/classroom__search.svg) no-repeat;
    width: 161px;
    height: 120px;
    bottom: 0;
    right: 0;
    background-size: contain;
}

.main .classroom__search__guide ul {
    font-size: 1.4rem;
    padding-left: 15px;
    margin: 0 0 20px 0;
}

.main .classroom__search__guide li {
    line-height: 2;
}

.main .search__btn {
    max-width: 250px;
}

.main .search__btn a {
    font-size: 1.4rem;
    color: #fff;
    background: #FAAF18;
    display: block;
    padding: 19px 0;
    border-radius: 4px;
    text-align: center;
    position: relative;
}

.main .search__btn a::after {
    position: absolute;
    content: "";
    background: url(/fr_ger/resources/images/classroom__searchbtn__icon.svg) no-repeat;
    width: 16px;
    height: 17.07px;
    background-size: contain;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
}

.main .class_search .class_search_map {
    margin-bottom: 40px;
}

.main .class_search .class_search__h1 {
    font-size: 2.8rem;
    display: block;
    margin-bottom: 20px;
    padding: 20px;
    padding-left: 10px;
}

.main .class_search .text img {
    width: 20px;
    margin-right: 6px;
}

.main .class_search .jc_center {
    display: flex;
    margin-bottom: 28px;
}

.main .class_search .map_wrapper {
    margin-bottom: 40px;
}

.main .class_search .lang_choice > div {
    border-radius: 4px;
    font-weight: 700;
    font-size: 1.6rem;
    cursor: pointer;
    padding: 7px 10px;
    width: 100%;
    flex-grow: 1;
    background-color: #F5F5F5;
}

.main .class_search .lang_choice > div:not(:last-of-type) {
    margin-right: 20px;
}

.main .class_search .lang_choice > div p {
    margin: 0;
}

.main .class_search .lang_choice > div.focus {
    background: #BC2766;
    position: relative;
    display: inline-block;
    padding: 7px 10px;
    width: 100%;
    color: #fff;
}

.main .class_search .lang_choice > div.focus::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 7px solid transparent;
    border-top: 7px solid #bc2766;
}

.main .class_search .class_search__btn {
    margin-bottom: 40px;
}

.main .class_search .normal__btn {
    margin-left: 0;
}

.main .class_search .grayline {
    border-bottom: 1px solid #C8C8C8;
}

.main .class_search .class_search_input {
    margin-bottom: 80px;
}

.main .cards_kumon_blue .cards__headline {
    background-color: #7DCDF4;
}

.main .search_cards_wrap,
.main .kumon_blue_cards_wrap {
    border: 4px solid #7DCDF4;
    border-top: 0;
    border-radius: 0 0 10px 10px;
    display: flex;
    padding: 20px 40px;
}

.main .class_search .search_cards_wrap {
    padding: 20px 10px 30px 40px;
}

.main .class_search .blue__text {
    font-size: 1.8rem;
    font-weight: 700;
    color: #1069C4;
    margin: 0 0 20px 0;
}

.main .class_search .search_cards_left {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-right: 40px;
    border-right: 1px dashed #C8C8C8;
}

.main .class_search .search_cards_left img {
    width: 130.29px;
}

.main .class_search .search_cards_right {
    padding-left: 40px;
    flex-grow: 1;
}

.main .class_search .search_cards_right .search-nav {
    display: flex;
    font-size: 1.5rem;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.main .class_search .search_cards_right .radio__wrap {
    margin-bottom: 10px;
}

.main .class_search .search_cards_right .radio__wrap:not(:last-of-type) {
    margin-right: 20px;
}

.main .class_search .search_cards_right .radio01-input + label {
    position: relative;
    padding-left: 30px;
}

.main .class_search .search_cards_right .search-content {
    display: none;
}

.main .class_search .search_cards_right .search-content.active {
    display: block;
}

.main .class_search .search_cards_right .search-box dl {
    display: flex;
    font-size: 1.5rem;
    align-items: center;
    margin: 0;
    flex-wrap: wrap;
}

.main .class_search .search_cards_right .search-box dt {
    font-weight: 700;
    margin-right: 20px;
}

.main .class_search .search_cards_right .search-box .postcode dt {
    margin-bottom: 7px;
}

.main .class_search .search_cards_right .search-box dd {
    display: flex;
    width: 80%;
    margin: 0;
}

.main .class_search .search_cards_right .search-box .search-input {
    flex-grow: 1;
    display: flex;
    position: relative;
}

.main .class_search .search_cards_right .search-box .search-input form,
.main .class_search .search_cards_right .search-box form {
    width: 100%;
}

.main .class_search .search_cards_right .search-box .search-input input {
    width: 78.2%;
    height: 50px;
    border-radius: 4px 0 0 4px;
}

.main .class_search .search_cards_right .search-box .search-input label {
    position: absolute;
    right: 22%;
    top: 11px;
}

.main .class_search .search_cards_right .search-box .search-input label select {
    position: relative;
    border: 1px solid #C6C6C6;
    border-radius: 5px;
    background-color: #f8f9f9;
    width: 85px;
    height: 28px;
    margin-right: 8px;
    padding-left: 8px;
}

.main .class_search .search_cards_right .search-box .search-input label select::after {
    display: block;
    content: " ";
    position: absolute;
    top: 50%;
    right: 16px;
    width: 12px;
    height: 12px;
    margin-top: -5px;
    background: url(/fr_ger/resources/images/select_arrow_black.png) 0 2px no-repeat;
    background-size: 12px;
    pointer-events: none;
    appearance: none;
}

.main .class_search .search_cards_right .search-box .search-input button {
    width: 50px;
    height: 50px;
    border-radius: 0 4px 4px 0;
    background-color: #FAAF18;
    border: 0;
    cursor: pointer;
}

.main .class_search .search_cards_right .search-box .search-input img {
    width: 16px;
    height: 17.07px;
}

.main .classroom_search_wrap {
    margin-bottom: 80px;
}

.class_search_print .main {
    padding-top: 80px;
}

.class_search_print .main .print_btn {
    text-align: center;
    width: 90px;
    height: 32px;
    margin: 0 0 20px auto;
}

.class_search_print .main .print_btn a {
    display: block;
    background-color: #FAAF18;
    color: #fff;
    border-radius: 4px;
    padding: 7px 0;
    font-size: 1.2rem;
}

.class_search_print .main .class_search {
    margin-bottom: 80px;
}

.class_search_print .main .confirm-table {
    margin-bottom: 40px;
}

.class_search_print .main .confirm-table th,
.class_search_print .main .confirm-table td {
    padding: 20px;
}

.class_search_print .main .confirm-table td img {
    width: 30px;
}

.main .case-study-inner {
    display: flex;
    flex-wrap: wrap;
}

.main .case-study-item {
    width: calc(100% / 3 - 26.7px);
}

.main .case-study-item {
    margin-bottom: 40px;
}

.main .case-study-item:not(:nth-of-type(3n)) {
    margin-right: 40px;
}

.main .case-study-new {
    position: relative;
}

.main .case-study-new::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 70px 70px 0 0;
    border-color: #FAAF18 transparent transparent transparent;
    border-radius: 10px 0 0 0;
    z-index: 1;
}

/* 追加 */
.main .case-study-new::after {
    content: "NEW!";
    position: absolute;
    transform: rotate(315deg);
    display: block;
    font-size: 1.6rem;
    white-space: pre;
    color: #fff;
    top: 12px;
    left: 1px;
    text-align: center;
    z-index: 2;
    line-height: 1.2;
    font-weight: 700;
}

/* 追加 */
.main .case-study-item:hover .case-study-new::before,
.main .case-study-item:hover .case-study-new::after {
    opacity: 1;
}

.main .case-study-item .case-study-img img {
    border-radius: 10px 10px 0 0;
    width: 100%;
}

.main .case-study-item .case-study-content {
    position: relative;
    padding: 10px 20px;
    min-height: 124px;
    background-color: #F5F5F5;
}

.main .case-study-item .case-study-detail .lang {
    color: #fff;
    font-weight: 700;
    font-size: 1.2rem;
    position: absolute;
    left: 0;
    top: -25px;
    padding: 3.5px 10px;
}

.main .case-study-item .case-study-detail .lang-ger {
    background-color: #343399;
}

.main .case-study-item .case-study-detail .lang-fr {
    background-color: #BC2766;
}

.main .case-study-item .case-study-detail .case-date {
    font-size: 1.2rem;
    color: #1E1E1E;
}

.main .case-study-item .case-study-detail .case-study-headline {
    font-size: 1.5rem;
    font-weight: 700;
    margin-top: 10px;
    color: #1E1E1E;
}

.main .case-study-item .case-study-detail .case-study-prof {
    color: #fff;
    font-size: 1.2rem;
    padding: 5px 20px;
    background-color: #7DCDF4;
    border-radius: 0 0 10px 10px;
}

.main .classroom__search__guide p {
    font-size: 1.2rem;
}

.main .parts_list2_cards {
    margin-bottom: 40px;
}

.main .parts_list2_cards .cards__headline {
    font-size: 2.4rem;
}

.main .parts_list2_cards .kumon_blue_cards_wrap {
    display: block;
    padding: 20px 40px 30px 40px;
}

.main .gray_cards {
    background-color: #F5F5F5;
    padding: 30px 40px;
    border-radius: 4px;
}

.main .gray_cards .gray_cards_inner {
    display: flex;
}

.main .gray_cards .gray_cards_inner p {
    margin: 0;
}

.main .gray_cards .gray_cards_left {
    padding-right: 40px;
}

.main .gray_cards .gray_cards_left img {
    width: 114px;
}

.main .gray_cards .gray_cards_right {
    width: 80%;
    flex-grow: 1;
    border-radius: 4px;
}

.main .faq {
    margin-bottom: 80px;
}

.main .bg_gray {
    background-color: #F5F5F5;
    padding: 15px 30px 30px;
    border-radius: 4px;
    margin-bottom: 40px;
}

.main .faq .bg_gray ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.main .faq .bg_gray li {
    padding: 15px 0 15px 26px;
    border-bottom: 1px dashed #C8C8C8;
    position: relative;
}

.main .faq .bg_gray li::before {
    position: absolute;
    content: "";
    background: url(/fr_ger/resources/images/pagelink.svg) no-repeat;
    width: 16px;
    height: 16px;
    background-size: contain;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
}

.main .faq .bg_gray li a{
    font-size: 1.4rem;
    color: #1E1E1E;
}

.main .faq .faq__acco .faq__acco__item {
    border: 2px solid #7DCDF4;
    border-radius: 10px;
    margin-bottom: 20px;
}

.main .faq .faq__acco .faq__acco__item p {
    margin: 0;
    padding-left: 34px;
}

.main .faq .faq__acco dt {
    padding: 22px 30px;
    background-color: #DCF4FF;
    border-radius: 10px;
    cursor: pointer;
    position: relative;
}

.main .faq .faq__acco dt::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 30px;
    width: 20px;
    height: 2.5px;
    background: #1069C4;
    transform: translate(-10%, -50%);
    transition: .3s;
}

.main .faq .faq__acco dt.faq_open::before {
    opacity: 0;
}

.main .faq .faq__acco dt::after {
    content: "";
    position: absolute;
    top: 49%;
    height: 2.5px;
    right: 32px;
    transform: rotate(90deg);
    transition: transform .3s ease-in-out;
    width: 20px;
    background: #1069C4;
    transition: .2s;
}

.main .faq .faq__acco dt.faq_open::after {
    transform: translateY(-50%) rotate(180deg);
}

.main .faq .faq__acco dt p {
    font-weight: 700;
    position: relative;
}

.main .faq .faq__acco dt p::before {
    position: absolute;
    content: "";
    background: url(/fr_ger/resources/images/Q.svg) no-repeat;
    width: 19px;
    height: 24px;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    background-size: contain;
}

.main .faq .faq__acco dt.faq_open {
    border-radius: 10px 10px 0 0;
}

.main .faq .faq__acco dd {
    padding: 20px 30px;
    margin: 0;
    display: none;
}

.main .faq .faq__acco dd .a_headline {
    font-weight: 700;
    position: relative;
}

.main .faq .faq__acco dd .a_headline::before {
    position: absolute;
    content: "";
    background: url(/fr_ger/resources/images/A.svg) no-repeat;
    width: 19px;
    height: 24px;
    top: 13px;
    left: 0;
    transform: translateY(-35%);
    background-size: contain;
}

.main .faq .faq__acco dd a {
    color: #1069C4;
    position: relative;
}

.main .e-pencil .blue__frame {
    padding: 40px;
}

.main .e-pencil .e-pencil__inner {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
}

.main .e-pencil .e-pencil__left {
    width: 67%;
    margin-right: 20px;
}

.main .e-pencil .h3 {
    margin-bottom: 20px;
}

.main .e-pencil .h3 + .text {
    margin-bottom: 40px;
}

.main .e-pencil ul {
    margin: 0 0 40px 0;
    padding-left: 14px;
    font-size: 1.4rem;
}

.main .e-pencil ul li {
    margin-bottom: 5px;
}

.main .e-pencil .e-pencil__right {
    width: 259px;
    margin-top: 44px;
}

.main .e-pencil .e-pencil__btn {
    max-width: 300px;
    margin-left: 0;
}

.main .free_trial {
    margin-bottom: 80px;
}

.main .free_trial table {
    width: 100%;
    border: 1px solid #C8C8C8;
    border-bottom: 0;
    margin-bottom: 80px;
}

.main .free_trial table tr:not(:first-of-type) {
    border-bottom: 1px solid #C8C8C8;
}

.main .free_trial table th {
    padding: 20px 0;
    background: #7DCDF4;
    color: #fff;
    font-size: 2rem;
    font-weight: 700;
}

.main .free_trial table .td_headline {
    text-align: center;
    width: 24%;
    font-size: 1.5rem;
    font-weight: 700;
    background: #DCF4FF;
}

.main .free_trial table td {
    padding: 20px
}

.main .free_trial table td p:not(:first-child) {
    margin: 0;
    font-size: 1.2rem;
    line-height: 1.667;
}

.main .free_trial .important_text {
    margin-bottom: 20px;
} 

.main .free_trial .search_contents {
    display: flex;
}

.main .free_trial .search_contents_left {
    background-color: #7DCDF4;
    color: #fff;
    font-size: 2rem;
    font-weight: 700;
    border-radius: 10px 0 0 10px;
    display: flex;
    align-items: center;
    padding: 0 30px;
    width: 23.08%;
}

.main .free_trial .search_contents_right {
    display: flex;
    flex-grow: 1;
    background-color: #DCF4FF;
    border-radius: 0 10px 10px 0;
    padding: 23px 30px 15px 25px;
}

.main .free_trial .search_contents_right img {
    width: 100px;
    margin-right: 25px;
    margin-bottom: -15px;
}

.main .free_trial .search_contents_right .contents__inner__btn {
    display: flex;
    flex-grow: 1;
    margin: 0;
    align-items: center;
}

.main .free_trial .search_contents_right .french__btn {
    margin: 0 20px 0 0;
    flex-grow: 1;
}

.main .french__btn a {
    background-color: #BC2766;
}

.main .free_trial .search_contents_right .german__btn {
    margin: 0;
    flex-grow: 1;
}

.main .german__btn a {
    background-color: #343399;
}

.main .admission .membership_fee {
    width: 100%;
    text-align: center;
    margin-bottom: 40px;
}

.main .admission .membership_fee th {
    background-color: #7DCDF4;
    color: #fff;
    font-size: 1.5rem;
    padding: 21px 0;
    border: 1px solid #C8C8C8;
}

.main .admission .membership_fee td {
    border: 1px solid #C8C8C8;
    padding: 20px 0;
    font-size: 1.5rem;
    width: calc(100% / 3);
}

.main .admission .membership_fee .td_headline {
    background-color: #DCF4FF;
    font-weight: 700;
}

.main .admission .admission_flow {
    margin-bottom: 20px;
}

.main .admission .admission_flow ol,
.main .study__flow ol {
    list-style-type: none;
    counter-reset: number;
    padding: 0;
}

.main .admission .admission_flow li {
    font-size: 1.5rem;
    padding: 30px 50px 30px 40px;
    border: 2px solid #7DCDF4;
    border-radius: 10px;
    line-height: 1.6;
    margin-bottom: 20px;
}

.main .admission .admission_flow li p {
    padding-left: 40px;
    margin: 0;
}

.main .admission .admission_flow li .count span,
.main .study__flow li .count .num {
    position: relative;
}
.main .admission .admission_flow li .count span::before {
    content: counter(number);
    counter-increment: number;
    position: absolute;
    left: -30.5px;
    top: 3%;
    color: #fff;
    z-index: 1;
    font-weight: 700;
}

.main .study__flow li .count .num::before {
    content: counter(number);
    counter-increment: number;
    position: absolute;
    left: 11px;
    top: 7%;
    color: #fff;
    z-index: 1;
    font-weight: 700;
}

.main .admission .admission_flow li .count span::after {
    content: '';
    position: absolute;
    display: block;
    top: 60%;
    left: -41px;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    background-color: #1069C4;
    border-radius: 50%;
}

.main .study__flow li .count .num::after {
    content: '';
    position: absolute;
    display: block;
    top: 60%;
    left: 0;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    background-color: #1069C4;
    border-radius: 50%;
}

.main .study_course .cards_wrap {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 40px;
}

.main .study_course .study__cards {
    width: calc(100% / 2 - 20px);
    margin-bottom: 40px;
}

.main .study_course .study__cards:nth-of-type(odd) {
    margin-right: 40px;
}

.main .study_course .study__cards__headline {
    background-color: #7DCDF4;
    font-size: 2rem;
    font-weight: 700;
    border-radius: 10px 10px 0 0;
    color: #fff;
    text-align: center;
    padding: 20px
}

.main .study_course .study__cards__headline span {
    font-size: 1.6rem;
}

.main .study_course .study__cards__contents {
    padding: 20px 40px 30px 40px;
    flex-direction: column;
    justify-content: space-between;
}

.main .study_course .text {
    margin-bottom: 20px;
}

.main .correspondence.study_flow .study__flow_content li .study__flow__right .text:last-of-type {
    margin-bottom: 0;
}

.main .study_course .study__flow .study__flow__rightt .text:last-of-type {
    margin-bottom: 0;
}

.main .study_course .study__cards__contents a {
    font-size: 1.5rem;
    color: #1069C4;
    position: relative;
}

.main .study_course .study__cards__contents a:first-of-type {
    margin-right: 40px;
}

.main .study_course .study__cards__contents a::after,
.main .faq .faq__acco dd a::after {
    position: absolute;
    content: "";
    background: url(/fr_ger/resources/images/blue_arrow.svg);
    width: 6px;
    height: 10px;
    background-size: contain;
    right: -16px;
    top: 50%;
    transform: translateY(-35%);
}

.main .study_course .study__cards__contents a span,
.main .faq .faq__acco dd a span {
    padding-bottom: 5px;
    position: relative;
}
.main .study_course .study__cards__contents a span::before,
.main .faq .faq__acco dd a span::before {
    background: #1069C4;
    content: '';
    width: 100%;
    height: 1.5px;
    position: absolute;
    left: 0;
    bottom: 0;
    margin: auto;
    transform-origin: right top;
    transform: scale(0, 1);
    transition: transform .3s;
}
.main .study_course .study__cards__contents a span:hover::before,
.main .faq .faq__acco dd a span:hover::before {
    transform-origin: left top;
    transform: scale(1, 1);
}

.main .study_course .study__flow .count {
    font-size: 2rem;
    color:#1069C4;
    font-weight: 700;
    padding-left: 38px;
    margin-bottom: 20px;
}

.main .study_course .study__flow .study__flow__item .red {
    font-size: 1.4rem;
}

.main .study_course .study__flow__item img {
    display: block;
    margin: 0 auto;
}

.main .classroom_study_flow .study__flow .study__flow_content {
    margin-bottom: 80px;
}

.main .study_course .study__flow .study__flow_content li {
    background-color: #fff;
    border-radius: 10px;
    margin-bottom: 62px;
    position: relative;
}

.main .study_course .study__flow .study__flow_content li:not(:last-of-type)::after {
    position: absolute;
    content: "";
    background: url(/fr_ger/resources/images/study_flow_arrow.svg) no-repeat;
    width: 32px;
    height: 22px;
    background-size: contain;
    bottom: -42px;
    left: 50%;
    transform: translateX(-50%);
}

.main .study_course .study__flow .study__flow__item {
    display: flex;
    padding: 30px 40px;
    align-items: center;
}

.main .study_course .study__flow .study__flow__item .item {
    width: 50%;
}

.main .study_course .study__flow .study__flow__left {
    border-right: 1px dashed #7DCDF4;
    padding-right: 40px;
}

.main .study__flow li .count .num::before {
    left: -29px;
    top: 1%;
}

.main .study__flow li .count .num::after {
    top: 55%;
    left: -38px;
}

.main .study_course .study__flow .study__flow__right {
    padding-left: 40px;
}

.main .blue {
    color: #1069C4;
    font-weight: 700;
}

.main .study_course .study__flow .annotation_wrap {
    background-color: #fff;
    border-radius: 10px;
    padding: 20px;
    font-size: 1.2rem;
    line-height: 2;
    margin-bottom: 80px;
}

.main .study_course .study__flow .annotation_wrap ol {
    counter-reset: number;
    margin: 0;
}

.main .study_course .study__flow .annotation_wrap ol li {
    position: relative;
    padding-left: 20px;
}

.main .study_course .study__flow .annotation_wrap ol li::before {
    content: "*" counter(number);
    counter-increment: number;
    position: absolute;
    top: 0;
    left: 0;
}

.main .study_course .study__flow .annotation_wrap ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

.main .study_course .study__flow .annotation_wrap ul li {
    position: relative;
    padding-left: 20px;
}

.main .study_course .study__flow .annotation_wrap ul li::before {
    position: absolute;
    content: "*";
    left: 3px;
    top: 2px;
}

.main .inspection {
    margin: 0 0 80px 0;
}

.main .inspection .inspection_item {
    display: flex;
    align-items: center;
}

.main .inspection .inspection_item .inspection_left {
    padding-right: 80px;
    width: 80%;
}

.main .inspection .inspection_item .h3 {
    margin-bottom: 20px;
}

.main .inspection .inspection_item .annotation {
    font-size: 1.2rem;
    margin-bottom: 20px;
}

.main .inspection .inspection_item .inspection_contact {
    display: flex;
    padding: 20px;
    margin-bottom: 0;
}

.main .inspection .inspection_item .inspection_contact_left {
    padding-right: 40px;
}

.main .inspection .inspection_item .tel {
    margin-bottom: 0;
}

.main .inspection .inspection_item .tel .blue {
    font-weight: 400;
}

.main .inspection .inspection_item .tel .blue:first-of-type {
    padding-right: 20px;
}

.main .inspection .inspection_item .inspection_contact_right {
    flex-grow: 1;
}

.main .inspection .inspection_item .inspection_contact_right .contents__inner__btn {
    margin-bottom: 0;
}

.main .inspection .inspection_item .inspection_right {
    padding-right: 40px;
}

.main .movie-item {
    position: relative;
    padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
    height: 0;
    overflow: hidden;
}

.main .movie-item iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@media screen and (max-width:1200px) {
    .main .h1__inner {
        padding: 0 6.66vw;
    }

    .main .topicpath {
        padding: 0.8333333333333334vw 6.66vw 4.166666666666666vw 6.66vw;
    }
}

@media screen and (max-width:1050px) {
    .main .admission__item .admission__item__inner {
        flex: 1;
    }

    .main .admission__item .admission__item__left {
        margin-left: 50px;
    }

    .main .inspection .inspection_item .inspection_contact {
        display: block;
    }

    .main .inspection .inspection_item .inspection_contact_left {
        padding-right: 0;
        margin-bottom: 20px;
    }
}

@media screen and (max-width:1024px) {
    .main .search_cards_wrap {
        align-items: center;
    }

    .main .class_search .search_cards_right .search-box .search-input label {
        top: -39px;
        left: 105px;
        display: flex;
        right: 0;
    }

    .main .class_search .search_cards_right .search-box dt {
        margin-bottom: 14px;
    }

    .main .classroom_search_wrap .search_cards_right .search-nav {
        margin-bottom: 30px;
    }
}

@media screen and (max-width:900px) {
    .main .free_trial .search_contents_left {
        font-size: 1.3rem;
        padding: 15px;
        width: 18%;
    }

    .main .free_trial .search_contents_right .french__btn a,
    .main .free_trial .search_contents_right .german__btn a {
        font-size: 1.2rem;
    }

    .main .study_course .study__cards__contents a:first-of-type {
        margin-right: 0;
    }

    .main .study_course .study__cards__contents a {
        display: block;
        width: fit-content;
    }

    .main .study_course .study__cards__contents a:not(:last-of-type) {
        margin-bottom: 5px;
    }

    .main .study_course .study__cards__contents a span {
        padding-bottom: 3px;
    }

    .main .study_course .study__cards__contents a span::before {
        height: 1px;
    }

}

@media screen and (max-width:768px) {
    .main .page__title {
        margin-bottom: 8vw;
    }
    .main .page__title img {
        height: auto;
    }

    .main .h1__inner {
        padding: 0 5.333333333333334vw;
    }

    h1 {
        font-size: 6.933333333333333vw;
        padding: 2.666666666666667vw
    }

    h2 {
        font-size: 5.333333333333334vw;
        line-height: 1.5;
        padding: 2.666666666666667vw 1.3333333333333335vw 2.666666666666667vw 2.666666666666667vw;
        margin-bottom: 5.333333333333334vw;
    }

    .main .h2,
    .main .h2__french,
    .main .h2__german {
        border-left-width: 1.3333333333333335vw;
    }

    .h3 {
        font-size: 4.8vw;
        line-height: 1.3;
        margin-bottom: 5.333333333333334vw;
    }

    .h4 {
        font-size: 4.266666666666667vw;
        padding-left: 1.6vw;
        margin-bottom: 5.333333333333334vw;
    }

    .h5 {
        font-size: 4vw;
    }

    .h5::before {
        width: 6.768000000000001vw;
    }

    .main .text {
        font-size: 3.733333333333334vw;
        line-height: 1.6;
        margin-bottom: 5.333333333333334vw;
    }

    .main .precautions {
        font-size: 3.733333333333334vw;
        line-height: 1.6;
        margin-top: 2.666666666666667vw;
    }

    .main .faq .faq__acco .faq__acco__item p.precautions {
        font-size: 3.733333333333334vw;
        line-height: 1.6;
        margin-top: 2.666666666666667vw;
    }

    .main .precautions-width {
        padding-right: 0;
    }

    .main .pc-add-mb {
        margin-bottom: 5.333333333333334vw;
    }

    .main .sp-hide {
        display: none;
    }

    .main .img__inner.add-mb {
        margin-bottom: 1.3333333333333335vw;
    }

    .main .text__img .text {
        font-size: 3.733333333333334vw;
        line-height: 1.6;
        margin-bottom: 5.333333333333334vw;
    }

    .main .text__img .img__inner {
        align-items: start;
    }
    
    .main .text__img .img__inner .left img {
        width: 38vw;
        margin-bottom: 2.8000000000000003vw;
    }

    .materials_french .main .text__img .img__inner .left img {
        width: 38vw;
        margin-bottom: 5.5vw;
    }
    
    .main .text__img .img__inner .right img {
        width: 39.46666666666667vw;
        margin-bottom: 6.5vw;
    }

    .main .text__img .img__inner .right {
        margin: 5px 5px 5px 10px;
    }

    .main .text__img .img__inner .left {
        margin: 5px 10px 5px 5px;
    }
    
    .main .text__img .img__inner figcaption {
        font-size: 3.733333333333334vw;
        margin-bottom: 40px;
    }

    .main .blue__frame {
        padding: 5.333333333333334vw;
        padding-bottom: 2.666666666666667vw;
        border-width: 0.8vw;
    }

    .main .blue__frame:last-of-type {
        margin-bottom: 40px;
    }

    .main .blue__frame .h3 {
        font-size: 5.333333333333334vw;
        margin-bottom: 2.666666666666667vw;
    }

    .main .blue__frame .h4 {
        font-size: 4.8vw;
        margin-bottom: 2.666666666666667vw;
        line-height: 1;
    }

    .main .blue__frame .text {
        margin-bottom: 2.666666666666667vw;
    }

    .main .blue__frame .tag__list li {
        font-size: 3.2vw;
    }

    .main .blue__frame .tag__list li:not(:last-of-type)::after {
        height: 3.2vw;
    }

    .main .blue__frame .tag__list {
        padding: 2.666666666666667vw;
        margin-bottom: 5.333333333333334vw;
    }

    .main .blue__frame .modal__list {
        flex-wrap: wrap;
    }

    .main .blue__frame .modal__list .modal__item {
        width: calc(50% - 2.666666666666667vw);
        margin-bottom: 5.333333333333334vw;
    }

    .main .blue__frame .modal__list .modal__item:not(:last-of-type) {
        margin-right: 0;
    }

    .main .blue__frame .modal__list .modal__item:not(:nth-of-type(even)) {
        margin-right: 5.066666666666666vw;
    }

    .main .blue__frame .modal__list .modal__item .img-box {
        margin-bottom: 1.3333333333333335vw;
    }

    .main .blue__frame .modal__list .modal__item .modal__caption .number,
    .main .blue__frame .modal__list .modal__item .modal__caption .ttl {
        font-size: 3.292vw;
    }

    .main .blue__frame .modal__list .modal__item .img-box::after {
        background: url(/fr_ger/resources/images/modal_zoom.svg);
        width: 8vw;
        height: 8vw;
        background-size: contain;
    }

    .main .blue__frame .popup__wrapper {
        width: 89.33333333333333vw;
        height: 115.73333333333333vw;
    }

    .main .blue__frame .img-section .modal__closebtn {
        width: 5.333333333333334vw;
        height: 5.333333333333334vw;
        top: 6vw;
        right: 4vw;
    }

    .main .blue__frame .img-section .popup__img {
        width: 58.666666666666664vw;
        height: 78.2vw;
        top: 8vw
    }

    .modal-block .caption {
        font-size: 3.2vw;
        bottom: 6vw;
    }

    .main .bgc__blue {
        padding: 10.666666666666668vw 0;
    }

    .main .bgc__blue .h2__white {
        font-size: 8vw;
        margin-bottom: 5.333333333333334vw;
    }

    .main .bgc__blue .white__text {
        font-size: 3.733333333333334vw;
        margin-bottom: 5.333333333333334vw;
    }

    .main .bgc__blue .feature_copy :nth-last-of-type(2) {
        margin-bottom: 5.333333333333334vw;
    }

    .main .bgc__blue .attention {
        font-size: 3.2vw;
        margin-bottom: 10.666666666666668vw;
    }

    .main .cards__half {
        display: block;
        margin-bottom: 5.333333333333334vw;
    }

    .main .cards__half .cards__half__item {
        width: 100%;
    }

    .main .cards__half .cards__half__item:nth-of-type(odd) {
        margin-right: 0;
    }

    .main .cards__half .cards__half__item.french {
        padding: 5.333333333333334vw;
        margin-bottom: 5.333333333333334vw;
    }

    .main .cards__half .cards__half__item .h4 {
        font-size: 4.8vw;
        border-left: 1.0666666666666667vw solid #7DCDF4;
        margin-bottom: 3.733333333333334vw;
    }

    .main .cards__half .cards__half__item .text {
        margin-bottom: 5.333333333333334vw;
    }

    .main .cards__half .cards__half__item a {
        font-size: 4.266666666666667vw;
        padding: 3.733333333333334vw;
    }

    .main .cards__half .cards__half__item a::after {
        width: 2.2933333333333334vw;
        height: 3.888vw;
        background-size: contain;
        right: 5.4399999999999995vw;
        transform: translateY(-45%);
    }

    .main .cards__half .cards__half__item.german {
        padding: 5.333333333333334vw;
    }

    .main .cards__half .cards__half__item .french__img,
    .main .cards__half .cards__half__item .german__img {
        width: 49.6vw;
    }

    .main .cards .cards__headline {
        font-size: 5.333333333333334vw;
        padding: 4vw 0 4vw 5.333333333333334vw;
    }

    .main .cards .text__wrap {
        padding: 5.333333333333334vw;
    }

    .main .cards .blue__emphasis {
        font-size: 4.266666666666667vw;
        margin-bottom: 5.333333333333334vw;
    }

    .main .cards .text__wrap .text {
        margin-bottom: 5.333333333333334vw;
    }

    .main .admission__item {
        display: block;
        padding: 5.333333333333334vw 5.333333333333334vw 8.533333333333333vw 5.333333333333334vw;
        margin-bottom: 2.666666666666667vw;
    }

    .main .admission__item__wrap {
        padding-top: 10.666666666666668vw;
    }

    .main .admission__item .admission__headline {
        font-size: 4.266666666666667vw;
        margin-bottom: 2.666666666666667vw;
    }

    .main .admission__item .admission__item__right .text {
        font-size: 3.733333333333334vw;
        margin-bottom: 5.333333333333334vw;
    }

    .main .admission__item .admission__item__left {
        margin-left: 0;
    }

    .main .admission__item .admission__item__btn a {
        max-width: 66.66666666666666vw;
        font-size: 3.6vw;
        padding: 3.733333333333334vw 18.4vw;
    }

    .main .admission__item .admission__item__btn a span::after {
        width: 2.904vw;
        height: 2.4vw;
        right: -5.037333333333334vw;
    }

    .main .admission__item::after {
        width: 21.866666666666667vw;
        height: 24.266666666666666vw;
        right: 3vw;
    }

    .main .contents__inner__btn {
        margin-bottom: 21.333333333333336vw;
    }

    .main .button {
        margin: 0 auto 5.333333333333334vw auto;
        max-width: 78.66666666666666vw;
    }

    .main .button a,
    .main .button input {
        font-size: 4.266666666666667vw;
        padding: 3.733333333333334vw 0;
    }

    .main .button a::after,
    .main .important__btn::after {
        width: 2.2933333333333334vw;
        height: 3.888vw;
        right: 5.333333333333334vw;
    }

    .main .small__btn {
        max-width: 66.66666666666666vw;;
    }

    .main .small__btn a {
        font-size: 3.733333333333334vw;
        padding: 3.733333333333334vw 0;
    }

    .main .small__btn a span::after {
        width: 2.904vw;
        height: 2.4vw;
        right: -5.037333333333334vw;
    }

    .main .contact__h1 h1 {
        font-size: 6.933333333333333vw;
        padding: 9.333333333333334vw 0;
    }

    .main .contact__top .h4 {
        font-size: 4.8vw;
    }

    .main .step__nav {
        margin-bottom: 10.666666666666668vw;
    }

    .main .step__nav ol li {
        width: 16vw;
        height: 16vw;
        font-size: 3.733333333333334vw;
        border-width: 0.5333333333333333vw;
        border-radius: 13.333333333333334vw;
        line-height: 15vw;
    }

    .main .step__nav ol li:not(:last-of-type) {
        margin-right: 5.333333333333334vw;
    }

    .main .step__nav ol li:not(:last-of-type)::after {
        width: 5.5vw;
        right: -6vw;
        height: 0.5333333333333333vw;
    }

    .main .form__toptext {
        font-size: 3.733333333333334vw;
        margin-bottom: 5.333333333333334vw;
    }

    .main .contact-table,
    .main .confirm-table {
        font-size: 3.733333333333334vw;
    }

    .main .contact-table th,
    .main .contact-table td,
    .main .confirm-table th,
    .main .confirm-table td {
        display: block;
        padding: 4vw 5.333333333333334vw;
    }

    .main .contact-table th,
    .main .confirm-table th {
        width: 100%;
    }

    .main .contact-table th .required {
        font-size: 2.666666666666667vw;
        padding: 0.7vw 1.0666666666666667vw 1vw;
        border-radius: 0.5333333333333333vw;
        margin-left: 2.1333333333333333vw;
        margin-top: -2px;
    }

    .main .contact-table td input,
    .main .contact-table td textarea {
        border-radius: 1.0666666666666667vw;
    }

    .main .contact-table td input {
        height: 13.333333333333334vw;
    }

    .main .contact-table td .input-name,
    .main .contact-table td .input-tel,
    .main .contact-table td .input-text-large {
        width: 100%;
    }

    .main .contact-table td .input-text-large__wrap > div {
        display: block;
    }

    .main .error_message:not(:empty).ml {
        margin-left: 0;
    }

    .main .contact-table td .mail_confirmation {
        font-size: 3.2vw;
        margin-bottom: 2.666666666666667vw;
    }

    .main .contact-table td .radio__wrap,
    .main .contact-table td .input-text-large__wrap {
        margin-bottom: 4vw;
    }

    .main .contact-table td .radio01-input + label {
        padding-left: 7.466666666666668vw;
    }

    .main .contact-table td .radio01-input + label::before,
    .main .class_search .search_cards_right .radio01-input + label::before {
        width: 5.333333333333334vw;
        height: 5.333333333333334vw;
    }

    .main .contact-table td .radio01-input:checked + label::before {
        width: 5.333333333333334vw;
        height: 5.333333333333334vw;
        border-width: 1.6vw;
    }

    .main .contact-table td .input-text-large__wrap,
    .main .contact-table td .form-textarea {
        display: block;
    }

    .main .contact-table td .before__text {
        margin-bottom: 2.666666666666667vw;
        display: block;
        width: 100%;
    }

    .main .contact-table td .checks .check {
        margin-right: 7.466666666666668vw;
        margin-bottom: 3.733333333333334vw;
    }

    .main .contact-table td .check input[type=checkbox] + label {
        font-size: 3.733333333333334vw;
        padding-left: 6.666666666666667vw;
    }

    .main .contact-table td .check input[type=checkbox] + label::before {
        height: 4vw;
        width: 4vw;
        top: 1.0666666666666667vw;
    }

    .main .contact-table td .check input[type=checkbox] + label::after {
        border-width: 0 0.5333333333333333vw 0.5333333333333333vw 0;
        height: 2.1333333333333333vw;
        width: 1.3333333333333335vw;
        left: 1.3333333333333335vw;
        top: 1.6vw;
    }

    .main .contact-table td textarea {
        height: 40vw;
    }

    .main .confirm__btn__area {
        margin-bottom: 21.333333333333336vw;
    }

    .main .confirm__btn__area p {
        font-size: 3.733333333333334vw;
        margin-bottom: 10.666666666666668vw;
    }

    .main .confirm__btn__area .confirm__btn__wrap {
        display: block;
    }

    .main .confirm__btn__area .confirm__btn__wrap .important__btn {
        margin: 0 auto 5.333333333333334vw auto;
        width: 100%;
    }

    .main .confirm__btn__area .confirm__btn__wrap .return__btn {
        width: 40vw;
        margin: auto;
    }

    .main .confirm__btn__area .confirm__btn__wrap .return__btn input {
        font-size: 3.733333333333334vw;
        padding: 3.4666666666666663vw 0 4vw 0;
    }

    .main .confirm__btn__area .confirm__btn__wrap .return__btn::before {
        height: 2.933333333333333vw;
        width: 1.6vw;
        left: 5.333333333333334vw;
        transform: translateY(-35%);
    }

    .main .complete {
        margin-bottom: 21.333333333333336vw;
    }

    .main .complete .sub__blue {
        padding: 5.333333333333334vw;
    }

    .main .complete .complete__headline {
        font-size: 5.333333333333334vw;
        margin-bottom: 2.666666666666667vw;
    }

    .main .complete p {
        font-size: 3.733333333333334vw;
        margin-bottom: 5.333333333333334vw;
    }

    .main .classroom__search__guide {
        margin-bottom: 10.666666666666668vw;
    }

    .main .classroom__search__guide__inner {
        padding: 5.333333333333334vw;
    }

    .main .classroom__search__guide__inner::after {
        width: 32.266666666666666vw;
        height: 24.53333333333333vw;
        left: 50%;
        transform: translateX(-50%);
        bottom:26.666666666666668vw;
    }

    .main .classroom__search__guide ul {
        margin-bottom: 35.199999999999996vw;
        font-size: 3.733333333333334vw;
    }

    .main .classroom__search__guide li {
        line-height: 1.8;
    }

    .main .classroom__search__guide li:not(:last-child) {
        margin-bottom: 2.666666666666667vw;
    }

    .main .classroom__search__guide p {
        font-size: 3.2vw;
    }

    .main .search__btn {
        max-width: 100%;
    }

    .main .search__btn a {
        font-size: 3.733333333333334vw;
        padding: 5.066666666666666vw 0;
    }

    .main .search__btn a::after {
        width: 4.266666666666667vw;
        height: 4.552vw;
        right: 5.333333333333334vw;
    }

    .main .class_search .class_search_map {
        margin: 5.333333333333334vw 0;
    }

    .main .class_search .class_search__h1 {
        font-size: 5.333333333333334vw;
        margin-bottom: 5.333333333333334vw;
    }

    .main .class_search .text img {
        width: 5.333333333333334vw;
        margin-right: 0;
    }

    .main .class_search .jc_center {
        margin-bottom: 5.333333333333334vw;
    }

    .main .class_search .map_wrapper {
        margin-bottom: 10.666666666666668vw;
    }

    .main .class_search .lang_choice > div {
        padding: 2.4vw 2.933333333333333vw;
    }

    .main .class_search .lang_choice > div:not(:last-of-type) {
        margin-right: 2.666666666666667vw;
    }

    .main .class_search .lang_choice > div p {
        font-size: 3.2vw;
    }

    .main .class_search .lang_choice > div:not(:last-of-type) p {
        line-height: 3;
    }

    .main .class_search .lang_choice > div.focus {
        padding: 2.4vw 2.933333333333333vw;
    }

    .main .class_search .class_search__btn {
        margin-bottom: 10.666666666666668vw;
    }

    .main .class_search .normal__btn {
        margin: auto;
    }

    .main .class_search .class_search_input {
        margin-bottom: 21.333333333333336vw;
    }

    .main .cards_kumon_blue .cards__headline {
        font-size: 4.8vw;
        padding-right: 5.333333333333334vw;
    }

    .main .class_search .search_cards_wrap {
        display: block;
        border-width: 0.65vw;
    }

    .main .class_search .search_cards_right .radio01-input + label {
        padding-left: 8vw;
    }

    .main .class_search .search_cards_right .radio__wrap:not(:last-of-type) {
        margin-right: 5.333333333333334vw;
    }

    .main .class_search .search_cards_right .radio__wrap {
        margin-bottom: 2.666666666666667vw;
    }

    .main .class_search .search_cards_left {
        border-bottom: 1px dashed #C8C8C8;
        border-right: 0;
        padding-right: 0;
        display: block;
        padding-bottom: 5.469333333333334vw;
    }

    .main .class_search .blue__text {
        font-size: 4.266666666666667vw;
        margin-bottom: 5.333333333333334vw;
    }

    .main .class_search .search_cards_left img {
        display: block;
        margin: auto;
        width: 34.744vw;
        height: 14.133333333333335vw;
    }

    .main .class_search .search_cards_right {
        padding: 5.333333333333334vw 0 0 0;
    }

    .main .class_search .search_cards_right .search-nav {
        font-size: 3.733333333333334vw;
        margin-bottom: 2.666666666666667vw;
    }

    .main .class_search .search_cards_right .radio01-input + label::after {
        width: 2.666666666666667vw;
        height: 2.666666666666667vw;
        left: 1.3333333333333335vw;
        transform: translateY(-45%);
    }

    .main .class_search .search_cards_right .search-box dl {
        display: block;
        font-size: 3.733333333333334vw;
    }

    .main .class_search .search_cards_right .search-box .search-content dt {
        margin: 0 0 5.2vw 0;
    }

    .main .class_search .search_cards_right .search-box dd {
        width: 100%;
    }

    .main .class_search .search_cards_right .search-box .search-input label {
        top: -11vw;
        left: 25vw;
    }

    .main .class_search .search_cards_right .search-box .search-input label select {
        width: 23vw;
        height: 6vw;
    }

    .main .class_search .search_cards_right .search-box .search-input input {
        width: 84%;
        height: 13.333333333333334vw;
    }

    .main .class_search .search_cards_right .search-box .search-input button {
        width: 13.333333333333334vw;
        height: 13.333333333333334vw;
    }

    .main .class_search .search_cards_right .search-box .search-input img {
        width: 4.266666666666667vw;
        height: 4.552vw;
    }

    .main .case-study-item {
        width: calc(100% / 2 - 20px);
    }

    .main .case-study-item:nth-of-type(odd) {
        margin-right: 40px;
    }

    .main .case-study-item:nth-of-type(even) {
        margin-right: 0;
    }

    .main .case-study-new::before {
        border-width: 10vw 10vw 0 0;
    }

    .main .case-study-new::after {
        font-size: 2.266667vw;
        top: 1.9vw;
        left: 0.5vw;
    }

    .main .parts_list2_cards {
        margin-bottom: 5.333333333333334vw;
    }

    .main .gray_cards {
        padding: 5.333333333333334vw;
    }

    .main .gray_cards .gray_cards_inner {
        display: block;
    }

    .main .gray_cards .gray_cards_left {
        padding-right: 0;
    }

    .main .gray_cards .gray_cards_left img {
        width: 30.4vw;
        display: block;
        margin: 0 auto 5.333333333333334vw auto;
    }

    .main .gray_cards .gray_cards_right {
        width: 100%;
    }

    .main .gray_cards .h4 {
        margin-bottom: 2.666666666666667vw;
    }

    .main .faq {
        margin-bottom: 21.333333333333336vw;
    }

    .main .bg_gray {
        padding: 1.3333333333333335vw 5.333333333333334vw 5.333333333333334vw;
        margin-bottom: 10.666666666666668vw;
    }

    .main .faq .bg_gray li {
        padding: 4vw 0 4vw 6.933333333333333vw;
    }

    .main .faq .bg_gray li::before {
        width: 4.266666666666667vw;
        height: 4.266666666666667vw;
    }

    .main .faq .bg_gray li a {
        font-size: 3.2vw;
    }

    .main .faq .faq__acco dt {
        padding: 0 4vw;
        height: 18.133333333333333vw;
        align-items: center;
        display: flex;
    }

    .main .faq .faq__acco dt p::before {
        width: 4.266666666666667vw;
        height: 5.333333333333334vw;
    }

    .main .faq .faq__acco dd .a_headline::before {
        width: 3.4666666666666663vw;
        height: 5.333333333333334vw;
    }

    .main .faq .faq__acco .faq__acco__item .faq_headline p {
        max-width: 73vw;
    }

    .main .faq .faq__acco .faq__acco__item p {
        padding-left: 5.866666666666666vw;
    }

    .main .faq .faq__acco dt::before {
        width: 4vw;
        height: 0.5333333333333333vw;
        right: 4vw;
    }

    .main .faq .faq__acco dt::after {
        width: 4vw;
        height: 0.5333333333333333vw;
        right: 4.4vw;
    }

    .main .faq .faq__acco dd {
        padding: 4vw;
    }

    .main .e-pencil .blue__frame {
        padding: 5.333333333333334vw;
    }

    .main .e-pencil .e-pencil__inner {
        display: block;
    }

    .main .e-pencil .e-pencil__right {
        width: 48.34666666666667vw;
        margin: 0 auto;
        padding-bottom: 5.493333333333333vw;
    }

    .main .e-pencil .e-pencil__left {
        width: 100%;
        margin: 0;
    }

    .main .e-pencil .h3 {
        font-size: 4.8vw;
        margin-bottom: 5.333333333333334vw;
    }

    .main .e-pencil .h3 + .text {
        margin-bottom: 5.6000000000000005vw;
    }

    .main .e-pencil .h4 {
        margin-bottom: 5.333333333333334vw;
    }

    .main .e-pencil ul {
        font-size: 3.733333333333334vw;
        margin-bottom: 5.333333333333334vw;
    }

    .main .e-pencil ul li {
        margin-bottom: 1.6vw;
    }

    .main .e-pencil .e-pencil__btn {
        max-width: 61.6vw;
        margin: auto;
    }

    .main .e-pencil .e-pencil__btn a {
        padding: 2.666666666666667vw 0;
    }

    .main .e-pencil .e-pencil__btn span::after {
        right: -22vw;
    }

    .main .free_trial {
        margin-bottom: 21.333333333333336vw;
    }

    .main .free_trial table {
        margin-bottom: 10.666666666666668vw;
    }

    .main .free_trial table th {
        font-size: 4.8vw;
        padding: 2.666666666666667vw 0;
    }

    .main .free_trial table td {
        padding: 4vw;
    }

    .main .free_trial table .td_headline {
        font-size: 3.733333333333334vw;
        width: 22.933333333333334vw;
        padding: 0;
    }

    .main .free_trial .important_text {
        margin-bottom: 3.4666666666666663vw;
    }

    .main .free_trial table td p:not(:first-child) {
        font-size: 3.2vw;
    }

    .main .free_trial table td p:nth-child(2) {
        margin-bottom: 1.6vw;
    }

    .main .free_trial .search_contents {
        display: block;
    }

    .main .free_trial .search_contents_left {
        width: 100%;
        border-radius: 10px 10px 0 0;
        justify-content: center;
        font-size: 4.266666666666667vw;
        padding: 4vw;
    }

    .main .free_trial .search_contents_right {
        display: block;
        text-align: center;
        padding: 5.333333333333334vw;
        border-radius: 0 0 10px 10px;
    }

    .main .free_trial .search_contents_right img {
        width: 26.666666666666668vw;
        margin: 0 auto;
        padding-bottom: 5.333333333333334vw;
    }

    .main .free_trial .search_contents_right .contents__inner__btn {
        display: block;
    }

    .main .free_trial .search_contents_right .french__btn,
    .main .free_trial .search_contents_right .german__btn {
        margin: 0;
        max-width: 100%;
    }

    .main .free_trial .search_contents_right .french__btn {
        margin-bottom: 5.333333333333334vw;
    }

    .main .free_trial .search_contents_right .french__btn a, 
    .main .free_trial .search_contents_right .german__btn a {
        font-size: 4.266666666666667vw;
    }

    .main .admission .admission_flow {
        margin-bottom: 5.333333333333334vw;
    }

    .main .admission .membership_fee th {
        font-size: 3.733333333333334vw;
        padding: 2.933333333333333vw 0;
    }

    .main .admission .membership_fee td {
        font-size: 3.733333333333334vw;
        padding: 2.933333333333333vw 0;
    }

    .main .admission .admission_flow li {
        font-size: 3.733333333333334vw;
        padding: 4vw 5.333333333333334vw;
        margin-bottom: 5.333333333333334vw;
        border-radius: 1.3333333333333335vw;
    }

    .main .admission .admission_flow li .count span::after {
        width: 6.933333333333333vw;
        height: 6.933333333333333vw;
        top: 53%;
        left: -9vw;
    }

    .main .admission .admission_flow li .count span::before {
        left: -6.8vw;
        top: -6%;
    }

    .main .admission .admission_flow li p {
        padding-left: 9.6vw;
    }

    .main .study_course .cards_wrap {
        display: block;
        margin-bottom: 10.666666666666668vw;
    }

    .main .study_course .study__cards {
        width: 100%;
    }

    .main .study_course .study__cards:nth-of-type(odd) {
        margin-right: 0;
    }

    .main .study_course .study__cards__headline {
        font-size: 4.8vw;
        padding: 2.666666666666667vw;
        line-height: 1.3;
    }

    .main .study_course .study__cards__headline span {
        font-size: 3.733333333333334vw;
    }

    .main .study_course .study__cards__contents {
        padding: 5.333333333333334vw;
    }

    .main .study_course .study__cards__contents a {
        font-size: 3.733333333333334vw;
    }

    .main .study_course .study__cards__contents a::after,
    .main .faq .faq__acco dd a::after {
        width: 1.6vw;
        height: 2.666666666666667vw;
        right: -3.2vw;
    }

    .main .study_course .study__cards__contents a:not(:last-of-type) {
        margin-bottom: 5.333333333333334vw;
    }

    .main .study_course .study__cards__contents a span::before {
        height: 1.5px;
    }

    .main .study_course .study__cards {
        margin-bottom: 5.333333333333334vw;
    }

    .main .kumon_blue_cards_wrap {
        border-width: 0.5333333333333333vw;
    }

    .main .study_course .study__flow .study__flow__item {
        display: block;
        padding: 5.333333333333334vw;
    }

    .main .study_course .study__flow .study__flow__item .item {
        width: 100%;
    }

    .main .study_course .study__flow .study__flow__left {
        padding-right: 0;
        border-right: 0;
        border-bottom: 1px dashed #7DCDF4;
        margin-bottom: 5.333333333333334vw;
    }

    .main .study_course .study__flow .count {
        font-size: 4.8vw;
        margin-bottom: 5.866666666666666vw;
        padding-left: 9.333333333333334vw;
    }

    .main .study_course .study__flow__item img {
        padding-bottom: 5.333333333333334vw;
    }

    .main .study_course .study__flow_content li:first-of-type img {
        width: 39.013333333333335vw;
    }

    .main .study_course .study__flow_content li:nth-of-type(2) img {
        width: 35.65333333333333vw;
    }

    .main .study_course .study__flow_content li:nth-of-type(3) img {
        width: 13.253333333333334vw;
    }

    .main .study_course .study__flow_content li:nth-of-type(4) img {
        width: 25.333333333333336vw;
    }

    .main .study_course .study__flow_content li:nth-of-type(5) img {
        width: 40.69333333333333vw;
    }

    .main .study_course .study__flow_content li:nth-of-type(6) img {
        width: 14.933333333333335vw;
    }

    .main .study__flow li .count .num::after {
        width: 6.933333333333333vw;
        height: 6.933333333333333vw;
        left: -9vw;
    }

    .main .study__flow li .count .num::before {
        left: -7vw;
        top: 0;
    }

    .main .classroom_search_wrap {
        margin-bottom: 10.666666666666668vw;
    }

    .main .study_course .study__flow .study__flow__item .item {
        padding-left: 0;
    }

    .main .classroom_study_flow .study__flow .study__flow_content {
        margin-bottom: 0;
    }

    .main .study_course .study__flow .study__flow_content li {
        margin-bottom: 11.200000000000001vw;
    }

    .main .study_course .study__flow .study__flow_content li:not(:last-of-type)::after {
        width: 8.533333333333333vw;
        height: 5.866666666666666vw;
        bottom: -8.533333333333333vw;
    }

    .main .study_course .study__flow .study__flow__item .red {
        font-size: 3.2vw;
    }

    .main .study_course .study__flow .annotation_wrap {
        padding: 5.333333333333334vw;
        font-size: 3.2vw;
        margin-bottom: 10.666666666666668vw;
    }

    .main .study_course .study__flow .annotation_wrap ol li,
    .main .study_course .study__flow .annotation_wrap ul li {
        padding-left: 5.333333333333334vw;
        font-size: 3.2vw;
    }

    .main .inspection .inspection_item {
        display: block;
        padding-bottom: 5.546666666666667vw;
    }

    .main .inspection .inspection_item .inspection_left {
        padding-right: 0;
        width: 100%;
    }

    .main .inspection .inspection_item .annotation {
        font-size: 3.2vw;
        margin-bottom: 5.333333333333334vw;
    }

    .main .inspection .inspection_item .inspection_right {
        padding-right: 0;
        text-align: center;
    }

    .main .inspection .inspection_item .inspection_contact {
        padding: 2.666666666666667vw;
        margin-bottom: 5.333333333333334vw;
    }

    .main .inspection .inspection_item .inspection_right img {
        width: 29.12vw;
    }

    .main .inspection .inspection_item .tel .blue:first-of-type {
        padding-right: 5.066666666666666vw;
    }
    
}

@media screen and (max-width:428px) {
    .main .case-study-item {
        display: block;
        width: 100%;
    }

    .main .case-study-item:nth-of-type(odd) {
        margin-right: 0;
    }

    .main .case-study-new::before {
        border-width: 18.666666666666668vw 18.666666666666668vw 0 0;
    }

    .main .case-study-new::after {
        font-size: 4.266666666666667vw;
        top: 3.5vw;
        left: 0;
    }

    .main .case-study-item .case-study-detail .lang {
        font-size: 3.2vw;
        padding: 0.9333333333333335vw 2.666666666666667vw;
        top: -6.666666666666667vw;
    }

    .main .case-study-new::before {
        top: -.5px;
    }

    .main .case-study-item .case-study-content {
        min-height: auto;
    }

    .main .case-study-item .case-study-detail .case-study-headline {
        margin-bottom: 5.333333333333334vw;
    }

    .main .blue__frame .img-section .popup__img {
        width: 58.666666666666664vw;
        height: 83.2vw;
        top: 8vw
    }

    .main .blue__frame .img-section .modal__closebtn {
        top: 4vw;
    }

    .modal-block .caption {
        font-size: 4.081vw;
        bottom: 8vw;
    }
}
