@charset "utf-8";

h2:has(strong){
  font-size:clamp(1.25rem, 0.795rem + 1.52vw, 2.5rem);
  text-align:center;
  line-height: 1.5;
}

h2:has(strong) strong{
  font-size:clamp(1.5rem, 0.909rem + 1.97vw, 3.125rem);
  color:#529EA3;
  font-weight:bold;
}

.service{
  margin:0 0 7.5rem 5%;
}

.service h2{
  color:#529EA3;
  font-size:clamp(2.5rem, 1.955rem + 1.82vw, 4rem);
  margin-bottom:3rem;
}

.service-wrap{
  display:flex;
  justify-content: space-between;
  align-items: flex-start;
}

.service-wrap > img{
  width:65%;
  border-radius: 40px 0 0 40px;
}

.service-text{
  width:30%;
}

.service-text h3{
  font-size:clamp(1.5rem, 1.318rem + 0.61vw, 2rem);
  margin-bottom:2rem;
  line-height:1.5;
}

.service-text img{
  max-width:275px;
  margin:0 0 0 auto;
  display:block;
  width: 45%;
}

.service-onayami{
  width:80%;
  margin:0 auto;
}

.service-onayami-title{
  display:flex;
  margin:0 auto 1rem;
  align-items: center;
  gap: 1rem;
  justify-content: center;
}

.service-onayami-title img{
  width:12%;
}

.service-onayami-bottom{
  display:flex;
  justify-content: center;
  align-items: flex-end;
}

.service-onayami-bottom > img{
  width:255px;
}

.service-onayami-bottom > div{
  display:flex;
  justify-content: center;
  align-items: center;
}

.service-onayami-bottom > div img{
  width:120px;
  margin-top: 5rem;
}

.service-onayami-bottom > div p{
  font-size:clamp(0.875rem, 0.648rem + 0.76vw, 1.5rem);
  padding:100px;
  background:url(https://tonolion.co.jp/system_panel/uploads/images/20250514115537392388.png) no-repeat center/contain;
}

.solve{
  margin:5rem auto;
  width:80%;
  max-width:1345px;
}

.solve-wrap{
  display:flex;
  justify-content: space-between;
  margin-top: 5rem;
  gap:1.5rem;
}

.solve-item{
  background:#A7C9CB;
  border-radius:2.5rem;
  padding:100px 0.5rem 4rem;
  text-align:center;
  position:relative;
  width: calc((100% - 3rem) / 3);
}

.solve-item > img:first-child{
  position:absolute;
  top:-2.5rem;
  width:5rem;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

.solve-item > img:nth-child(2){
  width:150px;
  margin:0 auto 2.5rem;
}

.solve-item h3{
  font-size:20px;
  margin-bottom:1rem;
}

.case{
  width:80%;
  margin:0 auto;
}

.case-title{
  text-align:center;
  font-size:clamp(1.875rem, 0.83rem + 3.48vw, 4.75rem);
  margin-bottom:3rem;
}

.case-title p{
  line-height:1;
  letter-spacing: -2px;
  font-weight:bold;
}

.case-title h2{
  font-size:clamp(1rem, 0.818rem + 0.61vw, 1.5rem);
}

.case-wrap{
  background:#fff;
  padding:3rem 5%;
  display:flex;
  justify-content: space-between;
  border:1px solid #707070;
  position:relative;
  margin-bottom:3rem;
  align-items: center;
}

.case-wrap::before{
  content:"";
  position:absolute;
  width:100%;
  height:100%;
  border:1px solid #707070;
  background:#fff;
  z-index: -1;
  top: 0;
  left: 0;
  transform: rotate(-2deg);
}

.case-left{
  width:36%;
}

.case-left .accent{
  font-weight:bold;
  letter-spacing:-2px;
}

.case-left img{
  aspect-ratio:480/336;
  object-fit:cover;
  object-position:top;
}

.case-left p{
  word-break: break-all;
}

.case-left a{
  text-decoration:underline;
  font-size:12px;
}

.case-right{
  width:60%;
}

.case-right h3{
  font-size:clamp(1rem, 0.773rem + 0.76vw, 1.625rem);
  color:#529EA3;
  margin-bottom:1rem;
  line-height:1.5;
}

.case-box{
  display:flex;
  width: 90%;
  margin: 2rem 0 0 auto;
  justify-content: space-between;
  align-items: center;
}

.case-box img{
  width:16%;
}

.case-box p{
  width:80%;
  position: relative;
  line-height: 1.5;
  padding:1rem;
  background:#A7C9CB;
  border-radius:10px;
}

.case-box p::before{
  content: "";
  position: absolute;
  width: 24px;
  height: 48px;
  top: 50%;
  right: -1rem;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  background: url(https://tonolion.co.jp/system_panel/uploads/images/20250516193859674784.png) no-repeat center / contain;
}


.flow{
  margin:7.5rem auto;
  width:90%;
}

.flow-wrap{
  display:flex;
  margin:0 auto;
  width:90%;
  justify-content: space-between;
  position:relative;
}

.flow-wrap::before{
  content:"";
  position:absolute;
  width: 115%;
  height: fit-content;
  top: 22%;
  left: 52%;
  z-index:-1;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  aspect-ratio:3279/117;
  background:url(https://tonolion.co.jp/system_panel/uploads/images/20250514155927235582.png) no-repeat center/contain;
}

.flow-item{
  width:24%;
  text-align:center;
}

.flow-item h3{
  font-size:clamp(1.125rem, 1.08rem + 0.15vw, 1.25rem);
  margin:2rem 0 1rem;
}

.flow-img{
  width:80%;
  max-width:180px;
  margin:0 auto;
  background:#fff;
  border-radius:999vh;
  padding:1rem;
  border:1px solid #000000;
}


.scene{
  width:80%;
  margin:100px auto;
  max-width:1140px;
}

.scene-wrap{
  background:#529EA3;
  position:relative;
  padding:3rem 5% ;
  border-radius:2rem;
  display:flex;
  flex-wrap:wrap;
  gap:1rem 2rem;
  margin-top:5rem;
}

.scene-wrap::before{
  content:"";
  position:absolute;
  width:48px;
  height:28px;
  top: -27px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  background:url(https://tonolion.co.jp/system_panel/uploads/images/20250514181916998927.png) no-repeat center/contain;
}

.scene-wrap p{
  text-align:center;
  width:calc((100% - 4rem)/3);
  padding:10px;
  border-radius:20px;
  font-weight:bold;
  background:#F2EEEA;
}

.video{
  margin:5rem auto 10rem;
  width:80%;
  max-width: 1345px;
}

.video-wrap{
  display:flex;
  gap:2.5rem;
  align-items: center;
}

.video-wrap:not(:last-child){
  margin-bottom:2rem;
}

.video-wrap:nth-child(even){
  flex-direction:row-reverse;
}

.video-wrap > img{
  width:40%;
  border-radius:40px;
}

.video-wrap > div{
  width:55%;
  max-width: 500px;
}

.video-wrap > div h3{
  font-size:20px;
  margin-bottom:1rem;
  line-height: 1.5;
}

.able{
  margin:10rem auto;
  width:90%;
}

.able-wrap{
  padding:4rem 5%;
  background:rgba(227,229,229,0.5);
  border-radius:4rem;
  margin-top:2rem;
  display:flex;
  justify-content: space-between;
  flex-wrap:wrap;
}

.able-list{
  display:flex;
  padding-bottom:0.5rem;
  margin-bottom:0.5rem;
  border-bottom:1px solid #707070;
  gap:1.5rem;
  align-items:center;
  width: 47.5%;
}

.able-list p:first-child{
  background:#A7C9CB;
  padding:8px;
  border-radius: 10px;
  width: 150px;
  font-weight: bold;
  line-height: 1.5;
}

.able-list p:last-child{
  width:calc(100% - 1.5rem - 150px);
}

.plan{
  width:80%;
  margin:5rem auto;
  max-width:1345px;
}

.plan h2:has(strong) strong{
  font-size:clamp(1.25rem, 1.023rem + 0.76vw, 1.875rem);
}


.plan-item{
  width:calc((100% - 3rem ) / 3);
}

.plan-item > img{
  width:50%;
  margin:0 auto;
  display: block;
}

.plan-bg{
  background:#A7C9CB;
  border-radius:40px;
  padding-bottom:1.5rem;
}

.plan-bg > p:first-child{
  text-align:center;
  padding:2rem 1rem;
  font-weight:bold;
  font-size:18px;
}

.plan-bg > p:first-child strong{
  font-weight:bold;
}

.plan-bg > .price{
  padding:1rem 1rem;
  color:#F2EEEA;
  text-align:center;
  font-weight:bold;
  font-size:3rem;
  background:#529EA3;
}

.plan-bg > .price strong{
  font-size:2.5rem;
}

.plan-text-box{
  padding:1.5rem 1rem 0;
}

.plan-text{
  padding:10px 1rem;
  background:#F2EEEA;
  border-radius:10px;
}

.plan-text:not(:last-child){
  margin-bottom:8px;
}

.plan-text div{
  display:flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4px;
  font-weight:bold;
}

.plan-text div p:first-child{
  font-size:14px;
}

.plan-text > p{
  font-size:12px;
}

.swiper-button-next, .swiper-button-prev{
  display:none !important;
}

.plans-p{
  text-align:center;
  margin:2rem 0;
}

@media screen and (max-width: 1400px) {
  .service-text {
    width: 43%;
  }
  .service-wrap > img {
    width: 55%;
  }
  .service-text img{
    width: 40%;
  }
  .service-text h3 {
    margin-bottom: 1rem;
  }
  .case {
    width: 85%;
  }
  .solve {
    width: 90%;
  }
  .flow-wrap {
    width: 100%;
  }
  .flow-wrap::before{
    width: 110%;
  }
  .flow-img {
    width: 60%;
  }
  .plan{
    width:90%;
  }
}

@media screen and (max-width: 1279px) {
  .service-onayami-bottom > img {
    width: 230px;
  }
  .service-onayami-bottom > div img {
    width: 100px;
  }
  .service-onayami-bottom > div p{
    padding: 60px;
  }
  .case {
    width: 90%;
  }
  .plan-item {
    width: 50%;
    min-width: 400px;
  }
}

@media screen and (max-width: 1024px) {
  .service {
    margin: 0 0 7.5rem 0%;
  }
  .service h2{
    margin-left: 5%;
  }
  .service-text {
    width: 90%;
    margin: 0 auto;
  }
  .service-wrap{
    flex-direction: column;
    gap:2rem;
  }
  .service-onayami {
    width: 90%;
  }
  .solve-wrap {
    gap: 4rem;
    flex-direction: column;
    align-items: center;
  }
  .service-onayami-bottom > img {
    width: 170px;
  }
  .service-onayami-bottom > div img {
    width: 60px;
  }
  .service-wrap > img {
    width: 85%;
    margin: 0 0 0 auto;
  }
  .service-text img {
    width: 30%;
  }
  .solve-item{
    width:70%;
    padding: 60px 0.5rem 4rem;
  }
  .solve-item > img:nth-child(2){
    margin: 0 auto 1.5rem;
  }
  .case {
    width: 80%;
  }
  .case-wrap{
    gap: 2rem;
    flex-direction: column;
    align-items: center;
  }
  .case-left,
  .case-right{
    width:100%;
  }
  .case-left img {
    aspect-ratio: 5 / 3;
  }
  .flow-wrap {
    flex-direction: column;
    gap: 4rem;
  }
  .flow-wrap::before{
    aspect-ratio:74/2059;
    width: fit-content;
    height: 125%;
    transform: none;
    left: 66px;
    top: -10%;
    background:url(https://tonolion.co.jp/system_panel/uploads/images/20250514170258285925.png) no-repeat center/contain;
  }
  .flow-item {
    width: 100%;
    display: flex;
    gap: 2rem;
    text-align: left;
    align-items: center;
  }
  .flow-item  > div:not(.flow-img){
    width:calc(100% - 212px);
  }
  .flow-img {
    width: 180px;
    margin: 0;
  }
  .case-box{
    width: 95%;
    align-items: flex-end;
  }
  .scene {
    width: 90%;
  }
  .video-wrap,
  .video-wrap:nth-child(even),
  .able-wrap{
    flex-direction:column;
    align-items:center;
  }
  .able-list{
    width:100%;
  }
  .case-box p::before{
    top:auto;
    transform:none;
    bottom:5%;
  }
  .video-wrap > img{
    width:80%;
  }
  .video-wrap > div,
  .able-item{
    width:100%;
    max-width: none;
  }
}

@media screen and (max-width: 767px) {
  .swiper-button-next, .swiper-button-prev{
    display:flex !important;
  }
  .service-onayami-bottom > div img{
    display:none;
  }
  .service-onayami-bottom{
    flex-direction: column-reverse;
    align-items: center;
  }
  .service-onayami {
    width: 95%;
  }
  .service-onayami-bottom > div p {
    padding: 20px 40px 40px;
    text-align:center;
  }
  .service-onayami-bottom > img {
    width: 140px;
    margin-top: -3rem;
    position: relative;
    z-index: 10;
  }
  .service-onayami-title{
    flex-direction: column;
  }
  .service-onayami-title img {
    width: 80px;
  }
  .solve-item {
    width: 100%;
  }
  .solve-item > img:nth-child(2){
    width:120px;
  }
  .case {
    width: 90%;
  }

  .case-title{
    margin-bottom: 2rem;
  }
  .flow{
    width: 95%;
  }
  .flow-img {
    width: 100px;
    padding: 0.5rem;
  }
  .flow-item{
    gap:1rem;
  }
  .flow-wrap{
    gap:2rem;
    margin-top: 5rem;
  }
  .flow-wrap::before{
    height: 125%;
    left: 40px;
    top: -9%;
  }
  .flow-item > div:not(.flow-img){
    width: calc(100% - 116px);
  }
  .flow-item > div:not(.flow-img) p{
    font-size:12px;
  }
  .flow-item h3{
    margin: 0rem 0 0.5rem;
  }
  .case-title h2{
    margin-bottom: 0.5rem;
  }
  .case-box{
    flex-direction: column;
    align-items: center;
    gap: 2rem;
  }
  .case-box img {
    width: 75px;
  }
  .case-box p {
    width: 100%;
    text-align: center;
  }
  .case-box p::before {
    bottom: -2rem;
    width: 1.5rem;
    height: 2rem;
    right:auto;
    left: 44%;
    transform: rotate(90deg)  translateX(-50%);
    -webkit-transform:  rotate(90deg) translateX(-50%);
    -ms-transform:  rotate(90deg) translateX(-50%);
  }
  .case-wrap{
    padding: 1rem 5%;
  }
  .service h2{
    margin-bottom: 1rem;
  }
  .service-text img{
    width:130px;
  }
  .service-wrap > img {
    width: 95%;
    margin: 0 0 0 auto;
    border-radius: 30px 0 0 30px;
  }
  .service {
    margin: 0 0 2.5rem 0%;
  }
  .solve {
    margin: 1rem auto 5rem;
    width:100%;
  }
  .case-wrap{
    margin-bottom: 2rem;
    gap: 1rem;
  }
  .solve-wrap{
    width: 90%;
    margin: 5rem auto 0;
  }
  .scene-wrap{
    gap:0.5rem;
    padding: 1rem 2.5%;
    margin-top: 2rem;
  }
  .scene-wrap p{
    width: calc((100% - 0.5rem) / 2);
  }
  .scene {
    width: 95%;
    margin: 2.5rem auto 5rem;
  }
  .scene-wrap::before {
    width: 22px;
    height: 16px;
    top: -14px;
  }
  .video-wrap{
    gap:8px;
  }
  .video-wrap > img{
    width:100%;
    border-radius: 20px;
  }
  .video{
    margin: 2.5rem auto 3rem;
    width: 95%;
  }
  .able{
    margin: 5rem auto 2rem;
    width: 95%;
  }
  .able-list{
    flex-direction:column;
    align-items: baseline;
    gap: 8px;
  }
  .able-list p:first-child{
    border-radius: 10px;
    width: fit-content;
    min-width:140px;
  }
  .able-list p:last-child{
    width:100%;
  }
  .able-wrap{
    border-radius: 20px;
    padding: 2rem 5%;
  }
  .plan-item {
    width: 100%;
    min-width: auto;
  }
  .plan-bg > p:first-child{
    padding: 1rem 1rem;
  }
  .plan-bg > .price strong {
    font-size: 2rem;
  }
  .plan-bg > .price{
    font-size: 2.5rem;
  }
  h2:has(strong) strong{
    font-size: 1.25rem;
  }
}


@media screen and (min-width: 767px) {
  .plan-wrap{
    display: flex;
    gap: 1.5rem;
  }
  .plan-item {
    width: calc((100% - 3rem) / 3) !important;
  }
  @media screen and (max-width: 1279px) {
    .plan-wrap{
      flex-direction: column;
      align-items: center;
    }
    .plan-item{
      width:50% !important;
    }
  }
}

.swiper-button-prev,.swiper-button-next{
  top: 4rem !important;
  transform: none !important;
}
.swiper-button-next:after, .swiper-button-prev:after{
  color: #529EA3 !important;
  font-size: 2rem !important;
}