.section-story {
  padding: 60px 0; }
  @media screen and (max-width: 1200px) {
    .section-story {
      padding: 5vw 0; } }
  @media screen and (max-width: 640px) {
    .section-story {
      padding: 10vw 0; } }
  .section-story .box {
    width: 100%;
    max-width: 900px;
    margin: 0 auto; }
    @media screen and (max-width: 1200px) {
      .section-story .box {
        max-width: 75vw; } }
    @media screen and (max-width: 640px) {
      .section-story .box {
        max-width: 82vw; } }
  .section-story .title {
    color: #20a464; }
    .section-story .title .en {
      font-size: 12px;
      font-weight: 500;
      letter-spacing: 0.16em; }
      @media screen and (max-width: 1200px) {
        .section-story .title .en {
          font-size: 1vw; } }
      @media screen and (max-width: 640px) {
        .section-story .title .en {
          font-size: 2vw; } }
    .section-story .title h2 {
      font-size: 28px;
      font-weight: 500;
      letter-spacing: 0.2em; }
      @media screen and (max-width: 1200px) {
        .section-story .title h2 {
          font-size: 2.333vw; } }
      @media screen and (max-width: 640px) {
        .section-story .title h2 {
          font-size: 5.833vw;
          line-height: 1.8; } }
      .section-story .title h2 br.sp {
        display: none; }
        @media screen and (max-width: 640px) {
          .section-story .title h2 br.sp {
            display: inline-block; } }
  .section-story .txt {
    margin-top: 28px;
    font-size: 14px;
    line-height: 2.7;
    letter-spacing: 0.1em; }
    @media screen and (max-width: 1200px) {
      .section-story .txt {
        margin-top: 2.333vw;
        font-size: 1.166vw; } }
    @media screen and (max-width: 640px) {
      .section-story .txt {
        font-size: 3.333vw;
        line-height: 1.8;
        margin-top: 6.8vw; } }
    .section-story .txt br.sp {
      display: none; }
      @media screen and (max-width: 640px) {
        .section-story .txt br.sp {
          display: inline-block; } }
    .section-story .txt span {
      letter-spacing: 0.4em; }
.section-message {
  padding: 60px 0; }
  @media screen and (max-width: 1200px) {
    .section-message {
      padding: 5vw 0; } }
  @media screen and (max-width: 640px) {
    .section-message {
      padding-bottom: 20.666vw; } }
  .section-message .box {
    display: grid;
    grid-auto-flow: row;
    gap: 90px; }
    @media screen and (max-width: 1200px) {
      .section-message .box {
        gap: 7.5vw; } }
    @media screen and (max-width: 640px) {
      .section-message .box {
        gap: 11.666vw; } }
  .section-message .row {
    display: grid;
    width: 100%;
    max-width: 900px;
    margin: 0 auto; }
    @media screen and (max-width: 1200px) {
      .section-message .row {
        max-width: 75vw; } }
    @media screen and (max-width: 640px) {
      .section-message .row {
        max-width: 80vw; } }
    .section-message .row.row-1 {
      grid-template-columns: auto 471px; }
      @media screen and (max-width: 1200px) {
        .section-message .row.row-1 {
          grid-template-columns: auto 39.25vw; } }
      @media screen and (max-width: 640px) {
        .section-message .row.row-1 {
          grid-template-columns: 1fr; } }
      .section-message .row.row-1 .row-img {
        order: 2; }
        @media screen and (max-width: 640px) {
          .section-message .row.row-1 .row-img {
            order: 1; } }
      .section-message .row.row-1 .row-txt {
        order: 1; }
        @media screen and (max-width: 640px) {
          .section-message .row.row-1 .row-txt {
            order: 2; } }
    .section-message .row.row-2 {
      grid-template-columns: 481px auto; }
      @media screen and (max-width: 1200px) {
        .section-message .row.row-2 {
          grid-template-columns: 40.083vw auto; } }
      @media screen and (max-width: 640px) {
        .section-message .row.row-2 {
          grid-template-columns: 1fr; } }
    .section-message .row-txt {
      padding: 20px 0 20px 60px; }
      @media screen and (max-width: 1200px) {
        .section-message .row-txt {
          padding: 1.666vw 0 1.666vw 5vw; } }
      @media screen and (max-width: 640px) {
        .section-message .row-txt {
          padding: 5vw 0 20px 6.666vw; } }
      .section-message .row-txt h2 {
        font-size: 16px;
        font-weight: normal;
        color: #20a464; }
        @media screen and (max-width: 1200px) {
          .section-message .row-txt h2 {
            font-size: 1.333vw; } }
        @media screen and (max-width: 640px) {
          .section-message .row-txt h2 {
            font-size: 3.333vw; } }
      .section-message .row-txt .txt {
        margin-top: 28px;
        font-size: 24px; }
        @media screen and (max-width: 1200px) {
          .section-message .row-txt .txt {
            margin-top: 2.333vw;
            font-size: 2vw; } }
        @media screen and (max-width: 640px) {
          .section-message .row-txt .txt {
            margin-top: 4.666vw;
            font-size: 4.666vw; } }
.section-value {
  padding-bottom: 20px; }
  @media screen and (max-width: 1200px) {
    .section-value {
      padding-bottom: 1.666vw; } }
  .section-value .box {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: min-content;
    gap: 40px 50px;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto; }
    @media screen and (max-width: 1200px) {
      .section-value .box {
        gap: 3.333vw 4.166vw;
        max-width: 83.333vw; } }
    @media screen and (max-width: 640px) {
      .section-value .box {
        gap: 8.666vw;
        grid-template-columns: 1fr;
        max-width: 80vw; } }
    .section-value .box .title {
      grid-row: 1 / 2;
      grid-column: 1 / 2;
      padding: 20px 20px 55px; }
      @media screen and (max-width: 1200px) {
        .section-value .box .title {
          padding: 1.666vw 1.666vw 4.583vw; } }
      @media screen and (max-width: 640px) {
        .section-value .box .title {
          grid-row: 1 / 2;
          grid-column: 1/ 2;
          padding: 1.666vw 0 2.5vw; } }
      .section-value .box .title .img {
        margin-left: 80px; }
        @media screen and (max-width: 1200px) {
          .section-value .box .title .img {
            margin-left: 6.666vw; } }
        @media screen and (max-width: 640px) {
          .section-value .box .title .img {
            margin-left: 0.666vw; } }
        .section-value .box .title .img img {
          width: 107px; }
          @media screen and (max-width: 1200px) {
            .section-value .box .title .img img {
              width: 8.916vw; } }
          @media screen and (max-width: 640px) {
            .section-value .box .title .img img {
              width: 13.333vw; } }
      .section-value .box .title h2 {
        margin-top: 10px;
        font-size: 23px;
        font-weight: 500;
        line-height: 1.9;
        color: #20a464;
        letter-spacing: 0.2em; }
        @media screen and (max-width: 1200px) {
          .section-value .box .title h2 {
            margin-top: 0.833vw;
            font-size: 1.916vw; } }
        @media screen and (max-width: 640px) {
          .section-value .box .title h2 {
            font-size: 5.333vw;
            line-height: 1.8; } }
    .section-value .box .col-inner {
      position: relative;
      z-index: 0;
      background-color: #f0f7e8;
      border-radius: 20px;
      padding: 80px 70px 50px; }
      @media screen and (max-width: 1200px) {
        .section-value .box .col-inner {
          border-radius: 1.666vw;
          padding: 6.666vw 5.833vw 4.166vw; } }
      @media screen and (max-width: 640px) {
        .section-value .box .col-inner {
          border-radius: 5vw;
          padding: 10vw 11.666vw 5vw; } }
      .section-value .box .col-inner::before {
        content: "";
        position: absolute;
        top: 144px;
        left: 10px;
        z-index: 1;
        width: 230px;
        height: 1px;
        background-color: #20a464;
        rotate: -45deg; }
        @media screen and (max-width: 1200px) {
          .section-value .box .col-inner::before {
            top: 12vw;
            left: 0.833vw;
            width: 19.166vw; } }
        @media screen and (max-width: 640px) {
          .section-value .box .col-inner::before {
            top: 20vw;
            left: 0.833vw;
            width: 41.666vw; } }
    .section-value .box .col .no {
      position: absolute;
      top: 80px;
      left: 70px;
      z-index: 1; }
      @media screen and (max-width: 1200px) {
        .section-value .box .col .no {
          top: 6.666vw;
          left: 5.833vw; } }
      @media screen and (max-width: 640px) {
        .section-value .box .col .no {
          top: 10.833vw;
          left: 11.666vw; } }
    .section-value .box .col h3 {
      display: flex;
      align-items: center;
      font-size: 16px;
      font-weight: 500;
      letter-spacing: 0.14em;
      margin-top: 10px;
      color: #20a464; }
      @media screen and (max-width: 1200px) {
        .section-value .box .col h3 {
          margin-top: 0.833vw;
          font-size: 1.333vw; } }
      @media screen and (max-width: 640px) {
        .section-value .box .col h3 {
          margin-top: 1.666vw;
          font-size: 2.666vw; } }
      .section-value .box .col h3 span {
        position: relative;
        z-index: 0;
        display: flex;
        justify-content: end;
        align-items: center;
        width: 97px;
        height: 97px;
        color: #fff; }
        @media screen and (max-width: 1200px) {
          .section-value .box .col h3 span {
            width: 8.083vw;
            height: 8.083vw; } }
        @media screen and (max-width: 640px) {
          .section-value .box .col h3 span {
            width: 16.166vw;
            height: 16.166vw; } }
        .section-value .box .col h3 span::before {
          content: "";
          position: absolute;
          top: 0;
          left: 0;
          z-index: -1;
          width: 97px;
          height: 97px;
          background-color: #20a464;
          border-radius: 50%; }
          @media screen and (max-width: 1200px) {
            .section-value .box .col h3 span::before {
              width: 8.083vw;
              height: 8.083vw; } }
          @media screen and (max-width: 640px) {
            .section-value .box .col h3 span::before {
              width: 16.166vw;
              height: 16.166vw; } }
    .section-value .box .col .txt {
      margin-top: 10px;
      margin-right: -70px;
      font-size: 14px;
      line-height: 2; }
      @media screen and (max-width: 1200px) {
        .section-value .box .col .txt {
          margin-top: 0.833vw;
          margin-right: -5.833vw;
          font-size: 1.166vw; } }
      @media screen and (max-width: 640px) {
        .section-value .box .col .txt {
          margin-top: 1.666vw;
          margin-right: -5vw;
          font-size: 3.333vw; } }
    .section-value .box .col.col-1 {
      grid-row: 1 / 3;
      grid-column: 2 / 3; }
      @media screen and (max-width: 640px) {
        .section-value .box .col.col-1 {
          grid-row: 2 / 3;
          grid-column: 1/ 2; } }
      .section-value .box .col.col-1 .no img {
        width: 68px; }
        @media screen and (max-width: 1200px) {
          .section-value .box .col.col-1 .no img {
            width: 5.666vw; } }
        @media screen and (max-width: 640px) {
          .section-value .box .col.col-1 .no img {
            width: 11.333vw; } }
    .section-value .box .col.col-2 {
      grid-row: 2 / 4;
      grid-column: 1 / 2; }
      @media screen and (max-width: 640px) {
        .section-value .box .col.col-2 {
          grid-row: 3 / 4;
          grid-column: 1/ 2; } }
      .section-value .box .col.col-2 .no img {
        width: 68px; }
        @media screen and (max-width: 1200px) {
          .section-value .box .col.col-2 .no img {
            width: 5.666vw; } }
        @media screen and (max-width: 640px) {
          .section-value .box .col.col-2 .no img {
            width: 11.333vw; } }
      .section-value .box .col.col-2 h3 span {
        color: #fff; }
        .section-value .box .col.col-2 h3 span::before {
          background-color: #231815; }
    .section-value .box .col.col-3 {
      grid-row: 3 / 5;
      grid-column: 2 / 3; }
      @media screen and (max-width: 640px) {
        .section-value .box .col.col-3 {
          grid-row: 4 / 5;
          grid-column: 1/ 2; } }
      .section-value .box .col.col-3 .no img {
        width: 70px; }
        @media screen and (max-width: 1200px) {
          .section-value .box .col.col-3 .no img {
            width: 5.833vw; } }
        @media screen and (max-width: 640px) {
          .section-value .box .col.col-3 .no img {
            width: 11.666vw; } }
      .section-value .box .col.col-3 h3 span {
        color: #20a464; }
        .section-value .box .col.col-3 h3 span::before {
          background-color: #fff; }
  .section-value .sp-none {
    display: block; }
    @media screen and (max-width: 640px) {
      .section-value .sp-none {
        display: none; } }
.section-kuu-medic {
  padding-bottom: 50px; }
  @media screen and (max-width: 640px) {
    .section-kuu-medic {
      padding-top: 30px;
      padding-bottom: 100px; } }
  .section-kuu-medic h2 {
    font-family: "Arial", "Zen Maru Gothic", sans-serif;
    font-size: 32px;
    font-weight: 500;
    color: #4d4d4d;
    text-align: center; }
    @media screen and (max-width: 1200px) {
      .section-kuu-medic h2 {
        font-size: 2.666vw; } }
    @media screen and (max-width: 640px) {
      .section-kuu-medic h2 {
        font-size: 5.333vw; } }
  .section-kuu-medic .box {
    display: flex;
    justify-content: center;
    margin-top: 20px; }
    @media screen and (max-width: 1200px) {
      .section-kuu-medic .box {
        margin-top: 1.666vw; } }
    @media screen and (max-width: 640px) {
      .section-kuu-medic .box {
        margin-top: 3.333vw; } }
    .section-kuu-medic .box .link a {
      display: block;
      border: 1px solid #604c3f;
      border-radius: 20px;
      padding: 20px 40px 15px; }
      @media screen and (max-width: 1200px) {
        .section-kuu-medic .box .link a {
          border-radius: 1.666vw;
          padding: 1.666vw 3.333vw 1.25vw; } }
      @media screen and (max-width: 640px) {
        .section-kuu-medic .box .link a {
          border-radius: 3.333vw;
          padding: 3.333vw 5.833vw 2.5vw; } }
      .section-kuu-medic .box .link a:hover {
        opacity: 0.7; }
    .section-kuu-medic .box .link img {
      width: 303px; }
      @media screen and (max-width: 1200px) {
        .section-kuu-medic .box .link img {
          width: 25.25vw; } }
      @media screen and (max-width: 640px) {
        .section-kuu-medic .box .link img {
          width: 50.5vw; } }
