@charset 'UTF-8';
@import url('https://fonts.googleapis.com/css2?family=Montserrat+Alternates:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Noto+Sans+JP:wght@100..900&display=swap');

:root{
    --color-base:#000;
    --color-bg:#f5f1e2;

    --color-orange:#f4a502;
    --color-green:#006837;
    --color-blue:#29abe2;

    --color-calblue:#008baa;

    --padding:20px;

    --transition:all .3s ease;
}

@media only screen and (min-width:1025px) and (max-width:1520px){
    :root{
        --padding:80px;
    }
}

a,a:hover{
    color:var(--color-base);
    text-decoration:none;
    transition:var(--transition);
}
p,h1,h2,h3,h4,h5,h6{
    margin:0;
    line-height:1.5;
}
ul.ls-none,ol.ls-none,dl,dt,dd{
    margin:0;
    padding:0;
}

.font-jp {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.font-en {
  font-family: "Montserrat Alternates", sans-serif;
}

.bg-white{
    background-color:#FFF;
}


/* SYSTEM */

body{
    font-family: "Noto Sans JP", sans-serif;
    color:var(--color-base);
    background:var(--color-bg);
}

.page-inner{
    width:100%;
    max-width:1520px;
    padding:0 var(--padding);
    margin:0 auto;
}

.ps-re{
    position:relative;
}

.ls-none{
    list-style:none;
}

.padding-tb{
    padding:80px 0;
}

.main-link a{
    display:flex;
    justify-content:space-between;
    align-items:center;
    width:180px;
    padding-bottom:6px;
    color:var(--color-green);
    border-bottom:1px solid var(--color-green);
}
.main-link.center a{
    margin:0 auto;
}

.main-title:not(:last-child){
    margin-bottom:60px;
}
.main-title__en{
    font-size:60px;
    font-weight:bold;
    display:block;
    line-height:1;
}
.main-title__jp{
    display:block;
    margin-top:10px;
    font-size:24px;
    font-weight:bold;
    color:var(--color-orange);
}
.main-title.center{
    text-align:center;
}
.main-title.white .main-title__en,
.main-title.white .main-title__jp{
    color:#FFF;
}


/* HEADER */
.main-header{
    position:fixed;
    z-index:9999;
    top:0;
    left:0;
    right:0;
    width:100%;
    pointer-events:none;
}
.main-header__wrapper{
    display:flex;
    justify-content:space-between;
    padding:28px 28px 0;
}

.main-header__logo{
    width:214px;
    pointer-events:all;
}


.menu-toggler{
    position:relative;
    display:block;
    width:100px;
    height:100px;
    border-radius:50%;
    background:var(--color-orange);
    border:3px solid var(--color-base);
    pointer-events:all;
    cursor:pointer;
}
.menu-toggler span{
    display:block;
    position:absolute;
    left:25%;
    width:50%;
    height:2px;
    background:var(--color-base);
    border-radius:100vh;
    transition:var(--transition);
}
.menu-toggler span:nth-of-type(1){
    top:calc(42% - 1px);
}
.menu-toggler span:nth-of-type(2){
    top:calc(50% - 1px);
    opacity:1;
}
.menu-toggler span:nth-of-type(3){
    top:calc(58% - 1px);
}

.menu-toggler.open span:nth-of-type(1){
    top:calc(50% - 1px);
    transform:rotate(45deg);
}
.menu-toggler.open span:nth-of-type(3){
    top:calc(50% - 1px);
    transform:rotate(-45deg);
}
.menu-toggler.open span:nth-of-type(2){
    opacity:0;
}

/* ASIDE */
.main-aside{
    position:fixed;
    right:0;
    top:50%;
    transform:translateY(-50%);
    z-index:9998;
}

.main-aside__links{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:3vh;
}
.main-aside__link a{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:20px;

    color:#FFF;
    background:var(--color-green);
    border:2px solid var(--color-base);
    padding:26px 8px 14px 14px;
    border-right:0;
    border-top-left-radius:28px;

    transition:var(--transition);
}
@media only screen and (min-width:1025px){
    .main-aside__link a:hover{
        padding-right:32px;
    }
}
.main-aside__link.link02 a{
    background:var(--color-orange);
}
.main-aside__link__text{
    font-size:18px;
    font-weight:bold;
}
.main-aside__link__icon{
    width:18px;
    height:18px;
}
@media only screen and (min-width:1661px){
    .main-aside__link a{
        padding:32px 14px 20px 26px;
    }
    .main-aside__link__text{
        font-size:26px;
    }
    .main-aside__link__icon{
        width:24px;
        height:24px;
    }
}

@media only screen and (min-width:1025px){
    .main-aside__link__text{
        -ms-writing-mode:tb-rl;
        writing-mode:vertical-rl;
    }
}


/* DRAWER */

.main-drawer{
    position:fixed;
    z-index:9997;
    top:0;
    right:0;
    bottom:0;
    background:var(--color-bg);
    width:100%;
    height:100%;
    transform:translateY(-101%);
    opacity:0;
    transition:var(--transition);
}
.main-drawer.open{
    transform:translateY(0);
    opacity:1;
}
.main-drawer__inner{
    padding:150px 20px 50px;
    height:100%;
    overflow-y:scroll;
    display:flex;
    flex-direction:column;
    gap:40px;
    align-items:center;
    justify-content:center;

    -ms-overflow-style: none;
    scrollbar-width: none;
}
.main-drawer__inner::-webkit-scrollbar {
    display:none;
}

.main-drawer__menus{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px 60px;
}
.main-drawer__menu a,
.main-drawer__menu__sub a{
    color:var(--color-base);
}
.main-drawer__menu__title{
    font-size:28px;
    font-weight:bold;
}
.main-drawer__menu__sub .main-drawer__menu__title{
    padding-top:6px;
    font-size:22px;
}
.main-drawer__menu__en{
    font-size:18px;
    font-weight:700;
    color:var(--color-orange);
}
.main-drawer__snses{
    display:flex;
    gap:40px;
    justify-content:center;
    align-items:center;
}


/* FOOTER */
.main-footer__inner{
    width:100%;
    max-width:1000px;
    padding:0 var(--padding);
    margin:0 auto;
}

.main-footer__linksec{
    margin-top:-50px;
    margin-bottom:80px;
}
.main-footer__links{
    display:flex;
    justify-content:center;
    gap:100px;
}
.main-footer__link{
    width:100%;
    max-width:440px;
}
.main-footer__link a{
    width:100%;
    display:flex;
    justify-content: space-between;
    align-items:center;
    border:3px solid var(--color-base);
    color:#FFF;
    background:var(--color-green);
    padding:30px;
    border-top-right-radius:34px;
}
.main-footer__link.link02 a{
    background:var(--color-orange);
}
.main-footer__link__text{
    font-size:36px;
    font-weight:bold;
}
.main-footer__link__icon{
    width:32px;
}

.main-footer__snssec{
    margin-bottom:60px;
}
.main-footer__snses{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:100px;
}

.main-footer__logosec{
    text-align:center;
    margin-bottom:50px;
}
.main-footer__logo img{
    width:100%;
    max-width:400px;
}
.main-footer__logotext{
    margin-top:1.5em;
    font-size:12px;
}

.main-footer__sitelinks{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:20px;
}
.main-footer__sitelink a{
    font-size:12px;
    text-decoration:underline;
    text-underline-offset: 4px;
    color:var(--color-base);
}

.main-footer__copyright{
    padding:20px 40px;
    text-align:right;
    font-size:9px;
}




/* TOP */

.top-mv{
    padding-top:70px;
}
.top-mv__title{
    text-align:center;
}
.top-mv__mainimg{
    margin-top:-150px;
}

.top-about{
    padding-top:60px;
}
.top-about__title{
    text-align:center;
    margin-bottom:20px;
    font-size:80px;
    font-weight:900;
}
.top-about__title b{
    color:var(--color-orange);
}
.top-about__title__en{
    display:block;
    font-size:38px;
    font-weight:bold;
    margin-bottom:1em;
}
.top-about__contents{
    display:flex;
    justify-content:space-between;
    align-items:center;
}
.top-about__content__main{
    order:2;
    width:680px;
}
.top-about__content__left,
.top-about__content__right{
    width:calc((100% - 700px) / 2);
}
.top-about__content__left{
    order:1;
    padding:80px;
}
.top-about__content__right{
    order:3;
    position:relative;
}
.top-about__content__right__main img{
    border-top-left-radius:80px;
}
.top-about__content__right__hv{
    position:absolute;
    width:52px;
    height:52px;
    top:-80px;
    left:-80px;
}

.top-about__content__title{
    text-align:center;
    font-size:52px;
    font-weight:bold;
    margin-bottom:40px;
}
.top-about__content__title b{
    color:var(--color-orange);
}

.top-about__content__text{
    text-align:center;
    font-size:16px;
    line-height:2;
}

.top-about__points{
    padding-bottom:60px;
    overflow:hidden;
}
.top-about__points__head{
    padding:0 5vw;
    transform-origin:top right;
    transform:rotate(-5deg);
}
.top-about__points__title{
    font-size:3.4vw;
    font-weight:900;
}
.top-about__points__title b{
    color:var(--color-orange);
}
.top-about__points__text{
    font-size:1.2vw;
}
.top-about__points__box{
    position:relative;
    background:no-repeat top center/1920px url('./img/top/bg-point.webp');
    margin-top:-6.6vw;
    padding-top:20vw;
    padding-bottom:120px;
}
.top-about__points__box::before{
    content:'';
    position:absolute;
    z-index:-1;
    top:360px;
    left:0;
    width:100%;
    height:calc(100% - 360px);
    background:#63a24a;
}
.top-about__points__box__hv01{
    position:absolute;
    width:8vw;
    right:7%;
    top:2vw;
}

.top-about__pointboxes{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:40px 20px;
}
.top-about__pointbox{
    position:relative;
    border:3px solid var(--color-base);
    border-radius:50px;
    background:#FFF;
    padding:50px 30px;
}
.top-about__pointbox__pin{
    position:absolute;
    top:0;
    left:50%;
    transform:translate(-50%,-55%);
    width:34px;
}
.top-about__pointbox__title{
    display:flex;
    margin-bottom:20px;
}
.top-about__pointbox__title__num{
    position:relative;
    padding-right:14px;
    margin-right:20px;
    border-right:1px solid var(--color-base);
}
.top-about__pointbox__title__num img{
    height:50px;
}
.top-about__pointbox__title__text{
    font-size:28px;
    font-weight:900;
    color:var(--color-green);
}

.top-about__pointbox__addtext{
    position:absolute;
    left:30px;
    width:calc(100% - 60px);
    top:calc(100% - 30px);
    background:var(--color-orange);
    border:4px solid var(--color-base);
    padding:16px;
}
.top-about__pointbox02__hv{
    width:100px;
    position:absolute;
    bottom:90%;
    right:90%;
}

.top-about__points__box__hv02{
    position:absolute;
    width:150px;
    bottom:-50px;
    right:24%;
}

.top-topics__flex{
    display:flex;
    flex-wrap:wrap;
}
.top-topics__flex__title{
    width:350px;
}
.top-topics__flex__content{
    width:calc(100% - 350px);
}
.top-topics__flex__content .main-link{
    margin-top:80px;
}

.top-event__attention{
    margin-top:20px;
}

@media only screen and (min-width:1025px){
    .top-event__attention{
        text-align:right;
    }
}

.top-coach__head{
    display:flex;
    gap:100px;
    margin-bottom:80px;
}

.top-coachboxes{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:2%;
}
.top-coachbox{
    cursor:pointer;
    position:relative;
    border:3px solid var(--color-base);
    background:#FFF;
    padding:30px 0px;
    border-radius:20px;
    transition:var(--transition);
}
.top-coachbox:hover{
    background:var(--color-green);
}
.top-coachbox__clip{
    position:absolute;
    top:0;
    left:50%;
    transform:translate(-50%,-74%);
}
.top-coachbox__name{
    text-align:center;
    font-size:18px;
    font-weight:bold;
    margin-bottom:1em;
    color:var(--color-green);
}
.top-coachbox__nickname{
    position:relative;
    text-align:center;
    font-size:20px;
    font-weight:bold;
    color:var(--color-green);
    width:180px;
    margin:0 auto 40px;
}
.top-coachbox__nickname::before{
    content:'{';
    position:absolute;
    right:100%;
    top:0;
}
.top-coachbox__nickname::after{
    content:'}';
    position:absolute;
    left:100%;
    top:0;
}
.top-coachbox__main{
    display:flex;
    align-items:center;
}
.top-coachbox__main__en{
    display:flex;
    justify-content:center;
    align-items:center;
    -ms-writing-mode: tb-rl;
    writing-mode:vertical-rl;
    font-size:10px;
    font-weight:bold;
    width:40px;
    color:var(--color-green);
}
.top-coachbox__main__img{
    width:calc(100% - 80px);
}
.top-coachbox__main__img img{
    border-radius:100vw;
}

.top-coachbox:hover .top-coachbox__name,
.top-coachbox:hover .top-coachbox__nickname,
.top-coachbox:hover .top-coachbox__main__en
{
    color:#FFF;
}

.top-coach__modalbg{
    display:none;
    position:fixed;
    top:0;
    left:0;
    right:0;
    bottom:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.7);
    z-index:99997;
    cursor:pointer;
}
.top-coachbox__modal{
    display:none;
    position:fixed;
    z-index:99998;
    background:#FFF;
    top:50%;
    left:50%;
    padding:40px;
    transform:translate(-50%,-50%);
    max-width:calc(100% - 40px);
    max-height:calc(100% - 40px);
}
.top-coachbox__modal__flex{
    display:flex;
    gap:30px;
}
.top-coachbox__modal__content__head{
    padding-bottom:10px;
    margin-bottom:10px;
    border-bottom:6px solid var(--color-green);
}
.top-coachbox__modal__en{
    font-weight:bold;
    font-size:12px;
    color:var(--color-green);
}
.top-coachbox__modal__name{
    font-size:18px;
    font-weight:bold;
    color:var(--color-green);
}
.top-coachbox__modal__nickname{
    margin-top:12px;
    font-size:22px;
    font-weight:bold;
    color:var(--color-green);
}
.top-coach__modalbg__close{
    position:absolute;
    width:100%;
    text-align:center;
    padding:20px;
    font-size:18px;
    font-weight:bold;
    color:#FFF;
    cursor:pointer;
}


.top-course{
    margin-top:150px;
}

.top-course__mv{
    position:relative;
    z-index:0;
    overflow:hidden;
}
.top-course__mv__slider,
.top-course__mv__slide{
    transition-timing-function: linear;
}

.top-course__box{
    position:relative;
    margin-top:-14vw;
    background:no-repeat top center/1920px url('./img/top/bg-course.webp');
    padding-top:230px;
    padding-bottom:220px;
    margin-bottom:300px;
}
.top-course__box::before{
    content:'';
    width:100%;
    height:calc(100% - 300px);
    top:300px;
    left:0;
    background:#78b251;
    z-index:-1;
    position:absolute;
}

.top-course__head{
    position:relative;
}
.top-course__head__hv{
    position:absolute;
}
.top-course__head__hv.hv01{
    left:14%;
    top:-40px;
}
.top-course__head__hv.hv02{
    right:24%;
    top:-50px;
}
.top-course__head__hv.hv03{
    top:-80px;
    right:0;
}

.top-courseboxes{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:7%;
    margin-top:50px;
}
.top-coursebox{
    position:relative;
    border:3px solid var(--color-base);
    border-radius:50px;
    background:#FFF;
    padding:50px 30px;
}
.top-coursebox__title{
    font-size:32px;
    font-weight:bold;
    color:var(--color-green);
    text-align:center;
    margin-bottom:20px;
}
.top-coursebox__text{
    margin-top:12px;
    line-height:1.8;
}
.top-coursebox__info{
    margin-top:0.5em;
    font-size:14px;
    font-weight:bold;
    color:var(--color-green);
}

.top-course__busservice{
    position:absolute;
    width:100%;
    top:calc(100% + 100px);
    left:0;

    display:flex;
    justify-content:center;
}
.top-course__busservice__box{
    position:relative;
    border:3px solid var(--color-base);
    padding:34px 48px 48px;
    border-radius:48px;
    color:#FFF;
    background:var(--color-green);
    width:100%;
    max-width:780px;
}
.top-course__bus__title{
    font-size:52px;
    font-weight:900;
    color:var(--color-orange);
}
.top-course__bus__content{
    width:calc(100% - 220px);
}
.top-course__bus__text{
    font-size:18px;
    margin:1em 0;
    line-height:1.8;
}
.top-course__bus__data{
    font-size:15px;
    line-height:1.8;
    font-weight:bold;
}
.top-course__bus__data small{
    position:relative;
    padding-left:1em;
    font-size:13px;
    font-weight:normal;
}
.top-course__bus__data small::before{
    content:'※';
    position:absolute;
    top:0;
    left:0;
}
.top-course__bus__image{
    position:absolute;
    width:410px;
    right:220px;
    bottom:-50px;
    transform:translateX(100%);
}
.top-course__bus__hv{
    position:absolute;
    width:95px;
    top:-10px;
    right:-60px;
}

.top-course__othercourses{
    position:absolute;
    top:calc(100% + 100px);
    left:0;

    display:grid;
    grid-template-columns:repeat(2,1fr);
    padding:0 var(--padding);
    gap:6%;
}
.top-course__othercourse{
    position:relative;
    border:3px solid var(--color-base);
    padding:20px 40px 40px;
    border-radius:40px;
    color:#FFF;
    background:var(--color-green);
}
.top-course__othercourse.oc02{
    background:var(--color-orange);
}

.top-course__othercourse__title{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:20px;
}
.top-course__othercourse__title__text{
    font-size:42px;
    font-weight:900;
    color:var(--color-orange);
}
.top-course__othercourse.oc02 .top-course__othercourse__title__text{
    color:var(--color-green);
}
.top-course__othercourse__target{
    width:118px;
    height:118px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:var(--color-orange);
}
.top-course__othercourse.oc02 .top-course__othercourse__target{
    background:var(--color-green);
}
.top-course__othercourse__target__title{
    font-size:24px;
    font-weight:bold;
    color:var(--color-green);
}
.top-course__othercourse.oc02 .top-course__othercourse__target__title{
    color:var(--color-orange);
}
.top-course__othercourse__content{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:20px 0;
}
.top-course__othercourse__maintext{
    width:calc(100% - 260px);
    line-height:1.8;
    font-size:18px;
}
.top-course__othercourse__info{
    font-size:14px;
    font-weight:bold;
    width:220px;
    line-height:1.8;
}
.top-course__othercourse__maintext__add{
    margin-top:2em;
    display:block;
    font-size:12px;
    padding-left:1em;
    position:relative;
    line-height:1.8;
}
.top-course__othercourse__maintext__add::before{
    content:'※';
    position:absolute;
    top:0;
    left:0;
}
.top-course__othercourse__hv01{
    position:absolute;
    bottom:0;
    right:0;
    transform:translate(44%, 20%);
}
.top-course__othercourse__hv02{
    position:absolute;
    top:0;
    right:180px;
    transform:translateY(-18%);
}

.top-policy{
    padding-top:100px;
}
.top-policy__box{
    margin-top:80px;
    position:relative;
    z-index:1;
    padding:40px 0;
}
.top-policy__box::before{
    content:'';
    position:absolute;
    z-index:-1;
    top:0;
    left:calc(-1 * var(--padding));
    width:calc(100% + var(--padding) * 2);
    height:100%;
    background:var(--color-orange);
    border-top:3px solid var(--color-base);
    border-right:3px solid var(--color-base);
    border-bottom:3px solid var(--color-base);
    border-top-right-radius:150px;
}
@media only screen and (min-width:1521px){
    .top-policy__box::before{
        left:calc((100vw - 1480px) / 2 * -1);
        width:calc(100vw - ((100vw - 1560px) / 2));
    }
}
.top-policy__box__hv01{
    position:absolute;
    top:0;
    right:15%;
    transform:translateY(-85%);
}
.top-policy__classes{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:5%;
}

.top-policy__class__head{
    padding-bottom:12px;
    border-bottom:6px solid var(--color-base);
}
.top-policy__class__title{
    font-size:18px;
}
.top-policy__class__subtitle{
    color:#FFF;
    font-size:30px;
    font-weight:900;
}
.top-policy__class__dls dl:not(:last-child){
    border-bottom:1px solid var(--color-base);
}
.top-policy__class__dls dl{
    padding:15px 0;
}
.top-policy__class__dls dl dt{
    color:#FFF;
    font-size:20px;
    font-weight:bold;
    margin-bottom:10px;
}
.top-policy__class__dls dl dd{
    font-size:14px;
    margin:0;
    padding:0;
}

.top-policy__class__box__bottomtext{
    font-size:32px;
    font-weight:bold;
    text-align:right;
    margin-top:-1em;
}

.top-curriculum{
    padding-top:120px;
}

.top-curriculum__box{
    position:relative;
    padding-bottom:60px;
    background:no-repeat top center/1920px url('./img/top/bg-curriculum.webp');
}
.top-curriculum__box::before{
    content:'';
    width:100%;
    height:calc(100% - 300px);
    top:300px;
    left:0;
    background:#63a24a;
    z-index:-1;
    position:absolute;
}
.top-curriculum__flex{
    display:flex;
    gap:50px;
    justify-content:space-between;
    align-items:center;

    transform:translateY(-50px);
}
.top-curriculum__text{
    color:#FFF;
    font-size:20px;
    line-height:2;
}
.top-curriculum__content{
    width:100%;
    max-width:590px;
}
.top-curriculum__class:not(:last-child){
    margin-bottom:40px;
}
.top-curriculum__class{
    background:var(--color-green);
    border:3px solid var(--color-orange);
    padding:30px;
    border-radius:48px;
    color:#FFF;
}
.top-curriculum__class__head{
    display:flex;
    flex-wrap:wrap;
    gap:8px 30px;
    align-items:center;
    color:var(--color-orange);
    border-bottom:6px solid var(--color-orange);
    padding-bottom:10px;
    margin-bottom:10px;
}
.top-curriculum__class__title{
    font-size:32px;
    font-weight:bold;
}
.top-curriculum__class__subtitle{
    font-size:20px;
    font-weight:bold;
}
.top-curriculum__class__dls dl{
    display:flex;
    padding:12px 0;
    border-bottom:1px solid #FFF;
    font-size:18px;
}
.top-curriculum__class__dls dl dt{
    width:200px;
}
.top-curriculum__box__hv01{
    position:absolute;
    bottom:0;
    left:40%;
    transform:translateY(10%);
}


.top-event{
    padding:130px 0;
    overflow:hidden;
}
.top-event__title{
    font-size:44px;
    font-weight:900;
    text-align:center;
}
.top-event__title b{
    color:var(--color-green);
}

.top-event__box{
    position:relative;
    height:780px;
}
.top-event__c{
    position:absolute;
    z-index:2;
}
.top-event__hv{
    position:absolute;
    z-index:3;
}

.top-event__c{
    transition:all 1s ease;
    transform:scale(0);
}
.top-event__c.scrollin{
    transform:scale(1);
}

.top-event__c.c01{
    top:20%;
    left:24%;
    width:29%;
}
.top-event__c.c02{
    top:48%;
    left:10%;
    width:22%;
}
.top-event__c.c03{
    top:25%;
    left:32%;
    width:15%;
}
.top-event__c.c04{
    top: 46%;
    left: 55%;
    width: 22%;
}
.top-event__c.c05{
    top: 5%;
    left: 8%;
    width: 17%;
}
.top-event__c.c06{
    top: 7%;
    left: 56%;
    width: 17%;
}
.top-event__c.c07{
    top: 41%;
    left: 81%;
    width: 17%;
}
.top-event__c.c08{
    top: 70%;
    left: 36%;
    width: 17%;
}

.top-event__hv.hv01{
    width: 8%;
    top: 17%;
    left: 2%;
}
.top-event__hv.hv02{
    width: 13%;
    top: -11%;
    left: 90%;
}


.top-gallery{
    padding:120px 0 80px;
}

.top-gallery__head{
    margin-bottom:80px;
}
.top-gallery__head__hv01{
    position:absolute;
    top:-160px;
    right:0;
}
.top-gallery__head__hv02{
    position:absolute;
    left:0;
    top:0;
}

.top-gallery__sls{
    overflow:hidden;
}
.top-gallery__slwrapper{
    margin-bottom:24px;
}
.top-gallery__slide{
    padding-right:24px;
}

.swiper-wrapper {
  transition-timing-function: linear !important;
}

.top-trial{
    position:relative;
    background:repeat-y center/cover url('./img/top/bg-trial.webp');
    padding:20vw 0 0;
}
.top-trial__headimg{
    position:absolute;
    top:0;
    left:0;
    width:85%;
}
.top-trial .page-inner{
    position:relative;
    z-index:2;
}
.top-trial__contents{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:60px;
    padding:0 60px !important;
    margin-top:40px !important;
}
.top-trial__content{
    position:relative;
}
.top-trial__content:nth-of-type(1)::before{
    content:'';
    width:60px;
    height:132px;
    background:no-repeat center/contain url('./img/top/icon-slash.svg');
    position:absolute;
    right:100%;
    top:0;
}
.top-trial__content::after{
    content:'';
    width:60px;
    height:132px;
    background:no-repeat center/contain url('./img/top/icon-slash.svg');
    position:absolute;
    left:100%;
    top:0;
}
.top-trial__content__text{
    color:#FFF;
    text-align:center;
    font-size:28px;
    font-weight:bold;
    padding:20px;
    line-height:1.6;
}

.top-trial__caltitle{
    margin-top:100px;
    margin-bottom:40px;
}

.top-trial__reservebtn{
    transform:translateY(50%);
}
.top-trial__reservebtn a{
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    max-width:635px;
    height:160px;
    color:#FFF;
    background:linear-gradient(to right,#ceb11e, #e3d37f, #ceb11e);
    border-top-right-radius:60px;
    padding:0 50px;
}
.top-trial__reservebtn__text{
    font-size:36px;
    font-weight:bold;
}


.top-venue{
    padding:220px 0 70px;
}
.top-venue__flex{
    display:flex;
    justify-content:space-between;
}
.top-venue__contents{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:40px;
}
.top-venue__course__title{
    position:relative;
    padding-top:32px;
    margin-bottom:20px;
    font-size:19px;
    font-weight:bold;
    color:var(--color-green);
}
.top-venue__course__title::before{
    content:'';
    position:absolute;
    width:42px;
    height:1px;
    background:#000;
    top:0;
    left:0;
}
.top-venue__course__title.title02{
    color:var(--color-orange);
}
.top-venue__course__list{
    margin:0;
    padding-left:1.4em;
    font-size:19px;
    line-height:1.8;
}
.top-venue__course__list li:not(:last-child){
    margin-bottom:10px;
}
.top-venue__course__add{
    margin:20px 0 0;
    padding-left:1.4em;
    list-style:none;
    font-size:15px;
}
.top-venue__course__add li{
    position:relative;
}
.top-venue__course__add li::before{
    content:'※';
    position:absolute;
    top:0;
    left:-1em;
}
.top-venue__course:not(:last-child){
    margin-bottom:50px;
}

.main-title__en sd{
    margin:0 0.4em;
    font-size:70%;
}
.top-qanda__articles{
    width:100%;
    max-width:1000px;
    margin: 60px auto 0;
}
.top-qanda__article:not(:last-child){
    margin-bottom:20px;
}
.top-qanda__article__head{
    background:#FFF;
    padding:18px 70px;
    border-radius:16px;
    position:relative;
    cursor:pointer;
}
.top-qanda__article__head__q{
    position:absolute;
    top:6px;
    left:20px;
    color:var(--color-green);
    font-size:33px;
    font-weight:bold;
}
.top-qanda__article__head__title{
    font-size:20px;
}
.top-qanda__article__head__toggle{
    position:absolute;
    width:28px;
    height:28px;
    border-radius:50%;
    border:1px solid var(--color-base);
    top:calc(50% - 14px);
    right:20px;
}
.top-qanda__article__head__toggle span{
    position:absolute;
    width:8px;
    height:1px;
    left:10px;
    top:50%;
    background:var(--color-base);
    transition:var(--transition);
}
.top-qanda__article__head__toggle span:nth-of-type(2){
    transform:rotate(90deg);
}
.top-qanda__article__head.open span:nth-of-type(1){
    transform:rotate(-45deg);
}
.top-qanda__article__head.open span:nth-of-type(2){
    transform:rotate(45deg);
}
.top-qanda__article__body{
    display:none;
    margin-top:14px;
    position:relative;
    padding-left:60px;
}
.top-qanda__article__body__a{
    position:absolute;
    top:0;
    left:20px;
    color:var(--color-orange);
    font-size:33px;
    font-weight:bold;
}
.top-qanda__article__body__text{
    padding-top:8px;
    font-size:20px;
    line-height:2;
}


.top-supporters{
    padding-bottom:160px;
}
.top-supporters__title{
    display:flex;
    justify-content:center;
    gap:40px;
    align-items:center;
}
.top-supporters__title__text{
    font-size:48px;
    font-weight:bold;
    color:var(--color-orange);
}
.top-supporters__banners{
    margin-top:50px;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:20px;
}





/* CALENDAR */
.calendar-wrapper{
    margin:0 auto;
    max-width:940px;
}
.calendar{
    padding:20px;
    background:#FFF;
}
.calendar__head{
    position:relative;
    padding:0;
}
.calendar__head__month{
    text-align:center;
    padding:0 80px;
    font-size:18px;
    font-weight:bold;
}
.calendar__head__anker{
    position:absolute;
    top:0;
}
.calendar__head__anker a{
    color:var(--color-calblue);
    font-size:18px;
    font-weight:bold;
    cursor:pointer;
}
.calendar__head__anker a:hover{
    text-decoration:underline;
}
.calendar__head__anker.prev{
    left:0;
}
.calendar__head__anker.next{
    right:0;
}
.calendar__body{
    margin-top:12px;
}

.calendar__tr{
    display:grid;
    grid-template-columns:repeat(7,1fr);
    gap:1px;
    background:#CCC;
    padding:1px 1px 0;
}
.calendar__tr:last-child{
    padding-bottom:1px;
}
.calendar__th,
.calendar__td{
    position:relative;
}
.calendar__th{
    padding:8px;
    color:#FFF;
    text-align:center;
    font-size:16px;
    font-weight:bold;
    background:var(--color-calblue);
}
.calendar__td{
    padding:14px;
    min-height:80px;
    background:#FFF;
}
.calendar__td.close{
    color:#FFF;
    background:#BBB;
}

.calendar__classes{
    padding:0;
    margin:0;
    list-style:none;
    margin-top:0.3em;
}
.calendar__classes li:not(:last-child){
    margin-bottom:10px;
}
.calendar__classes li a{
    font-size:14px;
    font-weight:bold;
    color:var(--color-orange);
    text-decoration:underline;
    word-break:break-all;
}
.calendar__classes li a.class01{
    color:var(--color-orange);
}
.calendar__classes li a.class02{
    color:var(--color-green);
}
.calendar__classes li a.class03{
    color:var(--color-blue);
}






/* TOPICS */

.archive__head{
    margin-bottom:60px;
}

.topics-archive:not(:last-child){
    margin-bottom:24px;
}
.topics-archive a{
    display:block;
    color:var(--color-base);
    background:#FFF;
    border-radius:20px;
    padding:16px 28px;
}
.topics-archive__wrapper{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px 0;
}
.topics-archive__date{
    font-size:14px;
    width:6em;
}
.topics-archive__cat{
    padding:0 10px;
    border-left:1px solid #CCC;
    border-right:1px solid #CCC;
    margin-right:20px;
}
.cattag{
    display:flex;
    justify-content:center;
    align-items:center;
    white-space:nowrap;
    width:90px;
    height:18px;
    color:#FFF;
    font-size:10px;
    font-weight:bold;
    background:var(--color-blue);
    letter-spacing:-0.1em;
}
.cattag.event{
    background:var(--color-orange);
}
.cattag.trial{
    background:var(--color-green);
}
.topics-archive__title{
    font-size:18px;
    font-weight:normal;
}

.archive_pagenavi{
    margin-top:50px;
}
.archive_pagenavi .wp-pagenavi{
    display:flex;
    gap:6px;
    align-items:center;
    justify-content:center;
}
.wp-pagenavi a, .wp-pagenavi span{
    display:flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    border:1px solid var(--color-orange) !important;
}
.wp-pagenavi span{
    color:#FFF;
    background:var(--color-orange);
}



/* PAGE/SINGLE */

main.page{
    padding:150px 0;
}

main.page .page-inner{
    max-width:1000px;
}

.page-header{
    padding-bottom:60px;
}
.page-header__title{
    font-size:36px;
    font-weight:900;
}
.topics__metas{
    margin-top:16px;
    display:flex;
    justify-content:space-between;
    gap:20px;
}

.page-mainlink{
    margin-top:70px;
}

.editor-content>*{
    margin-bottom:24px;
}
.editor-content h1{
    font-size:36px;
    font-weight:bold;
}
.editor-content h2{
    font-size:28px;
    font-weight:bold;
}
.editor-content h3{
    font-size:22px;
    font-weight:bold;
}
.editor-content h4{
    font-size:18px;
    font-weight:bold;
}
.editor-content h5{
    font-size:16px;
    font-weight:bold;
}
.editor-content h6{
    font-size:14px;
    font-weight:bold;
}
.editor-content p{
    font-size:16px;
    line-height:2;
}

.editor-content ul,
.editor-content ol{
    margin-left:0;
    padding-left:1.5em;
}



/* CONTACT */

.form_dls dl{
    display:flex;
    flex-wrap:wrap;
    gap:10px 40px;
}
.form_dls dl:not(:last-child){
    margin-bottom:20px;
}
.form_dls dl dt{
    width:240px;
    position:relative;
    font-size:16px;
    font-weight:bold;
}
.form_dls dl dt span.must{
    position:absolute;
    top:3px;
    right:0;
    font-size:14px;
    font-weight:bold;
    padding:2px 6px;
    color:#FFF;
    background:var(--color-orange);
}
.form_dls dl dd{
    width:calc(100% - 280px);
    font-size:18px;
}

.form_dls input.dble{
    pointer-events:none;
}

.form_dls input[type="text"],
.form_dls input[type="tel"],
.form_dls input[type="email"],
.form_dls select,
.form_dls textarea{
    padding:6px 18px;
}

.form-submitbtns{
    margin-top:60px;
    text-align:center;
}
.form-submitbtns input{
    font-size:24px;
    font-weight:900;
    color:#FFF;
    background:var(--color-orange);
    padding:20px 60px;
    border-radius:10px;
    border:0;
}
.wpcf7-spinner{
    display:none!important;
}



/* ANIMATION */
.fadein {
    opacity : 0.1;
    transform : translate(0, 50px);
    transition : all 800ms;
}
.fadeinr {
    opacity : 0.1;
    transform : translate(50px, 0);
    transition : all 800ms;
}
.fadeinb {
    opacity : 0.1;
    transform : translate(0, 50px);
    transition : all 800ms;
}
.fadeint {
    opacity : 0.1;
    transform : translate(0, -50px);
    transition : all 800ms;
}
.fadeinl {
    opacity : 0.1;
    transform : translate(-50px, 0);
    transition : all 800ms;
}
.fadeino {
    opacity : 0.1;
    transition : all 800ms;
}

.fadein.scrollin, .fadeinr.scrollin, .fadeinb.scrollin, .fadeint.scrollin, .fadeinl.scrollin {
    opacity : 1;
    transform : translate(0, 0);
}
.fadeino.scrollin {
   opacity : 1;
}

@supports (-ms-ime-align:auto) {
.fadein {
    opacity : 1;
    transform : inherit;
    transition : inherit;
}
.fadeinr {
    opacity : 1;
    transform : inherit;
    transition : inherit;
}
.fadeinb {
    opacity : 1;
    transform : inherit;
    transition : inherit;
}
.fadeint {
    opacity : 1;
    transform : inherit;
    transition : inherit;
}
.fadeinl {
    opacity : 1;
    transform : inherit;
    transition : inherit;
}
.fadeino {
    opacity : 1;
    transition : inherit;
}

.fadein.scrollin, .fadeinr.scrollin, .fadeinb.scrollin, .fadeint.scrollin, .fadeinl.scrollin {
    opacity : 1;
    transform : inherit;
}
.fadeino.scrollin {
   opacity : 1;
}
}/* @ supports end */

@media only screen and (max-width:1280px){
/* ANIMATION */
.fadein,
.fadeinr,
.fadeinl,
.fadeinb,
.fadeint{
    opacity : 0.1;
    transform : translate(0, 50px);
    transition : all 800ms;
}
}/* fade animation wrap over */



.clear_from_top.ef,
.inner-clear_from_top.ef>*{
	-webkit-clip-path: inset(0 0 100% 0);
	clip-path: inset(0 0 100% 0);
	transition:all .8s ease;
}
.clear_from_bottom.ef,
.inner-clear_from_bottom.ef>*{
	-webkit-clip-path: inset(100% 0 0 0);
	clip-path: inset(100% 0 0 0);
	transition:all .8s ease;
}
.clear_from_left.ef,
.inner-clear_from_left.ef>*{
	-webkit-clip-path: inset(0 100% 0 0);
	clip-path: inset(0 100% 0 0);
	transition:all .8s ease;
}
.clear_from_right.ef,
.inner-clear_from_right.ef>*{
	-webkit-clip-path: inset(0 0 0 100%);
	clip-path: inset(0 0 0 100%);
	transition:all .8s ease;
}
.clear_from_lefttop.ef,
.inner-clear_from_lefttop.ef>*{
	-webkit-clip-path: inset(0 100% 100% 0);
	clip-path: inset(0 100% 100% 0);
	transition:all .8s ease;
}
.clear_from_righttop.ef,
.inner-clear_from_righttop.ef>*{
	-webkit-clip-path: inset(0 100% 0 100%);
	clip-path: inset(0 100% 0 100%);
	transition:all .8s ease;
}
.clear_from_leftbottom.ef,
.inner-clear_from_leftbottom.ef>*{
	-webkit-clip-path: inset(100% 100% 0 0);
	clip-path: inset(100% 100% 0 0);
	transition:all .8s ease;
}
.clear_from_rightbottom.ef,
.inner-clear_from_rightbottom.ef>*{
	-webkit-clip-path: inset(100% 0 0 100%);
	clip-path: inset(100% 0 0 100%);
	transition:all .8s ease;
}
.clear_from_top.ef.scrollin,
.clear_from_bottom.ef.scrollin,
.clear_from_left.ef.scrollin,
.clear_from_right.ef.scrollin,
.inner-clear_from_top.ef.scrollin>*,
.inner-clear_from_bottom.ef.scrollin>*,
.inner-clear_from_left.ef.scrollin>*,
.inner-clear_from_right.ef.scrollin>*,
.clear_from_lefttop.ef.scrollin,
.clear_from_righttop.ef.scrollin,
.clear_from_leftbottom.ef.scrollin,
.clear_from_rightbottom.ef.scrollin,
.inner-clear_from_lefttop.ef.scrollin>*,
.inner-clear_from_righttop.ef.scrollin>*,
.inner-clear_from_leftbottom.ef.scrollin>*,
.inner-clear_from_rightbottom.ef.scrollin>*{
	-webkit-clip-path: inset(0);
	clip-path:inset(0);
}





/* RSP 1520px */
@media only screen and (max-width:1520px){

    /* DRAWER */
    .main-drawer__menus{
        gap:30px;
    }
    .main-drawer__menu__title{
        font-size:24px;
    }

    /* FOOTER */
    .main-footer__link__text{
        font-size:24px;
    }

    /* TOP */
    .top-about__title{
        font-size:70px;
    }
    .top-about__pointbox__title__text{
        font-size:20px;
    }
    .top-coachbox__nickname{
        width:160px;
    }
    .top-courseboxes{
        gap:3%;
    }
    .top-coursebox__title{
        font-size:26px;
    }
    .top-course__othercourses{
        gap:3%;
    }
    .top-course__othercourse__title__text{
        font-size:34px;
    }
    .top-course__othercourse__hv02{
        transform:translateY(-50%);
    }
    .top-course__othercourse__hv01{
        transform: translate(20%, 20%);
    }
    .top-policy__class__subtitle{
        font-size:24px;
    }
    .top-policy__classes{
        gap:3%;
    }
    .top-policy__class__box__bottomtext{
        font-size:22px;
    }
    .top-curriculum__class__title{
        font-size:24px;
    }
    .top-curriculum__class__subtitle{
        font-size:16px;
    }
    .top-trial__content__text{
        font-size:21px;
    }
}

/* RSP 1280px */
@media only screen and (max-width:1280px) and (min-width:1025px){
    body{
        min-width:1280px;
    }
}

/* RSP 1024px */
@media only screen and (max-width:1024px) {

    body{
        padding-bottom:60px;
    }

    .padding-tb{
        padding:50px 0;
    }

    /* HEADER */
    .main-header__wrapper{
        padding:10px 10px 0;
    }
    .sitelogo{
        width:160px;
    }
    .menu-toggler{
        width:60px;
        height:60px;
    }

    /* DRAWER*/
    .main-drawer__inner{
        padding:100px 40px 50px;
    }
    .main-drawer__menus{
        grid-template-columns:repeat(2,1fr);
        gap:30px 16px;
    }
    .main-drawer__menu__title{
        font-size:20px;
    }
    .main-drawer__menu__sub .main-drawer__menu__title{
        font-size:16px;
    }

    .main-drawer__snses{
        gap:30px;
    }
    .main-drawer__sns a img{
        width:50px;
    }

    /* ASIDE */
    .main-aside{
        bottom:0;
        top:unset;
        left:0;
        transform:none;
    }
    .main-aside__links{
        flex-direction:row;
        gap:0;
    }
    .main-aside__link{
        width:50%;
    }
    .main-aside__link a{
        flex-direction:row;
        justify-content:space-between;
        gap:10px;
        border-radius:0;
        border:2px solid var(--color-base);
        border-bottom:0;
        padding:14px 30px;
    }
    .main-aside__link.link01 a{
        border-left:0;
        border-right:0;
    }
    .main-aside__link.link02 a{
        border-right:0;
    }


    /* FOOTER */
    .main-footer__links{
        gap:30px;
    }
    .main-footer__link a{
        padding:14px 30px;
    }
    .main-footer__snses{
        gap:30px;
    }
    .main-footer__sns a img{
        width:50px;
    }
    .main-footer__logo img{
        max-width:300px;
    }



    /* COMMON PARTS */
    main.page{
        padding:120px 0;
    }

    .main-title:not(:last-child){
        margin-bottom:30px;
    }
    .main-title__en{
        font-size:42px;
    }
    .main-title__jp{
        font-size:20px;
    }


    /* TOP */
    .top-mv__mainimg{
        margin-top:0;
        padding:0 20px;
    }

    .top-about__title{
        font-size:5.6vw;
    }
    .top-about__contents{
        flex-wrap:wrap;
        gap:40px;
    }
    .top-about__content__left{
        display:none;
    }
    .top-about__content__right{
        width:100%;
    }
    .top-about__content__right__main img{
        border-radius:0;
    }
    .top-about__content__main{
        width:100%;
    }
    .top-about__content__title{
        font-size:32px;
    }

    .top-about__points{
        padding-top:80px;
    }
    .top-about__points__head{
        transform:none;
    }
    .top-about__points__title{
        font-size:32px;
    }
    .top-about__points__text{
        font-size:16px;
    }
    .top-about__points__box__hv01{
        display:none;
    }
    .top-about__points__box{
        padding-top:50px;
        padding-bottom:50px;
        margin-top:0;
    }
    .top-about__pointbox02__hv{
        display:none;
    }
    .top-about__pointbox__title{
        flex-wrap:wrap;
        gap:20px;
    }
    .top-about__pointbox__title__num{
        border:0;
        padding:0;
        margin:0;
    }
    .top-about__pointboxes{
        gap:20px;
        grid-template-columns:1fr;
    }
    .top-about__pointbox{
        padding:40px 30px 30px;
    }
    .top-about__pointbox__addtext{
        position:relative;
        margin-top:30px;
        left:0;
        top:0;
        width:100%;
    }

    .top-topics__flex{
        gap:40px;
    }
    .top-topics__flex__title,
    .top-topics__flex__content{
        width:100%;
    }

    .top-coachboxes{
        width:100%;
        max-width:800px;
        margin:0 auto;
        grid-template-columns:repeat(3,1fr);
    }

    .top-course__box{
        margin-top:-18vw;
        padding-top:18vw;
        padding-bottom:50px;
        margin-bottom:0;
        overflow:hidden;
    }
    .top-course__head__hv.hv01{
        width:15%;
        top:0;
        left:0;
    }
    .top-course__head__hv.hv02{
        width:10%;
        top:0;
        right:0;
    }
    .top-courseboxes{
        grid-template-columns:1fr;
        gap:40px;
        width:100%;
        max-width:520px;
        margin:0 auto;
    }

    .top-course__othercourses{
        position:relative;
        top:0;
        left:0;
        grid-template-columns:1fr;
        width:100%;
        max-width:560px;
        margin:40px auto 0;
        padding:0 20px;
        gap:20px;
    }
    .top-course__othercourse__hv01,
    .top-course__othercourse__hv02{
        display:none;
    }
    .top-course__busservice{
        position:relative;
        margin-top:60px;
    }

    .top-policy{
        padding-top:60px;
    }
    .top-policy__box__hv01{
        right:0;
    }
    .top-policy__box::before{
        border-top-right-radius:0;
        border-right:0;
    }
    .top-policy__classes{
        grid-template-columns:1fr;
        width:100%;
        max-width:520px;
        gap:40px;
        margin:0 auto;
    }
    .top-policy__class__box__bottomtext{
        position:relative;
        font-size:20px;
        margin-top:50px;
        text-align:center;
    }

    .top-curriculum{
        padding-top:60px;
    }
    .top-curriculum__box{
        padding:100px 0 50px;
    }
    .top-curriculum__flex{
        flex-wrap:wrap;
        transform:none;
    }
    .top-curriculum__box__hv01{
        display:none;
    }

    .top-event{
        padding:60px 0;
    }
    .top-event__title{
        font-size:28px;
    }
    .top-event__hv{
        display:none;
    }
    .top-event__box{
        margin-top:40px;
        height:auto;
        display:grid;
        grid-template-columns:repeat(2,1fr);
        gap:20px;
    }
    .top-event__c{
        position:relative;
        left:0 !important;
        top:0 !important;
        right:0 !important;
        bottom:0 !important;
        width:100% !important;
        display:flex;
        align-items:center;
        justify-content:center;
    }

    .top-gallery{
        padding:60px 0;
    }
    .top-gallery__head__hv01{
        width:14%;
    }
    .top-gallery__slwrapper{
        margin-bottom:12px;
    }
    .top-gallery__slide{
        padding-right:12px;
    }

    .top-trial__contents{
        gap:30px;
        padding:0 30px !important;
    }
    .top-trial__content:nth-of-type(1)::before,
    .top-trial__content::after{
        width:30px;
        height:66px;
        margin:20px 0;
    }
    .top-trial__content__text{
        font-size:18px;
    }

    .top-trial__reservebtn a{
        max-width:420px;
        height:90px;
        border-top-right-radius:20px;
    }
    .top-trial__reservebtn__icon{
        width:30px;
    }
    .top-trial__reservebtn__text{
        font-size:24px;
    }

    .top-venue{
        padding:130px 0 60px;
    }
    .top-venue__flex{
        flex-wrap:wrap;
        gap:40px;
    }

    .top-qanda__article__body__text{
        font-size:18px;
    }


    .top-supporters{
        padding-bottom:130px;
    }
    .top-supporters__title__text{
        font-size:32px;
    }


    /* TOPICS SINGLE */
    .page-header{
        padding-bottom:40px;
    }
    .page-header__title{
        font-size:30px;
    }

}

@media only screen and (max-width:840px){
    .top-coachboxes{
        width:100%;
        max-width:520px;
        margin:0 auto;
        grid-template-columns:repeat(2,1fr);
    }
}


/* RSP 767px */
@media only screen and (max-width:767px){

    /* HEADER */

    .sitelogo{
        width:100px;
    }
    .menu-toggler{
        width:50px;
        height:50px;
    }

    /* DRAWER */
    .main-drawer__inner{
        display:block;
        padding:100px 20px 100px;
    }
    .main-drawer__menu__title{
        font-size:15px;
    }
    .main-drawer__menu__en{
        font-size:12px;
    }
    .main-drawer__menu__sub .main-drawer__menu__title{
        font-size:12px;
    }
    .main-drawer__snses{
        margin-top:40px !important;
    }

    /* ASIDE */
    .main-aside__link a{
        padding:12px 10px;
    }
    .main-aside__link__text{
        font-size:16px;
    }

    /* FOOTER */
    .main-footer__links{
        flex-wrap:wrap;
        gap:14px;
    }
    .main-footer__link__text{
        font-size:18px;
    }
    .main-footer__link__icon{
        width:24px;
    }

    .main-footer__logo img{
        width:160px;
    }


    /* TOP */
    .top-about__title{
        font-size:5vw;
    }
    .top-about__title__en{
        font-size:28px;
    }
    .top-about__contents{
        padding:0 20px;
    }
    .top-about__content__title{
        font-size:20px;
        margin-bottom:1em;
    }
    .top-about__content__text{
        text-align:left;
        font-size:14px;
    }
    .top-about__content__right__main img{
        border-radius:20px;
    }

    .top-about__points__title{
        font-size:22px;
        margin-bottom:20px;
    }

    .top-coachboxes{
        grid-template-columns:1fr;
        gap:60px;
    }
    .top-coachbox__nickname{
        font-size:16px;
        margin-bottom:20px;
    }
    .top-coachbox__main__img{
        text-align:center;
    }
    .top-coachbox__main__img img{
        width:100%;
        max-width:200px;
    }

    .top-coach__modalbg__close{
        padding:10px;
        font-size:14px;
    }
    .top-coachbox__modal{
        padding:20px;
        width:100%;
        height:100%;
        max-height:calc(100% - 60px);
        overflow-y:scroll;
        transform:translate(-50%, calc(-50% + 20px));
    }
    .top-coachbox__modal__flex{
        flex-wrap:wrap;
    }
    .top-coachbox__modal__image{
        width:100%;
        text-align:center;
    }
    .top-coachbox__modal__image img{
        max-width:220px;
    }

    .top-course{
        margin-top:0;
    }
    .top-course__box {
        position:relative;
        z-index:9;
        margin-top: -14vw;
        padding-top: 60px;
        overflow:visible;
    }
    .top-course__box::before{
        top:0;
        height:100%;
    }
    .top-about__pointbox__pin{
        width:22px;
    }

    .top-coursebox{
        padding:30px 20px;
        border-radius:20px;
    }
    .top-coursebox__title{
        font-size:20px;
    }

    .top-course__othercourses{
        padding:0;
    }
    .top-course__othercourse{
        padding:20px 20px 40px;
    }
    .top-course__othercourse__title__text{
        font-size:20px;
    }
    .top-course__othercourse__target{
        width:88px;
        height:88px;
    }
    .top-course__othercourse__target__title{
        font-size:19px;
    }
    .top-course__othercourse__maintext{
        width:100%;
    }

    .top-course__bus__hv{
        display:none;
    }
    .top-course__busservice__box{
        padding:30px 20px;
    }
    .top-course__bus__title{
        font-size:22px;
    }
    .top-course__bus__content{
        width:100%;
    }
    .top-course__bus__image{
        position: relative;
        width: 80%;
        right: 0;
        left: 10%;
        transform: none;
        bottom: -30px;
    }


    .top-policy__class__title{
        font-size:16px;
    }
    .top-policy__class__subtitle{
        font-size:20px;
    }
    .top-policy__class__dls dl dt{
        font-size:16px;
    }

    .top-curriculum__class__title{
        font-size:18px;
    }
    .top-curriculum__text{
        font-size:16px;
    }
    .top-curriculum__class__dls dl{
        font-size:14px;
        gap:20px;
    }
    .top-curriculum__class__dls dl dt{
        width:100px;
    }
    .top-curriculum__class__dls dl dd{
        width:calc(100% - 120px);
    }

    .top-event__title{
        font-size:22px;
    }
    .top-event__box{
        grid-template-columns:1fr;
    }

    .top-trial__contents{
        grid-template-columns:1fr;
    }
    .top-trial__content::before {
        content: '';
        width: 30px;
        height: 66px;
        background: no-repeat center / contain url(./img/top/icon-slash.svg);
        position: absolute;
        right: 100%;
        top: 0;
        margin: 20px 0;
    }
    .top-trial__reservebtn a{
        padding:0 20px;
    }
    .top-trial__reservebtn__text{
        font-size:20px;
    }

    .top-venue__contents{
        grid-template-columns:1fr;
    }

    .top-qanda__article__head{
        padding:12px 50px;
    }
    .top-qanda__article__head__q{
        font-size:28px;
        left:10px;
        top:2px;
    }
    .top-qanda__article__head__title{
        font-size:18px;
    }
    .top-qanda__article__head__toggle{
        right:10px;
    }
    .top-qanda__article__body__a{
        left:10px;
        font-size:28px;
    }
    .top-qanda__article__body__text{
        font-size:14px;
    }

    .top-supporters__title__text{
        font-size:26px;
    }
    .top-supporters__banners{
        grid-template-columns:repeat(2,1fr);
    }


    /* CALENDER */
    .calendar__body{
        overflow-x:scroll;
    }
    .calendar__tr{
        width:100%;
        min-width:440px;
    }
    .calendar__th{
        font-size:12px;
    }
    .calendar__td{
        font-size:12px;
        padding:6px;
        min-height:60px;
    }
    .calendar__classes li a{
        font-size:12px;
    }
    .calendar__head__anker a{
        font-size:14px;
    }


    /* COMMON */
    main.page{
        padding:100px 0;
    }
    .page-header__title{
        font-size:24px;
    }

    .topics-archive__title{
        font-size:16px;
    }

    .editor-content h1{
        font-size:32px;
    }
    .editor-content h2{
        font-size:22px;
    }
    .editor-content h3{
        font-size:20px;
    }
    .editor-content h4{
        font-size:18px;
    }
    .editor-content h5{
        font-size:16px;
    }
    .editor-content h6{
        font-size:14px;
    }


    /* FORM */
    .form_dls dl{
        flex-wrap:wrap;
        gap:12px;
    }
    .form_dls dl dt,
    .form_dls dl dd{
        width:100%;
        font-size:16px;
    }
    .form_dls dl dt{
        padding-left:46px;
    }
    .form_dls dl dt span.must{
        right:unset;
        top:1px;
        left:0;
        font-size:12px;
    }
    .form_dls input[type="text"], .form_dls input[type="tel"], .form_dls input[type="email"], .form_dls select, .form_dls textarea{
        width:100%;
    }
    .form-submitbtns input{
        font-size:20px;
    }

}