@charset "UTF-8";
/*基本設定*/
body {
  position: relative;
  font-family: "Noto Sans JP", sans-serif; }

ul {
  margin: 0;
  padding: 0; }

img {
  width: 100%;
  height: auto; }

a {
  text-decoration: none; }

p {
  margin-top: 0; }

dd {
  margin-left: 0; }

/*ヘッダー*/
.site-header {
  background-color: #0075A0;
  container-type: inline-size;
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  width: 100%; }
  @media (min-width: 600px) {
    .site-header {
      height: 70px;
      padding: 8px 48px; } }
  @media (max-width: 599px) {
    .site-header {
      height: 17vw;
      padding: 2vw; } }
  .site-header_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 100%; }
  .site-header .site-branding {
    display: flex;
    align-items: center;
    width: min(60%, 250px);
    height: 100%;
    text-align: left; }
    .site-header .site-branding img {
      aspect-ratio: 216/43;
      object-fit: contain; }

/*ヘッダーメニュー*/
@media (min-width: 960px) {
  #header-menu {
    height: 100%; }
    #header-menu .drawer_inner {
      height: 100%; }
    #header-menu .drawer_list {
      height: 100%; }
      #header-menu .drawer_list li {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100%; }
      #header-menu .drawer_list a {
        height: 100%;
        color: #fff;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: min(1.08vw, 16px); } }
@media (min-width: 768px) {
  main {
    padding-top: 70px;
    font-size: min(1.08cqw, 16px); } }
@media (max-width: 767px) {
  main {
    padding-top: 17cqw;
    font-size: 3.5cqw; } }

.dot-over {
  position: relative; }
  .dot-over::before {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -0.5em);
    line-height: 1;
    color: #FF529B; }

.content-width {
  container: main / inline-size;
  width: min(100%, 1199px);
  margin: auto; }
  @media (max-width: 959px) {
    .content-width {
      padding-left: 4.5vw;
      padding-right: 4.5vw; } }

@media (min-width: 768px) {
  .half-width {
    width: 50%;
    padding: 2cqw;
    margin-left: auto;
    margin-right: auto; } }

@media (min-width: 768px) {
  section {
    padding-top: 4cqw;
    padding-bottom: 4cqw; } }
@media (max-width: 767px) {
  section {
    padding: 8cqw 4.5cqw; } }

.content-header {
  display: flex;
  flex-direction: column;
  align-items: center; }
  @media (min-width: 768px) {
    .content-header.-mini .content-title {
      font-size: 1.5cqw; } }
  @media (max-width: 767px) {
    .content-header.-mini .content-title {
      font-size: 5cqw; } }
  .content-header.-mini .content-subtitle {
    font-size: inherit; }
.content-title {
  margin: 0;
  font-weight: 700;
  order: 1; }
  @media (min-width: 768px) {
    .content-title {
      font-size: 2.25cqw; } }
  @media (max-width: 767px) {
    .content-title {
      font-size: 5cqw; } }
.content-subtitle {
  margin: 0;
  color: #02B4BC;
  font-weight: 700;
  font-family: "Roboto", sans-serif;
  line-height: 0.5; }
  @media (min-width: 768px) {
    .content-subtitle {
      font-size: 4.5cqw; } }
  @media (max-width: 767px) {
    .content-subtitle {
      font-size: 11cqw; } }
.content-summary {
  order: 2; }
  @media (min-width: 768px) {
    .content-summary {
      text-align: center; } }

/*金文字実績*/
.achievements {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }
  @media (min-width: 768px) {
    .achievements {
      column-gap: 5%;
      padding: 0 10%;
      margin: auto; } }
  .achievements dl {
    container-type: inline-size;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: bottom center;
    text-align: center;
    line-height: 1.2; }
    @media (min-width: 768px) {
      .achievements dl {
        width: 30%; } }
    @media (max-width: 767px) {
      .achievements dl {
        width: 50%; } }
  .achievements dt {
    color: #9b7500;
    font-size: 7cqw; }
  .achievements dd {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    margin: 0 auto;
    color: #ad8818;
    font-size: 8cqw; }
    .achievements dd .gradient {
      background: linear-gradient(to bottom, #d5a40e 0%, #d5a40e 35%, #ffe186 40%, #e0ad14 60%, #8b701b 100%);
      -webkit-background-clip: text !important;
      background-clip: text !important;
      color: transparent !important;
      font-size: 20cqw;
      font-weight: 900;
      font-family: "Roboto", sans-serif;
      text-shadow: 0.1cqw 0.1cqw 0.2cqw rgba(0, 0, 0, 0.16); }
    .achievements dd .current {
      position: absolute;
      right: 0;
      bottom: 0;
      color: #253539;
      font-size: 3.5cqw; }
  .achievements.-stars {
    background-image: url("/caregrowth/img/white-oval-bg.png");
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center; }
    .achievements.-stars dl {
      padding-bottom: 1.5cqw;
      background-image: url("/caregrowth/img/achivements-stars.png"); }

/*ボタン型*/
.btn,
button.qxCTlb {
  display: flex;
  align-items: center;
  justify-content: center;
  height: fit-content;
  margin: auto;
  padding: 1em 0.6em;
  border-radius: 2em;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  font-weight: 700;
  transition: 0.3s ease all; }
  .btn:hover,
  button.qxCTlb:hover {
    transform: translateY(2px); }

/*ボタン色*/
.-trial {
  background-color: #FF529B;
  border: 1px solid #FF529B;
  color: #fff; }
  .-trial::after {
    content: "";
    display: block;
    width: 2em;
    aspect-ratio: 1/1;
    background-repeat: no-repeat;
    background-size: 80%;
    background-position: center;
    background-image: url("/caregrowth/img/cta-traial-icon.png"); }

.-login,
button.qxCTlb {
  background-color: #fff;
  border: 1px solid #0075A0;
  color: #0075A0 !important; }

button.qxCTlb::after {
  content: "";
  display: block;
  width: 2em;
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-size: 80%;
  background-position: center;
  background-image: url("/caregrowth/img/cta-reserve-icon.png"); }

.-login {
  display: flex !important;
  height: 3em !important; }
  .-login::before {
    background-color: #0075A0;
    content: "";
    display: block;
    width: 2em;
    aspect-ratio: 1/1;
    background-repeat: no-repeat;
    background-size: 80%;
    background-position: center;
    mask-image: url("/caregrowth/img/icon/to-bracket.svg");
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain; }

.cta {
  display: flex; }
  main .cta {
    container-type: inline-size;
    flex-wrap: wrap;
    justify-content: space-around;
    padding-top: 0; }
  @media (min-width: 768px) {
    main .cta a,
    main .cta button {
      width: 47.5%;
      font-size: 3cqw; } }
  @media (max-width: 767px) {
    main .cta a,
    main .cta button {
      width: 80vw;
      margin: 1em auto; } }
  .cta.-floating {
    position: fixed;
    z-index: 1;
    pointer-events: none;
    transition: transform 300ms ease;
    opacity: 0;
    transition: transform 300ms ease, opacity 150ms ease; }
    .cta.-floating a {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      margin: 0; }
    .cta.-floating span {
      font-size: 16px; }
    @media (min-width: 768px) {
      .cta.-floating {
        top: 20vh;
        right: 0;
        width: 85px;
        transform: translateX(110%); }
        .cta.-floating a {
          flex-direction: column;
          padding: 15px 0;
          border-radius: 16px 0 0 16px; }
        .cta.-floating span {
          writing-mode: vertical-rl; } }
    @media (max-width: 767px) {
      .cta.-floating {
        bottom: 0;
        left: 0;
        width: 100%;
        transform: translateY(110%); }
        .cta.-floating a {
          padding: 15px 0;
          border-radius: 0; } }
    .cta.-floating.is-visible {
      transform: translateX(0);
      pointer-events: auto;
      opacity: 1; }
    @media (prefers-reduced-motion: reduce) {
      .cta.-floating {
        transition: none;
        transform: translateX(0); } }

/*ファーストビュー*/
#firstview {
  padding: 0;
  background-image: url("/caregrowth/img/fv_bg-l.jpg"), url("/caregrowth/img/fv_bg-r.jpg");
  background-repeat: no-repeat, no-repeat;
  background-position: left top, right top;
  font-weight: 700; }
  @media (min-width: 768px) {
    #firstview {
      background-size: auto 90%, auto 90%; } }
  @media (max-width: 767px) {
    #firstview {
      background-size: auto 45cqw, auto 45cqw;
      padding-top: 32cqw; } }
  @media (min-width: 768px) {
    #firstview .content-width {
      position: relative;
      width: min(100%, 1319px); } }
  @media (max-width: 767px) {
    #firstview .gradation-bg {
      background-image: url("/caregrowth/img/gradation-bg.png");
      background-size: 100% 100%;
      background-repeat: no-repeat;
      background-position: center; } }
  @media (min-width: 768px) {
    #firstview .half-width {
      container: half-width / inline-size; }
      #firstview .half-width.-left, #firstview .half-width.cta {
        margin-left: 0; } }
  #firstview .half-width.-left {
    display: flex;
    flex-direction: column;
    align-items: center; }
    @media (min-width: 768px) {
      #firstview .half-width.-left {
        padding-bottom: 0; } }
    #firstview .half-width.-left .section_sub-title {
      position: relative;
      display: block;
      width: 100%;
      margin: 0;
      padding: 0;
      font-size: 4.5cqw;
      text-align: center; }
      #firstview .half-width.-left .section_sub-title::after {
        content: "";
        display: block;
        width: 100%;
        aspect-ratio: 576/16;
        background-image: url("/caregrowth/img/fv-subtitle_bg.png");
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center; }
      #firstview .half-width.-left .section_sub-title span {
        color: #0075A0;
        font-size: 120%; }
    #firstview .half-width.-left .section_title {
      width: 100%;
      margin: 0;
      font-size: 9.5cqw;
      color: #0075A0; }
    #firstview .half-width.-left .section_message {
      width: 100%;
      font-size: 5cqw; }
  #firstview .half-width.-right {
    position: relative;
    text-align: center; }
    @media (min-width: 768px) {
      #firstview .half-width.-right {
        position: absolute;
        top: 0;
        right: 0; } }
    #firstview .half-width.-right .half-width-title {
      position: absolute;
      left: 50%;
      transform: translate(-50%, -50%);
      z-index: 1;
      width: fit-content;
      height: fit-content;
      margin: 0;
      padding: 0.5em 1.5em;
      background-color: #0075A0;
      color: #fff;
      border-radius: 1.5em;
      white-space: nowrap; }
      @media (min-width: 768px) {
        #firstview .half-width.-right .half-width-title {
          top: 10cqw; } }
      @media (max-width: 767px) {
        #firstview .half-width.-right .half-width-title {
          top: 0; } }
    #firstview .half-width.-right .half-width-content {
      position: relative;
      margin-top: 5cqw;
      padding: 5cqw;
      background-color: #fff;
      border: solid #0075A0 0.4cqw;
      border-radius: 1cqw;
      box-shadow: -2cqw 2cqw 0 0 rgba(2, 180, 188, 0.5); }
      @media (max-width: 767px) {
        #firstview .half-width.-right .half-width-content {
          margin-bottom: 10vw; } }
      #firstview .half-width.-right .half-width-content .img-name {
        font-size: 4cqw; }
      #firstview .half-width.-right .half-width-content img {
        display: block;
        width: 70%;
        margin: auto; }

/*こんなお悩みありませんか*/
#issues {
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: 100% 100%; }
  @media (min-width: 768px) {
    #issues {
      padding-top: 0;
      padding-bottom: 3cqw;
      background-image: url("/caregrowth/img/issues-bg.png"); } }
  @media (max-width: 767px) {
    #issues {
      padding-top: 0;
      padding-bottom: 0;
      background-image: url("/caregrowth/img/issues-bg-sp.png"); } }
  #issues h2 {
    position: relative;
    width: 100%;
    background-color: #0075A0;
    text-align: center;
    color: #fff; }
    @media (min-width: 768px) {
      #issues h2 {
        padding: 1.5cqw;
        font-size: 2cqw; } }
    @media (max-width: 767px) {
      #issues h2 {
        padding: 3cqw;
        font-size: 5cqw; } }
    #issues h2::after {
      content: "";
      position: absolute;
      top: 100%;
      left: 50%;
      border: solid transparent;
      height: 0;
      width: 0;
      border-color: transparent;
      border-top-width: 10px;
      border-bottom-width: 10px;
      border-left-width: 10px;
      border-right-width: 10px;
      margin-left: -10px;
      border-top-color: #0075A0;
      pointer-events: none; }
    #issues h2 span {
      font-size: 150%; }
    #issues h2 .dot-over::before {
      content: "・・・";
      /* 点の数を調整 */ }
  #issues .ncRows {
    container-type: inline-size; }
    #issues .ncRows_title {
      width: 100%;
      margin-bottom: 0;
      font-size: 7cqw;
      line-height: 1.2; }
      @media (max-width: 767px) {
        #issues .ncRows_title {
          margin-bottom: 4cqw; } }
      @media (min-width: 768px) {
        #issues .ncRows_title {
          aspect-ratio: 100/29; } }
      #issues .ncRows_title p {
        margin: 0 auto; }
      #issues .ncRows_title span {
        font-size: 10cqw;
        color: #0075A0; }
    #issues .ncRows:nth-of-type(1) .ncRows_text {
      background-image: url("/caregrowth/img/issue01.png"); }
    #issues .ncRows:nth-of-type(2) .ncRows_text {
      background-image: url("/caregrowth/img/issue02.png"); }
    #issues .ncRows:nth-of-type(3) .ncRows_text {
      background-image: url("/caregrowth/img/issue03.png"); }
    #issues .ncRows_text {
      position: relative;
      width: 100%;
      aspect-ratio: 370/383;
      background-size: contain;
      background-repeat: no-repeat;
      background-position: bottom center; }
      #issues .ncRows_text:nth-of-type(3) .ncRows_title {
        font-size: 6cqw; }
        #issues .ncRows_text:nth-of-type(3) .ncRows_title span {
          font-size: 7.5cqw; }
      #issues .ncRows_text p {
        position: absolute;
        padding: 2cqw 10cqw;
        background-color: #4d6067;
        border-radius: 3em;
        color: #fff;
        font-size: 5cqw;
        font-weight: 700; }
        #issues .ncRows_text p span {
          position: relative;
          z-index: 1; }
        #issues .ncRows_text p:first-of-type {
          top: 0;
          right: 0; }
          #issues .ncRows_text p:first-of-type::after {
            bottom: -6cqw;
            left: 8cqw; }
        #issues .ncRows_text p:last-of-type {
          bottom: 3cqw;
          left: 0; }
          #issues .ncRows_text p:last-of-type::after {
            top: -6cqw;
            left: 29cqw;
            transform: rotate(180deg); }
        #issues .ncRows_text p::before {
          content: "";
          display: inline-block;
          height: 1em;
          aspect-ratio: 21/19;
          background-image: url("/caregrowth/img/check.svg");
          background-size: contain;
          background-repeat: no-repeat;
          background-position: center; }
        #issues .ncRows_text p::after {
          position: absolute;
          z-index: 0;
          content: "";
          display: block;
          width: 7cqw;
          aspect-ratio: 25/33;
          background-image: url("/caregrowth/img/bubble-bg.png");
          background-size: contain;
          background-repeat: no-repeat;
          background-position: center; }

/*解決します*/
#answer {
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: 100% 100%; }
  @media (min-width: 768px) {
    #answer {
      padding: 9cqw 3cqw 5cqw;
      background-image: url("/caregrowth/img/answer-bg.png"); } }
  @media (max-width: 767px) {
    #answer {
      padding-top: 17cqw;
      padding-bottom: 10cqw;
      background-image: url("/caregrowth/img/answer-bg-sp.png"); } }
  #answer .ncColumns_panel {
    container-type: inline-size;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center; }
  #answer .title {
    font-weight: 900;
    font-size: 5.8cqw;
    text-align: center;
    margin-bottom: 5cqw; }
    #answer .title p {
      display: flex;
      justify-content: center;
      align-items: center;
      margin: 0;
      font-size: 130%; }
    #answer .title img {
      display: inline-block;
      width: 88cqw; }
  #answer .merit-list {
    padding: 0; }
    @media (max-width: 767px) {
      #answer .merit-list {
        margin-bottom: 5cqw; } }
    #answer .merit-list li {
      list-style: none;
      display: flex;
      align-items: center;
      padding: 2cqw 5cqw;
      margin-bottom: 2cqw;
      background-color: #fff;
      border: solid 0.4cqw #0075A0;
      box-shadow: 1cqw 1.5cqw 3cqw rgba(0, 0, 0, 0.16);
      border-radius: 1.5cqw;
      font-weight: 700;
      font-size: 4cqw; }
      #answer .merit-list li img {
        width: 12cqw;
        margin-right: 3cqw; }
      #answer .merit-list li:nth-of-type(1) .dot-over {
        letter-spacing: -0.05em; }
        #answer .merit-list li:nth-of-type(1) .dot-over::before {
          content: "・・";
          /* 点の数を調整 */ }
      #answer .merit-list li:nth-of-type(2) .dot-over::before, #answer .merit-list li:nth-of-type(3) .dot-over::before {
        content: "・・・・";
        /* 点の数を調整 */ }

/*結果*/
#effect {
  font-weight: 700; }
  @media (min-width: 768px) {
    #effect {
      padding-top: 5cqw;
      padding-bottom: 5cqw;
      background-image: url("/caregrowth/img/effect-bg-l.png"), url("/caregrowth/img/effect-bg-r.png");
      background-repeat: no-repeat, no-repeat;
      background-position: left top, right top;
      background-size: auto 100%, auto 100%; } }
  @media (max-width: 767px) {
    #effect {
      background-image: url("/caregrowth/img/effect-bg-sp.png");
      background-repeat: no-repeat;
      background-position: top center;
      background-size: contain;
      padding-top: 32cqw; } }
  #effect .content-width {
    padding-bottom: 1cqw;
    background: linear-gradient(to bottom, transparent 0%, transparent 5cqw, rgba(255, 255, 255, 0.8) 5cqw, rgba(255, 255, 255, 0.8) 100%); }
    @media (min-width: 768px) {
      #effect .content-width {
        width: 60%;
        border-radius: 1cqw; } }
  #effect .effect-trigger {
    container-type: inline-size;
    position: relative;
    background-color: #fff;
    border: solid #0075A0; }
    #effect .effect-trigger::after, #effect .effect-trigger::before {
      border: solid transparent;
      content: "";
      height: 0;
      width: 0;
      pointer-events: none;
      position: absolute;
      top: 100%;
      left: 50%; }
    @media (min-width: 768px) {
      #effect .effect-trigger {
        display: flex;
        justify-content: space-between;
        border-width: 0.2cqw;
        border-radius: 5cqw;
        padding: 2cqw; }
        #effect .effect-trigger::after {
          border-color: rgba(255, 255, 255, 0);
          border-top-width: 1cqw;
          border-bottom-width: 1cqw;
          border-left-width: 1cqw;
          border-right-width: 1cqw;
          margin-left: -1cqw;
          border-top-color: #ffffff; }
        #effect .effect-trigger::before {
          border-color: rgba(30, 144, 255, 0);
          border-top-width: 1.2cqw;
          border-bottom-width: 1.2cqw;
          border-left-width: 1.2cqw;
          border-right-width: 1.2cqw;
          margin-left: -1.1cqw;
          margin-top: 0.1cqw;
          border-top-color: #0075A0; } }
    @media (max-width: 767px) {
      #effect .effect-trigger {
        border-width: 0.4cqw;
        border-radius: 7cqw;
        padding: 4cqw; }
        #effect .effect-trigger::after {
          border-color: rgba(255, 255, 255, 0);
          border-top-width: 2cqw;
          border-bottom-width: 2cqw;
          border-left-width: 2cqw;
          border-right-width: 2cqw;
          margin-left: -2cqw;
          border-top-color: #ffffff; }
        #effect .effect-trigger::before {
          border-color: rgba(30, 144, 255, 0);
          border-top-width: 2.2cqw;
          border-bottom-width: 2.2cqw;
          border-left-width: 2.2cqw;
          border-right-width: 2.2cqw;
          margin-left: -2.2cqw;
          margin-top: 1px;
          border-top-color: #0075A0; } }
    #effect .effect-trigger li {
      position: relative;
      width: fit-content;
      padding-left: 2em;
      list-style: none;
      color: #0075A0;
      font-weight: 700; }
      #effect .effect-trigger li::before {
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        content: "";
        display: inline-block;
        height: 1em;
        aspect-ratio: 21/19;
        background-image: url("/caregrowth/img/check-gray.svg");
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center; }
      @media (min-width: 768px) {
        #effect .effect-trigger li {
          font-size: 2.4cqw; } }
      @media (max-width: 767px) {
        #effect .effect-trigger li {
          margin-bottom: 0.8em;
          font-size: 6cqw; } }
      #effect .effect-trigger li span {
        font-size: 110%;
        font-weight: 900; }
  @media (min-width: 768px) {
    #effect .ncColumns {
      justify-content: space-around;
      width: 90%;
      margin: 3cqw auto; } }
  @media (max-width: 767px) {
    #effect .ncColumns {
      margin: 9cqw auto 0; } }
  #effect .ncColumns_panel {
    container-type: inline-size;
    display: flex;
    justify-content: center;
    align-items: center;
    aspect-ratio: 1016/297;
    background-image: url("/caregrowth/img/blue-laurel.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: bottom center;
    text-align: center;
    line-height: 1.2; }
    @media (max-width: 767px) {
      #effect .ncColumns_panel:first-of-type {
        margin-bottom: 5cqw; } }
    #effect .ncColumns_panel p {
      margin-top: 1em;
      background: linear-gradient(to bottom, #00a2bf 0%, #00c6d0 100%);
      -webkit-background-clip: text !important;
      background-clip: text !important;
      color: transparent !important;
      font-weight: 900; }
      @media (min-width: 768px) {
        #effect .ncColumns_panel p {
          font-size: 6cqw; } }
      @media (max-width: 767px) {
        #effect .ncColumns_panel p {
          font-size: 7cqw; } }

/*選ばれる理由*/
#reasons {
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: cover;
  background-image: url("/caregrowth/img/reason-bg.png"); }
  @media (min-width: 768px) {
    #reasons {
      padding-top: 4cqw;
      padding-bottom: 4cqw; } }
  @media (max-width: 767px) {
    #reasons {
      padding-top: 15cqw;
      padding-bottom: 15cqw; } }
  #reasons .content-width {
    background-color: #fff; }
    @media (min-width: 768px) {
      #reasons .content-width {
        padding: 2cqw;
        border-radius: 1cqw;
        box-shadow: 0 0.2cqw 1cqw rgba(0, 0, 0, 0.16); } }
    @media (max-width: 767px) {
      #reasons .content-width {
        padding: 6cqw 4cqw 4cqw;
        border-radius: 2.5cqw;
        box-shadow: 0 0.4cqw 2cqw rgba(0, 0, 0, 0.16); } }
  #reasons .ncColumns_panel {
    container-type: inline-size; }
    @media (min-width: 768px) {
      #reasons .ncColumns_panel {
        padding-left: 2cqw;
        padding-right: 2cqw; } }
  #reasons .ncRows_title {
    order: 1;
    margin-bottom: 5cqw;
    font-size: 100%; }
  #reasons .ncRows_image {
    margin-bottom: 5cqw; }
  #reasons .ncRows_text {
    order: 2; }
    #reasons .ncRows_text p {
      margin: 0; }

/*機能・特長*/
@media (min-width: 768px) {
  #feature {
    padding-top: 4cqw;
    padding-bottom: 4cqw; } }
#feature .feature {
  background-color: #fff; }
  @media (min-width: 768px) {
    #feature .feature {
      padding: 3cqw;
      margin-bottom: 3cqw;
      border-radius: 1cqw;
      box-shadow: 0 0.2cqw 1cqw rgba(2, 180, 188, 0.2); } }
  @media (max-width: 767px) {
    #feature .feature {
      padding: 6cqw 4cqw;
      margin: 5cqw;
      border-radius: 2.5cqw;
      box-shadow: 0 0.4cqw 2cqw rgba(2, 180, 188, 0.2); } }
  #feature .feature h3 span {
    color: #0075A0; }
  #feature .feature ul {
    padding-left: 1.5em; }
#feature .ncAccordion_content {
  width: min(100%, 450px);
  margin: auto; }

/*実績*/
#achievements {
  background-repeat: no-repeat;
  background-position: bottom center;
  background-image: url("/caregrowth/img/feature-bg.png");
  text-align: center; }
  @media (min-width: 768px) {
    #achievements {
      padding: 0 10%;
      background-size: 100% 100%; } }
  @media (max-width: 767px) {
    #achievements {
      padding-top: 0;
      background-size: 150% auto; } }
  #achievements .ncColumns_panel p {
    margin: 0; }
  @media (max-width: 767px) {
    #achievements .ncColumns_panel {
      margin-top: 0; } }
  #achievements .cta {
    padding-top: 2cqw; }

/*お客様の声*/
#voice {
  background: linear-gradient(to bottom, rgba(232, 254, 255, 0.2), rgba(2, 180, 180, 0.2)); }
  @media (max-width: 767px) {
    #voice .content-width {
      padding: 0; } }
  @media (min-width: 768px) {
    #voice .voiceSlider {
      margin-top: 2cqw; } }
  @media (max-width: 767px) {
    #voice .voiceSlider .voiceSlider_track {
      display: flex;
      margin-top: 5cqw;
      align-items: stretch;
      overflow-x: auto;
      overflow-y: hidden;
      scroll-snap-type: x mandatory;
      -webkit-overflow-scrolling: touch;
      padding: 0;
      gap: 0;
      scrollbar-width: none; }
      #voice .voiceSlider .voiceSlider_track::-webkit-scrollbar {
        display: none; }
    #voice .voiceSlider .voiceSlider_dots {
      display: flex !important;
      justify-content: center;
      gap: 10px;
      margin-top: 12px; }
      #voice .voiceSlider .voiceSlider_dots button {
        display: inline-block;
        appearance: none;
        -webkit-appearance: none;
        width: 10px;
        height: 10px;
        border-radius: 9999px;
        border: 1px solid rgba(0, 0, 0, 0.35);
        background: rgba(0, 0, 0, 0.25) !important;
        padding: 0;
        margin: 0;
        cursor: pointer; }
        #voice .voiceSlider .voiceSlider_dots button.-active {
          background: rgba(0, 0, 0, 0.75) !important; } }
  @media (min-width: 768px) {
    #voice .-voice:not(:last-of-type) {
      margin-bottom: 5cqw; } }
  @media (max-width: 767px) {
    #voice .-voice {
      flex: 0 0 100%;
      width: 100%;
      scroll-snap-align: start;
      box-sizing: border-box;
      padding: 0 16px; } }
  #voice .-voice .speech-bubble {
    position: relative; }
    @media (max-width: 767px) {
      #voice .-voice .speech-bubble {
        height: 90cqw;
        padding: 15cqw 8cqw 8cqw;
        border-radius: 3cqw; } }
    @media (min-width: 768px) {
      #voice .-voice .speech-bubble {
        padding: 5cqw;
        border-radius: 1.5cqw; } }
    #voice .-voice .speech-bubble .period {
      position: absolute;
      top: 0;
      left: 0;
      background-color: #0283A5;
      color: #fff; }
      @media (max-width: 767px) {
        #voice .-voice .speech-bubble .period {
          padding: 2cqw;
          border-radius: 3cqw 0 3cqw 0; } }
      @media (min-width: 768px) {
        #voice .-voice .speech-bubble .period {
          padding: 1cqw;
          border-radius: 1.5cqw 0 1.5cqw 0; } }
      #voice .-voice .speech-bubble .period::before {
        content: "使用歴："; }
      #voice .-voice .speech-bubble .period::after {
        content: "年"; }
    #voice .-voice .speech-bubble .voice-title {
      position: relative;
      font-size: 130%;
      font-weight: 700;
      margin-top: 1em; }
      #voice .-voice .speech-bubble .voice-title::before {
        position: absolute;
        top: -0.8em;
        left: -0.6em;
        content: "❝";
        color: #02B4BC;
        font-size: 200%;
        font-weight: 400; }
    #voice .-voice .speech-bubble .voice-message {
      margin-bottom: 0;
      line-height: 2; }
  #voice .signature {
    margin-top: 1em;
    text-align: right;
    line-height: 1.5;
    font-size: 90%; }

/*利用継続率*/
#continued {
  background-repeat: repeat-x;
  background-position: bottom center;
  background-size: cover;
  background-image: url("/caregrowth/img/continued-bg.png");
  text-align: center; }
  @media (min-width: 768px) {
    #continued {
      padding-top: 4cqw;
      padding-bottom: 4cqw; } }
  @media (max-width: 767px) {
    #continued {
      padding: 15cqw 4.5cqw; } }
  #continued .content-width {
    width: min(100%, 572px);
    background-image: url("/caregrowth/img/white-oval-bg.png");
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center; }
  #continued p {
    font-weight: 700; }
    @media (min-width: 768px) {
      #continued p {
        margin-bottom: 0; } }
    @media (max-width: 767px) {
      #continued p {
        font-size: 5cqw; } }
  #continued dl {
    width: 100%;
    aspect-ratio: 554/194;
    margin: auto;
    background-image: url("/caregrowth/img/achivements-bg.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain; }
  #continued dd {
    width: 100%;
    height: 100%; }
  #continued span:not([class]) {
    font-size: 5cqw;
    font-weight: 700; }

/*導入の流れ*/
#flow {
  background-color: #E8FEFF;
  text-align: center; }
  @media (min-width: 768px) {
    #flow .flex {
      display: flex;
      align-items: center;
      justify-content: space-between; } }
  @media (max-width: 767px) {
    #flow .flex {
      gap: 6cqw; } }
  #flow .flex_panel {
    position: relative;
    container-type: inline-size;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1/1;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    text-align: center; }
    #flow .flex_panel:nth-of-type(1) {
      background-image: url("/caregrowth/img/flow-img01.png"); }
    #flow .flex_panel:nth-of-type(2) {
      background-image: url("/caregrowth/img/flow-img02.png"); }
    #flow .flex_panel:nth-of-type(3) {
      background-image: url("/caregrowth/img/flow-img03.png"); }
    #flow .flex_panel:nth-of-type(4) {
      background-image: url("/caregrowth/img/flow-img04.png"); }
    @media (min-width: 768px) {
      #flow .flex_panel {
        width: 24%; } }
    @media (max-width: 767px) {
      #flow .flex_panel {
        width: 70%;
        margin: auto; } }
    #flow .flex_panel p {
      font-weight: 700;
      font-size: 5.7cqw;
      transform: translateY(24cqw); }
    #flow .flex_panel:not(:last-of-type)::after {
      position: absolute;
      content: "";
      display: block;
      aspect-ratio: 1/1;
      mask-image: url("/caregrowth/img/icon/caret-right.svg");
      mask-repeat: no-repeat;
      mask-position: center;
      mask-size: contain;
      background-color: #02B4BC; }
      @media (min-width: 768px) {
        #flow .flex_panel:not(:last-of-type)::after {
          top: 50%;
          right: -10cqw;
          width: 15cqw;
          transform: translateY(-50%); } }
      @media (max-width: 767px) {
        #flow .flex_panel:not(:last-of-type)::after {
          bottom: -12.5cqw;
          left: 50%;
          width: 19cqw;
          transform: translateX(-50%) rotate(90deg); } }
  #flow .cta {
    margin-bottom: 0; }
  #flow .pop-diagon {
    margin-left: auto;
    margin-right: auto;
    color: #FF529B;
    font-weight: 700; }
    @media (min-width: 768px) {
      #flow .pop-diagon {
        padding-left: 2cqw;
        padding-right: 2cqw; } }
    @media (max-width: 767px) {
      #flow .pop-diagon {
        padding-left: 6cqw;
        padding-right: 6cqw; } }
    #flow .pop-diagon::before, #flow .pop-diagon::after {
      background-color: #FF529B; }
      @media (min-width: 768px) {
        #flow .pop-diagon::before, #flow .pop-diagon::after {
          width: 2cqw;
          height: 0.1cqw; } }
      @media (max-width: 767px) {
        #flow .pop-diagon::before, #flow .pop-diagon::after {
          width: 4cqw;
          height: 0.2cqw; } }
  #flow .bg-white {
    position: relative;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    background-color: #fff;
    border-radius: 3em;
    box-shadow: 0 0.2cqw 1cqw rgba(0, 0, 0, 0.16);
    font-weight: 700;
    margin-top: 15px; }
    @media (min-width: 768px) {
      #flow .bg-white {
        padding: 1cqw; } }
    @media (max-width: 767px) {
      #flow .bg-white {
        width: 100%;
        padding: 3cqw; } }
    #flow .bg-white::after {
      content: "";
      position: absolute;
      border-style: solid;
      border-color: transparent;
      top: 0;
      left: 50%;
      translate: -50% -100%; }
    #flow .bg-white::after {
      border-width: 0 6.4px 12.8px 6.4px;
      border-bottom-color: #fff; }
    #flow .bg-white span {
      color: #0075A0; }

/*利用料金*/
#usagefee :where(table),
#usagefee :where(tr),
#usagefee :where(th, td) {
  border: none; }
#usagefee table.fee {
  width: max-content;
  margin: 2em auto 0;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 16px;
  line-height: 1.4;
  font-weight: 700; }
  @media (min-width: 768px) {
    #usagefee table.fee {
      width: 890px; }
      #usagefee table.fee col {
        width: calc(100% / 3); } }
  @media (max-width: 767px) {
    #usagefee table.fee col:first-child {
      width: 12em; }
    #usagefee table.fee col:nth-child(2), #usagefee table.fee col:nth-child(3) {
      width: 10em; } }
  #usagefee table.fee th,
  #usagefee table.fee td {
    padding: 22px 16px;
    text-align: center;
    vertical-align: middle; }
  #usagefee table.fee tr:first-child th:first-child {
    font-size: 80%; }
  #usagefee table.fee tr:first-child th:nth-child(2), #usagefee table.fee tr:first-child th:nth-child(3) {
    border-radius: 10px 10px 0 0;
    color: #fff; }
  #usagefee table.fee tr:first-child th:nth-child(2) {
    background-color: #02B4BC; }
  #usagefee table.fee tr:first-child th:nth-child(3) {
    background-color: #0075A0; }
  #usagefee table.fee tr:not(:first-child) td {
    border-bottom: solid 1px #cccccc; }
    #usagefee table.fee tr:not(:first-child) td:first-child {
      background-color: rgba(204, 204, 204, 0.2);
      font-weight: 700; }
    #usagefee table.fee tr:not(:first-child) td:nth-child(2), #usagefee table.fee tr:not(:first-child) td:nth-child(3) {
      font-weight: 600; }
    #usagefee table.fee tr:not(:first-child) td:nth-child(2) {
      background-color: rgba(18, 180, 188, 0.1); }
    #usagefee table.fee tr:not(:first-child) td:nth-child(3) {
      background-color: rgba(0, 117, 160, 0.1); }
    #usagefee table.fee tr:not(:first-child) td:not(:last-child) {
      border-right: solid 1px #cccccc; }
#usagefee .ncColumns_panel {
  border: solid 2px; }
  @media (min-width: 768px) {
    #usagefee .ncColumns_panel {
      margin: 5cqw auto;
      padding: 2cqw;
      border-radius: 1cqw;
      box-shadow: 0 0.2cqw 1cqw rgba(0, 117, 160, 0.2); } }
  @media (max-width: 767px) {
    #usagefee .ncColumns_panel {
      margin-top: 8cqw;
      margin-bottom: 8cqw;
      padding: 8cqw 4cqw;
      border-radius: 2.5cqw;
      box-shadow: 0 0.4cqw 2cqw rgba(0, 117, 160, 0.2); } }
  #usagefee .ncColumns_panel:first-of-type {
    border-color: #02B4BC; }
    #usagefee .ncColumns_panel:first-of-type ul {
      display: flex;
      flex-wrap: wrap; }
      #usagefee .ncColumns_panel:first-of-type ul li {
        width: 50%; }
  #usagefee .ncColumns_panel:last-of-type {
    border-color: #0075A0; }
  #usagefee .ncColumns_panel i {
    display: flex;
    justify-content: center;
    width: 0.8em;
    margin: 0.5em auto; }
#usagefee ul {
  list-style-position: inside; }
#usagefee .inclusions {
  border-radius: 8px;
  padding: 1.5em; }
  #usagefee .inclusions-standard {
    background-color: rgba(18, 180, 188, 0.1); }
  #usagefee .inclusions-pro {
    background-color: rgba(0, 117, 160, 0.1); }
  #usagefee .inclusions-strage {
    background-color: rgba(226, 226, 226, 0.2); }
  #usagefee .inclusions p {
    margin-bottom: 0;
    text-align: center;
    font-weight: 700; }

/*質問*/
#faq {
  background-color: #E8FEFF; }

/*相談会*/
#consultation {
  background-repeat: repeat-x;
  background-position: bottom center;
  background-size: cover;
  background-image: url("/caregrowth/img/continued-bg.png"); }
  #consultation .content-width {
    padding: 3cqw;
    background-color: #fff; }
    @media (min-width: 768px) {
      #consultation .content-width {
        padding: 4cqw;
        border-radius: 2cqw; } }
    @media (max-width: 767px) {
      #consultation .content-width {
        padding: 8cqw 4cqw;
        border-radius: 4cqw; } }
  #consultation .content-subtitle {
    color: rgba(2, 180, 188, 0.1); }
    @media (max-width: 767px) {
      #consultation .content-subtitle {
        font-size: 7cqw; } }
  #consultation .ncColumns_panel {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 3cqw; }
  @media (min-width: 768px) {
    #consultation .cta button {
      width: 90%; } }
  @media (max-width: 767px) {
    #consultation .cta {
      margin-bottom: 0; } }

/*フッター*/
.site-footer {
  background-color: #0075A0;
  color: #fff; }
  .site-footer a {
    color: #fff; }
  .site-footer .content-width {
    display: flex;
    flex-direction: column;
    align-items: center; }
    @media (min-width: 768px) {
      .site-footer .content-width {
        padding: 4cqw; } }
    @media (max-width: 767px) {
      .site-footer .content-width {
        padding: 8cqw 4cqw; } }
  .site-footer .company-name {
    font-size: 130%;
    font-weight: 900; }
  .site-footer .footer-menu {
    list-style: none; }
    @media (min-width: 768px) {
      .site-footer .footer-menu {
        display: flex;
        justify-content: center; } }
    .site-footer .footer-menu li {
      margin: 0 2em; }
    .site-footer .footer-menu a {
      color: #fff;
      text-decoration: underline; }
    .site-footer .footer-menu .ncIcon::before {
      margin-left: 0.5em;
      background-color: #fff; }
  .site-footer small {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 1em;
    background-color: #253539;
    text-align: center; }
