*{margin:0; padding:0; box-sizing:border-box; font-weight:bold;}
body{width:100%; font-size:16px; font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;}
img {width:100%;}
li {list-style:none;}

.mb_bottom18 {margin-bottom:18px !important;}
.mb_bottom30 {margin-bottom:30px !important;}
.mb_bottom80 {margin-bottom:80px !important;}


.txt_c { text-align:center !important;}
.txt01 { font-size:2rem !important;}
.conlred {color:#be191f;}
.conlwhite {color:#ffffff;}
.bgwhite {background-color:#ffffff;}

#main {
   width:100%;
}

#first_view {
   width:100%;
   background-image:url(../img/fvbg.jpg);
   background-size:cover;
   background-position:bottom center;
}
#first_view .fvimg {
   width:100%;
   max-width:1000px;
   margin:0 auto;
   padding:14vh 0;
}

#content01 {
   width:100%;
   background-color:#be191f;
}
#content01 .ttl{
   width:100%;
   max-width:1000px;
   margin:0 auto;
   margin-bottom:30px;
   font-size:2.5rem;
   color:#ffffff;
   text-align:center;
}

.contbox01 {
   width:100%;
   max-width:1000px;
   display:flex;
   justify-content:space-between;
   align-items:center;
   margin:0 auto 80px auto;
   background-color:#ffffff;
}

.contbox01 .imgbox {
   width:35%;
}

.contbox01 .txtbox {
   width:65%;
   padding:30px;
   font-size:1.1rem;
   font-weight:bold;
}

.contbox02 {
   width:100%;
   max-width:1000px;
   display:flex;
   justify-content:space-between;
   margin:0 auto 80px auto;
}

.contbox02 .imgbox {
   width:40%;
}

.contbox02 .txtbox {
   width:55%;
   font-size:1.1rem;
   font-weight:bold;
   line-height:1.8rem;
}

.contbox03 {
   width:100%;
   max-width:1000px;
   display:flex;
   justify-content:space-between;
   flex-wrap:wrap;
   margin:0 auto 40px auto;
}

.contbox03 li {
   width:32%;
   margin-bottom:2%;
}

.contbox04 {
   width:100%;
   max-width:1000px;
   display:flex;
   justify-content:space-between;
   flex-wrap:wrap;
   margin:0 auto 80px auto;
}

.contbox04 li.txtbox {
   width:70%;
}

.contbox04 li.txtbox .teacher_name {
   width:100%;
   margin:0 0 30px 0;
   font-size:3rem;
   color:#ffffff;
   line-height:1em;
}

.contbox04 li.txtbox .teacher_txt {
   width:100%;
   font-size:1.1rem;
   color:#ffffff;
}

.contbox04 li.txtbox .teacher_img {
   width:100%;
   max-width:230px;
}
.contbox05 {
   width:100%;
   max-width:1000px;
   margin:0 auto;
   display:flex;
   justify-content:space-between;
}
.contbox05 .imgbox{
   width:25%;
}
.contbox05 .txtbox{
   width:70%;
    font-weight:normal;
}

.contbox04 li.imgbox {
   width:25%;
   padding:0 1%;
}

#content02 {
   width:100%;
   margin-top: -9vw;
}
.minittl {
   width:100%;
   font-size:2rem;
   text-align:center;
}
.bigttl {
   width:100%;
   margin-bottom:30px;
   font-size:3.5rem;
   text-align:center;
}
.marker {
   padding:0 10px;
   background:linear-gradient(transparent 60%, #ff6 60%);
}
.bigttl span.colred {
   font-size:3.5rem;
   color:#be191f;
}
.innercont {
   width:100%;
   max-width:1000px;
   margin:0 auto;
}

#content03 {
   width:100%;
   padding:80px 0;
   background-color:#f7f7f7;
}
#content04 {
   width:100%;
   background-color:#be191f;
   margin-top: -89px;
}

.hosokubox {
   width:100%;
   margin-bottom:20px;
   color:#ffffff;
   font-size: 1.1rem;
}
.hosokubox span {
   width:100%;
   color:#ffffff;
   font-size: 2rem;
}

#content05 {
   width:100%;
   padding:0 0 40px 0;
}
.btnarea {
    width:100%;
    text-align:center;
}
.btnarea a {
    display:inline-block;
    width:auto;
    font-size:1.6rem;
    color:#ffffff;
    text-decoration:none;
    padding: 12px 30px;
    border-radius: 50px;
    
background: #f67a7a; /* Old browsers */
background: -moz-linear-gradient(left, #f29797 0%, #f67a7a 25%, #e4022c 50%, #e4022c 55%, #a5001f 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(left, #f29797 0%,#f67a7a 25%,#e4022c 50%,#e4022c 55%,#a5001f 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right, #f29797 0%,#f67a7a 25%,#e4022c 50%,#e4022c 55%,#a5001f 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f29797', endColorstr='#bf0024',GradientType=1 ); /* IE6-9 */
background-size: 200% 200%;
animation: bggradient 3s ease infinite;
border:3px solid #ffffff;
}
@keyframes bggradient{
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}

.scheduleboxarea {display:block; width:100%; max-width:550px; margin:0 auto 40px auto;}

.schedule_ttl {
    width:100%;
    text-align:center;
    font-size:2.3rem;
}
    
.schedule_minittl {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    width:100%;
    margin-bottom:20px;
    padding:20px 0;
    text-align:center;
    font-size:1.3rem;
    background-color: rgba(255,255,255,0.8);
    border: 5px solid #a00e17;
}
.schedule_minittl span {
    line-height:2em;
    font-size:1.8rem;
    background: linear-gradient(transparent 60%, #ff6 60%);
}
.mapbox {
    position:relative;
    width:100%;
    margin-bottom:60px;
    text-align:center;
}
.mapbox img{
    width:80%;
    margin:0 auto;
}
.schedulebox {
    width:100%;
    max-width:900px;
    margin:0 auto;
    border: 6px solid #0f0f0f;
    padding: 0px 20px;
}
.schedulebox li {
    display:flex;
    justify-content:space-between;
    align-items:center;
    width:100%;
    padding:15px 5px;
    font-size:1.8rem;
    border-bottom: 3px solid #0f0f0f;
    line-height:1em;
}
.schedulebox li:last-child {
    border-bottom: none;
}
.schedulebox li a {
    display:inline-block;
    width:auto;
    font-size:1.4rem;
    color:#ffffff;
    text-decoration:none;
    padding: 6px 20px;
    border-radius: 50px;
    
background: #f67a7a; /* Old browsers */
background: -moz-linear-gradient(left, #f29797 0%, #f67a7a 25%, #e4022c 50%, #e4022c 55%, #a5001f 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(left, #f29797 0%,#f67a7a 25%,#e4022c 50%,#e4022c 55%,#a5001f 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right, #f29797 0%,#f67a7a 25%,#e4022c 50%,#e4022c 55%,#a5001f 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f29797', endColorstr='#bf0024',GradientType=1 ); /* IE6-9 */
background-size: 200% 200%;
animation: bggradient 3s ease infinite;
border:3px solid #ffffff;
}
.schedule_txt {
    font-size:0.9rem;
    width:100%;
    padding-top:6px;
    margin-bottom:30px;
    text-align:center;
}

#content07 {
   width:100%;
   padding:0px 0 80px 0;
   background-image:url(../img/ss.png);
   background-size:100% 100%;
   background-position:bottom center;
}
#content07 .nextbox{
   width:100%;
   max-width:750px;
   margin:0 auto;
   border:6px solid #0f0f0f;
   padding:20px;
   background-color:#ffffff;
}
#content07 span.next01{
   display:inline-block;
   font-size:1.2rem;
   margin-bottom:12px;
}
#content07 span.next02{
   display:inline-block;
   font-size:1.2rem;
}
#content07 span.next03{
   display:inline-block;
   font-size:1.4rem;
   margin-bottom:12px;
}
#content07 span.next04{
   display:inline-block;
   font-size:1rem;
}
#content07 span.next04 a{
   opacity:1;
}
#content07 span.next04 a:hover{
   opacity:0.7;
}
#content07 .next_linkarea {
    width:100%;
    padding:6px 0 0 0;
    text-align:center;
}
#content07 a.next_mail {
    display:inline-block;
    width:auto;
    text-decoration:none;
    margin:0 auto;
    padding:3px 12px;
    background-color:#be191f;
    color:#ffffff;
    border-radius:50px;
    -moz-border-radius:50px;
    -webkit-border-radius:50px;
}
#content07 a.next_mail:hover {
    color:#efefef;
}

@media screen and (min-width:1050px) { 
.btnarea a:hover {
border:3px solid #be191f;
color:#be191f;
background:#ffffff;
}
.schedulebox li a:hover {
border:3px solid #be191f;
color:#be191f;
background:#ffffff;
}
}

.pricebox {
    width:100%;
    max-width:800px;
    margin:0 auto;
    font-size:1.2rem;
}

.pricebox span {
    font-size:2rem;
    color:#be191f;
}

#content06 {
   position:relative;
   top:-2px;
   width:100%;
   padding:40px 0 80px 0;
   background-color:#f7f7f7;
}
.normalttl {
    width:100%;
    margin-bottom:30px;
    font-size:2rem;
    text-align:center;
}

#footer {
    width:100%;
    padding:60px 0 12px 0;
    background-color:#be191f;
}
#footer .f_ttl {
    width:100%;
    margin-bottom:12px;
    font-size:1.5rem;
    text-align:center;
    color:#ffffff;
}
#footer .f_add {
    width:100%;
    margin-bottom:12px;
    font-size:1rem;
    text-align:center;
    color:#ffffff;
    font-weight:normal;
}
#footer .f_link {
    width:100%;
    max-width:500px;
    margin:0 auto 40px auto;
    display:flex;
    justify-content:space-between;
}
#footer .f_link a{
    width:46%;
    padding:8px 12px;
    background-color:#ffffff;
    border-radius:50px;
    -moz-border-radius:50px;
    -webkit-border-radius:50px;
    text-decoration:none;
    color:#0f0f0f;
    text-align:center;
}
#footer .cr {
    width:100%;
    font-size:0.9rem;
    text-align:center;
    color:#ffffff;
}

@media screen and (max-width:1050px) { 
    #first_view .fvimg {
        width:90%;
    }
    #content01 {margin-top: -2px;}
    #content02 {position:relative; z-index:2;}
    #content01 .ttl {
        padding-left:5%;
        padding-right:5%;
    }
    .contbox01 {
        width:90%;
    }
    .contbox01 .imgbox{
        padding:0 30px;
    }
    .minittl {
        width:90%;
        margin-left:auto;
        margin-right:auto;
        font-size: 1.5rem;
    }
    .bigttl {
        width:90%;
        margin-left:auto;
        margin-right:auto;
        font-size: 2.5rem;
    }
    .bigttl span.colred {
        font-size: 2.5rem;
    }
    .innercont {
        padding-left:5%;
        padding-right:5%;
    }
    .contbox02 {
        width:90%;
    }
    .contbox03 {
        width:90%;
    }
    .contbox05 {
        width:90%;
    }
    #content05 {
        padding-left:5%;
        padding-right:5%;
    }
    #footer {
        padding-left:5%;
        padding-right:5%;
    }
    .img_down {
      position: relative;
      bottom: -2px;
      z-index: 0;
    }
    .schedulebox li {
        font-size:1.6rem;
    }
    .schedulebox li:last-child {
        border-bottom: none;
    }
    .schedulebox li a {
        display:inline-block;
        width:auto;
        font-size:1.2rem;
    }
#content07 .nextbox{
   width:90%;
}
}

@media screen and (max-width:700px) {
    #first_view .fvimg {
       padding:10vh 0 5vh 0;
    }
    .txt01 {
        font-size: 1.2rem !important;
    }
    #content01 .ttl {
      font-size: 1.3rem;
    }
    .contbox01 {
        flex-wrap:wrap;
    }
    .contbox01 .txtbox {
        width:100%;
        order:1;
    }
    .contbox01 .imgbox {
        width:100%;
        order:2;
        padding:0;
    }
    .minittl {
        font-size: 1.2rem;
    }
    .bigttl {
        font-size:2rem;
    }
    .bigttl span.colred {
      font-size: 2rem;
    }
    .contbox02 {
      flex-wrap:wrap;
      margin: 0 auto 60px auto;
    }
    .contbox02 .imgbox{
      width:100%;
    }
    .contbox02 .txtbox{
      width:100%;
    }
    .contbox03 {
          width: 80%;
    }
    .contbox03 li {
      width:100%;
      margin-bottom: 6%;
    }
    .contbox04 li.imgbox{
      width:100%;
      order:1;
      padding:0 25%;
      margin-bottom:20px;
    }
    .contbox04 li.txtbox{
      width:100%;
      order:2;
    }
    .contbox04 li.txtbox .teacher_name {
      font-size:2rem;
      text-align:center;
    }
    .hosokubox span {
        font-size: 1.5rem;
    }
    .btnarea a {
        font-size:1.2rem;
    }
    .contbox05 {
        flex-wrap:wrap;
    }
    .contbox05 .imgbox{
        width:100%;
        margin-bottom:24px;
    }
    .contbox05 .txtbox{
        width:100%;
    }
    .schedule_ttl {
        font-size: 1.7rem;
    }
    .schedulebox {
        padding: 0px 10px;
    }
    .schedulebox li {
        font-size: 1.2rem;
        flex-wrap:wrap;
        text-align:center;
    }
    .schedulebox li span {
        display:inline-block;
        width:100%;
        margin-bottom:0;
        text-align:center;
    }
    .schedulebox li a {
        margin:0 auto;
        font-size: 1.2rem;
    }
    #footer {
        padding: 60px 0 120px 0;
    }
    #footer .f_add {
        font-size:0.9rem;
    }
    #footer .f_link {
        flex-wrap:wrap;
        max-width:90%;
    }
    #footer .f_link a {
        width:100%;
        margin-bottom:16px;
    }
    #content07 span.next01 {
       display: inline-block;
       font-size: 1rem;
    }
    #content07 span.next02 {
       display: inline-block;
       font-size: 1rem;
    }
    #content07 span.next03 {
       display: inline-block;
       font-size: 1.2rem;
    }
    #content07 span.next04 {
       display: inline-block;
       font-size: 1rem;
    }
    
    .schedule_minittl {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        width:100%;
        margin-bottom:20px;
        padding:20px;
        text-align:center;
        font-size:1rem;
        background-color: rgba(255,255,255,0.8);
    }
    .schedule_minittl span {
        line-height:1.3em;
        font-size:1.5rem;
        background: linear-gradient(transparent 60%, #ff6 40%);
    }
    .mapbox {
        position:relative;
        width:100%;
        margin-bottom:60px;
        text-align:center;
    }
    .mapbox img{
        width:90%;
    }
}

.float_bnr {
   position:fixed;
   right:0;
   bottom:12px;
   display:inline-block;
   z-index:9999;
}
.float_bnr a{
   display:block;
   margin-top:10px;
   padding:16px;
   text-align:left;
   color:#ffffff;
   text-decoration:none;
   border-radius: 50px 0 0 50px;
   -moz-border-radius: 50px 0 0 50px;
   -webkit-border-radius: 50px 0 0 50px;
   background: #f67a7a; /* Old browsers */
background: -moz-linear-gradient(left, #f29797 0%, #f67a7a 25%, #e4022c 50%, #e4022c 55%, #a5001f 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(left, #f29797 0%,#f67a7a 25%,#e4022c 50%,#e4022c 55%,#a5001f 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right, #f29797 0%,#f67a7a 25%,#e4022c 50%,#e4022c 55%,#a5001f 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f29797', endColorstr='#bf0024',GradientType=1 ); /* IE6-9 */
background-size: 200% 200%;
animation: bggradient 3s ease infinite;
border:3px solid #ffffff;
}

@media screen and (min-width:1000px) {
.float_bnr a:hover{
    background:#ffffff;
    border:3px solid #be191f;
    color:#be191f;
}
}

.fa-check {
    color:#4cf0bf;
}
@media screen and (max-width:600px) {
    .float_bnr {
        display:flex;
        bottom:0;
        width:100%;
        border-top:3px solid #ffffff;
    }
    .float_bnr a{
        width:100%;
        margin-top:0;
        padding: 8px 16px 24px 16px;
        border-radius: 0 0 0 0;
        -moz-border-radius: 0 0 0 0;
        -webkit-border-radius: 0 0 0 0;
        font-size: 1.2rem;
        line-height:irem;
        border:none;
        text-align:center;
        border:2px solid #ffffff;
    }
    .conlwhite {color:#ffffff; font-size:1.3rem;}
}

@media screen and (min-width:600px) {
   .pc_no {display:none !important;}
   .sp_no {display:block !important;}
}

@media screen and (max-width:600px) {
   .pc_no {display:block !important;}
   .sp_no {display:none !important;}
}