@charset "utf-8";

/*-------table-----*/
.style-table-pt1-wrap {
  max-width: max(34.1vw, 491px);
  width: 100%;
}
.style-table-pt1-wrap p {
  color: #fff;
  font-size: 1.6rem;
  line-height: 1.4375;
}
.style-table-pt1-bg {
  background: #fff;
  padding: 21px 34px 24px;
  margin-bottom: 11px;
  border: 1px solid #000;
}
.style-table-pt1 {
  width: 100%;
}
.style-table-pt1 thead th:first-child {
  text-align: left;
  width: 30%;
}
.style-table-pt1 thead th {
  font-size: 1.6rem;
  line-height: 1.4375;
  font-weight: 400;
  text-align: center;
  padding-bottom: 11px;
  width: 10%;
  border-bottom: 1px solid #000;
}
.style-table-pt1 tbody tr td {
  text-align: center;
}
.style-table-pt1 tbody tr td:first-child {
  font-size: 1.6rem;
  line-height: 1.4375;
  font-weight: 400;
  text-align: left;
}
/*-------btn------*/
.tel-btn {
  display: block;
  border: 1px solid #00103c;
  background: #fff;
  text-align: center;
  position: relative;
  padding: 9px 0;
  max-width: max(17.75vw, 255px);
  width: 100%;
  max-height: 80px;
  transition: 0.2s ease-in-out;
}
.tel-btn:hover {
  opacity: 0.7;
}
.tel-btn span {
  display: block;
  color: #00103c;
  font-size: 1.6rem;
}
.tel-btn span:last-child {
  font-size: 2.4rem;
}
.tel-btn span:last-child::before {
  content: "";
  background: url(../../uploads/2025/12/icon-phone.png) no-repeat;
  background-size: contain;
  display: inline-block;
  width: 18px;
  height: 18px;
  vertical-align: baseline;
  margin-right: 10px;
}
.tel-btn::after {
  content: "";
  position: absolute;
  border: 9px solid #00103c;
  border-top-color: transparent;
  border-left-color: transparent;
  bottom: 4px;
  right: 4px;
}
.reserve-btn {
  position: relative;
  background: #0a3990;
  color: #fff;
  max-width: max(15.13vw, 218px);
  width: 100%;
  max-height: 80px;
  text-align: center;
  padding: 10px 0;
  transition: 0.2s ease-in-out;
}
.reserve-btn:hover {
  opacity: 0.7;
}
.reserve-btn span {
  font-size: 1.6rem;
  display: block;
}
.reserve-btn span:last-child {
  font-size: 2rem;
}
.reserve-btn::after {
  content: "";
  position: absolute;
  border: 9px solid #fff;
  border-top-color: transparent;
  border-left-color: transparent;
  bottom: 4px;
  right: 4px;
}
.reserve-btn.mail-reserve-btn {
  background: #4fa1eb;
}
.g-link-btn {
  display: block;
  width: 100%;
  max-width: 424px;
  font-size: clamp(16px, 1.667vw, 2.4rem);
  background: #fff;
  font-weight: 500;
  line-height: 1.16;
  text-align: center;
  padding: 27px 0;
  font-weight: 500;
  border: 1px solid #000;
  border-radius: 60px;
  position: relative;
}
.g-link-btn::before {
  content: "";
  background: url(../../uploads/2025/12/icon-gmap.png) no-repeat;
  background-size: contain;
  display: inline-block;
  width: 29px;
  height: 29px;
  position: absolute;
  left: 1.5em;
  top: 50%;
  transform: translate(0, -50%);
}
.link-btn {
  max-width: 424px;
  width: 100%;
  display: inline-block;
  margin: 0 0 0 auto;
  text-align: center;
  padding: 27px 0;
  line-height: 1.16;
  border: 1px solid #000;
  position: relative;
}
.link-btn::after {
  content: "";
  background: url(../../uploads/2025/12/arrow1.png) no-repeat;
  width: 36px;
  height: 3px;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 29px;
  transform: translate(0%, -50%);
  transition: 0.2s ease-in-out;
}
.link-btn:hover::after {
  right: 12px;
}
/*-------top------*/
.mv {
  height: 100vh;
  position: relative;
}
.mv .blur img {
  width: 100%;
}
.mv .splide__slide img {
  width: 100%;
  height: calc(100vh - 112px);
  object-fit: cover;
  object-position: top;
}
.mv-txt {
  position: absolute;
  top: 50%;
  right: 50%;
  transform: translate(50%, -50%);
  text-align: center;
  z-index: 3;
  width: 100%;
}
.mv-txt p {
  font-size: clamp(24px, 3.333vw, 4.8rem);
  color: #fff;
}
.mv-txt p span {
  font-size: clamp(32px, 4.444vw, 6.4rem);
}
.blur {
  width: 100%;
  position: absolute;
  top: 50%;
  right: 50%;
  transform: translate(50%, -55%);
  z-index: 2;
}

/*sec1*/
.sec1-inner {
  padding-top: 80px;
  padding-bottom: 258px;
}
.sec1-inner .wrap {
  align-items: flex-start;
  gap: 115px;
  padding-bottom: 30px;
}
.sec1-inner .wrap .left,
.sec1-inner .wrap .right {
  max-width: max(34.027vw, 490px);
  width: 100%;
}
.sec1-inner .style-table-pt1-wrap {
  max-width: 100%;
}
.sec1-inner .co-tit {
  font-size: clamp(32px, 2.5vw, 3.6rem);
  letter-spacing: 0.16em;
  border-bottom: 1px solid #000;
  padding-bottom: 0.5em;
  text-align: center;
}
.sec1-inner .left .co-tit {
  margin-bottom: 32px;
}
.sec1-inner .right .co-tit {
  margin-bottom: 27px;
}
.post-wrap {
  padding: 0 10%;
}
.sec1-inner time,
.sec1-inner h2 {
  font-size: clamp(16px, 1.389vw, 2rem);
}
.sec1-inner article {
  margin-bottom: 16px;
}
.sec1-inner .post-wrap article:last-child {
  margin-bottom: 0;
}
.sec1-inner .txt-name {
  font-size: 2.4rem;
  margin-bottom: 4px;
  text-align: center;
}
.sec1-inner .txt-add {
  text-align: center;
  font-size: 1.6rem;
  margin-bottom: 20px;
}
.sec1-inner .style-table-pt1-wrap p {
  color: #2d2d2d;
}
.sec1-inner .style-table-pt1-wrap {
  margin-bottom: 18px;
}
.sec1-inner .tel-btn {
  margin: 0 auto;
}
.sec1-inner .co {
  padding: 0 5.764% 0 2.292%;
}
.sec1-inner .co-inner {
  background: url(../../uploads/2025/12/top-bg-logo.webp) no-repeat;
  background-size: auto;
  background-position: left;
  padding-left: 45%;
  display: flex;
  align-items: center;
  justify-content: right;
  gap: 15px;
}
.sec1-inner .cicle-co {
  background: url(../../uploads/2025/12/cicle-ds.webp) no-repeat;
  background-size: contain;
  max-width: 234px;
  width: 100%;
  height: 234px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: 2rem;
  letter-spacing: 0;
}

/*sec2*/

.sec2-inner {
  background: url(../../uploads/2025/12/top-bg1.jpg) no-repeat;
  background-size: cover;
  position: relative;
  padding: 0 0 137px 5.764%;
}
.sec2-inner .wrap {
  align-items: flex-end;
  justify-content: space-around;
}
.sec2-inner .right {
  max-width: max(30.34vw, 437px);
  width: 100%;
  position: relative;
}
.sec2-inner .right .img-box img {
  width: 100%;
}
.mixed-tit {
  font-size: clamp(48px, 6.667vw, 9.6rem);
  letter-spacing: 0.08em;
  line-height: 1;
  width: fit-content;
  margin-top: -1.1em;
}
.mixed-tit.pt1 .txt_grd {
  background: linear-gradient(
    145deg,
    rgba(0, 16, 60, 1) 0%,
    rgba(0, 16, 60, 1) 72%,
    rgba(79, 161, 235, 1) 72%,
    rgba(79, 161, 235, 1) 100%
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0px 4px 4px #000);
}
.mixed-tit.pt1 .txt_grd_under {
  background: linear-gradient(
    160deg,
    rgba(0, 16, 60, 1) 0%,
    rgba(0, 16, 60, 1) 28%,
    rgba(79, 161, 235, 1) 28%,
    rgba(79, 161, 235, 1) 100%
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0px 4px 4px #000);
}
.mixed-tit.pt1 span {
  display: block;
}
.mixed-tit .l-txt {
  font-size: 145.85%;
  letter-spacing: 0.08em;
  line-height: 1.31;
}
.mixed-tit.pt1 .txt-wrap {
  margin-left: 113px;
  margin-top: -43px;
}
.sec2-inner .txt-box {
  background: #fff;
  padding: 70px 30px 83px 40px;
  max-width: max(50.76vw, 731px);
  width: 100%;
  margin: -80px 0 0 0;
}
.sec2-inner .txt-box p {
  margin-bottom: 2em;
}
.sec2-inner .txt-box p:last-child {
  margin-bottom: 0;
}
.ja-txt {
  position: absolute;
  bottom: 5px;
  left: -30px;
  writing-mode: tb-rl;
}
.aja-txt span {
  font-size: clamp(24px, 2.5vw, 3.6rem);
  display: inline-block;
  white-space: nowrap;
  color: #fff;
  line-height: 1;
  padding: 20px;
  letter-spacing: 0.08em;
}
.aja-txt span:first-child {
  background: #0a3990;
  margin-left: 17px;
}
.aja-txt span:last-child,
.aja-txt span:nth-child(2) {
  background: #00103c;
}
.name-box {
  position: absolute;
  right: 50%;
  bottom: 0%;
  transform: translate(50%, 50%);
  max-width: 284px;
  width: 100%;
  margin: 0 auto;
}
.name-box:before,
.name-box:after {
  content: "";
  width: 64px;
  height: 64px;
  position: absolute;
}
.name-box:before {
  left: 10px;
  top: 10px;
  border-top: 1px solid #fff;
  border-left: 1px solid #fff;
}
.name-box:after {
  right: 10px;
  bottom: 10px;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
}
.name-wrap {
  background: linear-gradient(
    135deg,
    rgba(10, 57, 144, 1) 0%,
    rgba(10, 57, 144, 1) 50%,
    rgba(0, 16, 60, 1) 50%,
    rgba(0, 16, 60, 1) 100%
  );
  padding: 25px 0;
}
.sec2-inner .name-row.wrap {
  align-items: center;
  gap: 8px;
}
.txt-bg {
  color: #00103c;
  background: #fff;
  padding: 5px 10px;
  line-height: 1.16;
}
.co-name {
  font-size: clamp(24px, 2.5vw, 3.6rem);
  color: #fff;
}
.co-name-en {
  color: #fff;
  text-align: center;
}

/*sec3*/

.sec3-inner {
  background: url(../../uploads/2025/12/top-bg2.jpg) no-repeat;
  background-size: cover;
  padding: 108px 0 184px;
  position: relative;
}
.sec3-inner::before,
.sec3-inner::after {
  content: "";
  background: #00103c;
  width: 370px;
  height: 370px;
  display: block;
  position: absolute;
  top: 0;
}
.sec3-inner::before {
  left: 0;
  clip-path: polygon(100% 0, 0 0, 0 100%);
}
.sec3-inner::after {
  right: 0;
  clip-path: polygon(100% 0, 0 0, 100% 100%);
}
.mix-tit {
  font-size: clamp(40px, 6.667vw, 9.6rem);
  width: fit-content;
  margin: 0 auto;
}
.sec3-inner .mix-tit {
  margin: 0 auto 24px;
}
.mix-tit-pt2 {
  background: linear-gradient(
    160deg,
    rgba(0, 16, 60, 1) 0%,
    rgba(0, 16, 60, 1) 28%,
    rgba(79, 161, 235, 1) 28%,
    rgba(79, 161, 235, 1) 100%
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.sec3-inner .co-tit {
  font-size: clamp(20px, 2.5vw, 3.6rem);
  margin-bottom: 112px;
}
.sec3-inner .co-tit span {
  font-size: clamp(32px, 3.333vw, 4.8rem);
  color: #00103c;
}
.box-tit-en {
  color: #4fa1eb;
  font-size: clamp(16px, 1.667vw, 2.4rem);
  margin-bottom: 18px;
}
.box-tit-ja {
  font-size: clamp(24px, 2.5vw, 3.6rem);
  margin-bottom: 24px;
}
.sec3-inner .img-box {
  max-width: max(45vw, 648px);
  width: 100%;
}
.sec3-inner .img-box img {
  width: 100%;
}
.sec3-inner .txt-box {
  max-width: max(45.77vw, 659px);
  width: 100%;
}
.sec3-inner .flex-row {
  gap: 50px;
  justify-content: left;
  align-items: flex-start;
  margin-bottom: 93px;
}
.sec3-inner .flex-row.re-row {
  justify-content: right;
  margin-bottom: 0px;
}

/*sec4*/

.sec4-inner {
  background: #f1f4f8;
  position: relative;
  padding: 108px 5.764%;
}
.sec4-inner::before {
  content: "";
  background: #00103c;
  width: 370px;
  height: 370px;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  clip-path: polygon(100% 0, 0 0, 0 100%);
}
.sec4-inner .one-box {
  max-width: 857px;
  width: 100%;
  margin: 0 auto 104px;
}
.sec4-inner .flex-row {
  justify-content: center;
  gap: 92px;
  align-items: stretch;
}
.sec4-inner .flex-row .box-desc {
  height: 280px;
  margin-bottom: 50px;
}
.sec4-inner .flex-row .box {
  max-width: max(41.66vw, 600px);
  width: 100%;
}
.sec4-inner .flex-row .box img {
  width: 100%;
}

/*sec5*/
.sec5-inner {
  background: #f3f3f3;
  padding: 140px 0 100px;
}
.mix-tit-pt3 {
  background: linear-gradient(
    155deg,
    rgba(0, 16, 60, 1) 0%,
    rgba(0, 16, 60, 1) 56%,
    rgba(79, 161, 235, 1) 56%,
    rgba(79, 161, 235, 1) 100%
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.mix-sub-tit {
  font-size: clamp(24px, 2.5vw, 3.6rem);
}
.sec5-inner .flex-row.st1 {
  align-items: stretch;
  margin-bottom: 100px;
}
.sec5-inner .mix-sub-tit {
  margin-bottom: 50px;
}
.sec5-inner .box {
  width: calc(100% / 3);
  position: relative;
  transition: 0.2s ease-in-out;
}
.sec5-inner .box ::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 24px;
  background: rgba(255, 255, 255, 0.1);
  display: block;
}
.sec5-inner .box a::before {
  content: "";
  background: url(../../uploads/2025/12/arrow1.png) no-repeat;
  width: 27px;
  height: 3px;
  filter: invert(1);
  background-size: contain;
  position: absolute;
  bottom: calc(24px + 33px);
  right: 50%;
  transform: translate(50%, -50%);
}
.sec5-inner .box:hover {
  opacity: 0.8;
}
.sec5-inner .box a {
  background-size: cover;
  display: block;
  padding: 75px 10%;
  height: 100%;
  position: relative;
}
.sec5-inner .link-box2 a {
  padding: 75px 0%;
}
.sec5-inner .tit {
  font-size: clamp(20px, 1.667vw, 2.4rem);
  margin-bottom: 10px;
}
.sec5-inner .titkana {
  font-size: clamp(32px, 2.778vw, 4rem);
  margin-bottom: 10px;
}
.sec5-inner .titen {
  font-size: 2rem;
  margin-bottom: 20px;
}
.sec5-inner .box-desc {
  font-size: 1.6rem;
}
.link-box1 a {
  background: url(../../uploads/2025/12/top-medical-img1.jpg) no-repeat;
}
.link-box2 a {
  background: url(../../uploads/2025/12/top-medical-img2.jpg) no-repeat;
}
.link-box3 a {
  background: url(../../uploads/2025/12/top-medical-img3.jpg) no-repeat;
}
.sec5-inner .box p {
  color: #fff;
}
.sec5-inner .flex-row.st2 {
  justify-content: center;
  gap: 32px;
  margin-bottom: 32px;
}
.sec5-inner .flex-row.st2 .card {
  max-width: max(17.222vw, 248px);
  width: 100%;
  border: 1px solid #000;
  height: auto;
  position: relative;
}
.sec5-inner .card::after {
  content: "";
  background: #00103c;
  width: 32px;
  height: 32px;
  display: block;
  position: absolute;
  bottom: 8px;
  right: 8px;
  clip-path: polygon(100% 0, 0 100%, 100% 100%);
}
.sec5-inner .card {
  padding: 40px 0 55px;
  transition: 0.2s ease-in-out;
}
.sec5-inner .card:hover {
  background: #fff;
}
.sec5-inner .card-tit {
  text-align: center;
  font-size: clamp(20px, 1.667vw, 2.4rem);
}
.sec5-inner .card-tit-en {
  font-size: 1.6rem;
  color: #4fa1eb;
  text-align: center;
}
.sec5-inner .card-img-box {
  text-align: center;
  margin-bottom: 30px;
}
.sec5-inner .card-img-box img {
  width: 88px;
  height: 88px;
  object-fit: cover;
  border-radius: 50px;
}
.sec5-inner .fixright.card-img-box img {
  object-position: right;
}
.sec6-inner {
  padding: 110px 0 90px;
}
.sec6-inner .mix-sub-tit {
  margin-bottom: 70px;
}
.feature-slider .splide__slide img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.feature-slider .flow-img-box {
  max-width: max(39.51vw, 569px);
  width: 100%;
  height: 596px;
}
.feature-slider .flow-box {
  align-items: stretch;
}
.feature-slider .flow-txt-box {
  background: #f0f4f8;
  padding: 95px 130px 0 40px;
}
.feature-slider .flow-tit {
  font-size: clamp(20px, 2.222vw, 3.2rem);
  margin-bottom: 40px;
}
#link-navigation {
  padding: 0 145px 70px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 15px;
}
#link-navigation li {
  flex-grow: 1;
  max-width: 276px;
  width: 100%;
}
#link-navigation button {
  font-family: "Zen Old Mincho", serif;
  font-size: clamp(13px, 1.389vw, 2rem);
  background: #00103c;
  color: #fff;
  line-height: 1.6;
  padding: 22.5px 0;
  text-align: center;
  font-weight: 400;
  border: none;
  display: block;
  width: 100%;
  cursor: pointer;
  transition: 0.2s ease-in-out;
}
#link-navigation .nav-button.is-active {
  background: #0a3990;
}
#link-navigation button:hover {
  background: #0a3990;
}
.feature-slider .splide__arrow--next {
  right: 80px;
  background: none;
}
.feature-slider .splide__arrow--prev {
  left: 80px;
  background: none;
}
.sec7 {
  background: linear-gradient(
    180deg,
    rgba(10, 57, 144, 1) 0%,
    rgba(10, 57, 144, 1) 20%,
    rgba(0, 16, 60, 1) 80%,
    rgba(0, 16, 60, 1) 100%
  );
  padding: 80px;
  position: relative;
}
.sec7 .sec7-inner {
  background: linear-gradient(
    180deg,
    rgba(0, 16, 60, 1) 0%,
    rgba(0, 16, 60, 1) 20%,
    rgba(10, 57, 144, 1) 80%,
    rgba(10, 57, 144, 1) 100%
  );
  position: relative;
}
.sec7-inner p {
  color: #fff;
}
.ms-tit {
  font-size: clamp(40px, 6.667vw, 9.6rem);
  text-align: center;
  color: #fff;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -32%);
}
.ms-tit-ja {
  font-size: clamp(24px, 2.5vw, 3.6rem);
  text-align: center;
  display: block;
}
.spacetxt {
  margin-bottom: 2em;
}
.spacetxtl {
  margin-bottom: 4em;
}
.ms-desc .link-btn {
  background: #fff;
}
.ms-desc {
  max-width: 54.2vw;
  position: relative;
  z-index: 1;
  width: 100%;
  margin: 0 auto 0 0;
  padding-top: 207px;
  padding-left: 50px;
  padding-bottom: 180px;
}
.ms-desc::before {
  content: "";
  background: url(../../uploads/2025/12/top-bg-logo.webp) no-repeat;
  background-size: auto;
  background-position: left 50px bottom -50px;
  position: absolute;
  z-index: -1;
  opacity: 0.3;
  inset: 0;
}
.pa-co {
  position: absolute;
  right: 0;
  bottom: 80px;
  width: clamp(513px, 35.625vw, 660px);
}
.pa-name {
  border: 1px solid #fff;
  padding: 12px;
  width: fit-content;
  position: absolute;
  bottom: 68px;
  left: 10px;
  z-index: 2;
}
.pa-name-inner {
  border: 1px solid #fff;
  display: flex;
  flex-direction: row-reverse;
  padding: 20px 16px;
}
.pa-name p {
  color: #fff;
  writing-mode: vertical-rl;
  line-height: 1.2;
}
.pa-name-inner p:first-child {
  font-size: clamp(16px, 1.389vw, 2rem);
}
.pa-name-inner p:last-child {
  font-size: clamp(24px, 2.222vw, 3.2rem);
  line-height: 1.35;
  letter-spacing: 0.35em;
  padding-top: 50px;
}
.pa-name-inner p:last-child span {
  font-size: clamp(16px, 1.389vw, 2rem);
  margin-bottom: 5px;
  letter-spacing: 0.08em;
}
.pa-img {
  position: relative;
  z-index: 3;
  text-align: right;
  padding-right: 38px;
}
.pa-img img {
  max-width: clamp(397px, 27.57vw, 612px);
  width: 100%;
}
.pa-bg {
  background: linear-gradient(
    43deg,
    rgba(5, 47, 126, 1) 0%,
    rgba(5, 47, 126, 1) 50%,
    rgba(10, 57, 144, 1) 50%,
    rgba(10, 57, 144, 1) 100%
  );
  width: 100%;
  height: 100%;
  position: absolute;
  transform: skew(0deg, -10deg);
  z-index: 1;
  right: 0;
  bottom: 50px;
}
.sec8-inner {
  padding: 110px 5.55%;
  background: #f3f3f3;
}
.mix-tit-pt4 {
  background: linear-gradient(
    148deg,
    rgba(0, 16, 60, 1) 0%,
    rgba(0, 16, 60, 1) 56%,
    rgba(79, 161, 235, 1) 56%,
    rgba(79, 161, 235, 1) 100%
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.sec8-inner .mix-sub-tit {
  margin-bottom: 40px;
}
.qa-box {
  margin-bottom: 66px;
  position: relative;
}
.qa-box.last {
  margin-bottom: 0;
}
.qa-box::before {
  position: absolute;
  top: 0;
  left: 50%;
  font-family: "EB Garamond", serif;
  font-size: 2.4rem;
  line-height: 1.6;
  color: #fff;
  width: 49px;
  height: 49px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50px;
}
.q-box::before {
  content: "Q";
  background: #0a3990;
  transform: translate(-50%, -65%);
}
.a-box::before {
  content: "A";
  background: #4fa1eb;
  transform: translate(-50%, -50%);
}
.q-tit {
  background: #4fa1eb;
  padding: 10px 0;
  color: #fff;
  font-size: clamp(20px, 1.667vw, 2.4rem);
}
.qa-txt {
  background: #fff;
  padding: 58.5px 27px;
}
.q-box .qa-txt {
  background: #fff;
  padding: 18.5px 27px;
}
.sec9-inner {
  background: url(../../uploads/2025/12/top-bg2.jpg) no-repeat;
  background-size: cover;
  padding: 65px 0 0;
}
.sec9-inner .mix-sub-tit {
  margin-bottom: 65px;
}
.case-inner {
  background: url(../../uploads/2025/12/top-bg3.jpg) no-repeat;
  background-size: cover;
  padding: 86px 0 95px;
}
.case-inner ul .slide-inner {
  max-width: 1052px;
  padding: 68px 53px 53px;
  margin: 0 auto;
  background: #fff;
}
.case-inner .splide__arrow {
  background: none;
  left: 100px;
}
.case-inner .splide__arrow--next {
  left: auto;
  right: 100px;
}
.case-tit {
  font-size: clamp(24px, 4.444vw, 6.4rem);
  padding-bottom: 52px;
  position: relative;
}
.case-tit::after {
  content: "";
  position: absolute;
  background: #000;
  display: block;
  width: 1px;
  height: 16px;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, -150%);
}
.case-img-wrap {
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 25px;
}
.case-img-wrap .img-box {
  position: relative;
}
.case-img-wrap .img-box::before {
  position: absolute;
  left: 14px;
  top: 14px;
  background: #2d2d2d;
  color: #fff;
  font-family: "EB Garamond", serif;
  padding: 5.5px 10px;
  border-radius: 4px;
  font-size: 1.6rem;
  line-height: 1.6;
}
.img-box.bef::before {
  content: "Before";
}
.img-box.aft::before {
  content: "After";
}
.case-inner table {
  width: 100%;
}
.case-inner th {
  background: #0a3990;
  font-weight: 400;
  color: #fff;
  letter-spacing: 0.15em;
  font-size: 1.6rem;
  border: 1px solid #fff;
  width: 30%;
  text-align: left;
  padding: 10px 0 10px 10px;
}
.case-inner td {
  border: 1px solid #000;
  font-size: 1.6rem;
  text-align: left;
  padding: 10px 0 10px 10px;
}
.sec10-inner {
  background: url(../../uploads/2025/12/top-bg2.jpg) no-repeat;
  background-size: cover;
  padding: 134px 80px 116px;
}
.top-rec-inner {
  background: url(../../uploads/2025/12/top-bg4.jpg) no-repeat;
  background-size: cover;
  border: 20px solid rgba(10, 57, 144, 0.4);
  padding: 90px 55px;
}
.top-rec-tit-wrap {
  text-align: center;
  position: relative;
  margin-bottom: 55px;
}
.top-rec-tit-wrap::before {
  content: "";
  background: linear-gradient(
    90deg,
    rgba(10, 57, 144, 0.68) 0%,
    rgba(255, 255, 255, 0.68) 51.44%,
    rgba(10, 57, 144, 0.68) 100%
  );
  position: absolute;
  display: block;
  width: 100%;
  height: 80%;
  bottom: 0;
  left: 0;
  border-radius: 100px;
  z-index: 1;
}
.top-rec-tit {
  font-size: clamp(36px, 4.444vw, 6.4rem);
  color: #0a3990;
  text-shadow: 0 0 16px #fff;
  padding-bottom: 0.55em;
  line-height: 1;
  width: fit-content;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
.top-rec-sub-tit {
  font-size: clamp(24px, 2.5vw, 3.6rem);
  padding-bottom: 0.4em;
  text-shadow: 0 0 16px #fff;
  color: #0a3990;
  position: relative;
  line-height: 1;
  z-index: 2;
}
.top-rec-desc p {
  text-shadow: 0 0 16px #fff;
  font-weight: 500;
}
.top-rec-desc p:first-child {
  margin-bottom: 2em;
}
.top-rec-inner .link-btn {
  background: #fff;
  margin: 0 auto;
  display: block;
}
/*-------ipad----*/
@media screen and (max-width: 1180px) {
  .sec1-inner {
    padding-left: 3%;
    padding-right: 3%;
  }
  .sec1-inner .wrap {
    gap: 60px;
  }
  .sec1-inner .co-inner {
    flex-wrap: wrap;
    padding-left: 0;
    gap: 10px;
    justify-content: center;
    background-position: center;
  }
  .sec1-inner .cicle-co {
    max-width: 169px;
    height: 169px;
  }
  .sec1-inner .co {
    padding: 0;
  }
  .sec1-inner .co-inner .cicle-co:last-child {
    margin-top: -30px;
  }
  .ja-txt {
    left: 30px;
    bottom: 50px;
  }
  .sec2-inner .txt-box {
    padding: 70px 3% 70px;
    margin: -40px 0 0 0;
  }
  .sec3-inner {
    padding: 80px 3%;
  }
  .sec3-inner::before,
  .sec3-inner::after {
    width: 250px;
    height: 250px;
  }
  .sec3-inner .co-tit {
    margin-bottom: 45px;
  }
  .sec4-inner::before {
    width: 250px;
    height: 250px;
  }
  .sec4-inner .flex-row {
    gap: 35px;
  }
  .sec5-inner .flex-row.st1 {
    flex-direction: column;
  }
  .sec5-inner .box {
    width: 100%;
  }
  .sec5-inner .flex-row.st2 {
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 820px) {
  #link-navigation {
    padding: 0 0 70px;
  }
  .feature-slider .flow-txt-box {
    padding: 95px 40px 0;
  }
  .feature-slider .splide__arrow--next {
    right: 1em;
  }
  .feature-slider .splide__arrow--prev {
    left: 1em;
  }
  .sec7 {
    padding: 60px 3%;
  }
  .ms-desc {
    max-width: 100%;
    padding-top: 100px;
    padding-left: 3%;
    padding-right: 3%;
    padding-bottom: 320px;
  }
  .pa-img {
    padding-right: 0;
  }
  .pa-name {
    bottom: auto;
    top: -80px;
  }
  .pa-co {
    bottom: 0px;
    width: 40%;
  }
  .ms-desc::before {
    background-position: left 0px bottom -50px;
  }
}
/*-------iphone----*/
@media screen and (max-width: 680px) {
  .reserve-btn,
  .tel-btn {
    max-width: 303px;
  }
  .g-link-btn {
    max-width: 275px;
    padding: 20px 0;
  }
  .mv {
    height: calc(100vh - 80px);
  }
  .mv .splide__slide img {
    height: calc(100vh - 80px);
  }
  .sec1-inner {
    padding-top: 40px;
    padding-bottom: 90px;
  }
  .post-wrap {
    padding: 0;
  }
  .sec1-inner .wrap {
    gap: 30px;
  }
  .sec2-inner .txt-box {
    margin: 0 0 30px;
  }
  .mixed-tit.pt1 .txt-wrap {
    margin-left: 40px;
  }
  .aja-txt span:first-child {
    margin-left: 0;
  }
  .aja-txt span {
    padding: 10px;
    letter-spacing: 0;
    margin-bottom: 8px;
  }
  .aja-txt span:last-child {
    margin-bottom: 27px;
  }
  .sec2-inner .txt-box {
    padding: 30px 6%;
  }
  .link-btn {
    max-width: 296px;
    margin: 0 auto;
    padding: 17px 0;
    display: block;
  }
  .sec2-inner .right {
    max-width: 100%;
    margin: 0 auto;
  }
  .sec2-inner .img-box {
    max-width: 270px;
    margin: 0 auto;
  }
  .sec2-inner .name-box {
    max-width: 216px;
    transform: none;
    right: 0;
    bottom: -23px;
  }
  .sec2-inner .name-row.wrap {
    flex-direction: row;
  }
  .name-box:before,
  .name-box:after {
    width: 48px;
    height: 48px;
  }
  body .sec2-inner {
    padding-bottom: 60px;
  }
  .sec3-inner::before,
  .sec3-inner::after {
    width: 106px;
    height: 106px;
  }
  .sec3-inner {
    padding-top: 45px;
    padding-bottom: 55px;
  }
  .sec3-inner .mix-tit {
    margin: 0 auto;
  }
  .sec3-inner .co-tit {
    line-height: 1;
  }
  .sec3-inner .flex-row {
    flex-direction: column-reverse;
    gap: 25px;
    margin-bottom: 50px;
  }
  .sec3-inner .txt-box {
    margin: 0;
  }
  .sec3-inner .img-box,
  .sec4-inner .img-box {
    max-width: 258px;
    margin: 0 auto;
  }
  .box-tit-en,
  .box-tit-ja {
    text-align: center;
  }
  .box-tit-en {
    margin-bottom: 0;
  }
  .box-tit-ja {
    margin-bottom: 10px;
  }
  .sec4-inner::before {
    width: 106px;
    height: 106px;
  }
  .sec4-inner {
    padding-top: 95px;
    padding-bottom: 45px;
  }
  .sec4-inner .one-box {
    margin: 0 auto 50px;
  }
  .sec4-inner .flex-row .box-desc {
    height: auto;
    margin-bottom: 15px;
  }
  .sec5-inner.inner {
    padding: 60px 0 25px;
  }
  .sec5-inner .flex-row.st1 {
    margin-bottom: 40px;
  }
  .sec5-inner .flex-row.st2 .card {
    max-width: 162px;
    height: 183px;
    padding: 25px 0;
  }
  .sec5-inner .flex-row.st2 {
    flex-direction: row;
    padding: 0 5%;
    gap: 15px;
    justify-content: space-between;
    margin-bottom: 15px;
  }
  .sec5-inner .card-img-box img {
    width: 57px;
    height: 57px;
  }
  .sec5-inner .card-img-box {
    margin-bottom: 15px;
  }
  .sec5-inner .card-tit.font-fix {
    font-size: 1.6rem;
  }
  .sec6-inner.inner {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0;
    padding-top: 60px;
  }
  .sec6-inner .mix-sub-tit {
    margin-bottom: 30px;
  }
  #link-navigation {
    justify-content: space-between;
    padding-left: 3%;
    padding-right: 3%;
    padding-bottom: 55px;
  }
  #link-navigation li {
    max-width: 170px;
  }
  .feature-slider .splide__slide img {
    width: 100%;
  }
  .feature-slider .flow-box {
    flex-direction: column;
  }
  .feature-slider .flow-img-box {
    max-width: 100%;
    height: auto;
  }
  .feature-slider .flow-tit {
    margin-bottom: 10px;
  }
  .feature-slider .flow-txt-box {
    height: 375px;
    padding: 30px 20px 0;
  }
  .feature-slider .flow-txt-box p {
    line-height: 1.6;
  }
  .feature-slider .splide__arrow--prev {
    top: 15%;
  }
  .feature-slider .splide__arrow--prev img {
    width: 10px;
    height: auto;
  }
  .feature-slider .splide__arrow--next {
    top: 15%;
  }
  .feature-slider .splide__arrow--next img {
    width: 10px;
    height: auto;
  }
  .sec7 {
    padding: 30px 3%;
  }
  .ms-tit {
    position: relative;
    transform: none;
    left: auto;
    padding-top: 16px;
  }
  .ms-desc {
    padding-top: 30px;
    padding-bottom: 300px;
  }
  .pa-co {
    width: 80%;
  }
  .pa-img {
    width: 218px;
    bottom: 30px;
    float: right;
  }
  .pa-name {
    top: 0;
    bottom: 30px;
    padding: 8px;
	  width:auto;
  }
  .pa-bg {
    background: linear-gradient(
      43deg,
      rgba(5, 47, 126, 0) 0%,
      rgba(5, 47, 126, 0) 50%,
      rgba(10, 57, 144, 1) 50%,
      rgba(10, 57, 144, 1) 100%
    );
    bottom: 0;
  }
  .pa-name-inner {
    padding: 14px 10px 21px;
    height: 100%;
  }
  .pa-name-inner p:last-child {
    padding-top: 10px;
  }
  .ms-desc::before {
    background-size: 75%;
    opacity: 0.1;
  }
  .sec8-inner {
    padding: 60px 3% 40px;
  }
  .sec9-inner {
    padding: 50px 0 0;
  }
  .sec9-inner .mix-sub-tit {
    margin-bottom: 50px;
  }
  .sec10-inner {
    padding: 74px 3% 50px;
  }
  .top-rec-inner {
    padding: 30px 3%;
    border: 12px solid rgba(10, 57, 144, 0.4);
  }
  .top-rec-tit-wrap {
    margin-bottom: 35px;
  }
  .top-rec-tit-wrap::before {
    height: 50%;
    bottom: 50%;
    transform: translateY(50%);
  }
  .top-rec-desc p {
    text-align: center;
  }
  .top-rec-desc {
    margin-bottom: 30px;
  }
  .sec9-inner.inner {
    padding-left: 0;
    padding-right: 0;
  }
  .case-inner ul .slide-inner {
    padding: 40px 20px;
    width: 90%;
  }
  .case-tit {
    padding-bottom: 40px;
  }
  .case-tit::after {
    transform: translate(-50%, -100%);
  }
  .case-img-wrap {
    margin-bottom: 20px;
  }
  .case-img-wrap {
    gap: 12px;
  }
  body .case-inner .splide__arrow--next {
    right: 10px;
    left: auto;
	  opacity:1;
  }
  .case-inner .splide__arrow {
    left: 10px;
    right: auto;
	  opacity:1;
  }
  .simple-slider .splide__arrow--prev img {
    width: 10px;
    height: auto;
  }
  .simple-slider .splide__arrow--next img {
    width: 10px;
    height: auto;
  }
}
/* CSS Document */
