.fv {
  position: relative;
  height: 100vh;
  width: 100%;
  overflow-x: hidden;
}

.fv__overlay {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(256, 256, 256, 0.3);
  z-index: 1;
}

.fv__img {
  background-image: url(images/sky.jpg);
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  background-size: auto 130%;
  background-position: 51% 92%;
}

.fv__img::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(images/fv_decor.svg);
  height: 100%;
  width: 100%;
  background-position: center 74%;
  background-repeat: no-repeat;
  background-size: 100%;
}

.fv__circle {
  position: absolute;
  border: 15px solid #98f0ef;
  bottom: -1px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}

.strengths {
  position: relative;
  width: 100%;
  margin-top: 150px;
  margin-bottom: 150px;
  padding: 75px 32px 75px 32px;
  background-color: #f3f8ff;
}

@media (min-width: 1200px) {
  .strengths::after {
    content: "";
    position: absolute;
    left: 28px;
    top: 0;
    background-image: url(images/strengths_decor.svg);
    width: 83px;
    height: 100%;
  }

  .strengths::before {
    content: "";
    position: absolute;
    right: 28px;
    top: 0;
    background-image: url(images/strengths_decor.svg);
    transform: rotate(180deg);
    width: 83px;
    height: 100%;
  }
}

.problem {
  width: 100%;
  padding: 0 10px;
  margin-top: 150px;
}

@media (min-width: 455px) {
  .fv__img {
    clip-path: circle(100vw at center 0vw);
  }

  /* .fv__img::after {
    background-image: url(images/fv_decor_pc.svg);
    background-position: center top;
  } */
}

@media (min-width: 499px) {
  .fv__img {
    clip-path: circle(150vw at center -20vw);
  }
}

.section_title h2 {
  font-size: 32px;
  text-align: center;
  color: #333333;
  line-height: normal;
}

.section_title span {
  display: block;
  width: 100%;
  font-size: 18px;
  color: #5dade2;
  margin-top: 10px;
  text-align: center;
}

.problem_content {
  display: flex;
  flex-direction: column;
  padding: 0px 41px 70px 41px;
  position: relative;
  max-width: 355px;
  margin: 28px auto 0 auto;
}

.problem_content__img {
  position: relative;
  width: 113px;
  height: 113px;
  margin: 0 auto;
  background-size: contain;
}

.problem_content__img::after {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -60%);
  font-size: 24px;
  font-weight: 600px;
  color: #ffffff;
}

.problem_content:first-of-type .problem_content__img::after {
  content: "ED";
}

.problem_content:last-of-type .problem_content__img::after {
  content: "AGA";
}

.problem_content__img.ed {
  background-image: url(images/blue_sun.svg);
}

.problem_content__img.aga {
  background-image: url(images/green_sun.svg);
}

.problem_content__text {
  margin-top: 13px;
}

.problem_content__text span {
  display: block;
  line-height: 23px;
  white-space: nowrap;
}

.problem_content__text span text {
  margin-left: 10px;
}

.problem_content__text span:not(:first-child) {
  margin-top: 11px;
}

.problem_content__text>div:not(:first-child) {
  margin-top: 11px;
}

.problem_content:last-of-type {
  margin-top: 27px;
}

.problem_content__decor {
  background-size: contain;
  position: absolute;
  z-index: -1;
  right: 0;
  bottom: 0;
}

.problem_content:first-of-type .problem_content__decor {
  width: 138.5px;
  height: 186px;
  background-image: url(images/man.svg);
  filter: opacity(0.1);
}

.problem_content:last-of-type .problem_content__decor {
  width: 99px;
  height: 186px;
  background-image: url(images/girl.svg);
  filter: opacity(0.1);
}

.problem_content:first-of-type::after {
  content: "";
  position: absolute;
  z-index: -2;
  background-color: #f3f8ff;
  bottom: 0;
  left: 0;
  width: 100%;
  height: calc(100% - 56.5px);
}

.problem_content:last-of-type::after {
  content: "";
  position: absolute;
  z-index: -2;
  background-color: #f3fff6;
  bottom: 0;
  left: 0;
  width: 100%;
  height: calc(100% - 56.5px);
}

.line_container {
  position: relative;
  width: 100%;
  height: 146px;
  border-radius: 20px;
  background-color: #008E44;
  margin: 70px auto 0 auto;
  max-width: 500px;
  display: flex;
  gap: 20px;
  justify-content: center;
  align-items: center;
}

.line_container::after {
  content: "";
  position: absolute;
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: 2px solid #ffffff;
  border-radius: 10px;
}

.line_container__img01 {
  display: none;
}

.line_container__text {
  display: flex;
  flex-direction: column;
  gap: 10px;
  justify-content: center;
  /*  align-items: center; */
  height: 100%;
  width: 160px;
}

.line_container__text span {
  color: #ffffff;
}

.line_container__text span:first-child {
  font-family: "Rubik", sans-serif;
  font-size: 20px;
  font-weight: 600;
}

.line_container__text span text {
  font-family: "Rubik", sans-serif;
  font-size: 20px;
  font-weight: 500;
}

.line_container__text span:last-child {
  font-size: 28px;
  font-weight: 700;
  line-height: 32px;
  margin-left: -3px;
}

.line_container__img02 {
  background-image: url(images/doctor.svg);
  width: 87px;
  height: 114px;
  background-size: contain;
  position: relative;
  top: 6px;
  z-index: 2;
}

.pc_indent {
  display: none;
}

.strengths_wrapper {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin: 40px auto 0 auto;
  gap: 40px;
  justify-content: center;
  align-items: center;
}

.strength {
  position: relative;
  width: 100%;
  height: 374px;
  padding: 64px 0 35px 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  border: 3px solid #5dade2;
  border-radius: 10px;
  max-width: 310px;
  min-width: 300px;
  cursor: pointer;
  background-color: #ffffff;
}

.strength:nth-of-type(2) {
  padding-top: 59px;
}

.strength:last-of-type {
  padding-top: 85px;
}

.strength::before {
  content: "";
  height: 40px;
  width: 40px;
  position: absolute;
  background-color: #5dade2;
  clip-path: polygon(0 100%, 100% 100%, 100% 0);
  right: -1px;
  bottom: -1px;
}

.strength::after {
  content: 'Click';
  color: #fff;
  position: absolute;
  -webkit-text-fill-color: white;
  /* （順序に関係なく）色を上書きする */
  /* -webkit-text-stroke: 3px #5dade2; */
  display: block;
  position: absolute;
  bottom: 10px;
  right: 0;
  font-weight: 500;
  font-size: 18px;
  text-shadow:
    2px 0 0 #5dade2,
    -2px 0 0 #5dade2,
    0 2px 0 #5dade2,
    0 -2px 0 #5dade2,
    2px 2px 0 #5dade2,
    -2px 2px 0 #5dade2,
    2px -2px 0 #5dade2,
    -2px -2px 0 #5dade2,

    1px 0 0 #5dade2,
    -1px 0 0 #5dade2,
    0 1px 0 #5dade2,
    0 -1px 0 #5dade2,
    1px 1px 0 #5dade2,
    -1px 1px 0 #5dade2,
    1px -1px 0 #5dade2,
    -1px -1px 0 #5dade2;
  transform: rotate(-45deg);
  transform-origin: center center;
}

.strength .strength__img {
  background-size: contain;
  margin: 0 auto;
  background-repeat: no-repeat;
  background-position: center;
}

.strength.st01 .strength__img {
  background-image: url(images/man_4.svg);
  width: 198px;
  height: 160px;
}

.strength.st02 .strength__img {
  background-image: url(images/doctor_3.svg);
  width: 168px;
  height: 168px;
}

.strength.st03 .strength__img {
  background-image: url(images/present.svg);
  width: 190px;
  height: 114px;
}

.strength__text {
  font-size: 24px;
  line-height: 34px;
  text-align: center;
  font-weight: 500;
}

.strength_mask {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 10px;
}

.modal {
  display: none;
  opacity: 0;

  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  /* height: 100vh; */
  height: 100vh;

  background-color: #5dade2;
  transition: opacity 0.5s ease;
  gap: 40px;
  padding: 0 10px;
  overflow-y: auto;
  padding-top: 70px;

  flex-direction: column;
  pointer-events: auto;
}

.modal.activated {
  display: flex;
  opacity: 0.9;
  z-index: 1005;
}

@media (min-width: 768px) {
  .strength::after {
    display: none;
  }

  .strength:hover .modal {
    display: flex;
    opacity: 0.9;
    z-index: 1005;
    pointer-events: none;
  }
}

/* @media (min-width: 768px) {
  .modal {
    pointer-events: none;
  }
} */

.modal * {
  color: #ffffff;
}

.modal.top-align {
  justify-content: flex-start;
  /* Align content at the top */
  overflow-y: auto;
  /* Enable vertical scrolling */
}

.modal__content {
  width: 100%;
  margin: 0px auto 0 auto;
  height: fit-content;
  padding: 0 10px;
}

@media (min-width: 768px) {
  .modal h2 br {
    display: none;
  }

  .modal {
    justify-content: center;
  }
}

.modal h2 {
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  line-height: normal;
}

.modal p {
  font-size: 14px;
  text-align: center;
  font-weight: 500;
  line-height: 30px;
  margin-top: 40px;
}

.close {
  display: none;
  position: fixed;
  top: 8px;
  right: 0;
}

.strengths_wrapper .close_button_line {
  position: absolute;
  height: 2px;
  width: 27px;
  background-color: #ffffff;
  top: 25px;
  right: 13px;
}

.feature_section {
  padding-bottom: 68px;
}

.feature {
  position: relative;
  /* overflow-y: hidden; */
}

.feature__intro {
  width: 100%;
  padding: 35px 10px;
  color: #ffffff;
  position: relative;
  margin-top: 40px;
}

.feature.ed .feature__intro {
  background-color: #5dade2;
  border-top-left-radius: 30px;
}

.feature.aga .feature__intro {
  background-color: #48c9b0;
  border-top-right-radius: 30px;
  margin-top: 150px;
}

.feature__intro__decor {
  background-size: contain;
  position: absolute;
}

.feature.ed .feature__intro__decor {
  background-image: url(images/shisa.svg);
  width: 194px;
  height: 104px;
  right: 10px;
  bottom: 10px;
}

.feature.aga .feature__intro__decor {
  background-image: url(images/palm.svg);
  width: 101px;
  height: 111px;
  /* left: 10px; */
  right: 10px;
  bottom: 0;
}

.feature__intro__title {
  padding-bottom: 10px;
  text-align: center;
}

.custom-dashed-border {
  width: 100%;
  height: fit-content;
  display: flex;
}

.custom-dashed-border div {
  display: inline-block;
  height: 21px;
  width: 50%;
  background-size: 14px 1px;
  background-repeat: repeat-x;
  position: relative;
}

.custom-dashed-border div:first-child {
  background-image: linear-gradient(to left, #ffffff 7px, transparent 7px);
  background-position: right;
  right: -3.5px;
}

.custom-dashed-border div:last-child {
  background-image: linear-gradient(to right, #ffffff 7px, transparent 7px);
  background-position: left;
  left: -3.5px;
}

.feature__intro__title span:first-of-type {
  font-size: 28px;
  font-weight: 700;
  margin-right: 10px;
}

.feature__intro__title span:last-of-type {
  font-size: 14px;
}

.feature__intro p {
  font-weight: 500;
  line-height: 30px;
}

.feature__product_container {
  position: relative;
  padding: 70px 10px 126px 10px;
  overflow: visible;
}

.feature__product_container::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background-image: url(images/wood.jpg);
  opacity: 0.6;
  z-index: -1;
  border-bottom-right-radius: 30px;
}

.feature.aga .feature__product_container::after {
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 30px;
}

.feature__product:not(:first-of-type) {
  margin-top: 70px;
}

.feature__product span {
  font-size: 24px;
  font-weight: 500;
}

.feature__product__img {
  margin-bottom: 40px;
}

.feautre__product__topical-medication {
  color: #333;
  font-size: 18px;
  font-weight: bold;
  display: flex;
  padding: 5px;
  background-color: #fff;
  border: 1px solid #333333;
  border-radius: 4px;
  width: 4em;
  margin: 15px auto 0;
  justify-content: center;
  align-items: center;
}

.feautre__product__topical-medication.bg-color--black {
  background-color: #333;
  color: #fff;
  margin-top: 50px;
}

.title__multiple-lines {
  line-height: 1.5;
}

.feature.ed .feature__product span {
  color: #5dade2;
}

.feature.aga .feature__product span {
  color: #48c9b0;
}

.feature.aga .feature__product span.font--small {
  font-size: 16px;
  line-height: 1;
}

.feature.ed .feature__product span.font--small {
  font-size: 16px;
  line-height: 1;
}

.feature__product h3 {
  font-size: 28px;
  color: #5dade2;
  text-align: center;
}

.feature.ad .feature__product h3 {
  color: #5dade2;
}

.feature.aga .feature__product h3 {
  color: #48c9b0;
}

.feature.aga .feature__product h3.pattern02 {
  font-size: 26px;
}

.feature.aga .feature__product h4 {
  color: #48c9b0;
  font-size: 20px;
  text-align: center;
  margin-top: 15px;
}

.feature__product__dose_price {
  display: flex;
  gap: 20px;
  /* margin-top: 40px; */
  margin-top: 15px;
  flex-direction: column;
}

.feature__product__dose,
.feautre__product__price {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #5dade2;
  width: fit-content;
  height: 41px;
  border-radius: 20.5px;
  background-color: #ffffff;
  margin: 0 auto;
  padding: 12px 25px;
  white-space: nowrap;
}

.feature__product__dose_price .border--green {
  border-color: #48c9b0;
}

.feature__product__dose span,
.feautre__product__price span {
  position: relative;
  top: -1px;
}

.feautre__product__price span {
  margin-right: 4px;
}

.feature__product p {
  margin-top: 40px;
  width: 100%;
  line-height: 30px;
}

.feature__age_group {
  margin-top: 70px;
}

.feature__age_group__images div {
  background-size: contain;
}

.feature__age_group__images {
  display: flex;
  gap: 15px;
  margin: 0 auto;
  width: fit-content;
}

.feature__age_group__images div:first-child {
  background-image: url(images/man_2.svg);
  width: 91px;
  height: 93px;
}

.feature__age_group__images div:last-child {
  background-image: url(images/man_3.svg);
  width: 95px;
  height: 92px;
}

.feature__age_group>div:last-of-type {
  color: #333333;
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  line-height: normal;
  position: relative;
  max-width: 355px;
  margin: 10px auto 0 auto;
}

.feature__age_group>div:last-of-type::before {
  content: "\\";
  position: absolute;
  left: 0;
  bottom: 0;
  font-weight: 900;
}

.feature__age_group>div:last-of-type::after {
  content: "/";
  position: absolute;
  right: 0;
  bottom: 0;
  font-weight: 900;
}

.feature_decor {
  position: absolute;
  bottom: -68px;
  left: 35px;
  display: flex;
  gap: 11px;
}

.feature_decor div {
  background-size: contain;
}

.feature_decor div:first-child {
  background-image: url(images/doctor_2.svg);
  width: 143px;
  height: 162px;
  background-size: contain;
  background-repeat: no-repeat;
  position: relative;
}

.feature_decor div:first-child::after {
  position: absolute;
  content: "";
  top: -14px;
  left: 9px;
  background-image: url(images/doctor_e.svg);
  width: 24px;
  height: 20.5px;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

.feature_decor div:last-child {
  position: relative;
  top: 6px;
  background-image: url(images/pills.svg);
  width: 104px;
  height: 81px;
  background-size: contain;
  background-repeat: no-repeat;
}

.line_section {
  padding: 0 10px 212px 10px;
}

.line__other {
  margin-top: 70px;
}

.line__other h3 {
  font-size: 24px;
  text-align: center;
}

.price_list {
  margin-top: 40px;
  width: 100%;
  border: 3px solid #cccccc;
  border-radius: 10px;
  padding: 43px 0;
}

.price_list__row {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.price_list__row:first-of-type {
  border-bottom: 1px solid #cccccc;
  padding-bottom: 40px;
}

.price_list__row:last-of-type {
  padding-top: 40px;
}

.price_list__row span {
  font-size: 24px;
  margin-top: 15px;
}

.price_list__row small {
  display: block;
  font-size: 12px;
  max-width: 204px;
  margin-top: 10px;
  line-height: normal;
}

.catch {
  background-image: url(images/sunset.jpg);
  width: 100%;
  height: 100vh;
  background-position: 47% bottom;
  background-size: cover;
  transition: filter 1s ease-out;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin-bottom: 150px;
}

.catch::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000000;
  opacity: 0.15;
  z-index: 1;
}

.catch.gray {
  filter: grayscale(1) brightness(45%);
}

.catch__text {
  opacity: 0;
  transition: opacity 0.5s ease-out;
  color: #ffffff;
  font-family: "Shippori Mincho B1", sans-serif;
  font-size: 18px;
  font-weight: 500;
  text-align: center;
  line-height: normal;
  z-index: 2;
}

.catch__text.visible {
  opacity: 1;
}

.column {
  position: relative;
  padding: 0px 0 150px 0;
}

.column h2 {
  font-size: 28px;
  line-height: normal;
}

.tab-content__item h2 {
  position: relative;
  left: 24px;
}

.tab-content__item h2::before {
  content: "●";
  font-size: 18px;
  font-weight: 500;
  color: #5dade2;
  position: absolute;
  top: 7.5px;
  left: -24px;
}

#AGA .tab-content__item h2::before {
  color: #48c9b0;
}

.column_container {
  width: 100%;
  margin: 40px auto 0 auto;
  padding-top: 70px;

  max-width: 950px;
}

.column {
  position: relative;
}

.column::after {
  content: "";
  position: absolute;
  width: 100vw;
  height: 100%;
  left: 0;
  top: 157px;
  background-image: url(images/BG.png);
  z-index: -2;
}

.tab-content__item p:first-of-type {
  margin-top: 30px;
}

.tab-content__item p:not(:first-of-type) {
  margin-top: 40px;
}

.tab-content__item p {
  line-height: 27px;
}

.tab-content .custom-dashed-border {
  margin: 30px 0 60px 0;
}

.tab-content .custom-dashed-border div {
  display: inline-block;
  height: 21px;
  width: 50%;
  position: relative;
  background-size: 14px 2px;
  background-repeat: repeat-x;
}

.tab-content .custom-dashed-border div:first-child {
  background-image: linear-gradient(to left, #000000 7px, transparent 7px);
  background-position: right;
  right: -3.5px;
}

.tab-content .custom-dashed-border div:last-child {
  background-image: linear-gradient(to right, #000000 7px, transparent 7px);
  background-position: left;
  left: -3.5px;
}

.tabs {
  overflow: hidden;
  display: flex;
  justify-content: center;
  gap: 10px;
}

.tab-link {
  cursor: pointer;
  padding: 14px 16px;
  transition: background-color 0.3s;
  border-radius: 10px 10px 0 0;
  width: 43.4vw;
  max-width: 163px;
  height: 60px;
  background-color: rgba(256, 256, 256, 0.6);
  font-size: 28px;
  font-weight: 500;
  line-height: 28px;
}

.tab-link:first-of-type {
  border: 2px solid #5dade2;
  color: #5dade2;
  border-bottom: none;
}

.tab-link:last-of-type {
  border: 2px solid #48c9b0;
  border-bottom: none;
  color: #48c9b0;
}

.tab-link:first-of-type.active {
  background-color: #5dade2;
  color: #ffffff;
}

.tab-link:last-of-type.active {
  background-color: #48c9b0;
  color: #ffffff;
}

.tab-content {
  background-color: rgba(256, 256, 256, 0.6);
  display: none;
  border: 2px solid #5dade2;
  border-radius: 10px;
  padding: 70px 12px;
  position: relative;
}

.tab-content::after {
  content: "";
  position: absolute;
  top: -2px;
  right: -2px;
  width: 50%;
  height: 100%;
  border-radius: 0 10px 10px 0;
  border: 2px solid #48c9b0;
  border-left: none;
  box-sizing: content-box;
}

.tab-content.active {
  display: block;
}

.about {
  padding: 150px 10px 167px 10px;
  width: 100%;
  background-image: url(images/laguna.jpg);
  position: relative;
  background-size: 2100px 1300px;
  background-position: 40% top;
  background-repeat: no-repeat;
}

.about::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  opacity: 0.8;
  z-index: 1;
}

.about * {
  position: relative;
  z-index: 2;
}

.about_info {
  width: 100%;
  max-width: 355px;
  background-color: #5dade2;
  position: relative;
  padding: 40px 27px;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  gap: 20px;
  z-index: 2;
  margin: 40px auto 0 auto;
}

.about_info::after {
  content: "";
  position: absolute;
  height: calc(100% - 20px);
  width: calc(100% - 20px);
  border: 2px solid #ffffff;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.about_info::before {
  content: "";
  background-image: url(images/palm_2.svg);
  background-size: contain;
  width: 123px;
  height: 148px;
  position: absolute;
  right: 21px;
  bottom: 33px;
}

.about_info h3 {
  font-weight: 600;
}

.about_info p,
.about_info h4 {
  margin-left: 47px;
  line-height: normal;
}

.about_info h4 {
  position: relative;
  left: -10px;
  font-weight: 500;
}

.about_img {
  width: 100%;
  aspect-ratio: 355 / 315;
  background-image: url(images/building.png);
  background-size: 187%;
  background-position: 93% bottom;
  position: relative;
  max-width: 475px;
  max-height: 315px;
  margin: 40px auto 0 auto;
}

.about_img::after {
  position: absolute;
  content: "";
  left: 0;
  top: -35px;
  background-image: url(images/turtle.svg);
  height: 103px;
  width: 103px;
  background-size: contain;
  transform: rotate(-26deg);
}

.about_img::before {
  position: absolute;
  content: "";
  left: 100px;
  top: 20px;
  background-image: url(images/turtle.svg);
  height: 47px;
  width: 47px;
  background-size: contain;
  transform: rotate(18deg);
}

.wave {
  display: flex;
  flex-direction: row;
  position: absolute;
  bottom: -1px;
  width: calc(100% + 20px);
  left: -10px;
}

.wave div {
  position: relative;
  background-image: url(images/wave.png);
  background-repeat: repeat-x;
  width: 50%;
  overflow: hidden;
  height: 20px;
  filter: brightness(0) invert(1);
}

.wave div:first-child {
  left: 0;
  transform: scaleX(-1);
}

footer {
  width: 100%;
  height: 200px;
  background-color: #ffffff;
}

footer .logo_wrapper {
  flex-direction: column;
  margin-top: 70px;
}

footer .logo_img {
  width: 88px;
  height: 88px;
}

footer .logo_wrapper span {
  font-size: 24px;
  font-weight: 500;
}

footer .rights {
  margin-top: 70px;
  font-size: 14px;
  text-align: center;
}

.fixed_item {
  background-image: url('images/fixed_item.svg');
  background-size: contain;
  display: block;
  background-repeat: no-repeat;
  width: 41px;
  height: 170px;
  margin-left: auto;
  position: fixed;
  left: auto;
  right: 0;
  z-index: 100;
  bottom: 40px;
  display: none;

}

.fixed_item>a {
  width: 100%;
  height: 100%;
  display: block;
}

.online__txt {
  margin-top: 32px;
  line-height: calc(30/16);
  margin-bottom: 24px;
}

.app__dl__wrap {
  /* display: flex; */
}

.app__dl__img {
  width: 137px;

  background-size: contain;
  background-repeat: no-repeat;
  display: block;
  margin: 0 auto;
}

.app__dl__img>a {
  width: 100%;
  height: 100%;
  display: block;
}

.app__dl__img01 {
  background-image: url('images/app__btn.png');
  height: 43px;
  margin-bottom: 26px;
}

.app__dl__img02 {
  background-image: url('images/gp__btn.png');
  height: 46px;
}

.app__dl__qr__img {
  width: 55px;
  height: 55px;
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
  display: none;
}

.app__dl__qr__img01 {}

.app__dl__qr__img02 {}

.online__slider {
  margin-top: 80px;
}

.online__slider .online__slider__item:last-child .online__slider__item__img__wrap::before {
  display: none;
}

.online__slider__item {
  /*  width: 233px; */
  margin: 0 auto;
}

.online__slider__item__img__wrap {
  width: 100%;
  position: relative;

}

.online__slider__item__img__wrap::before {
  content: "";
  display: block;
  background-image: url('images/online__slider__item__img__arrow.svg');
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  margin: auto;
  left: auto;
  right: 0;
  top: 0;
  bottom: 0;
  height: 32px;
  width: 23px;
}

.online__slider .online__slider__item__img {
  width: 100%;
  height: 122.5vw;
  background-repeat: no-repeat;
  background-size: contain;
  width: calc(233/355*100%);
  margin: 0 auto;

}

.online__slider__item__img01 {
  background-image: url('images/online__slider__item__img01.png');
}

.online__slider__item__img02 {
  background-image: url('images/online__slider__item__img02.png');
}

.online__slider__item__img03 {
  background-image: url('images/online__slider__item__img03.png');
}

.online__slider__item__img04 {
  background-image: url('images/online__slider__item__img04.png');
}

.online__slider__item__img05 {
  background-image: url('images/online__slider__item__img05.png');
}

.online__slider__item__img06 {
  background-image: url('images/online__slider__item__img06.png');
}

.online__slider__item__img07 {
  background-image: url('images/online__slider__item__img07.png');
}

.online__slider__item__img08 {
  background-image: url('images/online__slider__item__img08.png');
}

.online__slider__ttl {
  font-size: 20px;
  color: #008E44;
  width: calc(233/355*100%);
  margin: 0 auto;
  margin-top: 29px;
  margin-bottom: 8px;
}

.online__slider__ttl__num {
  font-size: 25px;
  margin-right: 0.5rem;
  position: relative;
  top: 2px;
}

.online__slider__txt {
  font-size: 14px;
  line-height: 2;
  color: #333333;
  width: calc(233/355*100%);
  margin: 0 auto;
}

.online__slider .slick-dots {
  bottom: -40px;
  top: auto;
}

.slick-dots li {
  width: 23px !important;
  height: auto !important;
}

.online__slider .slick-dots button {
  padding: 0;
  color: transparent;
  outline: none;
  width: 23px;
  border: unset;
  height: 3px;
  display: block;
  background: #D9D9D9;
  cursor: pointer;
}

.online__slider .slick-dots li button:before {
  display: none;

}

.online__slider.slick-dotted.slick-slider {
  margin-bottom: 0px;
}

.online__slider .slick-dots .slick-active button {
  background: #008E44;
}

.online__slider__pc__wrap {
  display: none;
}

.pc, .pc-in, .pc-inbl, .tabpc-inbl {
  display: none;
}

.sp {
  display: block;
}

.sp-in {
  display: inline;
}

.sp-inbl {
  display: inline-block;
}

@media (min-width: 768px) {
  .fv__img {
    background-size: cover;
    background-position: 51% 92%;
  }

  .fv {
    z-index: 1002;
  }

  .sp_indent {
    display: none;
  }

  .pc_indent {
    display: initial;
  }

  .line_container__img01 {
    display: initial;
    background-image: url(images/line.svg);
    width: 139px;
    height: 112px;
  }

  .modal .close {
    display: none;
  }

  .line_container {
    position: relative;
    width: 100%;
    height: 146px;
    border-radius: 20px;
    background-color: #008E44;
    margin: 70px auto 0 auto;
    max-width: 800px;
    display: flex;
    gap: 30px;
    justify-content: center;
    align-items: center;
    cursor: pointer;
  }

  .line_container:hover .line_container__img02 {
    background-image: url(images/doctor_smile.svg);
  }

  .line_container:hover .line_container__img01 {
    transform: rotate(-7deg) translateY(-2px);
  }

  .line_container::after {
    content: "";
    position: absolute;
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border: 2px solid #ffffff;
    border-radius: 10px;
  }

  .line_container__text {
    display: flex;
    flex-direction: column;
    gap: 10px;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 306px;
  }

  .line_container__text span:first-child {
    font-size: 26px;
  }

  .line_container__text span:last-child {
    font-size: 34px;
  }

  .line_container__img02 {
    background-image: url(images/doctor.svg);
    width: 100px;
    height: 131px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center right;
    position: relative;
    top: 6px;
    padding-left: 30px;
    box-sizing: content-box;
  }

  .line_container__text span text {
    font-family: "Rubik", sans-serif;
    font-size: 26px;
    font-weight: 500;
  }

  .feature__intro {
    width: calc(100% - 208px);
    padding: 40px 10px;
    color: #ffffff;
    position: relative;
    margin-top: 40px;
  }

  .feature.ed .feature__intro {
    background-color: #5dade2;
    border-top-left-radius: 30px;
    margin-left: 208px;
    padding-left: calc(50% - 608px);
  }

  .feature.aga .feature__intro {
    padding-left: calc(50% - 400px);
  }

  .custom-dashed-border {
    width: 100%;
    height: fit-content;
    display: flex;
    max-width: 800px;
  }

  .feautre__product__topical-medication {
    margin: 0 20px 0 0;
  }

  .feature.aga .feature__product h4 {
    margin-top: 0;
  }

  .feautre__product__topical-medication.bg-color--black {
    margin-top: 0;
  }

  .feautre__product__topical-medication.bg-color--black+.title__multiple-lines {
    margin-right: -100px;
    white-space: nowrap;
  }

  .title__multiple-lines br {
    display: none;
  }

  .feautre__product__topical-medication-container {
    display: flex;
    /* justify-content: center; */
    justify-content: flex-start;
    align-items: center;
    /* max-width: 376px; */
    max-width: 483px;
    margin: 0 auto 0 auto;
    margin-bottom: 10px;
  }

  .feautre__product__topical-medication-container:has(.bg-color--black) {
    margin-top: 30px;
  }

  .feature.aga .feature__product h3 {
    margin-bottom: 20px;
  }

  .feature__product_container {
    position: relative;
    top: -150px;
  }

  .feature__product_container {
    position: relative;
    padding: 206px 0px 70px 0;
    width: calc(100% - 208px);
    margin-right: 208px;
  }

  .feature.ed .feature__product_container {
    padding-left: 208px;
  }

  .feature.aga .feature__product_container {
    margin-right: 0;
    margin-left: 208px;
    top: -114px;
  }

  .feature__intro__title {
    padding-bottom: 10px;
    text-align: center;
    max-width: 800px;
  }

  .feature__intro p {
    font-weight: 500;
    line-height: 30px;
    /* text-align: center; */
    text-align: left;
    display: block;
    max-width: 800px;
    width: 100%;
  }

  .feature.ed .feature__intro__decor {
    background-image: url(images/shisa.svg);
    width: 194px;
    height: 104px;
    right: calc(50vw - 474px);
    bottom: 10px;
  }

  .feature.aga .feature__intro__decor {
    /* left: calc(50% - 3vw); */
    left: calc(50% + 300px);
  }

  .feature__product__dose_price {
    display: flex;
    gap: 20px;
    flex-direction: row;
    justify-content: center;
    max-width: 376px;
    /* margin: 20px auto 0 auto; */
    margin: 0 auto 0 auto;
  }


  .feature__product h3 {
    font-size: 28px;
    color: #5dade2;
    text-align: center;
    margin-top: 14px;
    margin-bottom: 20px;
  }

  .feature__product {
    max-width: 800px;
    margin-left: calc(50vw - 608px);
  }

  .feature__product p {
    display: block;
    line-height: 30px;
    max-width: 800px;
    margin: 40px auto 0 auto;
  }

  .feature__age_group {
    width: 100%;
    max-width: 552px;
    margin: 70px auto 0 auto;
    position: relative;
    left: -104px;
  }

  .feature.aga .feature__intro {
    margin-top: 0px;
  }

  .feature__age_group>div:last-of-type {
    max-width: 552px;
  }

  .line_section {
    position: relative;
    margin-top: 0px;
    padding: 0 10px 186px 10px;
    top: -44px;
  }

  .line_section .line_container {
    margin-top: 0;
  }

  .feature__age_group__images div:first-child {
    width: 130px;
    height: 134px;
  }

  .feature__age_group__images div:last-child {
    width: 136px;
    height: 132px;
  }

  .price_list {
    width: 100%;
    border: 3px solid #cccccc;
    border-radius: 10px;
    padding: 0;
    max-width: 800px;
    margin: 40px auto 0 auto;
    display: table;
  }

  .price_list__row {
    display: table-row;
  }

  .price_list__row h3 {
    display: table-cell;
    border-right: 1px dashed #cccccc;
    padding: 43px 39px 40px 0;
    text-align: right;
  }

  .price_list__row:first-of-type h3 {
    border-bottom: 1px solid #cccccc;
  }

  .price_list__row:first-of-type span {
    display: table-cell;
    border-bottom: 1px solid #cccccc;
    padding-left: 39px;
  }

  .price_list__row span {
    margin-left: 39px;
  }

  .price_list__row small {
    max-width: none;
    margin-left: 39px;
  }

  .price_list__row:last-of-type small:last-of-type {
    padding-bottom: 39px;
  }

  .price_list__row:last-of-type span:last-of-type {
    display: inline-block;
    margin-top: 20px;
  }

  .catch {
    background-image: url(images/sunset.jpg);
    width: 100%;
    height: 47.6vw;
    background-position: 47% 90%;
    background-size: cover;
    transition: filter 1s ease-out;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
  }

  .catch__text {
    font-size: 1.75vw;
  }

  .tab-link {
    max-width: 270px;
  }

  .tab-content {
    display: none;
    border: 2px solid #5dade2;
    border-radius: 10px;
    padding: 70px 75px;
    position: relative;
  }

  .column {
    position: relative;
    padding: 0px 0 185px 0;
  }

  .column::after {
    top: 110px;
  }

  .pc {
    display: block;
  }

  .pc-in {
    display: inline;
  }

  .pc-inbl, .tabpc-inbl {
    display: inline-block;
  }

  .sp, .sp-in, .sp-inbl {
    display: none;
  }

  @media (min-width: 1055px) {
    .about {
      padding: 150px 10px 150px 10px;
      width: 100%;
      position: relative;
      background-size: cover;

      background-repeat: no-repeat;
    }

    .about_img {
      width: 100%;
      aspect-ratio: 475 / 315;
      background-image: url(images/building.png);
      background-size: 140%;
      background-position: 88% bottom;
      position: relative;
      max-width: 475px;
      max-height: 315px;
      margin: 120px auto 0 calc(50vw - 474px);
    }

    .about_info {
      width: 100%;
      max-width: 517px;
      background-color: #5dade2;
      position: relative;
      padding: 40px 27px;
      color: #ffffff;
      display: flex;
      flex-direction: column;
      gap: 12px;
      z-index: 2;
      margin: 40px auto 0 auto;
      position: absolute;
      right: calc(50vw - 475px);
    }

    .about_info p,
    .about_info h4,
    .about_info h3 {
      margin-left: 57px;
      line-height: normal;
    }

    .about_img {
      width: 100%;
      aspect-ratio: 475 / 315;
      background-image: url(images/building.png);
      background-size: 140%;
      background-position: 88% bottom;
      position: relative;
      max-width: 475px;
      max-height: 315px;
      margin: 120px auto 0 calc(50vw - 474px);
    }

    .about_img::after {
      left: -52px;
      top: -45px;
    }

    .about_img::before {
      left: 57px;
      top: 15px;
    }

    .about_info::before {
      right: 21px;
      bottom: 10px;
    }

    .wave {
      display: flex;
      flex-direction: row;
      position: absolute;
      bottom: 0px;
      width: calc(100% + 20px);
      left: -10px;
    }
  }

  footer {
    display: flex;
    max-width: 758px;
    column-gap: 70px;
    row-gap: 40px;
    flex-wrap: wrap;
    margin: 0 auto;
    align-items: center;
    justify-content: center;
  }

  .footer_nav {
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    z-index: 2;
    max-width: 472px;
    margin: 50px auto 0 auto;
    gap: 30px;
  }

  footer .logo_wrapper {
    flex-direction: column;
    margin-top: 70px;
  }

  footer .rights {
    margin-top: 0px;
    font-size: 14px;
    text-align: center;
    padding-bottom: 20px;
  }

  .footer_nav a:hover {
    color: #5dade2;
  }

  .footer_nav a:hover::after {
    background-color: #5dade2;
  }

  .strengths {
    margin-top: 276px;
  }

  .feature_decor {
    position: absolute;
    bottom: 20px;
    left: 35px;
    display: flex;
    gap: 11px;
  }

  .fixed_item {
    display: none !important;
  }

  .online__txt {
    text-align: center;
    margin-bottom: 40px;
    margin-top: 32px;
  }

  .dl__wrap {
    display: flex;
    max-width: calc((137px + 55px)*2 + 20px);
    margin: 0 auto;
  }

  .app__dl__wrap {
    display: flex;
    align-items: center;
  }

  .app__dl__wrap01 {
    margin-right: 20px;
  }

  .app__dl__img {
    width: 137px;
    min-width: 137px;
    max-width: 137px;

    background-size: contain;
    background-repeat: no-repeat;
    display: block;
    margin: 0 auto;
    margin-right: 4px;
  }

  .app__dl__img01 {
    background-image: url('images/app__btn.png');
    height: 41px;
    margin-bottom: 0;

  }

  .app__dl__img02 {
    height: 41px;

  }

  .app__dl__qr__img {
    width: 55px;
    min-width: 55px;
    max-width: 55px;
    height: 55px;
    background-size: contain;
    background-repeat: no-repeat;
    display: block;
    display: block;
  }

  .app__dl__qr__img01 {
    background-image: url('images/app__qr.png');
  }

  .app__dl__qr__img02 {
    background-image: url('images/gp_qr.png');
  }

  .online__slider__pc__wrap {
    margin-left: -32px;
    display: block;
  }

  .online__slider {
    display: none !important;
  }

  .online__slider__pc {
    max-width: 949px;
    max-width: 960px;
    /*    max-width: 970px; */
    margin: 0 auto;
    margin-top: 70px;
  }

  .online__slider__pc__item {
    display: flex !important;
    /*  margin-left: -32px; */
  }

  .online__slider__pc__item__inner {
    max-width: calc((100% - (87px*3))/3);
    width: calc((100% - 87px)/3);
    margin-right: calc(87px/2);
    margin-right: calc(32px + 23px);
    /*  margin-left: calc(87px/2); */
    margin-left: 32px;
    margin-right: calc(32px + 23px);



  }

  .online__slider__pc__item .online__slider__pc__item__inner:not(:first-child) {
    /*  margin-left: calc(87px/2); */
  }

  .online__slider__pc__item .online__slider__pc__item__inner:last-child {
    /*  margin-right: 87px; */
    /*    margin-right: calc(64px + 23px); */
  }

  .online__slider__pc__item .online__slider__pc__item__inner__start {
    margin-left: 0;
  }

  .online__slider__pc__item__inner__img {
    position: relative;
    width: 100%;
    /* height: calc(459/233*100%); */
    background-repeat: no-repeat;
    background-size: contain;
    margin: 0 auto;
    aspect-ratio: 233/459;

  }

  .online__slider__pc__item__inner__img01 {
    background-image: url('images/online__slider__item__img01.png');
  }

  .online__slider__pc__item__inner__img02 {
    background-image: url('images/online__slider__item__img02.png');
  }

  .online__slider__pc__item__inner__img03 {
    background-image: url('images/online__slider__item__img03.png');
  }

  .online__slider__pc__item__inner__img04 {
    background-image: url('images/online__slider__item__img04.png');
  }

  .online__slider__pc__item__inner__img05 {
    background-image: url('images/online__slider__item__img05.png');
  }

  .online__slider__pc__item__inner__img06 {
    background-image: url('images/online__slider__item__img06.png');
  }

  .online__slider__pc__item__inner__img07 {
    background-image: url('images/online__slider__item__img07.png');
  }

  .online__slider__pc__item__inner__img08 {
    background-image: url('images/online__slider__item__img08.png');
  }

  .online__slider__pc__item__inner__img::after {
    content: "";
    background-image: url('images/online__slider__item__img__arrow.svg');
    width: 23px;
    height: 32px;
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: auto;
    right: calc(-32px - 23px);
    display: block;
    background-repeat: no-repeat;
    background-size: contain;
  }

  .online__slider__pc__item__inner__img08::after {
    display: none;
  }

  .online__slider__ttl {
    font-size: 20px;
    color: #008E44;
    width: 100%;
    margin: 0 auto;
    margin-top: 29px;
    margin-bottom: 8px;
  }

  .online__slider__ttl__num {
    font-size: 25px;
    margin-right: 0.5rem;
    position: relative;
    top: 2px;
  }

  .online__slider__txt {
    font-size: 14px;
    line-height: 2;
    color: #333333;
    width: 100%;
    margin: 0 auto;
  }

  .online__slider__pc .slick-dots {
    bottom: -40px;
    top: auto;
  }

  .slick-dots li {
    width: 80px !important;
    height: auto !important;
    margin: 0 8px !important;
  }

  .online__slider__pc .slick-dots button {
    padding: 0;
    color: transparent;
    outline: none;
    width: 80px;
    border: unset;
    height: 3px;
    display: block;
    background: #D9D9D9;
    cursor: pointer;
  }

  .online__slider__pc .slick-dots li button:before {
    display: none;

  }

  .online__slider__pc.slick-dotted.slick-slider {
    margin-bottom: 0px;
  }

  .online__slider__pc .slick-dots .slick-active button {
    background: #008E44;
  }
}

@media (min-width: 768px) and (max-width: 929px) {
  .problem_contant .sp_indent {
    display: initial;
  }

  .problem_container {
    display: flex;
    flex-direction: row;
    gap: 40px;
    justify-content: center;
  }

  .problem_content {
    margin-left: 0;
    margin-right: 0;
  }

  .problem_content .sp_indent {
    display: initial;
  }
}

@media (min-width: 930px) {
  .problem {
    margin-top: 180px;
  }

  .problem_content {
    position: relative;
    display: flex;
    flex-direction: row;
    padding: 0;
    position: relative;
    max-width: 950px;
    margin: 124px auto 0 auto;
    width: fit-content;
  }

  .problem_content__text span text {
    margin-left: 0;
  }

  .problem_content:last-of-type {
    margin-top: 80px;
  }

  .problem_content__text {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 40px;
    padding: 35px 14.8vw 35px 84px;
    box-sizing: content-box;
  }

  .problem_content__text {
    margin-top: 0px;
  }

  .problem_content__img {
    position: absolute;
    width: 106px;
    height: 106px;
    margin: 0 auto;
    background-size: contain;
    left: -9px;
    top: -53px;
  }

  .problem_content__text>div:not(:first-child) {
    margin-top: 0px;
  }

  .problem_content:first-of-type .problem_content__decor {
    filter: opacity(1);
    right: 13px;
  }

  .problem_content:last-of-type .problem_content__decor {
    width: 99px;
    height: 186px;
    filter: opacity(1);
    right: 30px;
  }

  .problem_content:first-of-type::after {
    height: 100%;
  }

  .problem_content:last-of-type::after {
    height: 100%;
  }

  .problem_content__text span:not(:first-child) {
    margin-top: 7px;
  }

  .strengths_wrapper {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin: 40px auto 0 auto;
    gap: 10px;
    justify-content: center;
    align-items: center;
  }
}

@media (max-width: 370px) {
  .problem_content span {
    white-space: initial;
  }
}

@media (min-width: 768px) and (max-width: 1250px) {
  .feature__intro {
    width: calc(100vw - 100px);
    padding: 40px 10px;
    color: #ffffff;
    position: relative;
    margin-top: 40px;
  }

  .feature.ed .feature__intro {
    background-color: #5dade2;
    border-top-left-radius: 30px;
    margin-left: 100px;
    padding-left: 78px;
  }

  .feature.ed .feature__intro {
    background-color: #5dade2;
    border-top-left-radius: 30px;
    margin-left: auto;
    padding-left: 0px;
  }

  .custom-dashed-border {
    height: fit-content;
    display: flex;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
  }

  .feature__intro__title {
    padding-bottom: 10px;
    text-align: center;
    text-align: center;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
  }

  .feature__intro p {
    font-weight: 500;
    line-height: 30px;
    text-align: left;
    display: block;
    max-width: 800px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  .feature.ed .feature__intro__decor {
    background-image: url(images/shisa.svg);
    width: 194px;
    height: 104px;
    right: 10px;
    bottom: 10px;
  }

  .feature__product_container {
    position: relative;
    padding: 206px 0px 126px 0px;
    width: 100%;
    margin-right: 100px;
  }

  .feature.aga .feature__product_container {
    margin-right: 0;
    margin-left: 0px;
    top: -114px;
  }

  .feature.aga .feature__intro {
    padding-left: 0;
  }

  .feature.aga .feature__product {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (min-width: 768px) and (max-width: 835px) {
  .feature__product p {
    display: block;
    line-height: 30px;
    max-width: 800px;
    margin: 40px auto 0 auto;
    padding: 0 20px;
  }
}

@media (min-width: 768px) and (max-width: 950px) {
  .feature.aga .feature__intro__decor {
    /* left: 10px; */
    left: inherit;
    right: 20px;
  }

  @media (min-width: 768px) and (max-width: 1365px) {
    .catch__text {
      font-size: 24px;
    }
  }

  @media (min-width: 1251px) {
    .feature_section {
      padding-top: 0px;
      padding-bottom: 0;
    }

    .feature_decor {
      position: absolute;
      bottom: 0px;
      left: 60px;
      display: flex;
      flex-direction: column-reverse;
      gap: 34px;
    }

    .feature_decor div:last-of-type {
      position: relative;
      left: 29px;
    }

    .feature_decor div:first-child {
      width: 179px;
      height: 248px;
      background-repeat: no-repeat;
    }

    .feature_decor div:last-child {
      width: 152px;
      height: 118px;
    }

    .feature__age_group {
      left: 0px;
    }
  }

  @media (min-width: 1251px) and (max-width: 1295px) {
    .feature_decor {
      left: 40px;
    }
  }

  @media (min-width: 900px) {
    .fv__img::after {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      background-image: url(images/fv_decor_pc.svg);
      height: 100%;
      width: 100%;
      background-position: 20% top;
      background-repeat: no-repeat;
      background-size: 90%;
    }
  }

  @media (min-width: 1367px) {
    .fv__img::after {
      background-size: 100%;
      background-position: center 10%;
    }
  }

  @media (min-width: 1200px) {
    .feature.aga .feature__intro__decor {
      /* left: calc(50% - 3vw); */
      left: inherit;
      right: 20px;
    }
  }