#header {
  height: 130px;
  margin: 0 auto;
  z-index: 997;
  background-color: #fff;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2); }
  #header .nav-wrapper {
    max-width: 1120px;
    margin: 0 auto; }
  #header .header-title {
    width: 34%; }
    #header .header-title .header-logo {
      padding-right: 20px; }
    #header .header-title hgroup {
      text-align: center; }
      #header .header-title hgroup h1 {
        font-size: 1.125rem;
        color: #515151;
        padding: 0 0 10px;
        margin: 0; }
      #header .header-title hgroup h2 {
        margin: 0;
        padding: 0 0 10px; }
      #header .header-title hgroup h3 {
        margin: 0; }
  #header .header-nav .header-nav2 {
    list-style: none;
    display: flex;
    align-items: center;
    line-height: 60px; }
    #header .header-nav .header-nav2 li a {
      display: flex;
      align-items: center;
      justify-content: center; }
    #header .header-nav .header-nav2 li:first-child {
      background-color: #0f4ba3;
      padding: 0 20px; }
      #header .header-nav .header-nav2 li:first-child a {
        color: #fff;
        font-size: 1.125rem;
        font-weight: bold; }
        #header .header-nav .header-nav2 li:first-child a i {
          font-size: 2rem;
          display: inline-block;
          transition-duration: 0.3s; }
      #header .header-nav .header-nav2 li:first-child:hover a i {
        transform: translate(-5px); }
    #header .header-nav .header-nav2 li:last-child {
      background-color: #fb7c53;
      padding: 0 20px; }
      #header .header-nav .header-nav2 li:last-child a {
        color: #fff;
        font-size: 1.25rem;
        font-weight: bold;
        padding-left: 10px;
        font-family: 'Roboto', sans-serif; }

a, a:hover {
  color: #040000; }

ul {
  list-style: none; }

p {
  line-break: strict !important; }

.section-wrapper {
  width: 1120px;
  margin: 0 auto; }

section h2 {
  color: #040000;
  font-size: 2.5rem;
  font-weight: bold;
  line-height: 3rem;
  margin: 0;
  padding-bottom: 16px; }
  section h2 span {
    font-size: 1.25rem;
    font-weight: normal; }
section h3 {
  color: #040000;
  font-size: 1.75rem;
  margin: 0;
  padding-bottom: 12px; }
section p {
  font-size: 1.125rem;
  color: #515151;
  line-height: 2rem;
  padding-bottom: 20px; }

.btn-basic {
  display: inline-block;
  padding: 4px 50px;
  background-color: #fff;
  border-radius: 100vh;
  cursor: pointer; }
  .btn-basic a {
    color: #050000;
    font-size: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center; }
    .btn-basic a i {
      font-size: 2.5rem;
      display: block;
      transition-duration: 0.3s; }
    .btn-basic a span {
      display: block; }
  .btn-basic:hover a i {
    transform: translate(-5px); }

.footer h2 {
  color: #fff;
  font-size: 2.25rem;
  font-weight: bold;
  line-height: 3rem;
  text-align: center;
  margin: 0;
  padding-bottom: 16px; }
  .footer h2 span {
    font-size: 1.25rem;
    font-weight: normal; }
.footer .footer01 {
  position: relative;
  margin-top: 600px; }
  .footer .footer01 .partner-wrapper {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    position: relative; }
    .footer .footer01 .partner-wrapper .img-fluid {
      margin: 0 0 0 -0.75rem;
      width: 65%; }
    .footer .footer01 .partner-wrapper .txt-wrapper {
      width: 35%;
      background-color: #00a5d9;
      border-radius: 0 50px 50px 0;
      padding: 150px 0;
      text-align: center; }
      .footer .footer01 .partner-wrapper .txt-wrapper h2 {
        padding-bottom: 50px; }
  .footer .footer01 .eye-catch {
    width: 680px;
    height: auto;
    position: absolute;
    top: -380px;
    left: 25%;
    z-index: 99; }
  .footer .footer01 .eye-catch02 {
    width: 420px;
    height: auto;
    position: absolute;
    left: 32%;
    bottom: 0;
    z-index: 100; }
.footer .footer02 {
  margin: 200px 0 400px;
  position: relative; }
  .footer .footer02 .school-wrapper {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: flex-end;
    margin-right: -0.75rem; }
    .footer .footer02 .school-wrapper .img-fluid {
      width: 65%; }
    .footer .footer02 .school-wrapper .txt-wrapper {
      background-color: #4fdb1b;
      width: 35%;
      border-radius: 50px 0 0 50px;
      text-align: center;
      padding: 40px 0 20px; }
      .footer .footer02 .school-wrapper .txt-wrapper h2 .school-logo {
        margin: 0 auto 30px; }
      .footer .footer02 .school-wrapper .txt-wrapper .btn-basic {
        margin-bottom: 10px; }
        .footer .footer02 .school-wrapper .txt-wrapper .btn-basic a {
          font-size: 1.25rem; }
      .footer .footer02 .school-wrapper .txt-wrapper .btn-red {
        padding: 4px 43px; }
        .footer .footer02 .school-wrapper .txt-wrapper .btn-red a {
          color: #f00000;
          font-size: 1.125rem; }
  .footer .footer02 .eye-catch03 {
    position: absolute;
    right: 18%;
    bottom: -120px;
    width: 320px;
    height: auto; }
  .footer .footer02 .eye-catch04 {
    position: absolute;
    left: 24%;
    bottom: -170px;
    width: 520px;
    height: auto; }

.footer03 {
  background-color: #0f4ba3;
  padding: 80px 0; }
  .footer03 .footer-list > div {
    padding-bottom: 40px; }
  .footer03 .footer-school-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    border-radius: 20px;
    overflow: hidden; }
    .footer03 .footer-school-wrapper .school-detail-wrapper {
      background-color: #fff;
      text-align: center;
      width: 50%;
      padding: 40px 0 20px; }
      .footer03 .footer-school-wrapper .school-detail-wrapper h2 {
        font-size: 1.375rem;
        color: #040000; }
      .footer03 .footer-school-wrapper .school-detail-wrapper ul {
        width: 70%;
        margin: 0 auto;
        text-align: left;
        padding-bottom: 30px; }
        .footer03 .footer-school-wrapper .school-detail-wrapper ul li:first-child {
          font-size: 1.125rem;
          color: #040000;
          padding-bottom: 15px; }
        .footer03 .footer-school-wrapper .school-detail-wrapper ul li:nth-child(2) a {
          font-size: 2rem;
          font-family: 'Roboto', sans-serif;
          font-weight: bold;
          color: #0f4ba3;
          line-height: 60px; }
        .footer03 .footer-school-wrapper .school-detail-wrapper ul li:last-child a {
          font-size: 1.5rem;
          font-family: 'Roboto', sans-serif;
          font-weight: bold;
          color: #0f4ba3;
          line-height: 60px; }
      .footer03 .footer-school-wrapper .school-detail-wrapper .btn-blue {
        background-color: #0f4ba3; }
        .footer03 .footer-school-wrapper .school-detail-wrapper .btn-blue a {
          color: #fff; }
    .footer03 .footer-school-wrapper .img-fluid {
      width: 50%; }

.footer04 {
  height: 80px; }
  .footer04 .section-wrapper {
    position: relative; }
  .footer04 p {
    font-family: 'Roboto', sans-serif;
    font-size: 1rem;
    line-height: 80px;
    text-align: center;
    vertical-align: middle;
    padding: 0;
    margin: 0; }
  .footer04 .footer-list-wrapper {
    position: absolute;
    right: 10px;
    top: 14px; }
    .footer04 .footer-list-wrapper .footer-list {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      width: 140px;
      margin: 0;
      padding: 0; }
      .footer04 .footer-list-wrapper .footer-list li a {
        padding-right: 20px; }

/* contact */
.header-bar {
  background-color: #FAFAFA;
  text-align: center;
  padding: 40px 0;
  margin-bottom: 50px; }
  .header-bar h2 {
    color: #0F4BA3;
    font-size: 2rem;
    font-weight: bold;
    margin: 0; }

.contact-wrapper .nav {
  justify-content: center;
  margin-bottom: 80px; }

.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
  color: #fff;
  background-color: #0f4ba3; }

.nav-link {
  color: #0f4ba3;
  background-color: #fff;
  font-size: 1.125rem;
  font-weight: bold;
  margin: 0 10px;
  padding: 0.5rem 4rem; }

.nav-pills .nav-link {
  border: 3px solid #0f4ba3;
  border-radius: 100rem; }

.contact-form-wrapper h2 {
  background-color: #0F4BA3;
  color: #fff;
  border-radius: 10px;
  padding: 20px 0;
  margin: 0 20px 50px;
  font-size: 1.75rem;
  font-weight: bold;
  text-align: center; }
.contact-form-wrapper h3 {
  font-size: 1.25rem;
  padding: 0 20px 30px;
  text-align: center; }
.contact-form-wrapper .color-red {
  color: red; }

.contact ul {
  display: flex;
  align-items: center;
  justify-content: center; }
  .contact ul li {
    width: 50%; }
  .contact ul li:first-child {
    text-align: right; }
  .contact ul li:last-child {
    display: inline-block; }

::placeholder {
  color: #ccc; }

.contact textarea, .contact input[type="text"], .contact input[type="E-mail"],
.contact input[type="tel"], .contact input[type="number"] {
  padding: 10px 20px;
  line-height: 20px;
  height: auto;
  margin-bottom: 10px;
  border: #ccc 1px solid;
  border-radius: 4px;
  display: inline-block; }

.contact textarea {
  height: 120px; }

textarea:focus, input[type="text"]:focus,
input[type="E-mail"]:focus, [type="tel"]:focus,
input[type="number"]:focus {
  border-top-color: rgba(82, 168, 236, 0.8);
  border-right-color: rgba(82, 168, 236, 0.8);
  border-bottom-color: rgba(82, 168, 236, 0.8);
  border-left-color: rgba(82, 168, 236, 0.8);
  outline-width: 0px;
  outline-style: none;
  box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.075) inset, 0px 0px 8px rgba(82, 168, 236, 0.6); }

.btn-send {
  padding: 1.25rem 0 1.875rem;
  text-align: center; }

.message-btn {
  border: 2px solid #0f4ba3;
  color: #0f4ba3;
  background-color: #fff;
  padding: 12px 30px;
  font-size: 1.125rem;
  border-radius: 4px;
  margin-top: 16px;
  transition-duration: 0.5s; }

.message-btn:hover {
  background-color: #0f4ba3;
  color: #fff; }

.competition-header {
  background-color: #f86d94;
  text-align: center;
  padding: 40px 0;
  margin: 0; }
  .competition-header h2 {
    color: #fff;
    font-size: 2rem;
    font-weight: bold;
    margin: 0; }
    .competition-header h2 span {
      font-size: 1.25rem; }

.competition {
  background-color: #FFF8FB;
  padding: 50px 0; }
  .competition .competition-wrapper {
    background-color: #FFF;
    padding: 15px;
    margin-bottom: 30px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); }
    .competition .competition-wrapper .competition-img {
      width: 100%;
      margin-bottom: 15px; }
    .competition .competition-wrapper .competition-title {
      text-align: left;
      font-size: 1.25rem;
      padding: 10px 0 10px 10px; }
  .competition .txt-intro {
    font-size: 1.25rem;
    text-align: center;
    padding-bottom: 50px; }

.competition-single {
  background-color: #FFF8FB;
  padding: 100px 0; }
  .competition-single .competition-wrapper {
    background-color: #FFF;
    padding: 15px;
    margin-bottom: 50px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); }
    .competition-single .competition-wrapper .competition-img {
      width: 100%;
      margin-bottom: 15px; }
    .competition-single .competition-wrapper .competition-title {
      text-align: left;
      font-size: 1.25rem;
      padding: 10px 0 10px 10px; }
    .competition-single .competition-wrapper p {
      text-align: left; }
  .competition-single .container {
    text-align: center; }

.btn-competition {
  padding: 4px 50px;
  background-color: #f86d94; }
  .btn-competition a {
    font-size: 1.25rem;
    color: #fff; }
