@charset "UTF-8";
/* CSS Document */
#wrapper {
  overflow: hidden; }

section.title-img {
  background: url("../img/header-service.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover; }

#service {
  margin-bottom: 8rem; }
  @media screen and (max-width: 991px) {
    #service {
      margin-bottom: 6rem; } }
  @media screen and (max-width: 575px) {
    #service {
      margin-bottom: 4rem; } }
  #service .title {
    text-align: center; }
    #service .title h2 {
      position: relative;
      display: inline-block;
      margin: 7rem auto;
      padding-bottom: 4rem;
      font-size: 30px;
      font-size: 3rem;
      font-weight: 400;
      letter-spacing: 0.1em; }
      @media screen and (max-width: 767px) {
        #service .title h2 {
          padding-bottom: 3rem; } }
      @media screen and (max-width: 575px) {
        #service .title h2 {
          font-size: 26px;
          font-size: 2.6rem;
          padding-bottom: 2rem;
          margin: 5rem auto; } }
      #service .title h2::before {
        content: '';
        position: absolute;
        left: 50%;
        bottom: 0;
        /*線の上下位置*/
        display: inline-block;
        width: 135px;
        /*線の長さ*/
        height: 1px;
        /*線の太さ*/
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        /*位置調整*/
        background-color: rgba(0, 0, 0, 0.5);
        /*線の色*/ }
  #service .main-img {
    width: 100vw; }
    #service .main-img img {
      margin-bottom: 5rem;
      width: 100vw;
      margin-right: calc(50% - 50vw); }
  #service .main-img2 {
    margin-left: calc(50% - 50vw); }
    #service .main-img2 img {
      margin-bottom: 5rem; }
  #service h3 {
    display: inline-block;
    font-size: 30px;
    font-size: 3rem;
    font-weight: 500;
    border-bottom: solid 3px #ff9632;
    padding-bottom: 3px;
    margin-top: 0;
    margin-bottom: 30px; }
    @media screen and (max-width: 575px) {
      #service h3 {
        font-size: 26px;
        font-size: 2.6rem;
        margin-bottom: 2rem; } }
  #service h4 {
    background-color: #ff9632;
    border-radius: 150px;
    position: relative;
    margin-bottom: 15px;
    line-height: 80px;
    color: #fff;
    text-align: left;
    padding-left: 90px;
    font-size: 3rem;
    margin-top: 0; }
    @media screen and (max-width: 767px) {
      #service h4 {
        line-height: 65px;
        padding-left: 65px;
        font-size: 25px;
        font-size: 2.5rem; } }
    @media screen and (max-width: 575px) {
      #service h4 {
        line-height: 6rem;
        padding-left: 6rem;
        font-size: 20px;
        font-size: 2rem; } }
    #service h4::before {
      content: '';
      width: 60px;
      background-image: url(../img/mark.svg);
      background-repeat: no-repeat;
      position: absolute;
      left: 15px;
      top: 10px;
      bottom: 10px; }
      @media screen and (max-width: 767px) {
        #service h4::before {
          width: 50px;
          left: 10px;
          top: 8px; } }

.kaizen li {
  padding: 0 0.5rem 0.5rem; }
  .kaizen li p {
    font-size: 20px;
    font-size: 2rem;
    color: #ff8228;
    background-color: #fff4ea;
    border: 3px solid #ff9632;
    height: 100px;
    padding: 0 3rem;
    display: flex;
    align-items: center; }
    @media screen and (max-width: 767px) {
      .kaizen li p {
        height: 85px; } }
    @media screen and (max-width: 575px) {
      .kaizen li p {
        height: 75px;
        font-size: 18px;
        font-size: 1.8rem; } }

.headache {
  margin-bottom: 5rem; }
  @media screen and (max-width: 575px) {
    .headache {
      margin-bottom: 4rem; } }
  .headache li {
    font-size: 23px;
    font-size: 2.3rem;
    margin-bottom: 1.5rem;
    padding-left: 1.4em;
    text-indent: -1.3em;
    font-weight: 500; }
    @media screen and (max-width: 991px) {
      .headache li {
        font-size: 20px;
        font-size: 2rem;
        margin-bottom: 1rem; } }
    @media screen and (max-width: 575px) {
      .headache li {
        font-size: 16px;
        font-size: 1.6rem;
        margin-bottom: 0.5rem; } }
    .headache li::before {
      font-family: "Font Awesome 5 Free";
      content: "\f00c";
      padding-right: 5px;
      font-weight: 900;
      color: #ff9632; }
  .headache img {
    width: 85%; }
    @media screen and (max-width: 991px) {
      .headache img {
        width: 90%; } }
    @media screen and (max-width: 767px) {
      .headache img {
        width: 60%; } }
    @media screen and (max-width: 575px) {
      .headache img {
        width: 75%; } }
  .headache p {
    margin-top: 2rem;
    text-align: justify; }
    @media screen and (max-width: 575px) {
      .headache p {
        line-height: 1.7; } }

.kotsuban {
  margin-bottom: 5rem; }
  @media screen and (max-width: 575px) {
    .kotsuban {
      margin-bottom: 4rem; } }
  @media screen and (max-width: 575px) {
    .kotsuban h3 {
      display: block !important; } }
  .kotsuban li {
    font-size: 22px;
    font-size: 2.2rem;
    margin-bottom: 1.5rem;
    font-weight: 500; }
    @media screen and (max-width: 991px) {
      .kotsuban li {
        font-size: 20px;
        font-size: 2rem;
        margin-bottom: 1rem; } }
    @media screen and (max-width: 575px) {
      .kotsuban li {
        font-size: 16px;
        font-size: 1.6rem;
        margin-bottom: 0.5rem; } }
    .kotsuban li::before {
      font-family: "Font Awesome 5 Free";
      content: "\f00c";
      padding-right: 5px;
      font-weight: 900;
      color: #ff9632; }
  .kotsuban p {
    text-align: justify; }
  .kotsuban h4 {
    margin-top: 4rem !important;
    margin-bottom: 2rem !important; }
  .kotsuban .pelvis {
    margin-bottom: 3rem; }
    .kotsuban .pelvis img {
      width: 70%; }
      @media screen and (max-width: 1199px) {
        .kotsuban .pelvis img {
          width: 75%; } }
      @media screen and (max-width: 991px) {
        .kotsuban .pelvis img {
          width: 90%; } }
      @media screen and (max-width: 575px) {
        .kotsuban .pelvis img {
          width: 80%;
          margin-top: 1rem; } }
  .kotsuban .kids-space {
    align-items: center; }
    .kotsuban .kids-space h5 {
      display: inline-block;
      font-size: 35p;
      font-size: 3.5rem;
      color: #ff9632;
      border-bottom: solid 2px #ff9632;
      font-weight: 500; }
      @media screen and (max-width: 767px) {
        .kotsuban .kids-space h5 {
          margin-top: 2rem;
          font-size: 30px;
          font-size: 3rem; } }
      @media screen and (max-width: 575px) {
        .kotsuban .kids-space h5 {
          margin-top: 2rem;
          font-size: 26px;
          font-size: 2.6rem; } }
    .kotsuban .kids-space p {
      font-size: 20px;
      font-size: 2rem;
      font-weight: 500; }
      @media screen and (max-width: 767px) {
        .kotsuban .kids-space p {
          text-align: center;
          font-size: 18px;
          font-size: 1.8rem; } }
      @media screen and (max-width: 575px) {
        .kotsuban .kids-space p {
          text-align: center;
          font-size: 16px;
          font-size: 1.6rem; } }
    @media screen and (max-width: 767px) {
      .kotsuban .kids-space img {
        width: 80%; } }
    @media screen and (max-width: 575px) {
      .kotsuban .kids-space img {
        width: 100%; } }

.youtsuu {
  margin-bottom: 4rem; }
  @media screen and (max-width: 575px) {
    .youtsuu h3 {
      display: block !important; } }
  .youtsuu li {
    font-size: 22px;
    font-size: 2.2rem;
    margin-bottom: 1.5rem;
    font-weight: 500; }
    @media screen and (max-width: 991px) {
      .youtsuu li {
        font-size: 20px;
        font-size: 2rem;
        margin-bottom: 1rem; } }
    @media screen and (max-width: 575px) {
      .youtsuu li {
        font-size: 16px;
        font-size: 1.6rem;
        margin-bottom: 0.5rem; } }
    .youtsuu li::before {
      font-family: "Font Awesome 5 Free";
      content: "\f00c";
      padding-right: 5px;
      font-weight: 900;
      color: #ff9632; }

@media screen and (max-width: 767px) {
  #service h4.long {
    line-height: 1.3;
    padding: 10px 10px 10px 8.5rem; }
    #service h4.long::before {
      width: 55px;
      left: 10px;
      top: 10px; } }

.sport {
  margin-bottom: 5rem; }
  @media screen and (max-width: 575px) {
    .sport h3 {
      font-size: 24px !important;
      font-size: 2.4rem !important;
      display: block !important; } }
  .sport h5 {
    font-size: 25px;
    font-size: 2.5rem;
    font-weight: 500; }
    @media screen and (max-width: 575px) {
      .sport h5 {
        text-align: center;
        font-size: 21px;
        font-size: 2.1rem; } }
  .sport .distinction {
    margin-bottom: 4rem; }
    .sport .distinction ul {
      border: solid 14px;
      border-radius: 5px;
      margin: 1rem 0 3rem;
      padding: 1.5rem 1.5rem 0.5rem; }
      .sport .distinction ul li {
        font-size: 20px;
        font-size: 2rem;
        font-weight: 500;
        margin-bottom: 1rem; }
        @media screen and (max-width: 575px) {
          .sport .distinction ul li {
            font-size: 18px;
            font-size: 1.8rem;
            margin-bottom: 0.75rem; } }
        .sport .distinction ul li::before {
          font-family: "Font Awesome 5 Free";
          content: "\f054";
          font-weight: 900;
          padding-right: 5px; }
    .sport .distinction .color-p h5 {
      color: #ff7b80; }
    .sport .distinction .color-p ul {
      border: solid 14px #ffe5e6; }
      @media screen and (max-width: 767px) {
        .sport .distinction .color-p ul {
          border: solid 10px #ffe5e6; } }
      .sport .distinction .color-p ul li::before {
        color: #ff7b80; }
    .sport .distinction .color-b h5 {
      color: #0084e0; }
    .sport .distinction .color-b ul {
      border: solid 14px #d3ecf9; }
      @media screen and (max-width: 767px) {
        .sport .distinction .color-b ul {
          border: solid 10px #d3ecf9; } }
      .sport .distinction .color-b ul li::before {
        color: #0084e0; }
  .sport .treatment li {
    font-size: 22px;
    font-size: 2.2rem;
    margin-bottom: 1.5rem;
    font-weight: 500; }
    @media screen and (max-width: 991px) {
      .sport .treatment li {
        font-size: 20px;
        font-size: 2rem;
        margin-bottom: 1rem; } }
    @media screen and (max-width: 575px) {
      .sport .treatment li {
        font-size: 16px;
        font-size: 1.6rem;
        margin-bottom: 0.5rem; } }
    .sport .treatment li::before {
      font-family: "Font Awesome 5 Free";
      content: "\f00c";
      padding-right: 5px;
      font-weight: 900;
      color: #ff9632; }

.reduce ul li {
  font-size: 18px;
  font-size: 1.8rem;
  color: #ff9632;
  position: relative;
  margin-bottom: 1rem;
  padding-left: 2em; }
  .reduce ul li::before {
    content: '';
    background-image: url(../img/number-01.svg);
    background-repeat: no-repeat;
    width: 25px;
    height: 25px;
    position: absolute;
    left: 0;
    top: 2px; }
  .reduce ul li:nth-child(1)::before {
    background-image: url(../img/number-01.svg); }
  .reduce ul li:nth-child(2)::before {
    background-image: url(../img/number-02.svg); }
  .reduce ul li:nth-child(3)::before {
    background-image: url(../img/number-03.svg); }
