@media screen and (min-width: 640px) {

    .pc-only{
        display: block;
    }
    .sp-only{
        display: none;
    }

    .price{
        padding: 0 !important;
    }

    .price .price-top-bg{
        position: relative;
        padding: 6px 0 0;
        background: #0a97ac;
    }

    .price .price-top-bg::before{
        position: absolute;
        bottom: -14px;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        content: "";
        width: 40px;
        height: 15px;
        background: url(../img/page/cost/2512/price-top-bg-arrow.png) no-repeat center / cover;
    }

    .price .price-top{
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 60px;
    }

    .price .price-top-img01{
        width: 69px;
        margin: 23px 0 0;
    }

    .price .price-top-img01 img{
        width: 100%;
    }

    .price .price-top h1{
        color: #ffffff;
        font-weight: bold;
        font-size: 30px;
        text-align: center;
    }

    .price .price-top h1 span{
        display: contents;
        background: none;
        font-size: 48px;
    }

    .price .price-top h1::before{
        display: none;
    }

    .price .price-top-img02{
        width: 57px;
    }

    .price .price-top-img02 img{
        width: 100%;
    }

    .price .price-bg{
        padding: 50px 0 80px;
        background: #e5fdff;
    }

    .price .price-txt{
        margin: 0 0 35px;
        color: #333333;
        font-size: 14px;
        text-align: center;
        line-height: 1.8;
    }

    .price .price-txt span{
        font-weight: bold;
        font-size: 16px;
    }

    .price .study-table{
        width: 900px;
        border-radius: 10px;
        overflow: hidden;
        border-spacing: 0;
        box-shadow: 5px 5px 9px #d3e9eb;
    }

    .price .study-table th{
        padding: 22px 0;
        color: #ffffff;
        font-weight: bold;
        font-size: 16px;
        text-align: center;
        line-height: 1;
    }

    .price .study-table th small{
        vertical-align: text-top;
        font-size: 8px;
    }

    .price .study-table thead tr{
        background: #0a97ac;
    }

    .price .study-table tr{
        border-bottom: 2px solid #e2e8f0;
    }

    .price .study-table .border-dot{
        border-bottom: 2px dotted #e6ecf2;
    }

    .price .study-table .border-none{
        border-bottom: none;
    }

    .price .study-table .border-radius-top{
        border-radius: 10px 0 0;
    }

    .price .study-table .border-radius-bottom{
        border-radius: 0 0 0 10px;
    }

    .price .study-table .border-radius-right{
        width: 170px;
        border-radius: 0 10px 0 0;
    }

    .price .study-table .border-radius-bottom-right{
        border-radius: 0 0 10px 0;
    }

    .price .study-table .border-radius-left{
        border-radius: 0 0 0 10px;
    }

    .price .study-table tbody tr:nth-child(1),.price .study-table tbody tr:nth-child(2),.price .study-table tbody tr:nth-child(5),.price .study-table tbody tr:nth-child(6),.price .study-table tbody tr:nth-child(9){
        background: #f7fafc;
    }

    .price .study-table tbody tr:nth-child(3),.price .study-table tbody tr:nth-child(4),.price .study-table tbody tr:nth-child(7),.price .study-table tbody tr:nth-child(8),.price .study-table tbody tr:nth-child(10){
        background: #ffffff;
    }

    .price .study-table th:nth-child(1){
        width: 180px;
    }
    .price .study-table th:nth-child(2){
        width: 208px;
    }
    .price .study-table th:nth-child(3){
        width: 122px;
    }
    .price .study-table th:nth-child(4){
        width: 220px;
    }

    .price .study-table td{
        vertical-align: middle;
        text-align: center;
        border-right: 2px dotted #e6ecf2;
    }

    .price .study-table .flag{
        width: 50px;
    }

    .price .study-table .country-name{
        display: block;
        color: #333333;
        font-weight: bold;
        font-size: 16px;
        text-align: center;
        line-height: 1;
    }

    .price .study-table .school{
        padding: 27px 0;
        font-weight: bold;
        font-size: 18px;
        text-align: center;
        line-height: 1;
    }

    .price .study-table .school .note{
        font-weight: normal;
        font-size: 16px;
    }

    .price .study-table .month-img{
        width: 56px;
        margin: 0 auto;
    }

    .price .study-table .month-img img{
        width: 100%;
        vertical-align: bottom;
    }

    .price .study-table .month-img.once{
        width: 35px;
    }

    .price .study-table .type{
        color: #333333;
        font-size: 16px;
        text-align: center;
    }

    .price .study-table .budget{
        border: none;
    }

    .price .study-table .budget-img{
        width: 70px;
        margin: 0 auto;
    }

    .price .study-table .budget-img img{
        width: 100%;
        vertical-align: bottom;
    }

    .price .study-table .budget-img.once{
        width: 21px;
    }

    /* support */

    .support .support-top-bg{
        position: relative;
        padding: 13px 0 0;
        background: #0a97ac;
    }

    .support .support-top-bg::before{
        position: absolute;
        bottom: -14px;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        content: "";
        width: 40px;
        height: 15px;
        background: url(../img/page/cost/2512/price-top-bg-arrow.png) no-repeat center / cover;
    }

    .support .support-top{
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 60px;
        margin: 0 0 55px;
    }

    .support .support-top-img01{
        width: 43px;
    }

    .support .support-top-img01 img{
        width: 100%;
    }

    .support .support-top h1{
        color: #ffffff;
        font-weight: bold;
        font-size: 30px;
        text-align: center;
    }

    .support .support-top h1 span{
        display: contents;
        background: none;
        font-size: 48px;
    }

    .support .support-top h1::before{
        display: none;
    }

    .support .support-top-img02{
        width: 32px;
    }

    .support .support-top-img02 img{
        width: 100%;
    }

    .support .support-txt{
        margin: 0 0 35px;
        color: #333333;
        font-size: 14px;
        text-align: center;
        line-height: 1.8;
    }

    .support .support-ttl01{
        margin: 0 0 30px;
        color: #0997ac;
        font-weight: bold;
        font-size: 28px;
        text-align: center;
        line-height: 1;
    }

    .support .support-prices{
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 40px;
        margin: 0 0 64px;
    }

    .support .support-price{
        width: 430px;
        border-radius: 10px;
        background: #ffffff;
        box-shadow: 5px 5px 9px #d4eaec;
    }

    .support .support-price-ttl01{
        margin: 0 0 13px;
        padding: 16px 0;
        background: #0a97ac;
        border-radius: 10px 10px 0 0;
        color: #ffffff;
        font-weight: bold;
        font-size: 20px;
        text-align: center;
        line-height: 1;
    }

    .support .support-price-img01{
        width: 210px;
        margin: 0 auto;
    }

    .support .support-price-img01 img{
        width: 100%;
    }

    .support .support-price-ttl02{
        margin: 0 0 13px;
        padding: 16px 0;
        background: #84cbd5;
        border-radius: 10px 10px 0 0;
        color: #ffffff;
        font-weight: bold;
        font-size: 20px;
        text-align: center;
        line-height: 1;
    }

    .support .support-price-img02{
        width: 182px;
        margin: 0 auto;
    }

    .support .support-price-img02 img{
        width: 100%;
    }

    .support .support-ttl02{
        margin: 0 0 24px;
        color: #0997ac;
        font-weight: bold;
        font-size: 28px;
        text-align: center;
        line-height: 1;
    }

    .support .support-txt02{
        margin: 0 0 42px;
        color: #333333;
        font-size: 14px;
        text-align: center;
        line-height: 1;
    }

    .support .support-item{
        padding: 0 0 34px;
        border-left: 10px solid #f0e91f;
    }

    .support .support-item.diff{
        padding: 0;
    }

    .support .support-item-wrap{
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 26px;
        margin: 0 0 17px;
    }

    .support .support-item-wrap.diff{
        margin: 0 0 27px;
    }

    .support .support-item-ttl{
        width: 170px;
        padding: 18px 0 20px 30px;
        background: url(../img/page/cost/2512/support-item-ttl-bg.png) no-repeat center / cover;
        color: #333333;
        font-weight: bold;
        font-size: 20px;
        line-height: 1;
    }

    .support .support-item-ttl span{
        font-size: 28px;
    }

    .support .support-item-img01{
        width: 107px;
    }

    .support .support-item-img01 img{
        width: 100%;
    }

    .support .support-item-img02{
        width: 87px;
    }

    .support .support-item-img02 img{
        width: 100%;
    }

    .support .support-item-contents{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        width: 900px;
        padding: 40px 60px 22px 40px;
        background: #ffffff;
        border-radius: 0 10px 10px 0;
        box-shadow: 5px 5px 9px #d4eaec;
    }

    .support .support-item-content{
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 8px;
        width: 380px;
        margin: 0 0 16px;
        padding: 0 0 13px;
        border-bottom: 2px dotted #c4e6eb;
    }

    .support .support-item-content02{
        width: 380px;
        margin: 0 0 16px;
        padding: 0 0 13px;
        border-bottom: 2px dotted #c4e6eb;
    }

    .support .support-item-content-wrap{
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 8px;
        margin: 0 0 8px;
    }

    .support .support-item-content-num{
        width: 30px;
    }

    .support .support-item-content-num img{
        width: 100%;
    }

    .support .support-item-content-num.diff{
        margin: 5px 0 0;
    }

    .support .support-item-content-ttl{
        color: #0a97ac;
        font-weight: bold;
        font-size: 20px;
        line-height: 1;
    }

    .support .support-item-content-ttl.diff{
        line-height: 1.45;
    }

    .support .support-item-txts{
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: center;
        gap: 8px;
        margin: 0 0 0 35px;
    }

    .support .support-item-txt-img{
        width: 24px;
    }

    .support .support-item-txt-img img{
        width: 100%;
        vertical-align: middle;
    }

    .support .support-item-txt-img02{
        width: 22px;
    }

    .support .support-item-txt-img02 img{
        width: 100%;
        vertical-align: middle;
    }

    .support .support-item-txt-img03{
        width: 20px;
    }

    .support .support-item-txt-img03 img{
        width: 100%;
        vertical-align: middle;
    }

    .support .support-item-txt-img04{
        width: 24px;
    }

    .support .support-item-txt-img04 img{
        width: 100%;
        vertical-align: middle;
    }

    .support .support-item-txt-img05{
        width: 18px;
    }

    .support .support-item-txt-img05 img{
        width: 100%;
        vertical-align: middle;
    }

    .support .support-item-txt-img06{
        width: 22px;
    }

    .support .support-item-txt-img06 img{
        width: 100%;
        vertical-align: middle;
    }

    .support .support-item-txt-img07{
        width: 24px;
    }

    .support .support-item-txt-img07 img{
        width: 100%;
        vertical-align: middle;
    }

    .support .support-item-txt-img08{
        width: 24px;
    }

    .support .support-item-txt-img08 img{
        width: 100%;
        vertical-align: middle;
    }

    .support .support-item-txt-img09{
        width: 24px;
    }

    .support .support-item-txt-img09 img{
        width: 100%;
        vertical-align: middle;
    }

    .support .support-item-txt-img10{
        width: 19px;
    }

    .support .support-item-txt-img10 img{
        width: 100%;
        vertical-align: middle;
    }

    .support .support-item-txt-img11{
        width: 24px;
    }

    .support .support-item-txt-img11 img{
        width: 100%;
        vertical-align: middle;
    }
    .support .support-item-txt{
        color: #333333;
        font-size: 12px;
        line-height: 1;
    }
}

@media screen and (max-width: 639px){
    .pc-only{
        display: none;
    }
    .sp-only{
        display: block;
    }

    .price{
        padding: 0 !important;
    }

    .price .price-top-bg{
        position: relative;
        padding: 6px 0 0;
        background: #0a97ac;
    }

    .price .price-top-bg::before{
        position: absolute;
        bottom: -14px;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        content: "";
        width: 40px;
        height: 15px;
        background: url(../img/page/cost/2512/price-top-bg-arrow.png) no-repeat center / cover;
    }

    .price .price-top{
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 4vw;
        overflow: hidden;
    }

    .price .price-top-img01{
        width: 15vw;
    }

    .price .price-top-img01 img{
        width: 100%;
    }

    .price .price-top h1{
        color: #ffffff;
        font-weight: bold;
        font-size: 6.6vw;
        text-align: center;
        line-height: 1.4;
    }

    .price .price-top h1 span{
        display: contents;
        background: none;
        font-size: 10vw;
    }

    .price .price-top h1::before{
        display: none;
    }

    .price .price-top-img02{
        width: 13vw;
    }

    .price .price-top-img02 img{
        width: 100%;
    }

    .price .price-bg{
        padding: 30px 0 35px;
        background: #e5fdff;
    }

    .price .price-txt{
        margin: 0 0 10px;
        color: #333333;
        font-size: 3.7vw;
        line-height: 1.76;
    }

    .price .price-txt span{
        font-weight: bold;
        font-size: 4vw;
    }

    .price .study-table{
        height: 120vw;
        overflow: scroll;
        border-radius: 10px;
        border-spacing: 0;
        box-shadow: 5px 5px 9px #d3e9eb;
    }

    .price .study-table th{
        padding: 5vw 0;
        color: #ffffff;
        font-weight: bold;
        font-size: 4vw;
        text-align: center;
        line-height: 1;
    }

    .price .study-table th small{
        position: absolute;
        top: 2vw;
        right: 2vw;
        font-size: 9px;
    }

    .price .study-table thead tr{
        position: relative;
        background: #0a97ac;
    }

    .price .study-table tr{
        border-bottom: 2px solid #e2e8f0;
    }

    .price .study-table .border-dot{
        border-bottom: 2px dotted #e6ecf2;
    }

    .price .study-table .border-none{
        border-bottom: none;
    }

    .price .study-table .border-radius-top{
        border-radius: 10px 0 0;
    }

    .price .study-table .border-radius-bottom{
        border-radius: 0 0 0 10px;
    }

    .price .study-table .border-radius-right{
        border-radius: 0 10px 0 0;
    }

    .price .study-table .border-radius-bottom-right{
        border-radius: 0 0 10px 0;
    }

    .price .study-table .border-radius-left{
        border-radius: 0 0 0 10px;
    }

    .price .study-table tbody tr:nth-child(1),.price .study-table tbody tr:nth-child(2),.price .study-table tbody tr:nth-child(5),.price .study-table tbody tr:nth-child(6),.price .study-table tbody tr:nth-child(9){
        background: #f7fafc;
    }

    .price .study-table tbody tr:nth-child(3),.price .study-table tbody tr:nth-child(4),.price .study-table tbody tr:nth-child(7),.price .study-table tbody tr:nth-child(8),.price .study-table tbody tr:nth-child(10){
        background: #ffffff;
    }

    .price .study-table th:nth-child(1){
        width: 19vw;
    }
    .price .study-table th:nth-child(2){
        width: 20vw;
    }
    .price .study-table th:nth-child(3){
        width: 34vw;
    }
    .price .study-table th:nth-child(4){
        position: relative;
        width: 23vw;
    }

    .price .study-table td{
        vertical-align: middle;
        text-align: center;
        border-right: 2px dotted #e6ecf2;
    }

    .price .study-table .flag{
        width: 11vw;
    }

    .price .study-table .country-name{
        display: block;
        color: #333333;
        font-weight: bold;
        font-size: 3.5vw;
        text-align: center;
        line-height: 1.2;
    }

    .price .study-table .school{
        padding: 6vw 0;
        font-weight: bold;
        font-size: 4vw;
        text-align: center;
        line-height: 1;
    }

    .price .study-table .school .note{
        font-weight: normal;
        font-size: 3vw;
    }

    .price .study-table .month-img{
        width: 10vw;
        margin: 0 auto;
    }

    .price .study-table .month-img img{
        width: 100%;
    }

    .price .study-table .month-img.once{
        width: 7vw;
    }

    .price .study-table .type{
        color: #333333;
        font-size: 3.6vw;
        text-align: center;
        line-height: 1.2;
    }

    .price .study-table .budget{
        border: none;
    }

    .price .study-table .budget-img{
        width: 14vw;
        margin: 0 auto;
    }

    .price .study-table .budget-img img{
        width: 100%;
    }

    .price .study-table .budget-img.once{
        width: 4.5vw;
    }

    /* support */

    .support .support-top-bg{
        position: relative;
        padding: 5px 0 0;
        background: #0a97ac;
    }

    .support .support-top-bg::before{
        position: absolute;
        bottom: -14px;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        content: "";
        width: 40px;
        height: 15px;
        background: url(../img/page/cost/2512/price-top-bg-arrow.png) no-repeat center / cover;
    }

    .support .support-top{
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 5vw;
        margin: 0 0 30px;
    }

    .support .support-top-img01{
        width: 16vw;
    }

    .support .support-top-img01 img{
        width: 100%;
    }

    .support .support-top h1{
        color: #ffffff;
        font-weight: bold;
        font-size: 6.5vw;
        text-align: center;
        line-height: 1.4;
    }

    .support .support-top h1 span{
        display: contents;
        background: none;
        font-size: 9.5vw;
    }

    .support .support-top h1::before{
        display: none;
    }

    .support .support-top-img02{
        width: 8vw;
    }

    .support .support-top-img02 img{
        width: 100%;
    }

    .support .support-txt{
        margin: 0 0 35px;
        color: #333333;
        font-size: 3.6vw;
        line-height: 1.8;
    }

    .support .support-ttl01{
        margin: 0 0 25px;
        color: #0997ac;
        font-weight: bold;
        font-size: 5.2vw;
        text-align: center;
        line-height: 1;
    }

    .support .support-prices{
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin: 0 0 40px;
    }

    .support .support-price{
        width: 46.5vw;
        padding: 0 0 2vw;
        border-radius: 10px;
        background: #ffffff;
        box-shadow: 5px 5px 9px #d4eaec;
    }

    .support .support-price-ttl01{
        margin: 0 0 13px;
        padding: 4vw 0;
        background: #0a97ac;
        border-radius: 10px 10px 0 0;
        color: #ffffff;
        font-weight: bold;
        font-size: 5vw;
        text-align: center;
        line-height: 1;
    }

    .support .support-price-img01{
        width: 35vw;
        margin: 0 auto;
    }

    .support .support-price-img01 img{
        width: 100%;
    }

    .support .support-price-ttl02{
        margin: 0 0 13px;
        padding: 4vw 0;
        background: #84cbd5;
        border-radius: 10px 10px 0 0;
        color: #ffffff;
        font-weight: bold;
        font-size: 5vw;
        text-align: center;
        line-height: 1;
    }

    .support .support-price-img02{
        width: 32vw;
        margin: 0 auto;
    }

    .support .support-price-img02 img{
        width: 100%;
    }

    .support .support-ttl02{
        margin: 0 0 20px;
        color: #0997ac;
        font-weight: bold;
        font-size: 5.5vw;
        text-align: center;
        line-height: 1;
    }

    .support .support-txt02{
        margin: 0 0 30px;
        color: #333333;
        font-size: 3.6vw;
        line-height: 1.8;
    }

    .support .support-item{
        position: relative;
        padding: 20vw 0 34px;
        border-left: 2.5vw solid #f0e91f;
    }

    .support .support-item.diff{
        padding: 22vw 0 0;
    }

    .support .support-item-wrap{
        position: absolute;
        top: 0;
        left: -5vw;
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 6vw;
        margin: 0 0 5px;
    }

    .support .support-item-ttl{
        width: 28vw;
        padding: 3vw 0 3vw 2.5vw;
        background: url(../img/page/cost/2512/support-item-ttl-bg-sp.png) no-repeat center / cover;
        color: #333333;
        font-weight: bold;
        font-size: 4vw;
        line-height: 1;
    }

    .support .support-item-ttl span{
        font-size: 5vw;
    }

    .support .support-item-img01{
        width: 25vw;
        margin: -3vw 0 0;
    }

    .support .support-item-img01 img{
        width: 100%;
    }

    .support .support-item-img02{
        width: 20vw;
        margin: -3vw 0 0;
    }

    .support .support-item-img02 img{
        width: 100%;
    }

    .support .support-item-contents{
        padding: 30px 0 1vw 0;
        background: #ffffff;
        border-radius: 0 10px 10px 0;
        box-shadow: 5px 5px 9px #d4eaec;
    }

    .support .support-item-content{
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: center;
        gap: 3vw;
        margin: 0 0 8vw -2vw;
    }

    .support .support-item-content02{
        margin: 0 0 8vw -2vw;
    }

    .support .support-item-content-wrap{
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 3vw;
        margin: 0 0 8px;
    }

    .support .support-item-content-num{
        width: 11vw;
    }

    .support .support-item-content-num img{
        width: 100%;
        vertical-align: super;
    }

    .support .support-item-content-num.diff{
        margin: 5vw 0 0;
    }

    .support .support-item-content-ttl{
        color: #0a97ac;
        font-weight: bold;
        font-size: 5vw;
        line-height: 1;
    }

    .support .support-item-content-ttl.diff{
        line-height: 1.45;
    }

    .support .support-item-txts{
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: center;
        gap: 4vw;
        margin: 0 0 0 14vw;
    }

    .support .support-item-txt-img{
        width: 8vw;
    }

    .support .support-item-txt-img img{
        width: 100%;
        vertical-align: middle;
    }

    .support .support-item-txt-img02{
        width: 8vw;
    }

    .support .support-item-txt-img02 img{
        width: 100%;
        vertical-align: middle;
    }

    .support .support-item-txt-img03{
        width: 8vw;
    }

    .support .support-item-txt-img03 img{
        width: 100%;
        vertical-align: middle;
    }

    .support .support-item-txt-img04{
        width: 8vw;
    }

    .support .support-item-txt-img04 img{
        width: 100%;
        vertical-align: middle;
    }

    .support .support-item-txt-img05{
        width: 8vw;
    }

    .support .support-item-txt-img05 img{
        width: 100%;
        vertical-align: middle;
    }

    .support .support-item-txt-img06{
        width: 8vw;
    }

    .support .support-item-txt-img06 img{
        width: 100%;
        vertical-align: middle;
    }

    .support .support-item-txt-img07{
        width: 8vw;
    }

    .support .support-item-txt-img07 img{
        width: 100%;
        vertical-align: middle;
    }

    .support .support-item-txt-img08{
        width: 8vw;
    }

    .support .support-item-txt-img08 img{
        width: 100%;
        vertical-align: middle;
    }

    .support .support-item-txt-img09{
        width: 8vw;
    }

    .support .support-item-txt-img09 img{
        width: 100%;
        vertical-align: middle;
    }

    .support .support-item-txt-img10{
        width: 8vw;
    }

    .support .support-item-txt-img10 img{
        width: 100%;
        vertical-align: middle;
    }

    .support .support-item-txt-img11{
        width: 8vw;
    }

    .support .support-item-txt-img11 img{
        width: 100%;
        vertical-align: middle;
    }
    .support .support-item-txt{
        color: #333333;
        font-size: 3.8vw;
        line-height: 1.35;
    }

    .page-template-page .contents h1 > p, .pt1_title_01 > p{
        font-size: 19px;
    }
}