/* responsive */
@media (min-width: 1600px) and (max-width: 1920px) {
  .footer .footer01 .partner-wrapper .txt-wrapper {
    padding: 220px 0 0; }

  .footer02 .school-wrapper .txt-wrapper {
    padding: 120px 0 0; } }
@media (max-width: 1180px) {
  body {
    padding-top: 85px; }

  #header {
    height: 84px; }
    #header .header-title {
      width: 50%;
      padding: 5px 0; }
      #header .header-title hgroup h1 {
        font-size: 0.875rem; }
    #header .header-nav {
      width: 100%; }
      #header .header-nav .header-nav2 {
        display: none; }
    #header .navbar .main-nav li a {
      text-align: left; }
    #header .nav-wrapper {
      width: 100%; }

  #top-slider #wide-slider-area .sp-slides .sp-slide .img-fluid {
    border: 8px solid;
    width: calc(100% - 16px);
    border-radius: 50px; }
  #top-slider #wide-slider-area .sp-slides .sp-slide .img-fluid.color-01 {
    border-color: #f86d94; }
  #top-slider #wide-slider-area .sp-slides .sp-slide .img-fluid.color-02 {
    border-color: #00a5d9; }
  #top-slider #wide-slider-area .sp-slides .sp-slide .img-fluid.color-03 {
    border-color: #fb7c53; }
  #top-slider #wide-slider-area .sp-slides .sp-slide .img-fluid.color-04 {
    border-color: #4fdb1b; }
  #top-slider #wide-slider-area .sp-slides .sp-slide .img-fluid.color-05 {
    border-color: #6e3da8; }
  #top-slider #wide-slider-area .sp-slides .sp-slide .img-fluid.color-06 {
    border-color: #f9f335; }
  #top-slider #wide-slider-area .sp-slides .sp-slide .img-fluid.color-07 {
    border-color: #0f4ba3; }

  .section-wrapper {
    width: 100%; }

  section h2 {
    font-size: 2rem; }
  section h3 {
    font-size: 1.5rem; }

  .content-wrapper02 {
    display: block; }
    .content-wrapper02 p {
      width: 100%; }

  .top02 .content-wrapper02 {
    width: 70%;
    margin-left: auto;
    text-align: right; }

  .footer h2 {
    font-size: 1.75rem;
    line-height: 2.5rem; }
    .footer h2 span {
      font-size: 1.125rem; }
  .footer .btn-basic a {
    font-size: 1.25rem; }
    .footer .btn-basic a i {
      font-size: 1.875rem; }
  .footer .footer01 {
    margin-top: 250px; }
    .footer .footer01 .partner-wrapper .img-fluid {
      width: 50%; }
    .footer .footer01 .partner-wrapper .txt-wrapper {
      width: 50%;
      padding: 10px 0 0 0; }
      .footer .footer01 .partner-wrapper .txt-wrapper h2 {
        padding-bottom: 20px; }
      .footer .footer01 .partner-wrapper .txt-wrapper .btn-basic {
        margin-bottom: 5px; }
    .footer .footer01 .eye-catch {
      width: 340px;
      transform: translate(-50%, 0);
      -webkit-transform: translate(-50%, 0);
      -ms-transform: translate(-50%, 0);
      top: -180px;
      left: 50%; }
    .footer .footer01 .eye-catch02 {
      width: 190px;
      bottom: 0; }
  .footer .footer02 {
    margin: 200px 0; }
    .footer .footer02 .school-wrapper .img-fluid {
      width: 50%; }
    .footer .footer02 .school-wrapper .txt-wrapper {
      width: 50%;
      padding: 0 0 10px 0; }
      .footer .footer02 .school-wrapper .txt-wrapper h2 .school-logo {
        margin: 0 auto;
        width: 45%; }
    .footer .footer02 .eye-catch03 {
      width: 180px;
      bottom: auto;
      top: -80px;
      right: 30%; }
    .footer .footer02 .eye-catch04 {
      width: 320px;
      bottom: -130px;
      left: 38%; }

  .footer03 .footer-school-wrapper .school-detail-wrapper {
    padding: 10px 0 0; }
    .footer03 .footer-school-wrapper .school-detail-wrapper h2 {
      font-size: 1.125rem;
      padding-bottom: 5px; }
    .footer03 .footer-school-wrapper .school-detail-wrapper ul {
      width: 100%;
      padding-bottom: 10px; }
      .footer03 .footer-school-wrapper .school-detail-wrapper ul li:first-child {
        font-size: 1rem;
        padding-bottom: 5px; }
      .footer03 .footer-school-wrapper .school-detail-wrapper ul li:nth-child(2) a {
        font-size: 1.5rem;
        line-height: 40px; }
        .footer03 .footer-school-wrapper .school-detail-wrapper ul li:nth-child(2) a img {
          width: 30px;
          height: auto; }
      .footer03 .footer-school-wrapper .school-detail-wrapper ul li:last-child a {
        font-size: 1.25rem;
        line-height: 40px; }
        .footer03 .footer-school-wrapper .school-detail-wrapper ul li:last-child a img {
          width: 30px;
          height: auto; }

  .header-bar {
    margin-bottom: 80px; }

  .nav-link {
    font-size: 1.125rem;
    padding: 0.5rem 3rem; } }
@media (max-width: 767px) {
  body {
    padding-top: 58px; }

  a[href^="tel:"] {
    pointer-events: auto; }

  .pc-only {
    display: none; }

  /* header navigation */
  #header {
    height: 56px; }
    #header .header-title {
      width: 15%; }
      #header .header-title hgroup {
        display: none; }

  .navbar .main-nav li a {
    font-size: 1rem; }

  .navbar .main-nav li:nth-child(2) a {
    font-size: 1rem; }

  .navbar-mobile .main-nav li .sub-nav {
    display: block; }

  #top-slider #wide-slider-area .sp-slides .sp-slide .img-fluid {
    width: calc(100% - 12px);
    border: 6px solid;
    border-radius: 30px; }
  #top-slider #wide-slider-area .sp-slides .sp-slide .img-fluid.color-01 {
    border-color: #f86d94; }
  #top-slider #wide-slider-area .sp-slides .sp-slide .img-fluid.color-02 {
    border-color: #00a5d9; }
  #top-slider #wide-slider-area .sp-slides .sp-slide .img-fluid.color-03 {
    border-color: #fb7c53; }
  #top-slider #wide-slider-area .sp-slides .sp-slide .img-fluid.color-04 {
    border-color: #4fdb1b; }
  #top-slider #wide-slider-area .sp-slides .sp-slide .img-fluid.color-05 {
    border-color: #6e3da8; }
  #top-slider #wide-slider-area .sp-slides .sp-slide .img-fluid.color-06 {
    border-color: #f9f335; }
  #top-slider #wide-slider-area .sp-slides .sp-slide .img-fluid.color-07 {
    border-color: #0f4ba3; }

  section h2 {
    font-size: 1.5rem;
    line-height: 2rem;
    padding-bottom: 10px; }
    section h2 span {
      font-size: 1rem; }
  section h3 {
    font-size: 1.125rem;
    padding-bottom: 10px; }
  section p {
    font-size: 0.9375rem;
    line-height: 1.5rem;
    margin: 0; }

  .btn-basic a {
    font-size: 1.25rem; }
    .btn-basic a i {
      font-size: 1.875rem; }

  .footer h2 {
    font-size: 1.25rem;
    line-height: 2rem; }
    .footer h2 span {
      font-size: 1rem; }
  .footer .btn-basic a {
    font-size: 1.125rem; }
    .footer .btn-basic a i {
      font-size: 1.5rem; }
  .footer .footer01 {
    margin-top: 200px; }
    .footer .footer01 .partner-wrapper {
      display: block; }
      .footer .footer01 .partner-wrapper .img-fluid {
        width: 100%;
        margin: 0;
        border-radius: 30px 30px 0 0; }
      .footer .footer01 .partner-wrapper .txt-wrapper {
        width: 100%;
        border-radius: 0 0 30px 30px;
        padding-bottom: 80px; }
    .footer .footer01 .eye-catch {
      width: 260px;
      left: 50%;
      top: -150px; }
    .footer .footer01 .eye-catch02 {
      transform: translate(-50%, 0);
      -webkit-transform: translate(-50%, 0);
      -ms-transform: translate(-50%, 0);
      left: 50%;
      bottom: -1px; }
  .footer .footer02 .school-wrapper {
    display: block;
    margin-right: 0; }
    .footer .footer02 .school-wrapper .img-fluid {
      width: 100%;
      margin: 0;
      border-radius: 30px 30px 0 0; }
    .footer .footer02 .school-wrapper .txt-wrapper {
      width: 100%;
      border-radius: 0 0 30px 30px;
      padding-bottom: 40px; }
      .footer .footer02 .school-wrapper .txt-wrapper h2 .school-logo {
        width: 70%; }
  .footer .footer02 .eye-catch03 {
    width: 180px;
    top: -90px;
    right: 50%; }
  .footer .footer02 .eye-catch04 {
    width: 290px;
    transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    bottom: -90px;
    left: 50%; }

  .footer03 {
    padding: 50px 0; }
    .footer03 .footer-list > div {
      padding-bottom: 20px; }
    .footer03 .footer-school-wrapper {
      display: block; }
      .footer03 .footer-school-wrapper .img-fluid {
        width: 100%; }
      .footer03 .footer-school-wrapper .school-detail-wrapper {
        width: 100%;
        padding: 10px 10px 20px; }

  .footer04 {
    height: 100px; }
    .footer04 p {
      font-size: 0.875rem;
      line-height: 1rem;
      padding: 80px 0 4px; }
    .footer04 .footer-list-wrapper {
      transform: translate(-50%, 0);
      -webkit-transform: translate(-50%, 0);
      -ms-transform: translate(-50%, 0);
      right: auto;
      left: 50%; }
      .footer04 .footer-list-wrapper .footer-list {
        justify-content: center; }
        .footer04 .footer-list-wrapper .footer-list li:last-child a {
          padding-right: 0; }

  .top01 {
    padding-top: 50px;
    margin-bottom: 50px; }

  .content-wrapper {
    padding: 20px 15px 20px;
    border-radius: 0; }

  .content-wrapper02 .btn-basic {
    margin-left: 0; }

  .top02 {
    margin-bottom: 50px; }
    .top02 h2 {
      text-align: left;
      font-size: 1.25rem; }
    .top02 p {
      width: 100%;
      padding-left: 0; }
    .top02 .content-wrapper {
      border-radius: 0;
      padding: 40px 20px 20px; }
    .top02 .content-wrapper02 {
      width: 100%;
      margin-left: 0;
      text-align: left; }

  .top03 {
    margin-bottom: 50px; }
    .top03 h2 .img-fluid {
      width: 60px;
      height: auto;
      padding-bottom: 20px; }
    .top03 .insta-wrapper {
      padding: 20px 30px;
      margin-bottom: 30px; }
      .top03 .insta-wrapper .insta-content {
        width: calc(33% - 10px); }

  .top04 {
    padding: 50px 0; }
    .top04 h2 {
      padding-bottom: 30px; }
      .top04 h2 span {
        font-size: 1.125rem; }
    .top04 p {
      font-size: 1rem;
      line-height: 1.5rem; }

  .header-bar {
    margin-bottom: 50px;
    padding: 30px 0; }
    .header-bar h2 {
      font-size: 1.5rem; }

  .contact-wrapper .nav {
    margin-bottom: 20px; }
    .contact-wrapper .nav li {
      margin: 0 0 30px 0; }

  .nav-link {
    font-size: 1.125rem;
    padding: 0.5rem 3rem; }

  .contact-form-wrapper h2 {
    margin: 0 5px 30px;
    font-size: 1.25rem; }

  .contact ul {
    display: block; }
    .contact ul li {
      width: 100%; }
    .contact ul li:first-child {
      text-align: left; }

  .competition-single {
    padding: 50px 0; }

  .competition .txt-intro {
    font-size: 1.125rem; }

  .btn-competition {
    padding: 4px 20px; }
    .btn-competition a {
      font-size: 1rem; } }
@media (min-width: 767px) {
  .sp-only {
    display: none; } }
@media (max-width: 320px) {
  .footer .footer02 .eye-catch03 {
    width: 130px;
    top: -80px; }

  .contact-form-wrapper h2 {
    font-size: 1rem; }

  .nav-link {
    font-size: 1rem;
    padding: 0.5rem 2rem; } }
