@charset "UTF-8";
.mttl {
  margin-bottom: 1em;
}
.cont__txt {
  font-size: clamp(16px, 2.08vw, 18px);
  font-weight: 300;
  line-height: 1.67;
  letter-spacing: 0.04em;
}

/*--------------------------
houshin
----------------------------*/
.houshin {
  padding-bottom: clamp(35px, 9.33vw, 70px);
}
.houshin .mttl {
  margin-bottom: 1.2em;
}

/*--------------------------
mdcl_diet
----------------------------*/
.mdcl_diet {
  padding-bottom: clamp(45px, 12vw, 70px);
}
.mdcl_diet__inner {
  display: flex;
  justify-content: space-between;
  max-width: 1140px;
}
.mdcl_diet .cont__txt {
  width: 63%;
  max-width: 588px;
}
/*--------------------------
chigai
----------------------------*/
.chigai {
  padding-bottom: clamp(25px, 6.67vw, 80px);
}
.chigai .cont__txt {
  width: 63%;
  max-width: 588px;
  margin-bottom: clamp(15px, 4vw, 58px);
}
/*--------------------------
shikumi
----------------------------*/
.shikumi {
  padding-bottom: clamp(20px, 5.33vw, 72px);
}
.shikumi .cont-2::before {
  content: none;
  padding-top: 45px;
}
.shikumi__cont .txtbk__inner {
  padding-left: 2.73em;
}
.shikumi .cont__txt {
  margin-bottom: clamp(38px, 10.13vw, 66px);
}
.txtbk__inner-txt {
  font-size: clamp(16px, 2.08vw, 18px);
  font-weight: 300;
  line-height: 1.67;
  letter-spacing: 0.04em;
  margin-bottom: clamp(15px, 4vw, 20px);
}
.shikumi__list {
  margin-bottom: clamp(15px, 4vw, 20px);
}
.maru_num__list {
  counter-reset: number 0;
}
.maru_num__item {
  font-size: clamp(17px, 2.21vw, 19px);
  font-weight: 600;
  line-height: 1.78;
  letter-spacing: 0.05em;
  text-indent: -2em;
  padding-left: 2em;
}
.maru_check__item:not(:last-child) {
  margin-bottom: 0.5em;
}
.maru_num__item::before {
  counter-increment: number 1;
  content: counter(number) " ";
  margin-right: 0.68em;
}

/*--------------------------
yakuzai
----------------------------*/
.yakuzai {
  padding-top: clamp(27px, 7.2vw, 100px);
}
.yakuzai__heading {
  font-size: clamp(20px, 2.6vw, 25px);
  font-weight: 700;
  line-height: 2.2;
  letter-spacing: 0.1em;
  color: #b82e2c;
  margin-bottom: clamp(25px, 6.67vw, 92px);
}
.yakuzai__num-heading {
  font-size: clamp(20px, 2.6vw, 25px);
  font-weight: 700;
  line-height: 1.4;
  text-indent: -1.5em;
  padding-left: 1.5em;
  padding-bottom: 0.4em;

  letter-spacing: 0.1em;
  margin-bottom: clamp(20px, 5.33vw, 47px);
  border-bottom: 1px solid #b82e2c;
}
.yakuzai__cont-inner {
  margin-bottom: clamp(27px, 7.2vw, 53px);
  padding-left: 2em;
}
.yakuzai__cont-inner .cont__heading {
  margin-bottom: 0.4em;
}
.yakuzai__cont-inner .cont__txt {
  margin-bottom: 0.5em;
}
.yakuzai__cont-inner .cont__list {
  font-size: clamp(16px, 2.08vw, 18px);
  font-weight: 600;
  line-height: 1.67;
  letter-spacing: 0.06em;
}
.yakuzai__cont-inner .cont__item {
  display: flex;
  gap: 0.56em;
}
.yakuzai__cont-inner .cont__item:not(:last-child) {
  margin-bottom: 0.2em;
}
.yakuzai__cont-inner .cont__item::before {
  content: "●";
  color: #bcbcbc;
}
/* cont-1 */
.yakuzai .cont-1,
.yakuzai .cont-2 {
  margin-bottom: clamp(72px, 19.2vw, 120px);
}
.yakuzai .cont-1 .imgbk {
  position: absolute;
  bottom: 0;
  right: 2.5%;
}
/* cont-3 */
/* === table2 === */
.yakuzai .cont-3 .yakuzai__table2 {
  min-width: 970px;
}

.yakuzai .cont-3 .yakuzai__table2 thead th.th-1 {
  width: 17%;
}
.yakuzai .cont-3 .yakuzai__table2 thead th.th-2 {
  width: 21%;
}
.yakuzai .cont-3 .yakuzai__table2 thead th.th-3 {
  width: 30%;
}
.yakuzai .cont-3 .yakuzai__table2 thead th.th-4 {
  width: 32%;
}
.yakuzai .cont-3 .yakuzai__table2 thead th.th-2,
.yakuzai .cont-3 .yakuzai__table2 thead th.th-3,
.yakuzai .cont-3 .yakuzai__table2 thead th.th-4 {
  padding-left: 20px;
}
.yakuzai .cont-3 .yakuzai__table2 tbody tr.bg_gr {
  background-color: #fafafa;
}
/* === table3 === */
.yakuzai .cont-3 .yakuzai__table3 thead th.th-1 {
  width: 40%;
}
.yakuzai .cont-3 .yakuzai__table3 thead th.th-2 {
  width: 60%;
  padding-left: 20px;
}

/*--------------------------
faq
----------------------------*/
.faq {
  padding-top: 33px;
}
.faq__list > div:nth-child(3) dd {
  max-width: 796px;
  width: 54.58vw;
}
.faq__list > div:nth-child(3) dd .imgbk {
  bottom: 36px;
}
.faq__list dd p::before {
  color: #d3989e;
}
/*--------------------------
osusume
----------------------------*/
.osusume {
  margin-bottom: clamp(45px, 12vw, 100px);
}
.osusume::before {
  content: none;
}
.osusume .bg_pk {
  padding: clamp(30px, 8vw, 37px) 23px clamp(50px, 13.33vw, 80px);
  border-radius: 10px;
  background: #f8eded;
}
.osusume-inner {
  max-width: 1090px;
  margin: 0 auto;
}
.osusume__heading {
  font-size: clamp(20px, 2.6vw, 25px);
  font-weight: 700;
  line-height: 2.2;
  letter-spacing: 0.3em;
  padding-bottom: 0.6em;
  margin-bottom: clamp(30px, 8vw, 77px);
  border-bottom: 2px solid #fff;
}
.osusume__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 75px 0;
  max-width: 855px;
  margin: 0 auto;
}
.osusume__item {
  width: 32%;
  max-width: 237px;
}
.osusume__item-heading-wrap {
  font-size: clamp(18px, 2.04vw, 20px);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.1em;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.7em;
  width: 100%;
  aspect-ratio: 1/1;
  margin-bottom: 1.2em;
  border-radius: 50%;
  background: #fff;
}
.osusume__item-heading-wrap img {
  width: 42%;
  max-width: 98px;
}
.osusume__item-heading {
  color: #b82e2c;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 2.7em;
}
.osusume__item .txtbk p {
  font-size: clamp(15px, 2.21vw, 17px);
  font-weight: 300;
  line-height: 1.59;
  letter-spacing: 0.08em;
}
/*--------------------------
closing
----------------------------*/
.closing {
  padding-bottom: clamp(45px, 12vw, 105px);
}
.closing__inner {
  display: flex;
  justify-content: space-between;
}
.closing__inner .txtbk {
  width: calc(95% - 302px);
  max-width: 828px;
}
.closing .cont__txt {
  letter-spacing: 0.06em;
  margin-bottom: 1.67em;
}
@media screen and (max-width: 980px) {
  .closing__inner .txtbk {
    width: 63%;
  }
}
@media screen and (max-width: 768px) {
  .cont__txt {
    font-size: clamp(14px, 3.73vw, 16px);
    line-height: 1.71;
    letter-spacing: 0;
  }
  /*--------------------------
	houshin
	----------------------------*/
  /*--------------------------
	mdcl_diet
	----------------------------*/
  .mdcl_diet__inner {
    flex-direction: column;
    align-items: center;
  }
  .mdcl_diet .cont__txt {
    width: 100%;
    max-width: initial;
    margin-bottom: 20px;
  }
  /*--------------------------
	chigai
	----------------------------*/
  .chigai .cont__txt {
    width: 100%;
    max-width: initial;
  }
  /*--------------------------
	shikumi
	----------------------------*/
  .shikumi .cont-1 {
    padding-bottom: 25px;
  }
  .shikumi .cont-2::before {
    content: "";
  }
  .txtbk__inner-txt {
    font-size: clamp(14px, 3.73vw, 16px);
    line-height: 1.71;
    letter-spacing: 0;
  }
  .maru_num__item {
    font-size: clamp(14px, 3.73vw, 17px);
    letter-spacing: 0;
  }
  /*--------------------------
	yakuzai
	----------------------------*/
  .yakuzai__cont-inner {
    padding-left: 0;
  }
  .yakuzai__cont-inner .cont__txt {
    margin-bottom: 20px;
  }
  .yakuzai__cont-inner .cont__list {
    font-size: clamp(15px, 4vw, 16px);
    letter-spacing: 0;
  }
  .yakuzai__cont-inner .cont__item:not(:last-child) {
    margin-bottom: 20px;
  }
  .yakuzai .cont-1 .imgbk {
    position: static;
  }

  /*--------------------------
	faq
	----------------------------*/
  .faq__list > div:nth-child(3) dd {
    width: 100%;
  }
  /*--------------------------
	osusume
	----------------------------*/
  .osusume::before {
    content: "";
  }
  .osusume__list {
    flex-wrap: wrap;
    justify-content: center;
    gap: 53px 4%;
  }
  .osusume__item {
    width: 48%;
    max-width: 219px;
  }
  /*--------------------------
	closing
	----------------------------*/
  .closing__inner {
    flex-direction: column;
  }
  .closing__inner .txtbk {
    width: 100%;
  }
  .closing__inner .cont__txt {
    letter-spacing: 0;
    margin-bottom: 1.71em;
  }
}

@media screen and (max-width: 480px) {
  /*--------------------------
	osusume
	----------------------------*/
  .osusume__list {
    flex-direction: column;
    align-items: center;
    gap: 53px;
  }
  .osusume__item {
    width: 100%;
    max-width: 289px;
  }
  .osusume__item-heading-wrap {
    max-width: 236px;
    margin: 0 auto 1.2em;
  }
}
