@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Nunito:900");
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  vertical-align: baseline;
  margin: 0;
  border: 0;
  padding: 0;
  font: inherit;
  font-size: 100%; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after {
  content: "";
  content: none; }

q:before, q:after {
  content: "";
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

.clearfix:after {
  display: block;
  clear: both;
  visibility: hidden;
  height: 0;
  content: "."; }

body {
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  font-family: "游ゴシック", YuGothic, "Helvetica", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Arial, sans-serif;
  text-size-adjust: 100%; }

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

body {
  -webkit-text-size-adjust: 100%;
  position: relative;
  width: 100%;
  min-width: 1080px;
  font-size: 16px; }

img {
  vertical-align: bottom;
  max-width: 100%; }

a {
  color: #0284cd; }
  a:hover {
    text-decoration: none; }

iframe {
  max-width: 100%; }

.wrapper {
  width: 100%;
  overflow: hidden;
  text-align: center; }

.header {
  background-color: #0284cd;
  padding: 30px 50px;
  color: #fff; }
  .header .logo_kaba {
    float: left; }
  .header .share {
    float: right;
    padding-top: 12px; }
  .header .lang {
    position: absolute;
    top: 0;
    right: 50px;
    z-index: 10;
    border-radius: 0 0 10px 10px;
    width: 138px; }
    .header .lang .lang_btn {
      position: relative;
      z-index: 1;
      border-radius: 0 0 10px 10px;
      background-color: #fff;
      padding: 8px 5px;
      width: 100%;
      color: #0284cd;
      font-weight: bold; }
    .header .lang .lang_celect {
      position: relative;
      top: -10px;
      border-radius: 0 0 10px 10px;
      background-color: #ffe501;
      padding-top: 10px;
      overflow: hidden; }
      .header .lang .lang_celect a {
        display: block;
        padding: 10px 5px;
        text-decoration: none; }

.share {
  font-family: "Nunito", sans-serif;
  font-size: 12px; }
  .share li {
    display: inline-block;
    vertical-align: middle;
    margin-left: 10px;
    width: 40px; }
    .share li:first-child {
      width: 110px;
      font-size: 14px;
      font-weight: bold; }

.wave {
  position: absolute;
  top: -15px;
  right: 0;
  z-index: 10;
  width: 200%;
  height: 15px; }
  .wave.blue {
    -webkit-animation: wave_move 16s linear infinite;
    animation: wave_move 16s linear infinite;
    background: url(../img/bg_wave_blue.png) repeat-x center bottom; }
  .wave.yellow {
    -webkit-animation: wave_move 13s ease-in-out infinite;
    animation: wave_move 13s ease-in-out infinite;
    background: url(../img/bg_wave_yellow.png) repeat-x center bottom; }
  .wave.white {
    -webkit-animation: wave_move 14s ease-in-out infinite;
    animation: wave_move 14s ease-in-out infinite;
    background: url(../img/bg_wave_white.png) repeat-x center bottom; }

@-webkit-keyframes wave_move {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  100% {
    -webkit-transform: translateX(366px);
    transform: translateX(366px); } }
@keyframes wave_move {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  100% {
    -webkit-transform: translateX(366px);
    transform: translateX(366px); } }
.content {
  position: relative;
  background: url(../img/footer/footer_city.png) repeat-x bottom center;
  padding-bottom: 280px; }
  .content:before {
    -webkit-animation: car_move 3s linear infinite, car_move_left 100s linear infinite;
    position: absolute;
    right: -200px;
    bottom: -7px;
    animation: car_move 3s linear infinite, car_move_left 100s linear infinite;
    background: url(../img/footer/footer_bus.png) no-repeat center center;
    background-size: 100% auto;
    width: 185px;
    height: 40px;
    content: ""; }

@-webkit-keyframes car_move {
  0% {
    -webkit-transform: rotate(1deg);
    transform: rotate(1deg); }
  50% {
    -webkit-transform: rotate(-1deg);
    transform: rotate(-1deg); }
  100% {
    -webkit-transform: rotate(1deg);
    transform: rotate(1deg); } }
@keyframes car_move {
  0% {
    -webkit-transform: rotate(1deg);
    transform: rotate(1deg); }
  50% {
    -webkit-transform: rotate(-1deg);
    transform: rotate(-1deg); }
  100% {
    -webkit-transform: rotate(1deg);
    transform: rotate(1deg); } }
@-webkit-keyframes car_move_left {
  0% {
    right: -200px; }
  100% {
    right: 120%; } }
@keyframes car_move_left {
  0% {
    right: -200px; }
  100% {
    right: 120%; } }
.title_deco {
  position: relative;
  margin: 0 auto;
  width: 1000px; }
  .title_deco:before {
    position: absolute;
    top: 30px;
    left: -316px;
    background: url(../img/line_title_blue.png) no-repeat center center;
    width: 426px;
    height: 61px;
    content: ""; }
  .title_deco:after {
    position: absolute;
    top: 30px;
    right: -316px;
    background: url(../img/line_title_blue.png) no-repeat center center;
    width: 426px;
    height: 61px;
    content: ""; }

.slide_wrap {
  position: relative;
  background-color: #0284cd;
  padding: 0 50px; }
  .slide_wrap .slide {
    margin-bottom: 0;
    width: 100%; }
    .slide_wrap .slide .slick-slide {
      background-position: center center;
      background-repeat: no-repeat;
      background-size: cover;
      width: 100%;
      height: 650px; }
    .slide_wrap .slide .slide_movie {
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      padding-top: 56.25%;
      width: 100%;
      min-width: 1155.05px;
      pointer-events: none; }
      .slide_wrap .slide .slide_movie iframe {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        content: ""; }
  .slide_wrap .today_drive {
    display: table;
    position: absolute;
    bottom: 60px;
    left: 70px;
    border-radius: 10px;
    background-color: #fff;
    width: 510px;
    overflow: hidden;
    line-height: 1.3; }
    .slide_wrap .today_drive div {
      display: table-cell;
      vertical-align: middle;
      font-weight: bold; }
      .slide_wrap .today_drive div.today {
        background-color: #ffe501;
        padding: 10px;
        width: 110px;
        color: #0284cd;
        font-size: 18px; }
      .slide_wrap .today_drive div#attention {
        padding: 10px 30px;
        color: #0284cd;
        font-size: 22px;
        text-align: left; }
  .slide_wrap .copy {
    position: absolute;
    bottom: 30px;
    left: 80px;
    z-index: 10; }
  .slide_wrap .copy2 {
    position: absolute;
    top: 20px;
    bottom: 30px;
    left: 70px;
    width: 350px;
    z-index: 10; }
  .slide_wrap .copy3 {
    position: absolute;
    top: 22px;
    bottom: 30px;
    left: 440px;
    width: 500px;
    z-index: 10; }

.pg_slider {
  width: 87%;
  margin: 13px auto 32px; }

.slick-prev {
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-280%, -23px);
          transform: translate(-280%, -23px);
  z-index: 1;
  width: 20%;
  height: 25%; }
  .slick-prev:active::before {
    opacity: .75; }
  .slick-prev::before {
    content: '';
    display: block;
    background: url(../img/news/arrow_prev.png) no-repeat center center;
    background-size: contain;
    width: 100%;
    height: 100%;
    opacity: 1; }

.slick-next {
  top: 50%;
  right: 50%;
  -webkit-transform: translate(280%, -23px);
          transform: translate(280%, -23px);
  z-index: 1;
  width: 20%;
  height: 25%; }
  .slick-next::before {
    content: '';
    display: block;
    background: url(../img/news/arrow_next.png) no-repeat center center;
    background-size: contain;
    width: 100%;
    height: 100%;
    opacity: 1; }
  .slick-next:active::before {
    opacity: .75; }

.slick-slide img {
  max-width: 100%;
  max-height: 100%; }

.nav {
  position: relative;
  background-color: #fff;
  padding: 50px 0; }
  .nav ul {
    font-size: 0;
    letter-spacing: -.4em; }
  .nav li {
    display: inline-block;
    margin: 0 11px;
    width: 230px;
    letter-spacing: normal; }

@-webkit-keyframes bound {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  30% {
    -webkit-transform: translateY(5px);
    transform: translateY(5px); }
  60% {
    -webkit-transform: translateY(-3px);
    transform: translateY(-3px); }
  80% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px); }
  100% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px); } }
@keyframes bound {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  30% {
    -webkit-transform: translateY(5px);
    transform: translateY(5px); }
  60% {
    -webkit-transform: translateY(-3px);
    transform: translateY(-3px); }
  80% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px); }
  100% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px); } }
.news {
  padding: 10px 0 90px;
  width: 100%;
  overflow: hidden; }

#news_list {
  margin-top: 20px;
  font-size: 0;
  letter-spacing: -.4em; }
  #news_list .change_btn {
    display: inline-block;
    cursor: pointer;
    margin: 0 5px 10px;
    background: #656565;
    font-weight: bold;
    letter-spacing: normal; }
    #news_list .change_btn p {
      display: inline-block;
      vertical-align: middle; }
      #news_list .change_btn p.year {
        padding: 6px 5px 5px;
        color: #fff;
        font-size: 12px; }
      #news_list .change_btn p.month {
        background-color: #d0d0d0;
        padding: 3px 6px;
        color: #656565;
        font-size: 18px; }
    #news_list .change_btn.now_btn {
      background-color: #0284cd; }
      #news_list .change_btn.now_btn p.month {
        background-color: #abddf8;
        color: #0284cd; }

#news_content {
  position: relative;
  margin-top: 50px;
  min-height: 300px; }
  #news_content .news_month {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    width: 100%; }
    #news_content .news_month.disp {
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
      position: relative;
      opacity: 1; }
    #news_content .news_month section {
      position: relative;
      margin: 0 45px;
      border-radius: 10px;
      background-color: #e2f5ff;
      padding: 30px 40px 30px;
      width: 750px;
      min-height: 300px;
      overflow: hidden;
      color: #0284cd;
      line-height: 1.4;
      text-align: left; }
      #news_content .news_month section .img {
        position: absolute;
        top: 30px;
        right: 30px;
        border-radius: 10px;
        background-position: center center;
        background-repeat: no-repeat;
        background-size: cover;
        width: 190px;
        height: 190px; }
      #news_content .news_month section .date {
        font-size: 14px;
        font-weight: bold; }
      #news_content .news_month section .title {
        margin-bottom: 20px;
        border-bottom: 1px dashed #0284cd;
        padding-bottom: 20px;
        width: 460px;
        font-size: 18px;
        font-weight: bold;
        word-break: break-all; }
      #news_content .news_month section .txt {
        width: 460px;
        overflow: hidden;
        word-break: break-all; }
      #news_content .news_month section.open {
        height: auto; }

.about {
  position: relative;
  background: url(../img/about/bg_kaba3.png) no-repeat center top;
  background-color: #ffe501;
  background-position: center top 210px;
  padding: 65px 0 110px; }
  .about .about_in {
    position: relative;
    margin: 25px auto 0;
    width: 1000px;
    color: #0284cd;
    text-align: left; }
    .about .about_in .about_txt {
      padding-top: 40px;
      width: 490px;
      font-size: 20px;
      font-weight: 600;
      line-height: 1.7; }
    .about .about_in .about_youtube {
      margin-top: 30px;
      width: 480px; }
      .about .about_in .about_youtube iframe {
        width: 480px;
        height: 270px; }
    .about .about_in .about_img {
      position: absolute;
      top: 70px;
      right: 0; }

.back_blue {
  position: relative;
  background-color: #0284cd;
  padding: 100px 0 135px; }
  .back_blue .back_blue_in {
    position: relative;
    margin: 0 auto;
    width: 1000px; }

.car .back_blue_in {
  padding-top: 50px;
  min-height: 500px;
  color: #fff;
  text-align: left; }
  .car .back_blue_in .spec {
    position: relative;
    padding: 20px 0 0 25px;
    width: 320px;
    font-size: 20px;
    line-height: 1.7; }
    .car .back_blue_in .spec:after {
      position: absolute;
      bottom: -180px;
      left: 0;
      background: url(../img/about/img_hippo.png) no-repeat center center;
      width: 340px;
      height: 142px;
      content: ""; }
    .car .back_blue_in .spec dt {
      display: inline-block;
      width: 100px;
      font-weight: bold;
      letter-spacing: .1em; }
    .car .back_blue_in .spec dd {
      display: inline-block;
      width: 160px;
      letter-spacing: .05em; }
  .car .back_blue_in .car_img {
    position: absolute;
    top: 0;
    right: 0; }

.course {
  margin-top: 50px; }
  .course .back_blue_in {
    border-radius: 370px;
    background-color: #fff;
    padding-bottom: 120px; }
    .course .back_blue_in h3 {
      padding-top: 55px; }
    .course .back_blue_in .course_img {
      padding-top: 50px; }

.access {
  margin-top: 120px;
  background-color: #fff; }
  .access .back_blue_in {
    margin: 0 auto;
    padding: 0 0 55px 0;
    width: 900px;
    color: #0284cd;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.8;
    text-align: left; }
    .access .back_blue_in:nth-child(1) {
      padding: 55px 0; }
    .access .back_blue_in .access_txt {
      display: inline-block;
      vertical-align: middle;
      width: 400px; }
      .access .back_blue_in .access_txt h3 {
        display: inline-block;
        margin-top: 0;
        margin-bottom: 20px;
        border-radius: 40px;
        background-color: #0284cd;
        padding: 12px 50px;
        color: #fff;
        font-size: 24px;
        font-weight: bold; }
      .access .back_blue_in .access_txt .reception {
        margin-top: 12px;
        font-size: 15px;
        line-height: 1.4; }
    .access .back_blue_in .note {
      margin-top: 12px;
      font-size: 15px;
      line-height: 1.4;
      color: #ff7301;
      padding-right: 20px; }
    .access .back_blue_in .access_map {
      display: inline-block;
      vertical-align: middle;
      width: 480px; }
    .access .back_blue_in .access_youtube_wrap {
      margin-top: 40px;
      border-radius: 20px;
      background-color: #e2f5ff;
      padding: 40px; }
    .access .back_blue_in .access_youtube {
      position: relative;
      padding-top: 56.25%;
      width: 100%; }
      .access .back_blue_in .access_youtube iframe {
        position: absolute;
        top: 0;
        right: 0;
        width: 100% !important;
        height: 100% !important; }

.back_yellow {
  position: relative;
  background-color: #ffe501;
  padding: 50px 0 95px; }
  .back_yellow h2 {
    position: relative; }
    .back_yellow h2 img {
      margin-left: -145px;
      min-width: 750px; }
  .back_yellow .yellow_box {
    margin-top: 33px;
    border-radius: 10px;
    background-color: #fff;
    overflow: hidden; }
    .back_yellow .yellow_box dt {
      background-color: #ffba01;
      padding: 10px;
      color: #fff;
      font-size: 25px;
      font-weight: bold; }
      .back_yellow .yellow_box dt span {
        font-size: 65%;
        font-weight: 400; }
    .back_yellow .yellow_box dd {
      color: #ff7301;
      font-weight: bold; }
  .back_yellow .price {
    display: inline-block;
    vertical-align: top;
    margin-right: 75px;
    width: 460px; }
    .back_yellow .price h2:before {
      position: absolute;
      top: 30px;
      left: -390px;
      background: url(../img/line_title_orange.png) no-repeat center center;
      width: 426px;
      height: 61px;
      content: ""; }
    .back_yellow .price .yellow_box dd {
      padding: 12px;
      font-size: 42px; }
      .back_yellow .price .yellow_box dd span {
        font-size: 60%; }
    .back_yellow .price .notes {
      margin-top: 20px;
      color: #ff7301;
      font-size: 13px;
      font-weight: bold; }
  .back_yellow .timetable {
    display: inline-block;
    vertical-align: top;
    width: 460px; }
    .back_yellow .timetable h2:before {
      position: absolute;
      top: 30px;
      right: -390px;
      background: url(../img/line_title_orange.png) no-repeat center center;
      width: 426px;
      height: 61px;
      content: ""; }
    .back_yellow .timetable .yellow_box dd ul li {
      padding: 10px;
      font-size: 27px; }
      .back_yellow .timetable .yellow_box dd ul li:nth-child(2n+1) {
        background-color: #f5f5f5; }
      .back_yellow .timetable .yellow_box dd ul li sup {
        position: absolute;
        vertical-align: top;
        font-size: 50%; }
      .back_yellow .timetable .yellow_box dd ul li .notes {
        padding-top: 5px;
        font-size: 50%;
        font-weight: 500; }
  .back_yellow .short_course_title {
    display: inline-block;
    margin-top: 30px;
    border-radius: 40px;
    background-color: #0284cd;
    padding: 12px 50px;
    color: #fff;
    font-size: 36px;
    font-weight: bold; }
  .back_yellow .course_disc {
    margin: 10px 0 30px;
    color: #0284cd;
    font-size: 18px;
    font-weight: bold; }
  .back_yellow .course_disc_sub {
    margin: 40px 0 30px;
    font-size: 20px;
    font-weight: bold; }
  .back_yellow .course_disc_sub_text {
    margin: 40px 0 30px;
    font-size: 15px;
    font-weight: normal;
    line-height: 1.7;
    text-align: left; }
  .back_yellow .short_course {
    margin: 60px auto 0;
    max-width: 1000px; }
    .back_yellow .short_course .short_course_title_min {
      color: #ff7301;
      font-size: 30px;
      font-weight: bold; }
    .back_yellow .short_course .short_course_price {
      display: inline-block;
      vertical-align: top;
      margin-right: 75px;
      width: 460px; }
      .back_yellow .short_course .short_course_price .short_course_price_in {
        margin-top: 20px;
        border-radius: 10px;
        background-color: #fff;
        overflow: hidden; }
      .back_yellow .short_course .short_course_price table {
        width: 100%; }
        .back_yellow .short_course .short_course_price table tr th {
          vertical-align: middle;
          background-color: #ffba01;
          padding: 10px;
          color: #fff;
          font-size: 25px;
          font-weight: bold; }
          .back_yellow .short_course .short_course_price table tr th span {
            font-size: 65%;
            font-weight: 400; }
        .back_yellow .short_course .short_course_price table tr td {
          vertical-align: middle;
          padding: 10px 15px;
          color: #ff7301;
          font-size: 32px;
          font-weight: bold; }
          .back_yellow .short_course .short_course_price table tr td span {
            font-size: 60%; }
        .back_yellow .short_course .short_course_price table tr:nth-child(2n) th {
          background-color: #ffc220; }
        .back_yellow .short_course .short_course_price table tr:nth-child(2n) td {
          background-color: #f5f5f5; }
    .back_yellow .short_course .short_course_note {
      margin-top: 12px; }
    .back_yellow .short_course .short_course_time {
      display: inline-block;
      vertical-align: top;
      width: 460px; }
      .back_yellow .short_course .short_course_time dl {
        margin-top: 20px; }
      .back_yellow .short_course .short_course_time dd {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
      .back_yellow .short_course .short_course_time dd ul {
        width: 50%; }
      .back_yellow .short_course .short_course_time dd ul li {
        padding: 10px;
        font-size: 27px; }
        .back_yellow .short_course .short_course_time dd ul li:nth-child(2n) {
          background-color: #f5f5f5; }
        .back_yellow .short_course .short_course_time dd ul li.caption {
          background-color: #ffc220;
          color: #fff; }
        .back_yellow .short_course .short_course_time dd ul li.notice {
          font-size: 14px;
          padding: 14px;
          line-height: 1.3; }
        .back_yellow .short_course .short_course_time dd ul li .notes {
          padding-top: 5px;
          font-size: 50%;
          font-weight: 500; }
  .back_yellow .rest {
    margin: 60px auto 0;
    max-width: 1000px; }
    .back_yellow .rest .yellow_box dd {
      padding: 16px;
      font-size: 34px; }
      .back_yellow .rest .yellow_box dd .notes {
        margin-top: 10px;
        font-size: 40%; }

.reservation {
  position: relative;
  padding: 60px 0 0; }
  .reservation .step {
    margin: 40px auto 0;
    width: 1000px;
    text-align: left; }
    .reservation .step dl {
      border-radius: 10px;
      background-color: #0284cd;
      overflow: hidden;
      font-size: 0;
      letter-spacing: -.4em;
      line-height: 1.4; }
      .reservation .step dl dt {
        display: inline-block;
        position: relative;
        vertical-align: middle;
        padding: 15px 10px 15px 105px;
        width: 340px;
        color: #fff;
        font-size: 28px;
        font-weight: bold;
        letter-spacing: normal; }
        .reservation .step dl dt:after {
          -webkit-transform: translateY(-50%);
          -webkit-box-sizing: border-box;
          position: absolute;
          top: 50%;
          left: 25px;
          transform: translateY(-50%);
          box-sizing: border-box;
          border-radius: 50%;
          background-color: #fff;
          padding: 10px;
          width: 54px;
          height: 54px;
          color: #0284cd;
          font-weight: bold;
          text-align: center;
          content: "1"; }
        .reservation .step dl dt span {
          display: block;
          font-size: 50%; }
      .reservation .step dl dd {
        display: inline-block;
        vertical-align: middle;
        background-color: #e2f5ff;
        padding: 20px 50px;
        width: 660px;
        min-height: 100px;
        color: #0284cd;
        font-size: 25px;
        font-weight: bold;
        letter-spacing: normal; }
        .reservation .step dl dd span {
          font-size: 50%; }
        .reservation .step dl dd a {
          text-decoration: none; }
        .reservation .step dl dd .notes {
          font-size: 14px; }
        .reservation .step dl dd.tel {
          font-size: 42px; }
    .reservation .step.step01 {
      background-color: #fff; }
      .reservation .step.step01 dl dt:after {
        content: "1"; }
    .reservation .step.step02 {
      background-color: #fff; }
      .reservation .step.step02 dl dt:after {
        content: "2"; }
    .reservation .step.step03 {
      background-color: #fff; }
      .reservation .step.step03 dl dt {
        padding-left: 37px;
        font-size: 22px; }
        .reservation .step.step03 dl dt:after {
          display: none; }
    .reservation .step.contact dl {
      background-color: #ffba01; }
      .reservation .step.contact dl dt {
        padding-left: 37px;
        font-size: 22px; }
        .reservation .step.contact dl dt:after {
          display: none; }
      .reservation .step.contact dl dd {
        background-color: #f5f5f5;
        color: #ff7301; }
        .reservation .step.contact dl dd a {
          color: #ff7301; }
  .reservation .res_btn_net {
    margin-bottom: 20px;
    text-align: center; }
    .reservation .res_btn_net a {
      -webkit-transition: background-color .5s ease;
      display: block;
      position: relative;
      transition: background-color .5s ease;
      border-radius: 35px;
      background-color: #ff7301;
      padding: 15px 20px;
      color: #fff;
      font-size: 120%; }
      .reservation .res_btn_net a:after {
        -webkit-transform: translateY(-50%) rotate(45deg);
        -webkit-transition: border-color .5s ease;
        position: absolute;
        top: 50%;
        right: 30px;
        transform: translateY(-50%) rotate(45deg);
        transition: border-color .5s ease;
        border-top: 3px solid #ffba01;
        border-right: 3px solid #ffba01;
        padding-bottom: 1.8%;
        width: 1.8%;
        content: ""; }
      .reservation .res_btn_net a:hover {
        background-color: #ffba01; }
        .reservation .res_btn_net a:hover:after {
          border-color: #ff7301; }
  .reservation .guide {
    margin: 40px auto 0;
    border-radius: 10px;
    width: 1000px;
    overflow: hidden; }
    .reservation .guide .guide_title {
      background-color: #ff7301;
      padding: 22px;
      color: #fff;
      font-size: 22px;
      font-weight: 600; }
    .reservation .guide .notes {
      margin-top: 7px;
      font-size: 60%; }
    .reservation .guide .guide_in {
      background-color: #f5f5f5;
      padding: 40px 50px;
      text-align: left; }
      .reservation .guide .guide_in ul {
        height: 280px;
        overflow-y: scroll;
        font-size: 14px;
        line-height: 1.8; }
        .reservation .guide .guide_in ul li {
          margin-bottom: 5px;
          padding-left: 1em;
          text-indent: -1em; }
          .reservation .guide .guide_in ul li:before {
            content: "・"; }

.footer {
  position: relative;
  background-color: #0284cd;
  padding: 68px 0 60px;
  color: #fff; }
  .footer .foot_link li {
    display: inline-block;
    margin: 0 15px; }
  .footer .share {
    padding: 40px 0; }
  .footer .copy {
    font-size: 13px; }

.res_btn {
  position: fixed;
  top: 130px;
  right: 30px;
  z-index: 100; }
  .res_btn .pc {
    -webkit-transition: -webkit-transform .4s ease;
    -webkit-transform-origin: 100% 0;
    position: relative;
    transform-origin: 100% 0;
    transition: -webkit-transform .4s ease;
    transition: transform .4s ease;
    transition: transform .4s ease, -webkit-transform .4s ease; }
    .res_btn .pc .bk_center {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%; }
    .res_btn .pc .bk_arrow {
      -webkit-transform: translateY(-50%);
      position: absolute;
      top: 50%;
      right: -15px;
      transform: translateY(-50%); }
  .res_btn.scroll .pc {
    -webkit-transform: scale(0.6);
    transform: scale(0.6); }

.page_top {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  -webkit-transition: opacity .4s ease, z-index .01s ease .4s;
  position: fixed;
  right: 20px;
  bottom: 20px;
  opacity: 0;
  z-index: -1;
  transition: opacity .4s ease, z-index .01s ease .4s;
  width: 65px; }
  .page_top.in {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    -webkit-transition: opacity .4s ease, z-index .01s ease;
    opacity: 1;
    z-index: 100;
    transition: opacity .4s ease, z-index .01s ease; }

#calendar {
  margin-right: 40px; }

.calendar_wrap {
  margin: 40px 0 60px;
  font-size: 0;
  letter-spacing: -.4em;
  text-align: center; }
  .calendar_wrap .calendar_cont {
    display: inline-block;
    vertical-align: top;
    border-radius: 10px;
    background-color: #f4f4f4;
    padding: 30px 20px 10px;
    font-size: 15px;
    letter-spacing: normal; }
    .calendar_wrap .calendar_cont .fc-center {
      margin-bottom: 20px; }
      .calendar_wrap .calendar_cont .fc-center h2 {
        display: inline-block;
        border-radius: 50%;
        background-color: #0284cd;
        padding-top: 31px;
        width: 88px;
        height: 88px;
        color: #fff;
        font-size: 30px;
        font-weight: bold; }
    .calendar_wrap .calendar_cont .fc-view > table {
      width: 440px; }
    .calendar_wrap .calendar_cont table {
      color: #0284cd;
      font-size: 21px;
      font-weight: bold; }
      .calendar_wrap .calendar_cont table tr td, .calendar_wrap .calendar_cont table tr th {
        width: 63px; }
      .calendar_wrap .calendar_cont table tr td.fc-day-top, .calendar_wrap .calendar_cont table tr th.fc-day-top {
        padding-top: 22px; }
      .calendar_wrap .calendar_cont table .fc-content-skeleton tbody {
        display: none; }
  .calendar_wrap .fc-scroller {
    overflow: hidden !important; }
  .calendar_wrap .fc-day-top {
    cursor: pointer; }
  .calendar_wrap .fc-sun {
    color: #ff7301; }
    .calendar_wrap .fc-sun.fc-widget-header {
      color: #fff; }
      .calendar_wrap .fc-sun.fc-widget-header span {
        background-color: #ff7301; }
  .calendar_wrap .fc-sat {
    color: #ffba01; }
    .calendar_wrap .fc-sat.fc-widget-header {
      color: #fff; }
      .calendar_wrap .fc-sat.fc-widget-header span {
        background-color: #ffba01; }
  .calendar_wrap .fc-holiday {
    color: #ff7301; }
  .calendar_wrap .fc-wed {
    cursor: default;
    color: #b1b1b1; }
    .calendar_wrap .fc-wed.fc-widget-header {
      color: #fff; }
      .calendar_wrap .fc-wed.fc-widget-header span {
        background-color: #b1b1b1; }
  .calendar_wrap .fc-other-month {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    opacity: 0;
    cursor: default; }
  .calendar_wrap .fc-widget-header {
    color: #fff; }
    .calendar_wrap .fc-widget-header span {
      display: block;
      margin: 0 auto;
      border-radius: 50%;
      background-color: #0284cd;
      padding-top: 10px;
      width: 40px;
      height: 40px; }

@media screen and (min-width: 766px) {
  .is-pc {
    display: block; }

  .is-sp {
    display: none; }

  .sp {
    display: none !important; }

  .share li a:hover {
    -webkit-animation: bound .5s linear;
    display: block;
    animation: bound .5s linear; }

  .header .lang a {
    -webkit-transition: background-color .3s ease;
    transition: background-color .3s ease; }
    .header .lang a:hover {
      background-color: #ffba01; }
  .header .lang .lang_celect {
    display: none; }

  .nav li a:hover, .foot_link li a:hover {
    -webkit-animation: bound .5s linear;
    display: block;
    animation: bound .5s linear; }

  .res_btn .pc:hover .bk_bg {
    -webkit-transform: rotate(360deg);
    -webkit-transition: -webkit-transform .4s ease;
    transform: rotate(360deg);
    transition: -webkit-transform .4s ease;
    transition: transform .4s ease;
    transition: transform .4s ease, -webkit-transform .4s ease; }

  .calendar_wrap .fc-day-top:not(.fc-wed):not(.fc-other-month) {
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease; }
    .calendar_wrap .fc-day-top:not(.fc-wed):not(.fc-other-month):hover {
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
      opacity: .5; } }
@media screen and (max-width: 765px) {
  .is-pc {
    display: none; }

  .is-sp {
    display: block; }

  body {
    min-width: 320px;
    font-size: 13px; }

  .header {
    position: relative;
    z-index: 20;
    padding: 15px 4%; }
    .header .logo_kaba {
      width: 40%; }
    .header .logo_kaba_t {
      float: right;
      width: 58%; }
    .header .share {
      display: none; }
    .header .lang {
      -webkit-transform: rotate(-90deg);
      -webkit-transition: right .3s ease;
      -webkit-transform-origin: 100% 100%;
      top: -80px;
      right: -138px;
      transform: rotate(-90deg);
      transform-origin: 100% 100%;
      z-index: 10;
      transition: right .3s ease;
      border-radius: 10px 10px 0 0;
      background-color: #ffe501;
      width: 138px; }
      .header .lang .lang_btn {
        border-radius: 10px 10px 0 0;
        padding: 12px 5px;
        width: 100%; }
      .header .lang .lang_celect {
        -webkit-transform: rotate(90deg);
        top: 0;
        transform: rotate(90deg);
        margin-top: 0;
        border-radius: 0;
        background-color: #ffe501;
        padding-top: 30px;
        width: 138px;
        height: 138px;
        font-weight: bold; }
        .header .lang .lang_celect a {
          padding: 10px 5px; }
      .header .lang.open {
        right: 0; }

  .share {
    font-size: 12px;
    letter-spacing: .1em; }
    .share li {
      margin-left: 2%;
      width: 13.5%; }

  .wave.blue {
    -webkit-animation: wave_move 30s linear infinite;
    animation: wave_move 30s linear infinite;
    background-size: 91px auto; }
  .wave.yellow {
    -webkit-animation: wave_move 33s ease-in-out infinite;
    animation: wave_move 33s ease-in-out infinite;
    background-size: 91px auto; }
  .wave.white {
    -webkit-animation: wave_move 34s linear infinite;
    animation: wave_move 34s linear infinite;
    background-size: 91px auto; }

  .content {
    background-size: 180% auto;
    padding-bottom: 40%; }
    .content:before {
      -webkit-animation: car_move 2s linear infinite, car_move_left 40s linear infinite;
      right: -200px;
      bottom: -9px;
      animation: car_move 2s linear infinite, car_move_left 40s linear infinite;
      width: 120px;
      height: 36px; }

  .title_deco {
    width: 100%; }
    .title_deco:before {
      top: 3%;
      left: -45%;
      background-size: 100% auto;
      width: 60%; }
    .title_deco:after {
      top: 3%;
      right: -45%;
      background-size: 100% auto;
      width: 60%; }

  .slide_wrap {
    padding: 0 4%; }
    .slide_wrap .slide .slick-slide {
      height: 310px; }
    .slide_wrap .today_drive {
      bottom: 20px;
      left: 6%;
      border-radius: 5px;
      width: 88%;
      line-height: 1.3; }
      .slide_wrap .today_drive div.today {
        padding: 10px;
        width: 75px;
        font-size: 12px; }
      .slide_wrap .today_drive div#attention {
        padding: 10px 20px;
        font-size: 13px; }
    .slide_wrap .copy {
      top: 8%;
      left: 20%;
      width: 60%; }

  .nav {
    padding: 5% 0; }
    .nav .copy2 {
      position: relative;
      left: 10%;
      width: 80%;
      padding: 20px 0 20px; }
    .nav .copy3 {
      position: relative;
      left: 10%;
      width: 80%;
      padding: 20px 0 40px; }
    .nav li {
      margin: 0 2.5% 4%;
      width: 43.5%; }

  .news {
    padding: 10px 0 90px; }

  #news_content {
    margin-top: 25px;
    min-height: 470px; }
    #news_content .news_month section {
      margin: 0 30px;
      border-radius: 5px;
      padding: 25px 15px 25px;
      width: 340px;
      min-height: 450px;
      line-height: 1.4; }
      #news_content .news_month section .img {
        position: static;
        margin: 0 auto;
        border-radius: 5px;
        width: 143px;
        height: 143px; }
      #news_content .news_month section .date {
        font-size: 13px; }
      #news_content .news_month section .title {
        margin-bottom: 20px;
        padding-bottom: 15px;
        width: 100%;
        font-size: 15px; }
      #news_content .news_month section .txt {
        margin-top: 20px;
        width: 100%; }

  .about {
    background: url(../img/about/bg_kaba3.png) no-repeat center bottom #ffe501;
    background-size: 92% auto;
    padding: 10% 0 48%; }
    .about .title_deco:before {
      left: -55%; }
    .about .title_deco:after {
      right: -55%; }
    .about .about_in {
      margin: 25px auto 0;
      width: 92%; }
      .about .about_in .about_txt {
        padding-top: 2%;
        width: 100%;
        font-size: 14px;
        line-height: 1.7; }
      .about .about_in .about_youtube {
        position: relative;
        padding-top: 56.25%;
        width: 100%; }
        .about .about_in .about_youtube iframe {
          position: absolute;
          top: 0;
          right: 0;
          width: 100% !important;
          height: 100% !important; }
      .about .about_in .about_img {
        top: auto;
        right: 15%;
        bottom: -72%;
        margin: 0 auto;
        width: 70%; }

  .back_blue {
    padding: 5% 0 12%; }
    .back_blue .back_blue_in {
      padding-top: 5%;
      width: 100%; }
      .back_blue .back_blue_in h3 {
        margin: 0 auto;
        width: 42.5%; }

  .car .back_blue_in {
    min-height: 100px; }
    .car .back_blue_in .spec {
      margin: 7% auto 0;
      padding: 0;
      width: 86.7%;
      font-size: 14px;
      line-height: 1.6; }
      .car .back_blue_in .spec:after {
        right: 0;
        bottom: 0;
        left: auto;
        background-size: 100% auto;
        width: 48%;
        height: 100%; }
      .car .back_blue_in .spec dt {
        width: 24%; }
      .car .back_blue_in .spec dd {
        width: 70%; }
    .car .back_blue_in .car_img {
      position: static;
      margin: 7% auto 0;
      width: 86.7%; }

  .course {
    margin-top: 10%; }
    .course .back_blue_in {
      border-radius: 0;
      padding: 8% 0; }
      .course .back_blue_in h3 {
        padding-top: 0; }
      .course .back_blue_in .course_img {
        padding: 5% 7% 0; }

  .access {
    margin-top: 0; }
    .access .back_blue_in {
      padding: 8% 0 0;
      width: 100%;
      font-size: 14px;
      font-weight: 500;
      line-height: 1.6; }
      .access .back_blue_in .access_txt {
        display: block;
        width: 100%;
        text-align: center; }
        .access .back_blue_in .access_txt h3 {
          width: 72%;
          margin-bottom: 8%;
          border-radius: 40px;
          padding: 10px 40px;
          font-size: 20px; }
        .access .back_blue_in .access_txt p {
          text-align: left;
          width: 88%;
          margin: 0 auto;
          line-height: 1.7; }
      .access .back_blue_in .note {
        text-align: left;
        width: 88%;
        margin: 0 auto;
        padding: 20px 0;
        line-height: 1.7; }
      .access .back_blue_in .access_map {
        margin-top: 5%;
        background-color: #e2f5ff;
        padding: 7% 6.6%;
        width: 100%; }
      .access .back_blue_in .access_youtube_wrap {
        margin-top: 5%;
        border-radius: 0;
        padding: 6%; }

  .back_yellow {
    padding: 5% 0 12%; }
    .back_yellow .yellow_box {
      margin: 5% auto 0;
      border-radius: 5px;
      width: 88%; }
      .back_yellow .yellow_box dt {
        padding: 10px;
        font-size: 20px;
        line-height: 1.3; }
        .back_yellow .yellow_box dt span {
          font-size: 65%;
          font-weight: 400; }
    .back_yellow .price {
      display: block;
      width: 100%; }
      .back_yellow .price h2 {
        margin: 0 auto;
        width: 100%; }
        .back_yellow .price h2:before {
          position: absolute;
          top: 3%;
          left: -45%;
          background: url(../img/line_title_orange.png) no-repeat center center;
          background-size: 100% auto;
          width: 60%;
          height: 61px;
          content: ""; }
        .back_yellow .price h2:after {
          position: absolute;
          top: 3%;
          right: -45%;
          background: url(../img/line_title_orange.png) no-repeat center center;
          background-size: 100% auto;
          width: 60%;
          height: 61px;
          content: ""; }
        .back_yellow .price h2 img {
          margin-left: 0;
          min-width: 100%; }
      .back_yellow .price .yellow_box dd {
        padding: 6px;
        font-size: 32px; }
        .back_yellow .price .yellow_box dd span {
          font-size: 60%; }
      .back_yellow .price .notes {
        margin-top: 15px;
        font-size: 11px; }
    .back_yellow .timetable {
      margin-top: 12%;
      width: 100%; }
      .back_yellow .timetable h2 {
        margin: 0 auto;
        width: 100%; }
        .back_yellow .timetable h2:before {
          position: absolute;
          top: 3%;
          left: -45%;
          background: url(../img/line_title_orange.png) no-repeat center center;
          background-size: 100% auto;
          width: 60%;
          height: 61px;
          content: ""; }
        .back_yellow .timetable h2:after {
          position: absolute;
          top: 3%;
          right: -45%;
          background: url(../img/line_title_orange.png) no-repeat center center;
          background-size: 100% auto;
          width: 60%;
          height: 61px;
          content: ""; }
        .back_yellow .timetable h2 img {
          margin-left: 0;
          min-width: 100%; }
      .back_yellow .timetable .yellow_box dt {
        padding: 10px;
        font-size: 20px; }
        .back_yellow .timetable .yellow_box dt p {
          margin-top: 2px;
          font-size: 58%; }
      .back_yellow .timetable .yellow_box dd ul li {
        padding: 7px;
        font-size: 20px; }
        .back_yellow .timetable .yellow_box dd ul li sup {
          font-size: 60%; }
    .back_yellow .short_course_title {
      margin-top: 20px;
      border-radius: 20px;
      padding: 10px 40px;
      font-size: 20px; }
    .back_yellow .course_disc {
      margin: 10px 0 30px;
      font-size: 14px; }
    .back_yellow .course_disc_sub {
      margin: 40px 0 30px;
      font-size: 15px;
      font-weight: bold;
      line-height: 1.5; }
    .back_yellow .course_disc_sub_text {
      margin: 40px 0 30px;
      font-size: 15px;
      font-weight: normal;
      line-height: 1.5;
      text-align-last: left; }
    .back_yellow .short_course {
      margin: 40px auto 0;
      width: 88%; }
      .back_yellow .short_course .short_course_title_min {
        font-size: 18px; }
      .back_yellow .short_course .short_course_price {
        margin: 0 auto;
        width: 100%; }
        .back_yellow .short_course .short_course_price .short_course_price_in {
          margin-top: 10px;
          border-radius: 5px; }
        .back_yellow .short_course .short_course_price table tr th {
          padding: 10px;
          font-size: 18px; }
          .back_yellow .short_course .short_course_price table tr th span {
            font-size: 65%; }
        .back_yellow .short_course .short_course_price table tr td {
          padding: 7px 10px;
          font-size: 20px; }
          .back_yellow .short_course .short_course_price table tr td span {
            font-size: 60%; }
      .back_yellow .short_course .short_course_time {
        margin-top: 20px;
        width: 100%; }
        .back_yellow .short_course .short_course_time dl {
          margin-top: 10px;
          width: 100%; }
        .back_yellow .short_course .short_course_time dd ul li {
          padding: 10px;
          font-size: 20px; }
          .back_yellow .short_course .short_course_time dd ul li .notes {
            padding-top: 5px;
            font-size: 50%;
            font-weight: 500; }
      .back_yellow .short_course .short_course_note {
        margin-top: 12px; }
    .back_yellow .rest {
      margin: 30px auto 0;
      max-width: 1000px; }
      .back_yellow .rest .yellow_box dd {
        padding: 16px;
        font-size: 22px;
        line-height: 1.7; }
        .back_yellow .rest .yellow_box dd .notes {
          margin-top: 2px;
          font-size: 40%; }

  .reservation {
    padding: 13% 0 0; }
    .reservation .step {
      margin: 7% auto 0;
      width: 92%;
      text-align: center; }
      .reservation .step dl {
        border-radius: 5px;
        line-height: 1.4; }
        .reservation .step dl dt {
          padding: 14px 10px;
          width: 100%;
          min-height: 50px;
          font-size: 15px; }
          .reservation .step dl dt:after {
            left: 10px;
            padding: 3px;
            width: 35px;
            height: 35px;
            font-size: 22px; }
          .reservation .step dl dt span {
            display: block;
            font-size: 70%;
            font-weight: 500; }
        .reservation .step dl dd {
          padding: 10px 5px;
          width: 100%;
          min-height: 20px;
          font-size: 14px; }
          .reservation .step dl dd span {
            font-size: 50%; }
          .reservation .step dl dd .notes {
            font-size: 11px; }
          .reservation .step dl dd.tel {
            font-size: 22px; }
      .reservation .step.step03 dl dt {
        padding: 18px 10px 10px;
        font-size: 14px; }
      .reservation .step.contact dl dt {
        padding: 18px 10px 10px;
        font-size: 14px; }
        .reservation .step.contact dl dt:after {
          display: none; }
      .reservation .step.contact dl dd {
        background-color: #f5f5f5;
        color: #ff7301; }
    .reservation .guide {
      margin: 7% auto 0;
      border-radius: 5px;
      width: 92%;
      line-height: 1.3; }
      .reservation .guide .guide_title {
        padding: 13px 10px 13px;
        font-size: 14px; }
      .reservation .guide .guide_in {
        padding: 8% 5%; }
        .reservation .guide .guide_in ul {
          padding-right: 5px;
          height: 280px;
          font-size: 12px;
          line-height: 1.7; }
          .reservation .guide .guide_in ul li {
            margin-bottom: 5px; }

  .footer {
    padding: 8% 0 110px; }
    .footer .foot_link li {
      margin: 2.5%;
      width: 37.5%; }
    .footer .share {
      padding: 40px 0; }

  .res_btn {
    top: auto;
    right: 0;
    bottom: 0; }

  .page_top {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    position: absolute;
    top: -30px;
    right: 50%;
    bottom: auto;
    opacity: 1;
    z-index: 100;
    margin-right: -32px;
    width: 65px; }

  #calendar {
    margin-right: auto; }

  .calendar_wrap {
    margin: 0 0 10%; }
    .calendar_wrap .calendar_cont {
      margin: 5% 0 0;
      border-radius: 5px;
      padding: 30px 20px 10px;
      width: 100%; }
      .calendar_wrap .calendar_cont .fc-center {
        margin-bottom: 20px; }
        .calendar_wrap .calendar_cont .fc-center h2 {
          border-radius: 50%;
          padding-top: 20px;
          width: 60px;
          height: 60px;
          font-size: 20px; }
      .calendar_wrap .calendar_cont .fc-view > table {
        width: 100%; }
      .calendar_wrap .calendar_cont table {
        font-size: 17px; }
        .calendar_wrap .calendar_cont table tr td, .calendar_wrap .calendar_cont table tr th {
          width: 45px; }
        .calendar_wrap .calendar_cont table tr td.fc-day-top, .calendar_wrap .calendar_cont table tr th.fc-day-top {
          padding-top: 14px; }
    .calendar_wrap .fc-widget-header span {
      padding-top: 8px;
      width: 30px;
      height: 30px;
      font-size: 14px; }

  .pc {
    display: none !important; } }
