@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Comfortaa:wght@300..700&family=Noto+Sans+JP:wght@100..900&family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap");

.ff-plus {
  font-family: "Plus Jakarta Sans", sans-serif;
}

.ff-comfortaa {
  font-family: "Comfortaa", sans-serif;
}

.ff-maru {
  font-family: "Zen Maru Gothic", sans-serif;
}

.color-1 {
  color: #0071c5;
}

.color-2 {
  color: #fad238;
}

.color-3 {
  color: #00b8ae;
}

.color-4 {
  color: #ff7a7a;
}

a.tel {
  font-size: 3.5rem;
  color: #0071c5;
  font-style: italic;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: flex-end;
  font-family: "Plus Jakarta Sans", sans-serif;
}

.box-teaser-top {
  min-height: 540px;
  position: relative;
  padding-top: 60px;
}

.box-teaser-top::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../images/index/bg-teaser.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: -1;
  border-radius: 30px;
}

.year-teaser {
  font-size: 8.2rem;
  font-family: "Plus Jakarta Sans", sans-serif;
  color: #ffdf4d;
  text-shadow: 0 0 12px rgba(42, 93, 124, 0.75);
  text-align: center;
  font-weight: 500;
}

.text-teaser-top {
  font-size: 4.6rem;
  font-weight: 500;
  font-family: "Zen Maru Gothic", sans-serif;
  text-shadow: 0 0 9px rgba(42, 93, 124, 0.8);
  color: #fff;
  line-height: 1.76;
  text-align: center;
  margin-top: 25px;
}

.text-teaser-top span {
  position: relative;
  z-index: 1;
  color: #333333;
  font-size: 5.2rem;
  padding: 0 30px 3px;
  text-shadow: none;
}

.text-teaser-top span::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  background-color: #fff;
  z-index: -1;
  border-radius: 4px;
}

.box-teaser-top-cont {
  position: relative;
}

.box-teaser-top-cont::after {
  content: "";
  width: 405px;
  height: 405px;
  background-image: url(../images/index/after-1.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 15px;
  left: -260px;
}

.box-teaser-top-cont::before {
  content: "";
  width: 370px;
  height: 425px;
  background-image: url(../images/index/after-2.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  right: -106px;
  bottom: -156px;
}

.teaser-top {
  position: relative;
}

.teaser-top::after {
  content: "";
  width: 1517px;
  height: 580px;
  background-color: #e1f0fa;
  border-radius: 50%;
  position: absolute;
  top: 98px;
  z-index: -5;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.box-flex-teaser {
  display: flex;
  gap: 17px;
  margin-top: 23px;
  justify-content: center;
}

.box-teaser-02 {
  padding: 25px 35px 30px;
  background-color: #82cfae;
  border-radius: 10px 0 0 10px;
}

.box-teaser-02 h3 {
  color: #fff;
  text-align: center;
}

.text-shadow {
  text-shadow: 0 0 10px #00a393;
}

.box-teaser-02-right {
  background-color: #ffc4c4;
  border-radius: 0 10px 10px 0;
}

.box-teaser-02-right .text-shadow {
  text-shadow: 0 0 10px #ce4242;
}

.box-teaser-02-right .item-teaser:hover {
  background-color: #ffe8e8;
}

.box-teaser-02-right .item-teaser:hover rect {
  fill: #ffe8e8 !important;
}

.item-teaser {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  display: block;
  border-radius: 15px;
  background-color: #fff;
  position: relative;
  overflow: hidden;
  transition: 0.3s;
  padding: 19px 22px;
  min-height: 200px;
  width: 33.33%;
  color: #333;
}

.item-teaser h4 {
  font-size: 2.2rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  position: relative;
  z-index: 1;
  line-height: 1;
}

.item-teaser p {
  font-size: 1.3rem;
  font-family: "Comfortaa", sans-serif;
  color: #bebebe;
  line-height: 1.15;
  position: absolute;
  bottom: 15px;
  font-weight: bold;
  left: 20px;
}

.item-teaser img,
.item-teaser svg {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 48px;
  width: 120px !important;
  height: auto !important;
}

.item-teaser svg {
  width: 100%;
  height: 100%;
}

.item-teaser::after {
  content: "";
  width: 40px;
  height: 40px;
  background-image: url(../images/index/icon-right-2.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 0;
  right: 0;
  border-radius: 15px 0;
}

.item-teaser ellipse {
  transition: 0.3s;
}

.item-teaser rect {
  transition: 0.3s;
}

.item-teaser:hover {
  opacity: 1 !important;
  background-color: #dbf5d0;
}

.item-teaser:hover ellipse {
  fill: #fff !important;
}

.item-teaser:hover rect {
  fill: #dbf5d0 !important;
}

.main-title {
  position: relative;
}

.main-title::after {
  content: "";
  width: 117px;
  height: 87px;
  background-image: url(../images/index/after-title.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  position: absolute;
  left: -35px;
  top: -5px;
  z-index: -1;
}

.main-title.center {
  text-align: center;
}

.main-title.center::after {
  left: 50%;
  transform: translateX(-50%);
}

.main-title-en {
  font-family: "Comfortaa", sans-serif;
  color: #0071c5;
  font-weight: bold;
}

.main-title-jp {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 3.3rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}

.teaser-02-bg {
  padding-top: 45px;
  padding-bottom: 95px;
  position: relative;
}

.teaser-02-bg::after {
  content: "";
  width: 100vw;
  height: 100%;
  background-color: #e1f0fa;
  box-shadow: 0 0 12px rgba(42, 93, 124, 0.12);
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  z-index: -2;
}

.teaser-02-bg-2 {
  position: relative;
}

.teaser-02-bg-2::before {
  content: "";
  width: 416px;
  height: 365px;
  background-image: url(../images/index/after-5.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  bottom: -260px;
  right: -30px;
  z-index: -6;
}

.teaser-02 {
  position: relative;
}

.teaser-02::after {
  content: "";
  width: calc(50vw + 205px);
  height: 480px;
  background: linear-gradient(-90deg, rgb(181, 204, 232) 12%, rgb(2, 113, 197) 87%);
  position: absolute;
  border-top-right-radius: 200px;
  z-index: -5;
  left: 0;
  top: 0;
}

.teaser-02::before {
  content: "";
  width: calc(50vw + 205px);
  height: 480px;
  background: linear-gradient(90deg, rgb(181, 204, 232) 12%, rgb(2, 113, 197) 87%);
  position: absolute;
  border-bottom-left-radius: 200px;
  z-index: -5;
  right: 0;
  bottom: 0;
}

#teaser-02 {
  position: relative;
}

#teaser-02::after {
  content: "";
  width: 334px;
  height: 334px;
  background-image: url(../images/index/after-3.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  z-index: -5;
  right: -50px;
  top: -110px;
}

#teaser-02::before {
  content: "";
  width: 334px;
  height: 334px;
  background-image: url(../images/index/after-4.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  z-index: -5;
  left: -50px;
  bottom: -70px;
}

.box-icon-white {
  display: flex;
  border-radius: 15px;
  background-color: #fff;
  align-items: center;
  padding: 12px 0;
}

.icon-white-left {
  width: 210px;
  padding-left: 40px;
  display: flex;
  align-items: center;
  gap: 15px;
  color: #0271c5;
  font-weight: bold;
  font-family: "Zen Maru Gothic", sans-serif;
  letter-spacing: 0.1em;
  font-size: 1.8rem;
}

.icon-white-right {
  flex: 1;
  font-weight: 500;
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 1.375;
}

.box-gradient {
  border: 2px solid #0071c5;
  padding: 6px 15px;
  border-radius: 20px;
  margin-top: 15px;
  background-color: #fff;
}

.list-dot li {
  position: relative;
  padding-left: 20px;
  font-weight: 500;
  font-family: "Zen Maru Gothic", sans-serif;
}

.list-dot li::after {
  content: "";
  width: 9px;
  height: 9px;
  background-color: #0071c5;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 10px;
}

.list-dot.v2 li {
  line-height: 2.06;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  margin-bottom: 25px;
}

.list-dot.v2 li:last-child {
  margin-bottom: 0;
}

.list-dot.v2 li::after {
  width: 12px;
  height: 12px;
  border-radius: 0;
}

.list-dot.v3 li {
  line-height: 2.06;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  padding-left: 16px;
}

.list-dot.v3 li::after {
  width: 7px;
  height: 7px;
  background-color: #333;
  border-radius: 0;
  top: 13px;
}

.box-schedule-info {
  background-color: #fad238;
  border-radius: 20px;
  padding: 30px 50px 40px;
}

.box-tel-schedule {
  background-color: #fff;
  border-radius: 45px;
  min-height: 90px;
  text-align: center;
  padding-top: 7px;
  margin-top: 25px;
  padding-bottom: 10px;
}

.box-tel-schedule a.tel {
  justify-content: center;
  font-weight: 600;
  font-style: normal;
  font-size: 3.5rem;
}

.box-tel-schedule p {
  font-size: 1.9rem;
  font-weight: 500;
  font-family: "Zen Maru Gothic", sans-serif;
}

.teaser-03 {
  position: relative;
}

.teaser-03::after {
  content: "";
  width: 100%;
  height: calc(100% + 200px);
  background-color: #edf8ff;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
}

.map-teaser {
  height: 260px;
}

.map-teaser iframe {
  width: 100%;
  height: 100%;
  border-radius: 20px;
}

.footer {
  position: relative;
}

.footer::after {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #0071c5;
  background-position: center top;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
  border-radius: 80px 80px 0 0;
}

.footer::before {
  content: "";
  width: 339px;
  height: 387px;
  background-image: url(../images/index/bg-footer-small.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  right: 55px;
  bottom: -40px;
}

.footer-infor {
  margin-top: 25px;
  border-top: 1px dotted #fff;
}

.footer-left {
  max-width: 350px;
}

.title-map {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.8rem;
  padding: 13px 0 20px;
  gap: 10px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
}

.group-icon-white {
  background-color: #ffffff;
  border-radius: 15px;
  overflow: hidden;
  position: relative;
}

.group-icon-white::after {
  content: "";
  width: calc(100% - 60px);
  border-top: 2px dotted #b3b2b3;
  position: absolute;
  left: 30px;
  top: 50%;
  transform: translateY(-50%);
}

.group-icon-white .box-icon-white {
  border-radius: 0;
}

a.btn.btn-web {
  width: 210px;
  height: 45px;
  font-size: 1.7rem;
  font-weight: bold;
  font-family: "Zen Maru Gothic", sans-serif;
  letter-spacing: 0.1em;
  color: #fff;
  border-radius: 9px;
  background-color: #00a735;
  border: 2px solid #00a735;
}

a.btn.btn-web::before {
  content: "";
  mask-image: url(../images/index/icon-tv.svg);
  -webkit-mask-image: url(../images/index/icon-tv.svg);
  mask-size: 100% 100%;
  mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  position: static;
  background-color: #fff;
  width: 24px;
  height: 24px;
  transform: none;
  margin-right: 13px;
  transition: 0.3s;
}

a.btn.btn-web:hover {
  background-color: #dbf5d0;
  color: #00a735;
}

a.btn.btn-web:hover::before {
  background-color: #00a735;
}

.box-top-header {
  display: flex;
  justify-content: flex-end;
  gap: 40px;
  align-items: center;
}

.slide-banner-item {
  border-radius: 25px;
  overflow: hidden;
}

ul.slick-dots {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  bottom: -50px;
  gap: 20px;
}

ul.slick-dots li {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background-color: #a5d0f0;
  display: flex;
  align-items: center;
  justify-content: center;
}

ul.slick-dots li button {
  padding: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}

ul.slick-dots li.slick-active,
ul.slick-dots li:hover {
  background-color: #0071c5;
}

.home-banner-cont {
  position: absolute;
  top: 115px;
  left: 50%;
  transform: translateX(-50%);
  width: -moz-max-content;
  width: max-content;
}

.box-btn-banner {
  position: absolute;
  left: -15px;
  bottom: -115px;
}

.box-news-imp {
  display: flex;
  border: 1px solid #e33333;
  border-radius: 10px;
  background-color: #fff7f7;
  padding: 12px 20px;
}

.box-news-imp.v2 {
  padding: 20px;
  margin-top: 20px;
  background-color: #e6f2fa;
  border-color: #0071c5;
}

.box-news-imp.v2 .title-news-imp {
  color: #0071c5;
}

.box-news-imp.v2 .date {
  color: #0071c5;
}

.box-news-imp.v2 a::after {
  background-image: url(../images/index/icon-right-blue.svg);
}

.news-imp-left {
  width: 180px;
}

.news-imp-right {
  flex: 1;
}

.title-news-imp {
  display: flex;
  align-items: center;
  font-weight: bold;
  color: #e33333;
  gap: 10px;
  font-family: "Zen Maru Gothic", sans-serif;
}

.news-imp-item {
  display: flex;
  gap: 18px;
  margin-bottom: 15px;
  align-items: baseline;
}

.news-imp-item:last-child {
  margin-bottom: 0;
}

.news-imp-item .date {
  color: #e33333;
  font-family: "Comfortaa", sans-serif;
  font-size: 1.5rem;
  font-weight: 500;
}

.news-imp-item a {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  line-height: 1.375;
  color: #333;
  font-size: 1.6rem;
  position: relative;
  padding-right: 40px;
  transition: 0.3s;
  text-decoration: underline;
  text-decoration-color: transparent;
}

.news-imp-item a::after {
  content: "";
  width: 20px;
  height: 20px;
  background-image: url(../images/index/icon-right-red.svg);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 10px;
  transition: 0.3s;
}

.news-imp-item:hover a {
  text-decoration-color: #333;
  opacity: 1;
}

.news-imp-item:hover a::after {
  right: 0;
}

.text-name {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 43px;
}

.page-teaser .item-teaser {
  pointer-events: none;
}

.page-teaser .item-teaser::after {
  display: none;
}

.page-teaser .header-inner {
  padding-left: 15px;
  padding-right: 15px;
}

/*
.home .medical-message {
  color: #333;
  font-size: 2.9rem;
}
*/

/*
.home .corner-text {
  font-size: 3.2rem;
}
*/

/*
.home .main-title::after {
  background-image: url(../images/index/icon-title-2.png);
}

.home .box-teaser-top-cont::after {
  z-index: -1;
}
  */

/*
.home .box-teaser-top-cont::before {
  z-index: 1;
  bottom: -136px;
}
*/
/*
.home #teaser-02::before {
  background-image: url(../images/index/after-8.png);
  width: 433px;
  height: 372px;
  left: 80px;
  bottom: -330px;
}

.home #teaser-02::after {
  top: -205px;
}

.home .teaser-02 .main-title::after {
  background-image: url(../images/index/after-title.png);
}

.home .teaser-03 .main-title-en {
  font-size: 1.4rem;
}

.home .teaser-03 .main-title-jp {
  font-size: 2.7rem;
}

.home .teaser-03 .main-title::after {
  background-image: url(../images/index/after-title.png);
  width: 73px;
  height: 54px;
  top: 0;
  left: -30px;
}

.home .teaser-02-bg {
  padding-bottom: 50px;
}

.home .teaser-02-bg::before {
  display: none;
}
  */

/*
.home .header-inner {
  padding: 20px 55px;
}
*/

.box-date-cat {
  display: flex;
  gap: 10px;
  align-items: center;
}

a.cat {
  min-height: 23px;
  width: -moz-fit-content;
  width: fit-content;
  padding: 1px 15px 2px;
  background-color: #0071c5;
  border-radius: 20px;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 500;
  font-family: "Zen Maru Gothic", sans-serif;
}

.label-news {
  width: 70px;
  min-height: 23px;
  background: #ff4753;
  text-align: center;
  font-size: 1.4rem;
  font-weight: 500;
  font-family: "Zen Maru Gothic", sans-serif;
  color: #fff;
  border-radius: 20px;
}

.news-item.item-list {
  padding: 15px 0 20px;
  border-bottom: 1px solid #c8c8c8;
}

.news-item.item-list:last-child {
  border-bottom: none;
}

.news-item.item-list .date {
  font-size: 1.5rem;
  font-weight: 500;
  color: #0071c5;
  font-family: "Comfortaa", sans-serif;
}

.news-item.item-list .title a {
  font-weight: 500;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 1.6rem;
  color: #333;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  position: relative;
  padding-right: 45px;
  min-height: 24px;
}

.news-item.item-list .title a::after {
  content: "";
  width: 24px;
  height: 24px;
  background-image: url(../images/index/icon-right-blue.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  right: 10px;
  top: 50%;
  transition: 0.3s;
  transform: translateY(-50%);
}

.news-item.item-list:hover .title a {
  color: #0271C5;
}

.news-item.item-list:hover .title a::after {
  right: 0;
}

.check-mark {
  width: 20px;
  height: 20px;
  background-image: url(../images/index/icon-check.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

a.btn.btn-main {
  background-color: #0071c5;
  max-width: 240px;
  min-height: 60px;
  color: #fff;
  border-radius: 30px;
  border: 2px solid #0071c5;
  font-size: 1.5rem;
  font-weight: 500;
  font-family: "Zen Maru Gothic", sans-serif;
  padding-right: 25px;
}

a.btn.btn-main::after {
  content: "";
  width: 24px;
  height: 24px;
  background-image: url(../images/index/icon-right.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  right: 17px;
  transition: 0.3s;
}

a.btn.btn-main:hover {
  background-color: #fff;
  color: #0071c5;
}

a.btn.btn-main:hover::after {
  background-image: url(../images/index/icon-right-blue.svg);
}

a.btn.btn-main.large {
  max-width: 280px;
  min-height: 70px;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  border-radius: 35px;
}

.box-link-home {
  min-height: 210px;
  display: block;
  background-color: #dcf2da;
  border-radius: 25px;
  border: 2px solid #108733;
  box-shadow: 0 0 15px rgba(48, 116, 158, 0.75);
  position: relative;
  font-size: 3.5rem;
  font-weight: bold;
  font-family: "Zen Maru Gothic", sans-serif;
  color: #279c4a;
  text-align: center;
  padding-top: 70px;
}

.box-link-home img {
  position: absolute;
  top: -100px;
  position: absolute;
  left: 58%;
  transform: translateX(-50%);
}

.box-link-home::after {
  content: "";
  width: 46px;
  height: 46px;
  background-image: url(../images/index/icon-right-green.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 30px;
}

.box-link-home.v2 {
  background-color: #dceefa;
  border-color: #0071c5;
  color: #0071c5;
}

.box-link-home.v2::after {
  background-image: url(../images/index/icon-right-blue.svg);
}

.box-link-home.v2 img {
  left: 50%;
}

.home-link {
  position: relative;
}

.home-link::after {
  content: "";
  width: 100%;
  height: 100%;
  background-image: url(../images/index/bg-home-link.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.home-link::before {
  content: "";
  width: 334px;
  height: 334px;
  background-image: url(../images/index/after-3.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  right: 80px;
  bottom: -130px;
  z-index: -1;
}

.box-feature-item {
  display: flex;
  position: relative;
  gap: 10px;
}

.box-feature-item::after {
  content: "";
  width: calc(100% - 50px);
  height: calc(100% - 120px);
  bottom: 35px;
  background-color: #fad238;
  position: absolute;
  right: 0;
  z-index: -2;
  border-radius: 25px;
}

.box-feature-left {
  width: 50%;
}

.box-feature-right {
  width: 50%;
}

.box-feature-right h3 {
  font-size: 2.8rem;
  font-weight: bold;
  font-family: "Zen Maru Gothic", sans-serif;
  margin-top: 45px;
  margin-bottom: 20px;
}

.box-feature-right ul.list-dot {
  padding-top: 40px;
  position: relative;
}

.box-feature-right ul.list-dot li {
  margin-bottom: 30px;
  font-weight: 500;
  font-size: 1.7rem;
}

.box-feature-right ul.list-dot li:last-child {
  margin-bottom: 0;
}

.box-feature-right ul.list-dot::after {
  content: "";
  width: calc(100% + 80px);
  height: 278px;
  background-color: #fff;
  position: absolute;
  top: 0;
  right: -30px;
  z-index: -1;
  border-radius: 25px;
}

.feature-num {
  font-size: 2.7rem;
  color: #0071c5;
  font-family: "Comfortaa", sans-serif;
  font-weight: bold;
  line-height: 1;
}

.feature-num span {
  font-size: 7.5rem;
  font-style: italic;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 500;
}

.slide-feature .slick-list {
  overflow: visible;
  margin: 0 -43px;
}

.slide-feature .slick-slide {
  padding: 0 43px;
  opacity: 0.6;
}

.slide-feature .slick-slide.slick-current {
  opacity: 1;
}

.slide-feature .slide-arrow {
  z-index: 1;
  padding: 0;
  border-radius: 50%;
  border: none;
  cursor: pointer;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -115px;
}

.slide-feature .slide-arrow.next-arrow {
  left: auto;
  right: -115px;
}

.slide-feature ul.slick-dots {
  bottom: -70px;
}

.slide-feature ul.slick-dots li {
  width: 85px;
  height: 6px;
  border-radius: 0;
  background-color: #d6d6d6;
}

.slide-feature ul.slick-dots li.slick-active {
  background-color: #0071c5;
}

.box-img-recruit-slide-wrap,
.scroll-wrapper {
  overflow: hidden;
}

.scroll-slide {
  display: flex;
  animation: infinity-scroll-left 40s infinite linear 0.5s both;
  width: 237vw;
}

.scroll-slide .scroll-item {
  width: 22%;
}

.slide-company-item {
  margin: 0 8px;
}

.slide-company-item img {
  border-radius: 15px;
  width: 100%;
  height: auto;
}

@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

.scroll-wrapper {
  position: relative;
}

.scroll-wrapper::after {
  content: "";
  width: 401px;
  height: 401px;
  background-image: url(../images/index/after-6.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 33px;
  left: -100px;
  z-index: -1;
}

.scroll-wrapper::before {
  content: "";
  width: 372px;
  height: 424px;
  background-image: url(../images/index/after-7.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 26px;
  right: 55px;
}

a.link-footer {
  font-size: 1.7rem;
  color: #fff;
  display: block;
  padding-left: 34px;
  margin-bottom: 15px;
  font-family: "Zen Maru Gothic", sans-serif;
  position: relative;
}

a.link-footer::after {
  content: "";
  width: 20px;
  height: 20px;
  background-image: url(../images/index/icon-right-white.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}

a.link-footer span {
  position: relative;
}

a.link-footer span::after {
  width: 0;
  height: 1px;
  content: "";
  background-color: #fff;
  position: absolute;
  bottom: -3px;
  left: 0;
  transition: 0.3s;
}

a.link-footer:hover {
  opacity: 1;
}

a.link-footer:hover span::after {
  width: 100%;
}

a.sub-link-footer {
  font-weight: 500;
  color: #fff;
  display: block;
  padding-left: 20px;
  font-family: "Zen Maru Gothic", sans-serif;
  margin-left: 34px;
  position: relative;
  margin-bottom: 10px;
}

a.sub-link-footer::after {
  content: "";
  width: 8px;
  height: 11px;
  background-image: url(../images/index/arrow-link.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}

a.sub-link-footer span {
  position: relative;
}

a.sub-link-footer span::after {
  width: 0;
  height: 1px;
  content: "";
  background-color: #fff;
  position: absolute;
  bottom: -3px;
  transition: 0.3s;
  left: 0;
}

a.sub-link-footer:hover {
  opacity: 1;
}

a.sub-link-footer:hover span::after {
  width: 100%;
}

a.sub-link-footer-cont {
  font-weight: 500;
  color: #fff;
  display: block;
  position: relative;
  margin-left: 52px;
  font-family: "Zen Maru Gothic", sans-serif;
  padding-left: 10px;
  margin-bottom: 10px;
}

a.sub-link-footer-cont::after {
  content: "";
  width: 6px;
  height: 6px;
  background-color: #fff;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}

a.sub-link-footer-cont span {
  position: relative;
}

a.sub-link-footer-cont span::after {
  width: 0;
  height: 1px;
  content: "";
  background-color: #fff;
  position: absolute;
  bottom: -3px;
  transition: 0.3s;
  left: 0;
}

a.sub-link-footer-cont:hover {
  opacity: 1;
}

a.sub-link-footer-cont:hover span::after {
  width: 100%;
}

.footer-right {
  display: flex;
  justify-content: space-between;
}

.box-flex-link-footer {
  display: flex;
  width: -moz-max-content;
  width: max-content;
}

.footer-left-cs {
  display: flex;
  gap: 30px;
  align-items: center;
  justify-content: center;
  margin-top: 30px;
  padding: 30px 0 0;
  position: relative;
}

.footer-left-cs::after {
  content: "";
  width: 100%;
  height: 1px;
  background-image: url(../images/index/bg-dotted.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
}

.footer-left-cs a.btn.btn-web {
  border: 1px solid #fff;
  width: 220px;
  height: 50px;
}

.home-news {
  position: relative;
}

.home-news::after {
  content: "";
  width: 372px;
  height: 424px;
  background-image: url(../images/index/favi-news.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: -50px;
  left: -100px;
  z-index: -1;
}

.page-header {
  position: relative;
  min-height: 300px;
  display: flex;
}

.page-header::after {
  content: "";
  width: 1400px;
  height: 100%;
  background-image: url(../images/index/bg-page.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: -2;
}

.title-en {
  font-size: 2.5rem;
  font-family: "Comfortaa", sans-serif;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #0071c5;
}

.title-jp {
  font-size: 5rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  color: #333333;
  margin-top: 5px;
  letter-spacing: 0.1em;
}

.page-header-title {
  position: relative;
}

.page-header-title::after {
  content: "";
  width: 260px;
  height: 192px;
  background-image: url(../images/index/after-title.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  left: -140px;
  top: -35px;
  z-index: -1;
}

.box-anchor-info {
  display: flex;
  align-items: center;
  padding: 17px 50px;
  background-color: #e9f5e3;
  border-radius: 10px;
}

.box-anchor-info.v2 {
  background-color: #ffeded;
  margin-top: 16px;
}

.box-anchor-info.v2 .anchor-info-left {
  color: #f57575;
}

.box-anchor-info.v2 .list-anchor-info a {
  border: 1px solid #f57575;
}

.box-anchor-info.v2 .list-anchor-info a::after {
  background-image: url(../images/index/icon-down-3.svg);
}

.box-anchor-info.v2 .list-anchor-info a:hover {
  background-color: #f57575;
  color: #fff;
}

.box-anchor-info.v2 .list-anchor-info a:hover::after {
  background-image: url(../images/index/icon-down-3-hover.svg);
}

.anchor-info-left {
  width: 130px;
  font-size: 2rem;
  font-weight: bold;
  font-family: "Zen Maru Gothic", sans-serif;
  color: #00ada4;
  letter-spacing: 0.1em;
}

.anchor-info-right {
  flex: 1;
}

.list-anchor-info {
  display: flex;
  gap: 15px;
}

.list-anchor-info a {
  width: 25%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 55px;
  border: 1px solid #00ada4;
  background-color: #fff;
  border-radius: 5px;
  font-size: 1.5rem;
  font-weight: 500;
  font-family: "Zen Maru Gothic", sans-serif;
  color: #000;
  padding-left: 20px;
  position: relative;
  padding-right: 40px;
}

.list-anchor-info a::after {
  content: "";
  width: 20px;
  height: 20px;
  background-image: url(../images/index/icon-down-2.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 18px;
}

.list-anchor-info a:hover {
  background-color: #00ada4;
  opacity: 1;
  color: #fff;
}

.list-anchor-info a:hover::after {
  background-image: url(../images/index/icon-down-2-hover.svg);
}

.info-01 .img-schedule img {
  width: 100%;
}

.box-tab-scroll {
  padding: 45px 75px 80px;
  display: flex;
  background-color: #ebf5e7;
  border-radius: 25px;
  gap: 35px;
}

.box-tab-scroll a {
  width: 33.33%;
  min-height: 80px;
  border-radius: 20px;
  background-color: #00b8ae;
  display: flex;
  align-items: center;
  padding-left: 30px;
  font-size: 2rem;
  font-weight: bold;
  font-family: "Zen Maru Gothic", sans-serif;
  color: #fff;
  position: relative;
  border: 1px solid #00b8ae;
  padding-right: 50px;
}

.box-tab-scroll a::after {
  content: "";
  width: 24px;
  height: 24px;
  background-image: url(../images/info/icon-down-2-hover.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  right: 25px;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.3s;
}

.box-tab-scroll a:hover {
  opacity: 1;
  background-color: #fff;
  color: #00b8ae;
}

.box-tab-scroll a:hover::after {
  background-image: url(../images/index/icon-down-2.svg);
}

a.btn.btn-info {
  max-width: 650px;
  min-height: 70px;
  background: #36a357;
  color: #fff;
  border: 3px solid #fff;
  border-radius: 12px;
  padding-left: 30px;
  justify-content: flex-start;
  gap: 20px;
  font-weight: 500;
  box-shadow: 5px 5px 0 rgba(51, 51, 51, 0.3);
  font-family: "Zen Maru Gothic", sans-serif;
}

a.btn.btn-info p {
  font-size: 2.3rem;
  font-weight: bold;
  color: #fadf38;
  letter-spacing: 0.1em;
}

a.btn.btn-info::after {
  width: 25px;
  height: 25px;
  background-image: url(../images/info/icon-right-white-green.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  right: 20px;
}

a.btn.btn-info:hover {
  opacity: 0.7;
}

.title-cs {
  min-height: 55px;
  display: flex;
  align-items: center;
  border-radius: 10px;
  background-color: #00b8ae;
  padding-left: 70px;
  font-size: 2.3rem;
  font-weight: bold;
  font-family: "Zen Maru Gothic", sans-serif;
  color: #fff;
  position: relative;
}

.title-cs::after {
  content: "";
  width: 32px;
  height: 29px;
  background-image: url(../images/info/icon-2.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
}

.box-white-info {
  background-color: #fff;
  border-radius: 22px;
  padding: 50px 75px 60px;
}

.list-news-info {
  padding: 0 25px;
}

.list-news-info .news-item.item-list {
  padding: 15px 25px;
}

.list-news-info .news-item.item-list:first-child {
  border-top: 1px solid #c8c8c8;
}

.list-news-info .news-item.item-list:last-child {
  border-bottom: 1px solid #c8c8c8;
}

.info-02 {
  position: relative;
}

.info-02::after {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #ebf5e7;
  position: absolute;
  z-index: -3;
  top: 0;
  left: 0;
}

.info-02::before {
  content: "";
  width: 100%;
  height: 350px;
  background-image: url(../images/info/bg-info-1.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
}

.info-03::after {
  background-color: #fff3f3;
}

.info-03::before {
  background-image: url(../images/info/bg-info-2.png);
}

.info-03 .box-tab-scroll {
  background-color: #fff3f3;
}

.info-03 .box-tab-scroll a {
  background-color: #ff7a7a;
  border-color: #ff7a7a;
}

.info-03 .box-tab-scroll a::after {
  background-image: url(../images/info/icon-down-3-hover.svg);
}

.info-03 .box-tab-scroll a:hover {
  background-color: #fff;
  color: #ff7a7a;
}

.info-03 .box-tab-scroll a:hover::after {
  background-image: url(../images/index/icon-down-3.svg);
}

.info-03 .title-cs {
  background-color: #ff7a7a;
}

.info-03 .box-information::after {
  border-color: #ff7a7a;
}

.info-03 .title-info-left p {
  color: #ff7a7a;
}

.title-info {
  font-size: 5.3rem;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -26px;
  letter-spacing: 0.1em;
  font-family: "Comfortaa", sans-serif;
  font-weight: bold;
}

.sub-title-info {
  font-size: 5.2rem;
  color: #fff;
  font-weight: bold;
  letter-spacing: 0.2em;
  text-align: center;
  position: relative;
  font-family: "Zen Maru Gothic", sans-serif;
  text-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
}

.sub-title-info::after {
  content: "";
  width: 157px;
  height: 117px;
  background-image: url(../images/info/icon-3.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.box-information {
  padding: 0px 75px 60px;
  position: relative;
}

.box-information::after {
  content: "";
  width: 100%;
  height: calc(100% - 80px);
  background-color: #fff;
  border: 1px solid #00b8ae;
  border-radius: 25px;
  position: absolute;
  top: 80px;
  left: 0;
  z-index: -2;
}

.box-info-title {
  display: flex;
  align-items: center;
}

.box-info-title-left {
  width: 360px;
  padding-left: 15px;
}

.box-info-title-right {
  flex: 1;
  border-radius: 20px;
  overflow: hidden;
}

.title-info-left h3 {
  font-size: 4.3rem;
  font-weight: bold;
  font-family: "Zen Maru Gothic", sans-serif;
  letter-spacing: 0.1em;
  margin: 30px 0 18px;
}

.title-info-left p {
  color: #00b8ae;
  font-size: 2rem;
  letter-spacing: 0.1em;
  font-family: "Comfortaa", sans-serif;
  font-weight: bold;
}

.box-info-2-cont {
  padding: 20px 20px;
}

.box-gray {
  padding: 25px 40px;
  border-radius: 15px;
  background: #f2f2ed;
  margin-bottom: 20px;
}

.box-gray:last-child {
  margin-bottom: 0;
}

.box-gray h3 {
  font-size: 2rem;
  font-weight: bold;
  font-family: "Zen Maru Gothic", sans-serif;
  margin-bottom: 10px;
}

.box-gray p {
  line-height: 1.75;
}

.img-info {
  text-align: right;
}

.img-info img {
  border-radius: 15px;
}

.text-info-left {
  padding-left: 20px;
  line-height: 2.1875;
}

ul.list-circle li {
  padding: 15px 60px;
  background-color: #f2f2ed;
  border-radius: 25px;
  position: relative;
  margin-top: 15px;
}

ul.list-circle li::after {
  content: "";
  width: 15px;
  height: 15px;
  background-color: #00b8ae;
  border-radius: 3px;
  position: absolute;
  top: 50%;
  left: 35px;
  transform: translateY(-50%);
}

div#item-info-06 .title-info-left h3 {
  position: relative;
  margin-right: -200px;
}

.list-anchor {
  display: flex;
  align-items: center;
  gap: 10px;
}

.list-anchor li {
  width: 20%;
}

.list-anchor li a {
  min-height: 60px;
  display: flex;
  align-items: center;
  border-radius: 30px;
  background-color: #e1f0fa;
  font-size: 1.5rem;
  font-weight: 500;
  font-family: "Zen Maru Gothic", sans-serif;
  color: #000;
  padding-left: 20px;
  position: relative;
  padding-right: 40px;
}

.list-anchor li a::after {
  content: "";
  width: 20px;
  height: 20px;
  background-image: url(../images/index/icon-down.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  right: 20px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.list-anchor li a:hover {
  background-color: #c7e2f5;
  opacity: 1;
}

.img-visit-1 {
  margin-left: 70px;
}

.img-visit-1 img {
  max-width: unset;
  border-radius: 15px;
}

.box-list-dot-flex {
  padding: 80px 60px;
  position: relative;
}

.box-list-dot-flex::after {
  content: "";
  width: 100vw;
  height: 100%;
  background-color: #e1f0fa;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  z-index: -2;
  top: 0;
}

.box-list-dot-flex ul.list-dot {
  display: flex;
  flex-wrap: wrap;
  gap: 13px 40px;
}

.box-list-dot-flex ul.list-dot li {
  width: calc(50% - 20px);
  margin: 0;
}

.tab-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin-bottom: -1px;
}

.tab-nav li {
  width: 340px;
  min-height: 74px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.2rem;
  font-weight: bold;
  font-family: "Zen Maru Gothic", sans-serif;
  border: 1px solid transparent;
  border-radius: 15px 15px 0 0;
  cursor: pointer;
  background-color: #f57575;
  letter-spacing: 0.1em;
  border-bottom: none;
  color: #fff;
}

.tab-nav li.active {
  background-color: #e9f5e3;
  color: #00ada4;
  border-color: #00ada4;
}

.tab-nav li[data-target="#tab-flow-02"].active {
  background-color: #fff3f3;
  border-color: #f57575;
  color: #f57575;
}

.tab-content {
  padding: 110px 100px 85px;
  background-color: #e9f5e3;
  border: 1px solid #00ada4;
  border-radius: 40px;
  display: none;
}

.tab-content.active {
  display: block;
}

#tab-flow-02 {
  background-color: #fff3f3;
  border-color: #f57575;
}

#tab-flow-02 .step-flow-num {
  color: #f57575;
}

#tab-flow-02 .step-flow-right,
#tab-flow-02 .step-flow::after {
  border-color: #f57575;
}

#tab-flow-02 .name-flow::after {
  border-color: #f57575;
}

.step-flow {
  display: flex;
  margin-bottom: 45px;
  position: relative;
}

.step-flow::after {
  content: "";
  height: calc(100% - 90px);
  border-left: 4px dotted #00ada4;
  position: absolute;
  bottom: -25px;
  left: 44px;
}

.step-flow:last-child {
  margin-bottom: 0;
}

.step-flow:last-child::after {
  display: none;
}

.step-flow-left {
  width: 140px;
}

.step-flow-right {
  flex: 1;
  padding: 30px 50px;
  background-color: #fff;
  border: 1px solid #00ada4;
  border-radius: 20px;
}

.step-flow-right-cont {
  display: flex;
  gap: 50px;
  margin-bottom: 40px;
}

.step-flow-right-cont:last-child {
  margin-bottom: 0;
}

.flow-right-img {
  width: 240px;
}

.flow-right-cont {
  flex: 1;
}

.flow-right-cont p {
  line-height: 1.75;
}

.name-flow {
  font-size: 2.5rem;
  font-weight: bold;
  padding-bottom: 15px;
  margin-bottom: 20px;
  font-family: "Zen Maru Gothic", sans-serif;
  position: relative;
}

.name-flow::after {
  content: "";
  width: 100%;
  max-width: 195px;
  border-bottom: 2px dotted #00ada4;
  position: absolute;
  bottom: 0;
  left: 0;
}

.step-flow-num {
  font-size: 3rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 500;
  font-style: italic;
  color: #00ada4;
  font-family: "Plus Jakarta Sans", sans-serif;
}

.step-flow-num span {
  font-size: 6.5rem;
  line-height: 1;
}

.cat-flow {
  width: -moz-fit-content;
  width: fit-content;
  min-height: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #0071c5;
  color: #fff;
  font-size: 1.8rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  border-radius: 18px;
  padding: 0 28px;
  margin-bottom: 10px;
}

ul.list-step {
  position: relative;
  counter-reset: step;
}

ul.list-step li {
  padding-left: 30px;
  position: relative;
  counter-increment: step;
  margin-bottom: 30px;
}

ul.list-step li:last-child {
  margin-bottom: 0;
}

ul.list-step li:last-child::before {
  display: none;
}

ul.list-step li::after {
  content: counter(step);
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #0071c5;
  border-radius: 50%;
  position: absolute;
  top: 3px;
  left: 0;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 500;
  padding-bottom: 1px;
}

ul.list-step li::before {
  content: "↓";
  position: absolute;
  bottom: -25px;
  left: 2px;
  color: #0071c5;
  font-weight: 500;
}

.visit-04 .step-flow-num {
  color: #0071c5;
}

.visit-04 .step-flow-right,
.visit-04 .step-flow::after {
  border-color: #0071c5;
}

.visit-04 .flow-right-img {
  width: 280px;
}

.visit-04 .step-flow-right-cont {
  gap: 40px;
}

.box-visit-04 {
  padding: 40px 60px;
  border-radius: 20px;
  background-color: #e1f0fa;
}

.list-faq {
  counter-reset: faq;
}

.toggle-faq {
  counter-increment: faq;
  margin-bottom: 35px;
}

.toggle-faq .toggle-hd {
  min-height: 90px;
  border-radius: 10px;
  border: 3px solid #0071c5;
  background-color: #fff;
  padding: 16px 0;
  padding-left: 105px;
  padding-right: 85px;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.38;
  font-family: "Zen Maru Gothic", sans-serif;
  position: relative;
}

.toggle-faq .toggle-hd:focus {
  outline: none;
}

.toggle-faq .toggle-hd::after {
  content: "Q" counter(faq) ".";
  font-size: 3rem;
  font-family: "Plus Jakarta Sans", sans-serif;
  color: #0071c5;
  font-style: italic;
  position: absolute;
  font-weight: 500;
  top: 18px;
  left: 30px;
}

.toggle-faq .toggle-hd::before {
  content: "";
  width: 30px;
  height: 30px;
  background-image: url(../images/visit/icon-open.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  right: 25px;
  transform: translateY(-50%);
}

.toggle-faq .toggle-hd.active::before {
  background-image: url(../images/visit/icon-close.svg);
}

.toggle-faq .toggle-cont {
  padding: 30px 80px 30px 105px;
  position: relative;
  overflow-anchor: none;
}

.toggle-faq .toggle-cont::after {
  content: "A" counter(faq) ".";
  font-size: 3rem;
  font-family: "Plus Jakarta Sans", sans-serif;
  color: #0071c5;
  font-style: italic;
  position: absolute;
  font-weight: 500;
  top: 18px;
  left: 30px;
}

.toggle-faq .toggle-cont p {
  font-size: 1.8rem;
  font-weight: 500;
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 1.667;
}

.medical-message {
  text-align: center;
  font-size: 2.6rem;
  font-weight: 500;
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 2.11;
  color: #333;
  font-weight: bold;
  letter-spacing: 0.1em;
}

/* chữ có viền 2 góc */
.corner-text {
  position: relative;
  color: #0071c5;
  font-weight: 700;
  padding: 9px 14px;
  display: inline-block;
  font-size: 3rem;
  line-height: 1;
  background-color: #fff;
}

/* góc trên trái */
.corner-text::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 28px;
  height: 28px;
  border-top: 2px solid #0071c5;
  border-left: 2px solid #0071c5;
}

/* góc dưới phải */
.corner-text::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 28px;
  height: 28px;
  border-bottom: 2px solid #0071c5;
  border-right: 2px solid #0071c5;
}

/* chữ xanh không viền */
.highlight-text {
  color: #0071c5;
  font-weight: 700;
}

.reception-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 1.8rem;
  color: #333;
  background-color: #fff;
}

/* header */
.reception-table thead th {
  background: #0071c5;
  color: #fff;
  font-weight: 500;
  border-right: 1px solid #fff;
  font-family: "Zen Maru Gothic", sans-serif;
  text-align: center;
  height: 45px;
}

.reception-table thead th:last-child {
  border-right: none;
}

/* cột giờ */
.reception-table .time {
  text-align: center;
  width: 150px;
  white-space: nowrap;
}

/* body */
.reception-table tbody td {
  height: 50px;
  text-align: center;
  font-weight: 500;
  position: relative;
}

/* vạch dọc không sát trên dưới */
.reception-table tbody td:not(.time)::after {
  content: "";
  position: absolute;
  top: 8px;
  bottom: 8px;
  left: 0;
  width: 1px;
  background: #b3b2b3;
}

.reception-table tbody tr.dotted td {
  border-top: 2px dotted #b3b2b3;
}

.reception-table td.circle::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 15px;
  height: 15px;
  background: #0070c9;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

/* ▲ */
.reception-table td.triangle::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 13px solid #0070c9;
  transform: translate(-50%, -55%);
}

body:not(.home,
  .page-teaser) .main-title::after {
  background-image: url(../images/info/bg-title.png);
}

.visit-06 .box-visit-04 {
  padding: 50px 100px;
}

.list-faq {
  position: relative;
}

.list-faq::before {
  content: "";
  width: 438px;
  height: 365px;
  background-image: url(../images/visit/after-1.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  left: -310px;
  bottom: -110px;
  z-index: -6;
}

.visit-04 {
  position: relative;
}

.visit-04::before {
  width: 527px;
  height: 527px;
  content: "";
  background-image: url(../images/index/after-4.png);
  right: -123px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 200px;
  z-index: -1;
}

.visit-04::after {
  width: 527px;
  height: 527px;
  content: "";
  background-image: url(../images/index/after-3.png);
  left: -48px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 700px;
  z-index: -1;
}

#visit-04 {
  position: relative;
}

#visit-04::before {
  width: 527px;
  height: 527px;
  content: "";
  background-image: url(../images/index/after-4.png);
  right: -123px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 1050px;
  z-index: -1;
}

#visit-04::after {
  width: 527px;
  height: 527px;
  content: "";
  background-image: url(../images/index/after-3.png);
  left: -48px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 510px;
  z-index: -1;
}

.visit-01 {
  position: relative;
}

.visit-01::after {
  width: 334px;
  height: 334px;
  content: "";
  background-image: url(../images/index/after-3.png);
  left: -150px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  bottom: -130px;
  z-index: -1;
}

.visit-01::before {
  width: 438px;
  height: 363px;
  content: "";
  background-image: url(../images/visit/after-2.png);
  right: -75px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  bottom: -80px;
  z-index: -1;
}

.box-img-clinic-1 {
  position: relative;
}

.box-img-clinic-1 img {
  border-radius: 20px;
}

.box-sign {
  width: 252px;
  height: 125px;
  position: absolute;
  padding-left: 60px;
  padding-top: 30px;
  color: #000;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  line-height: 1.52;
  font-size: 1.7rem;
  right: 0;
  bottom: -75px;
  z-index: 1;
}

.box-sign::after {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #e1f0fa;
  position: absolute;
  top: 5px;
  left: 0;
  border-radius: 50%;
  z-index: -1;
  transform: rotate(10deg);
  filter: drop-shadow(-20px -27px 10px rgba(0, 0, 0, 0.1));
}

.box-sign h3 {
  font-size: 2.4rem;
  font-weight: 500;
}

.box-clinic-1 {
  padding: 50px;
  position: relative;
  background: linear-gradient(0deg, rgba(181, 204, 232, 0.6) 12%, rgba(2, 113, 197, 0.6) 87%);
  border-radius: 24px;
  position: relative;
  overflow: hidden;
}

.box-clinic-1::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 24px;
  z-index: -2;
}

.box-clinic-1::after {
  content: "";
  width: 455px;
  height: 520px;
  background-image: url(../images/clinic/after-1.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  bottom: 20px;
  right: -33px;
  position: absolute;
}

.box-while-clinic {
  padding: 35px 40px;
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 20px;
  position: relative;
}

.box-while-clinic h3 {
  font-size: 2rem;
  font-weight: bold;
  font-family: "Zen Maru Gothic", sans-serif;
  letter-spacing: 0.2em;
  padding-bottom: 10px;
  position: relative;
  text-align: center;
  margin-bottom: 20px;
}

.box-while-clinic h3::after {
  content: "";
  width: 200px;
  height: 1px;
  background-color: #333;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
}

.box-time-clinic {
  display: flex;
  line-height: 2;
}

.time-clinic-left {
  width: 100px;
}

.time-clinic-right {
  flex: 1;
}

.box-bg-text {
  padding-top: 70px;
  position: relative;
}

.box-bg-text::after {
  content: "";
  width: calc(50vw + 440px);
  height: calc(100% + 190px);
  background-color: #e1f0fa;
  position: absolute;
  left: 115px;
  top: 0;
  z-index: -2;
  border-radius: 25px 0 0 25px;
}

.clinic-02 .box-bg-text::after {
  background-color: #fef5d1;
}

.clinic-02 .box-clinic-1 {
  background: linear-gradient(0deg, rgba(255, 243, 194, 0.8) 12%, rgba(250, 210, 56, 0.8) 87%);
}

.clinic-02 .box-sign::after {
  background-color: #fef5d1;
}

.clinic-02 .box-clinic-1::after {
  display: none;
}

@media (min-width: 768px) {
  .clinic-02 .box-bg-text {
    padding-top: 60px;
  }

  .clinic-02 .box-while-clinic {
    padding-bottom: 50px;
  }
}

.table-clinic {
  display: flex;
  gap: 5px;
  margin-bottom: 6px;
}

.table-clinic-left {
  width: 130px;
  padding: 13px 20px;
  border-radius: 5px;
  background: #0071c5;
  color: #fff;
  font-weight: 500;
  font-family: "Zen Maru Gothic", sans-serif;
}

.table-clinic-right {
  flex: 1;
  padding: 9px 20px;
  border-bottom: 1px solid #0071c5;
  line-height: 1.75;
}

.single-content-inner ul.list-tag {
  margin: 0 25px;
}

.img-clinic-3 img {
  border-radius: 20px;
}

.box-img-clinic-4 {
  margin-top: 70px;
}

.box-img-clinic-4 h4 {
  font-size: 1.8rem;
  font-weight: bold;
  font-family: "Zen Maru Gothic", sans-serif;
  padding-bottom: 12px;
  border-bottom: 1px solid #0071c5;
  margin-top: 25px;
  margin-bottom: 20px;
}

.box-img-clinic-4 p {
  line-height: 1.8;
}

.img-clinic-4 img {
  border-radius: 20px;
}

section#clinic-05 .box-visit-04 {
  padding-top: 65px;
  padding-bottom: 65px;
}

.clinic-03 {
  position: relative;
}

.clinic-03::before {
  width: 438px;
  height: 363px;
  content: "";
  background-image: url(../images/clinic/after-2.png);
  left: -120px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  bottom: -80px;
  z-index: -1;
}

.clinic-04 {
  position: relative;
}

.clinic-04::before {
  width: 334px;
  height: 334px;
  content: "";
  background-image: url(../images/index/after-3.png);
  right: -75px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: -30px;
  z-index: -1;
}

.clinic-04::after {
  width: 194px;
  height: 194px;
  content: "";
  background-image: url(../images/index/after-4.png);
  left: -35px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  bottom: -45px;
  z-index: -1;
}

.clinic-05 {
  position: relative;
  padding-bottom: 300px;
}

.clinic-05::before {
  content: "";
  width: 371px;
  height: 425px;
  background-image: url(../images/index/after-7.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  right: -70px;
  bottom: 100px;
}

.single-content-inner {
  padding: 55px 75px;
  border: 1px solid #0071c5;
  border-radius: 30px;
}

ul.list-tag {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

ul.list-tag li a {
  min-height: 30px;
  display: flex;
  align-items: center;
  padding: 0 14px 1px;
  background-color: #c3e3f7;
  color: #333;
  font-weight: 500;
  border-radius: 5px;
}

.infor-line {
  position: relative;
  padding-bottom: 18px;
}

.infor-line::after {
  content: "";
  width: 308px;
  border-top: 2px dotted #b3b2b3;
  position: absolute;
  left: 0;
  bottom: 0;
}

a.btn.btn-home-single.btn-main {
  min-width: 240px;
}

.works-filter {
  padding: 30px 0 37px;
  background-color: #fdf1c3;
  border-radius: 22px;
}

.box-works-filter {
  display: flex;
  justify-content: center;
  gap: 80px;
}

.box-flex-news {
  display: flex;
  gap: 50px;
}

.list-tag-news {
  width: 220px;
  padding: 55px 23px;
  background-color: #f0f6fa;
  border-radius: 15px;
}

.list-post {
  flex: 1;
}

.list-tag-news ul.list-tag {
  gap: 10px 6px;
}

.list-tag-news ul.list-tag a {
  font-size: 1.4rem;
}

.page-news .news-item.item-list {
  padding: 25px;
}

.page-news .news-item.item-list .title {
  margin-top: 10px;
}

.single .wp-pagenavi a.nextpostslink,
.single .wp-pagenavi a.previouspostslink,
.single a.next-btn,
.single a.pre-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  margin: 0;
}

.single .wp-pagenavi a.previouspostslink,
.single a.pre-btn {
  left: 0;
  right: auto;
  margin: 0;
}

.box-btn-fixed {
  position: fixed;
  right: 0;
  top: 190px;
  z-index: 999;
  transition: 0.5s;
}

.box-btn-fixed.is-open {
  right: 570px;
}

/* Nút bấm */
a.btn.btn-fixed {
  height: 260px;
  width: 75px;
  border: 2px solid #0071c5;
  justify-content: flex-start;
  align-items: center;
  padding-top: 26px;
  border-radius: 10px 0 0 10px;
  background-color: #fff;
  text-orientation: upright;
  writing-mode: vertical-lr;
  color: #0071c5;
  font-weight: bold;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
  gap: 13px;
  font-size: 2.6rem;
  font-family: "Zen Maru Gothic", sans-serif;
  letter-spacing: 0.15em;
}

a.btn.btn-fixed::after {
  content: "";
  width: 25px;
  height: 25px;
  background-image: url(../images/index/icon-right-blue.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 25px;
  top: auto;
}

/* Box nội dung */
.content-fixed {
  position: fixed;
  right: 0;
  top: 190px;
  transform: translate(100%, 0%);
  padding: 35px 50px;
  width: 570px;
  /* chỉnh theo design */
  background: #e1f0fa;
  border: 2px solid #0071c5;
  border-radius: 0;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
  transition: transform 0.4s ease;
  z-index: 998;
}

.content-fixed a.btn.btn-web {
  width: 270px;
  min-height: 60px;
  border-color: #fff;
}

.content-fixed .box-schedule-info {
  padding-bottom: 10px;
}

/* Khi mở */
.box-btn-fixed.is-open .content-fixed {
  transform: translate(0, 0%);
  right: 0px;
}

.mega-menu-course a.link-footer {
  color: #0071c5;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: bold;
  padding-left: 30px;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
}

.mega-menu-course a.link-footer::after {
  background-image: url(../images/index/icon-right-blue.svg);
}

.mega-menu-course a.sub-link-footer-cont {
  color: #333;
  margin-left: 30px;
  font-weight: bold;
  line-height: 2;
  letter-spacing: 0.1em;
  text-align: left;
}

.mega-menu-course a.sub-link-footer-cont::after {
  background-color: #333;
}

.mega-menu-course .box-flex-link-footer {
  justify-content: space-between;
  width: 100%;
  margin-top: 30px;
}

footer {
  overflow: hidden;
}

.info-01 {
  position: relative;
}

.info-01::after {
  content: "";
  width: 371px;
  height: 424px;
  background-image: url(../images/info/after-1.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  bottom: -40px;
  left: -80px;
  z-index: -1;
}

.info-01::before {
  content: "";
  width: 330px;
  height: 330px;
  background-image: url(../images/index/after-3.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  bottom: -180px;
  right: -110px;
  z-index: -4;
}

.info-01 .reception-table .time {
  width: 300px;
}

.toggle-mb.toggle-mega:last-child {
  margin-bottom: 0;
}

.toggle-mb.toggle-mega:last-child .toggle-hd {
  color: #ff6363;
}

.toggle-mb.toggle-mega:last-child .toggle-hd::after {
  background-color: #ff6363;
}

.toggle-mb.toggle-mega .toggle-hd {
  font-size: 1.6rem;
  font-weight: 500;
  font-family: "Zen Maru Gothic", sans-serif;
  letter-spacing: 0.1em;
  position: relative;
  display: block;
  text-align: left;
  color: #00a89f;
  margin-bottom: 20px;
}

.toggle-mb.toggle-mega .toggle-hd::after {
  content: "";
  width: 15px;
  height: 15px;
  mask-image: url(../images/index/icon-open-mega.svg);
  -webkit-mask-image: url(../images/index/icon-open-mega.svg);
  mask-size: 100% 100%;
  mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  background-color: #00a89f;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.toggle-mb.toggle-mega .toggle-hd.active::after {
  mask-image: url(../images/index/icon-close-mega.svg);
  -webkit-mask-image: url(../images/index/icon-close-mega.svg);
}

.toggle-mb.toggle-mega a.sub-link-footer-cont {
  margin-left: 20px;
  text-decoration: underline;
  font-size: 1.5rem;
  letter-spacing: 0.1em;
  font-family: "Noto Sans JP", sans-serif;
}

.toggle-mb.toggle-mega a.sub-link-footer-cont::after {
  display: none;
}

.box-fixed-mb {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 60px;
  background-color: #fad238;
  border-radius: 16px 16px 0 0;
  display: flex;
  z-index: 2;
}

.box-fixed-mb a {
  border-right: 1px solid #fff;
  min-height: 60px;
  width: 33.33%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  font-size: 1.3rem;
  font-weight: 500;
  font-family: "Zen Maru Gothic", sans-serif;
  color: #333;
  gap: 5px;
}

.box-fixed-mb a img {
  height: 24px;
}

.box-fixed-mb a:last-child {
  border-right: none;
}

#info-01 .reception-table {
  font-size: 2rem;
}

.text-flex-cs {
  display: flex;
  gap: 20px;
  justify-content: center;
  text-align: left;
}

@media (min-width: 768px) and (max-width: 1375px) {
  .home .header-inner {
    padding: 15px 20px;
  }

  .header-inner {
    padding: 15px 20px;
  }

  .header-main .logo-left .logo {
    width: 350px;
  }

  .item-teaser h4 {
    font-size: 2rem;
  }
}

@media (min-width: 768px) and (max-width: 1190px) {
  .header-main .main-menu .nav>li {
    padding: 0 15px;
  }

  .header-main .main-menu .nav>li a {
    font-size: 1.6rem;
  }
}

@media (min-width: 768px) and (max-width: 1010px) {
  .header-main .logo-left .logo {
    width: 300px;
  }

  .header-main .main-menu .nav>li {
    padding: 0 10px;
  }

  .header-main .main-menu .nav>li a {
    font-size: 1.4rem;
  }
}

@media (min-width: 768px) and (max-width: 930px) {
  .box-top-header {
    gap: 20px;
  }

  a.tel {
    font-size: 2rem;
  }
}

@media (min-width: 768px) and (max-width: 868px) {
  .header-main .logo-left .logo {
    width: 250px;
  }

  .header-main .main-menu .nav>li {
    padding: 0 5px;
  }
}

.logged-in .header-wrapper {
  top: 32px;
}

main {
  margin-top: 156px;
}

.header-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 5;
  background-color: #fff;
}

header.UpMove .header-wrapper {
  animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }

  to {
    opacity: 0;
    transform: translateY(-140px);
  }
}

header.DownMove .header-wrapper {
  animation: DownAnime 0.5s forwards;
}

@keyframes DownAnime {
  from {
    opacity: 0;
    transform: translateY(-140px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (min-width: 768px) and (max-width: 1060px) {
  .teaser-03 .row-xxxxxlarge {
    margin-left: -15px;
    margin-right: -15px;
    width: calc(100% + 30px);
  }

  .teaser-03 .row-xxxxxlarge>[class*=col-]:not(.col-inner) {
    padding: 0 15px;
  }

  a.link-footer {
    font-size: 1.4rem;
  }

  a.sub-link-footer {
    font-size: 1.4rem;
  }

  .footer-right {
    gap: 15px;
  }
}

@media (min-width: 768px) and (max-width: 1060px) {
  .footer-right {
    gap: 15px;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
}

/*# sourceMappingURL=style.css.map */