.root#index {
  letter-spacing: 0.04em; }
  .root#index .wrap {
    max-width: 1192px;
    margin: 0 auto; }
    @media only screen and (max-width: 767px) {
      .root#index .wrap {
        max-width: 650px;
        margin: 0 5%; } }
    .root#index .wrap .box {
      display: flex;
      justify-content: center;
      font-size: 20px;
      font-size: 2rem;
      text-align: center;
      margin-bottom: 110px; }
      @media only screen and (max-width: 767px) {
        .root#index .wrap .box {
          margin-bottom: 45px; } }
      .root#index .wrap .box__center__text {
        line-height: 2.95;
        font-size: 20px;
        font-size: 2rem; }
        @media only screen and (max-width: 767px) {
          .root#index .wrap .box__center__text {
            line-height: 2.46;
            font-size: 14px;
            font-size: 1.4rem; } }
    .root#index .wrap .menus__eachMenu {
      margin-bottom: 100px; }
      @media only screen and (max-width: 767px) {
        .root#index .wrap .menus__eachMenu {
          margin-bottom: 50px; } }
      .root#index .wrap .menus__eachMenu:last-child {
        margin-bottom: 0; }
      .root#index .wrap .menus__eachMenu__fig {
        position: relative;
        width: 676px; }
        @media only screen and (max-width: 767px) {
          .root#index .wrap .menus__eachMenu__fig {
            width: 100%;
            margin-bottom: 20px; } }
        .root#index .wrap .menus__eachMenu__fig:after {
          content: "";
          width: 1px;
          height: 183px;
          background: #B5B5B5;
          position: absolute;
          top: -15px;
          transform: rotate(40deg); }
          @media only screen and (max-width: 767px) {
            .root#index .wrap .menus__eachMenu__fig:after {
              display: none; } }
      .root#index .wrap .menus__eachMenu__texts {
        width: 434px; }
        @media only screen and (max-width: 767px) {
          .root#index .wrap .menus__eachMenu__texts {
            width: 100%; } }
        .root#index .wrap .menus__eachMenu__texts__title {
          font-size: 24px;
          font-size: 2.4rem;
          font-weight: inherit;
          margin-bottom: 50px; }
          @media only screen and (max-width: 767px) {
            .root#index .wrap .menus__eachMenu__texts__title {
              margin-bottom: 20px;
              font-size: 17px;
              font-size: 1.7rem; } }
        .root#index .wrap .menus__eachMenu__texts__explain {
          font-size: 16px;
          font-size: 1.6rem;
          line-height: 2;
          margin-bottom: 20px; }
          @media only screen and (max-width: 767px) {
            .root#index .wrap .menus__eachMenu__texts__explain {
              font-size: 13px;
              font-size: 1.3rem; } }
        .root#index .wrap .menus__eachMenu__texts__subMenuList__item {
          margin-top: 10px; }
          .root#index .wrap .menus__eachMenu__texts__subMenuList__item:first-child {
            margin-top: 0; }
          .root#index .wrap .menus__eachMenu__texts__subMenuList__item__anchor {
            position: relative;
            font-size: 18px;
            font-size: 1.8rem;
            color: #000;
            background-image: url(../../images/root/arrow_right.svg);
            background-size: 20px auto;
            background-position: right center;
            background-repeat: no-repeat;
            padding-right: 20px;
            display: inline-block;
            padding-right: 40px; }
            @media only screen and (max-width: 767px) {
              .root#index .wrap .menus__eachMenu__texts__subMenuList__item__anchor {
                font-size: 14px;
                font-size: 1.4rem; } }
            .root#index .wrap .menus__eachMenu__texts__subMenuList__item__anchor > span {
              font-size: 14px;
              font-size: 1.4rem; }
              @media only screen and (max-width: 767px) {
                .root#index .wrap .menus__eachMenu__texts__subMenuList__item__anchor > span {
                  font-size: 12px;
                  font-size: 1.2rem; } }
            .root#index .wrap .menus__eachMenu__texts__subMenuList__item__anchor:hover {
              color: #0D9A93; }
        .root#index .wrap .menus__eachMenu__texts__btn {
          margin-top: 40px; }
          @media only screen and (max-width: 767px) {
            .root#index .wrap .menus__eachMenu__texts__btn {
              margin-top: 20px; } }
          .root#index .wrap .menus__eachMenu__texts__btn__anchor {
            display: block;
            color: #0D9A93;
            font-size: 20px;
            font-size: 2rem;
            text-align: center;
            border: 1px solid #0D9A93;
            vertical-align: middle;
            color: #0D9A93;
            padding: 10px;
            background-image: url(../../images/common/obj_btnArrow-g.svg);
            background-repeat: no-repeat;
            background-position: right 20px center;
            background-size: 44px auto; }
            @media only screen and (max-width: 767px) {
              .root#index .wrap .menus__eachMenu__texts__btn__anchor {
                font-size: 15px;
                font-size: 1.5rem;
                background-position: right 10px center;
                background-size: 32px auto; } }
            .root#index .wrap .menus__eachMenu__texts__btn__anchor:hover {
              width: 100%;
              background: #0D9A93;
              color: #fff; }
      .root#index .wrap .menus__eachMenu[data-layout="a"] .menus__eachMenu__fig {
        float: left; }
        .root#index .wrap .menus__eachMenu[data-layout="a"] .menus__eachMenu__fig:after {
          right: -10px; }
      .root#index .wrap .menus__eachMenu[data-layout="a"] .menus__eachMenu__texts {
        float: right; }
      .root#index .wrap .menus__eachMenu[data-layout="b"] .menus__eachMenu__fig {
        float: right; }
        .root#index .wrap .menus__eachMenu[data-layout="b"] .menus__eachMenu__fig:after {
          left: -10px; }
      .root#index .wrap .menus__eachMenu[data-layout="b"] .menus__eachMenu__texts {
        float: left; }
  .root#index .company {
    background-image: url("../../images/root/company_bg.png");
    background-size: 100% 100%;
    padding: 170px 0 110px; }
    @media only screen and (max-width: 767px) {
      .root#index .company {
        padding: 85px 0 55px; } }
    .root#index .company__center {
      max-width: 1053px;
      margin: 0 auto; }
      @media only screen and (max-width: 767px) {
        .root#index .company__center {
          max-width: 650px;
          margin: 0 5%; } }
      .root#index .company__center__hl {
        position: relative;
        display: flex;
        align-items: center;
        font-size: 42px;
        font-size: 4.2rem;
        font-weight: inherit;
        margin-bottom: 40px; }
        @media only screen and (max-width: 767px) {
          .root#index .company__center__hl {
            font-size: 25px;
            font-size: 2.5rem;
            margin-bottom: 20px; } }
        .root#index .company__center__hl::after {
          content: "";
          width: 70px;
          height: 1px;
          background: #000;
          position: absolute;
          top: 50%;
          left: 194px;
          transform: translateY(-50%); }
          @media only screen and (max-width: 767px) {
            .root#index .company__center__hl::after {
              width: 50px;
              left: 120px; } }
      .root#index .company__center__list {
        display: flex;
        flex-direction: column; }
        .root#index .company__center__list__item {
          position: relative;
          display: flex;
          border: 1px solid #B6CCCB;
          font-size: 16px;
          font-size: 1.6rem;
          width: 100%;
          padding: 15.5px 0 15.5px 25px;
          margin-bottom: 11px; }
          @media only screen and (max-width: 767px) {
            .root#index .company__center__list__item {
              font-size: 13px;
              font-size: 1.3rem; } }
          .root#index .company__center__list__item:before {
            content: "";
            display: block;
            position: absolute;
            top: 50%;
            left: 0;
            width: 4px;
            height: 80%;
            background-color: #0D9A93;
            transform: translateY(-50%); }
          .root#index .company__center__list__item > p:first-child {
            width: 120px; }
            @media only screen and (max-width: 767px) {
              .root#index .company__center__list__item > p:first-child {
                width: 90px; } }
