@charset "UTF-8";
:root {
  --flex-list-col-num: 0;
  --flex-list-column-gap: 0;
  --care-plus-color: #012F4B;
  --care-plus-text-color: #EAEAEA;
  --care-plus-mark-color: #F9C270;
  --care-plus-inner-width: 1350px;
  --care-plus-margin: clamp(50px, -13.3333px + 15.8333vw, 145px);
  --media-width: 1350;
}
@media (max-width: 750px) {
  :root {
    --media-width: 750;
  }
}

.care-plus-content {
  background-color: var(--care-plus-color);
  color: var(--care-plus-text-color);
  font-family: "Yu Gothic", "Yu Gothic Medium", "Noto Sans JP", "游ゴシック Medium", "游ゴシック", Meiryo, "MS Gothic", sans-serif;
}

.care-plus-inner {
  width: 100%;
  max-width: calc(var(--care-plus-inner-width) + 40px);
  padding: 0 20px;
  margin: auto;
}

.hero {
  padding: 0;
}
.hero .img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media (min-width: 751px) {
  .sp-show {
    display: none;
  }
}

@media (max-width: 750px) {
  .pc-show {
    display: none;
  }
}

.care-plus-title {
  font-weight: 700;
  font-size: min(38 / var(--media-width) * 100vw, 38px);
  background: -webkit-gradient(linear, left top, right top, from(#333E46), color-stop(16%, rgba(177, 184, 189, 0.94)), color-stop(50%, rgba(255, 255, 255, 0.85)), color-stop(83.65%, rgba(177, 184, 189, 0.94)), to(#243846));
  background: linear-gradient(90deg, #333E46 0%, rgba(177, 184, 189, 0.94) 16%, rgba(255, 255, 255, 0.85) 50%, rgba(177, 184, 189, 0.94) 83.65%, #243846 100%);
  text-align: center;
  color: var(--care-plus-color);
  padding: 10px;
}

.care-plus-sub-ttl {
  font-weight: 500;
  font-size: min(28 / var(--media-width) * 100vw, 28px);
  line-height: 1.84;
  text-align: center;
  margin-top: min(40 / var(--media-width) * 100vw, 40px);
}
@media (max-width: 750px) {
  .care-plus-sub-ttl {
    font-size: min(30 / var(--media-width) * 100vw, 30px);
  }
}

.section-paid {
  margin-top: min(130 / var(--media-width) * 100vw, 130px);
}
.section-paid .boxes {
  padding: min(96 / var(--media-width) * 100vw, 96px) min(20 / var(--media-width) * 100vw, 20px) min(62 / var(--media-width) * 100vw, 62px);
  background-image: url(../img/bg-paid.webp);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: center;
  text-align: center;
  line-height: 1.8;
  position: relative;
}
.section-paid .log {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -60%);
      -ms-transform: translate(-50%, -60%);
          transform: translate(-50%, -60%);
  z-index: 2;
  max-width: calc(260.19 / var(--media-width) * 100%);
}
.section-paid .article01 {
  font-weight: 700;
  font-size: min(31 / var(--media-width) * 100vw, 31px);
  color: var(--care-plus-mark-color);
}
.section-paid .article01 p + p {
  margin-top: 20px;
}
.section-paid .article02 {
  font-weight: 500;
  font-size: min(28 / var(--media-width) * 100vw, 28px);
  margin: 1.6428571429em;
}
.section-paid .article03 {
  font-weight: 700;
  font-size: min(29 / var(--media-width) * 100vw, 29px);
  text-align: left;
  width: 100%;
  max-width: min(788 / var(--media-width) * 100vw, 788px);
  margin: 1.3793103448em auto;
}
.section-paid .article03 dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 0.5em;
}
.section-paid .article03 dt {
  color: var(--care-plus-mark-color);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.2em;
  white-space: nowrap;
}
.section-paid .article03 dt::before {
  content: "";
  width: 0.8em;
  min-width: 0.8em;
  aspect-ratio: 1/1;
  background-color: var(--care-plus-mark-color);
  border-radius: 100%;
}
.section-paid .article03 .mark {
  color: var(--care-plus-mark-color);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.2em;
  white-space: nowrap;
}
.section-paid .article03 .mark::before {
  content: "";
  width: 0.8em;
  min-width: 0.8em;
  aspect-ratio: 1/1;
  background-color: var(--care-plus-mark-color);
  border-radius: 100%;
}
.section-paid .article03 .medium {
  font-weight: 500;
}
.section-paid .note {
  font-weight: 500;
  font-size: min(19 / var(--media-width) * 100vw, 19px);
  line-height: 1.7;
}
.section-paid .bottom-note {
  font-weight: 500;
  font-size: min(18 / var(--media-width) * 100vw, 18px);
  line-height: 1.7;
  margin-top: 20px;
  text-align: right;
}
@media (max-width: 750px) {
  .section-paid .boxes {
    background-image: url(../img/bg-paid-sp.webp);
  }
  .section-paid .article03 {
    max-width: calc(538 / var(--media-width) * 100vw);
  }
}

.section-service {
  padding-bottom: 0;
}
.section-service .benefit {
  padding: min(100 / var(--media-width) * 100vw, 100px) 0;
}
.section-service .benefit:not(:first-child) {
  border-top: 1px solid #585858;
}
.section-service .benefit05 .title {
  font-size: min(70 / var(--media-width) * 100vw, 70px);
}
.section-service .ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  pointer-events: none;
}
.section-service .underline {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  margin: min(30 / var(--media-width) * 100vw, 30px) auto min(50 / var(--media-width) * 100vw, 50px);
  pointer-events: none;
}
.section-service .title {
  text-align: center;
  font-weight: 700;
  font-size: min(48 / var(--media-width) * 100vw, 48px);
  line-height: 1.26;
  color: var(--care-plus-mark-color);
}
.section-service .title .be-sure {
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 0.4166666667em;
}
.section-service .title .big {
  font-size: 1.4583333333em;
}
.section-service .title .price {
  font-size: 1.2083333333em;
}
.section-service .title sub {
  font-weight: 500;
  font-size: 0.3333333333em;
}
.section-service .title sup {
  font-weight: 500;
  font-size: 0.3333333333em;
  top: -1.5em;
  margin-left: -0.5em;
}
.section-service .title .small {
  font-weight: 500;
  font-size: 0.3333333333em;
}
.section-service .flow {
  width: 100%;
  max-width: 1190px;
  margin: auto;
}
.section-service .note {
  width: 100%;
  max-width: 1000px;
  margin: auto;
  font-weight: 500;
  font-size: min(16 / var(--media-width) * 100vw, 16px);
  line-height: 1.44;
  margin-top: min(40 / var(--media-width) * 100vw, 40px);
}
.section-service .target {
  width: 100%;
  max-width: 1190px;
  margin: min(60 / var(--media-width) * 100vw, 60px) auto;
  font-size: min(28 / var(--media-width) * 100vw, 28px);
  font-weight: 500;
  line-height: 1.44;
  letter-spacing: 0.05em;
}
.section-service .target dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border: 1px solid #ABABAB;
}
.section-service .target dt {
  background-color: var(--care-plus-text-color);
  color: var(--care-plus-color);
  font-weight: 700;
  font-size: min(30 / var(--media-width) * 100vw, 30px);
  line-height: 1.17;
  width: 7.9666666667em;
  min-width: 7.9666666667em;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.section-service .target dd {
  padding: min(30 / var(--media-width) * 100vw, 30px) min(44 / var(--media-width) * 100vw, 44px);
}
.section-service .presents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: min(40 / var(--media-width) * 100vw, 40px) min(50 / var(--media-width) * 100vw, 50px);
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 60px;
}
.section-service .present {
  width: min(300 / var(--media-width) * 100vw, 300px);
  text-align: center;
}
.section-service .present .fig {
  width: 100%;
  aspect-ratio: 300/257.96;
  position: relative;
  z-index: 3;
}
.section-service .present .fig img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.section-service .present .txt {
  text-align: center;
  font-weight: 700;
  font-size: min(24 / var(--media-width) * 100vw, 24px);
  line-height: 1.3;
}
.section-service .present .num {
  width: min(151 / var(--media-width) * 100vw, 151px);
  margin: min(7 / var(--media-width) * 100vw, 7px) auto min(14 / var(--media-width) * 100vw, 14px);
}
.section-service .present .num img {
  display: inline-block;
}
@media (max-width: 750px) {
  .section-service .ttl {
    width: min(272 / var(--media-width) * 100vw, 272px);
    margin: auto;
  }
  .section-service .underline {
    width: min(287 / var(--media-width) * 100vw, 287px);
  }
  .section-service .title {
    font-size: min(58 / var(--media-width) * 100vw, 58px);
  }
  .section-service .title .be-sure {
    width: min(300 / var(--media-width) * 100vw, 300px);
  }
  .section-service .title .big {
    font-size: 1.3793103448em;
  }
  .section-service .title .price {
    font-size: 1.1724137931em;
  }
  .section-service .title sub {
    font-size: 0.3448275862em;
  }
  .section-service .title sup {
    font-size: 0.3448275862em;
    top: -2.5em;
    margin-left: -0.5em;
  }
  .section-service .title .small {
    font-size: 0.3448275862em;
  }
  .section-service .title .sp-small {
    font-size: 0.7931034483em;
  }
  .section-service .benefit05 .title {
    font-size: min(76 / var(--media-width) * 100vw, 76px);
  }
  .section-service .benefit05 .title .sp-small {
    font-size: 0.6052631579em;
  }
  .section-service .benefit05 .title .be-sure {
    margin-bottom: 0;
  }
  .section-service .benefit .care-plus-sub-ttl {
    font-size: min(32 / var(--media-width) * 100vw, 32px);
  }
  .section-service .target {
    font-size: min(32 / var(--media-width) * 100vw, 32px);
  }
  .section-service .target dl {
    display: block;
    border: none;
  }
  .section-service .target dt {
    font-size: min(28 / var(--media-width) * 100vw, 28px);
    line-height: 1.17;
    letter-spacing: 0.05em;
    width: 5.0357142857em;
    min-width: 5.0357142857em;
    padding: min(10 / var(--media-width) * 100vw, 10px) 0;
  }
  .section-service .target dd {
    border: 1px solid #ABABAB;
    padding: min(30 / var(--media-width) * 100vw, 30px);
  }
  .section-service .note {
    font-size: min(20 / var(--media-width) * 100vw, 20px);
  }
  .section-service .presents {
    -webkit-column-gap: min(20 / var(--media-width) * 100vw, 20px);
       -moz-column-gap: min(20 / var(--media-width) * 100vw, 20px);
            column-gap: min(20 / var(--media-width) * 100vw, 20px);
  }
}

.section-product .products {
  width: 100%;
  max-width: 996px;
  margin: auto;
}
.section-product .products .item {
  margin-top: min(60 / var(--media-width) * 100vw, 60px);
  font-weight: 500;
  font-size: min(28 / var(--media-width) * 100vw, 28px);
  line-height: 1.84;
  letter-spacing: 0.05em;
  text-align: center;
}
.section-product .products .tt {
  margin-bottom: min(20 / var(--media-width) * 100vw, 20px);
}
.section-product .btn {
  display: block;
  width: 100%;
  max-width: 780px;
  margin: min(60 / var(--media-width) * 100vw, 60px) auto;
  background: -webkit-gradient(linear, left top, right top, from(#C1872D), color-stop(30%, #FDDE8E), color-stop(90%, #D6A761), to(#FBD375));
  background: linear-gradient(90deg, #C1872D 0%, #FDDE8E 30%, #D6A761 90%, #FBD375 100%);
  color: var(--care-plus-color);
  text-align: center;
  font-size: min(28 / var(--media-width) * 100vw, 28px);
  font-weight: 700;
  padding-top: min(23 / var(--media-width) * 100vw, 23px);
  padding-bottom: min(23 / var(--media-width) * 100vw, 23px);
  border-radius: min(18 / var(--media-width) * 100vw, 18px);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.section-product .btn .big {
  font-size: 1.1785714286em;
}
@media (pointer: fine) {
  .section-product .btn:hover {
    -webkit-transform: translateY(-3px);
        -ms-transform: translateY(-3px);
            transform: translateY(-3px);
    -webkit-box-shadow: 0 10px 30px rgba(193, 135, 45, 0.4);
            box-shadow: 0 10px 30px rgba(193, 135, 45, 0.4);
  }
}
.section-product .banner {
  width: 100%;
  max-width: 1190px;
  margin: auto;
}
@media (max-width: 750px) {
  .section-product .care-plus-sub-ttl strong {
    font-size: 1.2333333333em;
  }
  .section-product .products .item {
    margin-top: min(40 / var(--media-width) * 100vw, 40px);
  }
}

.section-details .hotline {
  text-align: center;
  font-weight: 700;
  font-size: min(27 / var(--media-width) * 100vw, 27px);
  line-height: 1.68;
  width: 25.5555555556em;
  max-width: 100%;
  padding: 10px;
  border: 1px solid var(--care-plus-text-color);
  margin: min(30 / var(--media-width) * 100vw, 30px) auto min(22 / var(--media-width) * 100vw, 22px);
}
.section-details .tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
.section-details .tel img {
  pointer-events: none;
}
.section-details {
  /* 89 * 107.9 */
}
@media (max-width: 750px) {
  .section-details .hotline {
    width: 22.2962962963em;
  }
  .section-details .tel {
    width: 100%;
    max-width: min(537 / var(--media-width) * 100vw, 537px);
    margin-left: auto;
    margin-right: auto;
  }
}