@charset "UTF-8";
.pagetop {
  display: none; }

/* ------------------------------
	MV
------------------------------ */
.mv {
  padding: 0 4%;
  position: relative;
  width: 100%;
  	/*.sliderCover {
  		border-radius: 50px;
  		height: calc(100vh - 140px);
  		margin: 0 auto;
  		overflow: hidden;
  		width: 92%;
  		position: absolute;
  		left: 0;
  		right: 0;
  		z-index: 1;
  
  		img {
  			height: 100%;
  			width: 100%;
  			object-fit: cover;
  		}
  
  		p {
  			color: #fff;
  			font-size: 4rem;
  			position: absolute;
  			left: 0;
  			right: 0;
  			margin: 0 auto;
  			top: calc(50% - 8rem);
  			text-align: center;
  			width: 100%;
  		}
  	}*/
  /*▼旧スライダー用*/
  	/*
  	.slide {
  		overflow: hidden;
  
  		div {
  			border-radius: 50px;
  			height: calc(100vh - 140px);
  			position: relative;
  			overflow: hidden;
  
  			&.type01 {
  				border: 1px solid #eb6153;
  
  				&.fst {
  					p {
  						color: #fff;
  						font-size: 4.2rem;
  						left: 0;
  						right: 0;
  						margin: 0 auto;
  						top: calc(50% - 8rem);
  						text-align: center;
  						width: 100%;
  					}
  				}
  			}
  
  			&.type02 {
  				border: 1px solid #2972b0;
  			}
  
  			&.type03 {
  				border: 1px solid #cab272;
  			}
  
  			@include sp {
  				height: calc(100vh - 190px);
  			}
  		}
  
  		img {
  			height: 100%;
  			width: 100%;
  			object-fit: cover;
  		}
  
  		p {
  			position: absolute;
  			left: 85px;
  			top: 90px;
  
  			span {
  				background: #fff;
  				border-radius: 4px;
  				color: #231815;
  				display: inline-block;
  				font-size: 3rem;
  				font-weight: bold;
  				line-height: 1;
  				margin-bottom: 14px;
  				padding: 6px 0 7px 10px;
  			}
  
  			@include sp {
  				top: auto;
  				bottom: 10vw;
  				left: 3%;
  
  				span {
  					font-size: 6.7vw;
  				}
  			}
  
  			@include sp-landscape {
  				bottom: 4vw;
  				left: 5%;
  
  				span {
  					font-size: 3.1rem;
  				}
  			}
  		}
  	}
  
  	@include sp {
  		.sliderCover {
  			height: calc(100vh - 190px);
  		}
  
  		.sliderCover p,
  		.slide div.type01.fst p {
  			font-size: 5.9vw;
  			top: calc(50% - 5.4vw);
  		}
  	}
  }
  .slick-dots {
  	text-align: center;
  
  	li {
  		background: #898989;
  		border-radius: 100px;
  		color: transparent;
  		cursor: pointer;
  		display: inline-block;
  		font-size: 0;
  		height: 10px;
  		margin: 0 5px;
  		width: 10px;
  
  		&.slick-active {
  			background: #eb6153;
  		}
  
  		&:hover {
  			opacity: 0.6;
  		}
  	}*/
  /*▲旧スライダー用*/ }
  .mv .firstview {
    position: relative;
    border: 1px solid #eb6153;
    overflow: hidden; }
    .mv .firstview p,
    .mv .firstview a {
      font-weight: 700; }
    .mv .firstview a {
      display: block;
      cursor: pointer; }
    .mv .firstview img {
      height: 100%;
      width: 100%;
      object-fit: cover; }
    .mv .firstview_text {
      position: absolute; }
      .mv .firstview_text p {
        background: linear-gradient(to right, #fff 0, rgba(255, 255, 255, 0.28) 100%);
        color: #333;
        font-family: "Hannari", "Noto Serif JP", serif;
        line-height: 1.4; }
    .mv .firstview .comment,
    .mv .firstview .reserve-btn {
      position: absolute;
      display: flex;
      justify-content: center;
      align-items: center;
      color: #fff; }
    .mv .firstview .comment {
      background-color: #e96052; }
    .mv .firstview .reserve-btn {
      background-color: #2972b0; }
      .mv .firstview .reserve-btn::after {
        content: "▶";
        margin-left: 1.5em;
        font-size: 80%; }
  @media screen and (min-width: 768px) {
    .mv .firstview {
      container-type: inline-size;
      height: calc(100vh - 150px);
      border-radius: 50px; }
      .mv .firstview_text {
        bottom: 10cqh; }
        .mv .firstview_text p {
          padding-top: 1.5cqh;
          padding-bottom: 1.5cqh;
          padding-left: 4cqw;
          padding-right: 4cqw; }
      .mv .firstview_title {
        font-size: 4cqh;
        margin-bottom: 1cqh; }
        .mv .firstview_title span {
          font-size: 150%; }
      .mv .firstview_sub-title {
        font-size: 2.5cqh; }
        .mv .firstview_sub-title span {
          font-size: 200%; }
      .mv .firstview .comment {
        top: 2cqh;
        left: 4cqw;
        padding: 1cqh 1cqw;
        border-radius: 1cqh 0 1cqh 0;
        font-size: 3cqh; }
      .mv .firstview .reserve-btn {
        bottom: 5cqh;
        right: 5cqw;
        padding: 1cqh 3cqw;
        border-radius: 1cqh;
        font-size: 2cqh;
        transition: all ease-in 0.2s; }
        .mv .firstview .reserve-btn:hover {
          transform: translate(0.25cqw); } }
  @media screen and (max-width: 767px) {
    .mv .firstview {
      aspect-ratio: 345/430;
      border-radius: 8vw; }
      .mv .firstview_text {
        bottom: 14vw;
        width: 100%; }
        .mv .firstview_text p {
          padding: 2vw 3vw; }
      .mv .firstview_title {
        font-size: 6.5vw;
        margin-bottom: 2vw; }
        .mv .firstview_title span {
          font-size: 120%; }
      .mv .firstview_sub-title {
        font-size: 3.5vw; }
        .mv .firstview_sub-title span {
          font-size: 150%; }
      .mv .firstview .comment {
        top: 3vw;
        left: 3vw;
        padding: 2vw 4vw;
        border-radius: 2.5vw 0 2.5vw 0;
        font-size: 4vw; }
      .mv .firstview .reserve-btn {
        bottom: 2vw;
        left: 50%;
        width: 50%;
        padding: 2vw 3vw;
        border-radius: 2.5vw;
        font-size: 4vw;
        transform: translateX(-50%); } }

.sdTxt {
  top: calc(50% - 85px); }

/* ------------------------------
	診療時間（SPのみ）
------------------------------ */
@media screen and (max-width: 767px) {
  .openingHour {
    border: none;
    padding: 0 3%;
    margin-top: 30px; }
    .openingHour .hourHead {
      padding: 20px 3% 20px 0;
      min-width: 30px;
      writing-mode: vertical-rl; }
      .openingHour .hourHead .headline span {
        font-size: 3.5vw;
        padding-top: 5vw; }
        .openingHour .hourHead .headline span:before {
          height: 4vw;
          width: 4vw; }
    .openingHour .hourBody {
      padding: 0 3% 0 3%;
      flex: 1; }
      .openingHour .hourBody table th,
      .openingHour .hourBody table td {
        padding: 3px 0; }
      .openingHour .hourBody table th {
        font-size: 3.5vw; }
        .openingHour .hourBody table th:first-of-type {
          width: 27.118vw; }
        .openingHour .hourBody table th.openingHour__th2--type02 {
          padding-left: 3.78vw; }
      .openingHour .hourBody table td {
        width: 26.727vw; }
        .openingHour .hourBody table td img {
          width: 3vw; }
    .openingHour .note {
      padding-top: 5px; }
      .openingHour .note p {
        font-size: 3vw; }
    .openingHour .flex {
      display: flex;
      flex-wrap: nowrap; }
    .openingHour .holiday {
      flex: 1;
      margin: 8px 0 0 2vw;
      min-width: auto; }
      .openingHour .holiday p {
        font-size: 3vw;
        padding: 4px; } }

/* ------------------------------
	お知らせ
------------------------------ */
.news {
  padding: 70px 0; }
  .news .inner {
    max-width: 900px; }
  .news .corona {
    background: url("../images/bg_stripe.png");
    border-radius: 10px;
    padding: 30px; }
    .news .corona .headline {
      font-size: 2.2rem;
      font-weight: bold;
      letter-spacing: 1px;
      margin-bottom: 5px;
      text-align: center; }
    .news .corona p {
      font-size: 1.5rem;
      line-height: 1.8;
      margin-bottom: 20px;
      text-align: center; }
    @media screen and (max-width: 767px) {
      .news .corona {
        background: url("../images/bg_stripe_sp.png");
        padding: 30px 3%; }
        .news .corona .headline {
          font-size: 4.5vw;
          margin-bottom: 10px; }
        .news .corona p {
          font-size: 4vw; } }
  .news .btnblk {
    font-size: 0;
    text-align: center; }
    .news .btnblk li {
      display: inline-block;
      width: 200px;
      margin-right: 20px; }
      .news .btnblk li:last-child {
        margin-right: 0; }
      .news .btnblk li .btn {
        width: 100%; }
      @media screen and (max-width: 767px) {
        .news .btnblk li {
          width: calc((100% - 20px) / 2); }
          .news .btnblk li .btn {
            font-size: 2.5vw; } }
      @media screen and (max-width: 480px) {
        .news .btnblk li {
          display: block;
          width: 100%;
          margin-right: 0;
          margin-bottom: 20px; }
          .news .btnblk li .btn {
            font-size: 3.3vw; } }

/* ------------------------------
	newsList
------------------------------ */
.newsList {
  flex-wrap: initial; }
  .newsList li:nth-child(4) {
    margin-right: 0;
    border-right: none; }
  .newsList li a {
    display: block;
    margin: 0 38px;
    width: 167px; }
  .newsList li:nth-child(1) a {
    margin-left: 0; }
  .newsList li:nth-child(4) a {
    margin-right: 0; }
  @media screen and (max-width: 767px) {
    .newsList li {
      width: 100%;
      border-right: none; }
      .newsList li:not(:last-child) {
        padding-bottom: 30px;
        border-bottom: 1px solid #ddd; }
      .newsList li a {
        margin: 0;
        width: 100%; }
      .newsList li:nth-child(odd) a {
        margin-left: 0;
        padding: 0 10% 0 0;
        border: none; }
      .newsList li:nth-child(even) a {
        padding: 0; } }

/* ------------------------------
	about
------------------------------ */
.about {
  position: relative;
  z-index: 0; }
  .about .box {
    background: #fff;
    border-radius: 20px;
    margin: 0 auto;
    max-width: 405px;
    padding: 43px 20px;
    position: absolute;
    left: 0;
    right: 0;
    top: 90px;
    width: 94%;
    z-index: 1; }
    .about .box .secTtl {
      margin-bottom: 18px; }
    .about .box p {
      font-size: 1.5rem;
      line-height: 1.9;
      margin-bottom: 20px;
      text-align: center; }
    @media screen and (max-width: 767px) {
      .about .box {
        border-radius: 12px;
        padding: 53px 20px;
        top: 80px; }
        .about .box p {
          font-size: 4vw; } }
    @media screen and (orientation: landscape) and (max-width: 767px) {
      .about .box {
        top: 7vw; }
        .about .box p {
          font-size: 1.9rem; } }
  .about .photoSlide {
    z-index: 0; }
    .about .photoSlide div {
      height: 489px; }
      .about .photoSlide div img {
        height: 100%;
        object-fit: cover; }
      @media screen and (max-width: 767px) {
        .about .photoSlide div {
          height: 460px; } }

/* ------------------------------
	symptoms
------------------------------ */
.symptoms {
  padding: 80px 0; }
  .symptoms .inner {
    max-width: 1000px; }
  .symptoms .secTtl {
    margin-bottom: 40px; }
  .symptoms .circleIconList {
    margin-bottom: 20px; }
  @media screen and (max-width: 767px) {
    .symptoms {
      padding: 44vw 0 60px; } }
  @media screen and (max-width: 480px) {
    .symptoms {
      padding: 18vw 0 60px; } }

@media screen and (max-width: 767px) {
  .circleIconList li {
    margin: 0 2.5% 15px;
    width: 28%; } }

/* ------------------------------
	services
------------------------------ */
.services1 {
  background: linear-gradient(to bottom, #e9f1f7 0%, #c9ddf1 100%);
  padding: 80px 0;
  border-radius: 100px 0 100px 0; }
  .services1 .secTtl {
    margin-bottom: 25px; }
  .services1 .lead {
    font-size: 1.5rem;
    line-height: 1.8;
    margin-bottom: 70px;
    text-align: center; }
  @media screen and (max-width: 767px) {
    .services1 {
      border-radius: 0;
      padding: 70px 0 100px; }
      .services1 .lead {
        font-size: 4vw;
        margin-bottom: 50px; } }
  .services1 .serviceUnit {
    position: relative;
    /*Service01, Service02*/
    /*Service03*/
    /* 2023/12/19 追加 ↓ */
    /* 2023/12/19 追加 ↑ */
    /*Service04*/
    /*Service05*/
    /*Service06*/
    /*Service07*/ }
    .services1 .serviceUnit .img {
      position: absolute;
      top: 0;
      height: 100%;
      width: 50%;
      overflow: hidden; }
      .services1 .serviceUnit .img img {
        height: 100%;
        width: 100%;
        object-fit: cover; }
    .services1 .serviceUnit .txt {
      padding: 15px 0;
      width: 42%; }
    .services1 .serviceUnit .item .head {
      display: flex;
      margin-bottom: 15px; }
      .services1 .serviceUnit .item .head .num {
        border-right: 1px solid #595757;
        font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
        font-size: 4.2rem;
        font-weight: bold;
        line-height: 1.1;
        min-height: 50px;
        padding-right: 25px; }
        .services1 .serviceUnit .item .head .num span {
          display: block;
          font-size: 1.4rem;
          text-align: center; }
      .services1 .serviceUnit .item .head .name {
        align-items: center;
        color: #2972b0;
        font-size: 2.7rem;
        display: flex;
        flex-wrap: wrap;
        letter-spacing: 1px;
        padding: 0 22px; }
        .services1 .serviceUnit .item .head .name .name__sml {
          font-size: 2.2rem;
          display: block;
          width: auto;
          margin: 0 auto 0 40px; }
        .services1 .serviceUnit .item .head .name .ico {
          margin-right: 12px;
          width: 45px; }
    .services1 .serviceUnit .item .body p {
      font-size: 1.4rem;
      line-height: 2;
      margin-bottom: 20px; }
    .services1 .serviceUnit .item .body .btn {
      margin-left: 0; }
    .services1 .serviceUnit .item .box {
      background: #fff;
      border: 1px solid #2972b0;
      border-bottom: 6px solid #2972b0;
      border-radius: 12px;
      overflow: hidden; }
      .services1 .serviceUnit .item .box .heading {
        background: #2972b0;
        color: #fff;
        font-size: 1.9rem;
        padding: 7px 10px 9px;
        position: relative;
        text-align: center; }
        .services1 .serviceUnit .item .box .heading:before, .services1 .serviceUnit .item .box .heading:after {
          background: #fff;
          border-radius: 10px;
          content: "";
          /*display: block;*/
          display: none;
          position: absolute;
          height: 8px;
          width: 8px;
          top: calc(50% - 4px); }
        .services1 .serviceUnit .item .box .heading:before {
          left: 15px; }
        .services1 .serviceUnit .item .box .heading:after {
          right: 15px; }
      .services1 .serviceUnit .item .box .detail {
        padding: 20px 25px 22px 25px; }
        .services1 .serviceUnit .item .box .detail p {
          font-size: 1.4rem;
          line-height: 1.8;
          margin-bottom: 20px; }
        .services1 .serviceUnit .item .box .detail .btnWrap .btn:nth-child(1) {
          letter-spacing: -0.3px;
          padding: 8px 20px 8px 6px;
          width: 182px; }
        .services1 .serviceUnit .item .box .detail .btnWrap .btn:nth-child(2) {
          width: 155px; }
    .services1 .serviceUnit .item + .item {
      margin-top: 50px; }
    .services1 .serviceUnit:not(:first-of-type) {
      margin-top: 65px; }
    .services1 .serviceUnit.for0102 .img {
      left: 0;
      border-radius: 0 36px 36px 0; }
    .services1 .serviceUnit.for0102 .txt {
      margin: 0 0 0 auto; }
    .services1 .serviceUnit.for03 .img {
      right: 0;
      border-radius: 36px 0 0 36px; }
    .services1 .serviceUnit.for03 .txt {
      margin: 0 auto 0 0; }
      .services1 .serviceUnit.for03 .txt .head .ico {
        width: 63px; }
    .services1 .serviceUnit.for03 .item + .item {
      margin-top: 35px; }
    .services1 .serviceUnit .item .box {
      border: 1px solid #0098cf;
      border-bottom: 6px solid #0098cf; }
      .services1 .serviceUnit .item .box .achievements__heading {
        font-weight: bold;
        position: relative;
        background: #0098cf; }
        .services1 .serviceUnit .item .box .achievements__heading:before {
          display: block; }
        .services1 .serviceUnit .item .box .achievements__heading:after {
          display: block; }
      .services1 .serviceUnit .item .box .detail .achievements-text {
        font-size: 1.5rem;
        font-weight: 500;
        margin-bottom: 0; }
      .services1 .serviceUnit .item .box .detail .achievements-text__weight {
        font-size: 1.7rem;
        font-weight: 900;
        margin-bottom: 0; }
    .services1 .serviceUnit .achievements__item {
      margin-bottom: 28px; }
    .services1 .serviceUnit .heading__sml {
      font-size: 1.4rem;
      font-weight: bold; }
    .services1 .serviceUnit .achievements__flex {
      width: 280px;
      margin: 0 auto;
      align-items: center;
      justify-content: space-between; }
    .services1 .serviceUnit.for04 .inner {
      display: flex;
      align-items: stretch; }
    .services1 .serviceUnit.for04 .img {
      border-radius: 36px;
      position: static;
      width: 53%; }
    .services1 .serviceUnit.for04 .txt {
      margin: 0 0 0 auto;
      padding: 30px 0; }
      .services1 .serviceUnit.for04 .txt .head .ico {
        width: 42px; }
    .services1 .serviceUnit.for05 .inner {
      display: flex;
      align-items: stretch; }
    .services1 .serviceUnit.for05 .img {
      border-radius: 36px;
      position: static;
      width: 53%; }
    .services1 .serviceUnit.for05 .txt {
      margin: 0 auto 0 0;
      padding: 30px 0; }
      .services1 .serviceUnit.for05 .txt .head .ico {
        width: 39px; }
    .services1 .serviceUnit.for06 .inner {
      display: flex;
      align-items: stretch; }
    .services1 .serviceUnit.for06 .img {
      border-radius: 36px;
      position: static;
      width: 53%; }
    .services1 .serviceUnit.for06 .txt {
      margin: 0 0 0 auto;
      padding: 30px 0; }
      .services1 .serviceUnit.for06 .txt .head .ico {
        width: 46px; }
    .services1 .serviceUnit.for07 .inner {
      display: flex;
      align-items: stretch; }
    .services1 .serviceUnit.for07 .img {
      border-radius: 36px;
      position: static;
      width: 53%; }
    .services1 .serviceUnit.for07 .txt {
      margin: 0 auto 0 0;
      padding: 30px 0; }
      .services1 .serviceUnit.for07 .txt .head .ico {
        width: 50px; }
        .services1 .serviceUnit.for07 .txt .head .ico.flora {
          width: 57px; }
    .services1 .serviceUnit .img.imgsp {
      display: none; }
    @media screen and (max-width: 767px) {
      .services1 .serviceUnit {
        /* 2023/12/19 追加 ↓ */
        /* 2023/12/19 追加 ↑ */ }
        .services1 .serviceUnit + .serviceUnit {
          margin-top: 30px; }
        .services1 .serviceUnit .img {
          position: static;
          width: 100%; }
          .services1 .serviceUnit .img.imgpc {
            display: none; }
          .services1 .serviceUnit .img.imgsp {
            display: block;
            margin-bottom: 30px; }
        .services1 .serviceUnit .txt {
          width: 100%;
          margin: 0 auto; }
        .services1 .serviceUnit .item .head .num {
          font-size: 11.5vw;
          padding-right: 5%; }
          .services1 .serviceUnit .item .head .num span {
            font-size: 3.5vw; }
        .services1 .serviceUnit .item .head .name {
          font-size: 6vw;
          padding: 0 5%; }
          .services1 .serviceUnit .item .head .name .name__sml {
            font-size: 4.5vw;
            margin: 0 auto 0 46px; }
        .services1 .serviceUnit .item .body p {
          font-size: 4vw;
          line-height: 1.8; }
        .services1 .serviceUnit .item .body .btn {
          margin-left: auto; }
        .services1 .serviceUnit .item .box .heading {
          font-size: 4.5vw; }
        .services1 .serviceUnit .item .box .detail p {
          font-size: 4vw; }
        .services1 .serviceUnit .item .box .detail .btnWrap .btn {
          padding-top: 4px !important;
          padding-bottom: 4px !important; }
          .services1 .serviceUnit .item .box .detail .btnWrap .btn:nth-child(1) {
            margin-bottom: 10px;
            width: 61vw; }
            .services1 .serviceUnit .item .box .detail .btnWrap .btn:nth-child(1) br {
              display: none; }
          .services1 .serviceUnit .item .box .detail .btnWrap .btn:nth-child(2) {
            width: 33vw; }
        .services1 .serviceUnit.for0102 .txt {
          margin-top: 30px; }
        .services1 .serviceUnit.for04 .inner, .services1 .serviceUnit.for05 .inner, .services1 .serviceUnit.for06 .inner, .services1 .serviceUnit.for07 .inner {
          display: block; }
        .services1 .serviceUnit.for04 .img, .services1 .serviceUnit.for05 .img, .services1 .serviceUnit.for06 .img, .services1 .serviceUnit.for07 .img {
          width: 100%; }
        .services1 .serviceUnit .heading__sml {
          font-size: 3.2vw; }
        .services1 .serviceUnit .achievements__flex {
          width: 73.189vw;
          display: flex; }
        .services1 .serviceUnit .item .box .detail .achievements-text,
        .services1 .serviceUnit .item .box .detail .achievements-text__weight {
          font-size: 4vw; } }

.services {
  background: linear-gradient(to bottom, #e9f1f7 0%, #c9ddf1 100%);
  padding: 80px 0;
  border-radius: 100px 0 100px 0; }
  .services .secTtl {
    margin-bottom: 25px; }
  .services .lead {
    font-size: 1.5rem;
    line-height: 1.8;
    margin-bottom: 70px;
    text-align: center; }
  @media screen and (max-width: 767px) {
    .services {
      border-radius: 0;
      padding: 70px 0 100px; }
      .services .lead {
        font-size: 4vw;
        margin-bottom: 50px; } }
  .services .serviceUnit {
    position: relative;
    /* Service01, Service02 */
    /* Service03 */
    /* 実績系 */
    /* 共通レイアウト: for04〜for07 + sas */ }
    @media screen and (min-width: 768px) {
      .services .serviceUnit .inner {
        display: flex;
        justify-content: space-between; } }
    .services .serviceUnit .img {
      position: absolute;
      top: 0;
      height: 100%;
      width: 50%;
      overflow: hidden; }
      .services .serviceUnit .img img {
        width: 100%;
        height: 100%;
        object-fit: cover; }
      .services .serviceUnit .img.imgsp {
        display: none; }
    .services .serviceUnit .txt {
      width: 42%;
      padding: 15px 0;
      margin: unset !important; }
    .services .serviceUnit .item .head {
      display: flex;
      margin-bottom: 15px; }
      .services .serviceUnit .item .head .num {
        min-height: 50px;
        padding-right: 25px;
        border-right: 1px solid #595757;
        font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
        font-size: 4.2rem;
        font-weight: bold;
        line-height: 1.1; }
        .services .serviceUnit .item .head .num span {
          display: block;
          font-size: 1.4rem;
          text-align: center; }
      .services .serviceUnit .item .head .name {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        padding: 0 22px;
        color: #2972b0;
        font-size: 2.7rem;
        letter-spacing: 1px; }
        .services .serviceUnit .item .head .name .name__sml {
          display: block;
          width: auto;
          margin: 0 auto 0 40px;
          font-size: 2.2rem; }
        .services .serviceUnit .item .head .name .ico {
          width: 45px;
          margin-right: 12px; }
    .services .serviceUnit .item .body p {
      margin-bottom: 20px;
      font-size: 1.4rem;
      line-height: 2; }
    .services .serviceUnit .item .body .btn {
      margin-left: 0; }
    .services .serviceUnit .item .box {
      background: #fff;
      border: 1px solid #2972b0;
      border-bottom: 6px solid #2972b0;
      border-radius: 12px;
      overflow: hidden; }
      .services .serviceUnit .item .box .heading {
        position: relative;
        padding: 7px 10px 9px;
        background: #2972b0;
        color: #fff;
        font-size: 1.9rem;
        text-align: center; }
        .services .serviceUnit .item .box .heading::before, .services .serviceUnit .item .box .heading::after {
          content: "";
          position: absolute;
          top: calc(50% - 4px);
          display: none;
          width: 8px;
          height: 8px;
          background: #fff;
          border-radius: 10px; }
        .services .serviceUnit .item .box .heading::before {
          left: 15px; }
        .services .serviceUnit .item .box .heading::after {
          right: 15px; }
      .services .serviceUnit .item .box .detail {
        padding: 20px 25px 22px 25px; }
        .services .serviceUnit .item .box .detail p {
          margin-bottom: 20px;
          font-size: 1.4rem;
          line-height: 1.8; }
        .services .serviceUnit .item .box .detail .btnWrap .btn:nth-child(1) {
          width: 182px;
          padding: 8px 20px 8px 6px;
          letter-spacing: -0.3px; }
        .services .serviceUnit .item .box .detail .btnWrap .btn:nth-child(2) {
          width: 155px; }
    .services .serviceUnit .item + .item {
      margin-top: 50px; }
    .services .serviceUnit:not(:first-of-type) {
      margin-top: 65px; }
    .services .serviceUnit.for0102 .inner {
      flex-direction: row-reverse; }
    .services .serviceUnit.for0102 .img {
      left: 0;
      border-radius: 0 36px 36px 0; }
    .services .serviceUnit.for0102 .txt {
      margin: 0 0 0 auto; }
    .services .serviceUnit.for03 .img {
      right: 0;
      border-radius: 36px 0 0 36px; }
    .services .serviceUnit.for03 .txt {
      margin: 0 auto 0 0; }
      .services .serviceUnit.for03 .txt .head .ico {
        width: 63px; }
    .services .serviceUnit.for03 .item + .item {
      margin-top: 35px; }
    .services .serviceUnit .item .box {
      border: 1px solid #0098cf;
      border-bottom: 6px solid #0098cf; }
      .services .serviceUnit .item .box .achievements__heading {
        position: relative;
        background: #0098cf;
        font-weight: bold; }
        .services .serviceUnit .item .box .achievements__heading::before, .services .serviceUnit .item .box .achievements__heading::after {
          display: block; }
      .services .serviceUnit .item .box .detail .achievements-text {
        margin-bottom: 0;
        font-size: 1.5rem;
        font-weight: 500; }
      .services .serviceUnit .item .box .detail .achievements-text__weight {
        margin-bottom: 0;
        font-size: 1.7rem;
        font-weight: 900; }
    .services .serviceUnit .achievements__item {
      margin-bottom: 28px; }
    .services .serviceUnit .heading__sml {
      font-size: 1.4rem;
      font-weight: bold; }
    .services .serviceUnit .achievements__flex {
      display: flex;
      align-items: center;
      justify-content: space-between;
      width: 280px;
      margin: 0 auto; }
    .services .serviceUnit.for04 .inner, .services .serviceUnit.for05 .inner, .services .serviceUnit.for06 .inner, .services .serviceUnit.for07 .inner, .services .serviceUnit.sas .inner {
      display: flex;
      align-items: stretch;
      justify-content: space-between; }
    .services .serviceUnit.for04 .img, .services .serviceUnit.for05 .img, .services .serviceUnit.for06 .img, .services .serviceUnit.for07 .img, .services .serviceUnit.sas .img {
      position: static;
      width: 53%;
      border-radius: 36px;
      aspect-ratio: 520 / 255; }
    .services .serviceUnit.for04 .txt, .services .serviceUnit.for05 .txt, .services .serviceUnit.for06 .txt, .services .serviceUnit.for07 .txt, .services .serviceUnit.sas .txt {
      padding: 30px 0; }
    .services .serviceUnit.for04 .head .ico, .services .serviceUnit.for05 .head .ico, .services .serviceUnit.for06 .head .ico, .services .serviceUnit.for07 .head .ico, .services .serviceUnit.sas .head .ico {
      width: 50px; }
    .services .serviceUnit.for05 .inner, .services .serviceUnit.for06 .inner, .services .serviceUnit.for07 .inner {
      flex-direction: row-reverse; }
    .services .serviceUnit.for04 .head .ico {
      width: 42px; }
    .services .serviceUnit.for04 .txt {
      margin: 0 0 0 auto; }
    .services .serviceUnit.for05 .head .ico {
      width: 39px; }
    .services .serviceUnit.for05 .txt {
      margin: 0 auto 0 0; }
    .services .serviceUnit.for06 .head .ico {
      width: 46px; }
    .services .serviceUnit.for06 .txt {
      margin: 0 0 0 auto; }
    .services .serviceUnit.for07 .head .ico, .services .serviceUnit.sas .head .ico {
      width: 50px; }
      .services .serviceUnit.for07 .head .ico.flora, .services .serviceUnit.sas .head .ico.flora {
        width: 57px; }
    .services .serviceUnit.for07 .txt, .services .serviceUnit.sas .txt {
      margin: 0 auto 0 0; }
    @media screen and (max-width: 767px) {
      .services .serviceUnit + .serviceUnit {
        margin-top: 30px; }
      .services .serviceUnit .img {
        position: static;
        width: 100%; }
        .services .serviceUnit .img.imgpc {
          display: none; }
        .services .serviceUnit .img.imgsp {
          display: block;
          width: 100%;
          margin-bottom: 30px; }
      .services .serviceUnit .txt {
        width: 100%;
        margin: 0 auto; }
      .services .serviceUnit .item .head .num {
        padding-right: 5%;
        font-size: 11.5vw; }
        .services .serviceUnit .item .head .num span {
          font-size: 3.5vw; }
      .services .serviceUnit .item .head .name {
        padding: 0 5%;
        font-size: 6vw; }
        .services .serviceUnit .item .head .name .name__sml {
          margin: 0 auto 0 46px;
          font-size: 4.5vw; }
      .services .serviceUnit .item .body p {
        font-size: 4vw;
        line-height: 1.8; }
      .services .serviceUnit .item .body .btn {
        margin-left: auto; }
      .services .serviceUnit .item .box .heading {
        font-size: 4.5vw; }
      .services .serviceUnit .item .box .detail p {
        font-size: 4vw; }
      .services .serviceUnit .item .box .detail .btnWrap .btn {
        padding-top: 4px !important;
        padding-bottom: 4px !important; }
        .services .serviceUnit .item .box .detail .btnWrap .btn:nth-child(1) {
          width: 61vw;
          margin-bottom: 10px; }
          .services .serviceUnit .item .box .detail .btnWrap .btn:nth-child(1) br {
            display: none; }
        .services .serviceUnit .item .box .detail .btnWrap .btn:nth-child(2) {
          width: 33vw; }
      .services .serviceUnit.for0102 .txt {
        margin-top: 30px; }
      .services .serviceUnit.for04 .inner, .services .serviceUnit.for05 .inner, .services .serviceUnit.for06 .inner, .services .serviceUnit.for07 .inner, .services .serviceUnit.sas .inner {
        display: block; }
      .services .serviceUnit.for04 .img, .services .serviceUnit.for05 .img, .services .serviceUnit.for06 .img, .services .serviceUnit.for07 .img, .services .serviceUnit.sas .img {
        width: 100%; }
      .services .serviceUnit .heading__sml {
        font-size: 3.2vw; }
      .services .serviceUnit .achievements__flex {
        display: flex;
        width: 73.189vw; }
      .services .serviceUnit .item .box .detail .achievements-text,
      .services .serviceUnit .item .box .detail .achievements-text__weight {
        font-size: 4vw; } }
