.w1080{
    width: min(94%,1080px);
    margin-left: auto;
    margin-right: auto;
}
.w900{
    width: min(94%,900px);
    margin-left: auto;
    margin-right: auto;
}
.w900p{
    margin-left: calc(calc(100% - 900px)/2);
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
}
.w900pr {
    flex-direction: row;
    margin-right: calc(calc(100% - 900px) / 2);
    margin-left: 0;
}
@media screen and (max-width: 900px){
.w900p{
    margin-left: auto;
    margin-right: auto;
    width: min(94%,900px);
}
}
@media screen and (max-width: 640px){
.w900p{
    flex-direction: column;
}
}
.linkbtn_wrap {
    width: min(100%, 260px);
    margin-bottom: 10px;
}
.linkbtn_wrap .link-bt-move {
    width: 100%;
}
@media screen and (max-width: 640px){
.linkbtn_wrap {
    margin-left: auto;
    margin-right: auto;
}
}

/*-------------sec_head-------------*/
.head_txt {
    padding: min(8vw,90px) 5% 20px;
    text-align: center;
    line-height: 1.8;
    font-size: 1.8rem;
}
.anchor_nav {
    background: #f2f2f2;
    font-size: 1.6rem;
    line-height: 1;
    padding: 30px 0;
}
.anchor_list {
    width: min(100%, 1000px);
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    counter-reset: number 0;
}
.anchor_item {
    margin: min(2vw, 0.8rem) min(5vw, 1.6rem);
    display: flex;
    align-items: center;
}
.anchor_item::before {
    content: ">";
    display: flex;
    justify-content: center;
    align-items: center;
    transform: rotate(90deg) scale(0.8, 1.3);
    width: 2.08rem;
    min-width: 2.08rem;
    height: 1.28rem;
    min-height: 1.28rem;
}
.anchor_link {
    position: relative;
}
.anchor_link:hover{
    text-decoration: none;
    color: #0a469f;
}
.anchor_link::before {
    counter-increment: number 1;
    content: counter(number,decimal-leading-zero);
    color: #0a469f;
    font-weight: bold;
    margin-right: 5px;
}

@media screen and (max-width: 640px){
    .head_txt{
        font-size: 1.3rem;
        text-align: left;        
    }
    
.anchor_list {
    justify-content: flex-start;
}
    .anchor_link {
    font-size: 1.3rem;
    letter-spacing: 0;
    line-height: 1.2;
    text-indent: -2rem;
    padding-left: 2rem;
}
}
/*-------------sec_reasons-------------*/
.sec_reasons{
    counter-reset: number 0;
    margin-bottom: min(20vw, 90px);
}
.art_reason {
    padding: min(15vw,60px) 0 min(15vw,80px);
}
.art_reason:nth-of-type(2n) {
    background: linear-gradient(to right, rgba(243,246,250,1) 74.285%,rgba(255,255,255,1) 74.285%);
}
.art_reason .r_num::after {
    font-family: "Oswald", sans-serif;
    line-height: 1;
    counter-increment: number 1;
    content: counter(number, decimal-leading-zero);
    color: #0a469f;
    font-weight: bold;
    font-size: min(10vw,60px);
    display: block;
    letter-spacing: 0.05em;
}
.reason_flexwrap {
    display: flex;
}
.r_ttl_wrap {
    display: flex;
    margin-bottom: min(5vw, 45px);
}
.r_num {
    width: calc(calc(100% - 900px) / 2);
    min-width: calc(calc(100% - 900px) / 2);
    padding: 0 min(3vw,25px);
    box-sizing: border-box;
    text-align: right;
    position: relative;
}
.r_num::before {
    content: "";
    display: block;
    height: 1px;
    width: calc(100% - 120px);
    background: #0a469f;
    position: absolute;
    top: 40px;
    margin: auto;
    left: 0;
}
.r_mainttl {
    margin-top: min(1vw,10px);
    font-size: min(7vw,36px);
    line-height: 1.2;
}
.r_subttl {
    margin-top: -10px;
    margin-bottom: 0;
}
.r_cont_wrap:not(:last-child) {
    margin-bottom: min(8vw, 60px);
}
.r_name {
    font-size: min(5vw, 24px);
    line-height: 1.5;
    margin-bottom: min(3vw, 15px);
}
.r_txt {
    line-height: 1.8;
    margin-bottom: min(5vw, 30px);
}
.r_cont_photo{
    width: 56%;
}
.r_cont_photo img {
    width: 100%;
}
:where(.r_cont_photo) + .r_cont_data{
    width: 39%;
}
@media screen and (max-width: 640px){
.r_num {
    width: auto;
    min-width: auto;
}
.curriculum_loadmap {
    width: 103%;
    overflow: scroll;
}
.curriculum_loadmap img {
    width: 900px;
}
.r_cont_data,
.r_cont_photo{
    width: 100%;
}
.r_cont_photo{
    margin-bottom: 25px;
}
}

/*-------------安心の経済的サポート-------------*/
.price_head {
    background: #33aade;
    display: flex;
    align-items: center;
    padding: 5px min(4%, 22px);
}
.price_list {
    display: flex;
    justify-content: space-between;
    gap: min(2vw,25px);
    margin-bottom: 18px;
}
li.price_item {
    border: 2px solid #33aade;
    background: #fff;
    flex: 1;
}
img.price_icon {
    width: min(12vw,66px);
}
.price_name {
    color: #fff;
    font-size: 20px;
    margin-left: 12px;
}
.price_txt {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: min(1vw,10px) 10px min(2vw,20px);
}
.price_txt p {
    margin: 0;
    color: #0a469f;
    font-weight: 600;
    line-height: 1.3;
}
p.price_preface {
    font-size: 18px;
    margin-right: 5px;
}
p.price_num {
    font-family: "Oswald", sans-serif;
    font-size: 60px;
    line-height: 1;
}
p.price_unit {
    font-size: 30px;
}
.linkbtn_caption{
    font-size: 14px;
}
.price_linkbtns{
    display: flex;
    gap: min(2vw,25px);
    margin-top: 30px;
}
@media screen and (max-width: 640px){
.price_head {
    justify-content: center;
}
.price_list {
    flex-direction: column;
}
}
/*-------------学生一人ひとりに寄り添った指導-------------*/
.support_ttl {
    font-size: 20px;
    text-align: center;
    margin-bottom: 22px;
    line-height: 1.4;
}
.support_list {
    display: flex;
    justify-content: space-between;
    gap: min(4vw, 40px);
}
.support_item {
    flex: 1;
}
.support_photo img {
    width: 100%;
}
.support_name {
    text-align: center;
    color: #0a469f;
    font-size: min(4.5vw,18px);
    margin-bottom: min(2vw,15px);
    line-height: 1.2;
}
p.support_txt {
    font-size: 14px;
}
@media screen and (max-width: 640px){
    .support_list{
        flex-wrap: wrap;
    }
    .support_item {
        width: 40%;
        flex: auto;
    }
}