@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap");
#regenerative-medicine {
  font-size: 62.5%; }
  @media (min-width: 769px) {
    #regenerative-medicine {
      padding-bottom: 50px; } }
  #regenerative-medicine .inner {
    max-width: 940px;
    margin: 0 auto;
    line-height: 1.7; }
    @media (max-width: 940px) {
      #regenerative-medicine .inner {
        width: 92vw; } }
  #regenerative-medicine .rm_main_ttl {
    position: relative;
    text-align: center;
    font-size: 2.6rem;
    font-weight: bold;
    color: #005CAB;
    z-index: 1;
    margin-bottom: 1.5em; }
    @media (max-width: 940px) {
      #regenerative-medicine .rm_main_ttl {
        font-size: 2.7659574468vw; } }
    @media (max-width: 768px) {
      #regenerative-medicine .rm_main_ttl {
        font-size: 5.3333333333vw; } }
  #regenerative-medicine .marker {
    background: linear-gradient(transparent 92%, #E50213 0%);
    display: inline;
    padding: 0 2px 4px; }
  #regenerative-medicine .sub {
    font-size: 1.8rem; }
    @media (max-width: 940px) {
      #regenerative-medicine .sub {
        font-size: 1.914893617vw; } }
    @media (max-width: 768px) {
      #regenerative-medicine .sub {
        font-size: 4.2666666667vw; } }
  #regenerative-medicine .l-small {
    font-size: 1.2rem; }
    @media (max-width: 940px) {
      #regenerative-medicine .l-small {
        font-size: 1.2765957447vw; } }
    @media (max-width: 768px) {
      #regenerative-medicine .l-small {
        font-size: 2.6666666667vw; } }
  #regenerative-medicine .bk_blue {
    background: #E9EFF7; }
  @media (min-width: 769px) {
    #regenerative-medicine .l-pc {
      display: block; } }
  @media (max-width: 768px) {
    #regenerative-medicine .l-pc {
      display: none; } }
  @media (min-width: 769px) {
    #regenerative-medicine .l-sp {
      display: none; } }
  @media (max-width: 768px) {
    #regenerative-medicine .l-sp {
      display: block; } }
  #regenerative-medicine p {
    font-size: 1.6rem; }
    @media (max-width: 940px) {
      #regenerative-medicine p {
        font-size: 1.7021276596vw; } }
    @media (max-width: 768px) {
      #regenerative-medicine p {
        font-size: 3.7333333333vw; } }
  #regenerative-medicine .font18 {
    font-size: 1.8rem; }
    @media (max-width: 940px) {
      #regenerative-medicine .font18 {
        font-size: 1.914893617vw; } }
    @media (max-width: 768px) {
      #regenerative-medicine .font18 {
        font-size: 3.7333333333vw; } }
  #regenerative-medicine .red {
    color: #E50213; }
  #regenerative-medicine .beginning_txt {
    margin-top: 75px;
    margin-bottom: 75px; }
    @media (max-width: 940px) {
      #regenerative-medicine .beginning_txt {
        margin-top: 7.9787234043vw;
        margin-bottom: 7.9787234043vw; } }
    #regenerative-medicine .beginning_txt .beginning_txt_strong {
      margin-bottom: 7px; }
  #regenerative-medicine .rm_btn {
    text-align: center;
    margin: 58px auto; }
    #regenerative-medicine .rm_btn .rm_btn_contact {
      position: relative;
      display: block;
      background: #005CAB;
      color: #fff;
      font-weight: bold;
      display: flex;
      align-items: center;
      justify-content: center;
      width: 470px;
      height: 72px;
      margin: 0 auto 0.5em;
      font-size: 2.3rem; }
      @media (max-width: 940px) {
        #regenerative-medicine .rm_btn .rm_btn_contact {
          font-size: 2.4468085106vw;
          width: 50vw;
          height: 7.6595744681vw; } }
      @media (max-width: 768px) {
        #regenerative-medicine .rm_btn .rm_btn_contact {
          font-size: 4.2666666667vw;
          width: 80%;
          height: 16vw; } }
      #regenerative-medicine .rm_btn .rm_btn_contact::after {
        position: absolute;
        top: 50%;
        right: 1.5em;
        width: 0.7em;
        height: 0.7em;
        transform: translateY(-50%) rotate(45deg);
        border-right: 3px solid #fff;
        border-top: 3px solid #fff;
        content: "";
        transition: 0.5s; }
      #regenerative-medicine .rm_btn .rm_btn_contact:hover {
        text-decoration: none; }
        #regenerative-medicine .rm_btn .rm_btn_contact:hover::after {
          right: 1.2em; }
    #regenerative-medicine .rm_btn a {
      color: #005CAB;
      font-size: 1.6rem; }
  #regenerative-medicine .company {
    font-size: 2.0rem;
    margin-top: 1.3em; }
    @media (max-width: 940px) {
      #regenerative-medicine .company {
        font-size: 2.1276595745vw; } }
    @media (max-width: 768px) {
      #regenerative-medicine .company {
        font-size: 4.8vw; } }
  #regenerative-medicine .animated, #regenerative-medicine .animated-abs {
    opacity: 0; }
  #regenerative-medicine .excerpt {
    text-align: right;
    font-size: 1.4rem;
    margin-top: 2em; }
    @media (max-width: 940px) {
      #regenerative-medicine .excerpt {
        font-size: 1.4893617021vw; } }
    @media (max-width: 768px) {
      #regenerative-medicine .excerpt {
        font-size: 2.9333333333vw; } }

.mv-wrap {
  height: 600px;
  position: relative; }
  @media (max-width: 940px) {
    .mv-wrap {
      height: 63.829787234vw; } }
  @media (max-width: 768px) {
    .mv-wrap {
      height: 88vw; } }
  .mv-wrap .mv-list {
    width: 100%; }
    .mv-wrap .mv-list img {
      position: absolute;
      width: 100%;
      height: 100%;
      z-index: 0;
      object-fit: cover; }
  .mv-wrap .mv-lead {
    font-size: 3.1rem;
    position: relative;
    z-index: 1;
    text-align: center;
    color: #fff;
    padding-top: 75px; }
    @media (max-width: 940px) {
      .mv-wrap .mv-lead {
        font-size: 3.2978723404vw;
        padding-top: 7.9787234043vw; } }
    @media (max-width: 768px) {
      .mv-wrap .mv-lead {
        font-size: 4.8vw; } }
  .mv-wrap h1 {
    position: absolute;
    z-index: 1;
    font-size: 4rem;
    background-color: rgba(255, 255, 255, 0.85);
    text-align: center;
    color: #005CAB;
    font-weight: bold;
    width: 520px;
    margin: 0 auto;
    padding-top: 50px;
    padding-bottom: 50px;
    　　text-align: center;
    　　position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%); }
    @media (max-width: 940px) {
      .mv-wrap h1 {
        font-size: 4.2553191489vw;
        width: 55.3191489362vw;
        padding-top: 5.3191489362vw;
        padding-bottom: 5.3191489362vw; } }
    @media (max-width: 768px) {
      .mv-wrap h1 {
        font-size: 6.4vw;
        width: 88vw; } }
  .mv-wrap::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 3em;
    left: 50%;
    width: 14px;
    height: 14px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: translateX(-50%) rotate(135deg); }

.sec_hero {
  position: relative;
  margin-bottom: -178px; }
  .sec_hero .sec_hero_img {
    height: 356px; }
    .sec_hero .sec_hero_img.left {
      margin-left: calc(50% - 50vw); }
      @media (max-width: 768px) {
        .sec_hero .sec_hero_img.left {
          margin-right: calc(50% - 50vw); } }
    .sec_hero .sec_hero_img.right {
      margin-right: calc(50% - 50vw); }
      .sec_hero .sec_hero_img.right img {
        object-position: right; }
      @media (max-width: 768px) {
        .sec_hero .sec_hero_img.right {
          margin-left: calc(50% - 50vw); } }
    @media (max-width: 940px) {
      .sec_hero .sec_hero_img {
        height: 37.8723404255vw; } }
    @media (max-width: 768px) {
      .sec_hero .sec_hero_img {
        height: 48vw; } }
    .sec_hero .sec_hero_img img {
      width: 100%;
      height: 100%;
      z-index: 0;
      object-fit: cover;
      object-position: left; }
  .sec_hero h2 {
    position: absolute;
    z-index: 1;
    font-size: 2.6rem;
    background-color: rgba(255, 255, 255, 0.85);
    text-align: center;
    color: #005CAB;
    font-weight: bold;
    width: 422px;
    margin: 0 auto;
    padding-top: 47px;
    padding-bottom: 47px;
    line-height: 1.7;
    　　text-align: center;
    　　position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%); }
    @media (max-width: 940px) {
      .sec_hero h2 {
        font-size: 2.7659574468vw;
        width: 44.8936170213vw;
        padding-top: 5vw;
        padding-bottom: 5vw; } }
    @media (max-width: 768px) {
      .sec_hero h2 {
        font-size: 5.3333333333vw;
        width: 88vw; } }
  .sec_hero .en_ttl {
    position: absolute;
    z-index: 1;
    font-size: 4rem;
    font-weight: bold;
    color: #fff;
    　　text-align: center;
    　　position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%); }
    .sec_hero .en_ttl.left {
      left: 21%; }
      @media (max-width: 1500px) {
        .sec_hero .en_ttl.left {
          left: 50%;
          top: auto;
          bottom: -10px;
          font-size: 3rem; } }
    .sec_hero .en_ttl.rm-flow {
      left: 78%;
      width: 350px; }
      @media (max-width: 1500px) {
        .sec_hero .en_ttl.rm-flow {
          left: 50%;
          width: auto; } }
    @media (max-width: 940px) {
      .sec_hero .en_ttl {
        font-size: 3.1914893617vw; } }
    @media (max-width: 768px) {
      .sec_hero .en_ttl {
        display: none; } }

.sec_content {
  padding-top: 178px;
  text-align: center; }

#lead {
  margin-top: 85px;
  position: relative;
  padding-bottom: 50px; }
  @media (max-width: 940px) {
    #lead {
      margin-top: 9.0425531915vw;
      padding-bottom: 5.3191489362vw; } }
  @media (max-width: 768px) {
    #lead {
      padding-bottom: 0; } }
  #lead .back_top {
    position: absolute;
    top: 0;
    left: 0;
    width: 250px; }
    @media screen and (max-width: 1280px) {
      #lead .back_top {
        width: 19.53125vw; } }
    @media (max-width: 768px) {
      #lead .back_top {
        display: none; } }
  #lead .back_bottom {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 386px; }
    @media screen and (max-width: 1280px) {
      #lead .back_bottom {
        width: 30.15625vw; } }
    @media (max-width: 768px) {
      #lead .back_bottom {
        display: none; } }
  #lead .inner {
    position: relative; }
    #lead .inner .lead_txt_img {
      position: absolute;
      top: -85px;
      right: -566px;
      z-index: 0; }
      @media (max-width: 1500px) {
        #lead .inner .lead_txt_img {
          width: 54.0625vw;
          right: auto;
          left: 594px; } }
      @media (max-width: 940px) {
        #lead .inner .lead_txt_img {
          left: auto;
          width: 66vw;
          top: -9vw;
          right: -28vw; } }
      @media (max-width: 768px) {
        #lead .inner .lead_txt_img {
          position: inherit;
          width: 100%;
          top: auto;
          right: auto; } }
    @media (max-width: 768px) {
      #lead .inner .lead_txt_img_wrap {
        position: inherit;
        margin: 0 calc(50% - 50vw);
        width: 100vw;
        margin-bottom: 6em; } }
  #lead .lead_txt {
    width: 60.1063829787%;
    position: relative; }
    @media (min-width: 769px) {
      #lead .lead_txt {
        margin-bottom: 65px; } }
    @media (max-width: 940px) {
      #lead .lead_txt {
        width: 51.5957446809vw; } }
    @media (max-width: 768px) {
      #lead .lead_txt {
        width: 100%; } }
    #lead .lead_txt p {
      margin-bottom: 1.5em;
      position: relative;
      z-index: 1; }
  #lead .rm_technology {
    padding: 90px;
    margin-top: 150px; }
    @media (max-width: 940px) {
      #lead .rm_technology {
        padding: 7.4468085106vw;
        margin-top: 14.8936170213vw; } }
    @media (max-width: 768px) {
      #lead .rm_technology {
        margin-top: 22.6666666667vw; } }
    #lead .rm_technology .rm_technology_img {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      margin-top: -203px; }
      @media (max-width: 940px) {
        #lead .rm_technology .rm_technology_img {
          margin-top: -18.829787234vw; } }
      #lead .rm_technology .rm_technology_img .img {
        width: 327px; }
        @media (max-width: 940px) {
          #lead .rm_technology .rm_technology_img .img {
            width: 34.7872340426vw; } }
        #lead .rm_technology .rm_technology_img .img p {
          text-align: center;
          font-size: 1.4rem;
          margin-top: 1em; }
          @media (max-width: 940px) {
            #lead .rm_technology .rm_technology_img .img p {
              font-size: 1.4893617021vw; } }
          @media (max-width: 768px) {
            #lead .rm_technology .rm_technology_img .img p {
              font-size: 2.9333333333vw; } }
      #lead .rm_technology .rm_technology_img .cross {
        margin-top: 85px; }
        @media (max-width: 940px) {
          #lead .rm_technology .rm_technology_img .cross {
            margin-top: 9.0425531915vw;
            width: 4.2553191489vw; } }
        @media (max-width: 768px) {
          #lead .rm_technology .rm_technology_img .cross {
            margin-top: 15.9574468085vw; } }
    #lead .rm_technology .rm_technology02 {
      background: #fff;
      text-align: center;
      padding: 35px;
      margin-top: 40px; }
      @media (max-width: 940px) {
        #lead .rm_technology .rm_technology02 {
          padding: 3.7234042553vw;
          margin-top: 4.2553191489vw; } }
      #lead .rm_technology .rm_technology02 h3 {
        color: #005CAB;
        font-weight: bold;
        font-size: 2.2rem; }
        @media (max-width: 940px) {
          #lead .rm_technology .rm_technology02 h3 {
            font-size: 2.3404255319vw; } }
        @media (max-width: 768px) {
          #lead .rm_technology .rm_technology02 h3 {
            font-size: 4.8vw; } }
    #lead .rm_technology .plus {
      text-align: center;
      margin: 35px 0; }
      @media (max-width: 940px) {
        #lead .rm_technology .plus {
          margin: 3.7234042553vw 0; } }
    #lead .rm_technology .rm_support .rm_main_ttl {
      margin-bottom: 1em; }
    #lead .rm_technology .rm_support p {
      letter-spacing: -0.5px;
      line-height: 2; }
      @media (min-width: 769px) {
        #lead .rm_technology .rm_support p {
          text-align: center; } }
      @media (max-width: 768px) {
        #lead .rm_technology .rm_support p {
          letter-spacing: 0; } }

.rm_technology02_img {
  display: flex;
  justify-content: space-between;
  width: 530px;
  margin: 3em auto 0; }
  @media (max-width: 940px) {
    .rm_technology02_img {
      width: 56.3829787234vw; } }
  @media (max-width: 768px) {
    .rm_technology02_img {
      width: 100%; } }
  @media (max-width: 940px) {
    .rm_technology02_img img {
      width: 25.5319148936vw; } }
  @media (max-width: 768px) {
    .rm_technology02_img img {
      width: 32vw; } }

#feature strong {
  font-size: 2.2rem; }
  @media (max-width: 940px) {
    #feature strong {
      font-size: 2.3404255319vw; } }
  @media (max-width: 768px) {
    #feature strong {
      font-size: 4.8vw; } }
#feature .sec_content {
  padding-bottom: 300px; }
  @media (max-width: 768px) {
    #feature .sec_content {
      padding-bottom: 58.6666666667vw; } }
#feature .article_btn_ttl {
  background: #005CAB;
  color: #fff;
  position: relative;
  font-weight: bold;
  font-size: 2.2rem;
  height: 75px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 45px; }
  @media (max-width: 940px) {
    #feature .article_btn_ttl {
      font-size: 2.3404255319vw;
      height: 7.9787234043vw;
      margin-top: 4.7872340426vw; } }
  @media (max-width: 768px) {
    #feature .article_btn_ttl {
      font-size: 4.2666666667vw;
      display: block;
      text-align: left;
      padding: 2.6666666667vw 0.2666666667vw 2.6666666667vw 13.3333333333vw;
      height: auto; } }
  #feature .article_btn_ttl span {
    font-size: 2.6rem; }
    @media (max-width: 940px) {
      #feature .article_btn_ttl span {
        font-size: 2.7659574468vw; } }
    @media (max-width: 768px) {
      #feature .article_btn_ttl span {
        font-size: 5.3333333333vw; } }
  #feature .article_btn_ttl .article_btn_1 {
    width: 194px;
    height: 33px;
    position: absolute;
    bottom: 0;
    right: 0; }
    @media (max-width: 940px) {
      #feature .article_btn_ttl .article_btn_1 {
        width: 20.6382978723vw;
        height: 3.5106382979vw; } }
    @media (max-width: 768px) {
      #feature .article_btn_ttl .article_btn_1 {
        width: 40vw;
        height: 6.6666666667vw; } }
    #feature .article_btn_ttl .article_btn_1 img {
      vertical-align: top;
      width: 100%; }
  #feature .article_btn_ttl .numbers {
    content: "1";
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 4.5rem;
    position: absolute;
    left: 0;
    top: 0;
    width: 90px;
    height: 100%; }
    @media (max-width: 940px) {
      #feature .article_btn_ttl .numbers {
        font-size: 4.7872340426vw; } }
    @media (max-width: 768px) {
      #feature .article_btn_ttl .numbers {
        width: 10.6666666667vw;
        top: 0;
        font-size: 6.6666666667vw;
        text-align: center; } }
    #feature .article_btn_ttl .numbers::before {
      content: '';
      position: absolute;
      right: 0;
      display: inline-block;
      width: 1px;
      height: 70%;
      top: 15%;
      background-color: #fff; }
      @media (max-width: 768px) {
        #feature .article_btn_ttl .numbers::before {
          height: 90%;
          top: 5%; } }
#feature .article_content {
  background: #fff;
  padding: 45px 90px; }
  @media (max-width: 940px) {
    #feature .article_content {
      padding: 3.7234042553vw 7.4468085106vw 7.4468085106vw; } }
  #feature .article_content h3 {
    font-size: 2.2rem;
    font-weight: bold;
    color: #005CAB;
    margin-bottom: 5px; }
    @media (max-width: 940px) {
      #feature .article_content h3 {
        font-size: 2.3404255319vw; } }
    @media (max-width: 768px) {
      #feature .article_content h3 {
        font-size: 4.2666666667vw; } }
  #feature .article_content hr {
    height: 0;
    border: 0;
    border-top: 1px #CDC8C8 solid;
    margin: 40px 0; }
    @media (max-width: 940px) {
      #feature .article_content hr {
        margin: 4.2553191489vw 0; } }
    @media (max-width: 768px) {
      #feature .article_content hr {
        margin: 5.3333333333vw 0; } }
  #feature .article_content .conclusion {
    background: #3F85EB;
    padding: 30px;
    margin: 40px 0; }
    @media (max-width: 768px) {
      #feature .article_content .conclusion {
        padding: 4vw 2.6666666667vw;
        margin: 5.3333333333vw 0; } }
    #feature .article_content .conclusion h3, #feature .article_content .conclusion p {
      color: #fff; }
  @media (max-width: 768px) {
    #feature .article_content .rm_technology02_img img {
      width: 36vw; } }
#feature .grade_a_wrap {
  width: 575px;
  margin: 40px auto 0; }
  @media (max-width: 940px) {
    #feature .grade_a_wrap {
      width: 61.170212766vw;
      margin: 4.2553191489vw auto 0; } }
  @media (max-width: 768px) {
    #feature .grade_a_wrap {
      width: 100%;
      margin: 5.3333333333vw auto 0; } }
  #feature .grade_a_wrap h4 {
    color: #fff;
    font-weight: bold;
    background: #04BAC8;
    padding: 8px;
    font-size: 1.8rem; }
  #feature .grade_a_wrap .grade_a_exp {
    padding: 30px;
    background: #A0DBEB; }
    #feature .grade_a_wrap .grade_a_exp p {
      font-size: 1.4rem;
      margin-top: 1em; }
      @media (max-width: 940px) {
        #feature .grade_a_wrap .grade_a_exp p {
          font-size: 1.4893617021vw; } }
      @media (max-width: 768px) {
        #feature .grade_a_wrap .grade_a_exp p {
          font-size: 3.2vw;
          text-align: left; } }

.rm_modal_btn_wrap {
  margin-top: 70px;
  display: flex;
  justify-content: space-between; }
  @media (max-width: 768px) {
    .rm_modal_btn_wrap {
      display: block;
      margin-top: 8.5106382979vw; } }
  .rm_modal_btn_wrap .rm_modal_btn {
    width: 430px;
    height: 200px;
    border: 4px #005CAB solid;
    cursor: pointer;
    background-size: cover; }
    .rm_modal_btn_wrap .rm_modal_btn.saibou {
      background-image: url("../img/feature/modal_btn01.jpg"); }
    .rm_modal_btn_wrap .rm_modal_btn.hinshitsu {
      background-image: url("../img/feature/modal_btn02.jpg"); }
    @media (max-width: 940px) {
      .rm_modal_btn_wrap .rm_modal_btn {
        width: 42.5531914894vw;
        height: 21.2765957447vw; } }
    @media (max-width: 768px) {
      .rm_modal_btn_wrap .rm_modal_btn {
        width: 80vw;
        height: 29.7872340426vw;
        margin: 0 auto 2em; } }
  .rm_modal_btn_wrap .button-open {
    display: block;
    margin: 0 auto;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.7);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center; }
    .rm_modal_btn_wrap .button-open .txt {
      text-align: center; }
      .rm_modal_btn_wrap .button-open .txt p {
        width: 100%;
        font-size: 2rem !important;
        color: #005CAB;
        font-weight: bold; }
        @media (max-width: 940px) {
          .rm_modal_btn_wrap .button-open .txt p {
            font-size: 2.1276595745vw !important; } }
        @media (max-width: 768px) {
          .rm_modal_btn_wrap .button-open .txt p {
            font-size: 4.2666666667vw !important; } }
      .rm_modal_btn_wrap .button-open .txt .detail {
        font-size: 1.6rem;
        color: #000;
        font-weight: normal;
        background: #fff;
        border-radius: 100px;
        width: 166px;
        margin: 15px auto 0;
        position: relative; }
        @media (max-width: 940px) {
          .rm_modal_btn_wrap .button-open .txt .detail {
            font-size: 1.7021276596vw; } }
        @media (max-width: 768px) {
          .rm_modal_btn_wrap .button-open .txt .detail {
            font-size: 3.7333333333vw; } }
        .rm_modal_btn_wrap .button-open .txt .detail::after {
          display: block;
          content: "+";
          position: absolute;
          top: 50%;
          left: 0%;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
          left: 85%;
          font-size: 2rem; }
    .rm_modal_btn_wrap .button-open:hover {
      text-decoration: none; }

.rm_modal_overlay_wrap .modal-window {
  display: none;
  position: fixed;
  width: 940px;
  height: 70vh;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 70px 20px 50px 50px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #fff;
  border-radius: 5px;
  z-index: 11; }
  @media (max-width: 940px) {
    .rm_modal_overlay_wrap .modal-window {
      width: 92vw;
      padding: 7.4468085106vw 2.1276595745vw 5.3191489362vw 5.3191489362vw; } }
  @media (max-width: 768px) {
    .rm_modal_overlay_wrap .modal-window {
      padding: 13.3333333333vw 2.6666666667vw 6.6666666667vw 6.6666666667vw; } }
  .rm_modal_overlay_wrap .modal-window .modal-content {
    overflow-y: scroll;
    height: 100%;
    padding-right: 30px; }
    @media (max-width: 940px) {
      .rm_modal_overlay_wrap .modal-window .modal-content {
        padding-right: 3.1914893617vw; } }
    @media (max-width: 768px) {
      .rm_modal_overlay_wrap .modal-window .modal-content {
        padding-right: 4vw; } }
    .rm_modal_overlay_wrap .modal-window .modal-content::-webkit-scrollbar {
      width: 3px; }
    .rm_modal_overlay_wrap .modal-window .modal-content::-webkit-scrollbar-thumb {
      background: #005CAB; }
    .rm_modal_overlay_wrap .modal-window .modal-content::-webkit-scrollbar-track {
      background: rgba(100, 100, 100, 0.5); }
    .rm_modal_overlay_wrap .modal-window .modal-content h3 {
      background: #005CAB;
      font-weight: bold;
      font-size: 2rem;
      text-align: center;
      color: #fff;
      padding: .5em;
      margin-bottom: 1.5em; }
      @media (max-width: 940px) {
        .rm_modal_overlay_wrap .modal-window .modal-content h3 {
          font-size: 2.1276595745vw; } }
      @media (max-width: 768px) {
        .rm_modal_overlay_wrap .modal-window .modal-content h3 {
          font-size: 4.2666666667vw; } }
    .rm_modal_overlay_wrap .modal-window .modal-content p.txt {
      text-align: left; }
    .rm_modal_overlay_wrap .modal-window .modal-content .modal_img01, .rm_modal_overlay_wrap .modal-window .modal-content .modal_img02 {
      width: 350px;
      margin-left: 40px;
      margin-bottom: 25px;
      font-size: 1.4rem;
      text-align: right;
      line-height: 2.5; }
      @media (min-width: 769px) {
        .rm_modal_overlay_wrap .modal-window .modal-content .modal_img01, .rm_modal_overlay_wrap .modal-window .modal-content .modal_img02 {
          float: right; } }
      @media (max-width: 940px) {
        .rm_modal_overlay_wrap .modal-window .modal-content .modal_img01, .rm_modal_overlay_wrap .modal-window .modal-content .modal_img02 {
          width: 37.2340425532vw;
          margin-left: 4.2553191489vw;
          margin-bottom: 2.6595744681vw;
          font-size: 1.4893617021vw; } }
      @media (max-width: 768px) {
        .rm_modal_overlay_wrap .modal-window .modal-content .modal_img01, .rm_modal_overlay_wrap .modal-window .modal-content .modal_img02 {
          display: block;
          width: 100%;
          margin-left: 0;
          font-size: 3.2vw; }
          .rm_modal_overlay_wrap .modal-window .modal-content .modal_img01 img, .rm_modal_overlay_wrap .modal-window .modal-content .modal_img02 img {
            width: 100%; } }
    .rm_modal_overlay_wrap .modal-window .modal-content .modal_img02 {
      width: 500px; }
      @media (max-width: 940px) {
        .rm_modal_overlay_wrap .modal-window .modal-content .modal_img02 {
          width: 53.1914893617vw; } }
      @media (max-width: 768px) {
        .rm_modal_overlay_wrap .modal-window .modal-content .modal_img02 {
          width: 100%; }
          .rm_modal_overlay_wrap .modal-window .modal-content .modal_img02 img {
            width: 100%; } }
.rm_modal_overlay_wrap h2 {
  color: #005CAB;
  font-weight: bold;
  font-size: 2rem;
  position: absolute;
  width: 100%;
  text-align: center;
  top: 1em;
  left: 0; }
  @media (max-width: 940px) {
    .rm_modal_overlay_wrap h2 {
      font-size: 2.1276595745vw; } }
  @media (max-width: 768px) {
    .rm_modal_overlay_wrap h2 {
      font-size: 4.2666666667vw; } }
.rm_modal_overlay_wrap .button-close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 48px;
  height: 48px;
  cursor: pointer; }
  @media (max-width: 768px) {
    .rm_modal_overlay_wrap .button-close {
      width: 8vw;
      height: 8vw; } }
.rm_modal_overlay_wrap .overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
  z-index: 10; }

.no_scroll {
  overflow: hidden; }

#rm-flow {
  margin-top: -178px; }
  @media (max-width: 768px) {
    #rm-flow {
      padding-bottom: 10.6666666667vw; } }
  #rm-flow .sec_hero {
    margin-bottom: 84px; }
    @media (max-width: 940px) {
      #rm-flow .sec_hero {
        margin-bottom: 8.9361702128vw; } }
    @media (max-width: 768px) {
      #rm-flow .sec_hero {
        margin-bottom: 11.2vw; } }
  #rm-flow .sec_content {
    padding-top: 0; }
  #rm-flow .flow_picture {
    padding: 0 60px 60px 60px;
    margin-bottom: 60px; }
    @media (max-width: 940px) {
      #rm-flow .flow_picture {
        padding: 0 6.3829787234vw 6.3829787234vw 6.3829787234vw;
        margin-bottom: 6.3829787234vw; } }
    @media (max-width: 768px) {
      #rm-flow .flow_picture {
        padding: 0 6.6666666667vw 8vw 6.6666666667vw;
        margin-bottom: 6.3829787234vw; } }
    #rm-flow .flow_picture h2 {
      background-image: url("../img/flow/flow_ttl.svg");
      background-size: contain;
      background-repeat: no-repeat;
      width: 720px;
      height: 84px;
      margin: 0 auto;
      display: flex;
      justify-content: center;
      align-items: center;
      color: #fff;
      font-weight: bold;
      font-size: 2.4rem;
      line-height: 1.5; }
      @media (max-width: 940px) {
        #rm-flow .flow_picture h2 {
          font-size: 2.5531914894vw;
          width: 76.5957446809vw;
          height: 8.9361702128vw; } }
      @media (max-width: 768px) {
        #rm-flow .flow_picture h2 {
          background-image: url("../img/flow/flow_ttl2x.svg");
          font-size: 4.5333333333vw;
          width: 77.3333333333vw;
          height: 15.4666666667vw; } }
    #rm-flow .flow_picture p {
      margin: 36px 0; }
      @media (max-width: 940px) {
        #rm-flow .flow_picture p {
          margin: 3.829787234vw 0; } }
      @media (max-width: 768px) {
        #rm-flow .flow_picture p {
          margin: 4.8vw 0;
          text-align: left; } }

#development .sec_content {
  padding-bottom: 280px; }
  @media (max-width: 768px) {
    #development .sec_content {
      padding-bottom: 58.6666666667vw; } }
#development .beginning_txt {
  margin-top: 45px;
  margin-bottom: 45px; }
  @media (max-width: 940px) {
    #development .beginning_txt {
      margin-top: 4.7872340426vw;
      margin-bottom: 4.7872340426vw; } }
  @media (max-width: 768px) {
    #development .beginning_txt {
      text-align: left;
      margin-top: 11.2vw; } }
#development .development_ttl {
  background: #005CAB;
  font-weight: bold;
  font-size: 2rem;
  text-align: center;
  color: #fff;
  padding: .5em;
  margin-bottom: 2.5em; }
  @media (max-width: 940px) {
    #development .development_ttl {
      font-size: 2.1276595745vw; } }
  @media (max-width: 768px) {
    #development .development_ttl {
      font-size: 4.2666666667vw; } }
#development .development_figure {
  margin-bottom: 50px; }
  @media (max-width: 940px) {
    #development .development_figure {
      margin-bottom: 5.3191489362vw; } }
  @media (max-width: 768px) {
    #development .development_figure {
      margin: 0 calc(50% - 50vw);
      width: 100vw;
      margin-bottom: 5.3191489362vw; } }
#development .development_img {
  background: #fff;
  width: 100%;
  padding: 20px 30px;
  line-height: 2.5;
  box-sizing: border-box; }
  #development .development_img h3 {
    font-size: 1.8rem;
    font-weight: bold;
    color: #556D85;
    margin-bottom: .5em; }
    @media (max-width: 940px) {
      #development .development_img h3 {
        font-size: 1.914893617vw; } }
    @media (max-width: 768px) {
      #development .development_img h3 {
        font-size: 3.7333333333vw;
        margin-bottom: -.5em; } }
  @media (max-width: 940px) {
    #development .development_img {
      font-size: 1.4893617021vw;
      margin-bottom: 5.3191489362vw; } }
  @media (max-width: 768px) {
    #development .development_img {
      width: 100%;
      font-size: 3.2vw;
      padding: 2.6666666667vw 5.3333333333vw; } }
  @media (max-width: 768px) {
    #development .development_img .scroll_area {
      width: auto;
      overflow-x: scroll; }
      #development .development_img .scroll_area::-webkit-scrollbar {
        height: 3px; }
      #development .development_img .scroll_area::-webkit-scrollbar-thumb {
        background: #005CAB; }
      #development .development_img .scroll_area::-webkit-scrollbar-track {
        background: rgba(100, 100, 100, 0.5); } }
  @media (max-width: 768px) {
    #development .development_img .scroll-txt {
      font-size: 2.6666666667vw;
      text-align: left; } }
  #development .development_img .excerpt {
    margin-top: 0; }
  @media (max-width: 768px) {
    #development .development_img .scroll_area_img {
      width: 180%; }
      #development .development_img .scroll_area_img img {
        margin-bottom: 1.5em; } }
  #development .development_img .d_img02 {
    width: 492px;
    margin-bottom: 50px; }
    #development .development_img .d_img02 img {
      border: 3px #556D85 solid;
      box-sizing: border-box; }
    @media (max-width: 940px) {
      #development .development_img .d_img02 {
        width: 47.8723404255vw;
        margin-bottom: 5.3191489362vw; } }
    @media (max-width: 768px) {
      #development .development_img .d_img02 {
        width: 100%; } }
  #development .development_img .d_img03 {
    width: 400px; }
    #development .development_img .d_img03 img {
      border: 3px #556D85 solid;
      width: 100%;
      box-sizing: border-box; }
    @media (max-width: 940px) {
      #development .development_img .d_img03 {
        width: 37.2340425532vw; } }
    @media (max-width: 768px) {
      #development .development_img .d_img03 {
        width: 100%; } }

#rm-about {
  margin-top: -178px; }
  #rm-about .sec_hero {
    margin-bottom: 64px; }
    @media (max-width: 940px) {
      #rm-about .sec_hero {
        margin-bottom: 6.8085106383vw; } }
    @media (max-width: 768px) {
      #rm-about .sec_hero {
        margin-bottom: 11.2vw; } }
  #rm-about .sec_content {
    padding-top: 0; }
  #rm-about .about_list_wrap {
    border: 1px #005CAB solid;
    border-radius: 10px;
    padding: 64px 70px; }
    @media (min-width: 769px) {
      #rm-about .about_list_wrap {
        margin-bottom: 100px; } }
    @media (max-width: 940px) {
      #rm-about .about_list_wrap {
        padding: 6.3829787234vw 7.0212765957vw; } }
    @media (max-width: 768px) {
      #rm-about .about_list_wrap {
        padding-top: 10.6666666667vw; } }
    #rm-about .about_list_wrap .about_list_txt {
      margin-bottom: 64px; }
      @media (max-width: 768px) {
        #rm-about .about_list_wrap .about_list_txt {
          margin-bottom: 8vw; } }
    @media (min-width: 769px) {
      #rm-about .about_list_wrap ul.about_list {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between; } }
    #rm-about .about_list_wrap ul.about_list li {
      width: 252px;
      height: 244px;
      background-repeat: no-repeat;
      background-size: contain;
      box-sizing: border-box;
      padding: 22px;
      margin-bottom: 22px; }
      @media (max-width: 940px) {
        #rm-about .about_list_wrap ul.about_list li {
          width: 24.6808510638vw;
          height: 23.829787234vw;
          padding: 2.3404255319vw;
          margin-bottom: 2.3404255319vw; } }
      @media (max-width: 768px) {
        #rm-about .about_list_wrap ul.about_list li {
          width: 67.2vw;
          height: 65.0666666667vw;
          margin: 0 auto 5.3191489362vw;
          padding: 5.3191489362vw; } }
      #rm-about .about_list_wrap ul.about_list li p {
        text-align: center;
        font-size: 1.4rem;
        margin-top: .3em; }
        @media (max-width: 940px) {
          #rm-about .about_list_wrap ul.about_list li p {
            font-size: 1.3829787234vw; } }
        @media (max-width: 768px) {
          #rm-about .about_list_wrap ul.about_list li p {
            font-size: 3.4666666667vw; } }
      #rm-about .about_list_wrap ul.about_list li.about_list01 {
        background-image: url("../img/about/about01.png"); }
      #rm-about .about_list_wrap ul.about_list li.about_list02 {
        background-image: url("../img/about/about02.png"); }
      #rm-about .about_list_wrap ul.about_list li.about_list03 {
        background-image: url("../img/about/about03.png"); }
      #rm-about .about_list_wrap ul.about_list li.about_list04 {
        background-image: url("../img/about/about04.png"); }
      #rm-about .about_list_wrap ul.about_list li.about_list05 {
        background-image: url("../img/about/about05.png"); }
      #rm-about .about_list_wrap ul.about_list li.about_list06 {
        background-image: url("../img/about/about06.png"); }
    #rm-about .about_list_wrap h3 {
      color: #005CAB;
      font-weight: bold;
      font-size: 2.2rem; }
      @media (max-width: 940px) {
        #rm-about .about_list_wrap h3 {
          font-size: 2.3404255319vw; } }
      @media (max-width: 768px) {
        #rm-about .about_list_wrap h3 {
          font-size: 5.3333333333vw; } }
  #rm-about .quote {
    color: #005CAB;
    font-weight: bold;
    text-align: left;
    margin-bottom: .5em; }
  #rm-about .quote_list {
    list-style-type: decimal;
    text-align: left;
    padding-left: 1em;
    font-size: 1.2rem; }
    @media (max-width: 940px) {
      #rm-about .quote_list {
        font-size: 1.2765957447vw; } }
    @media (max-width: 768px) {
      #rm-about .quote_list {
        font-size: 3.4666666667vw; } }
    #rm-about .quote_list li {
      margin-bottom: .5em; }
  #rm-about .about_results {
    margin-top: 70px; }
    @media (max-width: 768px) {
      #rm-about .about_results {
        margin-top: 10.6666666667vw; } }
    #rm-about .about_results h3 {
      margin-bottom: 10px; }
      @media (max-width: 768px) {
        #rm-about .about_results h3 {
          font-size: 4.8vw; } }
      #rm-about .about_results h3 span {
        font-size: 1.8rem; }
        @media (max-width: 940px) {
          #rm-about .about_results h3 span {
            font-size: 1.914893617vw; } }
        @media (max-width: 768px) {
          #rm-about .about_results h3 span {
            font-size: 3.4666666667vw; } }
    #rm-about .about_results .about_results_list {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      text-align: left; }
      #rm-about .about_results .about_results_list .about_results_list_group {
        width: 252px;
        font-size: 1.6rem;
        margin-top: 50px; }
        @media (max-width: 940px) {
          #rm-about .about_results .about_results_list .about_results_list_group {
            width: 24.6808510638vw;
            margin-bottom: 2.3404255319vw;
            font-size: 1.7021276596vw;
            margin-top: 5.3333333333vw; } }
        @media (max-width: 768px) {
          #rm-about .about_results .about_results_list .about_results_list_group {
            width: 100%;
            font-size: 3.7333333333vw; } }
        #rm-about .about_results .about_results_list .about_results_list_group.long {
          width: 100%; }
        #rm-about .about_results .about_results_list .about_results_list_group h4 {
          color: #005CAB;
          font-weight: bold;
          border-bottom: 1px #CDC8C8 solid;
          padding-bottom: .5em;
          margin-bottom: .5em; }
        #rm-about .about_results .about_results_list .about_results_list_group ul li {
          line-height: 2; }
      #rm-about .about_results .about_results_list .long_list_group {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between; }
        #rm-about .about_results .about_results_list .long_list_group ul {
          width: 252px; }
          @media (max-width: 940px) {
            #rm-about .about_results .about_results_list .long_list_group ul {
              width: 24.6808510638vw; } }
          @media (max-width: 768px) {
            #rm-about .about_results .about_results_list .long_list_group ul {
              width: 100%; } }
          #rm-about .about_results .about_results_list .long_list_group ul.long {
            width: 524px; }
            @media (max-width: 940px) {
              #rm-about .about_results .about_results_list .long_list_group ul.long {
                width: 51.4893617021vw; } }
            @media (max-width: 768px) {
              #rm-about .about_results .about_results_list .long_list_group ul.long {
                width: 100%; } }

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
  animation-duration: .8s;
  animation-fill-mode: forwards; }

.fadeInUp-abs {
  -webkit-animation-name: fadeInUp-abs;
  animation-name: fadeInUp-abs;
  animation-duration: .8s;
  animation-fill-mode: forwards; }

@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(50px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }
@keyframes fadeInUp-abs {
  0% {
    opacity: 0;
    top: 57%; }
  100% {
    opacity: 1;
    top: 50%; } }
