/*----------------------------------------
	reset
----------------------------------------*/
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}


@import url("https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@200&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@200&display=swap");
.c-body {
  font-family: "Source Sans Pro", sans-serif;
  font-style: normal;
}
.c-body .life {
  width: 1080px;
  margin: auto;
}
.c-body .life__title {
  display: flex;
  align-items: center;
  margin: 20px 0 30px 0;
}
.c-body .life__title--left {
  display: flex;
  align-items: center;
  border: 1px solid #000;
  border-right: none;
  height: 40px;
  justify-content: center;
  padding: 0 10px;
}
.c-body .life__title--left p {
  font-weight: 400;
  font-size: 16px;
}
.c-body .life__title--left i {
  margin-left: 15px;
}
.c-body .life__title--left--introduction {
  padding-left: 10px;
}
.c-body .life__title--left--button {
  margin-left: 0 !important;
}
.c-body .life__title--right {
  display: flex;
  border: 1px solid #000;
  background-color: #891919;
  color: #fff;
  border-left: none;
  height: 40px;
  align-items: center;
  padding: 0 10px;
}
.c-body .life__title--right p {
  font-weight: 600;
}
.c-body .life__title--introduction {
  border-right: 1px solid #000;
  width: 80px;
  height: 40px;
  justify-content: center;
}
.c-body .life__ctn--box {
  display: flex;
  justify-content: space-between;
}
.c-body .life__ctn--box__ss {
  width: 323px;
}
.c-body .life__ctn--box__ss--img {
  height: 227px;
  padding: 1%;
}
.c-body .life__ctn--box__ss--text {
  margin: 15px 0 30px 0;
}
.c-body .life__ctn--box__ss--text h4 {
  width: 252px;
  margin: auto;
  font-weight: 600;
  font-size: 20px;
  line-height: 26px;
  text-align: center;
  color: #891919;
}
.c-body .life__ctn--box__ss--text p {
  font-weight: 400;
  font-size: 14px;
  line-height: 26px;
  color: #000000;
  margin: 0 7px;
}
.c-body .life__ctn--box__ss--text h5 {
  font-size: 20px;
  font-weight: 600;
  line-height: 30px;
}
.c-body .life__ctn--box__ss--text span {
  font-size: 14px;
  font-weight: 400;
  line-height: 26px;
  color: #7D9097;
}
.c-body .life__text-p {
  width: 1080px;
  margin-bottom: 50px;
}
.c-body .life__text-p p {
  font-weight: 400;
  font-size: 14px;
  line-height: 26px;
  color: #000000;
}
.c-body .information {
  width: 100%;
  background: #EFF3F6;
}
.c-body .information__ctn {
  width: 1080px;
  margin: auto;
  padding: 50px;
}
.c-body .information__ctn h3 {
  font-weight: 600;
  font-size: 32px;
  line-height: 26px;
  text-align: center;
  letter-spacing: 0.1em;
  color: #891919;
}
.c-body .information__ctn--box {
  display: flex;
  justify-content: center;
  column-gap: 50px;
  margin: auto;
  margin-top: 35px;
}
.c-body .information__ctn--box__ss {
  width: 323px;
}
.c-body .information__ctn--box__ss--img {
  height: 227px;
}
.c-body .information__ctn--box__ss--text p {
  font-weight: 400;
  font-size: 20px;
  line-height: 30px;
  text-align: center;
  color: #000000;
  margin-top: 20px;
}

@media (max-width: 1080px) {
  .c-body .life {
    width: 100%;
  }
  .c-body .life__title {
    padding: 0 15px;
  }
  .c-body .life__ctn {
    padding: 0 25px;
  }
  .c-body .life__ctn--box {
    width: 100%;
  }
  .c-body .life__ctn--box__ss {
    width: 100%;
  }
  .c-body .life__ctn--box__ss--img img {
    width: 100%;
  }
  .c-body .life__text-p {
    width: 100%;
    padding: 0 25px;
    text-align: justify;
  }
  .c-body .information__ctn {
    width: 100%;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .c-body .life__ctn--box__ss--img {
    height: auto;
  }
}
@media (max-width: 767px) {
  .c-body .life__title {
    padding: 0px 35px;
  }
  .c-body .life__title--left p {
    font-size: 12px;
  }
  .c-body .life__title--right p {
    font-size: 12px;
  }
  .c-body .life__ctn--box {
    display: block;
  }
  .c-body .life__ctn--box__ss--img {
    height: auto;
    display: flex;
    justify-content: center;
  }
  .c-body .life__ctn--box__ss--img img {
    max-width: 80%;
  }
  .c-body .life__ctn--box__ss--text h4 {
    font-size: 16px;
  }
  .c-body .life__ctn--box__ss--text p {
    text-align: center;
  }
  .c-body .life__ctn--box__ss--intro {
    text-align: center !important;
  }
  .c-body .information__ctn h3 {
    font-size: 26px;
  }
  .c-body .information__ctn--box {
    display: block;
  }
  .c-body .information__ctn--box__ss {
    padding-bottom: 15px;
    width: 100%;
  }
  .c-body .information__ctn--box__ss--img {
    height: auto;
  }
  .c-body .information__ctn--box__ss--img img {
    width: 100%;
  }
  .c-body .information__ctn--box__ss--text p {
    font-size: 16px;
  }
}
.c-banner {
  height: 412px;
  z-index: 0;
  position: relative;
}
.c-banner .background {
  width: 100%;
  height: 412px;
  background: #000000;
  opacity: 0.4;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.c-banner .background .bg-top {
  transform: rotate(-180deg);
  height: 412px;
  width: 15%;
}
.c-banner .background .bg-bottom {
  height: 412px;
  width: 15%;
}
.c-banner h1 {
  color: #fff;
  position: absolute;
  z-index: 99999;
  top: 55%;
  transform: translate(-50%, -50%);
  left: 50%;
}

@media only screen and (max-width: 900px) {
  .c-banner {
    height: 400px;
  }
  .c-banner .background {
    height: 400px;
  }
}


*,
*::before,
*::after {
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}

* {
  box-sizing: border-box;
}

a {
  color: #000;
  text-decoration: none;
  transition: all 0.1s ease;
}
a:hover {
  opacity: 0.6;
}

.l-header {
  width: 100%;
  background-size: cover;
  position: relative;
  font-family: "Source Sans Pro", sans-serif;
  font-style: normal;
  position: absolute;
  z-index: 1;
}
.l-header--wrap {
  width: 100%;
}
.l-header--wrap--line {
  width: 100%;
  height: 1px;
  background: #fff;
  position: absolute;
  top: 71px;
}
.l-header--wrap--RectangleLeft {
  position: absolute;
}
.l-header--wrap--top {
  position: relative;
  width: 100%;
  height: 71px;
}
.l-header--wrap--top__inner {
  position: absolute;
  width: 100%;
  column-gap: 4%;
  padding: 0% 2%;
  margin: auto;
  height: 71px;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.l-header--wrap--top__inner--center {
  display: flex;
  color: #fff;
  font-size: 18px;
  flex-wrap: wrap;
  column-gap: 2%;
  justify-content: space-between;
  width: 1074px;
}
.l-header--wrap--top__inner--center a {
  text-decoration: none;
  color: #fff;
  font-weight: 400;
  font-size: 18px;
  line-height: 40px;
}
.l-header--wrap--top__inner--center a:hover {
  color: #891919;
}
.l-header--wrap--top__inner--center .dropdowns__list {
  display: none;
  position: absolute;
  width: 236px;
  height: 141px;
  border: 1px solid;
  border-radius: 10px;
  margin-top: 1px;
}
.l-header--wrap--top__inner--center .dropdowns__list .flex {
  height: 141px;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
}
.l-header--wrap--top__inner--center .dropdowns__list .flex li {
  position: relative;
  border-bottom: 1px solid #DDDDDD;
  margin: 0 15px;
}
.l-header--wrap--top__inner--center .dropdowns__list .flex li a {
  color: #000;
}
.l-header--wrap--top__inner--center .dropdowns__list .flex li a:hover {
  color: #000000;
}
.l-header--wrap--top__inner--center .dropdowns .dr-01 .flex-01 li:nth-child(3) {
  border-bottom: none;
}
.l-header--wrap--top__inner--center .dropdowns .dr-02 {
  width: 172px;
  height: 99px;
}
.l-header--wrap--top__inner--center .dropdowns .dr-02 .flex-02 {
  height: 99px;
}
.l-header--wrap--top__inner--center .dropdowns .dr-02 .flex-02 li:nth-child(3) {
  border-bottom: none;
}
.l-header--wrap--top__inner--center .dropdowns:hover .dropdowns__list {
  display: inherit;
  background: #ffffff;
}
.l-header--wrap--top__inner--content {
  display: flex;
  align-items: center;
}
.l-header--wrap--top__inner--content--right {
  padding: 6px 15px;
  height: 40px;
  width: 99px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.l-header--wrap--top__inner--content--right img {
  padding-right: 5px;
  width: 108px;
  height: 44px;
}
.l-header--wrap--top__inner--content--center-mb {
  display: none;
}
.l-header--wrap--top__inner--content--center-mb img {
  object-fit: fill;
  width: 42px;
  height: 30px;
}
.l-header--wrap--RectangleRight {
  position: absolute;
  right: 0;
  bottom: 0;
}
.l-header--wrap--content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-shadow: 1px 2px 1px rgba(0, 0, 0, 0.4784313725);
}
.l-header--wrap--content h3 {
  font-weight: 400;
  font-size: 40px;
  line-height: 30px;
  color: #fff;
}
.l-header--wrap--content h1 {
  font-weight: 600;
  font-size: 60px;
  color: #fff;
  text-align: center;
}
.l-header--wrap__menu {
  display: none;
}

@media only screen and (max-width: 1150px) {
  .header--wrap--top__inner--center {
    justify-content: center;
    column-gap: 30px;
  }
}
@media only screen and (max-width: 1100px) {
  .l-header .dr-01 {
    display: none;
  }
  .l-header .dr-02 {
    display: none;
  }
  .l-header--wrap--top__inner {
    width: 100%;
  }
  .l-header--wrap--banner {
    width: 100%;
  }
}
@media only screen and (max-width: 900px) {
  .l-header--wrap--top {
    position: relative;
    width: 100%;
    height: 71px;
  }
  .l-header--wrap--top__inner {
    position: absolute;
    width: 100%;
    margin: auto;
    height: 71px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .l-header--wrap--top__inner--center {
    display: none;
    color: #fff;
    font-size: 18px;
  }
  .l-header--wrap--top__inner--center a {
    text-decoration: none;
    color: #fff;
    margin: 0 25px;
  }
  .l-header--wrap--top__inner--content--center-mb {
    display: flex;
    width: 78%;
    padding: 0 20px;
    justify-content: flex-end;
  }
  .l-header--wrap--top__inner--content--center-mb .icon .fa-bars:before {
    color: #fff;
  }
  .l-header--wrap--top__inner--content--right {
    padding: 6px 15px;
    height: 40px;
    width: 99px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .l-header--wrap--top__inner--content--right img {
    padding-right: 5px;
  }
  .l-header--wrap--RectangleRight {
    position: absolute;
    right: 0;
    bottom: 0;
  }
  .l-header--wrap--content {
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    text-align: center;
  }
  .l-header--wrap--content h3 {
    font-family: "Source Sans Pro", sans-serif;
    font-weight: 400;
    font-size: 40px;
    line-height: 45px;
    color: #fff;
  }
  .l-header--wrap--content h1 {
    font-family: "Source Sans Pro", sans-serif;
    font-weight: 600;
    font-size: 60px;
    line-height: 65px;
    color: #fff;
    text-align: center;
  }
  .l-header--wrap--banner {
    z-index: 1;
    width: 100%;
    height: 200px;
    background-color: #fff;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translate(-50%, -50%);
    border: 1px solid #fff;
    box-shadow: 1px 0px 1px 1px #888888;
  }
  .l-header--wrap--banner h4 {
    text-align: center;
    height: 50px;
    font-size: 24px;
    font-weight: 400;
    padding-top: 20px;
  }
  .l-header--wrap--banner h5 {
    text-align: center;
    font-size: 20px;
    color: #888888;
    font-weight: 400;
  }
  .l-header--wrap--banner--content {
    padding-top: 20px;
    display: flex;
    justify-content: center;
  }
  .l-header--wrap--banner--content--iteam {
    display: inline-block;
    text-align: center;
    padding: 0 5px;
  }
  .l-header--wrap--banner--content--iteam--img {
    text-align: center;
  }
  .l-header--wrap--banner--content--iteam--img img {
    width: 90%;
  }
  .l-header--wrap--banner--content--iteam span {
    font-size: 18px;
    text-align: center;
    font-weight: 600;
  }
  .l-header--wrap--banner--content--iteam a {
    text-decoration: none;
    margin-top: 5px;
    font-size: 16px;
    font-weight: 600;
    line-height: 30px;
    color: #000;
  }
  .l-header--wrap__menu {
    display: none;
  }
  .l-header--wrap__menu--mb {
    width: 100%;
    height: auto;
    background: #bbb;
    position: absolute;
    left: 0;
    top: 71px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .l-header--wrap__menu--mb ul {
    padding: 5px 0;
  }
  .l-header--wrap__menu--mb ul li {
    padding: 10px 0;
  }
  .l-header--wrap__menu--mb ul li a {
    font-size: 18px;
    color: #fff;
    font-family: "Raleway", sans-serif;
    text-decoration: none;
  }
}
.l-footer {
  background: url("../../assets/img/index/Mask group.png");
  height: 450px;
  font-family: "Source Sans Pro", sans-serif;
  font-style: normal;
}
.l-footer--content {
  background-color: rgba(0, 0, 0, 0.7);
  height: 440px;
  padding: 0 20px;
}
.l-footer--content--item {
  max-width: 1150px;
  margin: auto;
  display: flex;
  justify-content: space-between;
  padding-top: 60px;
}
.l-footer--content--itemLeft--1 {
  display: flex;
  align-items: center;
  column-gap: 20px;
  padding: 10px 0;
}
.l-footer--content--itemLeft--1 img {
  height: 50%;
}
.l-footer--content--itemLeft--1 p {
  font-weight: 400;
  font-size: 20px;
  line-height: 30px;
  color: #fff;
}
.l-footer--content--itemRight {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
.l-footer--content--itemRight h3 {
  font-weight: 600;
  font-size: 24px;
  line-height: 49px;
  color: #fff;
  border-bottom: 1px solid #fff;
  padding-bottom: 10px;
  margin-bottom: 20px;
  width: 100%;
  display: flex;
  justify-content: flex-end;
}
.l-footer--content--itemRight a {
  font-weight: 400;
  font-size: 20px;
  line-height: 35px;
  color: #fff;
  margin-bottom: 10px;
  text-decoration: none;
}
.l-footer--content--line {
  width: 100%;
  border: 1px solid #FFFFFF;
  margin: 20px 0 20px 0;
}
.l-footer--content--copyright {
  max-width: 1150px;
  margin: auto;
  font-weight: 400;
  font-size: 20px;
  line-height: 49px;
  letter-spacing: 0.05em;
  color: #EFF3F6;
}

@media only screen and (max-width: 900px) {
  .l-footer {
    background: url("../../assets/img/index//Mask group.png");
    height: 400px;
  }
  .l-footer--content {
    background-color: rgba(0, 0, 0, 0.7);
    height: 400px;
  }
  .l-footer--content--item {
    width: 100%;
    margin: auto;
    display: flex;
    justify-content: space-between;
    padding: 30px 15px 0 15px;
    flex-wrap: wrap;
  }
  .l-footer--content--itemLeft--1 {
    display: flex;
    column-gap: 20px;
    padding: 10px 0;
  }
  .l-footer--content--itemLeft--1 img {
    height: 50%;

  }
  .l-footer--content--itemLeft--1 p {
    font-size: 20px;
    font-weight: 400;
    color: #fff;
  }
  .l-footer--content--itemRight {
    display: none;
    flex-direction: column;
    align-items: flex-end;
  }
  .l-footer--content--itemRight h3 {
    font-weight: 600;
    font-size: 24px;
    color: #fff;
    border-bottom: 1px solid #fff;
    padding-bottom: 10px;
    margin-bottom: 20px;
    width: 100%;
    display: flex;
    justify-content: flex-end;
  }
  .l-footer--content--itemRight p {
    font-size: 20px;
    font-weight: 400;
    color: #fff;
    margin-bottom: 20px;
  }
  .l-footer--content--line {
    display: none;
  }
  .l-footer--content--copyright {
    padding: 0 15px;
    line-height: unset;
  }
}
@media only screen and (max-width: 500px) {
  .l-footer {
    height: 450px;
  }
  .l-footer--content {
    height: 450px;
  }
}
@media (max-width: 1080px) {
  .c-body .life {
    width: 100%;
  }
  .c-body .life__title {
    padding: 0 15px;
  }
  .c-body .life__ctn {
    padding: 0 25px;
  }
  .c-body .life__ctn--box {
    width: 100%;
  }
  .c-body .life__ctn--box__ss {
    width: 100%;
  }
  .c-body .life__ctn--box__ss--img img {
    width: 100%;
    height: 100%;
  }
  .c-body .life__text-p {
    width: 100%;
    padding: 0 25px;
    text-align: justify;
  }
  .c-body .information__ctn {
    width: 100%;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .c-body .life__ctn--box__ss--img {
    height: auto;
  }
}
@media (max-width: 767px) {
  .c-body .life__ctn--box {
    display: block;
  }
  .c-body .life__ctn--box__ss--img {
    height: auto;
    display: flex;
    justify-content: center;
  }
  .c-body .life__ctn--box__ss--img img {
    max-width: 80%;
  }
  .c-body .life__ctn--box__ss--text h4 {
    font-size: 16px;
  }
  .c-body .life__ctn--box__ss--text p {
    text-align: center;
  }
  .c-body .information__ctn h3 {
    font-size: 26px;
  }
  .c-body .information__ctn--box {
    display: block;
  }
  .c-body .information__ctn--box__ss {
    padding-bottom: 15px;
    width: 100%;
  }
  .c-body .information__ctn--box__ss--img {
    height: auto;
  }
  .c-body .information__ctn--box__ss--img img {
    width: 100%;
  }
  .c-body .information__ctn--box__ss--text p {
    font-size: 16px;
  }
}
* {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p {
  font-family: "Source Sans Pro", sans-serif;
  font-style: normal;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  scroll-behavior: smooth;
}

ol, ul {
  list-style: none;
}

.header {
  background: url("../../assets/img/index/Banner12.png") center top 11% no-repeat;
  height: 686px;
  width: 100%;
  background-size: cover;
  position: relative;
  font-family: "Source Sans Pro", sans-serif;
  font-style: normal;
}
.header--wrap {
  width: 100%;
  height: 686px;
}
.header--wrap--line {
  width: 100%;
  height: 1px;
  background: #fff;
  position: absolute;
  top: 71px;
}
.header--wrap--RectangleLeft {
  position: absolute;
}
.header--wrap--top {
  position: relative;
  width: 100%;
  height: 71px;
}
.header--wrap--top__inner {
  position: absolute;
  width: 100%;
  column-gap: 4%;
  padding: 0% 2%;
  margin: auto;
  height: 71px;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.header--wrap--top__inner--center {
  display: flex;
  color: #fff;
  font-size: 18px;
  flex-wrap: wrap;
  column-gap: 2%;
  justify-content: space-between;
  width: 1074px;
}
.header--wrap--top__inner--center a {
  text-decoration: none;
  color: #fff;
  font-weight: 400;
  font-size: 18px;
  line-height: 40px;
}
.header--wrap--top__inner--center a:hover {
  color: #891919;
}
.header--wrap--top__inner--center .dropdowns__list {
  display: none;
  position: absolute;
  width: 236px;
  height: 141px;
  border: 1px solid;
  border-radius: 10px;
  margin-top: 1px;
}
.header--wrap--top__inner--center .dropdowns__list .flex {
  height: 141px;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
}
.header--wrap--top__inner--center .dropdowns__list .flex li {
  position: relative;
  border-bottom: 1px solid #DDDDDD;
  margin: 0 15px;
}
.header--wrap--top__inner--center .dropdowns__list .flex li a {
  color: #000;
}
.header--wrap--top__inner--center .dropdowns__list .flex li a:hover {
  color: #000000;
}
.header--wrap--top__inner--center .dropdowns .dr-01 .flex-01 li:nth-child(3) {
  border-bottom: none;
}
.header--wrap--top__inner--center .dropdowns .dr-02 {
  width: 172px;
  height: 99px;
}
.header--wrap--top__inner--center .dropdowns .dr-02 .flex-02 {
  height: 99px;
}
.header--wrap--top__inner--center .dropdowns .dr-02 .flex-02 li:nth-child(3) {
  border-bottom: none;
}
.header--wrap--top__inner--center .dropdowns:hover .dropdowns__list {
  display: inherit;
  background: #ffffff;
}
.header--wrap--top__inner--content {
  display: flex;
  align-items: center;
}
.header--wrap--top__inner--content--right {
  padding: 6px 15px;
  height: 40px;
  width: 99px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.header--wrap--top__inner--content--right img {
  padding-right: 5px;
  width: 108px;
  height: 44px;
}
.header--wrap--top__inner--content--center-mb {
  display: none;
}
.header--wrap--top__inner--content--center-mb img {
  object-fit: fill;
  width: 42px;
  height: 30px;
}
.header--wrap--RectangleRight {
  position: absolute;
  right: 0;
  bottom: 0;
}
.header--wrap--content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-shadow: 1px 2px 1px rgba(0, 0, 0, 0.4784313725);
}
.header--wrap--content h3 {
  font-family: "Source Sans Pro", sans-serif;
  font-weight: 400;
  font-size: 40px;
  line-height: 30px;
  color: #fff;
}
.header--wrap--content h1 {
  font-family: "Source Sans Pro", sans-serif;
  font-weight: 600;
  margin-top: 20px;
  font-size: 60px;
  color: #fff;
  text-align: center;
}
.header--wrap--banner {
  z-index: 1;
  width: 695px;
  height: 190px;
  background-color: #fff;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: 1px solid #fff;
  box-shadow: 1px 1px 10px 2px rgba(0, 0, 0, 0.3411764706);
  padding: 15px 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.header--wrap--banner h4 {
  text-align: center;
  height: 50px;
  font-size: 24px;
  font-weight: 400;
  padding-top: 20px;
}
.header--wrap--banner h5 {
  font-size: 20px;
  color: #888888;
  font-weight: 400;
  line-height: 1.7;
  width: 460px;
  margin: auto;
}
.header--wrap--banner--content {
  padding-top: 10px;
  display: flex;
  justify-content: center;
  column-gap: 17%;
}
.header--wrap--banner--content--iteam {
  display: inline-block;
  text-align: center;
  cursor: pointer;
  margin: 0;
  padding: 20px 20px 10px 20px;
  border-radius: 5px;
}
.header--wrap--banner--content--iteam:hover {
  text-decoration-color: #891919;
}
.header--wrap--banner--content--iteam:hover p {
  color: #891919;
}
.header--wrap--banner--content--iteam:hover .draw .header--wrap--banner--content--iteam--img img {
  -ms-transform: scale(1.1); /* IE 9 */
  -webkit-transform: scale(1.1); /* Safari 3-8 */
  transform: scale(1.1);
  transition: 1s;
}
.header--wrap--banner--content--iteam--img img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 65%;
  height: auto;
}
.header--wrap--banner--content--iteam p {
  margin-top: 5px;
  font-size: 16px;
  font-weight: 600;
  line-height: 30px;
  color: #000;
}
.header--wrap__menu {
  display: none;
}

.box {
  height: 200px;
}

.agency {
  font-family: "Source Sans Pro", sans-serif;
  font-style: normal;
  width: 1080px;
  margin: auto;
  margin-top: 20px;
  display: flex;
  justify-content: space-between;
}
.agency__img {
  width: 454px;
  height: 293px;
}
.agency__ctn {
  width: 547px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.agency__ctn h3 {
  font-weight: 600;
  font-size: 32px;
  line-height: 49px;
  letter-spacing: 0.1em;
  color: #891919;
}
.agency__ctn p {
  font-style: normal;
  font-weight: 400;
  font-size: 14px;
  line-height: 26px;
  color: #000000;
}

.sub {
  max-width: 1080px;
  margin: 0px auto;
}
.sub__menu--title h3 {
  font-weight: 600;
  font-size: 32px;
  text-align: center;
  color: #fff;
  margin-bottom: 20px;
  padding-bottom: 20px;
}
.sub__menu--content {
  display: flex;
}
.sub__menu--content__part {
  font-weight: 400;
  font-size: 20px;
  color: #000;
  line-height: 30px;
  padding: 30px 20px;
  display: flex;
  align-items: center;
  cursor: pointer;
}
.sub__menu--content__part img {
  width: 35px;
}
.sub__menu--content__part p {
  font-weight: 400;
  font-size: 20px;
  color: #fff;
  line-height: 30px;
  padding-left: 10px;
}

.education {
  font-family: "Source Sans Pro", sans-serif;
  font-style: normal;
  width: 870px;
  margin: 50px auto;
  height: 350px;
  background-color: #EFF3F6;
}
.education__title {
  text-align: center;
  padding-top: 15px;
}
.education__title__big {
  flex-wrap: wrap;
}
.education__title__big--subtitle {
  display: flex;
  gap: 30px;
  justify-content: center;
}
.education__title h3 {
  font-weight: 400;
  font-size: 22px;
  line-height: 49px;
  color: #891919;
}
.education__title p {
  font-weight: 400;
  font-size: 16px;
  line-height: 30px;
  color: #7D9097;
}
.education__ctn {
  height: 180px;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
}
.education__ctn__block {
  display: flex;
  margin: 5px auto;
  width: 90%;
}
.education__ctn__block--child {
  display: flex;
  width: 400px;
  column-gap: 18px;
  align-items: center;
}
.education__ctn__block--child--text h5 {
  font-weight: 600;
  font-size: 15px;
  line-height: 30px;
  color: #000000;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.education__ctn__block--child--text p {
  font-weight: 400;
  font-size: 15px;
  line-height: 30px;
  color: #7D9097;
}
.education__ctn__block--title {
  width: 300px;
  max-width: 300px;
  padding: 0px 15px;
  border: 2px solid #000;
  margin: 0px auto;
}
.education__ctn__block--title h3 {
  font-weight: 400;
  font-size: 22px;
  line-height: 49px;
  color: #000;
  text-align: center;
}

.academy {
  margin-top: 25px;
  font-family: "Source Sans Pro", sans-serif;
  font-style: normal;
  display: flex;
  width: 100%;
  justify-content: center;
}
.academy__ctn {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.academy__ctn--box {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  position: relative;
  margin: 0px 20px;
}
.academy__ctn--box__show--text {
  width: 289px;
  margin: 10px auto;
}
.academy__ctn--box__show--text p {
  font-weight: 700;
  font-size: 20px;
  line-height: 30px;
  text-align: center;
  color: #000000;
}
.academy__ctn--box__hiden {
  display: none;
  position: absolute;
  top: 0;
  color: #FFFFFF;
}
.academy__ctn--box__hiden--background {
  width: 351px;
  height: 231px;
  background: #000000;
  opacity: 0.5;
}
.academy__ctn--box__hiden--text {
  top: 10%;
  left: 7%;
  z-index: 1;
  position: absolute;
}
.academy__ctn--box__hiden--text--dot p i {
  margin-right: 5px;
}
.academy__ctn--box__hiden--text h4 {
  font-weight: 600;
  font-size: 14px;
  line-height: 26px;
}
.academy__ctn--box__hiden--text p {
  font-weight: 400;
  font-size: 10px;
  line-height: 26px;
}
.academy__ctn--box__hiden--button {
  cursor: pointer;
  width: 137px;
  height: 44px;
  border: 1px solid #FFFFFF;
  position: absolute;
  right: 7%;
  bottom: 10%;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}
.academy__ctn--box__hiden--button a {
  font-weight: 400;
  font-size: 16px;
  line-height: 30px;
  color: #EFF3F6;
  text-decoration: none;
}
.academy__ctn--box:hover .academy__ctn--box__hiden {
  display: block;
}

.academy-text {
  max-width: 1140px;
  margin: 0 auto;
  font-size: 14px;
  line-height: 26px;
  padding-bottom: 50px;
  display: flex;
  gap: 20px;
  padding: 40px 0px 40px 0px;
}
.academy-text--bold {
  margin-bottom: 0;
  width: 50%;
}
.academy-text--bold h4 {
  font-weight: 700;
  text-align: center;
  background-color: #9d5a5a;
  color: #fff;
  border-radius: 4px;
  padding: 0 14px;
  margin-bottom: 10px;
}
.academy-text--bold p {
  margin-bottom: 10px;
  font-weight: 400;
}
.academy-text div:nth-child(2) {
  flex-direction: row-reverse;
}

hr {
  width: 30px;
  margin: 0 auto;
}

.line--box {
  font-family: "Source Sans Pro", sans-serif;
  font-style: normal;
  display: flex;
  justify-content: center;
  flex-direction: row;
  align-items: center;
  padding-top: 40px;
  padding-bottom: 30px;
}
.line--box p {
  color: #891919;
  font-weight: 600;
  font-size: 24px;
  padding: 0 15px;
  line-height: 49px;
}
.line--box--first {
  width: 196px;
  height: 2px;
  background-color: #891919;
}

.blabla__title {
  font-family: "Source Sans Pro", sans-serif;
  font-style: normal;
  font-weight: 600;
  font-size: 32px;
  line-height: 49px;
  text-align: center;
  letter-spacing: 0.1em;
  padding-top: 70px;
  background-color: #ffffff;
  color: #891919;
}

#more:hover {
  color: #002cee;
}

.blabla {
  font-family: "Source Sans Pro", sans-serif;
  font-style: normal;
  font-style: normal;
  padding-top: 30px;
  display: flex;
  justify-content: center;
  width: 1080px;
  margin: auto;
  column-gap: 40px;
  background-color: #ffffff;
}
.blabla-main {
  width: 40%;
  text-decoration: none;
}
.blabla-main:hover {
  opacity: 1;
}
.blabla-main img {
  width: 100%;
}
.blabla-main img:hover {
  opacity: 0.6;
}
.blabla-main h3 {
  margin-bottom: 0.3rem;
  font-weight: 400 !important;
  letter-spacing: 0.1em;
  font-size: 0.99rem;
  font-weight: 400;
  line-height: 1.7;
  color: #434343;
  padding-top: 10px;
}
.blabla-main p {
  font-weight: 400;
  font-size: 14px;
  line-height: 24px;
  color: #777;
  margin-bottom: 0.5rem;
  color: #000000;
}
.blabla-main p:nth-child(4) {
  font-weight: 400;
  font-size: 16px;
  line-height: 30px;
  color: #891919;
}
.blabla-main p:nth-child(4) i {
  margin-left: 15px;
}
.blabla-support {
  width: 70%;
  display: flex;
  flex-direction: column;
}
.blabla-support-1 {
  display: flex;
  justify-content: space-between;
  column-gap: 40px;
}
.blabla-support-1-item {
  width: 41%;
  text-decoration: none;
}
.blabla-support-1-item:hover {
  opacity: 1;
}
.blabla-support-1-item img {
  width: 100%;
}
.blabla-support-1-item img:hover {
  opacity: 0.6;
}
.blabla-support-1-item_text {
  padding-bottom: 50px;
}
.blabla-support-1-item_text h3 {
  margin-bottom: 0.3rem;
  letter-spacing: 0.1em;
  font-weight: 600;
  font-size: 20px;
  line-height: 30px;
  color: #434343;
  padding-top: 10px;
}
.blabla-support-1-item_text p {
  font-weight: 400;
  font-size: 14px;
  line-height: 30px;
  color: #7D9097;
  margin-bottom: 0.5rem;
}
.blabla-support-1-item:hover h3, .blabla-support-1-item:hover p {
  color: #891919;
}

.btn__blabla {
  font-family: "Source Sans Pro", sans-serif;
  font-style: normal;
  width: 1150px;
  margin: auto;
  margin-top: 0px;
  padding-bottom: 70px;
  width: 100%;
  background-color: #ffffff;
}
.btn__blabla--block {
  width: 206px;
  height: 44px;
  background: #891919;
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 30px;
}
.btn__blabla--block a {
  font-weight: 400;
  font-size: 16px;
  line-height: 30px;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  text-decoration-line: none;
}
.btn__blabla--block a i {
  line-height: 30px;
  margin-left: 10px;
}

.banner {
  height: 270px;
  margin-top: 33px;
  margin-bottom: 37px;
  display: flex;
  justify-content: center;
}

.advantages {
  width: 1051px;
  margin: auto;
  margin-top: 45px;
  font-family: "Source Sans Pro", sans-serif;
  font-style: normal;
  border: 1px solid #ccc;
  padding: 30px 40px 30px 100px;
  border-radius: 25px;
}
.advantages--subtitle {
  font-size: 16px;
  color: #777;
  margin-top: 15px;
  margin-bottom: 37px;
}
.advantages--mod-a li {
  width: 50%;
  padding-left: 50px;
  display: inline-block;
  margin-right: -3px;
  margin-bottom: 32px;
  vertical-align: top;
  overflow: hidden;
}
.advantages--mod-a li .advantages__inner--fas {
  float: left;
  font-size: 34px;
  margin-left: -12%;
}
.advantages--mod-a li .advantages__inner--fas i {
  speak: none;
  font-style: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
}
.advantages--mod-a li .advantages__inner--fas .fa-trophy:before {
  color: #3b99d7;
}
.advantages--mod-a li .advantages__inner--fas .fa-desktop:before {
  color: #ad33c5;
}
.advantages--mod-a li .advantages__inner--fas .fa-globe:before {
  color: #92d438;
}
.advantages--mod-a li .advantages__inner--fas .fa-user:before {
  color: #f6c53f;
}
.advantages--mod-a li .advantages__inner h3 {
  font-size: 14px;
  font-weight: 700;
  line-height: 2.6;
  color: #222;
  font-family: "Source Sans Pro", sans-serif;
  text-transform: uppercase;
}
.advantages--mod-a li .advantages__inner h3::after {
  margin-top: 10px;
  margin-bottom: 25px;
  display: block;
  width: 30px;
  margin-top: 0;
  margin-bottom: 20px;
  border-top: 1px solid #ddd;
  content: "";
}
.advantages--mod-a li .advantages__inner p {
  font-family: "Source Sans Pro", sans-serif;
  font-size: 13px;
  line-height: 1.84;
  color: #777;
}

.section__title {
  font-family: "Source Sans Pro", sans-serif;
  font-style: normal;
  font-style: normal;
  font-weight: 600;
  font-size: 32px;
  line-height: 49px;
  text-align: center;
  letter-spacing: 0.1em;
  color: #891919;
}

.section {
  font-family: "Source Sans Pro", sans-serif;
  font-style: normal;
  margin: auto;
  width: 1150px;
  display: flex;
  justify-content: center;
  padding-bottom: 40px;
  padding-top: 20px;
}
.section .container .content--img {
  position: relative;
}
.section .container .content--img__overplay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  z-index: 9;
  display: none;
}
.section .container .content--img--description {
  position: relative;
}
.section .container .content--img--description img {
  width: 100%;
}
.section .container .content--img p {
  display: block;
  position: absolute;
  left: 50%;
  bottom: 0%;
  transform: translate(-50%, 0%);
  color: white;
  z-index: 100;
}
.section .container .content--img:hover {
  cursor: pointer;
  background: url(../../assets/img/index/Rectangle\ 1340.png);
}
.section .container p {
  text-align: center;
  font-weight: 400;
  font-size: 20px;
  line-height: 30px;
}

.content--info__main {
  width: 1280px;
  margin: 0px auto;
}

.content--info {
  font-family: "Source Sans Pro", sans-serif;
  font-style: normal;
  position: relative;
  background-color: #891919;
  padding: 62px 0;
  display: flex;
}
.content--info-1 {
  max-width: 900px;
  margin: auto;
  width: 70%;
}
.content--info-1--img {
  margin-bottom: -4px;
  position: absolute;
  bottom: 0;
  right: 0;
}
.content--info-1 h3 {
  font-weight: 600;
  font-size: 32px;
  text-align: center;
  color: #fff;
  margin-bottom: 20px;
}
.content--info-1--iteam_container {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.content--info-1--iteam_container--iteam {
  min-width: 180px;
  width: 45%;
  display: flex;
  flex-direction: column;
  padding: 20px 0px;
  text-decoration: none;
  position: relative;
}
.content--info-1--iteam_container--iteam--mother {
  border-bottom: 1px solid #fff;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 20px 0px;
  margin-bottom: 20px;
}
.content--info-1--iteam_container--iteam--mother a {
  display: flex;
  align-items: center;
  font-weight: 400;
  font-size: 20px;
  color: #fff;
  width: 100%;
  text-decoration: none;
}
.content--info-1--iteam_container--iteam--mother p {
  font-weight: 400;
  font-size: 20px;
  color: #fff;
  line-height: 30px;
}
.content--info-1--iteam_container--iteam--mother p i {
  margin-left: 20px;
}
.content--info-1--iteam_container--iteam--child {
  display: flex;
  align-items: center;
}
.content--info-1--iteam_container--iteam--child a {
  display: flex;
  align-items: center;
  font-weight: 400;
  font-size: 20px;
  color: #fff;
  text-decoration: none;
}
.content--info-1--iteam_container--iteam--child p {
  padding: 20px;
  font-weight: 400;
  font-size: 16px;
  color: #fff;
  width: 100%;
}
.content--info-1--iteam_container--iteam--child p i {
  margin-left: 20px;
}
.content--info-1--iteam_container--iteam3 {
  display: flex;
  justify-items: center;
  padding: 20px;
}
.content--info-1--iteam_container--iteam3 p {
  padding-left: 20px;
  font-weight: 400;
  font-size: 20px;
  color: #fff;
}
.content--info-2--iteam_container--iteam--child {
  display: flex;
  align-items: center;
}

.option {
  margin-left: 3.5%;
}

.form-select {
  height: 30px;
  background-color: transparent;
  color: #fff;
  text-align: left;
}
.form-select-option {
  background-color: #891919;
}

.content--jtest {
  background-color: #EFF3F6;
  padding-bottom: 80px;
}
.content--jtest h5 {
  font-family: "Source Sans Pro", sans-serif;
  font-style: normal;
  font-weight: 600;
  font-size: 32px;
  line-height: 49px;
  letter-spacing: 0.1em;
  color: #891919;
  text-align: center;
  padding: 40px 0px;
}
.content--jtest--img {
  display: flex;
  justify-content: center;
}
.content--jtest--img img {
  padding: 0 20px;
}

/* Contact form */
.content-section {
  font-family: "Source Sans Pro", sans-serif;
  font-style: normal;
  padding-top: 50px;
}
.content-section-sub {
  display: flex;
  width: 1150px;
  margin: auto;
  padding-top: 50px;
  justify-content: space-between;
}
.content-section-sub-one p {
  font-size: 20px;
  font-weight: 400;
  color: #000;
  padding: 7px;
}
.content-section-sub-one p i {
  padding-left: 5px;
}
.content-section-sub-one p a {
  font-size: 20px;
  font-weight: 400;
  color: rgb(108, 128, 160);
  padding: 7px;
  text-decoration: none;
}

.section-sub-heading {
  font-size: 18px;
  text-align: center;
  margin-top: 25px;
  font-style: italic;
  opacity: 0.6;
}

.content-section-sub-one i[class*=ti-] {
  width: 30px;
  display: inline-block;
}

.content-section-sub-one i {
  padding-left: 5px;
}

.slider-01 {
  font-family: "Source Sans Pro", sans-serif;
  font-style: normal;
  background: #EFF3F6;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  padding: 50px 0;
  height: auto;
}
.slider-01 .title-slide {
  font-weight: 600;
  font-size: 32px;
  line-height: 49px;
  text-align: center;
  letter-spacing: 0.1em;
  padding-bottom: 30px;
  color: #891919;
}
.slider-01 .slider-container {
  position: relative;
  overflow: hidden;
  width: 100vw;
  width: 1150px;
  margin: 0 auto;
  height: 50vh;
}
.slider-01 .slider-container .left-slide {
  font-family: "Source Sans Pro", sans-serif;
  height: 100%;
  width: 55%;
  position: absolute;
  top: 0;
  left: 45%;
  top: -150vh !important;
  transition: transform 0.5s ease-in-out;
}
.slider-01 .slider-container .left-slide div {
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #fff;
  padding: 0 10%;
}
.slider-01 .slider-container .left-slide .icon-top {
  width: 30px;
  height: 24px;
  transform: rotate(-180deg);
}
.slider-01 .slider-container .left-slide .icon-bottom {
  width: 30px;
  height: 24px;
}
.slider-01 .slider-container .left-slide h1 {
  margin-top: -30px;
  font-weight: 600;
  font-size: 24px;
  color: #891919;
  margin-bottom: 15px;
}
.slider-01 .slider-container .left-slide p {
  font-size: 16px;
  font-weight: 400;
  padding: 15px 0;
  color: #222;
}
.slider-01 .slider-container .right-slide {
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  width: 45%;
  transition: transform 0.5s ease-in-out;
}
.slider-01 .slider-container .right-slide div {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  height: 100%;
  width: 100%;
}
.slider-01 .slider-container .action-buttons button {
  position: absolute;
  left: 45%;
  top: 50%;
  z-index: 100;
  background-color: #891919;
  border: none;
  color: #aaa;
  cursor: pointer;
  font-size: 16px;
  padding: 15px;
  opacity: 0.5;
}
.slider-01 .slider-container .action-buttons button:focus {
  outline: none;
}
.slider-01 .slider-container .action-buttons button:hover {
  color: #222;
}
.slider-01 .slider-container .action-buttons .down-button {
  transform: translateX(-100%);
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
}
.slider-01 .slider-container .action-buttons .up-button {
  transform: translateY(-100%);
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
}
.slider-01 .carousel__item__info__inner {
  height: auto;
  display: flex;
  margin: auto;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.slider-01 .carousel__item__info__inner img {
  width: 295px;
  height: 380px;
}
.slider-01 .carousel__item__info__inner--text {
  width: 550px;
  position: relative;
  margin: 0px 20px;
}
.slider-01 .carousel__item__info__inner--text p:nth-child(2) {
  font-weight: 400;
  font-size: 14px;
  line-height: 26px;
  margin-top: 15px;
}
.slider-01 .carousel__item__info__inner--text p:nth-child(5) {
  font-weight: 400;
  font-size: 14px;
  line-height: 28px;
  color: #7D9097;
}
.slider-01 .carousel__item__info__inner--text h5 {
  font-weight: 600;
  font-size: 24px;
  line-height: 49px;
  color: #891919;
}
.slider-01 .carousel__item__info__inner--text .icon-top {
  width: 30px;
  height: 24px;
}
.slider-01 .carousel__item__info__inner--text .icon-bottom {
  display: flex;
  flex-direction: row-reverse;
}
.slider-01 .carousel__item__info__inner--text .icon-bottom img {
  width: 30px;
  height: 24px;
}
.slider-01 .carousel__item__info__inner--text .icon-top {
  transform: rotate(-180deg);
}

.map {
  font-family: "Source Sans Pro", sans-serif;
  font-style: normal;
  background-color: white;
  padding-top: 10px;
}
.map-line_map {
  width: 50%;
  background-color: white;
  height: 0px;
  border: 1px solid #7D9097;
  top: 3942px;
  margin: auto;
  margin-top: 60px;
}
.map-content {
  width: 1150px;
  margin: auto;
  padding-top: 40px;
  padding-bottom: 40px;
}
.map-content-1 {
  display: flex;
  padding: 20px;
  justify-content: space-between;
}
.map-content-1-title {
  width: 414px;
}
.map-content-1-title h3 {
  font-weight: 600;
  font-size: 32px;
  line-height: 49px;
  letter-spacing: 0.1em;
  color: #891919;
}
.map-content-1-title p {
  font-weight: 400;
  font-size: 14px;
  line-height: 26px;
  color: #000000;
}
.map-content-1-title a {
  margin-top: 25px;
  border: 1px #777 solid;
  border-radius: 0;
  padding: 5px;
  display: inline-block;
  color: #434343;
  font-size: 0.9rem;
  text-align: center;
  text-decoration: none !important;
  transition: color 0.2s, border-color 0.2s;
  box-shadow: none;
  background-color: transparent;
  width: 208px;
  background-color: #891919;
}
.map-content-1-title a:hover {
  color: #CB141E;
  border-color: #CB141E;
  background-color: transparent;
  box-shadow: none;
}
.map-content-1-title a:hover .QR-map p {
  color: #000000;
}
.map-content-1-title a .QR-map {
  display: flex;
  align-items: center;
}
.map-content-1-title a .QR-map img {
  width: 15%;
  margin: auto;
}
.map-content-1-title a .QR-map p {
  width: 85%;
  padding-right: 15%;
  font-weight: 400;
  font-size: 16px;
  line-height: 30px;
  color: #ffffff;
}
.map-content-1-address {
  width: 594px;
  height: 316px;
}
.map-content-1-address img {
  width: 100%;
}

.footer {
  background: url("../../assets/img/index//Mask group.png");
  height: 450px;
  font-family: "Source Sans Pro", sans-serif;
  font-style: normal;
}
.footer--content {
  background-color: rgba(0, 0, 0, 0.7);
  height: 450px;
  padding: 0 20px;
}
.footer--content--item {
  max-width: 1150px;
  margin: auto;
  display: flex;
  justify-content: space-between;
  padding-top: 60px;
}
.footer--content--itemLeft--1 {
  display: flex;
  align-items: center;
  column-gap: 20px;
  padding: 10px 0;
}
.footer--content--itemLeft--1 img {
  height: 50%;
}
.footer--content--itemLeft--1 p {
  font-weight: 400;
  font-size: 20px;
  line-height: 30px;
  color: #fff;
}
.footer--content--itemRight {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
.footer--content--itemRight h3 {
  font-weight: 600;
  font-size: 24px;
  line-height: 49px;
  color: #fff;
  border-bottom: 1px solid #fff;
  padding-bottom: 10px;
  margin-bottom: 20px;
  width: 100%;
  display: flex;
  justify-content: flex-end;
}
.footer--content--itemRight a {
  font-weight: 400;
  font-size: 20px;
  line-height: 35px;
  color: #fff;
  margin-bottom: 10px;
  text-decoration: none;
}
.footer--content--line {
  width: 100%;
  border: 1px solid #FFFFFF;
  margin: 20px 0 20px 0;
}
.footer--content--copyright {
  max-width: 1150px;
  margin: auto;
  font-weight: 400;
  font-size: 20px;
  line-height: 49px;
  letter-spacing: 0.05em;
  color: #EFF3F6;
}

.arrow-up {
  width: 0;
  height: 0;
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
  border-bottom: 40px solid #D9D9D9;
  position: relative;
  left: 50%;
  transform: translate(-50%, 0%);
}

.tooltip {
  width: 950px;
  height: 203px;
  margin: 0px auto;
  display: none;
}

.tooltip1 .arrow-up {
  left: 10%;
  transform: translate(-50%, 0%);
}

.tooltip3 .arrow-up {
  left: 90%;
  transform: translate(-50%, 0%);
}

.block {
  background-color: #D9D9D9;
  display: flex;
  width: 100%;
  height: 100%;
  padding: 15px;
}

.block img {
  flex: 0 0 45%;
}

.block .text {
  flex: 0 0 55%;
  padding-left: 15px;
}

.block .text p {
  font-weight: 400;
  font-size: 16px;
  line-height: 20px;
}

*, *:before, *:after {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  background: #ffffff;
  font-size: 16px;
  font-family: "Raleway", sans-serif;
}

.main-title {
  color: #2d2d2d;
  text-align: center;
  text-transform: capitalize;
  padding: 0.7em 0;
}

.container {
  padding: 1em 0;
  float: left;
  width: 50%;
}

@media screen and (max-width: 1200px) {
  .academy-text {
    padding: 40px 50px 40px 50px;
  }
}
@media screen and (max-width: 640px) {
  .container {
    display: block;
    width: 100%;
  }
  .academy-text {
    display: block;
  }
  .academy-text--bold {
    width: 100%;
    padding-bottom: 20px;
  }
}
@media screen and (min-width: 900px) {
  .container {
    width: 33.33333%;
  }
}
.container .content {
  position: relative;
  width: 90%;
  max-width: 400px;
  margin: auto;
  overflow: hidden;
}
.container .content .content-overlay {
  background: rgba(0, 0, 0, 0.7);
  position: absolute;
  height: 99%;
  width: 100%;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  opacity: 0;
  -webkit-transition: all 0.4s ease-in-out 0s;
  -moz-transition: all 0.4s ease-in-out 0s;
  transition: all 0.4s ease-in-out 0s;
}
.container .content .content-image {
  width: 100%;
}
.container .content .content-details {
  position: absolute;
  padding-left: 1em;
  padding-right: 1em;
  width: 100%;
  top: 50%;
  left: 50%;
  opacity: 0;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: all 0.3s ease-in-out 0s;
  -moz-transition: all 0.3s ease-in-out 0s;
  transition: all 0.3s ease-in-out 0s;
}
.container .content .content-details ul {
  padding-left: 10%;
}
.container .content .content-details ul li::before {
  content: "\f0a9";
  font-family: fontawesome;
  position: absolute;
  left: 5%;
  padding-top: 5px;
  color: #fff;
  font-size: 0.6rem;
}
.container .content .content-details ul li a {
  font-size: 0.8rem;
  color: #edab30;
}
.container .content .content-details h3 {
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.15em;
  margin-bottom: 0.5em;
  text-transform: uppercase;
}
.container .content .content-details h3::after {
  content: "\f0a9";
  color: #edab30;
  display: inline-block;
  margin-left: 0.25em;
  font-family: Fontawesome;
  transform: rotate(90deg);
  transition: 0.4s transform 0.3s ease;
}
.container .content:hover .content-details {
  bottom: -35%;
  left: 50%;
  opacity: 1;
}
.container .content:hover .content-overlay {
  opacity: 1;
}
.container .title {
  color: #1a1a1a;
  text-align: center;
  padding: 10px 0;
}

/* Extra small devices (phones, 600px and down) */
@media only screen and (max-width: 420px) {
  .lala--last img {
    width: 100%;
  }
  .academy-text {
    padding: 30px 30px;
  }
}
/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (max-width: 1150px) {
  .header--wrap--top__inner--center {
    justify-content: center;
    column-gap: 30px;
  }
  .btn__blabla {
    width: 100%;
  }
  .content--info-1 {
    width: 80%;
  }
  .content--info-1--img {
    max-width: 40%;
    float: right;
  }
}
@media only screen and (max-width: 1100px) {
  .header--wrap--top__inner {
    width: 100%;
  }
  .header--wrap--banner {
    width: 100%;
  }
  .agency {
    width: 100%;
    padding: 0 20px;
    column-gap: 20px;
  }
  .agency__ctn {
    width: 435px;
  }
  .slideshow-container {
    width: 100%;
  }
  .section {
    width: 100%;
  }
  .lala--last {
    width: 100%;
  }
  .content--jtest--img {
    flex-flow: wrap;
  }
  .content--jtest--img img {
    padding: 10px 20px;
  }
  .slider-container {
    width: 100%;
  }
  .blabla {
    width: 100%;
    padding: 5%;
    column-gap: 20px;
  }
  .map .map-content {
    width: 100%;
  }
}
@media only screen and (max-width: 900px) {
  .header {
    background: url("../../assets/img/index/Masgroup1k.png") left 15% center no-repeat;
    height: 550px;
    width: 100%;
    background-size: cover;
    position: relative;
  }
  .header .dr-01 {
    display: none;
  }
  .header .dr-02 {
    display: none;
  }
  .header--wrap {
    background: url("../../assets/img/index/wrap.png");
    width: 100%;
    height: 550px;
  }
  .header--wrap--RectangleLeft {
    position: absolute;
  }
  .header--wrap--top {
    position: relative;
    width: 100%;
    height: 71px;
  }
  .header--wrap--top__inner {
    position: absolute;
    width: 100%;
    margin: auto;
    height: 71px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .header--wrap--top__inner--center {
    display: none;
    color: #fff;
    font-size: 18px;
  }
  .header--wrap--top__inner--center a {
    text-decoration: none;
    color: #fff;
    margin: 0 25px;
  }
  .header--wrap--top__inner--center-mb {
    display: flex;
    width: 78%;
    padding: 0 20px;
    justify-content: flex-end;
  }
  .header--wrap--top__inner--center-mb .icon .fa-bars:before {
    color: #fff;
  }
  .header--wrap--top__inner--right {
    padding: 6px 15px;
    height: 40px;
    width: 99px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .header--wrap--top__inner--right img {
    padding-right: 5px;
  }
  .header--wrap--RectangleRight {
    position: absolute;
    right: 0;
    bottom: 0;
  }
  .header--wrap--content {
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    text-align: center;
  }
  .header--wrap--content h3 {
    font-family: "Source Sans Pro", sans-serif;
    font-weight: 400;
    font-size: 40px;
    line-height: 45px;
    color: #fff;
  }
  .header--wrap--content h1 {
    font-family: "Source Sans Pro", sans-serif;
    font-weight: 600;
    font-size: 60px;
    line-height: 65px;
    color: #fff;
    text-align: center;
  }
  .header--wrap--banner {
    z-index: 1;
    width: 100%;
    height: 200px;
    background-color: #fff;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translate(-50%, -50%);
    border: 1px solid #fff;
    box-shadow: 1px 1px 10px 2px rgba(0, 0, 0, 0.3411764706);
  }
  .header--wrap--banner h4 {
    text-align: center;
    height: 50px;
    font-size: 24px;
    font-weight: 400;
    padding-top: 20px;
  }
  .header--wrap--banner h5 {
    text-align: center;
    font-size: 20px;
    color: #888888;
    font-weight: 400;
  }
  .header--wrap--banner--content {
    padding-top: 20px;
    display: flex;
    justify-content: center;
  }
  .header--wrap--banner--content--iteam {
    display: inline-block;
    text-align: center;
    padding: 0 5px;
  }
  .header--wrap--banner--content--iteam--img {
    text-align: center;
  }
  .header--wrap--banner--content--iteam--img img {
    width: 90%;
  }
  .header--wrap--banner--content--iteam span {
    font-size: 18px;
    text-align: center;
    font-weight: 600;
  }
  .header--wrap--banner--content--iteam a {
    text-decoration: none;
    margin-top: 5px;
    font-size: 16px;
    font-weight: 600;
    line-height: 30px;
    color: #000;
  }
  .header--wrap__menu {
    display: none;
  }
  .header--wrap__menu--mb {
    width: 100%;
    height: auto;
    z-index: 999;
    background: #891919;
    position: absolute;
    left: 0;
    top: 71px;
    padding-left: 35px;
  }
  .header--wrap__menu--mb ul {
    padding: 5px 0;
    padding-left: 30px;
  }
  .header--wrap__menu--mb ul li {
    padding: 10px 0;
  }
  .header--wrap__menu--mb ul li a {
    font-size: 18px;
    color: #fff;
    font-family: "Raleway", sans-serif;
    text-decoration: none;
  }
  .agency {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .agency__ctn {
    width: 454px;
  }
  .education {
    width: 100%;
    height: auto;
  }
  .education__ctn {
    height: unset;
    padding: 20px 0;
  }
  .education__ctn__block {
    display: block;
  }
  .education__ctn__block--child {
    width: 100%;
    margin: 10px auto;
  }
  .box {
    height: 150px;
  }
  .line--box {
    display: flex;
    justify-content: center;
    flex-direction: row;
    align-items: center;
    padding-top: 40px;
    padding-bottom: 30px;
  }
  .line--box p {
    color: #891919;
    font-weight: 600;
    font-size: 24px;
    line-height: 49px;
    width: 300px;
    text-align: center;
  }
  .line--box--first {
    width: 196px;
    height: 2px;
    background-color: #891919;
    margin-bottom: 13px;
  }
  .banner {
    height: 270px;
    margin-top: 33px;
    margin-bottom: 37px;
    display: flex;
    justify-content: center;
  }
  .section {
    margin: auto;
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 20px 0px;
  }
  .section--iteam--img {
    position: relative;
  }
  .section--iteam--img__overplay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
    z-index: 9;
    display: none;
  }
  .section--iteam--img--description {
    position: relative;
  }
  .section--iteam--img--description img {
    width: 100%;
  }
  .section--iteam--img p {
    display: block;
    position: absolute;
    left: 50%;
    bottom: 0%;
    transform: translate(-50%, 0%);
    color: white;
    z-index: 100;
  }
  .section--iteam--img:hover {
    cursor: pointer;
    background: url(../../assets/img/index/Rectangle\ 1340.png);
  }
  .section--iteam p {
    text-align: center;
    font-weight: 400;
    font-size: 20px;
    line-height: 30px;
  }
  .section .container .content .content-details h3 {
    font-size: 11px;
  }
  .section .container .content .content-details ul {
    font-size: 10px;
  }
  .content--info {
    position: relative;
    background-color: #891919;
    padding: 40px 10px;
    align-items: center;
    flex-wrap: wrap;
  }
  .content--info-1 {
    margin: auto;
  }
  .content--info-1--img {
    margin-bottom: -4px;
    position: absolute;
    bottom: 0;
    right: 0;
  }
  .content--info-1 h3 {
    font-weight: 600;
    font-size: 24px;
    text-align: center;
    color: #fff;
    margin-bottom: 20px;
  }
  .content--info-1--iteam {
    display: flex;
    justify-items: center;
    border-bottom: 1px solid #fff;
    padding: 20px;
  }
  .content--info-1--iteam p {
    padding-left: 20px;
    font-weight: 400;
    font-size: 20px;
    color: #fff;
  }
  .content--info-1--iteam2 {
    display: flex;
    justify-items: center;
    border-bottom: 1px solid #fff;
    padding: 20px 0 20px 20px;
    justify-content: space-between;
  }
  .content--info-1--iteam2--child {
    display: flex;
  }
  .content--info-1--iteam2--child img {
    width: 40px;
    height: 40px;
  }
  .content--info-1--iteam2--child a {
    padding-left: 20px;
    padding-right: 20px;
    font-weight: 400;
    font-size: 20px;
    color: #fff;
    width: 100%;
    text-decoration: none;
  }
  .content--info-1--iteam2--child p {
    padding-left: 20px;
    padding-right: 20px;
    font-weight: 400;
    font-size: 20px;
    color: #fff;
    width: 100%;
  }
  .content--info-1--iteam3 {
    display: flex;
    justify-items: center;
    padding: 20px;
  }
  .content--info-1--iteam3 p {
    padding-left: 20px;
    font-weight: 400;
    font-size: 20px;
    color: #fff;
  }
  .content--jtest {
    margin-top: 80px;
  }
  .content--jtest--line {
    display: flex;
    justify-content: center;
    flex-direction: row;
    align-items: center;
    padding-bottom: 50px;
  }
  .content--jtest--line--first {
    width: 218px;
    height: 2px;
    background: #891919;
  }
  .content--jtest--line p {
    color: #891919;
    font-weight: 600;
    font-size: 24px;
    padding: 0 15px;
    width: 300px;
    text-align: center;
  }
  .content--jtest--img {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
  .content--jtest--img img {
    padding: 10px 20px;
  }
  .slider-01 {
    height: auto;
  }
  .slider-01 .carousel__item__info__inner img {
    width: 295px;
    height: 380px;
  }
  .slider-01 .carousel__item__info__inner--text {
    margin-top: 20px;
  }
  .btn__blabla {
    padding-bottom: 0px;
  }
  .blabla {
    flex-wrap: wrap;
    column-gap: 5%;
  }
  .blabla .blabla-main {
    width: 100%;
  }
  .blabla .blabla-support {
    width: 100%;
  }
  .blabla .blabla-support-1-item {
    padding-bottom: 0;
  }
  .blabla .blabla-support-1-item_text {
    padding-bottom: 20px;
  }
  .blabla a:hover {
    opacity: 1;
  }
  /* Contact form */
  .content-section {
    padding-top: 50px;
  }
  .content-section-sub {
    display: flex;
    width: 100%;
    margin: auto;
    padding-top: 50px;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .content-section-sub-one p {
    font-size: 20px;
    font-weight: 400;
    color: #000;
    padding: 7px;
  }
  .content-section-sub-one p i {
    padding-left: 5px;
  }
  .content-section-sub-one p a {
    font-size: 20px;
    font-weight: 400;
    color: rgb(108, 128, 160);
    padding: 7px;
    text-decoration: none;
  }
  .section-heading {
    font-size: 30px;
    text-align: center;
    font-weight: 500;
    letter-spacing: 4px;
    color: #891919;
  }
  .section-sub-heading {
    font-size: 18px;
    text-align: center;
    margin-top: 25px;
    font-style: italic;
    opacity: 0.6;
  }
  .content-section-sub-one i[class*=ti-] {
    width: 30px;
    display: inline-block;
  }
  .content-section-sub-one i {
    padding-left: 5px;
  }
  .slider-container {
    width: 100%;
  }
  .map-line-map {
    width: 60%;
  }
  .map-content {
    width: 100%;
    margin: auto;
    padding-top: 0px;
  }
  .map-content-1 {
    display: flex;
    padding: 20px 10px;
    column-gap: 10px;
    flex-wrap: wrap;
  }
  .map-content-1-title {
    padding: 10px;
    width: 100%;
  }
  .map-content-1-title p {
    font-size: 16px;
    font-weight: 400;
    line-height: 30px;
  }
  .map-content-1-address {
    width: 100%;
    height: auto;
  }
  .map-content-1-address iframe {
    width: 100%;
  }
  .footer {
    background: url("../../assets/img/index//Mask group.png");
    height: 400px;
  }
  .footer--content {
    background-color: rgba(0, 0, 0, 0.7);
    height: 400px;
  }
  .footer--content--item {
    width: 100%;
    margin: auto;
    display: flex;
    justify-content: space-between;
    padding: 30px 15px 0 15px;
    flex-wrap: wrap;
  }
  .footer--content--itemLeft--1 {
    display: flex;
    column-gap: 20px;
    padding: 10px 0;
  }
  .footer--content--itemLeft--1 img {
    height: 50%;
  }
  .footer--content--itemLeft--1 p {
    font-size: 20px;
    font-weight: 400;
    color: #fff;
  }
  .footer--content--itemRight {
    display: none;
    flex-direction: column;
    align-items: flex-end;
  }
  .footer--content--itemRight h3 {
    font-weight: 600;
    font-size: 24px;
    color: #fff;
    border-bottom: 1px solid #fff;
    padding-bottom: 10px;
    margin-bottom: 20px;
    width: 100%;
    display: flex;
    justify-content: flex-end;
  }
  .footer--content--itemRight p {
    font-size: 20px;
    font-weight: 400;
    color: #fff;
    margin-bottom: 20px;
  }
  .footer--content--line {
    display: none;
  }
  .footer--content--copyright {
    padding: 0 15px;
    line-height: unset;
  }
  .arrow-up {
    width: 0;
    height: 0;
    border-left: 30px solid transparent;
    border-right: 30px solid transparent;
    border-bottom: 40px solid #D9D9D9;
    position: relative;
    left: 50%;
    transform: translate(-50%, 0%);
  }
  .tooltip {
    width: 950px;
    height: 203px;
    margin: 0px auto;
    display: none;
  }
  .tooltip1 .arrow-up {
    left: 10%;
    transform: translate(-50%, 0%);
  }
  .tooltip3 .arrow-up {
    left: 90%;
    transform: translate(-50%, 0%);
  }
  .block {
    background-color: #D9D9D9;
    display: flex;
    width: 100%;
    height: 100%;
    padding: 15px;
  }
  .block img {
    flex: 0 0 45%;
  }
  .block .text {
    flex: 0 0 55%;
    padding-left: 15px;
  }
  .block .text p {
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 20px;
  }
  .slideshow-container {
    width: 100%;
    position: relative;
    margin: auto;
  }
  /* Hide the images by default */
  .mySlides {
    display: none;
  }
  /* Next & previous buttons */
  .prev, .next {
    cursor: pointer;
    position: absolute;
    top: 50%;
    width: auto;
    margin-top: -22px;
    padding: 16px;
    color: white;
    font-weight: bold;
    font-size: 18px;
    transition: 0.6s ease;
    border-radius: 0 3px 3px 0;
    user-select: none;
  }
  /* Position the "next button" to the right */
  .next {
    right: 0;
    border-radius: 3px 0 0 3px;
  }
  /* On hover, add a black background color with a little bit see-through */
  .prev:hover, .next:hover {
    background-color: rgba(0, 0, 0, 0.8);
  }
  /* Caption text */
  .text {
    color: #f2f2f2;
    font-size: 15px;
    padding: 8px 12px;
    position: absolute;
    bottom: 8px;
    width: 70%;
    text-align: center;
    left: 50%;
    transform: translate(-50%, 0%);
    text-align: center;
  }
  /* Number text (1/3 etc) */
  .numbertext {
    color: #f2f2f2;
    font-size: 12px;
    padding: 8px 12px;
    position: absolute;
    top: 0;
  }
  /* The dots/bullets/indicators */
  .dot {
    cursor: pointer;
    height: 15px;
    width: 15px;
    margin: 0 2px;
    background-color: #bbb;
    border-radius: 50%;
    display: inline-block;
    transition: background-color 0.6s ease;
  }
  .active, .dot:hover {
    background-color: #717171;
  }
  /* Fading animation */
  .fade {
    animation-name: fade;
    animation-duration: 1.5s;
  }
  @keyframes fade {
    from {
      opacity: 0.4;
    }
    to {
      opacity: 1;
    }
  }
}
@media screen and (max-width: 800px) {
  .education__title {
    width: 60%;
    margin: auto;
  }
  .education__title h3 {
    font-size: 20px;
  }
}
@media screen and (max-width: 670px) {
  .education__title {
    width: 78%;
    margin: auto;
  }
}
@media only screen and (max-width: 600px) {
  .header {
    height: 450px;
  }
  .header--wrap {
    height: 450px;
  }
  .header--wrap--content h3 {
    font-size: 30px;
  }
  .header--wrap--content h1 {
    font-size: 50px;
  }
  .agency {
    padding: 0 10%;
    margin-top: 0px;
  }
  .agency--ctn {
    align-items: center;
  }
  .education {
    padding: 0 5%;
  }
  .slider-01 {
    height: auto;
  }
  .slider-01 .carousel__item__info__inner--text {
    margin-top: 20px;
  }
}
@media only screen and (max-width: 500px) {
  .agency {
    width: 95%;
  }
  .agency__img {
    width: 100%;
    height: auto;
  }
  .agency__img img {
    width: 100%;
  }
  .agency__ctn {
    width: 100%;
  }
  .education__title {
    width: 100%;
    margin: auto;
  }
  .education__title h3 {
    font-size: 16px;
  }
  .header--wrap--banner--content {
    column-gap: 0;
  }
  .header--wrap--banner--content--iteam--img {
    display: flex;
    justify-content: center;
  }
  .header--wrap--banner--content--iteam--img img {
    width: 70%;
  }
  .education__ctn {
    padding: 10px 0;
  }
  .education__ctn__block {
    margin: 0 10px;
  }
  .academy__ctn--box {
    margin: 0;
    padding: 0 10px;
  }
  .academy__ctn--box img {
    width: 100%;
  }
  .slider-01 {
    height: auto;
  }
  .slider-01 .carousel__item__info__inner img {
    width: 295px;
    height: 380px;
  }
  .slider-01 .carousel__item__info__inner--text {
    margin-top: 20px;
  }
  .content--info-1--iteam_container {
    width: 100%;
  }
  .content--info-1--iteam_container--iteam {
    width: 100%;
  }
  .footer {
    height: 450px;
  }
  .footer--content {
    height: 450px;
  }
}
.banner-life {
  background: url(../../assets/img/index_new/pic_banner_02.png) center 0;
  background-size: cover;
  text-shadow: 1px 2px 1px rgba(0, 0, 0, 0.4784313725);
}
.banner-life h3 {
  font-family: "Source Sans Pro", sans-serif;
  font-weight: 400;
  font-size: 40px;
  line-height: 30px;
  color: #fff;
}
.banner-life h1 {
  font-family: "Source Sans Pro", sans-serif;
  font-weight: 600;
  margin-top: 20px;
  font-size: 60px;
  color: #fff;
  text-align: center;
}

@media only screen and (max-width: 600px) {
  .banner-life h3 {
    font-size: 30px;
  }
  .banner-life h1 {
    font-size: 50px;
  }
}
.banner-supports {
  background: url(../../assets/img/supports/pic_banner_sp.png) center 0;
  background-size: cover;
  text-shadow: 1px 2px 1px rgba(0, 0, 0, 0.4784313725);
}
.banner-supports h3 {
  font-family: "Source Sans Pro", sans-serif;
  font-weight: 400;
  font-size: 40px;
  line-height: 30px;
  color: #fff;
}
.banner-supports h1 {
  font-family: "Source Sans Pro", sans-serif;
  font-weight: 600;
  font-size: 60px;
  color: #fff;
  text-align: center;
}
.banner-supports h1 span {
  margin-top: 20px;
  min-width: 420px;
  display: block;
  text-align: center;
}

.life__ctn--box__ss--img img {
  width: 100%;
  height: 100%;
}

.life__text-p p {
  font-size: 15px !important;
}

@media only screen and (max-width: 600px) {
  .banner-supports h3 {
    font-size: 30px;
  }
  .banner-supports h1 {
    font-size: 50px;
  }
  .banner-supports h1 span {
    min-width: 350px;
  }
}
.banner-career {
  background: url(../../assets/img/career/pic_banner_carrer.png) center 0;
  background-size: cover;
  text-shadow: 1px 2px 1px rgba(0, 0, 0, 0.4784313725);
}
.banner-career--content {
  display: flex;
}
.banner-career--content h3 {
  font-family: "Source Sans Pro", sans-serif;
  font-weight: 400;
  font-size: 40px;
  line-height: 30px;
  color: #fff;
}
.banner-career--content h1 {
  font-family: "Source Sans Pro", sans-serif;
  font-weight: 600;
  margin-top: 20px;
  font-size: 60px;
  color: #fff;
}
.banner-career--content h1 span {
  margin-top: 20px;
  min-width: 240px;
  display: block;
  text-align: center;
}

@media only screen and (max-width: 600px) {
  .banner-career h3 {
    font-size: 30px;
  }
  .banner-career h1 {
    font-size: 50px;
    min-width: 250px;
  }
}
.banner-life {
  background: url(../../assets/img/index_new/pic_banner_02.png) center 0;
  background-size: cover;
  text-shadow: 1px 2px 1px rgba(0, 0, 0, 0.4784313725);
}
.banner-life h3 {
  font-family: "Source Sans Pro", sans-serif;
  font-weight: 400;
  font-size: 40px;
  line-height: 30px;
  color: #fff;
}
.banner-life h1 {
  font-family: "Source Sans Pro", sans-serif;
  font-weight: 600;
  margin-top: 20px;
  font-size: 60px;
  color: #fff;
  text-align: center;
}

@media only screen and (max-width: 600px) {
  .banner-life h3 {
    font-size: 30px;
  }
  .banner-life h1 {
    font-size: 50px;
  }
}
.banner-life-student {
  background: url(../../assets/img/index/pic_student-banner.png) center 0;
  background-size: cover;
  text-shadow: 1px 2px 1px rgba(0, 0, 0, 0.4784313725);
}
.banner-life-student h3 {
  font-family: "Source Sans Pro", sans-serif;
  font-weight: 400;
  font-size: 40px;
  line-height: 30px;
  color: #fff;
}
.banner-life-student h1 {
  font-family: "Source Sans Pro", sans-serif;
  font-weight: 600;
  margin-top: 20px;
  font-size: 60px;
  color: #fff;
  text-align: center;
}

.c-body .life {
  padding: 20px 30px 20px;
}
.c-body .life__ctn__title {
  font-weight: 600;
  color: #891919;
}
.c-body .life__ctn__item {
  padding-left: 32px;
}

p {
  font-size: 16px;
  line-height: 35px;
}

.banner-supports {
  background: url(../../assets/img/supports/pic_banner_sp.png) center 0;
  background-size: cover;
  text-shadow: 1px 2px 1px rgba(0, 0, 0, 0.4784313725);
}
.banner-supports h3 {
  font-family: "Source Sans Pro", sans-serif;
  font-weight: 400;
  font-size: 40px;
  line-height: 30px;
  color: #fff;
}
.banner-supports h1 {
  font-family: "Source Sans Pro", sans-serif;
  font-weight: 600;
  font-size: 60px;
  color: #fff;
  text-align: center;
}
.banner-supports h1 span {
  margin-top: 20px;
  min-width: 420px;
  display: block;
  text-align: center;
}

.life__ctn--box__ss--img img {
  width: 100%;
  height: 100%;
}

.life__text-p p {
  font-size: 15px !important;
}

/* ===============================
   募集要項テーブル
   =============================== */

.recruit-table {
  border-collapse: collapse;
  table-layout: auto;
  width: auto;           /* 必要な分だけ表示（右端まで伸びすぎない） */
  max-width: 100%;
  margin-bottom: 1rem;
  font-family: "Source Sans Pro", sans-serif;
  font-size: 14px;
}

.recruit-table th,
.recruit-table td {
  border: 1px solid #999;
  padding: 2px 5px;
  vertical-align: top;
}

.recruit-table p {
  margin: 0;
  line-height: 1.4;
}

/* 表のレスポンシブ対応（横スクロール可能にする） */
.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; /* iOSでのスムーズスクロール */
  margin-bottom: 1rem;
}

/* ===============================
   Word由来のインデント対応
   =============================== */

.life__ctn .MsoBodyTextIndent,
.life__ctn .MsoBodyTextIndent2,
.life__ctn .MsoListParagraph {
  margin-left: 1em;
}

/* 段落番号のぶら下げインデント */
.life__ctn__item .indent-level-1 {
  margin-left: 0;
  padding-left: 2em;
  text-indent: -2em;
}

.life__ctn__item .indent-level-2 {
  margin-left: 1em;
  padding-left: 2em;
  text-indent: -2em;
}

.life__ctn__item .indent-level-3 {
  margin-left: 2em;
  padding-left: 2em;
  text-indent: -2em;
}

.life__ctn__item .indent-level-4 {
  margin-left: 3em;
  padding-left: 2em;
  text-indent: -2em;
}

/* hr（Wordの罫線置き換え用） */
.life__ctn hr {
  border: none;
  border-bottom: 1px solid #000;
  margin: 10px 0;
}

@media only screen and (max-width: 600px) {
  .banner-supports h3 {
    font-size: 30px;
  }
  .banner-supports h1 {
    font-size: 50px;
  }
  .banner-supports h1 span {
    min-width: 350px;
  }

  .banner-life-student h1 {
    font-family: "Source Sans Pro", sans-serif;
    font-weight: 600;
    margin-top: 20px;
    font-size: 45px;
    color: #fff;
    text-align: center;
  }
}
.banner-introduction {
  background: url(../../assets/img/introduction/banner.jpg) center 0;
  background-size: cover;
}
.banner-introduction h1 {
  font-weight: 600;
  font-size: 48px;
  line-height: 30px;
  color: #FFF;
  text-align: center;
}

/* pagination position styling */
.pagination_section {
  text-align: center;
  padding: 50px 0 80px 0;
}

/* pagination styling */
.pagination_section a {
  color: #7D9097;
  padding: 10px 18px;
  text-decoration: none;
}

/* pagination hover effect on non-active */
.pagination_section a:hover:not(.active) {
  background-color: #031F3B;
  color: white;
}

/* pagination hover effect on active*/
.pagination_section a i {
  color: #fff;
}
.pagination_section a:nth-child(5) {
  color: #000;
}
.pagination_section a:nth-child(1) {
  font-weight: bold;
}
.pagination_section a:nth-child(7) {
  font-weight: bold;
}
.pagination_section a:first-child {
  background-color: #891919;
  padding: 10px 14px;
}
.pagination_section a:last-child {
  background-color: #891919;
  padding: 10px 14px;
}

#button {
  display: inline-block;
  background-color: #891919;
  width: 50px;
  height: 50px;
  text-align: center;
  border-radius: 50%;
  position: fixed;
  bottom: 30px;
  right: 30px;
  transition: background-color 0.3s, opacity 0.5s, visibility 0.5s;
  opacity: 0;
  visibility: hidden;
  z-index: 1000;
}

#button::after {
  content: "\f0d8";
  font-family: FontAwesome;
  font-weight: normal;
  font-style: normal;
  font-size: 2em;
  line-height: 50px;
  color: #fff;
}

#button:hover {
  cursor: pointer;
  background-color: #333;
}

#button:active {
  background-color: #555;
}

#button.show {
  opacity: 1;
  visibility: visible;
}

/* Styles for the content section */
.content {
  width: 77%;
  margin: 50px auto;
  font-family: "Merriweather", serif;
  font-size: 17px;
  color: #6c767a;
  line-height: 1.9;
}

@media (min-width: 500px) {
  .content {
    width: 43%;
  }
  #button {
    margin: 30px;
  }
}
.content h1 {
  margin-bottom: -10px;
  color: #03a9f4;
  line-height: 1.5;
}

.content h3 {
  font-style: italic;
  color: #96a2a7;
}

.life__ctn--box {
  display: flex;
  justify-content: space-around;
}
.life__ctn--box a img {
  width: 90%;
}

@media (min-width: 1200px) {
  .prev-arrow {
    left: 60px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border: none;
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 50px;
    line-height: 1;
    z-index: 5;
    transition: all 0.2s linear;
  }
  
  .next-arrow {
    right: 60px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border: none;
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 50px;
    line-height: 1;
    z-index: 5;
    transition: all 0.2s linear;
  }
}

@media (max-width: 1200px) {
  .prev-arrow {
    display: none !important;
  }
  
  .next-arrow {
    display: none !important;
  }
}

/* Word(OpenXML) 由来のスペース表示用
   PC ではスペースと改行を保持し、
   スマホでは通常のテキスト同様にスペースを圧縮して表示する */
.keep-space {
  /* デフォルトは通常表示（保険） */
  white-space: normal;
}

/* PC / タブレット（横幅 768px 以上）：スペースを保持して Word 風に表示 */
@media (min-width: 768px) {
  .keep-space {
    white-space: pre-wrap;
    word-break: break-word;
  }
}

/* スマホ（横幅 767px 以下）：スペースは通常どおり圧縮して表示 */
@media (max-width: 767px) {
  .keep-space {
    white-space: normal;
  }
}

/* ========================================
   募集要項PDF用スタイル（.pdf-bodyスコープ）
   ======================================== */
/*
        @font-face {
            font-family: 'Noto Sans CJK JP';
            src: local('Noto Sans CJK JP');
            font-weight: 400;
        }
        @font-face {
            font-family: 'Noto Sans CJK JP';
            src: local('Noto Sans CJK JP Bold');
            font-weight: 700;
        }
*/
        :root {
            --primary-color: #a80000;
            --primary-light: #d32f2f;
            --bg-pink: #e6c5c5;
            --bg-light-pink: #eacccc;
            --bg-table-row: #dcbaba;
            --border-color: #ccc;
            --text-color: #333;
            --timeline-red: #d34040;
        }

        /* 全要素に border-box を適用 - admission.cssの既存ルールを使用 */

        .pdf-body {
            font-family: "Source Sans Pro", sans-serif;
            color: var(--text-color);
            background-color: #ffffff;
            margin: 0;
            padding: 20px;
            line-height: 1.7;
            -webkit-print-color-adjust: exact;
            print-color-adjust: exact;
            font-size: 16px;
        }

        .pdf-body .document-container {
            max-width: 900px;
            margin: 0 auto;
            background-color: white;
            padding: 50px;
            box-shadow: 0 0 15px rgba(0,0,0,0.1);
        }

        /* Header */
        .pdf-body header {
            text-align: center;
            margin-bottom: 30px;
        }

        .pdf-body h1.main-title {
            color: var(--primary-color);
            font-size: 32px;
            font-weight: 700;
            margin: 0 0 10px 0;
            font-family: "Source Sans Pro", serif;
        }

        .pdf-body h2.sub-title {
            color: var(--primary-color);
            font-size: 24px;
            font-weight: 500;
            margin: 0;
            font-family: "Source Sans Pro", serif;
        }
        
        .pdf-body h4 {
            font-size: 18px;
            font-weight: 500;
            margin: 0;
            font-family: "Source Sans Pro";
        }

        /* Section Headings */
        .pdf-body .section-header {
            display: flex;
            align-items: center;
            border-bottom: 3px solid var(--primary-color);
            margin-top: 30px;
            margin-bottom: 15px;
            padding-bottom: 5px;
        }

        .pdf-body .section-number {
            background-color: var(--primary-color);
            color: white;
            font-size: 26px;
            font-weight: bold;
            width: 35px;
            height: 35px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-right: 10px;
        }

        .pdf-body .section-title {
            font-size: 28px;
            font-weight: 700;
            color: #000;
        }

        /* Text Content */
        .pdf-body p {
            font-size: 18px;
            margin-bottom: 10px;
        }

        .pdf-body ul.conditions-list {
            list-style: none;
            padding: 0;
            margin: 0 0 10px 10px;
            font-size: 18px;
        }

        .pdf-body ul.conditions-list li {
            margin-bottom: 6px;
            text-indent: -1em;
            padding-left: 1em;
        }
        
        .pdf-body ul.conditions-list li::before {
            content: "・";
            margin-right: 0px;
        }

        .pdf-body .note {
            font-size: 16px;
            margin-left: 1em;
            display: block;
        }

        .pdf-body .step_note {
            font-size: 16px;
            font-weight:normal
        }

        /* Tables General */
        .pdf-body table {
            width: 100%;
            border-collapse: collapse;
            font-size: 17px;
            margin-bottom: 15px;
        }

        .pdf-body th, .pdf-body td {
            border: 1px solid #999;
            padding: 8px 10px;
            vertical-align: middle;
        }

        /* Table Style 1: Course List */
        .pdf-body .course-list-table th {
            background-color: var(--primary-color);
            color: white;
            width: 30%;
            text-align: left;
            font-weight: bold;
        }

        .pdf-body .course-list-table td {
            background-color: var(--bg-table-row);
            color: #333;
        }

        /* レスポンシブ時のコース名改行用 */
        .pdf-body .course-list-table th .course-name-main {
            display: inline;
        }
        .pdf-body .course-list-table th .course-name-sub {
            display: inline;
        }

        /* コース一覧テーブルの空白セル */
        .pdf-body .course-list-table td.spacer-cell {
            width: 15px;
            min-width: 8px;
            max-width: 8px;
            background-color: white;
            border: none;
            padding: 0;
        }

        /* 提出書類テーブルの空白セル */
        .pdf-body .docs-table td.spacer-cell {
            width: 10px;
            min-width: 8px;
            max-width: 8px;
            background-color: white;
            border: none;
            padding: 0;
        }

        /* Table Style 2: Timeline */
        .pdf-body .timeline-table {
            border-spacing: 0;
            width: 100%;
            table-layout: fixed;
        }
        .pdf-body .timeline-table th, .pdf-body .timeline-table td {
            border: 1px solid #333;
            text-align: center;
            padding: 0;
            height: 28px;
        }
        .pdf-body .timeline-table .month-header {
            background-color: var(--primary-color);
            color: white;
            font-weight: bold;
            border-left: 1px solid white;
            border-right: 1px solid white;
        }
        .pdf-body .timeline-table .course-name-col {
            background-color: var(--primary-color);
            color: white;
            text-align: left;
            padding-left: 8px;
            padding-right: 8px;
            width: auto;
            min-width: 150px;
            white-space: nowrap;
            border-right: 1px solid #333;
            border-top: 1px solid white;
            border-bottom: 1px solid white;
            font-size: 14px;
        }
        .pdf-body .timeline-table td {
            background-color: white;
        }
        .pdf-body .timeline-table td.month-start {
            border-left: 1px solid #333;
        }
        .pdf-body .timeline-table td.month-end {
            border-right: 1px solid #333;
        }
        .pdf-body .timeline-table td.month-mid-border {
            border-right: 1px dashed #333;
        }
        .pdf-body .timeline-table td.filled-red {
            background-color: var(--timeline-red) !important;
            color: white;
            font-weight: bold;
            font-family: "Source Sans Pro", sans-serif;
            font-size: 19px;
            text-shadow: 0 0 2px rgba(0,0,0,0.3);
            background-clip: padding-box; 
        }

        .pdf-body .timeline-legend {
            font-size: 17px;
            margin-top: 5px;
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
        }

        /* レスポンシブ用テーブル（デフォルト非表示） */
        .pdf-body .timeline-responsive,
        .pdf-body .fees-responsive,
        .pdf-body .refund-responsive {
            display: none;
        }

        .pdf-body .timeline-group {
            margin-bottom: 10px;
        }

        .pdf-body .timeline-group-label {
            font-weight: bold;
            font-size: 16px;
            margin-bottom: 5px;
            color: var(--primary-color);
        }

        .pdf-body .timeline-group table {
            margin-bottom: 0;
        }

        /* Table Style 3: Fees */
        .pdf-body .fees-table th {
            background-color: var(--primary-color);
            color: white;
            text-align: center;
            font-weight: bold;
        }
        .pdf-body .fees-table .row-header {
            background-color: var(--primary-color);
            color: white;
            text-align: left;
            width: auto;
            min-width: 120px;
            white-space: nowrap;
        }
        .pdf-body .fees-table td {
            text-align: center;
            background-color: white;
            font-weight: bold;
        }

        .pdf-body .fees-responsive table {
            margin-bottom: 15px;
        }
        
        /* Table Style 4: Documents */
        .pdf-body .docs-table {
            border-collapse: collapse;
        }
        .pdf-body .docs-table td.num-cell {
            background: #880e4f;
            color: white;
            font-weight: bold;
            font-size: 16px;
            text-align: center;
            vertical-align: middle;
            width: 40px;
            min-width: 40px;
            border: 1px solid #333;
            padding: 8px 0;
        }
        .pdf-body .docs-table td.doc-name {
            background-color: white;
            color: #333;
            text-align: left;
            font-weight: normal;
            border: 1px solid #333;
            padding: 8px 10px;
            vertical-align: middle;
            width: 180px;
            min-width: 180px;
            white-space: nowrap;
        }
        .pdf-body .docs-table td.doc-desc {
            background-color: var(--bg-table-row);
            border: 1px solid #999;
            padding: 4px 3px;
            vertical-align: middle;
            font-size: 16px;
        }

        /* 提出書類テーブル用：上下余白を半分にするスタイル */
        .pdf-body .docs-table tr.docs-compact td.num-cell {
            padding: 4px 0;
        }
        .pdf-body .docs-table tr.docs-compact td.doc-name {
            padding: 4px 10px;
        }
        .pdf-body .docs-table tr.docs-compact td.doc-desc {
            padding: 2px 3px;
        }

        /* 提出書類テーブル用：行間スペーサー */
        .pdf-body .docs-table tr.docs-row-spacer td {
            height: 4px;
            padding: 0;
            border: none;
            background-color: white;
        }

        /* --- Step Flow (Alignment Fixed) --- */
        .pdf-body .flow-container {
            display: flex;
            flex-direction: column;
            gap: 0;
            margin-bottom: 20px;
            padding-bottom: 10px;
        }

        .pdf-body .flow-row {
            display: flex;
            align-items: stretch;
            min-height: 40px;
            margin-bottom: 12px;
            position: relative;
            overflow: visible;
        }
        
        /* Step 5/6 Merged Row Container */
        .pdf-body .flow-merged-row {
            display: flex;
            align-items: stretch;
            margin-bottom: 12px;
            position: relative;
            overflow: visible;
        }

        /* 共通のボックススタイル（STEP 1, 2, 7, 8用） */
        .pdf-body .step-box {
            background-color: white;
            color: #333;
            width: 45%;
            padding: 0;
            padding-right: 10px;
            font-size: 17px;
            font-weight: normal;
            position: relative;
            display: flex;
            align-items: center;
            margin-right: 15px;
            z-index: 2;
            flex: 0 0 45%;
            overflow: visible;
            min-height: 50px;
            border: 1px solid #333;
        }

        /* Step badge (STEP N 部分) */
        .pdf-body .step-badge {
            background-color: #880e4f;
            color: white;
            padding: 0px 12px;
            font-weight: bold;
            display: flex;
            align-items: center;
            justify-content: center;
            white-space: nowrap;
            flex-shrink: 0;
            align-self: stretch;
            margin: -1px 0 -1px -1px;
        }

        /* Step text (STEP N の右のテキスト部分) */
        .pdf-body .step-text {
            display: inline;
            padding-left: 10px;
        }

        /* 矢印 (▼) の設定 */
        .pdf-body .step-box::after {
            content: "▼";
            position: absolute;
            top: 100%;
            left: 50%;
            transform: translateX(-50%) scaleX(1.5);
            color: black;
            font-size: 12px; 
            z-index: 10;
            line-height: 1;
            margin-top: -1px;
        }

        .pdf-body .step-box.no-arrow::after {
            display: none;
        }

        /* 右側の説明文 */
        .pdf-body .step-desc {
            background-color: var(--bg-light-pink);
            flex: 1;
            padding: 5px;
            font-size: 16px;
            display: flex;
            align-items: center;
            position: relative;
        }

        /* 吹き出しの三角（左向き） */
        .pdf-body .step-desc::before {
            content: "";
            position: absolute;
            left: -15px;
            top: 50%;
            transform: translateY(-50%);
            border-width: 8px 15px 8px 0;
            border-style: solid;
            border-color: transparent var(--bg-light-pink) transparent transparent;
        }

        /* 左側の列（Step 5 & 6用） */
        .pdf-body .flow-left-col {
            display: flex;
            flex-direction: column;
            width: 45%;
            margin-right: 15px;
            flex: 0 0 45%;
            overflow: visible;
        }

        /* Step 3, 4, 5, 6 のボックス */
        .pdf-body .flow-left-col .step-box-inner {
            background-color: white;
            color: #333;
            width: 100%;
            padding: 0;
            padding-right: 10px;
            font-size: 17px;
            font-weight: normal;
            position: relative;
            display: flex;
            align-items: center;
            min-height: 50px;
            z-index: 2;
            overflow: visible;
            border: 1px solid #333;
        }

        /* Step 3, 4, 5, 6 の下の矢印（共通スタイル） */
        .pdf-body .flow-left-col .step-box-inner.step::after {
            content: "▼";
            position: absolute;
            top: 100%;
            left: 50%;
            transform: translateX(-50%) scaleX(1.5);
            color: black;
            font-size: 12px;
            z-index: 10;
            line-height: 1;
            margin-top: -1px;
        }
        
        /* Step 5 と Step 6 の間の隙間 */
        .pdf-body .step-gap {
            height: 12px;
            width: 100%;
        }

        /* 合体版の右側カラム */
        .pdf-body .flow-right-col-merged {
            flex: 1;
            display: flex;
        }
        .pdf-body .flow-right-col-merged .step-desc {
            width: 100%;
            height: auto;
        }

        /* Refund Table */
        .pdf-body .refund-table-container {
            text-align: left;
        }
        .pdf-body .refund-table {
            width: auto;
            margin-left: 0;
        }
        .pdf-body .refund-table th.header-red {
            background-color: var(--primary-color);
            color: white;
            font-weight: bold;
        }
        .pdf-body .refund-table .header-sub {
            background-color: var(--bg-table-row);
            color: black;
            font-weight: bold;
            border: 1px solid #999;
        }
        .pdf-body .refund-table th {
            font-weight: normal;
            font-size: 16px;
        }
        .pdf-body .refund-table td {
            font-size: 16px;
        }
        .pdf-body .refund-table td.center-middle {
            text-align: left;
            vertical-align: middle;
        }

        .pdf-body .refund-responsive table {
            margin-bottom: 10px;
        }

        /* Withdrawal Table */
        .pdf-body .withdrawal-table th {
            background-color: var(--primary-color);
            color: white;
            text-align: center;
        }
        .pdf-body .withdrawal-table td {
            background-color: white;
            font-size: 16px;
        }

        .pdf-body h4 {
            margin: 10px 0;
            font-weight: bold;
        }

        /* ============================================
           印刷用ページ設定
           ============================================ */
        @page {
            margin-top: 0mm;
            margin-bottom: 10mm;
            margin-left: 10mm;
            margin-right: 10mm;
        }

        /* ============================================
           印刷用スタイル（PDF出力時）
           ============================================ */
        @media print {
            /* ページ区切り */
            .pdf-body .page-break-before {
                page-break-before: always;
            }
            
            .pdf-body {
                padding: 0;
                background-color: white;
                line-height: 1.45;
                font-size: 12.5px;
            }

            .pdf-body .document-container {
                box-shadow: none;
                padding: 15px 20px;
                max-width: none;
            }

            /* テキストサイズをPDF版に合わせる */
            .pdf-body p {
                font-size: 12.5px;
                margin-bottom: 6px;
            }

            .pdf-body ul.conditions-list {
                font-size: 12.5px;
                margin-bottom: 6px;
            }

            .pdf-body ul.conditions-list li {
                margin-bottom: 3px;
            }

            .pdf-body .note {
                font-size: 11.5px;
            }

            .pdf-body .step_note {
                font-size: 11.5px;
            }

            .pdf-body table {
                font-size: 11.5px;
                margin-bottom: 10px;
            }

            .pdf-body th, .pdf-body td {
                padding: 5px 8px;
            }

            /* PC用テーブルを表示、レスポンシブ用を非表示 */
            .pdf-body .timeline-table {
                display: table !important;
            }
            .pdf-body .timeline-responsive {
                display: none !important;
            }

            .pdf-body .fees-table-pc {
                display: table !important;
            }
            .pdf-body .fees-responsive {
                display: none !important;
            }

            .pdf-body .refund-table-container {
                display: block !important;
            }
            .pdf-body .refund-responsive {
                display: none !important;
            }

            /* コース名を1行表示 */
            .pdf-body .course-list-table th .course-name-main {
                display: inline;
            }
            .pdf-body .course-list-table th .course-name-sub {
                display: inline;
            }

            /* 印刷時のフォントサイズ調整（11px共通） */
            .pdf-body .docs-table td.doc-desc,
            .pdf-body .docs-table td.doc-name,
            .pdf-body .refund-table th,
            .pdf-body .refund-table td,
            .pdf-body .withdrawal-table td,
            .pdf-body .step-desc,
            .pdf-body .timeline-legend {
                font-size: 11px;
            }

            /* フローチャート（11.5px共通） */
            .pdf-body .step-box,
            .pdf-body .flow-left-col .step-box-inner {
                font-size: 11.5px;
            }

            /* PDF変換時のSTEPボックス */
            .pdf-body .step-box,
            .pdf-body .flow-left-col .step-box-inner {
                padding: 0;
                padding-right: 10px;
                position: relative;
            }
            /* PDF変換時のSTEPバッジを絶対位置指定で親borderの上に重ねる */
            .pdf-body .step-badge {
                padding: 0px 10px;
                position: absolute;
                left: 1px;
                top: 1px;
                bottom: 1px;
                width: 62px;
                align-items: center;
                justify-content: center;
            }
            /* PDF変換時のSTEPテキストを上下中央配置 */
            .pdf-body .step-text {
                align-items: center;
                padding-left: 65px;
            }

            /* PDF変換時の▼下の空白を調整 */
            .pdf-body .flow-row {
                margin-bottom: 14px;
                min-height: auto;
            }
            .pdf-body .flow-merged-row {
                margin-bottom: 14px;
            }
            .pdf-body .step-gap {
                height: 14px;
            }
            
            /* PDF変換時のSTEPボックスのmin-height調整 */
            .pdf-body .step-box,
            .pdf-body .flow-left-col .step-box-inner {
                min-height: 36px;
            }
            
            /* PDF変換時の矢印位置調整 */
            .pdf-body .step-box::after,
            .pdf-body .flow-left-col .step-box-inner.step::after {
                font-size: 12px;
                margin-top: 0;
            }
        }

        /* ============================================
           レスポンシブデザイン（768px以下）
           ============================================ */
        @media screen and (max-width: 768px) {
            .pdf-body {
                padding: 0px;
                font-size: 18px;
            }

            .pdf-body .document-container {
                padding: 20px 0px;
            }

            .pdf-body h1.main-title {
                font-size: 24px;
            }

            .pdf-body h2.sub-title {
                font-size: 18px;
            }

            .pdf-body h4 {
                font-size: 18px;
                font-weight: 500;
                margin: 0;
                font-family: "Source Sans Pro";
            }

            .pdf-body .section-title {
                font-size: 20px;
            }

            .pdf-body p {
                font-size: 18px;
            }

            .pdf-body ul.conditions-list {
                font-size: 18px;
            }

            .pdf-body .note {
                font-size: 16px;
            }

            .pdf-body .step_note {
                font-size: 16px;
            }

            /* コース一覧テーブル：コース名改行 */
            .pdf-body .course-list-table th {
                width: 35%;
                font-size: 18px;
                padding: 8px 6px;
            }
            .pdf-body .course-list-table th .course-name-main {
                display: block;
            }
            .pdf-body .course-list-table th .course-name-sub {
                display: block;
                font-size: 18px;
            }
            .pdf-body .course-list-table td {
                font-size: 18px;
                padding: 8px 6px;
            }

            /* PC用タイムラインを非表示、レスポンシブ用を表示 */
            .pdf-body .timeline-table {
                display: none;
            }
            .pdf-body .timeline-responsive {
                display: block;
            }

            .pdf-body .timeline-responsive .timeline-table-small {
                width: 100%;
                font-size: 13px;
                margin-bottom: 13px;
                table-layout: fixed;
            }
            .pdf-body .timeline-responsive .timeline-table-small th,
            .pdf-body .timeline-responsive .timeline-table-small td {
                padding: 4px 2px;
                height: 28px;
                text-align: center;
                vertical-align: middle;
            }
            .pdf-body .timeline-responsive .timeline-table-small .month-header {
                background-color: var(--primary-color);
                color: white;
                font-weight: bold;
                font-size: 13px;
            }
            .pdf-body .timeline-responsive .timeline-table-small .course-name-col {
                background-color: var(--primary-color);
                color: white;
                font-size: 12px;
                padding: 4px 3px;
                white-space: nowrap;
                text-align: left;
                width: auto;
            }
            .pdf-body .timeline-responsive .timeline-table-small td.filled-red {
                background-color: var(--timeline-red) !important;
                color: white;
                font-weight: bold;
                font-family: "Source Sans Pro", sans-serif;
                font-size: 15px;
                text-shadow: 0 0 2px rgba(0,0,0,0.3);
                text-align: center;
                vertical-align: middle;
            }

            .pdf-body .timeline-legend {
                font-size: 18px;
                flex-direction: column;
                gap: 3px;
            }

            /* PC用学費テーブルを非表示、レスポンシブ用を表示 */
            .pdf-body .fees-table-pc {
                display: none;
            }
            .pdf-body .fees-responsive {
                display: block;
            }
            .pdf-body .fees-responsive table {
                font-size: 15px;
            }
            .pdf-body .fees-responsive th {
                background-color: var(--primary-color);
                color: white;
                font-weight: bold;
            }
            .pdf-body .fees-responsive .row-header {
                background-color: var(--primary-color);
                color: white;
                text-align: left;
                width: 30%;
            }
            .pdf-body .fees-responsive td {
                text-align: center;
                background-color: white;
                font-weight: bold;
            }

            /* PC用返金テーブルを非表示、レスポンシブ用を表示 */
            .pdf-body .refund-table-container {
                display: none;
            }
            .pdf-body .refund-responsive {
                display: block;
            }
            .pdf-body .refund-responsive table {
                font-size: 15px;
            }
            .pdf-body .refund-responsive th.header-red {
                background-color: var(--primary-color);
                color: white;
                font-weight: bold;
            }
            .pdf-body .refund-responsive .header-sub {
                background-color: var(--bg-table-row);
                color: black;
                font-weight: bold;
                font-size: 15px;
            }
            .pdf-body .refund-responsive td {
                font-size: 15px;
            }

            /* 提出書類テーブル：番号と書類名を縦並び */
            .pdf-body .docs-table tr.docs-compact {
                display: grid;
                grid-template-columns: 30% 70%;
                grid-template-rows: auto auto;
                border: 1px solid #333;
            }
            
            .pdf-body .docs-table td.num-cell {
                grid-column: 1;
                grid-row: 1;
                width: auto;
                min-width: auto;
                font-size: 18px;
                text-align: center;
                padding: 0;
                height: 40px;
                line-height: 30px;
                border: none;
                border-bottom: 1px solid #333;
            }
            
            .pdf-body .docs-table td.doc-name {
                grid-column: 1;
                grid-row: 2;
                font-size: 16px;
                width: auto;
                min-width: auto;
                white-space: normal;
                text-align: center;
                border: none;
            }
            
            .pdf-body .docs-table td.spacer-cell {
                display: none;
            }
            
            .pdf-body .docs-table td.doc-desc {
                grid-column: 2;
                grid-row: 1 / span 2;
                border: none;
                border-left: 1px solid #999;
            }

            /* レスポンシブ時のフォントサイズ調整（12px共通） */
            .pdf-body .docs-table td.doc-desc,
            .pdf-body .withdrawal-table,
            .pdf-body .step-box,
            .pdf-body .flow-left-col .step-box-inner {
                font-size: 16px;
            }

            /* フローチャート：レスポンシブ時は縦並び */
            .pdf-body .step-box,
            .pdf-body .flow-left-col .step-box-inner {
                flex-direction: column;
                padding: 0 !important;
                min-height: auto;
            }
            .pdf-body .step-badge {
                position: relative;
                width: calc(100% + 1px);
                margin: -1px 0 0 0;
                padding: 5px 0;
            }
            .pdf-body .step-text {
                padding: 8px 10px;
                text-align: center;
                font-size: 16px;
            }
            .pdf-body .step-desc {
                font-size: 16px;
                padding: 8px;
            }
        }