@charset "utf-8";

#root{
  overflow:initial;
}

.service-fv-bg{
  position:relative;
}

.service-fv-bg::before{
  content:"";
  position:absolute;
  width:20%;
  aspect-ratio:990/794;
  background:url(https://j-connect-kyoto.com/system_panel/uploads/images/20260113121415972310.png) no-repeat center/contain;
  left:0;
  bottom:10%;
  z-index:-1;
}

.service-fv h1{
  font-size:clamp(1.25rem, 0.795rem + 1.52vw, 2.5rem);
}

.service-fv h2{
  font-size:clamp(1rem, 0.909rem + 0.3vw, 1.25rem);
  width:fit-content;
  margin:1rem auto 0;
  position:relative;
  padding:0 1.5rem;
  /* display:flex;
  align-items:center;
  gap:1rem;*/
}

.service-fv-img{
  margin:5rem auto 2.5rem;
}

.service-fv h2::before,
.service-fv h2::after{
  content:"";
  position:absolute;
  width:1rem;
  height:1rem;
  background:#004EA4;
  border-radius:3px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.service-fv h2::before{
  left:0;
}

.service-fv h2::after{
  right:0;
}

.service-fv h3{
  font-size:clamp(1.25rem, 1.068rem + 0.61vw, 1.75rem);
  margin-bottom:1.5rem;
}

.service-fv h3 + p{
  font-weight:bold;
}

.service-fv-wrap{
  display:flex;
  justify-content: space-between;
  align-items: stretch;
  margin: 2.5rem auto 5rem;
  max-width: 960px;
}

.service-fv-item{
  width:20%;
  max-width:175px;
  text-align: center;
  display: flex;
  flex-direction: column;
  font-weight:bold;
}

.service-fv-item p:first-child{
  color:#fff;
  background:#004EA4;
  border-radius:20px;
  margin-bottom:1rem;
  padding: 8px 0;
}

.service-fv-item p:last-child{
  color:#004EA4;
  background:#fff;
  flex: 1;
  padding: 32px 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-radius: 10px;
  font-size:clamp(1rem, 0.909rem + 0.3vw, 1.25rem);
}

.service-point-wrap{
  padding:2rem 2.5% 2rem 5%;
  background:#fff;
  max-width:1152px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin:0 auto;
  text-align: left;
}

.service-point-left{
  width:40%;
  display: flex;
  align-items: center;
  gap: 1rem;
  max-width: 350px;
}

.service-point-left img{
  width:3.5rem;
}

.service-point-left h3{
  font-size:clamp(1.125rem, 0.989rem + 0.45vw, 1.5rem);
  text-align: center;
  padding: 20px 0;
  border-top: 4px solid #004EA4;
  border-bottom: 4px solid #004EA4;
  width: calc(100% - 4.5rem);
  margin:0;
}

.service-point-right{
  width:55%;
}

.service-point-right div{
  display:flex;
  align-items:center;
  gap:1rem;
  font-weight:bold;
}

.service-point-right div img{
  width:20px;
}

.service-point-right div:not(:last-child){
  margin-bottom:1rem;
}

.content{
  overflow:hidden;
}


.content-wrap{
  width:80%;
  margin:5rem auto ;
  padding:2rem 5%;
  background:#fff;
  border:3px solid #004EA4;
  max-width:1345px;
}

.content-wrap h3{
  text-align:center;
  margin: 0 auto 2rem;
  padding-bottom:8px;
  border-bottom:2px solid #004EA4;
  width:fit-content;
  font-size:clamp(1.125rem, 0.989rem + 0.45vw, 1.5rem);
}

.content-wrap h4{
  font-size:clamp(1rem, 0.955rem + 0.15vw, 1.125rem);
}

.content-wrap h3 + img{
  margin-bottom:2.5rem;
}

.kadai-wrap{
  display:flex;
  align-items:center;
  justify-content: space-between;
  margin:20px 0 3rem;
}

.kadai-wrap > img{
  width:1rem;
}

.kadai-left{
  width:40%;
}

.kadai-left p{
  background:#F5F6FA;
  border-radius:2rem;
  text-align:center;
  font-size:14px;
  font-weight:bold;
  padding:1rem;
}

.kadai-left p strong{
  font-size:18px;
  text-decoration:underline;
  font-weight:bold;
}

.kadai-left p:first-child{
  margin-bottom:1.5rem;
}

.kadai-right{
  width:50%;
  background:#FFF0C6;
  padding:20px;
  font-size:clamp(0.875rem, 0.784rem + 0.3vw, 1.125rem);
  font-weight:bold;
}

.kadai-right h5{
  font-size:clamp(1rem, 0.909rem + 0.3vw, 1.25rem);
  margin-bottom:1rem;
}

.content-wrap2{
  position:relative;
}

.content-wrap2::before{
  content:"";
  position:absolute;
  width:31%;
  aspect-ratio:1/1;
  background:url(https://j-connect-kyoto.com/system_panel/uploads/images/20260113134909548167.png) no-repeat center/contain;
  right: -24%;
  bottom: 5%;
  z-index: -5;
}

.point{
  background:#004EA4;
  color:#fff;
  text-align:center;
  margin-bottom:20px;
}

.point-list{
  border-bottom:2px solid #004EA4;
  padding-bottom:8px;
  width: 95%;
  margin: 0 auto 1.5rem;
  display: flex;
  gap: 2.5rem;
  align-items: center;
  font-weight:bold;
}

.point-list p:first-child{
  display: flex;
  align-items:center;
  gap:10px;
}

.point-list p:first-child strong{
  background:#004EA4;
  border-radius:999vh;
  aspect-ratio:1/1;
  color:#fff;
  width: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.improvement{
  max-width:1152px;
  margin:7.5rem auto 0;
  width:80%;
}

.improvement-wrap{
  display:flex;
  max-width:960px;
  margin:0 auto 3.5rem;
  text-align:center;
  font-weight:bold;
}

.improvement-batu{
  width:40%;
  border:3px solid #F00201;
  border-radius:10px;
  padding:2.5rem 1rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position:relative;
}

.improvement-batu::before{
  content:"";
  position:absolute;
  width: 20%;
  aspect-ratio: 1 / 1;
  left: -5%;
  top: -20%;
  background:url(https://j-connect-kyoto.com/system_panel/uploads/images/20260113131911352975.png) no-repeat center/contain;
}

.improvement-wrap > img{
  width:15%;
  margin-right:5%;
}

.improvement-maru{
  width:40%;
  border:3px solid #7CBF00;
  border-radius:10px;
  padding:2.5rem 1rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position:relative;
}

.improvement-maru::before{
  content:"";
  position:absolute;
  width: 20%;
  aspect-ratio: 1 / 1;
  left: -5%;
  top: -20%;
  background:url(https://j-connect-kyoto.com/system_panel/uploads/images/20260113131935836304.png) no-repeat center/contain;
}

.review{
  padding:120px 0 90px;
}

.review .container{
  max-width:1345px;
}

.review-wrap{
  display:flex;
  justify-content: space-between;
}

.review-item{
  width:calc((100% - 40px ) / 3);
  padding:20px;
  border-radius:10px;
  background:#fff;
}

.review-item h3{
  font-size:clamp(1rem, 0.909rem + 0.3vw, 1.25rem);
  border-bottom:2px solid #004EA4;
  padding-bottom:8px;
  margin-bottom:20px;
}

.review-item h3 + p{
  font-weight:bold;
  margin-bottom:20px;
  font-size:clamp(0.875rem, 0.784rem + 0.3vw, 1.125rem);
}

.tel-wrap{
  display:flex;
  max-width:1152px;
  margin:5rem auto 4rem;
  justify-content: space-between;
  text-align: left;
}

.tel-wrap img{
  width:25%;
}

.tel-txt{
  width:70%;
}

.tel-txt h3{
  width:fit-content;
  padding-bottom:8px;
  border-bottom:1px solid;
}

.tel-txt strong{
  font-weight:900;
  font-size:18px;
  text-decoration:underline;
}

.service-cta{
  padding:2.5rem 5%;
  background:url(https://j-connect-kyoto.com/system_panel/uploads/images/20260113161614579125.png) no-repeat center/cover;
  color:#fff;
  text-align:center;
  margin:5rem auto 7.5rem;
  width:80%;
}

.review + .service-cta{
  margin-bottom:0;
}

.service-cta p:first-child{
  font-size:18px;
}

.service-cta h2{
  margin:8px 0 1.5rem;
  font-size:clamp(1.25rem, 0.614rem + 2.12vw, 3rem);
}

.service-cta a{
  max-width:500px;
  display:block;
  width:fit-content;
  margin:2.5rem auto 0;
}

.training{
  margin-top:0;
}


.training-wrap{
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.training-wrap > img{
  width:40%;
}

.training-txt{
  width:55%;
  font-weight:bold;
}

.training-txt div{
  padding:1rem ;
  background:#fff;
  margin:20px 0;
  font-size:clamp(0.875rem, 0.784rem + 0.3vw, 1.125rem);
}

.case{
  margin:120px auto;
}

.case-swiper{
  padding-bottom:5rem;
}

.case .swiper-wrapper{
  align-items: stretch;
}

.case .swiper-slide{
  padding:2rem;
  background:#FFFFFF;
  border-radius:10px;
  height: auto;
}

.case .swiper-slide h3{
  font-size:clamp(1.125rem, 0.989rem + 0.45vw, 1.5rem);
  padding-bottom:1rem;
  margin-bottom:20px;
  border-bottom:2px solid #004EA4;
}

.case .swiper-slide h3 + h4{
  font-size:clamp(1rem, 0.909rem + 0.3vw, 1.25rem);
  margin-bottom:20px;
}

.case .swiper-slide h3 + h4 + p{
  line-height:2;
  margin-bottom:20px;
}

.case .swiper-slide h3 + h4 + p + h4{
  font-size:clamp(1rem, 0.955rem + 0.15vw, 1.125rem);
  margin-bottom:20px;
}

.case .swiper-slide p:last-child{
  background:#F5F6FA;
  padding:4px 2rem;
  width:fit-content;
  font-weight:bold;
  border-radius: 8px;
}

.swiper-button-next{
  right: 19%;
  width:4rem;
}

.swiper-button-prev{
  left: 19%;
  width:4rem;
}

.swiper-button-next:after{
  aspect-ratio:142/88;
  color: transparent;
  width: 100%;
  background:url(https://j-connect-kyoto.com/system_panel/uploads/images/20260113190300563567.png) no-repeat center/contain;
}

.swiper-button-prev:after{
  aspect-ratio:142/88;
  color: transparent;
  width: 100%;
  background:url(https://j-connect-kyoto.com/system_panel/uploads/images/20260113190300783484.png) no-repeat center/contain;
}

.swiper-pagination-bullet{
  width:20px;
  height:20px;
  margin:0 10px !important;
  background:#FFFFFF;
  border: 1px solid;
}

.swiper-pagination-bullet-active{
  background:#004EA4;
}

.program{
  overflow:initial;
}

.program-wrap{
  width:80%;
  margin:5rem auto 7.5rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
}

.program-left{
  width:350px;
  position: sticky;
  top: 15%;
  left: 0;
}

.program-left > p{
  font-weight:bold;
  font-size:14px;
  margin-bottom:1rem;
}

.program-left a{
  display:flex;
  gap:1rem;
  font-weight:bold;
  padding-bottom:8px;
  border-bottom:1px solid #004EA4;
  margin-bottom:20px;
  font-size:clamp(1rem, 0.909rem + 0.3vw, 1.25rem);
}

.program-left a p{
  line-height:1.5;
}

.program-right{
  width:calc(100% - 470px);
}

.program-item{
  padding-top:7.5rem;
  font-weight:bold;
}

.program-item > p:first-child{
  font-size:12px;
  text-align:center;
}

.program-item h4{
  font-size: 18px;
  width: fit-content;
  margin: 0 auto 2.5rem;
  position: relative;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.program-item h4::before, .program-item h4::after {
  content: "";
  width: 1rem;
  height: 1rem;
  background: #004EA4;
  border-radius: 3px;
}

.program-p{
  display:flex;
  align-items: center;
  gap:3rem;
  margin-bottom:2rem;
  justify-content: center;
}

.program-p div{
  display:flex;
  align-items: center;
  gap:20px;
}

.program-p div p:first-child{
  padding:4px 2rem;
  background:#fff;
  border:1px solid #004EA4;
  border-radius:1rem;
}

.program-list-wrap{
  max-width:850px;
  margin:0 auto;
}

.program-list{
  display: flex;
  gap:2px;
  margin-bottom:2px;
}

.program-list p{
  padding:20px;
  background:#fff;
}

.program-list p:first-child{
  width:45%;
}

.program-list p:last-child{
  width:55%;
}

.program-p + p{
  max-width:860px;
  margin:0 auto;
}

.feature .program-wrap{
  max-width: 1245px;
}

.feature .program-left {
  width: 220px;
}

.feature .program-right {
  width: calc(100% - 350px);
}

.feature-wrap,
.feature-wrap2{
  display:flex;
  justify-content: space-between;
  margin-top:2.5rem;
}

.feature-wrap2{
  max-width:730px;
  margin:2.5rem auto 0;
}

.feature-wrap > img{
  width:38%;
}

.feature-txt{
  width:57%;
}


.feature-wrap2 > img{
  width:20%;
}

.feature-txt2{
  width:75%;
  padding:20px 40px;
  background:#fff;
  border:3px solid #004EA4;
  border-radius:6px;
}

.feature-txt-list p:first-child{
  border-radius:12px;
  border:1px solid #004EA4;
  background:#fff;
  padding:2px 2rem;
  width:fit-content;
  font-size:14px;
  margin-bottom:8px;
}

.feature-txt-list p:last-child{
  font-weight:bold;
  padding-bottom:10px;
  border-bottom:1px solid #004EA4;
  margin-bottom:20px;
}

.feature-txt-honi{
  display:flex;
  align-items:center;
  gap:1rem;
  padding:1rem;
  background:#C1D5EA;
  border-radius:10px;
  margin-bottom:20px;
}

.feature-txt-honi  p:first-child{
  font-size:14px;
  padding:2px 1.5rem;
  border-radius:12px;
  background:#004EA4;
  color:#fff;
}

.feature .program-item h3 + p{
  text-align:center;
}

#feature2.program-item > img{
  width:80%;
  margin:2.5rem auto 0;
  max-width: 660px;
}

#feature3.program-item > img{
  width:60%;
  margin:2.5rem auto 0;
  max-width: 430px;
}

.review-column{
  flex-direction: column;
  gap: 2.5rem;
}

.review-column .review-item{
  width:100%;
}

.jlpt-table {
  max-width:1152px;
  margin:0 auto 3.5rem;
}

.jlpt-table div{
  display:flex;
  text-align:center;
  font-weight:bold;
  border-bottom:2px solid #EBEBEB;
}

.jlpt-table div p{
  color:#000000;
  background:#fff;
  border-left:2px solid #EBEBEB;
  height: 110px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding:0 0.5rem;
}

.jlpt-table div p:first-child{
  width:20%;
  border:none;
}

.jlpt-table div p:nth-child(2){
  width:30%;
}

.jlpt-table div p:last-child{
  width:50%;
  color:#004EA4;
  background:#FFE08E;
  font-size:clamp(1rem, 0.955rem + 0.15vw, 1.125rem);
}

.jlpt-table > div:first-child p{
  height:66px;
  color:#fff;
  background:#004EA4;
}

.jlpt-table > div:first-child p:last-child{
  color:#fff;
  background:#FF7600;
}

.j-connect-fv-wrap{
  max-width:700px;
}

.j-connect-fv-wrap .service-fv-item {
  width: 25%;
}

.step{
  margin-bottom:4rem;
}

.step h3::before, .step h3::after {
  width: 30%;
}

.step-wrap{
  display:flex;
  align-items:center;
  gap:1rem;
  margin-bottom:10px;
  font-weight:bold;
  font-size:clamp(0.875rem, 0.739rem + 0.45vw, 1.25rem);
  text-align:left;
}

.step-wrap h4{
  font-size:clamp(1.125rem, 0.989rem + 0.45vw, 1.5rem);
  display:flex;
  gap:1rem;
  align-items: center;
  margin-left:1rem;
}

.step-wrap h4::after{
  content:"";
  display:block;
  width:40px;
  height:2px;
  background-image: repeating-linear-gradient(90deg, #004EA4, #004EA4 8px, transparent 8px, transparent 12px);
  background-position: left top;
  background-repeat: repeat-x;
  background-size: 100% 2px;
}

.step-wrap img{
  width:120px;
}

.case .container{
  max-width:1345px;
}

.case .swiper-slide.review-slide{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  background: transparent;
  padding: 0;
  margin-bottom:4rem;
}

.review-left{
  width:20%;
}

.review-left p{
  margin-top:1rem;
  font-weight:bold;
  font-size:clamp(1rem, 0.909rem + 0.3vw, 1.25rem);
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
}

.review-right{
  width:77%;
  padding:1.5rem 1.5rem 2.5rem;
  background:#fff;
  border-radius:10px;
}

.case .swiper-slide.review-slide h3 + h4{
  font-size:clamp(1rem, 0.955rem + 0.15vw, 1.125rem);
  margin-bottom:12px;
}

.case .swiper-slide.review-slide h3 + h4 + p{
  background: #F5F6FA;
  padding: 4px 2rem;
  width: fit-content;
  font-weight: bold;
  border-radius: 8px;
  margin-bottom:24px;
}

.case .swiper-slide.review-slide p:last-child{
  background:transparent;
  padding:0;
  font-weight:500;
}

.case:has(.review-slide) .swiper-button-next {
  right: 11%;
}

.case:has(.review-slide) .swiper-button-prev {
  left: 11%;
}

.j-program-wrap{
  display:flex;
  gap:2rem 5%;
  margin-top:100px;
  flex-wrap:wrap;
  justify-content: center;
  max-width: 1345px;
}

.j-program-item{
  width:30%;
  padding:20px;
  border:2px solid #CECECE;
  background:#fff;
  border-radius:10px;
}

.j-program-item h3{
  text-align:center;
  font-size:clamp(1.125rem, 0.989rem + 0.45vw, 1.5rem);
}

.j-program-item img{
  margin:1.5rem auto;
  width:fit-content;
  height:5rem;
}

.j-program + .case{
  margin-bottom:0;
}

.improvement-wrap strong,
.service-fv h3 + p strong{
  font-weight:bold;
}

.service-fv-item p:last-child{
  font-size:14px;
  padding:1rem 0;
}

.toikatsu-txt p{
  margin-bottom:1.5rem;
  font-weight:bold;
}

.toikatsu-txt strong,
.toikatsu-txt {
  font-weight:bold;
}

.toikatsu-b{
  font-size:clamp(1rem, 0.909rem + 0.3vw, 1.25rem);
  text-decoration:underline;
  margin-bottom:1.5rem;
  font-weight:bold;
}

.toikatsu-b  strong{
  text-decoration:underline;
}

.toikatsu-i em{
  font-size:clamp(1.5rem, 1.318rem + 0.61vw, 2rem);
}

.banner{
  padding:5rem 0;
  background:#fff;
  text-align:center;
}

.banner h2{
  opacity:0;
  position: absolute;
}

.banner .container > img{
  width:80%;
  margin:0 auto 2rem;
  max-width: 680px;
}

.banner .arrow-btn{
  margin:2.5rem auto 0;
  font-size:clamp(1.125rem, 0.989rem + 0.45vw, 1.5rem);
}

.main:has(.banner){
  padding-bottom:0;
}

.banner-table-bg{
  margin:1.5rem 0 2rem;
}

.banner .container{
  max-width:1245px;
}

.banner-table-list{
  display:flex;
  gap:4px;
  margin-top:4px;
  font-weight: bold;
}

.banner-table-list:first-child{
  margin:0;
}

.banner-table-list:first-child p{
  background:#004EA4;
  color:#fff;
  font-size:clamp(0.875rem, 0.739rem + 0.45vw, 1.25rem);
  padding: 4px 0;
}

.banner-table-list:last-child p{
  padding:1.5rem 0;
  color:#004EA4;
  background:#F5F6FA;
  font-size:clamp(0.875rem, 0.588rem + 0.59vw, 1.25rem);
  display: flex;
  justify-content: center;
  align-items: center;
}

.banner-table-list:last-child p strong{
  color:#FFBA00;
  font-size:clamp(1.5rem, 1.318rem + 0.61vw, 2rem);
  font-weight: bold;
}

.banner-table-list p:first-child{
  width:16%;
}

.banner-table-list p:nth-child(2){
  width:28%;
}

.banner-table-list p:nth-child(3){
  width:37%;
}

.banner-table-list p:last-child{
  width:18%;
}

.banner-table-bg  + p{
  font-size:clamp(1.125rem, 0.989rem + 0.45vw, 1.5rem);
  text-decoration:underline;
}

.banner-table-bg  + p strong,
.banner-table-bg  + p em{
  text-decoration:underline;
}

@media screen and (max-width: 1600px) {
  .program-p{
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
}

@media screen and (max-width: 1279px) {
  .review-wrap{
    flex-wrap: wrap;
    gap: 2rem 1rem;
    justify-content: center;
  }
  .review-item {
    width: calc((100% - 1rem) / 2);
  }
  .program-wrap{
    flex-direction: column;
    gap: 2rem;
  }
  .program-left{
    position: relative;
    left: auto;
    top: auto;
  }
  .program-right,
  .feature .program-right{
    width:100%;
  }
  .program-item {
    padding-top: 2.5rem;
  }
  .j-program-item {
    width: 47.5%;
  }
  .case:has(.review-slide) .swiper-button-next {
    right: 2.5%;
    top: auto;
    bottom: 0.5rem;
  }
  .case:has(.review-slide) .swiper-button-prev{
    left:2.5%;
    top: auto;
    bottom: 0.5rem;
  }
  .case .swiper-slide.review-slide{
    flex-direction: column;
    gap: 1rem;
    justify-content: start;
    align-items: center;
  }
  .review-right{
    width: 100%;
  }
  .review-left{
    width:200px;
  }
  .review-left img{
    max-width:200px;
  }
  .case .swiper-slide p:last-child{
    width: 100%;
    text-align:center;
  }
  .case .swiper-wrapper {
    align-items: flex-start;
  }
  .case .swiper-button-next{
    right: 8%;
  }
  .case .swiper-button-prev{
    left: 8%;
  }
}

@media screen and (max-width: 1024px) {
  .tel-wrap{
    align-items: flex-start;
  }
  .service-fv-item {
    width: 23%;
  }
  .service-point-wrap{
    flex-direction: column;
    gap: 2rem;
  }
  .service-point-left {
    width: 100%;
  }
  .service-point-right {
    width: fit-content;
  }
  .kadai-wrap{
    flex-direction: column;
    gap: 1rem;
  }
  .kadai-wrap > img {
    transform: rotate(90deg);
  }
  .kadai-left,
  .kadai-right{
    width: 100%;
  }
  .improvement-wrap > img{
    width: 10%;
  }
  .improvement-maru,
  .improvement-batu{
    width: 42.5%;
    padding: 1.5rem 0.5rem;
  }
  .point-list{
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
  .improvement,
  .training-txt,
  .training-wrap > img{
    width: 100%;
  }
  .training{
    width:80%;
  }
  .training-wrap{
    flex-direction: column;
    gap: 1.5rem;
  }
  .training-wrap > img{
    max-width:450px;
  }
  .case .swiper-button-next {
    right: 1%;
  }
  .case .swiper-button-prev{
    left:1%;
  }
  .service-cta a{
    width:80%;
  }
  .improvement{
    width:90%;
  }
  .service-fv-item p:last-child{
    font-size:12px;
  }
  .banner .container{
    width:90%;
  }
  .swiper-button-prev,
  .swiper-button-next{
    width:3rem;
  }
}


@media screen and (max-width: 767px) {
  .review-wrap{
    gap:1rem;
  }
  .review-item{
    width:100%;
    padding: 16px;
  }
  .review-item h3{
    margin-bottom: 12px;
  }
  .review-item h3 + p{
    margin-bottom: 8px;
  }
  .review{
    padding: 2rem 0 0;
  }
  .improvement-wrap > img {
    width: 40px;
    transform: rotate(90deg);
  }
  .improvement-wrap{
    margin: 0 auto 2.5rem;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
  }
  .improvement-maru, .improvement-batu {
    width: 100%;
  }
  .content-wrap {
    width: 90%;
    padding: 2rem 3%;
    margin: 3rem auto;
  }
  .point-list p:first-child{
    gap: 4px;
  }
  .point-list p:first-child strong{
    width: 1.5rem;
  }
  .content-wrap h3 + img{
    margin-bottom: 1.5rem;
    aspect-ratio: 5 / 3;
    object-fit: cover;
  }
  .kadai-right h5{
    margin-bottom: 0.5rem;
  }
  .service-point-left img {
    width: 2.5rem;
  }
  .service-point-left{
    justify-content: center;
  }
  .service-point-left h3{
    padding: 12px 0;
    border-top: 3px solid #004EA4;
    border-bottom: 3px solid #004EA4;
  }
  .service-fv-img {
    margin: 3rem auto 1.5rem;
    aspect-ratio: 5 / 3;
    object-fit: cover;
  }
  .service-fv-wrap{
    gap: 2rem 1rem;
    flex-wrap: wrap;
    margin: 2.5rem auto 2rem;
  }
  .service-fv-item {
    width: calc((100% - 1rem) / 2);
  }
  .content-wrap2::before{
    width: 70%;
    right: -24%;
    bottom: -5%;
  }
  .service-fv-bg::before{
    width: 45%;
    bottom: 2%;
  }
  .service-point-wrap{
    padding: 2rem 5%;
  }
  .j-connect-fv-wrap .service-fv-item{
    width: calc((100% - 1rem) / 2);
  }
  .step-wrap{
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    margin-bottom: 1.5rem;
  }
  .step-wrap img {
    width: 80px;
  }
  .step-wrap h4::after{
    display:none;
  }
  .step-wrap h4{
    margin-left: 0rem;
  }
  .program-wrap {
    width: 90%;
    margin: 3rem auto;
    gap:0;
  }
  .feature-wrap, .feature-wrap2 {
    margin-top: 1.5rem;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
  }
  .feature-wrap > img {
    width: 50%;
  }
  .feature-txt,
  .feature-txt2,
  .j-program-item{
    width: 100%;
  }
  #feature2.program-item > img,
  #feature3.program-item > img{
    width: 100%;
    margin: 1.5rem auto 0;
  }
  .feature-wrap2 > img {
    width: 150px;
  }
  .feature-txt2{
    padding: 16px 20px;
  }
  .j-program-wrap{
    gap:1rem;
    margin-top: 40px;
  }
  .case{
    margin: 48px auto;
  }
  .feature .program-item h3 + p {
    text-align: left;
  }
  .lower-fv h1 strong{
    font-size:18px;
  }
  .service-fv h3.jlpt-h3{
    font-size:18px;
  }
  .jlpt-table-bg{
    overflow:scroll;
  }
  .jlpt-table{
    min-width:550px;
  }
  .jlpt-table div p{
    height: 75px;
  }
  .jlpt-table div p:last-child{
    font-size: 14px;
  }
  .jlpt-table > div:first-child p {
    height: 55px;
  }
  .service-fv h2{
    gap: 0.5rem;
  }
  .tel-wrap {
    flex-direction: column;
    gap: 1rem;
    align-items: center;
  }
  .tel-wrap img {
    width: 200px;
  }
  .tel-txt{
    width:100%;
  }
  .border-title span{
    padding: 0 0.5rem;
  }
  .training {
    width: 90%;
  }
  .training .border-title,
  .program-right  .border-title{
    padding: 0 20px;
  }
  .service-fv-bg:has(.tel-wrap)::before{
    width: 30%;
    bottom: 25%;
  }
  .case .swiper-button-next,
  .case .swiper-button-prev{
    top: auto;
    bottom: 0.5rem;
  }
  .case .swiper-slide{
    padding: 1rem;
  }
  .service-cta{
    width: 100%;
  }
  .program-item h4{
    font-size: 16px;
    gap: 0.5rem;
    margin: 0 auto 1.5rem;
  }
  .program-p div{
    gap: 10px;
    flex-direction: column;
    align-items: flex-start;
  }
  .program-p div p:first-child {
    padding: 2px 1.5rem;
  }
  .program-p strong{
    font-weight:bold;
  }
  .program-list-wrap-bg{
    overflow:scroll;
  }
  .program-list-wrap{
    min-width:500px;
  }
  .step{
    width:100%;
  }
  .banner{
    padding: 2.5rem 0;
    margin-top: 2.5rem;
  }
  .banner .container > img {
    width: 100%;
    margin: 0 auto 1rem;
  }
  .banner-table-bg{
    overflow: scroll;
  }
  .banner-table{
    min-width:680px;
  }
  .banner-table-list:first-child p{
    padding: 10px 0;
  }
  .case .swiper-slide.review-slide{
    margin-bottom: 2rem;
  }
  .content-wrap h3 + img.right{
    object-position: 80%;
  }
}

.vuca{
  margin:5rem 0 7.5rem;
}

.vuca .container{
  max-width:1345px;
}

.vuca-title{
  display:flex;
  align-items:center;
  gap:2.5rem;
  margin-bottom:2.5rem;
}

.vuca-title h2{
  opacity:0;
  position:absolute;
}

.vuca-title img{
  width:300px;
}

.vuca-title p{
  font-size:clamp(0.875rem, 0.739rem + 0.45vw, 1.25rem);
}

.vuca-img{
  display:flex;
  justify-content: space-between;
  margin-bottom:4rem;
}

.vuca-img img{
  width:22%;
}

.vuca-last{
  padding:2rem 1rem;
  background:#fff;
  margin-top:3.5rem;
  font-size:clamp(1.25rem, 0.977rem + 0.91vw, 2rem);
  text-align:center;
  font-weight:bold;
}

.vuca-change h3{
  font-size:clamp(1rem, 0.818rem + 0.61vw, 1.5rem);
  margin-bottom:2rem;
}

.vuca-change-wrap{
  display:flex;
  justify-content: space-between;
  align-items: center;
}

.vuca-change-wrap > img{
  width:40%;
}

.vuca-change-list-wrap{
  width:55%;
}

.vuca-change-list{
  display:flex;
  gap:10px;
  margin-bottom:6px;
  text-align:center;
  font-weight:bold;
}

.vuca-change-list p{
  padding:8px;
  background:#fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.vuca-change-list p:first-child{
  width:40%;
  color:#000000;
}

.vuca-change-list:first-child p:first-child{
  background:#888888;
  color:#fff;
  font-size:clamp(1rem, 0.909rem + 0.3vw, 1.25rem);
}

.vuca-change-list p:last-child{
  width:calc(60% - 10px);
  color:#004EA4;
}

.vuca-change-list:first-child p:last-child{
  background:#004EA4;
  color:#fff;
  font-size:clamp(1rem, 0.909rem + 0.3vw, 1.25rem);
}

.vuca-last strong,
.vuca-last em{
  font-weight:bold;
}

@media screen and (max-width: 1200px) {
  .vuca-change-wrap{
    flex-direction: column;
    gap: 1.5rem;
  }
  .vuca-change-list-wrap {
    width: 100%;
  }
  .vuca-change-wrap > img{
    width: 100%;
    max-width:450px;
  }
  .vuca-title img {
    width: 250px;
  }
}

@media screen and (max-width: 767px) {
  .vuca-title{
    flex-direction: column;
    gap: 2rem;
    align-items: flex-start;
  }
  .vuca-img{
    margin-bottom: 2rem;
    flex-wrap: wrap;
    gap: 2rem 5%;
  }
  .vuca-img img{
    width:47.5%;
  }
  .vuca-change-list{
    font-size:12px;
  }
  .vuca-change-list:first-child p:first-child,
  .vuca-change-list:first-child p:last-child{
    font-size:14px;
  }
  .vuca-last{
    padding: 1rem 1rem;
    margin-top: 1.5rem;
  }
  .vuca {
    margin: 3rem 0 3rem;
  }
}