/* top */
.top {
  position: relative;
}
@media screen and (min-width: 768px) {
  .top::before {
    content: "";
    display: block;
    position: fixed;
    width: 6px;
    height: 0;
    top: 0;
    left: 0;
    background-color: #00A0E9;
    z-index: 98;
    transition: all 0.6s ease;
  }
}
.top.show::before {
  height: 100%;
}
.top .main-visual.show::before {
  transform: scale(1);
}
.top .main-ttl.show {
  opacity: 1;
  transform: translateY(0);
}
.top .main-txt.show {
  opacity: 1;
  transform: translateY(0);
}
.top .scroll.show {
  opacity: 1;
}

.en {
  font-family: "Arial", sans-serif;
}
@media screen and (max-width: 767px) {
  .en .main-visual .main-ttl {
    font-size: 2.7rem;
    letter-spacing: 0.075em;
  }
}
.en .slider-wrap {
  margin-top: 144px;
}
@media screen and (max-width: 767px) {
  .en .slider-wrap {
    margin-top: 80px;
  }
}
.en .voice-area .senior .senior-txt-wrap .senior-info {
  height: 100%;
  align-items: end;
  justify-content: start;
}

.main-visual {
  display: flex;
  align-items: end;
  position: relative;
  overflow: hidden;
  min-height: calc(100vh - 92px);
}
@media screen and (max-width: 767px) {
  .main-visual {
    padding: 314px 0 24px;
    min-height: calc(100vh - 72px);
  }
}
.main-visual::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: url(/assets/images/bg_main_visual.webp) no-repeat center top/cover;
  transform: scale(1.05);
  transition-duration: 2s;
}
@media screen and (max-width: 767px) {
  .main-visual::before {
    background: url(/assets/images/bg_main_visual_sp.webp) no-repeat center top/cover;
  }
}
.main-visual .mv-inner {
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 2;
  padding: 0 max(28px, 4.39238653vw) max(156px, 12.5915080527vw);
}
@media screen and (max-width: 767px) {
  .main-visual .mv-inner {
    color: #fff;
    padding: 0 40px 0 24px;
  }
}
.main-visual .main-ttl {
  color: #00A0E9;
  font-size: max(32px, 2.635431918vw);
  font-weight: bold;
  line-height: 2;
  opacity: 0;
  transform: translateY(50px);
  transition: all 0.6s ease;
}
@media screen and (max-width: 767px) {
  .main-visual .main-ttl {
    color: #fff;
    font-size: 3rem;
    line-height: 1.5;
  }
}
.main-visual .main-txt {
  font-size: max(18px, 1.4641288433vw);
  line-height: 2;
  margin-top: 32px;
  opacity: 0;
  transform: translateY(50px);
  transition: all 0.6s ease;
}
@media screen and (max-width: 767px) {
  .main-visual .main-txt {
    color: #fff;
    font-size: 1.4rem;
    margin-top: 16px;
  }
}
.main-visual .scroll {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .main-visual .scroll {
    width: max(32px, 2.3426061493vw);
    height: max(160px, 11.7130307467vw);
    right: max(32px, 2.3426061493vw);
    bottom: max(32px, 2.3426061493vw);
    padding: max(80px, 5.8565153734vw) 0 max(16px, 1.1713030747vw);
  }
}
@media screen and (max-width: 767px) {
  .main-visual .scroll {
    right: 20px;
    bottom: 36px;
  }
}

.about-section {
  padding: 120px 0 380px;
  background: url(/assets/images/bg_about.webp) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .about-section {
    padding: 54px 12px 300px;
    background: url(/assets/images/bg_about_sp.webp) no-repeat left bottom/100% auto;
  }
  .about-section .cmn-inner {
    border-radius: 15px;
    padding: 24px 12px 32px;
    background-color: rgba(0, 160, 233, 0.05);
  }
}

.about-dl {
  display: flex;
}
@media screen and (max-width: 767px) {
  .about-dl {
    flex-direction: column;
    gap: 28px;
  }
}
.about-dl dt {
  padding-top: 48px;
  font-size: 2.4rem;
  font-weight: 900;
  line-height: 1.3333333333;
  letter-spacing: 0.06em;
  padding-right: 128px;
}
@media screen and (max-width: 767px) {
  .about-dl dt {
    padding: 0;
    font-size: 1.5rem;
    line-height: 1;
  }
}
.about-dl dd {
  line-height: 2;
  flex: 1;
}
@media screen and (max-width: 767px) {
  .about-dl dd {
    flex: 0 1 auto;
    font-size: 1.4rem;
  }
}
.about-dl dd p + p {
  margin-top: 16px;
}

.about-btn-wrap {
  display: flex;
  align-items: start;
  margin-top: 64px;
}
@media screen and (max-width: 767px) {
  .about-btn-wrap {
    flex-direction: column;
    align-items: end;
    margin-top: 16px;
  }
}

.business-section {
  padding: 120px 0 232px;
  background: url(/assets/images/bg_business.webp) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .business-section {
    padding: 68px 0 88px;
    background: url(/assets/images/bg_business_sp.webp) no-repeat center bottom -138px/cover;
  }
}
.business-section .cmn-l-inner {
  display: flex;
  gap: 140px;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .business-section .cmn-l-inner {
    flex-direction: column;
    gap: 0;
  }
}

@media screen and (max-width: 767px) {
  .business-ttl-wrap {
    display: contents;
  }
}

@media screen and (max-width: 767px) {
  .business-contents-wrap {
    order: 2;
  }
}
.business-contents-wrap p {
  line-height: 2;
}

.business-products-box {
  margin-top: 72px;
  display: flex;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .business-products-box {
    margin-top: 16px;
    gap: 10px;
  }
}
.business-products-box .products-images img {
  zoom: 0.5;
}

.business-btn-wrap {
  display: flex;
  align-items: start;
  margin-top: 64px;
}
@media screen and (max-width: 767px) {
  .business-btn-wrap {
    flex-direction: column;
    align-items: end;
    margin-top: 36px;
    order: 3;
  }
}

.medical-section {
  position: relative;
  overflow: hidden;
  padding-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .medical-section {
    padding-bottom: 0;
  }
  .medical-section .cmn-ttl-wrap {
    padding: 0 24px;
  }
}
.medical-section::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 513px;
  top: 120px;
  background: url(/assets/images/bg_medical.webp) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .medical-section::before {
    top: 144px;
    aspect-ratio: 750/790;
    height: auto;
    background-image: url(/assets/images/bg_medical_sp.webp);
    z-index: 2;
  }
}
.medical-section::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 120px;
  left: 0;
  background: linear-gradient(to bottom, rgba(245, 241, 238, 0) 0%, rgba(245, 241, 238, 0) 350px, rgb(245, 241, 238) 510px, rgb(245, 241, 238) 100%);
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .medical-section::after {
    top: 400px;
    background-color: #F5F1EE;
    z-index: 1;
  }
}
.medical-section .cmn-l-inner {
  display: flex;
  flex-direction: column;
  align-items: end;
  position: relative;
  z-index: 3;
  padding-top: 60px;
}
@media screen and (max-width: 767px) {
  .medical-section .cmn-l-inner {
    padding-top: 32px;
  }
}

.medical-txt-wrap {
  display: flex;
  flex-direction: column;
  padding-right: 60px;
  padding-bottom: 80px;
  max-width: 600px;
}
@media screen and (max-width: 767px) {
  .medical-txt-wrap {
    width: 100%;
    padding: 375px 0 0;
  }
}
.medical-txt-wrap .medical-ttl {
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .medical-txt-wrap .medical-ttl {
    margin-bottom: 0;
    width: 196px;
    position: absolute;
    top: 0;
    right: 0;
  }
}
.medical-txt-wrap p {
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .medical-txt-wrap p {
    font-size: 1.4rem;
  }
}

.medical-btn-wrap {
  display: flex;
  align-items: start;
  margin-top: 72px;
}
@media screen and (max-width: 767px) {
  .medical-btn-wrap {
    flex-direction: column;
    align-items: end;
    margin-top: 36px;
  }
}

.medical-img-contents {
  max-width: 1366px;
  margin: 0 auto;
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .medical-img-contents {
    margin-top: 25px;
    padding: 0 40px;
  }
}

.careers-section {
  padding: 100px 0 118px;
  background: url(/assets/images/bg_careers.webp) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .careers-section {
    margin-top: 42px;
    padding: 24px 0;
    background-image: url(/assets/images/bg_careers_sp.webp);
  }
}

.en .careers-section {
  background-image: url(/assets/images/bg_careers_en.webp);
}
@media screen and (max-width: 767px) {
  .en .careers-section {
    background-image: url(/assets/images/bg_careers_en_sp.webp);
  }
}

.careers-ttl-wrap {
  display: flex;
  align-items: center;
  flex-direction: column;
  margin-bottom: 100px;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .careers-ttl-wrap {
    margin-bottom: 40px;
  }
}
.careers-ttl-wrap .en {
  font-size: 13.5rem;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .careers-ttl-wrap .en {
    font-size: 6.8rem;
  }
}
.careers-ttl-wrap .ttl {
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .careers-ttl-wrap .ttl {
    font-size: 1.3rem;
  }
}

.careers-dl {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .careers-dl {
    flex-direction: column;
    gap: 14px;
  }
}
.careers-dl dt {
  font-size: 2.4rem;
  font-weight: 900;
  line-height: 1.3333333333;
  letter-spacing: 0.06em;
  padding-right: 128px;
}
@media screen and (max-width: 767px) {
  .careers-dl dt {
    padding-right: 0;
    font-size: 1.8rem;
  }
}
.careers-dl dd {
  line-height: 2;
  flex: 1;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .careers-dl dd {
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
  }
}
.careers-dl dd p + p {
  margin-top: 16px;
}

.careers-btn-wrap {
  display: flex;
  justify-content: center;
  margin-top: 164px;
}
@media screen and (max-width: 767px) {
  .careers-btn-wrap {
    margin-top: 90px;
  }
}
.careers-btn-wrap .cmn-btn {
  min-width: 320px;
}
@media screen and (max-width: 767px) {
  .careers-btn-wrap .cmn-btn {
    min-width: 160px;
  }
}

/* /top */
/* business */
.bg-blue {
  background-color: #EFF9FE;
}

.round-section {
  border-radius: 100px 100px 0 0;
}
@media screen and (max-width: 767px) {
  .round-section {
    border-radius: 40px;
  }
}

@media screen and (max-width: 767px) {
  #production_system {
    padding-bottom: 80px;
  }
}
#production_system .cmn-inner {
  padding-top: 110px;
}
@media screen and (max-width: 767px) {
  #production_system .cmn-inner {
    padding-top: 70px;
  }
}
#production_system .section-lead {
  margin-top: 50px;
  font-size: 2.4rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #production_system .section-lead {
    font-size: 1.8rem;
    text-align: left;
  }
}
#production_system .gd-box {
  margin-top: 40px;
  padding: 55px 120px;
  border-radius: 25px;
}
@media screen and (max-width: 767px) {
  #production_system .gd-box {
    margin-top: 25px;
    padding: 45px 10px 65px;
    border-radius: 14px;
  }
}
#production_system .point-list {
  position: relative;
}
#production_system .point-list::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 424px;
  height: 5px;
  background: url(/assets/images/icn_business_04.svg) no-repeat center/contain;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  #production_system .point-list::after {
    background: none;
  }
}

.gd-box {
  background-image: linear-gradient(to bottom, rgba(71, 186, 239, 0.2), rgba(0, 160, 233, 0.04));
}

.point-list {
  display: grid;
  grid-template-columns: repeat(3, max-content);
  gap: 90px;
}
@media screen and (max-width: 767px) {
  .point-list {
    gap: 6px;
    grid-template-columns: repeat(3, 1fr);
  }
}
.point-list .point-list-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 20px;
  width: 194px;
  height: 194px;
  background-color: #fff;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .point-list .point-list-item {
    margin-inline: auto;
    padding-top: 5px;
    width: 98px;
    height: 98px;
  }
}
.point-list .point-list-item .num {
  color: #00A0E9;
  font-size: 3.6rem;
  font-family: "Arial", sans-serif;
}
@media screen and (max-width: 767px) {
  .point-list .point-list-item .num {
    font-size: 1.8rem;
  }
}
.point-list .point-list-item .txt {
  font-size: 1.8rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .point-list .point-list-item .txt {
    font-size: 1.2rem;
  }
}
.point-list .point-list-item .icon-wrap {
  margin-top: 10px;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (max-width: 767px) {
  .point-list .point-list-item .icon-wrap img {
    max-height: 32px;
  }
}
@media screen and (max-width: 767px) {
  .point-list .point-list-item:nth-child(2) .icon-wrap img {
    max-height: 36px;
  }
}

@media screen and (max-width: 767px) {
  .production-list {
    margin-top: 50px;
  }
}
.production-list .production-list-item {
  position: relative;
  margin-top: 180px;
  padding-left: 38px;
}
@media screen and (max-width: 767px) {
  .production-list .production-list-item {
    padding-left: 0;
    margin-top: 0;
  }
}
.production-list .production-list-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 8px;
  height: 100%;
  background-image: linear-gradient(to bottom, #00A0E9 0%, #EFF9FE 100%);
}
@media screen and (max-width: 767px) {
  .production-list .production-list-item::before {
    display: none;
  }
}
.production-list .production-list-item .production-list-ttl {
  font-size: 2.8rem;
}
@media screen and (max-width: 767px) {
  .production-list .production-list-item .production-list-ttl {
    position: relative;
    display: flex;
    align-items: flex-start;
    font-size: 1.8rem;
    padding-left: 15px;
  }
  .production-list .production-list-item .production-list-ttl::before {
    content: "";
    position: absolute;
    top: 0;
    left: -1px;
    width: 4px;
    height: 100%;
    background-image: linear-gradient(to bottom, #00A0E9 0%, #EFF9FE 100%);
  }
}
.production-list .production-list-item .production-list-ttl .num {
  padding-right: 10px;
  color: #00A0E9;
  font-family: "Arial", sans-serif;
}
@media screen and (max-width: 767px) {
  .production-list .production-list-item .production-list-ttl .num {
    font-size: 2.1rem;
    line-height: 1.1;
  }
}
.production-list .production-list-item .production-list-contents {
  display: grid;
  grid-template-columns: auto max-content;
  gap: 40px;
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .production-list .production-list-item .production-list-contents {
    grid-template-columns: 1fr;
    gap: 25px;
    margin-top: 20px;
  }
}
.production-list .production-list-item .production-list-contents .txt-wrap {
  position: relative;
  line-height: 2.25;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .production-list .production-list-item .production-list-contents .txt-wrap {
    font-size: 1.4rem;
  }
}
.production-list .production-list-item .production-list-contents .txt-wrap::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: -1;
}
.production-list .production-list-item .production-list-contents .img-wrap img {
  border-radius: 14px;
}
.production-list .production-list-item:nth-child(1) .production-list-contents .txt-wrap {
  position: relative;
}
.production-list .production-list-item:nth-child(1) .production-list-contents .txt-wrap::after {
  width: 171px;
  height: 171px;
  background: url(/assets/images/icn_business_05.svg) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .production-list .production-list-item:nth-child(1) .production-list-contents .txt-wrap::after {
    bottom: 0;
    width: 110px;
    height: 110px;
  }
}
.production-list .production-list-item:nth-child(2) .production-list-contents .txt-wrap {
  position: relative;
}
.production-list .production-list-item:nth-child(2) .production-list-contents .txt-wrap::after {
  width: 126px;
  height: 153px;
  background: url(/assets/images/icn_business_06.svg) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .production-list .production-list-item:nth-child(2) .production-list-contents .txt-wrap::after {
    width: 80px;
    height: 95px;
  }
}
.production-list .production-list-item:nth-child(3) .production-list-contents .txt-wrap {
  position: relative;
}
.production-list .production-list-item:nth-child(3) .production-list-contents .txt-wrap::after {
  width: 202px;
  height: 172px;
  background: url(/assets/images/icn_business_07.svg) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .production-list .production-list-item:nth-child(3) .production-list-contents .txt-wrap::after {
    width: 135px;
    height: 116px;
  }
}
@media screen and (max-width: 767px) {
  .production-list .production-list-item + .production-list-item {
    margin-top: 90px;
  }
}

#production_process .cmn-inner {
  padding-top: 160px;
}
@media screen and (max-width: 767px) {
  #production_process .cmn-inner {
    padding-top: 108px;
  }
}
#production_process .cmn-inner p {
  line-height: 2.25;
}
@media screen and (max-width: 767px) {
  #production_process .cmn-inner p {
    font-size: 1.4rem;
    line-height: 2.15;
  }
}
#production_process .cmn-ttl-wrap {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  #production_process .cmn-ttl-wrap {
    margin-bottom: 10px;
  }
}
#production_process .cmn-ttl-wrap .ttl {
  font-size: 2.8rem;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  #production_process .cmn-ttl-wrap .ttl {
    font-size: 1.8rem;
  }
}

.modal-list {
  margin-top: 100px;
  display: flex;
  flex-wrap: wrap;
  gap: 50px;
  margin-inline: auto;
  max-width: 850px;
}
@media screen and (max-width: 767px) {
  .modal-list {
    margin-top: 30px;
    max-width: none;
    gap: 0;
  }
}
.modal-list .modal-list-item {
  min-width: 250px;
}
@media screen and (max-width: 767px) {
  .modal-list .modal-list-item {
    min-width: 150px;
    width: calc(50% - 10px);
    text-align: center;
  }
}
.modal-list .modal-list-item .txt {
  margin-top: 5px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .modal-list .modal-list-item .txt {
    font-size: 1.4rem;
  }
}
.modal-list .modal-list-item .modal-btn {
  position: relative;
  border-radius: 10px 10px 0 10px;
  overflow: hidden;
}
.modal-list .modal-list-item .modal-btn img {
  transition: all 0.3s ease;
}
.modal-list .modal-list-item .modal-btn::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 56px;
  height: 56px;
  background-color: #fff;
  border-radius: 20px 0 0 0;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .modal-list .modal-list-item .modal-btn::before {
    border-radius: 10px 0 0 0;
    width: 32px;
    height: 32px;
  }
}
.modal-list .modal-list-item .modal-btn::after {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: 0;
  right: 0;
  width: 48px;
  height: 48px;
  background: url(/assets/images/icn_zoom.webp) no-repeat center/cover;
  transition: all 0.3s ease;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .modal-list .modal-list-item .modal-btn::after {
    width: 28px;
    height: 28px;
  }
}
@media (any-hover: hover) {
  .modal-list .modal-list-item .modal-btn:hover img {
    transform: scale(1.05);
  }
}
@media screen and (max-width: 767px) {
  .modal-list .modal-list-item:nth-child(2n) {
    margin-left: auto;
  }
}

#production_oem {
  position: relative;
  padding-top: 350px;
  background-image: linear-gradient(to bottom, #fff 0%, #EFF9FE 100%);
}
@media screen and (max-width: 767px) {
  #production_oem {
    padding-top: 215px;
    padding-bottom: 40px;
    padding-inline: 24px;
  }
}
#production_oem::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 350px;
  background: url(/assets/images/bg_business_01.webp) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  #production_oem::before {
    height: 215px;
    background-image: url(/assets/images/bg_business_01_sp.webp);
  }
}
#production_oem .ttl-wrap {
  position: relative;
  margin-top: -40px;
  margin-left: 17.5vw;
  padding: 35px 55px 55px;
  background-color: #fff;
  box-shadow: 3px 3px 10px 0px rgba(0, 0, 0, 0.45);
  width: calc(100% - 17.5vw);
  border-radius: 24px 0 0 24px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  #production_oem .ttl-wrap {
    margin-left: 0;
    padding: 30px 20px;
    min-width: auto;
    max-width: 87.2vw;
    width: 100%;
    border-radius: 12px;
  }
}
#production_oem .ttl-wrap .ttl {
  color: #00A0E9;
  font-size: 2.8rem;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  #production_oem .ttl-wrap .ttl {
    font-size: 1.8rem;
  }
}
#production_oem .ttl-wrap .lead {
  margin-top: 35px;
  font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
  #production_oem .ttl-wrap .lead {
    margin-top: 20px;
    font-size: 1.5rem;
  }
}
#production_oem .ttl-wrap p {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  #production_oem .ttl-wrap p {
    margin-top: 10px;
    font-size: 1.4rem;
    line-height: 2.14;
  }
}
#production_oem .section-lead {
  margin-top: 110px;
  font-size: 2.6rem;
  text-align: center;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  #production_oem .section-lead {
    margin-top: 45px;
    font-size: 1.4rem;
    text-align: left;
    line-height: 2.14;
  }
}
#production_oem .img-wrap {
  text-align: center;
  margin-top: 35px;
}
@media screen and (max-width: 767px) {
  #production_oem .img-wrap {
    margin-top: 65px;
    margin-inline: auto;
    padding-inline: 35px;
    max-width: 500px;
  }
}

.next-section .cmn-inner {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  align-items: flex-end;
  gap: 10px;
  padding-top: 160px;
  padding-bottom: 0;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .next-section .cmn-inner {
    padding-top: 80px;
    width: 100%;
    grid-template-columns: 1fr;
  }
}
.next-section .txt-wrap {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .next-section .txt-wrap {
    font-size: 1.4rem;
  }
}
.next-section .txt-wrap .next {
  font-size: 8rem;
  line-height: 1.45;
  color: #00A0E9;
}
@media screen and (max-width: 767px) {
  .next-section .txt-wrap .next {
    font-size: 6rem;
  }
}
.next-section .next-link {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-top: 10px;
  padding: 20px 40px;
  width: 350px;
  min-height: 123px;
  height: 100%;
  color: #fff;
  border: 1px solid #fff;
  background-color: #00A0E9;
  border-radius: 62px;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .next-section .next-link {
    margin-top: 0;
    margin-inline: auto;
    padding: 6px 30px;
    width: 212px;
    min-height: 64px;
  }
}
.next-section .next-link .txt {
  font-size: 2.8rem;
  font-weight: bold;
  font-family: "Arial", sans-serif;
}
@media screen and (max-width: 767px) {
  .next-section .next-link .txt {
    font-size: 1.9rem;
    font-weight: normal;
  }
}
.next-section .next-link .sub {
  font-size: 1.8rem;
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  .next-section .next-link .sub {
    font-size: 1.4rem;
  }
}
.next-section .next-link::after {
  content: "";
  position: absolute;
  right: 55px;
  bottom: 35px;
  width: 64px;
  height: 18px;
  transition: all 0.3s ease;
  background: url(/assets/images/icn_arr_01.svg) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .next-section .next-link::after {
    bottom: 15px;
    right: 24px;
    width: 40px;
    height: 10px;
  }
}
@media (any-hover: hover) {
  .next-section .next-link:hover {
    color: #00A0E9;
    background-color: #fff;
    border: 1px solid #00A0E9;
  }
  .next-section .next-link:hover::after {
    right: 45px;
    background-image: url(/assets/images/icn_arr_02.svg);
  }
}
.next-section .next-link:focus {
  color: #00A0E9;
  background-color: #fff;
  border: 1px solid #00A0E9;
}
.next-section .next-link:focus::after {
  right: 45px;
  background-image: url(/assets/images/icn_arr_02.svg);
}

.contact-section .cmn-inner {
  padding-top: 170px;
  padding-bottom: 125px;
}
@media screen and (max-width: 767px) {
  .contact-section .cmn-inner {
    padding-top: 65px;
    padding-bottom: 65px;
  }
}
.contact-section .contact-link {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-top: 10px;
  margin-inline: auto;
  padding: 0 45px;
  width: 300px;
  min-height: 80px;
  height: 100%;
  color: #00A0E9;
  border: 1px solid #00A0E9;
  background-color: #fff;
  border-radius: 62px;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .contact-section .contact-link {
    margin-top: 0;
    margin-inline: auto;
    padding: 10px 20px;
    width: 165px;
    min-height: auto;
  }
}
.contact-section .contact-link .txt {
  font-size: 2.8rem;
  font-weight: bold;
  font-family: "Arial", sans-serif;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .contact-section .contact-link .txt {
    font-size: 1.9rem;
    font-weight: bold;
    line-height: 1;
  }
}
.contact-section .contact-link .sub {
  font-size: 1.6rem;
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  .contact-section .contact-link .sub {
    font-size: 1.4rem;
    line-height: 1;
  }
}
.contact-section .contact-link::after {
  content: "";
  position: absolute;
  right: 46px;
  bottom: 18px;
  width: 64px;
  height: 18px;
  transition: all 0.3s ease;
  background: url(/assets/images/icn_arr_02.svg) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .contact-section .contact-link::after {
    bottom: 15px;
    right: 21px;
    width: 32px;
    height: 9px;
  }
}
@media (any-hover: hover) {
  .contact-section .contact-link:hover {
    color: #fff;
    background-color: #00A0E9;
    border: 1px solid #00A0E9;
  }
  .contact-section .contact-link:hover::after {
    right: 36px;
    background-image: url(/assets/images/icn_arr_01.svg);
  }
}
.contact-section .contact-link:focus {
  color: #fff;
  background-color: #00A0E9;
  border: 1px solid #00A0E9;
}
.contact-section .contact-link:focus::after {
  right: 36px;
  background-image: url(/assets/images/icn_arr_01.svg);
}

body.show-modal {
  overflow: hidden;
}

.modal-frame {
  position: fixed;
  inset: 0;
  padding: 0;
  max-width: 900px;
  background-color: #EFF9FE;
  border-radius: 16px;
  border: none;
  z-index: 101;
}
@media screen and (max-width: 767px) {
  .modal-frame {
    max-width: 87.2vw;
  }
}
.modal-frame .next-btn,
.modal-frame .prev-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 43px;
  height: 43px;
  z-index: 1;
  transition: all 0.3s ease;
}
@media (any-hover: hover) {
  .modal-frame .next-btn:hover,
  .modal-frame .prev-btn:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 767px) {
  .modal-frame .next-btn,
  .modal-frame .prev-btn {
    width: 17px;
    height: 23px;
  }
}
.modal-frame .prev-btn {
  left: -60px;
  background: url(/assets/images/icn_prev.svg) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .modal-frame .prev-btn {
    left: -21px;
    background-image: url(/assets/images/icn_prev_sp.svg);
  }
}
.modal-frame .next-btn {
  right: -60px;
  background: url(/assets/images/icn_next.svg) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .modal-frame .next-btn {
    right: -21px;
    background-image: url(/assets/images/icn_next_sp.svg);
  }
}
.modal-frame::backdrop {
  display: none;
}

.backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.45);
  z-index: 100;
}
.backdrop.show {
  display: block;
}

.modal-close-btn {
  position: absolute;
  top: 30px;
  right: 30px;
  width: 38px;
  height: 38px;
  background: url(/assets/images/icn_close_01.svg) no-repeat center/cover;
  z-index: 101;
  transition: all 0.3s ease;
}
@media (any-hover: hover) {
  .modal-close-btn:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 767px) {
  .modal-close-btn {
    width: 20px;
    height: 20px;
    outline: none;
  }
}

.modal {
  display: none;
}
@media screen and (max-width: 767px) {
  .modal {
    max-height: 90vh;
    overflow-y: scroll;
    border-radius: 16px;
  }
}
.modal.show {
  position: relative;
  display: block;
  z-index: 101;
}
.modal .modal-inner {
  display: flex;
  flex-direction: column;
  padding: 85px 100px 0;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .modal .modal-inner {
    display: flex;
    flex-direction: column;
    padding: 50px 0 0;
    min-height: 480px;
  }
}
.modal .modal-inner .modal-ttl {
  color: #00A0E9;
  font-size: 2.2rem;
}
@media screen and (max-width: 767px) {
  .modal .modal-inner .modal-ttl {
    order: 1;
    font-size: 1.8rem;
  }
}
.modal .modal-inner .modal-img-list {
  margin-top: 20px;
  display: flex;
  gap: 40px;
  margin-inline: auto;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .modal .modal-inner .modal-img-list {
    order: 3;
    gap: 5px;
    padding-inline: 10px;
    margin-top: 0;
    margin-bottom: 24px;
  }
  .modal .modal-inner .modal-img-list li {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
  }
}
@media screen and (max-width: 767px) {
  .modal .modal-inner .modal-img-list figure {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-grow: 2;
  }
}
@media screen and (max-width: 767px) {
  .modal .modal-inner .modal-img-list figure img {
    max-width: 150px;
  }
}
.modal .modal-inner .modal-img-list img {
  border-radius: 16px;
}
@media screen and (max-width: 767px) {
  .modal .modal-inner .modal-img-list img {
    order: 2;
  }
}
.modal .modal-inner .modal-img-list figcaption {
  margin-top: 5px;
  font-size: 1.6rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .modal .modal-inner .modal-img-list figcaption {
    order: 1;
    font-size: 1.4rem;
    margin-top: 0;
    margin-bottom: 5px;
    flex-grow: 3;
  }
}
.modal .modal-inner .modal-txt {
  margin-top: 20px;
  line-height: 2.25;
  min-height: 132px;
  padding-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .modal .modal-inner .modal-txt {
    order: 2;
    font-size: 1.4rem;
    line-height: 1.7;
    min-height: auto;
  }
}
@media screen and (max-width: 767px) {
  .modal .modal-inner .modal-ttl,
  .modal .modal-inner .modal-txt {
    padding-inline: 20px;
  }
}
.modal .modal-inner .modal-box {
  margin-top: auto;
  margin-inline: auto;
  padding: 15px;
  min-width: 550px;
  border-radius: 16px 16px 0 0;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .modal .modal-inner .modal-box {
    order: 4;
    margin-top: auto;
    padding: 15px 0;
    min-width: auto;
    min-height: auto;
    width: 100%;
    border-radius: 0 0 16px 16px;
  }
}
.modal .modal-inner .modal-box .modal-box-ttl {
  text-align: center;
  color: #00A0E9;
  font-size: 1.6rem;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .modal .modal-inner .modal-box .modal-box-ttl {
    font-size: 1.4rem;
  }
}
.modal .modal-inner .modal-box .modal-box-img-list {
  margin-top: 20px;
  display: flex;
  gap: 50px;
  margin-inline: auto;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .modal .modal-inner .modal-box .modal-box-img-list {
    gap: 20px;
    padding-inline: 45px;
  }
}
.modal .modal-inner .modal-box .modal-box-img-list figure {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .modal .modal-inner .modal-box .modal-box-img-list figure img {
    max-width: 100px;
  }
}
.modal .modal-inner .modal-box .modal-box-img-list figcaption {
  margin-top: 5px;
  text-align: center;
  font-size: 1.4rem;
}
.modal .modal-inner .modal-img-list + .modal-box {
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .modal .modal-inner .modal-img-list + .modal-box {
    margin-top: 25px;
  }
}

#modal-04 .modal-txt,
#modal-05 .modal-txt {
  margin-top: 10px;
  min-height: 113px;
}
@media screen and (max-width: 767px) {
  #modal-04 .modal-txt,
  #modal-05 .modal-txt {
    min-height: auto;
  }
}

@media screen and (max-width: 767px) {
  #modal-06 .modal-img-list {
    margin-top: 80px;
  }
  #modal-06 .modal-img-list figcaption {
    margin-top: 0;
    margin-bottom: 5px;
  }
}

/* /business */
/* company */
.presidents-box {
  display: flex;
  gap: 54px;
}
@media screen and (max-width: 767px) {
  .presidents-box {
    gap: 36px;
    flex-direction: column;
    align-items: center;
  }
}
.presidents-box .presidents-img {
  width: 400px;
}
@media screen and (max-width: 767px) {
  .presidents-box .presidents-img {
    width: 250px;
    border-radius: 12px;
    overflow: hidden;
  }
}
.presidents-box .presidents-txt-wrap {
  flex: 1;
}
@media screen and (max-width: 767px) {
  .presidents-box .presidents-txt-wrap {
    width: 100%;
  }
}
.presidents-box .presidents-txt-wrap .presidents-txt {
  line-height: 2.25;
}
.presidents-box .presidents-txt-wrap .presidents-name {
  margin-top: 36px;
}
@media screen and (max-width: 767px) {
  .presidents-box .presidents-txt-wrap .presidents-name {
    margin-top: 18px;
  }
}

.company-table {
  width: 826px;
  margin: 0 auto;
  border-right: 1px solid #E6E6E6;
}
@media screen and (max-width: 767px) {
  .company-table {
    width: 100%;
  }
}
.company-table tr {
  border-top: 1px solid #E6E6E6;
}
.company-table tr:last-of-type {
  border-bottom: 1px solid #E6E6E6;
}
.company-table th {
  color: #fff;
  font-weight: 700;
  padding: 16px 20px;
  text-align: center;
  background-color: #34B3ED;
}
@media screen and (max-width: 767px) {
  .company-table th {
    padding: 16px 20px;
    white-space: nowrap;
  }
}
.company-table td {
  padding: 24px 32px;
}
@media screen and (max-width: 767px) {
  .company-table td {
    padding: 16px 14px;
  }
}

.name-position {
  display: flex;
}
.name-position .position {
  min-width: 100px;
  padding-right: 16px;
}
.name-position .name {
  flex: 1;
}

@media screen and (max-width: 767px) {
  .en .name-position {
    flex-direction: column;
  }
  .en .name-position + .name-position {
    margin-top: 8px;
  }
}
.en .name-position .position {
  min-width: 184px;
}
@media screen and (max-width: 767px) {
  .en .name-position .position {
    min-width: auto;
  }
}

.company-img-box {
  max-width: 900px;
  margin: 50px auto 0;
}
.company-img-box .img {
  border-radius: 40px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .company-img-box .img {
    border-radius: 20px;
  }
}
.company-img-box .caption {
  margin-top: 10px;
  text-align: right;
}

.profile-section {
  padding-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .profile-section {
    padding-bottom: 64px;
  }
}
.profile-section .cmn-inner {
  position: relative;
  padding-top: 120px;
}
@media screen and (max-width: 767px) {
  .profile-section .cmn-inner {
    padding-top: 64px;
  }
}
.profile-section .cmn-inner::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 1px;
  top: 0;
  left: 0;
  background: url(/assets/images/bg_repeat_border.svg) repeat-x left top/8px auto;
}
@media screen and (max-width: 767px) {
  .profile-section .cmn-inner::before {
    width: calc(100% - 48px);
    left: 24px;
  }
}

.medical-about-section {
  padding: 60px 0 136px;
  background: url(/assets/images/bg_company_medical.webp) no-repeat center bottom/cover;
}
@media screen and (max-width: 767px) {
  .medical-about-section {
    border-radius: 25px 25px 0 0;
    padding-bottom: 106.6666666667vw;
    background: url(/assets/images/bg_company_medical_sp.webp) no-repeat center bottom/100% auto, linear-gradient(to bottom, rgb(239, 249, 254) 0%, rgb(239, 249, 254) 640px, rgba(239, 249, 254, 0) 100%);
  }
}
.medical-about-section .catch-copy {
  margin-bottom: 20px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .medical-about-section .catch-copy {
    max-width: 300px;
  }
}
.medical-about-section .medical-sub-ttl {
  font-size: 2.4rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .medical-about-section .medical-sub-ttl {
    font-size: 1.8rem;
  }
}
.medical-about-section .medical-txt {
  line-height: 2;
}
.medical-about-section .medical-about-contents {
  width: 646px;
  margin-left: auto;
  margin-right: 0;
  margin: 60px 0 0 auto;
}
@media screen and (max-width: 767px) {
  .medical-about-section .medical-about-contents {
    width: 100%;
    margin-top: 40px;
  }
}
.medical-about-section .medical-about-contents .ttl {
  font-size: 1.8rem;
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .medical-about-section .medical-about-contents .ttl {
    font-size: 1.4rem;
    margin-bottom: 24px;
  }
}
.medical-about-section .medical-about-contents .caption {
  font-size: 1.2rem;
  text-align: right;
  margin-top: 15px;
}
.medical-about-section .medical-about-contents .txt {
  margin-top: 36px;
  line-height: 2;
}
.medical-about-section .medical-about-contents .btn-wrap {
  display: flex;
  justify-content: end;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .medical-about-section .medical-about-contents .btn-wrap {
    margin-top: 24px;
    justify-content: center;
  }
}
.medical-about-section .medical-about-contents .btn-wrap .medical-btn {
  display: block;
  color: #fff;
  font-weight: 500;
  padding: 16px 106px 16px 48px;
  background-color: #df0012;
  border: 2px solid #df0012;
  border-radius: 40px;
  position: relative;
}
.medical-about-section .medical-about-contents .btn-wrap .medical-btn[target=_blank]::after {
  content: "";
  display: block;
  position: absolute;
  width: 24px;
  height: 24px;
  top: calc(50% - 12px);
  right: 42px;
  transition: all 0.6s ease;
  background: url(/assets/images/icn_blank.svg) no-repeat left top/cover;
}
@media (any-hover: hover) {
  .medical-about-section .medical-about-contents .btn-wrap .medical-btn:hover {
    color: #df0012;
    background-color: #fff;
  }
  .medical-about-section .medical-about-contents .btn-wrap .medical-btn:hover[target=_blank]::after {
    background: url(/assets/images/icn_blank_red.svg) no-repeat left top/cover;
  }
}
.medical-about-section .medical-about-contents .btn-wrap .medical-btn:focus {
  color: #df0012;
  background-color: #fff;
}
.medical-about-section .medical-about-contents .btn-wrap .medical-btn:focus[target=_blank]::after {
  background: url(/assets/images/icn_blank_red.svg) no-repeat left top/cover;
}

/* /company */
/* careers */
.global-field {
  width: 998px;
  margin: 80px auto 0;
  padding: 72px 24px 48px;
  border-radius: 25px 25px 0 0;
  background: linear-gradient(to bottom, rgba(71, 186, 239, 0.2), rgba(0, 160, 233, 0.04));
}
@media screen and (max-width: 767px) {
  .global-field {
    width: 100%;
    margin-top: 100px;
  }
}
.global-field .ttl {
  font-size: 2.5rem;
  line-height: 2;
  text-align: center;
  margin-bottom: 64px;
}
@media screen and (max-width: 767px) {
  .global-field .ttl {
    font-size: 1.8rem;
    text-align: left;
    margin-bottom: 56px;
  }
}
.global-field .ball-grid-box {
  display: flex;
  gap: 28px;
}
@media screen and (max-width: 767px) {
  .global-field .ball-grid-box {
    flex-direction: column;
    gap: 46px;
    align-items: center;
  }
}
.global-field .ball-grid-box .ball-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: start;
  gap: 20px 28px;
}
@media screen and (min-width: 768px) {
  .global-field .ball-grid-box .ball-wrap.medical {
    flex: 1;
  }
  .global-field .ball-grid-box .ball-wrap.cebu {
    width: 560px;
  }
}
@media screen and (max-width: 767px) {
  .global-field .ball-grid-box .ball-wrap {
    justify-content: center;
    gap: 18px 16px;
  }
}
.global-field .ball-grid-box .ball-wrap .ball {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: center;
  background-color: #fff;
  border-radius: 50%;
  aspect-ratio: 1/1;
  width: 167px;
  padding-top: 40px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
@media screen and (max-width: 767px) {
  .global-field .ball-grid-box .ball-wrap .ball {
    width: 98px;
    padding-top: 20px;
  }
}
.global-field .ball-grid-box .ball-wrap .ball .ball-ttl {
  font-size: 2rem;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .global-field .ball-grid-box .ball-wrap .ball .ball-ttl {
    font-size: 1.1rem;
  }
}
.global-field .ball-grid-box .ball-wrap .ball .icn {
  margin-top: 12px;
}
@media screen and (max-width: 767px) {
  .global-field .ball-grid-box .ball-wrap .ball .icn {
    zoom: 0.58;
  }
}
.global-field .ball-grid-box .ball-wrap .logo-label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 10px;
  border-radius: 10px;
  border: 1px solid #00A0E9;
  background-color: #fff;
}
.global-field .ball-grid-box .ball-wrap .logo-label.red {
  border-color: #df0012;
}
.global-field .ball-grid-box .ball-wrap .logo-label img {
  max-width: none;
  width: auto;
  height: 16px;
}

.slider-wrap {
  width: 1100px;
  overflow: hidden;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .slider-wrap {
    width: 100%;
  }
}

.careers-slider {
  position: relative;
}
.careers-slider .splide__list {
  width: 446px;
  gap: 16px;
}
@media screen and (max-width: 767px) {
  .careers-slider .splide__list {
    width: 82.6666666667vw;
    gap: 2.6666666667vw;
  }
}
.careers-slider .splide__arrow {
  width: 44px;
  height: 44px;
  top: 122px;
  transform: none;
  transition: all 0.6s ease;
  background: url(/assets/images/icn_slider_arr.svg) no-repeat left top/cover;
}
@media screen and (max-width: 767px) {
  .careers-slider .splide__arrow {
    display: none;
  }
}
.careers-slider .splide__arrow svg {
  display: none;
}
.careers-slider .splide__arrow.splide__arrow--prev {
  left: 50px;
}
.careers-slider .splide__arrow.splide__arrow--next {
  right: 50px;
  transform: scale(-1, 1);
}

.slider-items {
  display: flex;
  justify-content: center;
  margin-top: 32px;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .slider-items {
    margin-top: 20px;
  }
}
.slider-items .splide__pagination {
  position: static;
  gap: 10px;
}
.slider-items .splide__pagination li .splide__pagination__page {
  display: block;
  position: relative;
  width: 20px;
  height: 20px;
  padding: 0;
  margin: 0;
  border: 0;
  background: none;
}
.slider-items .splide__pagination li .splide__pagination__page::before {
  content: "";
  display: block;
  position: absolute;
  width: 10px;
  height: 10px;
  top: calc(50% - 5px);
  left: calc(50% - 5px);
  border-radius: 50%;
  background-color: #7ACDF3;
  transition: all 0.6s ease;
  opacity: 1;
}
.slider-items .splide__pagination li .splide__pagination__page svg {
  position: absolute;
  top: calc(50% - 10px);
  left: calc(50% - 10px);
  width: 20px;
  height: 20px;
  transform-origin: center;
  rotate: -90deg;
  pointer-events: none;
  border-radius: 50%;
}
.slider-items .splide__pagination li .splide__pagination__page svg circle {
  fill: none;
  stroke: #00A0E9;
  stroke-dasharray: 56.5;
  stroke-dashoffset: 56.5;
  stroke-width: 2px;
  transform-origin: center;
  will-change: stroke-dashoffset, rotate;
}
.slider-items .splide__pagination li .splide__pagination__page.is-active {
  transform: scale(1);
}
.slider-items .splide__pagination li .splide__pagination__page.is-active::before {
  background-color: #00A0E9;
}
.slider-items .splide__pagination li .splide__pagination__page.is-active svg circle {
  animation: drawCircle 3s ease-in-out forwards;
}
.slider-items .slider-control-btn {
  display: flex;
  width: 28px;
  height: 28px;
  transition-duration: 0.3s;
  background: url(/assets/images/icn_stop.svg) no-repeat center/cover;
}
.slider-items .slider-control-btn.is-paused {
  background-image: url(/assets/images/icn_start.svg);
}

@keyframes drawCircle {
  0% {
    stroke-dashoffset: 56.5;
  }
  50% {
    stroke-dashoffset: 0;
  }
  100% {
    stroke-dashoffset: -56.5;
  }
}
.top-fv__pickup .slider-pagination li svg {
  position: absolute;
  top: calc(50% - 0.53125rem);
  left: calc(50% - 0.53125rem);
  width: 1.0625rem;
  height: 1.0625rem;
  transform-origin: center;
  rotate: -90deg;
}

.top-fv__pickup .slider-pagination li svg circle {
  fill: none;
  stroke: var(--color-black);
  stroke-dasharray: 69.115;
  stroke-dashoffset: 69.115;
  stroke-width: 1.5px;
  transform-origin: center;
  will-change: stroke-dashoffset, rotate;
}

.top-fv__pickup .slider-pagination .slider-page {
  z-index: 1;
  position: relative;
  width: 0.5rem;
  height: 0.5rem;
  margin: 0.5625rem;
  background-color: var(--color-gray-dark2);
  opacity: 1 !important;
  will-change: rotate;
}

.top-fv__pickup .slider-pagination .slider-page.is-active {
  transform: unset;
  background-color: var(--color-black);
}

.top-fv__pickup .slider-pagination .slider-page.is-active ~ svg circle {
  animation: dash-start calc(var(--interval, 0) - var(--speed, 0) / 2) linear 0s forwards, dash-out var(--speed, 0) ease calc(var(--interval, 0) - var(--speed, 0)) forwards;
}

html[data-browsername=mobile-safari] .top-fv__pickup .slider-pagination .slider-page.is-active ~ svg circle, html[data-browsername=safari] .top-fv__pickup .slider-pagination .slider-page.is-active ~ svg circle {
  animation: dash-start calc(var(--interval, 0) - var(--speed, 0) / 2) linear 0s forwards, safari-dash-out var(--speed, 0) ease calc(var(--interval, 0) - var(--speed, 0)) forwards;
}

@keyframes dash-start {
  0% {
    stroke-dashoffset: 69.115;
  }
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes dash-out {
  0% {
    stroke-dashoffset: 0;
  }
  to {
    stroke-dashoffset: -69.115;
  }
}
@keyframes safari-dash-out {
  0% {
    stroke-dashoffset: 0;
    scale: 1 -1;
  }
  to {
    stroke-dashoffset: 69.115;
    scale: 1 -1;
  }
}
.training-section {
  padding-bottom: 220px;
}
@media screen and (max-width: 767px) {
  .training-section {
    padding-bottom: 104px;
  }
}

.step-img {
  max-width: 732px;
  width: 100%;
  margin: 0 auto;
}

.voice-section {
  padding: 188px 0 136px;
  border-radius: 96px 96px 0 0;
  background: linear-gradient(to top, #fff 0%, #EFF9FE 100%);
}
@media screen and (max-width: 767px) {
  .voice-section {
    width: 100%;
    border-radius: 48px 48px 0 0;
    padding: 64px 0 0;
  }
}

.voice-area {
  width: 1200px;
  margin: 120px auto 0;
  padding: 100px 103px 120px;
  background-color: #fff;
  border-radius: 64px;
  box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.16);
}
.voice-area + .voice-area {
  margin-top: 72px;
}
@media screen and (max-width: 767px) {
  .voice-area + .voice-area {
    margin-top: 48px;
  }
}
@media screen and (max-width: 767px) {
  .voice-area {
    width: calc(100% - 48px);
    margin: 50px auto 0;
    border-radius: 32px;
    padding: 45px 18px 60px;
  }
}
.voice-area .senior {
  display: flex;
  gap: 32px;
}
@media screen and (max-width: 767px) {
  .voice-area .senior {
    flex-direction: column;
    align-items: center;
  }
}
.voice-area .senior .img {
  width: 320px;
  border-radius: 30px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .voice-area .senior .img {
    max-width: 225px;
    width: 100%;
    border-radius: 16px;
  }
}
.voice-area .senior .senior-txt-wrap {
  flex: 1;
}
.voice-area .senior .senior-txt-wrap .voice-ttl {
  font-size: 2.5rem;
  line-height: 2;
  font-weight: 700;
  text-align: center;
  margin-bottom: 64px;
}
@media screen and (max-width: 767px) {
  .voice-area .senior .senior-txt-wrap .voice-ttl {
    font-size: 1.8rem;
    margin-bottom: 20px;
  }
}
.voice-area .senior .senior-txt-wrap .senior-info {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .voice-area .senior .senior-txt-wrap .senior-info {
    gap: 20px;
    line-height: 1.2857142857;
  }
}
.voice-area .senior .senior-txt-wrap .senior-info .senior-position {
  color: #00A0E9;
}
.voice-area .senior .senior-txt-wrap .senior-info .senior-initial {
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.4545454545;
}
@media screen and (max-width: 767px) {
  .voice-area .senior .senior-txt-wrap .senior-info .senior-initial {
    font-size: 1.4rem;
    line-height: 1.2857142857;
  }
}
.voice-area .qa-box-wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: 80px;
  grid-row-gap: 45px;
  margin-top: 90px;
}
@media screen and (max-width: 767px) {
  .voice-area .qa-box-wrap {
    margin-top: 40px;
    grid-template-columns: repeat(1, 1fr);
  }
}
.voice-area .qa-box-wrap .qa-box .question {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-bottom: 32px;
}
@media screen and (max-width: 767px) {
  .voice-area .qa-box-wrap .qa-box .question {
    gap: 16px;
    flex-direction: column;
    align-items: start;
    margin-bottom: 16px;
  }
}
.voice-area .qa-box-wrap .qa-box .question .icn {
  width: 64px;
}
.voice-area .qa-box-wrap .qa-box .question .ttl {
  color: #00A0E9;
  font-size: 1.8rem;
  font-weight: 700;
  flex: 1;
}
.voice-area .qa-box-wrap .qa-box .answer p {
  line-height: 2;
}
.voice-area .qa-box-wrap .qa-box .answer p + p {
  margin-top: 10px;
}

/* /careers */
/* privacy */
.privacy .cmn-inner {
  font-size: 1.4rem;
  line-height: 2.14;
}
@media screen and (max-width: 767px) {
  .privacy .cmn-main-visual .cmn-mv-txt-wrap {
    margin-top: -69px;
  }
}
@media screen and (max-width: 767px) {
  .privacy .cmn-main-visual .cmn-mv-ttl {
    padding-right: 120px;
  }
}

/* /privacy */
/* use */
.use .cmn-inner {
  font-size: 1.4rem;
  line-height: 2.14;
}
@media screen and (max-width: 767px) {
  .use .cmn-main-visual .cmn-mv-txt-wrap {
    margin-top: -69px;
  }
}
@media screen and (max-width: 767px) {
  .use .cmn-main-visual .cmn-mv-ttl {
    padding-right: 120px;
  }
}

/* /use */
/*==========================================================================================================
hover
==========================================================================================================*/
/*==========================================================================================================
PC Only
==========================================================================================================*/
/*==========================================================================================================
SP Only
==========================================================================================================*/
@media screen and (max-width: 767px) {
  /* contents */
  /* /contents */
}