@charset "utf-8";
/* CSS Document */

/******************************

[Table of Contents]

1. Fonts
2. Body and some general stuff
3. Header
	3.1 Top Bar
	3.2 Header Content
	3.3 Logo
	3.4 Main Nav
	3.5 Hamburger
4. Menu
5. Section
6. Home
7. Features
8. Courses
9. Counter
10. Events
11. Team
12. News
13. Newsletter
14. Footer



******************************/

/***********
1. Fonts
***********/

@import url("https://fonts.googleapis.com/css?family=Noto+Serif+JP:400,700&display=swap&subset=japanese");
@import url("https://fonts.googleapis.com/css?family=Roboto&display=swap");
/*********************************
2. Body and some general stuff
*********************************/

/* 等線体
font-family: 'Roboto', sans-serif; */

* {
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
  -webkit-text-shadow: rgba(0, 0, 0, 0.01) 0 0 1px;
  text-shadow: rgba(0, 0, 0, 0.01) 0 0 1px;
}

body {
  font-family: "Noto Serif JP", serif;
  font-size: 14px;
  font-weight: 400;
  background: #ffffff;
  color: #a5a5a5;
}

div {
  display: block;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

ul {
  list-style: none;
  margin-bottom: 0px;
}

p {
  font-family: "Noto Serif JP", serif;
  font-size: 14px;
  line-height: 1.85;
  font-weight: 400;
  color: #76777a;
  -webkit-font-smoothing: antialiased;
  -webkit-text-shadow: rgba(0, 0, 0, 0.01) 0 0 1px;
  text-shadow: rgba(0, 0, 0, 0.01) 0 0 1px;
}

p a {
  display: inline;
  position: relative;
  color: inherit;
  border-bottom: solid 1px #ffa07f;
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}

p:last-of-type {
  margin-bottom: 0;
}

a,
a:hover,
a:visited,
a:active,
a:link {
  text-decoration: none;
  -webkit-font-smoothing: antialiased;
  -webkit-text-shadow: rgba(0, 0, 0, 0.01) 0 0 1px;
  text-shadow: rgba(0, 0, 0, 0.01) 0 0 1px;
}

p a:active {
  position: relative;
  color: #ff6347;
}

p a:hover {
  color: #ffffff;
  background: #ffa07f;
}

p a:hover::after {
  opacity: 0.2;
}

::selection {
}

p::selection {
}

h1 {
  font-size: 48px;
}

h2 {
  font-size: 36px;
}

h3 {
  font-size: 24px;
}

h4 {
  font-size: 18px;
}

h5 {
  font-size: 14px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  -webkit-text-shadow: rgba(0, 0, 0, 0.01) 0 0 1px;
  text-shadow: rgba(0, 0, 0, 0.01) 0 0 1px;
  color: #384158;
  margin-bottom: 0;
}

h1::selection,
h2::selection,
h3::selection,
h4::selection,
h5::selection,
h6::selection {
}

.form-control {
  color: #db5246;
}

section {
  display: block;
  position: relative;
  box-sizing: border-box;
}

.clear {
  clear: both;
}

.clearfix::before,
.clearfix::after {
  content: "";
  display: table;
}

.clearfix::after {
  clear: both;
}

.clearfix {
  zoom: 1;
}

.float_left {
  float: left;
}

.float_right {
  float: right;
}

.trans_200 {
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}

.trans_300 {
  -webkit-transition: all 300ms ease;
  -moz-transition: all 300ms ease;
  -ms-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
}

.trans_400 {
  -webkit-transition: all 400ms ease;
  -moz-transition: all 400ms ease;
  -ms-transition: all 400ms ease;
  -o-transition: all 400ms ease;
  transition: all 400ms ease;
}

.trans_500 {
  -webkit-transition: all 500ms ease;
  -moz-transition: all 500ms ease;
  -ms-transition: all 500ms ease;
  -o-transition: all 500ms ease;
  transition: all 500ms ease;
}

.fill_height {
  height: 100%;
}

.super_container {
  width: 100%;
  overflow: hidden;
}

.prlx_parent {
  overflow: hidden;
}

.prlx {
  height: 130% !important;
}

.parallax-window {
  min-height: 400px;
  background: transparent;
}

.nopadding {
  padding: 0px !important;
}

/*********************************
3. Header
*********************************/

.image_header {
  background-image: url("../images/top_back.png");
  display: block;
  position: relative;
  object-fit: cover;
  height: 400px;
  width: 100%;
}

.image_header::after {
  content: "";
  background: rgba(43, 123, 142, 0.15);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}

.header_info {
  position: absolute;
  top: 50%;
  padding-left: 5%;
}

.header_info div:first-child {
  text-align: left;
  font-size: 50px;
  letter-spacing: 3.45px;
  color: rgba(146, 222, 241, 1);
  text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.39);
  text-transform: uppercase;
  opacity: 1;
}

.header_info div:nth-child(2) {
  text-align: left;
  font-size: 18px;
  letter-spacing: 2.7px;
  color: rgba(255, 255, 255, 1);
  opacity: 1;
}

.title {
  text-align: left;
  font-size: 32px;
  letter-spacing: 0;
  color: #000000dd;
  text-transform: uppercase;
  opacity: 1;
  border-bottom: 4px solid #4aa0b5;
  width: fit-content;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.05);
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}

.header.scrolled {
  top: -40px;
}

/*********************************
3.1 Top Bar
*********************************/

.top_bar {
  width: 100%;
  background: #14bdee;
}

.header.scrolled .top_bar {
}

.top_bar_container {
  width: 100%;
  height: 100%;
}

.top_bar_content {
  width: 100%;
  height: 40px;
}

.top_bar_contact_list li {
  display: inline-block;
}

.question {
  font-family: "Noto Serif JP", serif;
  font-size: 14px;
  color: #ffffff;
  margin-left: 0px;
}

.top_bar_contact_list li i,
.top_bar_contact_list li > div {
  display: inline-block;
  font-size: 14px;
  color: #ffffff;
}

.top_bar_contact_list li > div {
  margin-left: 1px;
}

.top_bar_contact_list li:not(:last-child) {
  margin-right: 21px;
}

.top_bar_login {
  height: 100%;
}

.login_button {
  width: 160px;
  height: 100%;
  background: #f3f3f3;
  text-align: center;
}

.login_button a {
  display: block;
  font-size: 14px;
  font-weight: 500;
  line-height: 40px;
  color: #384158;
}

/*********************************
3.2 Header Content
*********************************/

.header_container {
  width: 100%;
  background: #000000de;
}

.header_content {
  height: 90px;
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}

.header.scrolled .header_content {
  height: 80px;
}

/*********************************
3.3 Logo
*********************************/

.logo,
.logo_text {
  display: inline-block;
}

.logo {
  width: 60px;
  height: 60px;
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}

.logo img {
  max-width: 100%;
}

.logo_text {
  font-family: "Noto Serif JP", serif;
  margin-bottom: 4px;
  font-size: 36px;
  font-weight: 700;
  line-height: 0.75;
  color: #384158;
  vertical-align: middle;
  margin-left: 7px;
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}

.logo_text span {
  color: #ffffff;
  font-size: 20px;
  text-transform: uppercase;
}

.header.scrolled .logo {
  width: 40px;
  height: 40px;
}

.header.scrolled .logo_text {
  font-size: 24px;
}

/*********************************
3.4 Main Nav
*********************************/

.sub-menu {
  padding: 0px;
  border-radius: 0px;
  left: -43px;
}

.sub-menu p {
  text-align: left;
  font-size: 15px;
  letter-spacing: 1.2px;
  color: #000000dd !important;
  opacity: 1;
}

.txt-search {
  background: #ffffff 0% 0% no-repeat padding-box;
  border: 1px solid #0000004d;
  border-radius: 3px 0px 0px 3px;
  opacity: 1;
  width: 171px;
  height: 44px;
}

.btn-search {
  background: #b39a6b 0% 0% no-repeat padding-box;
  border-radius: 0px 3px 3px 0px;
  opacity: 1;
  width: 44px;
  height: 44px;
}

.main_nav,
.search_button,
.shopping_cart {
  display: inline-block;
}

.main_nav li {
  display: inline-block;
  position: relative;
}

.main_nav li:not(:last-child) {
  margin-right: 20px;
}

.dropdown-toggle::after {
  content: none;
}

.main_nav li a {
  font-size: 18px;
  font-weight: 500;
  color: #384158;
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}

.main_nav li a:hover,
.main_nav li.active a {
  color: #ffffff;
}

.dropdown-item:hover {
  color: #000000dd !important;
}

.main_nav li a > p {
  color: #ffffff;
}

/***slide***/

.title-slide p {
  color: #92def1;
  font-size: 50px;
  text-transform: uppercase;
  letter-spacing: 3.45px;
  text-shadow: 3px 3px 6px #00000063;
}

.content-slide p {
  font-family: "Roboto", sans-serif;
  color: #ffffff;
  font-size: 16px;
  letter-spacing: 2.4px;
  text-align: center;
  position: absolute;
  left: 18%;
  right: 18%;
}

.carousel-caption {
  position: absolute;
  top: 10%;
}

/*********************************
3.5 Hamburger
*********************************

/*********************************
4. Menu
*********************************/

.menu {
  position: fixed;
  top: 0;
  right: -400px;
  width: 400px;
  height: 100vh;
  background: #ffffff;
  z-index: 101;
  padding-right: 60px;
  padding-top: 87px;
  padding-left: 50px;
}

.menu .logo a {
  color: #000000;
}

.menu.active {
  right: 0;
}

.menu_close_container {
  position: absolute;
  top: 30px;
  right: 60px;
  width: 18px;
  height: 18px;
  transform-origin: center center;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  cursor: pointer;
}

.menu_close {
  width: 100%;
  height: 100%;
  transform-style: preserve-3D;
}

.menu_close div {
  width: 100%;
  height: 2px;
  background: #232323;
  top: 8px;
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}

.menu_close div:last-of-type {
  -webkit-transform: rotate(90deg) translateX(-2px);
  -moz-transform: rotate(90deg) translateX(-2px);
  -ms-transform: rotate(90deg) translateX(-2px);
  -o-transform: rotate(90deg) translateX(-2px);
  transform: rotate(90deg) translateX(-2px);
  transform-origin: center;
}

.menu_close:hover div {
  background: #937c6f;
}

.menu .logo {
  margin-bottom: 60px;
}

.menu_nav ul li {
  margin-bottom: 9px;
}

.menu_nav ul li a {
  font-family: "Noto Serif JP", serif;
  font-size: 14px;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 1);
  font-weight: 700;
  letter-spacing: 0.1em;
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}

.menu_nav ul li a:hover {
  color: #14bdee;
}

.menu .search {
  width: 100%;
  margin-bottom: 67px;
}

.search {
  display: inline-block;
  width: 400px;
  -webkit-transform: translateY(2px);
  -moz-transform: translateY(2px);
  -ms-transform: translateY(2px);
  -o-transform: translateY(2px);
  transform: translateY(2px);
}

.menu .header_search_form {
  width: 100%;
}

.search form {
  position: relative;
}

.menu .search_input {
  width: 100%;
  height: 40px;
  background: rgba(0, 0, 0, 0.1);
  border-radius: 3px;
  border: none;
  outline: none;
  padding-left: 15px;
  color: rgba(0, 0, 0, 0.5);
}

.menu .search_input::-webkit-input-placeholder {
  font-family: "Noto Serif JP", serif;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: rgba(0, 0, 0, 0.4) !important;
}

.menu .search_input:-moz-placeholder {
  font-family: "Noto Serif JP", serif;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: rgba(0, 0, 0, 0.4) !important;
}

.menu .search_input::-moz-placeholder {
  font-family: "Noto Serif JP", serif;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: rgba(0, 0, 0, 0.4) !important;
}

.menu .search_input:-ms-input-placeholder {
  font-family: "Noto Serif JP", serif;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: rgba(0, 0, 0, 0.4) !important;
}

.menu .search_input::input-placeholder {
  font-family: "Noto Serif JP", serif;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: rgba(0, 0, 0, 0.4) !important;
}

/*********************************
5. Section
*********************************/

.section_title_container {
  max-width: 600px;
  width: fit-content;
  margin: 0 auto;
}

.section_title {
  line-height: 1.2;
}

.section_subtitle {
  line-height: 1.85;
  border-bottom: 2px solid #4aa0b5;
  /* margin-top: 14px; */
}

.section_background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*********************************
6. Home
*********************************/

.home {
  width: 100%;
  /* height: 850px; */
}

.home_slider_container {
  width: 100%;
  height: 100%;
}

.home_slider {
  width: 100%;
  height: 100%;
}

.home_slider_background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

.home_slider_content {
  position: absolute;
  top: 41%;
  left: 0;
  width: 100%;
  height: auto;
}

.home_slider_title {
  font-family: "Noto Serif JP", serif;
  font-size: 60px;
  font-weight: 700;
  line-height: 1.2;
  color: #384158;
}

.home_slider_subtitle {
  font-size: 24px;
  color: #76777a;
  margin-top: 9px;
}

.home_slider_form_container {
  width: 832px;
  margin: 0 auto;
  margin-top: 35px;
}

.home_title {
  letter-spacing: 3.2px;
  color: #000000;
  text-transform: uppercase;
  font-size: 32px;
}

.home_title_sub {
  font-family: "Roboto", sans-serif;
  letter-spacing: 0.7px;
  color: #00000099;
  opacity: 1;
  font-size: 14px;
  border-bottom: 2px solid #4aa0b5;
  margin-bottom: 20px;
  width: fit-content;
}

/* pagination */
.news-pagination {
  display: flex;
  justify-content: center;
  margin: 40px 0 0;
}

.news-pagination .page-numbers {
  display: inline-block;
  margin-right: 20px;
  padding: 13px 20px;
  color: #707070;
  border-radius: 3px;
  border: #707070 solid 1px;
  background: #fff;
}

@media screen and (max-width: 768px) {
  .news-pagination .page-numbers {
    margin-right: 10px;
    padding: 8px 15px;
  }
}

.news-pagination .current {
  padding: 13px 20px;
  background: #707070;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .news-pagination .current {
    padding: 8px 15px;
  }
}

.news-pagination .prev {
  padding: 13px 20px;
  background: transparent;
  color: #707070;
}

@media screen and (max-width: 768px) {
  .news-pagination .prev {
    padding: 8px 15px;
  }
}

.news-pagination .next {
  padding: 13px 20px;
  background: transparent;
  color: #707070;
}

@media screen and (max-width: 768px) {
 .news-pagination .next {
    padding: 8px 15px;
  }
}

.news-pagination .dots {
  background: transparent;
  box-shadow: none;
  border: none;
}

/* pagination */

.calendar_border {
  width: 100px;
  height: 100px;
  background: #555555 0% 0% no-repeat padding-box;
  opacity: 1;
}

.calendar_border_1 {
  width: 89px;
  height: 89px;
  top: 5px;
  left: 5px;
  border: 1px solid #ffffff;
  opacity: 1;
}

.calendar_border_1 > .calendar_month {
  letter-spacing: 0.6px;
  color: #ffffff;
  opacity: 1;
  font-size: 12px;
  text-align: center;
  padding-top: 10px;
}

.calendar_border_1 .calendar_day > span:first-child {
  font-size: 40px;
  letter-spacing: 0;
  color: #ffffff;
  opacity: 1;
  text-align: center;
}

.calendar_border_1 .calendar_day {
  text-align: center;
  padding-bottom: 10px;
}

.calendar_news_border {
  width: 110px;
  height: 110px;
  background: #555555 0% 0% no-repeat padding-box;
  opacity: 1;
}

.calendar_news_border_1 {
  width: 100px;
  height: 100px;
  top: 5px;
  left: 5px;
  border: 1px solid #ffffff;
  opacity: 1;
}

.calendar_news_border_1 > .calendar_month {
  letter-spacing: 0.6px;
  color: #ffffff;
  opacity: 1;
  font-size: 12px;
  text-align: center;
  padding-top: 15px;
}

.calendar_news_border_1 .calendar_day > span:first-child {
  font-size: 40px;
  letter-spacing: 0;
  color: #ffffff;
  opacity: 1;
  text-align: center;
}

.calendar_news_border_1 .calendar_day {
  text-align: center;
  margin-top: 10px;
  color: #ffffff;
}

.calendar_hour {
  width: 110px;
  height: 35px;
  background-color: #b39a6b;
  color: #ffffff;
  font-size: 14px;
  text-align: center;
  margin-top: 8px;
  padding-top: 7px;
}

.news_post_content {
  text-align: left;
  font-size: 15px;
  letter-spacing: 0.23px;
  color: #00000099;
  opacity: 1;
  padding-top: 10px;
}

.news_post_row {
  margin-top: 10px;
}

.dropdown_item_select {
  position: relative;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
  -webkit-box-shadow: 0px 0px 0px rgba(0, 0, 0, 0);
  -webkit-user-select: none;
  background-image: url(../images/down.png);
  background-position: center right;
  background-repeat: no-repeat;
  padding-right: 20px;
  padding-left: 20px;
}

.campus_title > a {
  text-align: left;
  font-size: 18px;
  letter-spacing: 1.44px;
  color: rgba(0, 0, 0, 0.87);
  opacity: 1;
  font-weight: bold;
}

.campus_title {
  height: 2.3em;
}

.home_slider_nav {
  position: absolute;
  top: 55.8%;
  width: 50px;
  background: #b6b7bd;
  border-radius: 50%;
  text-align: center;
  z-index: 10;
  cursor: pointer;
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}

.home_slider_prev {
  left: 75px;
}

.home_slider_next {
  right: 75px;
}

.home_slider_nav i {
  line-height: 50px;
  color: #ffffff;
  font-size: 22px;
}

.home_slider_nav:hover {
  background: #14bdee;
}

/*********************************
7. Features
*********************************/

.features {
  width: 100%;
  background: #ffffff;
  /* padding-top: 93px; */
  padding-bottom: 103px;
}

.features_row {
  margin-top: 55px;
}

.feature {
  width: 100%;
  padding-top: 30px;
  padding-bottom: 28px;
  padding-left: 15px;
  padding-right: 15px;
  background: #ffffff;
}

.feature:hover {
  box-shadow: 0px 5px 40px rgba(29, 34, 47, 0.15);
}

.feature_icon {
  height: 55px;
}

.feature_icon img {
  max-width: 100%;
}

.feature_title {
  position: relative;
  font-size: 20px;
  margin-top: 23px;
}

/*********************************
8. Courses
*********************************/

.courses {
  width: 100%;
  padding-top: 30px;
  padding-bottom: 60px;
}

.courses_row {
  margin-top: 25px;
}

.course {
  width: 100%;
  border-radius: 6px;
  background: #ffffff;
  box-shadow: 0px 1px 10px rgba(29, 34, 47, 0.1);
}

.course_image {
  width: 100%;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
  overflow: hidden;
}

.course_image img {
  max-width: 100%;
  height: auto;
}

.course_body {
  padding-top: 22px;
  padding-left: 30px;
  padding-right: 30px;
  padding-bottom: 23px;
}

.course_title a {
  font-family: "Noto Serif JP", serif;
  font-size: 22px;
  color: #000000dd;
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}

.course_title {
  height: 2.3em;
}

.course_title a:hover {
  color: #14bdee;
}

.course_teacher {
  font-size: 15px;
  font-weight: 400;
  color: #384158;
  margin-top: 6px;
}

.course_text {
  margin-top: 13px;
  height: 2.3em;
}

.course_footer {
  padding-left: 30px;
  padding-right: 30px;
}

.course_footer_content {
  width: 100%;
  /* border-top: solid 1px #e5e5e5; */
  padding-top: 9px;
  padding-bottom: 11px;
}

.campus_footer {
  padding-left: 30px;
  padding-right: 30px;
}

.campus_footer_content {
  width: 100%;
  /* border-top: solid 1px #e5e5e5; */
  padding-top: 9px;
  padding-bottom: 11px;
}

.campus_footer_content > span {
  text-align: left;
  font-size: 15px;
  letter-spacing: 0.45px;
  color: rgba(0, 0, 0, 0.6);
  opacity: 1;
  margin-left: 5px;
}

.campus_footer_content > img {
  margin-left: auto !important;
}

.course_info {
  display: inline-block;
  font-size: 14px;
  font-weight: 400;
  color: #55555a;
}

.course_info:first-child {
  margin-right: 18px;
}

.course_info i {
  color: #ffc80a;
}

.course_price {
  font-family: "Noto Serif JP", serif;
  font-size: 16px;
  font-weight: 700;
  color: #4aa0b5;
}

.course_price span {
  font-family: "Noto Serif JP", serif;
  font-size: 14px;
  font-weight: 400;
  text-decoration: line-through;
  color: #b5b8be;
  margin-right: 10px;
}

.courses_button {
  width: 210px;
  height: 46px;
  border-radius: 3px;
  background: #14bdee;
  text-align: center;
  margin: 0 auto;
  margin-top: 41px;
  box-shadow: 0px 5px 40px rgba(29, 34, 47, 0.15);
}

.courses_button:hover {
  box-shadow: 0px 5px 40px rgba(29, 34, 47, 0.45);
}

.courses_button a {
  display: block;
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
  line-height: 46px;
  color: #ffffff;
}

/*********************************
9. Counter
*********************************/

.counter {
  width: 100%;
  background: #ffffff;
  z-index: 2;
}

.counter_background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

.counter_background::before {
  content: "";
  background: rgba(43, 123, 142, 0.75);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.counter_content {
  padding-top: 20px;
  padding-bottom: 50px;
}

.counter_title {
  font-family: "Noto Serif JP", serif;
  color: #ffffff;
  font-weight: 700;
}

.counter_text {
  margin-top: 19px;
}

.counter_text p {
  color: #ffffff;
}

.milestones {
  margin-top: 39px;
}

.milestone {
  text-align: center;
  width: 200px;
}

.milestone:not(:first-child)::after {
  display: block;
  position: absolute;
  top: 10px;
  width: 1px;
  left: 0;
  height: 70px;
  background: #ffffff;
  content: "";
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
}

.milestone_counter > p {
  font-size: 14px;
  letter-spacing: 2.8px;
  color: #ffffff;
  opacity: 1;
  text-align: center;
}

.milestone_counter > img {
  margin-bottom: 30px;
}

.milestone_number {
  text-align: left;
  font-size: 40px;
  letter-spacing: 2px;
  color: #ffffff;
  opacity: 1;
}

.milestone_count {
  text-align: left;
  color: #ffffff;
}

.milestone_text {
  font-size: 16px;
  font-weight: 400;
  color: #ffffff;
  text-transform: uppercase;
  margin-top: 14px;
}

.counter_form {
  position: absolute;
  top: 0;
  right: 30px;
  width: 380px;
  height: 100%;
  background: #ffffff;
  padding-left: 40px;
  padding-right: 40px;
  box-shadow: 0px 5px 40px rgba(29, 34, 47, 0.15);
}

.counter_form_content {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}

.counter_form_title {
  font-family: "Noto Serif JP", serif;
  font-size: 24px;
  font-weight: 700;
  color: #384158;
  text-transform: uppercase;
  line-height: 0.75;
  margin-bottom: 41px;
}

.counter_input {
  width: 100%;
  height: 46px;
  border: solid 1px #e5e5e5;
  border-radius: 3px;
  padding-left: 20px;
  outline: none;
  color: #384158;
  font-size: 14px;
}

.counter_input:not(:last-child) {
  margin-bottom: 10px;
}

.counter_text_input {
  height: 90px;
  padding-top: 10px;
}

.counter_options {
  position: relative;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
  -webkit-box-shadow: 0px 0px 0px rgba(0, 0, 0, 0);
  -webkit-user-select: none;
  background-image: url(../images/down.png);
  background-position: center right;
  background-repeat: no-repeat;
}

.counter_input::-webkit-input-placeholder,
.counter_text_input::-webkit-input-placeholder {
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #b5b8be !important;
}

.counter_input:-moz-placeholder,
.counter_text_input:-moz-placeholder {
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #b5b8be !important;
}

.counter_input::-moz-placeholder,
.counter_text_input::-moz-placeholder {
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #b5b8be !important;
}

.counter_input:-ms-input-placeholder,
.counter_text_input:-ms-input-placeholder {
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #b5b8be !important;
}

.counter_input::input-placeholder,
.counter_text_input::input-placeholder {
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #b5b8be !important;
}

.counter_form_button {
  width: 100%;
  height: 46px;
  color: #ffffff;
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
  border: none;
  outline: none;
  background: #14bdee;
  cursor: pointer;
  margin-top: 30px;
  box-shadow: 0px 5px 40px rgba(29, 34, 47, 0.15);
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}

.counter_form_button:hover {
  box-shadow: 0px 5px 40px rgba(29, 34, 47, 0.45);
}

/*********************************
10. Events
*********************************/

.events {
  width: 100%;
  padding-top: 93px;
  padding-bottom: 70px;
  background: #ffffff;
}

.events_row {
  margin-top: 47px;
}

.event_left {
  padding-right: 20px;
}

.event_mid {
  padding-left: 10px;
  padding-right: 10px;
}

.event_right {
  padding-left: 20px;
}

.event_image {
  width: 100%;
  border-radius: 5px;
  overflow: hidden;
}

.event_image img {
  max-width: 100%;
}

.event_body {
  padding-top: 30px;
  padding-bottom: 30px;
}

.event_date {
  box-shadow: 0px 1px 10px rgba(29, 34, 47, 0.1);
}

.event_date > div {
  width: 60px;
  height: 60px;
}

.event_day {
  font-family: "Noto Serif JP", serif;
  font-size: 24px;
  color: #14bdee;
  font-weight: 700;
  line-height: 0.75;
}

.event_month {
  font-family: "Noto Serif JP", serif;
  font-size: 14px;
  color: #14bdee;
  font-weight: 400;
  line-height: 0.75;
  margin-top: 9px;
}

.event:hover .event_date > div {
  background: #14bdee;
}

.event:hover .event_day,
.event:hover .event_month {
  color: #ffffff;
}

.event_content {
  padding-left: 20px;
}

.event_title a {
  font-family: "Noto Serif JP", serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  color: #384158;
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}

.event_title a:hover {
  color: #14bdee;
}

.event_info_container {
  margin-top: 11px;
}

.event_info {
  display: inline-block;
  color: #b5b8be;
  font-size: 14px;
}

.event_info:not(:last-child) {
  margin-right: 17px;
}

.event_info span {
  margin-left: 4px;
}

.event_text {
  margin-top: 12px;
}

/*********************************
11. Team
*********************************/

.team {
  width: 100%;
  padding-top: 93px;
  padding-bottom: 60px;
}

.team_background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.team_row {
  margin-top: 43px;
}

.team_col {
  margin-bottom: 40px;
}

.team_item {
  width: 100%;
}

.team_image {
  width: 180px;
  height: 160px;
  border-radius: 6px;
  overflow: hidden;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: -86px;
  z-index: 5;
}

.team_image img {
  max-width: 100%;
}

.team_body {
  width: 100%;
  padding-top: 108px;
  padding-bottom: 24px;
  background: #ffffff;
  border-radius: 6px;
  box-shadow: 0px 1px 10px rgba(29, 34, 47, 0.1);
  text-align: center;
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}

.team_item:hover .team_body {
  box-shadow: 0px 5px 40px rgba(29, 34, 47, 0.15);
}

.team_title a {
  font-family: "Noto Serif JP", serif;
  font-size: 20px;
  font-weight: 700;
  color: #384158;
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}

.team_title a:hover {
  color: #14bdee;
}

.team_subtitle {
  font-size: 14px;
  font-weight: 400;
  color: #76777a;
  margin-top: 6px;
}

.social_list {
  margin-top: 16px;
}

.social_list ul li {
  display: inline-block;
}

.social_list ul li:not(:last-child) {
  margin-right: 10px;
}

.social_list ul li a i {
  font-size: 18px;
  color: #76777a;
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}

.social_list ul li:hover a i {
  color: #14bdee;
}

.team_col .team_item {
  padding-left: 6px;
  padding-right: 6px;
}

.team_col:first-child .team_item {
  padding-left: 0;
  padding-right: 6px;
}

.team_col:nth-child(4n) .team_item {
  padding-left: 6px;
  padding-right: 0;
}

/*********************************
12. News
*********************************/

.news {
  width: 100%;
  padding-bottom: 30px;
  background: #ffffff;
}

.news_row {
  margin-top: 55px;
}

.news_post_large_container {
  padding-right: 30px;
}

.news_post_large {
  width: 100%;
}

.news_post_image {
  width: 100%;
  border-radius: 6px;
  overflow: hidden;
}

.news_post_image img {
  max-width: 100%;
}

.news_post_large_title {
  margin-top: 23px;
}

.news_post_large_title a {
  font-family: "Noto Serif JP", serif;
  font-size: 20px;
  font-weight: 700;
  color: #384158;
  line-height: 1.4;
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}

.news_post_large_title a:hover {
  color: #14bdee;
}

.news_post_meta {
  margin-top: 11px;
}

.news_post_meta ul li {
  display: inline-block;
  position: relative;
}

.news_post_meta ul li:not(:last-of-type)::after {
  display: inline-block;
  position: relative;
  content: "|";
  margin-left: 14px;
  margin-right: 11px;
}

.news_post_meta ul li a {
  font-size: 14px;
  font-weight: 400;
  color: #b5b8be;
  letter-spacing: 0.7px;
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}

.news_post_meta ul li a:hover {
  color: #14bdee;
}

.news_post_text {
  margin-top: 13px;
}

.news_post_link {
  margin-top: 19px;
}

.news_post_link a {
  font-size: 14px;
  font-weight: 400;
  text-transform: uppercase;
  color: #384158;
  text-decoration: underline;
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}

.news_post_link a:hover {
  color: #14bdee;
}

.news_posts_small {
  margin-top: -6px;
}

.news_post_small:not(:last-child) {
  padding-bottom: 10px;
  border-bottom: solid 2px #e5e5e5;
}

.news_post_small_title a {
  font-family: "Noto Serif JP", serif;
  font-size: 17px;
  letter-spacing: 0.51px;
  font-weight: bold;
  line-height: 1.55;
  color: #000000dd;
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}

.news_post_small_title a:hover {
  color: #14bdee;
}

.news_post_small_title {
  margin-top: 10px;
}

/*********************************
13. Newsletter
*********************************/

.newsletter {
  width: 100%;
}

.newsletter_background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.newsletter_container {
  width: 100%;
  height: 120px;
}

.newsletter_title {
  font-family: "Noto Serif JP", serif;
  font-size: 20px;
  font-weight: 700;
  text-transform: uppercase;
  color: #ffffff;
}

.newsletter_subtitle {
  font-size: 14px;
  font-weight: 400;
  color: #ffffff;
  margin-top: 6px;
}

.newsletter_form_container {
  width: 450px;
  padding-left: 20px;
}

.newsletter_form {
  display: block;
  position: relative;
  width: 100%;
}

.newsletter_input {
  width: calc(100% - 136px);
  height: 40px;
  background: rgba(255, 255, 255, 0.4);
  border: none;
  outline: none;
  padding-left: 20px;
  color: #ffffff;
  border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
}

.newsletter_input::-webkit-input-placeholder {
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #ffffff !important;
}

.newsletter_input:-moz-placeholder {
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #ffffff !important;
}

.newsletter_input::-moz-placeholder {
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #ffffff !important;
}

.newsletter_input:-ms-input-placeholder {
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #ffffff !important;
}

.newsletter_input::input-placeholder {
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #ffffff !important;
}

.newsletter_button {
  width: 136px;
  height: 40px;
  background: #ffffff;
  border-radius: 3px;
  border: none;
  outline: none;
  cursor: pointer;
  font-size: 14px;
  text-transform: uppercase;
  color: #14bdee;
  font-weight: 500;
  letter-spacing: 0.1em;
}

/*********************************
14. Footer
*********************************/

.footer {
  display: block;
  position: relative;
  width: 100%;
  background: #000000;
  padding-top: 60px;
}

.footer_content {
  padding-bottom: 53px;
}

.footer_logo_text {
  font-family: "Noto Serif JP", serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 0.75;
  margin-top: 5px;
  color: #ffffff;
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
  text-transform: uppercase;
}

.footer_title {
  font-family: "Noto Serif JP", serif;
  font-size: 18px;
  font-weight: 700;
  color: #ffffff;
  line-height: 0.75;
}

.footer_logo_container {
  margin-top: -14px;
}

.footer_about_text {
  margin-top: 31px;
}

.footer_about_text p {
  color: #ffffff;
}

.footer_social {
  border-right: 1px solid #ffffff;
}

.footer_social ul li:first-child {
  display: inline-block;
  width: 45px;
  height: 45px;
  background: #3fc1f2;
  border-radius: 50%;
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}

.footer_social ul li:last-child {
  display: inline-block;
  width: 45px;
  height: 45px;
  background: #4a6eb9;
  border-radius: 50%;
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}

.footer_social ul li:not(:last-child) {
  margin-right: 6px;
}

.footer_social ul li a {
  display: block;
  position: relative;
  text-align: center;
}

.footer_social ul li:first-child a i {
  color: #ffffff;
  line-height: 50px;
  font-size: 20px;
}

.footer_social ul li:last-child a i {
  color: #000000;
  line-height: 60px;
  font-size: 37px;
}

.footer_social ul {
  display: inline-flex;
}

.footer_social ul li:hover {
  /*background: #14bdee;*/
}

.footer_contact {
  padding-left: 36px;
}

.footer_contact_info {
  margin-top: 33px;
  border-right: 1px solid #ffffff;
  padding-bottom: 23px;
}

.footer_contact_info ul li {
  font-size: 15px;
  font-weight: 400;
  color: #ffffff;
}

.footer_contact_info ul li span {
  color: #ffffff99;
}

.footer_contact_info > div {
  color: #ffffff;
  font-size: 15px;
}

.footer_contact_info ul li:not(:last-child) {
  margin-top: 15px;
}

.footer_links {
  padding-left: 40px;
}

.footer_links_container ul {
  /* columns: 2; */
  /* -webkit-columns: 2; */
  /* -moz-columns: 2; */
}

.footer_links_container {
  margin-top: 85px;
}

.footer_links_container ul li a {
  font-size: 14px;
  color: #b5b8be;
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}

.footer_links_container ul li:not(:last-child) {
  margin-bottom: 10px;
}

.footer_links_container ul li a:hover {
  color: #14bdee;
}

.footer_mobile {
  display: inline-block;
  float: right;
}

.footer_mobile_content {
  padding-top: 35px;
}

.footer_image:not(:last-child) {
  margin-bottom: 10px;
}

.copyright {
  background-color: #222222;
  height: 40px;
  border-top: solid 1px #353a49;
}

.cr_list li {
  display: inline-block;
}

.copyright div {
  font-size: 12px;
  color: #b5b8be;
  text-transform: uppercase;
  width: 100%;
  text-align: center;
}

.cr_text a {
  color: #ffffff;
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}

.cr_text a:hover {
  color: #14bdee;
}

.cr_list li:not(:last-child) {
  margin-right: 50px;
}

.cr_list li a {
  font-size: 14px;
  color: #b5b8be;
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}

.cr_list li a:hover {
  color: #14bdee;
}

/**sidebar */

.sidebar {
  width: 100%;
  padding-left: 54px;
}

.sidebar_search {
  width: 100%;
  /*height: 100px;*/
  /* padding-top: 100px; */
}

.sidebar_search input {
  width: 171px;
  height: 44px;
  border: solid 1px #d9d9d9;
  /* border-radius: 3px; */
  background: #ffffff;
  padding-left: 20px;
}

.sidebar_search button {
  width: 44px;
  height: 44px;
  background: #b39a6b;
  color: #ffffff;
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
  border: none;
  outline: none;
  /* border-radius: 3px; */
  cursor: pointer;
}

.category_title div {
  width: 70px;
}

.category_title h2 {
  text-align: left;
  font-size: 22px;
  letter-spacing: 2.2px;
  color: #000000;
  text-transform: uppercase;
  opacity: 1;
}

.category_title {
  margin: unset;
}

.sidebar_categories {
  margin-top: 16px;
}

.sidebar_categories ul li {
  position: relative;
  border-bottom: solid 1px #0000004c;
  width: fit-content;
  height: 51px;
}

.sidebar_categories ul li a {
  display: block;
  position: relative;
  font-size: 14px;
  color: #000000;
  letter-spacing: 1.12px;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 51px;
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}

.sidebar_categories ul li a::before {
  display: inline-block;
  position: relative;
  font-family: "FontAwesome";
  content: "\f101";
  margin-right: 4px;
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}

.category {
  margin-top: 50px;
}

.tab_panel_title {
  text-align: left;
  font-size: 32px;
  letter-spacing: 0;
  color: #000000dd;
  text-transform: uppercase;
  opacity: 1;
  border-bottom: 4px solid #4aa0b5;
  width: fit-content;
  margin-bottom: 30px;
  margin-top: 30px;
  font-weight: 700;
}

.tab_panel_header_title {
  text-align: left;
  font-size: 20px;
  letter-spacing: 0.4px;
  color: #000000dd;
  opacity: 1;
  font-weight: 700;
}

.tab_panel_content {
  margin-top: 30px;
}

.tab_panel_text {
  padding-top: 40px;
  padding-bottom: 50px;
}

.social_share {
  padding-bottom: 40px;
  padding-top: 5px;
  float: right;
}

.read_continue > button {
  background: #4aa0b5 0% 0% no-repeat padding-box;
  border-radius: 3px;
  opacity: 1;
  width: 150px;
  height: 40px;
  border: none;
  font-size: 16px;
  color: #ffffff;
  float: right;
  margin: 10px 0 10px 0;
}

.news_title > a {
  text-align: left;
  font-size: 20px;
  letter-spacing: 0.6px;
  color: #000000dd;
  opacity: 1;
  font-weight: bold;
}

.news_detail_title {
  text-align: left;
  font-size: 24px;
  letter-spacing: 0.72px;
  color: #000000dd;
  font-weight: bold;
  margin-top: 10px;
}

.news_time {
  padding: 15px 40px;
  margin: 20px 0px;
  background: #f0f0f0 0% 0% no-repeat padding-box;
  border-radius: 5px;
}

.news_post_meta {
  text-align: left;
  font-size: 14px;
  letter-spacing: 0.28px;
  color: #00000099;
  font-weight: 600;
}

.news_time span {
  text-align: left;
  font-size: 14px;
  letter-spacing: 0;
  color: #000000dd;
  margin-left: 15px;
  font-weight: bold;
}

.news_time div {
  padding: 5px;
}

.image_campus > img {
  height: 128px;
  width: 147px;
  margin-bottom: 35px;
}

.campus_content {
  height: 132px;
}

.contact_form {
  background: #f1f1f199 0% 0% no-repeat padding-box;
  opacity: 1;
  margin-bottom: 30px;
}

.contact_form > form {
  padding: 20px;
}

.input_title {
  padding-top: 30px;
}

.input_title h4 {
  font-weight: bold;
}

.submit_form {
  margin-top: 30px;
  width: 140px;
  height: 48px;
  background: #0000004c 0% 0% no-repeat padding-box;
  border-radius: 3px;
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
}

.news_post_small_header {
  text-align: left;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 0;
  color: #000000dd;
  text-transform: uppercase;
}

.timeline {
  --uiTimelineMainColor: var(--timelineMainColor, #222);
  --uiTimelineSecondaryColor: var(--timelineSecondaryColor, #fff);
  position: relative;
  padding-bottom: 3rem;
}

.timeline:before {
  content: "";
  width: 4px;
  height: 90%;
  background-color: var(--uiTimelineMainColor);
  position: absolute;
  top: 35px;
}

.timeline__content div {
  text-align: left;
  font-size: 18px;
  letter-spacing: 0;
  color: #000000dd;
  opacity: 1;
  font-weight: bold;
}

.timeline__group {
  position: relative;
}

.timeline__group:not(:first-of-type) {
  margin-top: 4rem;
}

.timeline__year {
  padding: 0.5rem 1.5rem;
  color: var(--uiTimelineSecondaryColor);
  background-color: var(--uiTimelineMainColor);
  position: absolute;
  left: 0;
  top: 0;
}

.timeline__box {
  position: relative;
}

.timeline__box:not(:last-of-type) {
  margin-bottom: 30px;
}

.timeline__box:before {
  content: "";
  font-family: "Noto Serif JP", serif;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2em;
  height: 2em;
  background-color: #4aa0b5;
  border: 0.2em solid white;
  border-radius: 50%;
  position: absolute;
  text-shadow: 0 1px 0 #424242;
  left: 86px;
}

.timeline__box::after {
  content: "";
  width: 4%;
  height: 5px;
  border-bottom: 2px dotted #4aa0b5;
  position: absolute;
  top: 47%;
  left: 7.5em;
  z-index: 0;
}

.timeline__date {
  min-width: 65px;
  position: absolute;
  left: 0;
  box-sizing: border-box;
  padding: 0.5rem 1.5rem;
  text-align: center;
  background-color: var(--uiTimelineMainColor);
  color: var(--uiTimelineSecondaryColor);
}

.timeline__day {
  font-size: 2rem;
  font-weight: 700;
  display: block;
}

.timeline__month {
  display: block;
  font-size: 0.8em;
  text-transform: uppercase;
}

.timeline__post {
  padding: 1.5rem 2rem;
  border-radius: 2px;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 1px 2px 0 rgba(0, 0, 0, 0.24);
  background-color: #f1f1f19c;
}

.timeline:before {
  left: 100px;
}

.timeline__group {
  margin-top: 55px;
}

.timeline__box {
  padding-left: 170px;
}

.timeline__box:before {
  top: 50%;
  transform: translateY(-50%);
}

.timeline__box span {
  top: 40%;
  position: absolute;
  left: 0;
  color: #000000dd;
  font-weight: bold;
  text-align: left;
  font-size: 22px;
}

.timeline__date {
  top: 50%;
  margin-top: -27px;
}

.timeline {
  --timelineMainColor: #0000004c;
  font-size: 16px;
}

.toggle-menu {
  color: #ffffff;
}

.content-body {
  padding-left: 5%;
}

.tab_panels {
  padding-right: 5%;
}

.footer_row {
  padding: 0px 5%;
}

.course_col {
  margin-bottom: 45px;
}

.counter-content {
  padding-left: 10%;
  padding-right: 10%;
}

.content-image {
  margin-top: 10px;
}

.content-image img {
  width: 100%;
  height: 350px;
}
