﻿#plan .intro .note {
    margin: 5.5814vw 0 0
}

#plan .intro .note ul {
    display: flex;
    flex-direction: column;
    gap: 2.3256vw 0
}

#plan .intro .note li {
    text-align: left;
    font-size: 3.2558vw
}

#plan .lower_title {
    margin: 0 0 11.1628vw
}

#plan .lower_title+.lead p {
    margin: 0 0 7.907vw;
    text-align: left;
    font-size: 4.65vw;
    line-height: 1.75
}

#plan .reason_list .link_area {
    padding: 2em 0 0
}

#junior #faq {
    padding-bottom: 0 !important
}

@media(min-width: 601px) {
    #plan .intro .note {
        margin: 5px 0 0
    }

    #plan .intro .note ul {
        gap: 8px 0
    }

    #plan .intro .note li {
        font-size: 11px
    }

    #plan.lower .lower_title {
        margin: 0 0 45px
    }

    #plan.lower .lower_title+.lead p {
        font-size: 14px;
        margin: 0 0 45px;
        text-align: center;
        line-height: 1.5
    }
}

@media(min-width: 961px) {
    #plan .intro .note ul {
        flex-direction: row;
        gap: 0 1em
    }

    #plan.lower .intro .page_navi.navi_3 {
        max-width: 897px
    }

    #plan.lower .intro .page_navi.navi_3 li {
        width: calc((100% - 54px)/3)
    }
}

.recommend {
    padding: 8.6047vw 8.1395vw;
    border-radius: 4.65vw;
    box-sizing: border-box;
    background: rgb(var(--white-clr))
}

.recommend dt {
    margin: 0 0 7.4419vw;
    font-size: 4.186vw;
    font-weight: 600;
    white-space: nowrap
}

.recommend ul {
    display: grid;
    gap: 3.72vw 0
}

.recommend li {
    font-size: 4.186vw;
    font-weight: 600;
    text-align: left;
    position: relative;
    line-height: 1.66;
    padding-left: 8.8372vw
}

.recommend li::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 6.9767vw;
    height: 6.9767vw;
    background: url(../img/list_icon.svg) no-repeat center/cover
}

.recommend.inner__box {
    padding: 8.6047vw 6.51vw
}

.recommend.inner__box p {
    margin-bottom: 0 !important
}

.recommend.inner__box small {
    margin-top: 1rem
}

.recommend.inner__box+small {
    margin-top: 1rem
}

@media(min-width: 601px) {
    .recommend {
        max-width: 820px;
        margin: 0 auto;
        padding: 40px 7.4% 45px;
        border-radius: 20px
    }

    .recommend dt {
        margin: 0;
        font-size: inherit;
        margin-bottom: 30px
    }

    .recommend ul {
        gap: 13px 70px
    }

    .recommend li {
        font-size: 18px;
        line-height: 1.38;
        padding-left: 38px
    }

    .recommend li::before {
        width: 25px;
        height: 25px
    }

    .recommend.inner__box {
        padding: 40px 50px 45px
    }
}

#plan.lower .plan_list>ul {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column
}

#plan.lower .plan_list>ul>li {
    background: rgb(var(--white-clr));
    position: relative;
    box-sizing: border-box
}

#plan.lower .plan_list li .course_name {
    font-weight: 800
}

#plan.lower .plan_list li .icon_list ul {
    display: flex;
    justify-content: center
}

#plan.lower .plan_list li .description {
    text-align: left
}

#plan.lower .plan_list li .comment ul {
    display: flex;
    flex-direction: column
}

#plan.lower .plan_list li .comment li {
    position: relative;
    padding: 0 0 0 1em;
    text-align: left;
    line-height: 1.5
}

#plan.lower .plan_list li .comment li::before {
    content: "＊";
    display: block;
    position: absolute;
    top: 0;
    left: 0
}

#plan.lower .plan_list li .table_area table {
    width: 100%
}

#plan.lower .plan_list li .table_area th,
#plan.lower .plan_list li .table_area td {
    text-align: center;
    border: 2px solid rgb(var(--white-clr));
    font-weight: 600
}

#plan.lower .plan_list li .table_area thead th {
    color: #74b3d9;
    background: #e1f1fb
}

#plan.lower .plan_list li .table_area tbody th,
#plan.lower .plan_list li .table_area tbody td {
    background: #f2eff0
}

#plan.lower .plan_list li .table_area tbody td {
    font-size: 3.95vw;
    font-weight: 700
}

#plan.lower .plan_list li .frequency {
    box-sizing: border-box;
    background: url("../img/plan_list_frequency_bg.svg") no-repeat left top/cover;
    position: absolute;
    top: 0;
    font-weight: 600
}

#plan.lower .panel.adult .plan_list li .frequency {
    box-sizing: border-box;
    background: url("../img/plan_list_frequency_bg_2.svg") no-repeat left top/cover;
    position: absolute;
    top: 0;
    font-weight: 600
}

#plan.lower .panel.u_student .plan_list li .frequency {
    box-sizing: border-box;
    background: url("../img/plan_list_frequency_bg.svg") no-repeat left top/cover;
    position: absolute;
    top: 0;
    font-weight: 600
}

#plan.lower .plan_list>ul {
    gap: 5.1163vw 0
}

#plan.lower .plan_list>ul>li {
    border-radius: 4.65vw;
    padding: 0 6.9767vw 7.6744vw
}

#plan.lower .plan_list li .course_name {
    line-height: 1.2;
    font-size: 5.814vw
}

#plan.lower .plan_list li .icon_list {
    margin: 0 0 4.186vw
}

#plan.lower .plan_list li .icon_list ul {
    gap: 0 2.3256vw
}

#plan.lower .plan_list li .icon_list li {
    width: 18.6047vw
}

#plan.lower .plan_list li .description {
    font-size: 4.186vw;
    line-height: 1.78
}

#plan.lower .plan_list li .comment li {
    font-size: 3.2558vw
}

#plan.lower .plan_list li .table_area th,
#plan.lower .plan_list li .table_area td {
    height: 15.3488vw
}

#plan.lower .plan_list li .table_area th,
#plan.lower .plan_list li .table_area td {
    font-size: 4.186vw
}

#plan.lower .plan_list li .table_area thead th:first-of-type {
    width: 23vw
}

#plan.lower .plan_list li .table_area thead th:last-of-type {
    width: 25.5814vw
}

#plan.lower .plan_list li .frequency {
    width: 16.28vw;
    height: 20.7vw;
    right: 6.0465vw;
    padding: 3vw 0 0;
    font-size: 5.81vw
}

#plan.lower .plan_list li .frequency .number {
    font-size: 9.53vw
}

#plan.lower .plan_list li .frequency .mini {
    display: block;
    font-size: 3.6vw
}

#plan.lower #menu_body .plan_list:last-of-type {
    padding-bottom: 2rem
}

@media(min-width: 601px) {
    #plan.lower .plan_list {
        margin: 0 auto
    }

    #plan.lower .plan_list>ul {
        gap: 40px 40px
    }

    #plan.lower .plan_list>ul>li {
        border-radius: 20px;
        padding: 0 30px 30px
    }

    #plan.lower .plan_list li .course_name {
        line-height: 1.22;
        font-size: 22px
    }

    #plan.lower .plan_list li .icon_list {
        margin: 0 0 14px
    }

    #plan.lower .plan_list li .icon_list ul {
        gap: 0 8px
    }

    #plan.lower .plan_list li .icon_list li {
        width: 60px
    }

    #plan.lower .plan_list li .description {
        font-size: 14px;
        line-height: 1.43;
        min-height: 2.86em
    }

    #plan.lower .plan_list li .comment li {
        font-size: 11px
    }

    #plan.lower .plan_list li .table_area th,
    #plan.lower .plan_list li .table_area td {
        height: 45px
    }

    #plan.lower .plan_list li .table_area thead th {
        font-size: 13px
    }

    #plan.lower .plan_list li .table_area tbody th,
    #plan.lower .plan_list li .table_area tbody td {
        font-size: 14px
    }

    #plan.lower .plan_list li .table_area thead th:first-of-type {
        width: 83px
    }

    #plan.lower .plan_list li .table_area thead th:last-of-type {
        width: 110px
    }

    #plan.lower .plan_list li .frequency {
        width: 70px;
        height: 89px;
        right: 26px;
        padding: 12px 0 0;
        font-size: 25px
    }

    #plan.lower .plan_list li .frequency .number {
        font-size: 41px
    }

    #plan.lower .plan_list li .frequency .mini {
        font-size: 17px
    }
}

@media(min-width: 961px) {
    #plan.lower .plan_list {
        max-width: 820px
    }

    #plan.lower .plan_list>ul {
        flex-direction: row
    }

    #plan.lower #menu_body .plan_list>ul {
        justify-content: center
    }

    #plan.lower .plan_list>ul>li {
        width: calc((100% - 40px)/2)
    }
}

@media(min-width: 601px)and (max-width: 960px) {
    #plan.lower .plan_list {
        max-width: 600px
    }

    #plan.lower .plan_list li .table_area table,
    #plan.lower .course_safe .plan_list li .comment {
        max-width: 450px;
        margin: 0 auto
    }
}

#plan.lower .course_quick .plan_list li .course_name {
    text-align: left
}

#plan.lower .course_quick {
    padding: 29.5349vw 0 0
}

#plan.lower .course_quick .round_corner {
    margin-top: 0;
    padding: 0;
    background: linear-gradient(-96deg, rgb(var(--grad-g-clr)) 0%, rgb(var(--grad-b-clr)) 50%, rgb(var(--grad-p-clr)) 100%)
}

#plan.lower .course_quick .recommend {
    margin-bottom: 8.8372vw
}

#plan.lower .course_quick .plan_list>ul>li {
    padding-top: 8.6047vw
}

#plan.lower .course_quick .plan_list li .course_name {
    margin: 0 0 6.9767vw
}

#plan.lower .course_quick .plan_list li .description {
    margin: 0 0 2.5581vw
}

#plan.lower .course_quick .plan_list li .comment {
    margin: 0 0 6.0465vw
}

#plan.lower .course_quick .plan_list li .comment small {
    display: block
}

#plan.lower .course_quick .comment_list {
    margin-bottom: 10.4651vw;
    padding-top: 8vw
}

@media(min-width: 601px) {
    #plan.lower .course_quick {
        padding: 135px 0 0
    }

    #plan.lower .course_quick .round_corner {
        margin-top: 0;
        padding: 0
    }

    #plan.lower .course_quick .recommend {
        margin-bottom: 38px
    }

    #plan.lower .course_quick .recommend dd ul {
        grid-auto-flow: column;
        grid-template-rows: repeat(2, auto)
    }

    #plan.lower .course_quick .plan_list>ul>li {
        padding-top: 36px
    }

    #plan.lower .course_quick .plan_list li .course_name {
        margin: 0 0 23px
    }

    #plan.lower .course_quick .plan_list li .description {
        margin: 0 0 7px
    }

    #plan.lower .course_quick .plan_list li .comment {
        margin: 0 0 33px
    }

    #plan.lower .course_quick .comment_list {
        margin-bottom: 50px;
        padding-top: 50px
    }
}

#plan.lower .course_safe {
    padding: 28.8372vw 0 0
}

#plan.lower .course_safe .round_corner {
    margin-top: 0;
    padding: 0 0 0
}

#plan.lower .course_safe .recommend {
    margin-bottom: 9.0698vw
}

#plan.lower .course_safe .recommend+p {
    margin-bottom: 9.0698vw
}

#plan.lower .course .plan_list_wrap {
    position: relative;
    border-radius: 0 0 9.3023vw 9.3023vw;
    padding: 0 0 9.3vw
}

#plan.lower .course .plan_other_wrap {
    padding: 0 0 9.3vw
}

#plan.lower .course_safe .plan_tab_list {
    position: relative
}

#plan.lower .course .plan_list_wrap .tab_list {
    position: sticky;
    box-sizing: border-box;
    top: 0;
    height: 19.0667vw;
    margin: 0 auto;
    width: 100%;
    z-index: 99;
    transition: top .5s
}

#plan.lower .course .plan_list_wrap .tab_list ul {
    display: flex;
    justify-content: center
}

#plan.lower .course .plan_list_wrap .tab_list li {
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    font-weight: 600;
    color: #a5a7b2;
    height: 19.0698vw;
    border-radius: 4.65vw 4.65vw 0 0;
    border: .4651vw solid rgb(var(--white-clr));
    line-height: 1.2;
    cursor: pointer;
    transition: color .2s, background-color .2s
}

#plan.lower .course .plan_list_wrap .tab_list li.select {
    color: rgb(var(--base-clr))
}

#plan.lower .course .plan_list_wrap .tab_list li.adult.select {
    border-bottom: .4651vw solid rgb(var(--grad-b-clr))
}

#plan.lower .course .plan_list_wrap .tab_list li.u_student.select {
    border-bottom: .4651vw solid #e0e1f5
}

#plan.lower .course .plan_list_wrap .tab_list li.adult {
    background: rgb(var(--grad-b-clr))
}

#plan.lower .course .plan_list_wrap .tab_list li.u_student {
    background: #e0e1f5
}

#plan.lower .course .plan_list_wrap .tab_list li:nth-child(2) {
    margin: 0 -1px
}

#plan.lower .course .plan_list_inn .panel_list .panel .plan_list {
    padding: 0 0 14.6512vw
}

#plan.lower .plan_list.pbus {
    padding-bottom: 2rem !important
}

#plan.lower .course .plan_list_inn .panel_list .panel .whole_body {
    padding: 9.7674vw 0 0
}

#plan.lower .course .plan_list_inn .panel_list .panel .panel_small {
    padding: 0 4.65vw 14.6512vw
}

#plan.lower .course .plan_list_inn .panel_list .adult {
    background: rgb(var(--grad-b-clr))
}

#plan.lower .course .plan_list_inn .panel_list .u_student {
    background: #e0e1f5
}

/*
#plan.lower .course .plan_list_inn .panel_list .panel {
    height: 0;
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    transition: opacity .8s, visibility .8s
}*/

#plan.lower .course .plan_list_inn .panel_list .panel.select {
    height: auto;
    opacity: 1;
    visibility: visible
}

#plan.lower .course .plan_list_wrap .part {
    padding: 15.1163vw 0 15.5814vw
}

#plan.lower .course .plan_list_wrap .other {
    padding: 0 0 15.5814vw
}

#plan.lower .course .plan_list_wrap .lower_sub_title {
    margin: 0 0 8.3721vw
}

#plan.lower .course_safe .plan_list li .img {
    margin: 0 -6.9767vw 6.2791vw;
    border-radius: 4.65vw 4.65vw 0 0;
    overflow: hidden
}

#plan.lower .course_safe .plan_list li .course_name {
    margin-bottom: 5.1163vw
}

#plan.lower .course_safe .plan_list li .description {
    margin-bottom: 3.4884vw
}

#plan.lower .course_safe .plan_list li .comment {
    margin-top: 3.4884vw;
    margin-bottom: 6.9767vw
}

#plan.lower .course .plan_list_wrap .individual_part .text {
    font-size: 4.186vw;
    margin: 0 0 2.3256vw;
    text-align: left;
    line-height: 1.78
}

#plan.lower .course .plan_list_wrap .individual_part .table_area {
    margin: 0 0 5.5814vw
}

#plan.lower .course .plan_list_wrap .individual_part .text {
    margin-bottom: 5.5814vw
}

#plan.lower .course .plan_list_wrap .individual_part table {
    width: 100%;
    border-collapse: separate
}

#plan.lower .course .plan_list_wrap .individual_part table.link tbody th {
    background: #e0e1f5 !important
}

#plan.lower .course .plan_list_wrap .individual_part th,
#plan.lower .course .plan_list_wrap .individual_part td {
    text-align: center;
    height: 15.3488vw;
    line-height: 1.15;
    border: 1px solid #dcefe6
}

#plan.lower .course .plan_list_wrap .individual_part th {
    font-size: 3.95vw;
    font-weight: 600
}

#plan.lower .course .plan_list_wrap .individual_part td {
    font-size: 3.95vw;
    font-weight: 700
}

#plan.lower .course .plan_list_wrap .individual_part thead th {
    color: rgb(var(--white-clr));
    background: #99c8e3;
    empty-cells: hide
}

#plan.lower .course .plan_list_wrap .individual_part tbody th {
    color: rgb(var(--white-clr));
    width: 22%;
    background: #ab9ca2
}

#plan.lower .course .plan_list_wrap .individual_part tbody td {
    width: 26%;
    background: rgb(var(--white-clr))
}

#plan.lower .course .plan_list_wrap .individual_part.purple th,
#plan.lower .course .plan_list_wrap .individual_part.purple td {
    border: 1px solid #e0e1f5
}

#plan.lower .course .plan_list_wrap .individual_part.green th,
#plan.lower .course .plan_list_wrap .individual_part.green td {
    border: 1px solid #dcefe6
}

#plan.lower .course .plan_list_wrap .individual_part.green tbody th {
    background: #ab9ca2
}

@media(min-width: 601px) {
    #plan.lower .course_safe {
        padding: 135px 0 0
    }

    #plan.lower .course_safe .round_corner {
        margin-top: 0;
        padding: 0
    }

    #plan.lower .course_safe .recommend {
        margin-bottom: 45px
    }

    #plan.lower .course_safe .recommend+p {
        margin-bottom: 45px
    }

    #plan.lower .course .plan_list_wrap {
        border-radius: 0 0 70px 70px;
        padding: 0 0 60px
    }

    #plan.lower .course .plan_other_wrap {
        padding: 0 0 60px
    }

    #plan.lower .course .plan_list_wrap .tab_list {
        height: 60px;
        border-bottom: 2px solid rgb(var(--white-clr))
    }

    #plan.lower .course .plan_list_wrap .tab_list ul {
        max-width: 820px;
        margin: 0 auto
    }

    #plan.lower .course .plan_list_wrap .tab_list li:nth-child(2) {
        margin: 0 -2px
    }

    #plan.lower .course .plan_list_wrap .tab_list li {
        height: 62px;
        border-radius: 20px 20px 0 0;
        border: 2px solid rgb(var(--white-clr))
    }

    #plan.lower .course .plan_list_wrap .tab_list li.adult.select {
        border-bottom: 2px solid rgb(var(--grad-b-clr))
    }

    #plan.lower .course .plan_list_wrap .tab_list li.u_student.select {
        border-bottom: 2px solid #e0e1f5
    }

    #plan.lower .course .plan_tab_list {
        border-bottom: 2px solid rgb(var(--white-clr))
    }

    #plan.lower .course .plan_list_inn .panel_list .panel .plan_list {
        padding: 0 0 70px
    }

    #plan.lower .plan_list.pbus {
        padding-bottom: 30px !important
    }

    #plan.lower .course .plan_list_inn .panel_list .panel .whole_body {
        padding: 68px 0 0
    }

    #plan.lower .course .plan_list_inn .panel_list .panel .panel_small {
        padding: 0 0 70px
    }

    #plan.lower .course .plan_list_wrap .part {
        padding: 77px 0 79px
    }

    #plan.lower .course .plan_list_wrap .other {
        padding: 0 0 79px
    }

    #plan.lower .course .plan_list_wrap .lower_sub_title {
        margin: 0 0 40px
    }

    #plan.lower .course_safe .plan_list li .img {
        margin: 0 -30px 23px;
        border-radius: 20px 20px 0 0
    }

    #plan.lower .course_safe .plan_list li .course_name {
        margin-bottom: 18px
    }

    #plan.lower .course_safe .plan_list li .description {
        margin-bottom: 12px
    }

    #plan.lower .course_safe .plan_list li .comment {
        margin-top: 8px;
        margin-bottom: 13px
    }

    #plan.lower .course .plan_list_wrap .individual_part {
        padding: 0;
        max-width: 820px;
        margin: 0 auto
    }

    #plan.lower .course .plan_list_wrap .individual_part .text {
        font-size: inherit;
        margin: 0 0 30px
    }

    #plan.lower .course .plan_list_wrap .individual_part .table_area {
        margin: 0 0 18px
    }

    #plan.lower .course .plan_list_wrap .individual_part .comment {
        margin-bottom: 0
    }

    #plan.lower .course .plan_list_wrap .individual_part th,
    #plan.lower .course .plan_list_wrap .individual_part td {
        height: 45px
    }

    #plan.lower .course .plan_list_wrap .individual_part th {
        font-size: 13px
    }

    #plan.lower .course .plan_list_wrap .individual_part td {
        font-size: 14px
    }

    #plan.lower .course .plan_list_wrap .individual_part tbody th {
        width: 29.3%
    }

    #plan.lower .course .plan_list_wrap .individual_part tbody td {
        width: 23.6%
    }

    #plan.lower .course .plan_list_wrap .adult .individual_part tbody th,
    #plan.lower .course .plan_list_wrap .u_student .individual_part tbody th {
        padding: 0 !important
    }

    #plan.lower .course .plan_list_wrap .adult .individual_part,
    #plan.lower .course .plan_list_wrap .u_student .individual_part {
        margin-bottom: 0 !important
    }
}

@media(min-width: 961px) {
    #plan.lower .course_safe .recommend dd ul {
        grid-auto-flow: column;
        grid-template-rows: repeat(2, auto)
    }

    #plan.lower .course_safe .other .plan_list>ul {
        justify-content: center
    }

    #plan.lower .course_safe .plan_list li .more_btn {
        max-width: 100%
    }
}

@media(min-width: 1291px) {
    #plan.lower .course_safe .other .plan_list {
        max-width: 1250px
    }

    #plan.lower .course_safe .other .plan_list>ul>li {
        width: calc((100% - 80px)/3)
    }
}

#plan.lower .junior {
    margin-bottom: 7.44vw;
    padding: 5.814vw 0 0
}

#plan.lower .junior .block {
    border-radius: 4.65vw;
    padding: 5.814vw 6.9767vw 5.1163vw;
    background: rgb(var(--grad--p-clr));
    background: linear-gradient(45deg, rgb(var(--grad--p-clr)) 0%, rgb(var(--grad-b-clr)) 100%)
}

#plan.lower .junior .block .headline {
    display: block;
    color: rgb(var(--orange-clr));
    font-weight: 800;
    font-size: 5.814vw;
    margin: 0 0 3.25vw;
    padding: 9.3023vw 0 0;
    position: relative
}

#plan.lower .junior .block .headline::before {
    content: "";
    display: block;
    background: url("../img/icon_leaf.svg") no-repeat left top/contain;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 8.6vw;
    height: 6.28vw;
    margin: 0 auto
}

#plan.lower .junior .block .headline_txt {
    display: block;
    position: relative;
    margin-bottom: 4.18vw;
    font-size: 3.72vw;
    font-weight: 600
}

#plan.lower .junior .block .headline_txt+.standard_btn {
    margin-top: 0
}

@media(min-width: 601px) {
    #plan.lower .junior {
        margin-bottom: 70px;
        padding: 70px 0 0
    }

    #plan.lower .junior .block {
        width: 390px;
        margin: 0 auto;
        border-radius: 20px;
        padding: 25px 30px 22px
    }

    #plan.lower .junior .block .headline {
        margin: 0 0 14px;
        padding: 40px 0 0;
        font-size: 25px
    }

    #plan.lower .junior .block .headline::before {
        width: 37px;
        height: 27px
    }

    #plan.lower .junior .block .headline_txt {
        margin-bottom: 16px;
        font-size: 16px
    }
}

#plan.lower .belongings_point .title {
    padding: 0
}

#plan.lower .rebooking {
    padding: 18.6047vw 0 0;
    margin: 0 0 18.3721vw
}

#plan.lower .rebooking .round_corner {
    padding: 9.5349vw 0
}

@media(min-width: 601px) {
    #plan.lower .rebooking {
        padding: 80px 0 0;
        margin: 0 0 70px
    }

    #plan.lower .rebooking .round_corner {
        padding: 83px 0
    }
}

#plan section p {
    text-align: left;
    font-size: 4.186vw;
    line-height: 1.77;
    margin-bottom: 5.5814vw
}

#plan section small+p {
    margin-top: 5.5814vw
}

#plan .standard_btn {
    margin-top: 8vw
}

#plan.lower h2 {
    margin: 0 0 11.1628vw;
    color: #593e49;
    font-size: 6.5116vw;
    line-height: 1.42
}

#plan strong {
    color: rgb(var(--orange-clr))
}

#plan.lower .course .plan_list_wrap .adult .individual_part th,
#plan.lower .course .plan_list_wrap .adult .individual_part td {
    border: 1px solid rgb(var(--grad-b-clr))
}

#plan.lower .course .plan_list_wrap .adult .individual_part tbody th,
#plan.lower .course .plan_list_wrap .u_student .individual_part tbody th {
    background: #ab9ca2;
    padding: 2vw;
    box-sizing: border-box
}

#plan .plan_tbl_wrap table.block {
    width: 100%
}

#plan .plan_tbl_wrap ul.list {
    text-align: left;
    font-size: 4.186vw;
    line-height: 1.77
}

#plan .plan_tbl_wrap ul.list li {
    position: relative;
    padding-left: 6vw
}

#plan .plan_tbl_wrap ul.list li::before {
    content: "";
    display: block;
    overflow: hidden;
    position: absolute;
    top: .75em;
    left: .6em;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: rgb(var(--base-clr))
}

#plan .round_corner .plan_tbl_wrap .tbl_wrap>tr>th {
    color: rgb(var(--white-clr));
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    font-size: 4.5vw;
    line-height: 1.05;
    padding: 5.1163vw 13.9535vw;
    border-bottom: .4651vw solid rgb(var(--grad-b-clr));
    background: #babdec;
    font-weight: 600
}

#plan .round_corner .plan_tbl_wrap .tbl_wrap>tr>td {
    border-bottom: .4651vw solid rgb(var(--grad-b-clr))
}

#plan .round_corner .plan_tbl_wrap .tbl_wrap tr th,
#plan .round_corner .plan_tbl_wrap .tbl_wrap tr td {
    display: block;
    padding: 5.33vw;
    text-align: center
}

#plan .round_corner .plan_tbl_wrap .tbl_wrap tr>td {
    text-align: left;
    background: rgb(var(--white-clr))
}

#plan .round_corner .plan_tbl_wrap .tbl_wrap tr td {
    padding: 3.0233vw 4.186vw 4.186vw
}

#plan .round_corner .plan_tbl_wrap .tbl_wrap tr td a {
    position: relative;
    display: inline-block;
    color: rgb(var(--link-clr));
    text-decoration: underline;
    box-sizing: border-box
}

#plan .round_corner .plan_tbl_wrap .tbl_wrap tr>td>dl dt {
    position: relative;
    font-size: 4.41vw;
    line-height: 1.57;
    padding: 0 0 3.0233vw;
    margin: 0 0 4.65vw
}

#plan .round_corner .plan_tbl_wrap .tbl_wrap tr>td>dl dt::before {
    content: "";
    display: block;
    width: 100%;
    background: #f9e0d8;
    background: linear-gradient(45deg, rgb(249, 224, 216) 25%, rgb(218, 241, 255) 75%);
    position: absolute;
    left: 0;
    bottom: 0;
    height: .6977vw;
    border-radius: 27.907vw
}

#plan .round_corner .plan_tbl_wrap .tbl_wrap tr>td>dl dd {
    text-align: left;
    font-size: 4.186vw;
    line-height: 1.77;
    margin-bottom: 5.5814vw
}

#plan section table.block tr td.pain dl {
    border: 1px solid rgb(var(--base-clr));
    font-size: 3.5vw;
    line-height: 1.77;
    padding: 5.5814vw;
    margin-bottom: 7vw;
    border-radius: 4.65vw
}

#plan section table.block tr td.pain dl:last-child {
    margin-bottom: 4.65vw
}

#plan .round_corner .plan_tbl_wrap .tbl_wrap tr>td>dl:last-child dd {
    margin-bottom: 4.65vw
}

#plan section table.block tr td.pain dl dd .star {
    display: block;
    margin-bottom: 2vw;
    text-align: center;
    font-size: 6.5vw;
    color: #babdec;
    line-height: 1.3
}

#plan section table.block tr td .ttl {
    margin-bottom: 2vw
}

#plan .round_corner .plan_tbl_wrap .tbl_wrap tr td a.check {
    position: relative;
    display: inline-block;
    color: rgb(var(--link-clr));
    padding-left: 6vw;
    text-decoration: underline
}

#plan .round_corner .plan_tbl_wrap .tbl_wrap tr td a.check::before {
    content: "";
    display: block;
    overflow: hidden;
    position: absolute;
    top: .75em;
    left: .6em;
    width: 4px;
    height: 4px;
    background-color: rgb(var(--link-clr));
    border-radius: 50%
}

#plan #menu_detail_txt {
    border-radius: 4.65vw;
    background: rgb(var(--white-clr));
    padding: 4.8837vw 4.65vw 5.3488vw;
    text-align: left
}

#plan #menu_detail_txt h2 {
    position: relative;
    font-size: 4.41vw;
    line-height: 1.57;
    padding: 0 0 3.0233vw;
    margin: 0 0 4.65vw
}

#plan #menu_detail_txt h3 {
    line-height: 1.7;
    font-size: 4.2vw;
    margin-top: 2vw;
    margin-bottom: 4vw;
    color: #593e49
}

#plan #menu_detail_txt h4 {
    line-height: 1.7;
    font-size: 4.186vw;
    margin-bottom: 5vw
}

#plan .treatment {
    margin: 1rem auto 0
}

#plan .comfortable {
    margin-top: 3rem
}

#plan .comfortable.treatment.inner {
    padding-bottom: 0 !important
}

#plan #faq {
    margin-bottom: 0
}

#plan .link_area {
    padding: 13.95vw 0
}

@media(min-width: 601px) {
    #plan section p {
        font-size: inherit;
        line-height: 2.1;
        margin-bottom: 20px
    }

    #plan section p:last-child {
        margin-bottom: 0
    }

    #plan section small+p {
        margin-top: 18px
    }

    #plan .standard_btn {
        margin-top: 0
    }

    #plan .individual_part+.booking_area .standard_btn {
        margin-top: 50px
    }

    #plan.lower h2 {
        margin: 0 0 45px;
        font-size: 28px
    }

    #plan .plan_tbl_wrap ul.list {
        font-size: inherit;
        line-height: 2.1
    }

    #plan .plan_tbl_wrap ul.list li {
        padding-left: 20px
    }

    #plan .plan_tbl_wrap ul.list li::before {
        width: 4px;
        height: 4px;
        top: 1.05em
    }

    #plan .round_corner .plan_tbl_wrap .tbl_wrap tr {
        display: table;
        width: 100%
    }

    #plan .round_corner .plan_tbl_wrap .tbl_wrap>tr>td {
        border-left: 1px solid rgb(var(--grad-b-clr))
    }

    #plan .round_corner .plan_tbl_wrap .tbl_wrap tr th,
    #plan .round_corner .plan_tbl_wrap .tbl_wrap tr td {
        display: table-cell;
        vertical-align: middle
    }

    #plan .round_corner .plan_tbl_wrap .tbl_wrap tr td .text {
        font-size: inherit;
        line-height: 2.1;
        margin-bottom: 10px
    }

    #plan .round_corner .plan_tbl_wrap .tbl_wrap>tr>th {
        font-size: 17px;
        line-height: 1.384;
        width: 25%;
        height: 89px;
        padding: 0;
        border-bottom: none
    }

    #plan .round_corner .plan_tbl_wrap .tbl_wrap tr+dl {
        margin-top: 0
    }

    #plan .round_corner .plan_tbl_wrap .tbl_wrap tr>td {
        flex: 1 1 auto;
        border-bottom: 1px solid rgb(var(--grad-b-clr))
    }

    #plan .round_corner .plan_tbl_wrap .tbl_wrap>tr>th {
        border-bottom: 1px solid rgb(var(--grad-b-clr))
    }

    #plan .round_corner .plan_tbl_wrap .tbl_wrap tr>td>dl {
        font-size: 14px;
        border-radius: 20px;
        margin-bottom: 35px
    }

    #plan .round_corner .plan_tbl_wrap .tbl_wrap tr>td>dl:last-child {
        margin-bottom: 0
    }

    #plan section table.block tr td.pain dl {
        position: relative;
        margin-bottom: 20px;
        padding: 40px 50px
    }

    #plan section table.block tr td.pain dl:last-child {
        margin-bottom: 20px
    }

    #plan .round_corner .plan_tbl_wrap .tbl_wrap tr td a:hover {
        text-decoration: none
    }

    #plan .round_corner .plan_tbl_wrap .tbl_wrap tr>td>dl dt {
        font-size: 19px;
        line-height: 1.2;
        padding: 0 0 18px;
        margin: 0 0 20px
    }

    #plan .round_corner .plan_tbl_wrap .tbl_wrap tr>td>dl dt::before {
        height: 3px;
        border-radius: 120px
    }

    #plan .round_corner .plan_tbl_wrap .tbl_wrap tr>td>dl dd {
        font-size: inherit;
        line-height: 2.1;
        margin-bottom: 30px
    }

    #plan .round_corner .plan_tbl_wrap .tbl_wrap tr>td>dl dd:last-child {
        margin-bottom: 0
    }

    #plan section table.block tr td.pain dl dd .star {
        display: block;
        font-size: 25px;
        text-align: left;
        margin-bottom: 15px;
        line-height: 1
    }

    #plan section table.block tr td.pain dl dt+dd .star {
        margin-bottom: 20px;
        font-size: 25px;
        position: absolute;
        top: 35px;
        right: 50px
    }

    #plan .round_corner .plan_tbl_wrap .tbl_wrap tr td a.check {
        font-size: 14px;
        line-height: 1.33;
        padding-left: 20px
    }

    #plan .round_corner .plan_tbl_wrap .tbl_wrap tr td a.check::before {
        width: 4px;
        height: 4px;
        top: .5em
    }

    #plan section table.block tr td .ttl {
        margin-bottom: 15px;
        font-size: 19px;
        margin-top: 30px
    }

    #plan section table.block tr td .ttl:first-child {
        margin-top: 0
    }

    #plan #menu_detail_txt {
        border-radius: 20px
    }

    #plan #menu_detail_txt h2 {
        font-size: 20px;
        line-height: 1.2;
        padding: 0 0 18px;
        margin: 40px 0 27px
    }

    #plan #menu_detail_txt h2:first-child {
        margin-top: 0
    }

    #plan #menu_detail_txt h3 {
        font-size: 19px;
        margin-top: 30px;
        margin-bottom: 20px
    }

    #plan #menu_detail_txt h4 {
        font-size: 17px;
        margin-top: 30px;
        margin-bottom: 20px
    }

    #plan.lower #menu_body .plan_list .treatment::before {
        height: 20px;
        width: 40px
    }

    #plan .link_area {
        padding: 70px 0
    }
}

@media(min-width: 1291px) {
    #plan.lower #menu_body .plan_list {
        max-width: 1250px
    }

    #plan.lower #menu_body .plan_list>ul>li {
        width: calc((100% - 80px)/3)
    }
}

#menu_discount .intro .lead {
    padding-bottom: 9.3vw
}

#menu_discount #plan_popular {
    margin-bottom: 0
}

#menu_discount #discount {
    padding-top: 13.95vw
}

@media(min-width: 601px) {
    #menu_discount .intro .lead {
        padding-bottom: 70px
    }

    #menu_discount #discount {
        padding-top: 13.95vw
    }

    #menu_discount .standard_btn {
        margin-top: 50px
    }
}

@media(min-width: 961px) {
    #menu_discount #discount .discount_list>li {
        width: calc((100% - 50px)/2)
    }
}

@media(min-width: 1291px) {
    #menu_discount #discount .inner.mw_940 {
        max-width: 1270px
    }

    #menu_discount #discount .discount_list {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        grid-column-gap: 30px;
        justify-items: stretch;
        align-items: stretch
    }

    #menu_discount #discount .discount_list>li {
        width: 100%
    }
}

.credit_card {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    grid-column-gap: 2.32vw;
    justify-items: center;
    align-items: center;
    margin-bottom: 7vw
}

.credit_card li {
    margin: 0;
    padding: 0
}

.credit_card li::before {
    display: none
}

.credit_card li picture {
    margin: 0;
    padding: 0
}

@media(min-width: 961px) {
    .credit_card {
        margin: 0 auto 30px;
        max-width: 600px
    }
}

.plus_course {
    padding-bottom: 9.3vw
}

.plus_course .midashi {
    margin-bottom: 5.58vw;
    font-size: 5.11vw;
    font-weight: 600;
    line-height: 1.66;
    letter-spacing: .12em;
    color: #593e49
}

.plus_course .midashi .em {
    font-size: 6.04vw
}

.option_wrap img {
    margin-bottom: 2rem
}

.more_box {
    margin-top: 2rem
}

.more_box details {
    position: relative;
    border-radius: 4.65vw 4.65vw 0 0;
    transition: padding .4s;
    overflow: hidden
}

.more_box details.open .summary::after {
    transform: translateY(-50%) rotate(180deg)
}

.more_box details.open>ul::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    width: calc(100% - 4.65vw);
    height: 1.1628vw;
    top: -0.4651vw;
    margin: 0 auto;
    z-index: 1
}

.more_box details.open>ul.purple::before {
    background: url(../img/border_dot_purple.svg) space left top/contain
}

.more_box details.open>ul.purple li:not(:last-child) {
    border-bottom: 1px solid #e0e1f5
}

.more_box details.open>ul.blue::before {
    background: url(../img/border_dot_blue.svg) space left top/contain
}

.more_box details.open>ul.blue li:not(:last-child) {
    border-bottom: 1px solid rgb(var(--grad-b-clr))
}

.more_box details .summary {
    display: block;
    position: relative;
    padding: 6.04vw 13.95vw 6.04vw 6.97vw;
    font-size: 4.41vw;
    font-weight: 600;
    line-height: 1.39;
    cursor: pointer;
    z-index: 1;
    outline: none;
    text-align: left;
    background: rgb(var(--white-clr));
    border-radius: 4.65vw
}

.more_box details .summary::-webkit-details-marker {
    display: none
}

.more_box details .summary::after {
    position: absolute;
    display: block;
    content: "";
    width: 4.41vw;
    height: 2.5581vw;
    top: 50%;
    right: 4.65vw;
    background: url("../img/arrow_orange.svg") no-repeat;
    transform: translateY(-50%);
    transition: transform .4s
}

.more_box details>ul {
    position: absolute;
    bottom: 0;
    width: 100%;
    padding: 6.04vw 6.97vw;
    text-align: left;
    background: rgb(var(--white-clr));
    border-radius: 4.65vw
}

.option_wrap picture+.more_box {
    margin-top: 0
}

.ul_icon_list li {
    margin-bottom: 6.04vw;
    display: grid;
    grid-template-columns: 18.6vw 1fr;
    grid-column-gap: 2.32vw;
    grid-template-areas: "icon title" "txt txt"
}

.ul_icon_list li:not(:last-child) {
    padding-bottom: 6.04vw
}

.ul_icon_list li .icon {
    grid-area: icon
}

.ul_icon_list li .icon img {
    margin: 0;
    width: 18.6vw;
    height: auto
}

.ul_icon_list li .title {
    grid-area: title;
    display: flex;
    align-items: center;
    height: 18.6vw;
    font-size: 4.41vw;
    font-weight: 600
}

.ul_icon_list li .txt {
    grid-area: txt
}

.ul_icon_list li .txt {
    margin-top: 2.32vw
}

.ul_icon_list li .txt p {
    margin-bottom: 0 !important;
    font-size: 3.95vw !important
}

.ul_icon_list li .txt p+small {
    margin-top: .5rem
}

@media(min-width: 601px) {
    .plus_course {
        padding-bottom: 60px
    }

    .plus_course .midashi {
        font-size: 25px;
        margin-bottom: 32px
    }

    .plus_course .midashi .em {
        font-size: 30px
    }

    .option_wrap img {
        margin-bottom: 50px;
        width: 100%;
        max-width: 820px
    }

    .option_wrap.inner.mw_1040 img {
        max-width: 1040px
    }

    .more_box {
        max-width: 940px;
        margin: 2rem auto 0
    }

    .more_box details {
        border-radius: 20px 20px 0 0
    }

    .more_box details.open>ul::before {
        width: calc(100% - 40px);
        height: 5px;
        top: -3px
    }

    .more_box details .summary {
        padding: 30px 72px;
        font-size: 18px;
        border-radius: 20px
    }

    .more_box details .summary::after {
        width: 11px;
        height: 7px;
        right: 30px
    }

    .more_box details>ul {
        padding: 20px 72px;
        border-radius: 20px
    }

    .ul_icon_list li {
        margin-bottom: 20px;
        grid-template-columns: 120px 1fr;
        grid-template-rows: 38px 1fr;
        grid-column-gap: 25px;
        grid-template-areas: "icon title" "icon txt";
        justify-items: start;
        align-items: start
    }

    .ul_icon_list li:not(:last-child) {
        padding-bottom: 20px
    }

    .ul_icon_list li .icon img {
        width: 120px
    }

    .ul_icon_list li .title {
        margin-top: 20px;
        height: auto;
        font-size: 18px;
        line-height: 1
    }

    .ul_icon_list li .txt {
        margin-top: 1rem
    }

    .ul_icon_list li .txt p {
        margin-bottom: 0 !important;
        font-size: 14px !important
    }
}

.discount_ticket {
    width: 100%;
    background: rgb(var(--white-clr));
    border-radius: 4.65vw;
    margin: 0 auto;
    padding: 5.12vw 1em
}

.discount_ticket .price {
    margin: 0;
    font-size: 8.6vw;
    font-weight: 800;
    color: rgb(var(--orange-clr))
}

.discount_ticket .price .number {
    display: inline-block;
    vertical-align: -0.08em;
    font-size: 14.88vw;
    font-weight: 600
}

.discount_ticket .price .maximum {
    display: inline-block;
    margin: 0 .1em 0 0;
    vertical-align: -0.4em;
    writing-mode: vertical-rl;
    font-size: 5.12vw;
    letter-spacing: .1em
}

@media(min-width: 601px) {
    .discount_ticket {
        max-width: 445px;
        border-radius: 20px
    }

    .discount_ticket .price {
        font-size: min(37px, 2.85vw)
    }

    .discount_ticket .price .number {
        font-size: min(60px, 4.92vw)
    }
}

.discount_introduction {
    position: relative;
    z-index: 5
}

.discount_introduction .discount_ticket {
    line-height: 1.38
}

.discount_introduction .discount_ticket .txt {
    display: block;
    color: #593e49;
    font-size: 5.58vw
}

@media(min-width: 601px) {
    .discount_introduction .discount_ticket {
        max-width: 940px;
        padding: 30px
    }

    .discount_introduction .discount_ticket .txt {
        font-size: 30px
    }
}

.discount_table {
    margin: 0 auto 1rem;
    width: 100%;
    line-height: 1.5;
    table-layout: fixed
}

.discount_table th,
.discount_table td {
    padding: 2.32vw 1.39vw;
    border-right: 1px solid rgb(var(--grad-b-clr));
    border-bottom: 1px solid rgb(var(--grad-b-clr));
    text-align: center
}

.discount_table th:last-child,
.discount_table td:last-child {
    border-right: none
}

.discount_table th {
    font-weight: 600
}

.discount_table td {
    background: rgb(var(--white-clr));
    font-weight: 600
}

.discount_table thead th {
    background: #babdec;
    color: rgb(var(--white-clr))
}

.discount_table tbody th {
    background: rgb(var(--white-clr))
}

@media(min-width: 601px) {
    .discount_table {
        max-width: 820px
    }

    .discount_table th,
    .discount_table td {
        padding: 20px
    }
}

.discount_ticket_text {
    margin: 1em 0 0;
    text-align: left;
    line-height: 1.77
}

#payment .intro p {
    text-align: left;
    font-size: 4.18vw;
    font-weight: 400;
    line-height: 2;
    margin-bottom: 1em
}

#payment .intro p:last-child {
    margin-bottom: 0
}

#payment .intro .lower_sub_title {
    margin-top: 9.3vw;
    margin-bottom: 6.97vw
}

#payment table.payment__table {
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: .46vw;
    width: 100%
}

#payment table.payment__table th,
#payment table.payment__table td {
    padding: 4.18vw 1em;
    text-align: center;
    font-size: 4.18vw;
    font-weight: 700;
    line-height: 1.21
}

#payment table.payment__table th span,
#payment table.payment__table td span {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 2.2em
}

#payment table.payment__table th svg.maru,
#payment table.payment__table td svg.maru {
    width: 4.18vw;
    height: 4.18vw
}

#payment table.payment__table th svg.batu,
#payment table.payment__table td svg.batu {
    width: 3.72vw;
    height: 3.72vw
}

#payment table.payment__table th .row,
#payment table.payment__table td .row {
    display: flex;
    justify-content: center;
    align-items: flex-end
}

#payment table.payment__table th .row>span,
#payment table.payment__table td .row>span {
    margin-left: .3em;
    display: inline-block;
    line-height: 1;
    min-height: 0px
}

#payment table.payment__table thead th {
    background: #ab9ca2;
    color: rgb(var(--white-clr))
}

#payment table.payment__table thead th:first-of-type {
    background: #99c8e3
}

#payment table.payment__table tbody th {
    background: rgba(211, 234, 249, .6980392157);
    color: #74b3d9
}

#payment table.payment__table tbody th a {
    display: inline-block;
    color: rgb(var(--link-clr));
    text-decoration: underline
}

#payment table.payment__table tbody td {
    background: rgba(228, 223, 225, .5019607843);
    color: rgb(var(--base-clr))
}

#payment #faq {
    margin-bottom: 0
}

@media(min-width: 601px) {
    #payment .intro p {
        font-size: 15px;
        text-align: center
    }

    #payment .intro .lower_sub_title {
        margin-top: 40px;
        margin-bottom: 30px
    }

    #payment table.payment__table {
        border-spacing: 2px
    }

    #payment table.payment__table th,
    #payment table.payment__table td {
        padding: 20px 1em;
        font-size: 14px
    }

    #payment table.payment__table th span,
    #payment table.payment__table td span {
        min-height: 1em
    }

    #payment table.payment__table th svg.maru,
    #payment table.payment__table td svg.maru {
        width: 18px;
        height: 18px
    }

    #payment table.payment__table th svg.batu,
    #payment table.payment__table td svg.batu {
        width: 15px;
        height: 15px
    }

    #payment table.payment__table th .row>svg,
    #payment table.payment__table td .row>svg {
        width: 13px;
        height: 13px
    }

    #payment table.payment__table thead th {
        background: #ab9ca2;
        color: rgb(var(--white-clr))
    }

    #payment table.payment__table thead th:first-of-type {
        background: #99c8e3
    }

    #payment table.payment__table tbody th {
        background: rgba(211, 234, 249, .6980392157);
        color: #74b3d9
    }

    #payment table.payment__table tbody th a:hover {
        text-decoration: none
    }

    #payment table.payment__table tbody td {
        background: rgba(228, 223, 225, .5019607843);
        color: rgb(var(--base-clr))
    }
}

.in-detail-list li {
    width: 100%;
    border: 1px solid rgb(var(--base-clr));
    padding: 5.5814vw;
    text-align: left;
    position: relative;
    box-sizing: border-box;
    border-radius: 4.65vw;
    margin-bottom: 5vw;
    text-align: center
}

.in-detail-list li::before {
    display: none !important
}

.in-detail-list li:last-child {
    margin-bottom: 7vw
}

.in-detail-list li h3 {
    margin-top: 1vw;
    margin-bottom: 1vw
}

.in-detail-list li p {
    margin-bottom: 2vw
}

@media(min-width: 961px) {
    .in-detail-list {
        display: flex;
        flex: wrap;
        justify-content: center;
        margin-bottom: 30px
    }

    .in-detail-list li {
        width: 25%;
        padding: 0 10px;
        border: none;
        margin-bottom: 0
    }

    .in-detail-list li:last-child {
        margin-bottom: 0
    }

    .in-detail-list li h3 {
        font-size: 17px;
        margin-top: 10px;
        margin-bottom: 5px
    }

    .in-detail-list li p {
        margin-bottom: 0;
        font-size: 13px;
        line-height: 1.63
    }
}