@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+Sans+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-Sans; */

* {
  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 Sans JP", Sans;
  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 Sans JP", Sans;
  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 Sans JP", Sans;
  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 Sans JP", Sans;
  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 Sans JP", Sans;
  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-Sans;
  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 Sans JP", Sans;
  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 Sans JP", Sans;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: rgba(0, 0, 0, 0.4) !important;
}

.menu .search_input:-moz-placeholder {
  font-family: "Noto Sans JP", Sans;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: rgba(0, 0, 0, 0.4) !important;
}

.menu .search_input::-moz-placeholder {
  font-family: "Noto Sans JP", Sans;
  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 Sans JP", Sans;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: rgba(0, 0, 0, 0.4) !important;
}

.menu .search_input::input-placeholder {
  font-family: "Noto Sans JP", Sans;
  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 Sans JP", Sans;
  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-Sans;
  letter-spacing: 0.7px;
  color: #00000099;
  opacity: 1;
  font-size: 14px;
  border-bottom: 2px solid #4aa0b5;
  margin-bottom: 20px;
  width: fit-content;
}

.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 Sans JP", Sans;
  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 Sans JP", Sans;
  font-size: 16px;
  font-weight: 700;
  color: #4aa0b5;
}

.course_price span {
  font-family: "Noto Sans JP", Sans;
  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 Sans JP", Sans;
  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 Sans JP", Sans;
  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 Sans JP", Sans;
  font-size: 24px;
  color: #14bdee;
  font-weight: 700;
  line-height: 0.75;
}

.event_month {
  font-family: "Noto Sans JP", Sans;
  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 Sans JP", Sans;
  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 Sans JP", Sans;
  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 Sans JP", Sans;
  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 Sans JP", Sans;
  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 Sans JP", Sans;
  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 Sans JP", Sans;
  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 Sans JP", Sans;
  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;
}

.courses_search_form {
  width: 100%;
  /*height: 100px;*/
  padding-top: 100px;
}

.courses_search_input {
  width: 171px;
  height: 44px;
  border: solid 1px #d9d9d9;
  /* border-radius: 3px; */
  background: #ffffff;
  padding-left: 20px;
}

.courses_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 Sans JP", Sans;
  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;
}


@media (max-width: 767px) {
  .carousel-caption {
    bottom: 10%;
    font-size: 14px;
    padding: 0 1rem;
  }
  .carousel-caption img {
    width: 20%;  /* ロゴ画像を縮小 */
    height: auto;
  }
  .carousel-caption p {
    font-size: 13px;
    line-height: 1.4;
  }
}

.carousel-caption .content-slide h2 {
  color: #f8f9fa;
  text-shadow: 0 2px 4px rgba(0,0,0,0.2); /* 背景が明るい時の読みやすさ補強 */
}

.carousel-caption .content-slide h3 {
  color: #f8f9fa;
  text-shadow: 0 2px 4px rgba(0,0,0,0.2); /* 背景が明るい時の読みやすさ補強 */
}

/* 1枚目 → 上部中央 */
.slide1 .carousel-caption {
  top: 15%;
  bottom: auto;
  text-align: center;
}

/* 2枚目 → 左寄せ（中央高さ） */
.slide2 .carousel-caption {
  top: 50%;
  left: 10%;
  transform: translateY(-50%);
  text-align: left;
}

/* 3枚目 → 左寄せ（中央高さ） */
.slide3 .carousel-caption {
  top: 50%;
  left: 10%;
  transform: translateY(-50%);
  text-align: left;
}

/* slide2 だけ左寄せ */
.slide2 .carousel-caption {
  text-align: left !important;
  left: 10%;
  right: auto;
}

