/***************************** 共通パーツ *****************************/

html{
    font-size:62.5%;
}

.mv-content-width{
    width: 100%;
    max-width: 1140px;
    margin: 0 auto;
    position: relative;
}

.h1{
    font-size:3.2rem;
    display: inline-block;
    height: 66px;
    background: linear-gradient(to right, #0090FF, #0051FF);
    font-weight: 600;
    position: absolute;
    bottom: 0px;
    transform: translateY(50%);
    display: flex;
    justify-content: center;
    align-items: center;
    color:white;
    padding: 0px 35px;
}

.h1-before{
    font-size: 2.4rem;
    color:#0050FF;
    background: white;
    position: absolute;
    bottom: 33px;
    height: 56px;
    padding: 0px 35px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.h2{
    font-size:2.8rem;
    color:#0050FF;
    font-weight: 600;
}

.h2-single{
    font-size:1.8rem;
    color:#666666;
}

.h3{
    font-size:2.4rem;
    color:#0050FF;
    font-weight: 600;
}

.h4{
    font-size:2.1rem;
    font-weight: 600;
    display: inline-block;

}

.section{
    padding: 95px 0px 60px 0px;
}

.content-width{
    width: 90%;
    max-width: 1140px;
    margin: 0 auto;
}

.text{
    font-size:1.6rem;
    line-height: 1.5
}

.center{
    text-align: center;
}

.left{
    text-align: left;
}

.line-height{
    line-height: 1.8;
}

.wrapper-flex{
    display: flex;
}

.flex-reverse{
    flex-direction: row-reverse;
}

.space-between{
    justify-content: space-between;
}

.space-around{
justify-content: space-around;
}

.flex-end{
align-items: flex-end;
}

.margin-auto{
    margin: 0 auto;
}

a:link, a:visited, a:hover, a:active {
    color: #000;
  }

.width-160{
    width: 160px;
}

.width-570{
    width: 570px;
    max-width: 100%;
}

.width-185{
    width: 185px;
    max-width: 100%;
}

.width-100{
    width: 100%;
}

.width-80{
    width: 80%;
}

.width-55{
    width:55%;
    margin: 0 auto;
}

.width-50{
    width: 50%;
}

.width-47{
    width: 47%;
}

.width-32{
    width: 32%;
}

.width-31{
    width: 31%;
}

.width-30{
    width: 30%;
}

.width-22{
    width:22%;
}

.width-20{
    width:20%;
}

.width-18{
    width: 18%;
}

.margin-center{
    margin: 0 auto;
}

.mb100{
    margin-bottom: 100px;
}

.mb95{
    margin-bottom: 95px;
}

.mb90{
    margin-bottom: 90px;
}

.mb85{
    margin-bottom: 85px;
}

.mb70{
    margin-bottom: 70px;
}

.mb60{
    margin-bottom: 60px;
}

.mb50{
    margin-bottom: 50px;
}

.mb40{
    margin-bottom: 40px;
}

.mb35{
    margin-bottom: 35px;
}

.mb30{
    margin-bottom:30px;
}

.mb25{
    margin-bottom: 25px;
}

.mb20{
    margin-bottom: 20px;
}

.mb15{
    margin-bottom: 15px;
}

.mb10{
    margin-bottom:10px ;
}

.mb5{
    margin-bottom:5px ;
}

.mb0{
    margin-bottom: 0px;
}

.mr-10px{
    margin-right: 10px;
}

.ml-10px{
    margin-left: 10px;
}

.pt-120{
    padding-top: 120px !important;
}

.padding-4px{
    padding: 4px 0px;
}

.text-size-18{
    font-size: 1.8rem;
}

.text-size-16{
    font-size:1.6rem;
}

.text-size-14{
    font-size:1.4rem;
}

.text-color-lightblue{
    color:#0090FF;
}

.text-color-blue{
    color: #0050FF;
}

.text-color-gray{
    color:#888888;
}

.text-color-white{
    color:white;
}

.text-color-black{
    color:#000;
}

.text-color-red{
    color: red;
}

.vertical-center{
    margin: auto 0;
}

.vertical-bottom{
    margin: auto 0;
}

.block{
    display: block;
}

.hr{
    color:#cccddd;
}

.hr4{
    height: 3px !important;
}

.button{
    background: #0050FF;
    font-size: 2rem;
    color:white;
    height:40px;
    display: block;
}

.before-minus{
    position: relative;
}

.before-minus::before{
    content: '';
    display: inline-block;
    width: 30px;
    height: 6px;
    background-image: url(../images/common/minus.png);
    background-size: contain;
    transform: translateY(-50%);
    vertical-align: middle;
    margin-right: 15px;
}

.after-triangle::after{
    content: '';
    display: inline-block;
    width: 15px;
    height: 14px;
    background-image: url(../images/common/sankaku.png);
    background-size: contain;
    margin-left: 5px;
}

/***************************** ニュース一覧 *****************************/

.blue-border{
    border:1px solid #0050FF;
    height:auto;
    width: 190px;
    padding: 5px 0px;
    text-align: center;
    display: inline-block;
    vertical-align: middle;
    margin-right: 20px;
}

.blue-bg{
    border:1px solid #0050FF;
    background: #0050FF;
    display: inline-block;
    height:auto;
    width: 130px;
    padding: 3px 0px;
    text-align: center;
    display: inline-block;
    vertical-align: middle;
    margin-right: 20px;
    color:white;
}

.pager{
    width: 35px;
    height: 35px;
    background: #0050FF;
    color: white;
}

.nav-links{
    width:auto;
    margin: 0 auto;
}

.nav-links .page-numbers{
    display: inline-block;
    width: 35px;
    height: 35px;
    background: #0050FF;
    color: white;
    font-size: 2rem;
    text-align: center;
    line-height: 35px;
    margin: 30px 10px;
}

.none-font{
    font-size:2rem;
    text-align: center;
}

/***************************** 施設とサービス *****************************/

.service-bg{
    background: #F0F0F0;
}

.service-padding-adjust{
    padding: 55px 0px 0px 0px;
}

.service-pt-pb-adjust{
    padding: 55px 0px;
}

.service-flex-l{
    width:50%;
}

.hr-color{
    color:#0050FF;
}

.text-bg1{
    width: 125px;
    padding: 11px 0px;
    border-radius: 23px;
    background: linear-gradient(to right,#0051FF,#0090FF);
    color:white;
    text-align: center;
}

.text-bg2{
    width: 230px;
    padding: 11px 0px;
    border-radius: 23px;
    background: linear-gradient(to right,#0051FF,#0090FF);
    color:white;
    text-align: center;
}

.service-flex-r{
    width: 43%;
}

.lobby{
    position: relative;
}

.lobby-text{
    width:60%;
    background: white;
    position:absolute;
    right:0px;
    top:50%;
    transform: translateY(-50%);
    padding: 9% 4%;
}

.lobby-img{
    width: 50%;
    min-width: 400px;
}

.h3-color{
    color:#0090FF;
}

.content-width-b{
    width: 95%;
    max-width: 1340px;
    margin: 0 auto;
}

.service-pictures{
    background: linear-gradient(to right,#0051FF,#0090FF);
    padding: 60px 0px;
}

.service-picture{
    width:22%;
}

.text-white{
    color:white;
    font-size: 2rem;
    text-align: center;
}

.service-picture-second{
    width:19%;
}

/* swiper */
.swiper-container {
    width: 100%;
    height: auto;
  }
  .swiper-wrapper {
    margin: 0 auto;
    margin-right: 0;
  }
  .swiper-slide-duplicate {
    margin-right: 0;
  }
  .swiper-img{
    width: 100%;
    height: auto;
  }
  .swiper-button-prev {
    background-image: url(../images/angle-left.png);
    left: 20px;
  }
  .swiper-button-next {
    background-image: url(../images/angle-right.png);
    right: 20px;
  }

  .gallery-ttl {
      text-align: center;
  }

  .gallery { padding: 0;}
  .gallery img { width: 100%;}
  .gallery div { margin: 0 5px;}
  .gallery .slick-next { right: 17px; z-index: 100;}
  .gallery .slick-prev { left: 23px; z-index: 100;}


/***************************** スタッフ紹介 *****************************/

.name{
    font-size: 2.6rem;
    color:#0051FF;
    font-weight: 600;
}

.hobby-message{
    font-size: 2rem;
    font-weight: 600;
}

.mr-5{
    margin-right: 5%;
}

.staff-content {
    flex-wrap: wrap;
}

.staff-content::after{
    content:"";
    display: block;
    width:30%;
}


/***************************** 卒業生の声 *****************************/

.voice-content .voice-content-item:nth-child(even) {
    flex-direction: row-reverse;
}

.voice-padding{
    padding: 3% 5%;
    background: linear-gradient(to right, #0051FF, #0090FF) !important;
}

.voice-name{
    font-size: 2.6rem;
    font-weight: 600;
}

.voice-name span {
    font-size: 1.8rem;
    font-weight: 300;
    margin-left: 10px;
}


/***************************** 入所について *****************************/

.red-arrow {
    width: auto;
}

.bg-bl{
    background: #0051FF;
    height:48px;
    width:260px;
    line-height: 48px;
}

.border-bl{
    border:1px solid #0051FF;
    height:54px;
    width:260px;
    line-height: 54px;
}

.ml10{
    margin-left: 10px;
}

.ml25{
    margin-left: 25px;
}

.min-width-110px{
    min-width: 110px;
}

.bg-gradient{
    background: linear-gradient(to right, #0051FF, #0090FF) !important;
}

.content-width-small{
    width: 100%;
    max-width: 950px;
    margin: 0 auto;
}

.content-width-medium{
    width: 100%;
    max-width: 1045px;
    margin: 0 auto;
}

.lightblue-border{
    border:5px solid #0090FF;
    padding: 120px 6% 65px 6%;
    position: relative;
}

.step{
    background: #0090FF;
    width:280px;
    height: 50px;
    text-align: center;
    color:white;
    position: absolute;
    top:0px;
    left:0px;
    line-height: 40px;
    font-size: 2rem;
    letter-spacing: 3.5px;
    font-weight: 200;
}

.step-number{
    font-size: 3rem;
    font-weight: 300;
}

.line-height0{
    line-height: 1.0;
}

.width-51{
    width:51%;
}

.width-44{
    width: 44%;
}



/***************************** よくある質問 *****************************/

.question-bg{
    background: #0090FF;
    width: 100%;
    height: 60px;
    line-height: 60px;
    color: white;
    text-align: center;
}

.acMenu{
    width: 100%;
    position: relative;
    padding: 0px 20px;
}

.q-a{
    font-size: 2.6rem;
    color: #0051FF;
    margin-right: 10px;
}

.acMenu dt{
    display:block;
    width:100%;
    cursor:pointer;
    padding:0px 60px;
    font-size:2.2rem;
    font-weight: 600;
    position: relative;
}

.acMenu dd{
    background:#f2f2f2;
    width:100%;
    height:auto;
    display:none;
    background:#D1EBFF;
    padding:55px 3% 55px 3%;
    position: relative;
}

.acMenu dt.active{
    background: white;
}

.answer-list{
    margin-left: 26.83px;
}

.question::before {
    content: "Q";
    font-size: 3rem;
    color: #0051FF;
    position: absolute;
    top:50%;
    left:27px;
    transform: translateY(-55%);
}

.question::after {
    content: "+";
    font-size:3.8rem;
    color:red;
    position: absolute;
    top:50%;
    right:0%;
    transform: translateY(-58%);
}

.question.active::after{
    content: "−";
    font-size:3.8rem;
    color:red;
    position: absolute;
    top:50%;
    right:0%;
    transform: translateY(-58%);
}

dd{
    margin-bottom: 0;
}

/***************************** アクセス・送迎バス *****************************/

a.google-button{
    background: #0050FF;
    font-size: 2rem;
    color: #ffffff;
    width:100%;
    max-width: 200px;
    height:40px;
    display: block;
    margin: 0 auto 40px auto;
    display: flex;
    justify-content: center;
    align-items: center;
}

.mr-20{
    margin-right: 20px;
}

.surrounding-facility-image{
    width:100%;
}

.surrounding-facility-bg{
    padding: 100px 0px;
    background: linear-gradient(to right, #0051FF, #0090FF);
}

.access{
    padding-bottom: 0px;
}

.map-height{
    height: 500px;
}

.surrounding-facility-child{
    /* width: 30%; */
    width: calc(98% / 4);
}
.surrounding-facility-child h3 {
    font-size: 2.0rem;
}

.youtube {
    width: 100%;
    aspect-ratio: 16 / 9;
}
.youtube iframe {
    width: 100%;
    height: 100%;
}

.about-app{
    padding-top: 100px;
    padding-bottom: 0px;
}

.app{
    background:#0090FF;
    width: 50%;
    height: auto;
    padding: 65px 3.5%;
}

.text-50px{
    font-size: 5rem;
}

.text-reserve{
    font-size:1.8rem;
    background: #0051FF;
    padding: 5px 0px;
    width:45%;
    text-align: center;
    margin: 0 auto 15px auto;
}

.justify-content-center{
    justify-content: center;
}

.mr-20{
    margin-right: 20px;
}

.trimming{
    width: 100%;
    height:100%;
    object-fit: cover;
}

.bus{
    padding-bottom: 0px;
}

/***************************** 普通自動車免許 *****************************/

.page.page_course01 .mainvisual img {
    height: auto;
}

/***************************** 自動二輪車 *****************************/

.about{
    font-size:2rem;
    background: #0050FF;
    color:white;
    width: 240px;
    padding: 5px 0px;
    text-align: center;
    border-radius: 20px;
}

.font-weight600{
    font-weight: 600;
}

.without{
    width:45%;
}

.bike{
    width: 72%;
    text-align: center;
    border:1px solid #7EC9FF;
    font-size: 1.6rem;
}

.bike th{
    background:#0090FF;
    color: white;
    width:calc(100% / 3);
    text-align: center;
    padding: 20px 0px;
    border:1px solid #7EC9FF;
}

.bike td{
    border:1px solid #E9E9E9;
    padding: 20px 0px;
}

/***************************** 準中型自動車 *****************************/

.about-middle{
    padding-bottom: 70px;
}

.middle{
    width: 72%;
    text-align: center;
    border:1px solid #7EC9FF;
    font-size: 1.6rem;
}

.middle th{
    background:#0090FF;
    color: white;
    width:calc(100% / 4);
    text-align: center;
    padding: 20px 0px;
    border:1px solid #7EC9FF;
}

.middle td{
    position: relative;
}

.table-h{
    position: absolute;
    top:50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
}

.middle td{
    border:1px solid #E9E9E9;
    padding: 20px 0px;
}

.table-bg{
    background: #F2F2F2;
}

/***************************** 佐野中央自動車教習所の特徴 *****************************/

.feature-bg{
    padding: 100px 0px;
    background: linear-gradient(to right, #0051FF, #0090FF);
}

.feature-bg-white{
    padding: 100px 0px;
    background: #fff
}

.feature-child-l{
    width:50%;
    padding-left:2.2%;
}

.feature-child-r{
    width:50%;
    padding-left:8.2%;
    padding-right: 3.8%;
}

.feature-h2{
    display: flex;
    align-items: center;
}

.one::before{
    content: "1";
    font-size: 8.5rem;
    margin-right: 30px;
}

.two::before{
    content: "2";
    font-size: 8.5rem;
    margin-right: 30px;
}

.feature-btn{
    height: 65px;
    width: 100%;
    max-width: 430px;
    border-radius:32.5px;
    text-align:center;
    font-size:1.6rem;
    color:#0051FF;
    background: #fff;
    margin: 0 auto;
    display: block;
}

.wrapper-flex-reverse{
    display: flex;
    flex-direction: row-reverse;
}

/***************************** 入所について *****************************/

.to_center{
    width: 285px;
    background: #D42D25;
    display: block;
    margin: 0 auto;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.to_center p{
    font-size: 2rem;
    font-weight: 600;
    color:#fff;
}

/***************************** お問い合わせ *****************************/

.contact{
    background: url(../../img/contact_mv.jpg) 50% 25%/cover no-repeat;
}


/***************************** レスポンシブ *****************************/

@media screen and (max-width: 600px) {

.text{
    font-size:1.5rem;
}

.h1{
    font-size:2.4rem;
    height: 60px;
    padding: 0px 0px;
    width: 100%;
}

.h1-before{
    font-size: 1.8rem;
    height: 45px;
    padding: 0px 30px;
}

.h2{
    font-size: 2.2rem;
}

.h3{
    font-size:2rem;
}

.service .wrapper-flex{
    display: block;
}

.service .service-flex-l{
    width:100%;
    margin-bottom: 30px;
}

.service .mb95{
    margin-bottom: 60px;
}

.service .mb85{
    margin-bottom: 40px;
}

.service .mb30{
    margin-bottom: 15px;
}

.service .mb0{
    margin-bottom: 0px !important;
}

.service .pb0{
    padding-bottom: 0px;
}

.service .mb25{
    margin-bottom: 15px;
}

.service .mb70{
    margin-bottom: 40px;
}

.content-width-b{
    width: 90%;
}

.service-pictures{
    padding: 35px 0px;
}

.text-bg1{
    width: 110px;
    padding: 6px 0px;
    border-radius: 17px;
}

.text-bg2{
    width: 200px;
    padding: 6px 0px;
    border-radius: 17px;
}

.service-flex-r{
    width: 100%;
}

.lobby-img{
    width: 100%;
    min-width: 0px;
    margin-bottom: 20px;
}

.lobby-text{
    width:100%;
    position: static;;
    right:0px;
    bottom:0px;
    transform: translateY(0%);
    padding: 20px;
    margin-bottom: 30px;
}

.service-picture{
    width:100%;
    margin-bottom: 45px;
}

.service-picture-second{
    width:100%;
    margin-bottom: 45px;
}

.service .width-30{
    width: 100%;
    margin-bottom: 45px;
}

.staff .wrapper-flex{
    display: block;
}

.staff .width-30{
    width:100%;
    margin-bottom: 40px;
}

.staff .mb50{
    margin-bottom: 0px;
}

.staff .mb0{
    margin-bottom: 0px;
}

.name{
    font-size:2.2rem;
}

.voice .wrapper-flex{
    display: block;
}

.voice .width-50{
    width: 100%;
}

.voice .mb70{
    margin-bottom: 40px;
}

.admission .wrapper-flex{
    display: block;
}

.admission .width-20{
    width: 100%;
}

.admission .width-18{
    width: 100%;
}

.admission .width-32{
    width:64%;
    margin: 0 auto 15px auto;
}

.sp-center{
    text-align: center;
}

.admission .width-51{
    width: 100%;
}

.admission .width-44{
    width: 100%;
}

.step{
    width:40%;
}

.acMenu{
    width: 100%;
    position: relative;
    padding: 0px 10px;
}

.acMenu dt{
    display:block;
    width:100%;
    padding:0px 30px;
    font-size:1.8rem;
}
.question-bg{
    padding-top: 0!important;
}
.question::before {
    content: "Q";
    font-size: 2.6rem;
    top:0%;
    left:0%;
    transform: translateY(-20%);
}

.question::after {
    content: "+";
    font-size:3.4rem;
    top:0%;
    right:0%;
    transform: translateY(-30%);
}

.question.active::after{
    content: "−";
    font-size:3.4rem;
    top:0%;
    right:0%;
    transform: translateY(-32%);
}

.access .wrapper-flex{
    display: block;
}

.access .surrounding-facility-child{
    width: 100%;
    margin-bottom: 40px;
}

.access .surrounding-facility-child:last-child{
    margin-bottom: 0px;
}

.app{
    width: 100%;
    height: auto;
    padding: 40px 20px;
    margin-bottom: 20px;
}

.access .sp-flex{
    display: flex;
}

.access .mr-20{
    margin-right: 10px;
}

.text-reserve{
    font-size:1.8rem;
    background: #0051FF;
    padding: 5px 0px;
    width:80%;
    text-align: center;
    margin: 0 auto 15px auto;
}

.text-50px{
    font-size: 4rem;
}

.access .width-50{
    width: 100%;
}

.access .width-55{
    width: 100%;
}

.access .width-47{
    width: 100%;
    margin-bottom: 30px;
}

.access .width-47:last-child{
    margin-bottom: 0px;
}

.without{
    width: 100%;
    margin-bottom: 30px;
}

.motor-bike table{
    width: 100%;
}

.middle-auto .wrapper-flex{
    display: block;
}

.middle-auto table{
    width: 100%;
}

.single .wrapper-flex{
    display: block;
}

.single .mb90{
    margin-bottom: 40px;
}

.section{
    padding: 55px 0px 35px;
}

.single .button{
    font-size:1.6rem;
}


.archives .wrapper-flex{
    display: block;
}

.archives .width-160{
    width: 100%;
}

.archives .mb50{
    margin-bottom: 20px;
}

.ml10 .text{
    display: block;
}

.ml10 .ml25{
    margin-left: 0px;
}

.after-triangle::after{
    transform: rotate(90deg);
    vertical-align: middle;
}

.admission .mb95{
    margin-bottom: 50px;
}

.admission .mb40{
    margin-bottom: 20px;
}

.admission .mb35{
    margin-bottom: 20px;
}

.admission .h4{
    margin-bottom: 10px;
}

.admission .mb25{
    margin-bottom: 15px;
}

.admission .mb50{
    margin-bottom: 20px;
}

.admission .mb60{
    margin-bottom: 40px;
}

.admission .mb90{
    margin-bottom: 50px;
}

.admission .width-20{
    margin-bottom: 40px;
}

.admission .width-18{
    margin-bottom: 40px;
}

.admission .width-80{
    width:70%;
}

.admission .mb20{
    margin-bottom: 15px;
}

.lightblue-border{
    border:5px solid #0090FF;
    padding: 100px 15px 30px;
    position: relative;
}

.admission .sp-center{
    margin-bottom: 15px;
}

.admission .mb30{
    margin-bottom: 15px;
}

.admission .step{
    background: #0090FF;
    height: 40px;
    line-height: 30px;
    font-size: 1.8rem;
    letter-spacing: 3.5px;
    font-weight: 200;
}

.admission .step-number{
    font-size:2.6rem;
}

.admission .width-51 .sp-mb{
    margin-bottom: 15px;
}

.admission .min-width-110px{
    margin-bottom: 5px;
}

.access .map-height{
    height:300px;
}

.access .mb50{
    margin-bottom: 0px;
}

.access .mb30{
    margin-bottom: 20px;
}

.access .mb60{
    margin-bottom: 35px;
}

.surrounding-facility-bg{
    padding: 60px 0px;
}

.about-app{
    padding-top: 66px;
    padding-bottom: 0px;
}

.bus{
    padding-bottom: 0px;
}

.motor-bike .mb40{
    margin-bottom: 25px;
}

.motor-bike .mb70{
    margin-bottom: 40px;
}

.motor-bike .mb30:last-child{
    margin-bottom: 0px;
}

.middle-auto .mb30{
    margin-bottom: 20px;
}

.middle-auto .mb40{
    margin-bottom: 25px;
}

.middle-auto .mb70{
    margin-bottom: 40px;
}

.middle-auto table{
    margin-bottom: 0px !important;
}

.admission .width-35{
    width: 70%;
}

}
