@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. Accsess
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/css2?family=Akshar:wght@300..700&family=Noto+Serif+JP:wght@200..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Akshar:wght@300..700&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap");

/* @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: "Akshar", sans-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 Sans JP", sans-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 #2B9696;
  -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: #2B9696;
}

p a:hover {
  color: #ffffff;
  background: #2B9696;
}

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-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: #2B9696;
}

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/scott-graham1800_501.png");
  display: block;
  position: relative;
  object-fit: contain;
  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: #b4b4b3;
  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 #1A6171;
  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: #1A6171;
}

.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: #F6F6F6 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: #F6F6F6;
  -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;
}

/* Bootstrap対応の修正CSS - !importantを最小限に */

.carousel-caption {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  width: auto;
  padding: 0;
}

/* スマホでも表示されるように */
.carousel-caption.d-block {
  display: block !important; /* これだけ!important */
}

.title-slide p {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "Times New Roman", serif;
  font-weight: 600;
  color: #ffffff;
  font-size: clamp(26px, 4.2vw, 38px);
  letter-spacing: 4px;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.8);
  margin: 15px 0;
  line-height: 1.4;
  white-space: nowrap; /* 折り返しを防ぐ */
}

.content-slide p {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "Times New Roman", serif;
  font-weight: 400;
  color: #ffffff;
  font-size: clamp(13px, 2.3vw, 16px);
  letter-spacing: 2px;
  text-shadow: 1px 1px 3px rgba(0,0,0,0.8);
  margin: 12px 0;
}

.carousel-caption img {
  display: block;
  margin: 0 auto 12px auto;
  max-width: 120px;
  opacity: 0.9;
}

/* Bootstrapのレスポンシブと協調 */
@media (max-width: 575.98px) {
  .title-slide p {
    font-size: 16px; /* さらに小さく */
    letter-spacing: 1px; /* 文字間隔も狭く */
    margin: 10px 0;
    line-height: 1.2; /* 行間も詰める */
    white-space: nowrap; /* 折り返しを防ぐ */
  }
  
  .content-slide p {
    font-size: 10px; /* 小さく */
    letter-spacing: 1px; /* 文字間隔を狭く */
    margin: 8px 0;
    white-space: nowrap; /* 折り返しを防ぐ */
  }
  
  .carousel-caption img {
    max-width: 80px;
    margin-bottom: 8px;
  }
}

@media (min-width: 576px) and (max-width: 991.98px) {
  .title-slide p {
    font-size: 24px;
    letter-spacing: 3px;
  }
  
  .content-slide p {
    font-size: 14px;
    letter-spacing: 1.8px;
  }
  
  .carousel-caption img {
    max-width: 100px;
  }
}

/*.title-slide p {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", "Meiryo", sans-serif;
  font-weight: 600;
  color: #ffffff;
  font-size: 36px;
  letter-spacing: 3px;
  text-shadow: 
      1px 1px 0px rgba(0,0,0,1),
      3px 3px 6px rgba(0,0,0,0.6);
  margin: 20px 0;
  line-height: 1.4;
}

.content-slide p {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  font-weight: 400;
  color: #ffffff;
  font-size: 16px;
  letter-spacing: 2.5px;
  margin: 18px 0;
  text-shadow: 1px 1px 3px rgba(0,0,0,0.8);
  opacity: 0.95;
}

.carousel-caption {
  position: absolute !important;
  top: 50% !important;
  left: 8% !important; /* 左から8%の位置 
  right: auto !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  text-align: left !important;
  width: auto !important;
  max-width: 500px; /* 最大幅を制限 
}*/



/***slide***/

/*.title-slide p {
  font-family: "Akshar", sans-serif;
  font-weight:bold;
  color: #ffffff;
  font-size: 40px;
  letter-spacing: 3.45px;
  text-shadow: 3px 3px 6px #00000063;
  margin: 20px 0; 
  text-align: center; 

}

.content-slide p {
  font-family: "Akshar", sans-serif;
  color: #ffffff;
  font-size: 16px;
  letter-spacing: 2.4px;
  text-align: center;
  margin: 20px 0; /* 上下のマージンを追加 */
  /*position: absolute;
  left: 18%;
  right: 18%;
}

.carousel-caption {
  /*position: absolute;
  top: 10%;
  display: block;
  margin: 0 auto 20px auto; /* 中央揃え + 下マージン 

}*/

/*********************************
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: #F6F6F6;
}

.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 #1A6171;
  /* 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%;
  margin-top: 30px; /* ヘッダーの高さ分調整 */
}

.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 #2B9696;
  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: #2B9696;
}

/*********************************
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: #2B9696;
}

.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. Access
*********************************/
/* アクセスセクション 完全版CSS */

/* 元のCSSを維持 */
.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_content {
  padding-top: 20px;
  padding-bottom: 50px;
}

.counter_title {
  font-family: "Akshar", sans-serif;
  font-size: 30px;
  color: #b4b4b3;
  font-weight: 500;
}

.counter_text {
  margin-top: 19px;
}

.counter_text p {
  color: #b4b4b3;
}

.milestones {
  margin-top: 39px;
}

.milestone {
  text-align: left;
  width: 200px;
}

.milestone:not(:first-child)::after {
  display: block;
  position: absolute;
  top: 10px;
  width: 1px;
  left: 0;
  height: 70px;
  background: #b4b4b3;
  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: #1A6171;
  opacity: 1;
  text-align: left;
}

.milestone_counter > img {
  margin-bottom: 30px;
}

.milestone_number {
  text-align: left;
  font-size: 30px;
  letter-spacing: 2px;
  color: #1a6171;
  opacity: 1;
}

/* レスポンシブ追加 */
@media (max-width: 767px) {
  
  .counter_content {
    padding: 20px 15px 30px 15px;
  }
  
  .counter_title {
    font-size: 24px;
    margin-bottom: 20px;
    text-align: center;
  }
  
  .milestones {
    margin-top: 20px;
  }
  
  .milestone {
    width: 100%;
    margin-bottom: 20px;
    text-align: center;
  }
  
  .milestone_number {
    font-size: 24px;
    text-align: center;
    display: block;
    margin-bottom: 10px;
  }
  
  .milestone_count {
    font-size: 20px;
    color: #1a6171;
  }
  
  .milestone_counter > p {
    font-size: 13px;
    line-height: 1.6;
    text-align: center;
    margin-top: 10px;
    padding: 0 20px;
    color: #1A6171;
    letter-spacing: 1px;
  }
  
  .milestone iframe {
    width: 100% !important;
    height: 250px !important;
    margin-top: 20px;
  }
  
  .milestone:not(:first-child)::after {
    display: none;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .counter_title {
    font-size: 28px;
  }
  
  .milestone_number {
    font-size: 28px;
  }
  
  .milestone iframe {
    height: 350px !important;
  }
  
  .milestone_counter > p {
    font-size: 13px;
  }
}

@media (max-width: 575px) {
  .counter_content {
    padding: 15px 10px 25px 10px;
  }
  
  .counter_title {
    font-size: 20px;
    margin-bottom: 15px;
  }
  
  .milestone_number {
    font-size: 20px;
  }
  
  .milestone_count {
    font-size: 16px;
  }
  
  .milestone_counter > p {
    font-size: 12px;
    padding: 0 15px;
  }
  
  .milestone iframe {
    height: 200px !important;
  }
}

@media (min-width: 992px) {
  .milestone iframe {
    height: 400px;
  }
}
/*.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: "Akshar", sans-serif;
  font-size: 30px;
  color: #b4b4b3;
  font-weight: 500;
}

.counter_text {
  margin-top: 19px;
}

.counter_text p {
  color: #b4b4b3;
}

.milestones {
  margin-top: 39px;
}

.milestone {
  text-align: left;
  width: 200px;
}

.milestone:not(:first-child)::after {
  display: block;
  position: absolute;
  top: 10px;
  width: 1px;
  left: 0;
  height: 70px;
  background: #b4b4b3;
  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: #1A6171;
  opacity: 1;
  text-align: left;
}

.milestone_counter > img {
  margin-bottom: 30px;
}

.milestone_number {
  text-align: left;
  font-size: 30px;
  letter-spacing: 2px;
  color: #1a6171;
  opacity: 1;
}

.milestone_count {
  text-align: left;
  color: #1A6171;
}

 .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: #1A6171;
  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;
}

.contact_button {
  background-color: #fff;
  border: solid 2px #2B9696;
  color: #2B9696;
  border-radius: 20px;
  padding: 10px 30px;
  text-decoration: none;
  font-size: 1em;
  box-shadow: 0 5px 0 #2B9696;
  display: inline-block;
  transition: .3s;
}
.contact_button:hover {
  color: #2B9696;
  transform: translateY(5px);
  box-shadow: 0 0 0 #2B9696;
}

/**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: #f6f6f6;
  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 #1A6171;
  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: #1A6171 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;
}


