header {
    position:absolute;
    z-index:5;
    background:transparent;
}
footer {
    position:absolute;
    z-index:5;
    background:transparent;
    width: 100%;
}
body,html{
    opacity:1;
}
body {
    position:relative;
}
main {
    width: 100% !important;
    padding: 0 !important;
    position: relative!important;
}

.abs {
    position: absolute;
}

i {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-style:normal;
}


.link-button-under {
    border: solid 3px #e56c36;
    text-align: center;
    color: #e56c36;
    display: flex;
    gap: 12%;
    align-items: center;
    justify-content: center;
    width: 30.357vw;
    height: 1.74%;
}
.link-button-under:hover{
    color: white;
    background-color: #e56c36;
}
.link-button-under span:nth-of-type(1) {
    font-size: 1.786vw;
    font-weight: bold;
}
.link-button-under span:nth-of-type(2) {
    font-size: 1.19vw;
    font-weight:900;
}
#link-button2 {
    top:91.79%;
    left:15.774vw;
}
#link-button3 {
    top:91.79%;
    left:53.929vw;
}
.link-button-upper {
    border: solid 3px #e56c36;
    text-align: center;
    color: #e56c36;
    display: flex;
    gap: 12%;
    align-items: center;
    justify-content: center;
    width: 38.69vw;
    height: 1.74%;
}
.link-button-upper:hover{
    color: white;
    background-color: #e56c36;
}
.link-button-upper span:nth-of-type(1) {
    font-size: 1.667vw;
    font-weight: bold;
}
.link-button-upper span:nth-of-type(2) {
    font-size: 1.19vw;
    font-weight:900;
}
#link-button1 {
    top:82.91%;
    left:30.655vw;
}

#abstext1 {
    width: 63.571vw;
    height:2.69%;
    font-size: 1.071vw;
    font-weight: bold;
    line-height: 2.22;
    letter-spacing: 0.054vw;
    text-align: center;
    color: #333;
    top:19.81%;
    left: 30.476vw;
    overflow-wrap: break-word;
}
#abstext1 span{
    display: inline-block;
    overflow-wrap: break-word;
}
#abstext2 {
    height: 0.26%;
    font-size: 0.774vw;
    font-weight: 500;
    line-height: 1.23;
    text-align: left;
    color: #221815;
    top:22.67%;
    left:58.446vw;
}
#abstext3 {
    height: 0.49%;
    font-size: 1.369vw;
    font-weight: bold;
    line-height: 1.17;
    text-align: left;
    color: #d39200;
    top:23.18%;
    left:53.333vw;
    letter-spacing: 0.03vw;
}
#abstext4 {
    height: 0.19%;
    font-size: 0.536vw;
    line-height: 1;
    text-align: left;
    color: #221815;
    top:23.70%;
    left:52.5vw;
}

#abstext5 {
    width: 44.048vw;
    height: 4.98%;
    font-size: 1.071vw;
    line-height: 2.22;
    letter-spacing: 0.054vw;
    text-align: left;
    color: #333;
    top:38.48%;
    left:50vw;
}

#abstext6 {
    width: 82vw;
    height: 0.95%;
    font-size: 0.833vw;
    line-height: 1.8;
    letter-spacing: 0.021vw;
    text-align: center;
    color: #333;
    top: 49.47%;
    left: 8.7vw;
}

#abstext7 {
    width: 34.917vw;
    height: 1.31%;
    font-size: 0.833vw;
    line-height: 1.71;
    letter-spacing: 0.083vw;
    text-align: center;
    color: #333;
    top:61.00%;
    left:13.631vw;
}

#abstext8 {
    width: 34vw;
    height:1.61%;
    font-size: 0.833vw;
    line-height: 1.71;
    letter-spacing: 0.083vw;
    text-align: center;
    color: #333;
    top:60.99%;
    left:52vw;
}
#abstext9 {
    width: 31vw;
    height: 0.61%;
    font-size: 0.714vw;
    line-height: 1.33;
    text-align: left;
    color: #333;
    top:65.14%;
    left:15.5vw;
}
#abstext10 {
    width: 31vw;
    height: 1.49%;
    font-size: 0.714vw;
    line-height: 1.33;
    text-align: left;
    color: #333;
    top:65.13%;
    left:53vw;
}
#abstext11 {
    width: 36.905vw;
    height: 0.84%;
    font-size: 0.833vw;
    line-height: 1.8;
    letter-spacing: 0.042vw;
    text-align: left;
    color: #333;
    top:76.37%;
    left:50vw;
}
#abstext12 {
    width: 22vw;
    height: 1.19%;
    font-size: 1.19vw;
    font-weight: bold;
    line-height: 1.8;
    letter-spacing: 0.119vw;
    text-align: left;
    color: #333;
    top:78.48%;
    left:24.94vw;
}
#abstext13 {
    width: 21.786vw;
    height: 0.77%;
    font-size: 1.19vw;
    font-weight: bold;
    line-height: 2;
    letter-spacing: 0.119vw;
    text-align: left;
    color: #333;
    top:80.78%;
    left:24.821vw;
}
#abstext14 {
    width: 88.095vw;
    height: 3.17%;
    font-size: 1.429vw;
    font-weight: bold;
    line-height: 2.08;
    letter-spacing: 0.071vw;
    text-align: center;
    color: #333;
    top:87.40%;
    left:5.952vw;
}

.pc {
    display:initial;
}
.sp {
    display:none;
}
.tb {
    display:none;
}

@media screen and (max-width: 1100px) {
    .pc {
        display:none;
    }
    .tb {
        display:initial;
    }
    .sp {
        display:none;
    }
    #abstext5 {
        width: 47vw;
    }
    #abstext6 {
        top:49.3%;
    }
    #abstext7, #abstext9 {
        width:37vw;
        left: 11vw;
    }
    #abstext8, #abstext10 {
        width: 37vw;
        left: 52.5vw;
    }
    #abstext9 {
        top:65%;
        line-height:1.1;
    }
    #abstext10 {
        top:65%;
        line-height:1.1;
    }
    #abstext11 {
        top: 76.15%;
        width:45vw;
    }

}
@media screen and (max-width: 950px) {
    .abs{
        transform: scale(0.9);
        transform-origin:0 0;
    }
    #abstext1,#abstext14,#link-button1,#link-button2,#link-button3,#abstext2,#abstext3,#abstext4  {
        transform-origin: center;
    }
    #abstext7, #abstext8, #abstext9, #abstext10 {
        width:41.11vw;
    }
    #abstext6 {
        width:91.11vw;
    }
}
@media screen and (max-width: 850px) {
    .abs{
        transform: scale(0.85);
        transform-origin:0 0;
    }
    #abstext4 {
            left: 50vw;
    }


    #abstext7, #abstext8, #abstext9, #abstext10 {
        width:43.53vw;
    }
    #abstext9 {
        top:64.9%;
    }
    #abstext10 {
        top:64.9%;
    }
    #abstext6 {
        width:96.47vw;
    }
}

@media screen and (max-width: 750px){
    .abs {
        transform:scale(1);
    }




    /* header
        -----------------------------------------------------------*/
    #menu{
        width:21.333vw;
        height:21.333vw;
        padding-top:8.5vw;
        position:fixed;
        right:0;
        top:0;
        z-index:11;
        transition:all .5s ease-in-out;
    }
    body.shrink #menu{
        width:15vw;
        height:15vw;
        padding-top:5.833vw;
        transition:all .5s ease-in-out;
    }
    #menu span{
        display:block;
        width:6.667vw;
        height:1px;
        margin-left:7.333vw;
        background:#fff;
        transition:all .5s ease-in-out;
    }
    body.shrink #menu span{
        width:4.667vw;
        margin-left:5.167vw;
        transition:all .5s ease-in-out;
    }
    #menu span+span{
        margin-top:2.167vw;
        transition:all .5s ease-in-out;
    }
    body.shrink #menu span+span{
        margin-top:1.5vw;
        transition:all .5s ease-in-out;
    }
    #menu span:last-child{
        width:4vw;
        margin-left:10vw;
        transition:all .5s ease-in-out;
    }
    body.shrink #menu span:last-child{
        width:2.833vw;
        margin-left:7vw;
        transition:all .5s ease-in-out;
    }
    body.navopen #menu{
        padding-top:8vw;
        transition:all .3s;
    }
    body.navopen #menu span{
        margin-left:7.333vw;
        transform:rotate(45deg) translate(1.667vw, 1.667vw);
        transition:all .5s ease-in-out;
    }
    body.navopen.shrink #menu span{
        margin-top:-2.667vw;
        margin-left:5.167vw;
        transition:all .5s ease-in-out;
    }
    body.navopen #menu span+span,
    body.navopen.shrink #menu span+span{
        margin-top:2.167vw;
        transform:rotate(-45deg);
    }
    body.navopen #menu span:last-child{
        opacity:0;
    }
    header{
        height:21.333vw;
        padding:0;
        transition:all .5s ease-in-out;
    }
    body.shrink header{
        height:15vw;
        transition:all .5s ease-in-out;
    }
    header .logo{
        float:left;
        display:block;
        margin:5.333vw 0 0 5.333vw;
        padding:0;
        transition:all .5s ease-in-out;
    }
    body.shrink header .logo{
        margin:3.667vw 0 0 5.333vw;
        transition:all .5s ease-in-out;
    }
    header .logo img{
        display:block;
        width:48vw;
        transition:all .5s ease-in-out;
    }
    body.shrink header .logo img{
        width:33.667vw;
        transition:all .5s ease-in-out;
    }

    header #hlink{display:none}

    header nav{
        position:fixed;
        width:100%;
        margin-top:21.333vw;
        height:calc(100% - 21.333vw);
        background:#fff;
        overflow-y:scroll;
        transform:translateX(100%);
        opacity:0;
        transition:all .5s ease-in-out;
    }
    body.shrink header nav{
        margin-top:15vw;
        height:calc(100% - 15vw);
        transition:all .5s ease-in-out;
    }
    body.navopen header nav{
        transform:translateX(0);
        opacity:1;
        transition:all .5s ease-in-out;
    }
    header nav ul.side li{
        width:100%;
        border-bottom:1px #ccc solid;
    }
    header nav ul.side li:nth-of-type(1){
        border-top:1px #ccc solid;
    }
    header nav ul.side li+li{
        margin-left:0;
    }
    header nav ul li.subtop span{
        position:relative;
    }
    header nav ul li.subtop span:after{
        display:block;
        content:"＋";
        width:4.833vw;
        height:4.833vw;
        font-size:2.5vw;
        font-weight:bold;
        color:#fff;
        line-height:4.833vw;
        text-align:center;
        border-radius:100%;
        background: #d96845;
        background: -moz-linear-gradient(left,  #d96845 0%, #e19345 100%);
        background: -webkit-linear-gradient(left,  #d96845 0%,#e19345 100%);
        background: linear-gradient(to right,  #d96845 0%,#e19345 100%);
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d96845', endColorstr='#e19345',GradientType=1 );
        position:absolute;
        right:5.333vw;
        top:50%;
        transform:translateY(-50%);
    }
    header nav ul li.subtop.showmenu span:after{
        content:"－";
    }
    header nav ul li a,
    header nav ul li span{
        display:block;
        padding:4vw 13.333vw 4vw 4vw;
        font-size:3vw;
    }
    header nav ul li.subtop:hover:before{display:none}
    header nav ul li .submenu{
        padding:0;
        border-top:0;
        box-shadow:none;
        background:#fff;
        position:static;
    }
    header nav ul li.showmenu:after{display:none}
    header nav ul li .submenu ul{
        max-width:100%;
        margin-left:5.333vw;
    }
    header nav ul li .submenu ul li{
        width:100%;
        margin-left:0;
        border-top:1px #ccc solid;
        border-bottom:0;
    }
    header nav ul li .submenu ul li a{
        display:block;
        padding:3vw 13.333vw 3vw 0;
        font-size:2.5vw;
    }
    header nav ul li .submenu ul li a:before{display:none}
    header nav ul li .submenu ul li a:after{
        display:block;
        content:"";
        width:1.667vw;
        height:1.667vw;
        background:none;
        border-top:2px #000 solid;
        border-right:2px #000 solid;
        position:absolute;
        right:7.667vw;
        top:50%;
        transform:rotate(45deg) translateY(-50%);
    }
    header nav ul li:not(.cv) .submenu>a{display:none}

    header nav ul li.cv{
        padding:9vw 4vw 6vw;
        border-bottom:0;
    }
    header nav ul li.cv a.grad{
        height:17vw;
        padding:0;
        line-height:17vw;
        border-radius:5px;
        text-align:center;
        color:#fff;
    }
    header nav ul li.cv a.grad span{
        padding:0;
    }
    header nav ul li.cv a.grad span::before{
        right:4vw;
        background:#fff url(img/common/arrow_cv.svg) center center no-repeat;
    }
    header nav ul li.cv a.grad span::after{
        display:none;
    }
    header nav ul li.cv .flex{
        display:flex;
        margin:4vw 0;
    }
    header nav ul li.cv .flex>a,
    header nav ul li.cv .flex>div{
        display:block;
        width:calc((100% - 4vw) / 3);
        padding:9vw 2vw 2vw;
        background:url(img/common/icon_note_orange.svg) center 3vw no-repeat;
        background-size:4vw;
        text-align:center;
        color:#e56936;
        border:1px #e56936 solid;
        border-radius:5px;
    }
    header nav ul li.cv .flex .reserve{
        background-image:url(img/common/icon_calendar_orange.svg);
        background-size:4.8vw;
    }
    header nav ul li.cv .flex>a:nth-of-type(2){
        background-image:url(img/common/icon_car_orange.svg);
        background-size:4.8vw;
    }
    header nav ul li.cv .flex .reserve{
        margin:0 2vw;
        position: relative;
    }
    header nav ul li.cv .flex .reserve div{
        display:none;
        width:auto;
        padding:1.667vw;
        background:#fff;
        white-space: nowrap;
        font-size: 3vw;
        position: absolute;
        left:50%;
        top:100%;
        z-index: 1;
        transform: translateX(-50%);
        box-shadow:0 0.188vw 1.875vw rgba(0,0,0,.16);
    }
    header nav ul li.cv .flex .reserve div a{
        color:#000;
        margin:0;
        padding:0;
        height:6.667vw;
        line-height:6.667vw;
    }
    header nav ul li.cv a.contact{
        height:17vw;
        padding:0;
        line-height:17vw;
        border:1px #e56936 solid;
        border-radius:5px;
        text-align:center;
        color:#e56936;
    }
    header nav ul li.sns{
        text-align:center;
        border-bottom:0;
        display:flex !important;
        flex-wrap:wrap;
        justify-content:space-evenly;
    }
    header nav ul li.sns div.line{
        line-height:1.6;
    }
    header nav ul li.sns a.line{
        padding:0;
    }
    header nav ul li.sns a.line img{
        width:33.333vw;
        margin-top:1vw;
        vertical-align:bottom;
    }
    header nav ul li.sns .rakueco{
        display:flex;
        align-items:flex-end;
    }
    header nav ul li.sns .rakueco a{
        display:block;
        width:33.333vw;
        height:10vw;
        padding:0;
        line-height:10vw;
        text-align:center;
        border-radius:0.5vw;
        background:#fda629;
        color:#fff;
        font-size:3.167vw;
        white-space:nowrap;
    }
    header nav ul li.sns div.buttons{
        text-align:center;
        font-size:0;
        padding:4vw 0;
        width:100%;
    }
    header nav ul li.sns div.buttons a{
        display:inline-block;
        width:10vw;
        height:10vw;
        padding:0;
        background:#ccc;
        border-radius:100%;
    }
    header nav ul li.sns div.buttons a+a{
        margin-left:2.667vw;
    }

    #copyright{
        position:static;
        width:100%;
        height:26.667vw;
        line-height:26.667vw;
        text-align:center;
        background:#333;
        color:#fff;
            -ms-writing-mode: horizontal-tb;
        writing-mode: horizontal-tb;
        font-size:3.167vw;
        transform:translateY(0);
    }
    #copyright span{
        display:inline;
        transform:none;
    }


    header nav ul li.course.showmenu{
        background:#F8F6F5;
    }
    header nav ul li.course .flex.inner{
        width:100%;
        padding:0 5.333vw 6.667vw;
        flex-wrap: wrap;
    }
    header nav ul li.course .flex>div{
        width:calc((100% - 2.667vw) / 2);
        padding:10.667vw 4vw 1.333vw;
        background-position-y:3.467vw;
        background-size:9.6vw;
    }
    header nav ul li.course .flex>div+div{
        margin-left:0;
    }
    header nav ul li.course .flex>div.motorcycle,
    header nav ul li.course .flex>div.stepup{
        background-position-y:3.467vw;
    }
    header nav ul li.course .flex>div:nth-of-type(2n){
        margin-left:2.667vw;
    }
    header nav ul li.course .flex>div:nth-of-type(n+3){
        margin-top:2.667vw;
    }
    header nav ul li.course .flex>div.motorcycle{
        background-position-y:3.467vw;
    }
    header nav ul li.course .flex>div.stepup{
        background-position-y:3.467vw;
    }
    header nav ul li.course .flex>div .arrow{
        padding:2vw 2vw 2vw 0;
    }
    header nav ul li.course .flex>div .arrow::before{
        display:none;
    }
    header nav ul li.course .flex>div .arrow::after{
        display: block;
        content: "";
        width: 1.333vw;
        height: 1.333vw;
        background: none;
        border-top: 2px #000 solid;
        border-right: 2px #000 solid;
        position: absolute;
        right: 1.333vw;
        top: 50%;
        transform: rotate(45deg) translateY(-50%);
    }

    .pc {
        display:none;
    }
    .sp {
        display:initial;
    }
    .tb {
        display:none;
    }			

    .link-button-under {
        border: solid 3px #e56c36;
        text-align: center;
        color: #e56c36;
        display: flex;
        gap: 12%;
        align-items: center;
        justify-content: center;
        width: 86.667vw;
        height: 1.094%;
    }
    .link-button-under:hover{
        color: white;
        background-color: #e56c36;
    }
    .link-button-under span:nth-of-type(1) {
        font-size: 4vw;
        font-weight: bold;
    }
    .link-button-under span:nth-of-type(2) {
        font-size: 2.667vw;
        font-weight:900;
    }
    #link-button2 {
        top:95.505%;
        left:6.667vw;
    }
    #link-button3 {
        top:96.798%;
        left:6.667vw;
    }
    .link-button-upper {
        border: solid 3px #e56c36;
        text-align: center;
        color: #e56c36;
        display: flex;
        gap: 12%;
        align-items: center;
        justify-content: center;
        width: 86.667vw;
        height: 1.094%;
        background-color:white;
    }
    .link-button-upper:hover{
        color: white;
        background-color: #e56c36;
    }
    .link-button-upper span:nth-of-type(1) {
        font-size: 3.733vw;
        font-weight: bold;
    }
    .link-button-upper span:nth-of-type(2) {
        font-size: 2.667vw;
        font-weight:900;
    }
    #link-button1 {
        top:88.523%;
        left:6.8vw;
    }

    #abstext1 {
        top: 13.289%;
        left:3.333vw;
        width: 93.333vw;
        height: 4.823%;
        font-size:130%;
        font-weight: bold;
        line-height: 2;
        letter-spacing: 0.2vw;
        text-align: center;
        color: #333;
    }
    #abstext2 {
        top: 245vw;
        left:41.333vw;
        font-size: 3.2vw;
        font-weight: bold;
        line-height: 0.71;
        letter-spacing: 0.32vw;
        text-align: left;
        color: #221815;
    }
    #abstext3 {
        font-size: 3.333vw;
        font-weight: bold;
        line-height: 1.16;
        letter-spacing: 0.333vw;
        text-align: left;
        color: #d39200;
        top:18.861%;
        left:32.333vw;
    }
    #abstext4 {
        font-size: 2.667vw;
        line-height: 0.5;
        letter-spacing: 0.267vw;
        text-align: left;
        color: #221815;
        top:19.252%;
        left:21.067vw;
    }

    #abstext5 {
        width: 86.533vw;
        height: 5.569%;
        font-size: 3.733vw;
        line-height: 1.96;
        letter-spacing: 0.187vw;
        text-align: left;
        color: #333;
        left:6.8vw;
        top:31.795%;
    }

    #abstext6 {
        width: 90vw;
        height: 2.616%;
        font-size: 2.933vw;
        line-height: 1.64;
        letter-spacing: 0.073vw;
        text-align: left;
        color: #333;
        top:41.422%;
        left:6.667vw;
    }

    #abstext7 {  
        width: 84vw;
        height: 1.213%;
        font-size: 2.933vw;
        line-height: 1.64;
        letter-spacing: 0.073vw;
        text-align: center;
        color: #333;
        top:55.707%;
        left:7.5vw;
    }

    #abstext8 {
        width: 84vw;
        height: 1.73%;
        margin: 3.84vw 0 1.2vw;
        font-size: 2.933vw;
        line-height: 1.64;
        letter-spacing: 0.073vw;
        text-align: center;
        color: #333;
        top:65.271%;
        left:7.5vw;
    }
    #abstext9 {
        width: 83.867vw;
        height: 0.716%;
        font-size: 2.667vw;
        line-height: 1.5;
        text-align: left;
        color: #333;
        top:58.863%;
        left:9.467vw;
    }
    #abstext10 {
        width: 80.2vw;
        height: 1.919%;
        font-size: 2.667vw;
        line-height: 1.5;
        text-align: left;
        color: #333;
        top:69.165%;
        left:10.533vw;
    }
    #abstext11 {
        width: 86.667vw;
        height: 1.492%;
        font-size: 2.933vw;
        line-height: 1.64;
        letter-spacing: 0.073vw;
        text-align: left;
        color: #333;
        top:80.756%;
        left:6.933vw;
    }
    #abstext12 {
        width: 58.133vw;
        height: 0.905%;
        font-size: 3.733vw;
        font-weight: bold;
        line-height: 1.43;
        letter-spacing: 0.187vw;
        text-align: left;
        color: #333;
        left:27.333vw;
        top:82.755%;
    }
    #abstext13 {
        width: 60.933vw;
        height: 0.487%;
        font-size: 3.733vw;
        font-weight: bold;
        line-height: 1.43;
        letter-spacing: 0.187vw;
        text-align: left;
        color: #333;
        top:84.346%;
        left:27.2vw;
    }
    #abstext14 {
        width: 93.333vw;
        height: 4.207%;
        font-size: 4vw;
        font-weight: bold;
        line-height: 2;
        letter-spacing: 0.2vw;
        text-align: center;
        color: #333;
        top:90.715%;
        left:3.333vw;
    }
}
@media screen and (max-width: 350px){
    #abstext4 {
        left: 13vw;
    }
    #abstext10,#abstext9 {
        line-height:1.1;
    }
}
@media screen and (max-width: 310px){
    #abstext10,#abstext9 {
        line-height:1;
    }
    #abstext8 {
        top:64.8%;
    }
}