@charset "UTF-8";
/* reset:start */
*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
}

html {
  font-size: 62.5%;
	scroll-behavior: smooth;
}

body {
  overflow-x: hidden;
  position: relative;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
  height: auto;
}

img {
  width: 100%;
  vertical-align: bottom;
}

input,
button,
textarea,
select {
  font: inherit;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
  font-feature-settings: "palt";
}

ul, ol {
  list-style: none;
}

[hidden] {
  display: none;
}

a {
  text-decoration: none;
}

a img {
  transition: opacity 0.3s;
}
@media screen and (min-width: 768.1px) {
  a img.links:hover {
    opacity: 0.7;
  }
}

@media screen and (max-width: 768px) {
  .pcOnly {
    display: none !important;
  }
}

@media screen and (min-width: 768.1px) {
  .spOnly {
    display: none !important;
  }
}

/* SP space */
.body_sph .contents_main {
  margin: 0 !important;
}

/*==================================
DECO
==================================*/
.mincho {
  font-family: "Zen Old Mincho", serif;
}
sup {
  font-size: 40%;
  vertical-align: super;
  transform: translateY(.2em);
  transform: translateY(-.4em);
  display: inline-block;
}
em {
  font-style: normal;
  background: linear-gradient(180deg, transparent 0%, transparent 65%, #ffc000 65%, #ffc000 100%);
}

/*==================================
Layout
==================================*/
.bf-page-inner {
  width: 750px;
  margin: 0 auto;
  background-color: #FFE3D6;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  color: #000;
}
.relative {
  position: relative;
}
@media screen and (max-width: 768px) {
  .bf-page-inner {
    width: 100%;
    margin: 0 auto;
  }
}

/*==================================
FV
==================================*/
#fv {
  position: relative;
  color: #5d2c26;
  font-weight: 700;
  text-align: center;
}
#fv .bf-fv-img {
  position: relative;
}
#fv .bf-fv-img h1 {
  font-size: min(calc(100vw*51/750), 51px);
  line-height: 1.2;
  position: absolute;
  left: 0;
  right: 0;
  top: 24.3%;
  display: inline-block;
}
#fv .bf-fv-img h1 .border-yellow {
  margin-bottom: .15em;
  font-size: min(calc(100vw*84/750), 84px);
  position: relative;
  display: inline-block;
  z-index: 2;
}
#fv .bf-fv-img h1 .border-yellow::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -.06em;
  width: 100%;
  height: 32%;
  background-color: #ffdc7e;
  z-index: -1;
}

#fv .bf-fv-btn {
  position: absolute;
  width: 60.4%;
  top: 45.9616985845%;
  left: 0;
  right: 0;
  margin: 0 auto;
  transition-duration: 0.4s;
}
#fv .bf-fv-btn-inner {
  position: relative;
}
#fv .bf-fv-btn p {
  margin: 0 auto;
  font-size: min(calc(100vw*34/750), 34px);
  display: inline;
  position: absolute;
  left: -.5em;
  right: 0;
  top: 20%;
  pointer-events: none;
}
#fv .bf-fv-btn img {
  width: 100%;
}
@media screen and (min-width: 768.1px) {
  #fv .bf-fv-btn:hover {
    transform: scale(1.07);
  }
}
#fv .bf-fv-btn button {
  border: none;
  background: none;
}
/*==================================
question
==================================*/
#question {
  background-image: url(../image/quetion_bg.webp);
  background-repeat: repeat;
  position: relative;
}
.bf-q-ttl {
  width: calc(580/750*100%);
  margin: 0 auto;
  text-align: center;
  position: absolute;
  left: 0;
  right: 0;
  top: 14%;
  z-index: 2;
}
.bf-q-ttl h2 { 
  color: #54504c;
  font-size: min(calc(100vw*32/750), 32px);
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: .06em;
}
.bf-q-list li {
  position: relative;
}
.bf-q-list li p {
  width: 100%;
  text-align: center;
  color: #fff;
  font-size: min(calc(100vw*30/750), 30px);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: .05em;
  z-index: 2;
  position: absolute;
  top: 44.7%;
  transform: translateY(-50%);
  pointer-events: none;
}
.bf-q-notes {
  width: calc(610/750*100%);
  margin: 0 auto;
  color: #54504c;
  font-size: min(calc(100vw*16/750), 16px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .07em;
  text-align: left;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 7.5%;
  z-index: 2;
}
.bf-q-list li input {
  display: none;
}
.bf-q-list li label span.btn {
  width: 100%;
  position: relative;
  display: block;
}
.bf-q-list li label span.btn img {
  width: 100%;
  height: auto;
}
.bf-q-list li label .on {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
.bf-q-list input:checked + .btn .on {
  opacity: 1;
}
.bf-q1-list,
.bf-q3-list {
  padding-left: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  position: absolute;
}
.bf-q1-list {
  top: 61.5%;
}
.bf-q3-list {
  top: 47.55%;
}
.bf-q2-list {
  position: absolute;
  top: 68%;
  left: 12.8%;
  padding-left: 0;
  width: 73.0666666667%;
}
.bf-q1-list li,
.bf-q3-list li {
  list-style: none;
  margin: 0 1.2% 3%;
  width: 37.3333333333%;
}
.bf-q2-list li {
  list-style: none;
  margin-bottom: 4.1%;
}
#q1,
#q2,
#q3 {
  position: relative;
}
#q2 .bf-q-list li p {
  font-size: min(calc(100vw*35/750), 35px);
}
#q3 .bf-q-ttl {
  top: 10.8%;
}
#q3 .bf-q-notes {
  bottom: 5.5%;
}
#q3 .bf-q-list li:nth-of-type(8) p {
  letter-spacing: 0;
}
#question > div#send,
#question > div#last,
#question > div#send {
  border: none;
}
#question > div#send {
  text-align: center;
  padding: 0 0 4em;
  margin: 0 auto;
  width: 62%;
}
#last {
  display: none;
}
#last.on {
  display: block;
}
#question > div {
  display: none;
}
#question > div.on {
  display: block;
}

/*==================================
unit_1
==================================*/
.unit_1 p {
  width: 100%;
  margin: 0;
}
.unit_1 ul {
    margin: min(3.3333333333vw, 25px) min(2.4vw, 18px) 0 min(3.3333333333vw, 25px);
    padding-bottom: min(8vw, 60px);
}

/*==================================
thanks
==================================*/
.unit_1__solution {
  background-image: url(../image/bg_solution.webp);
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: bottom center;
  padding-bottom: 50px;
}
.thanks_head {
  text-align: center;
  height: 310px;
  padding-top: calc(42/750*100%);
  background-color: #d21c00;
  clip-path: polygon(0 0, 100% 0, 100% 240px, 50% 100%, 0 240px);
}
.thanks_head p {
  font-weight: 700;
  line-height: 1;
  letter-spacing: .2em;
}
.thanks_head span.bg_wh {
  padding: .08em .2em .2em;
  background-color: #fff;
  color: #d21c00;
  font-size: min(calc(100vw*55/750), 55px);
  display: inline-block;
  position: relative;
}
.thanks_head span.bg_wh::after {
  content: "";
  display: block;
  width: .53em;
  height: .55em;
  background-image: url("../image/thanks_deco.webp");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  right: -.55em;
  top: -.55em;
}
.thanks_head span.bg_wh .small {
  font-size: 62%;
}
.thanks_head span.yellow {
  padding-top: .2em;
  color: #ffe467;
  font-size: min(calc(100vw*55/750), 55px);
  display: inline-block;
}
.thanks_head span.white {
  padding-top: .8em;
  color: #fff;
  font-size: min(calc(100vw*34/750), 34px);
  display: inline-block;
  font-weight: 400;
}
.thanks_head span.white .underline {
  border-bottom: solid #fff 1px;
}

@media screen and (max-width: 768px) {
  .thanks_head {
    height: 41.3333vw;
    clip-path: polygon(0 0, 100% 0, 100% 32vw, 50% 100%, 0 32vw);
  }
}
.unit_1__container {
  width: 700px;
  margin: 0 auto;
}
.unit_1__solution h2 {
  text-align: center;
  margin: 24px auto;
}
.unit_1__solution h2 span {
  display: block;
  width: fit-content;
  margin: 0 auto;
  line-height: 1.2;
}
.unit_1__solution h2 span:nth-child(1) {
  font-size: 50px;
}
.unit_1__solution h2 span:nth-child(2) {
  font-size: 61px;
  line-height: 1.1475409836;
  margin-top: 16px;
}
.unit_1__solution h2 span:nth-child(2) em {
  display: block;
  font-size: 69px;
  padding: 0 20px;
}
.unit_1__solution figure {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 609px;
  display: flex;
  align-items: end;
  padding-left: 110px;
}
.unit_1__solution figure picture {
  width: 335px;
}
.unit_1__solution figure figcaption {
  position: absolute;
  z-index: -1;
  width: 314px;
  height: 314px;
  font-size: 31px;
  line-height: 1.3548387097;
  font-weight: 700;
  text-align: center;
  border-radius: 50%;
}
.unit_1__solution figure figcaption strong {
  font-size: 41px;
}
.unit_1__solution figure figcaption:nth-of-type(1) {
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  background: linear-gradient(0deg, #d87d22 0%, rgba(216, 125, 34, 0.5) 100%);
  padding-top: 70px;
}
.unit_1__solution figure figcaption:nth-of-type(2) {
  z-index: -2;
  top: 150px;
  left: 0;
  background: linear-gradient(315deg, #ffc000 0%, rgba(255, 192, 0, 0.5) 100%);
  padding-top: 100px;
  padding-right: 20px;
}
.unit_1__solution figure figcaption:nth-of-type(3) {
  z-index: -2;
  top: 150px;
  right: 0;
  background: linear-gradient(45deg, #db6362 0%, rgba(219, 99, 98, 0.5) 100%);
  padding-top: 100px;
  padding-left: 20px;
}
.unit_1__solution figure ol {
  position: absolute;
  z-index: 1;
  bottom: 20px;
  right: 0;
}
.unit_1__solution figure ol li {
  font-size: 18px;
  padding-left: 2em;
  text-indent: -1.8em;
}
.unit_1__solution dl {
  position: relative;
  z-index: 1;
  background-color: rgba(91, 45, 38, 0.8);
  border-radius: 10px;
  margin-top: 30px;
  padding: 24px 0;
}
.unit_1__solution dl::before {
  position: absolute;
  z-index: 1;
  content: "";
  background-image: url(../image/img_solution_left.webp);
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: bottom center;
  top: 61px;
  left: -25px;
  width: 105px;
  height: 201px;
}
.unit_1__solution dl::after {
  position: absolute;
  z-index: 1;
  content: "";
  background-image: url(../image/img_solution_right.webp);
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: bottom center;
  bottom: 12px;
  right: -25px;
  width: 123px;
  height: 232px;
}
.unit_1__solution dl dt {
  width: 473px;
  margin: 0 auto;
}
.unit_1__solution dl dd {
  width: fit-content;
  margin: 18px auto 0;
}
.unit_1__solution dl dd p {
  font-size: 26px;
  line-height: 1.7307692308;
  color: #fff;
  text-align: center;
}
.unit_1__solution dl dd p span {
  display: block;
  background-image: repeating-linear-gradient(90deg, #000000, #000000 6px, transparent 6px, transparent 10px);
  background-position: center bottom;
  background-repeat: repeat-x;
  background-size: 100% 1px;
}
.unit_1__solution dl dd p:nth-child(n+2) {
  margin-top: 18px;
}
.unit_1__solution dl + p {
  text-align: right;
  font-size: 20px;
  line-height: 1;
  margin-top: 9px;
}
@media screen and (max-width: 768px) {
  .unit_1__solution {
    padding-bottom: 6.6666666667vw;
  }
  .unit_1__container {
    width: 93.3333333333vw;
  }
  .unit_1__solution h2 {
    margin: 3.2vw auto;
  }
  .unit_1__solution h2 span:nth-child(1) {
    font-size: 6.6666666667vw;
  }
  .unit_1__solution h2 span:nth-child(2) {
    font-size: 8.1333333333vw;
    margin-top: 2.1333333333vw;
  }
  .unit_1__solution h2 span:nth-child(2) em {
    font-size: 9.2vw;
    padding: 0 2.6666666667vw;
  }
  .unit_1__solution figure {
    height: 81.2vw;
    padding-left: 14.6666666667vw;
  }
  .unit_1__solution figure picture {
    width: 44.6666666667vw;
  }
  .unit_1__solution figure figcaption {
    width: 41.8666666667vw;
    height: 41.8666666667vw;
    font-size: 4.1333333333vw;
  }
  .unit_1__solution figure figcaption:nth-of-type(1) {
    padding-top: 9.3333333333vw;
  }
  .unit_1__solution figure figcaption strong {
    font-size: 5.4666666667vw;
  }
  .unit_1__solution figure figcaption:nth-of-type(2) {
    top: 20vw;
    padding-top: 13.3333333333vw;
    padding-right: 2.6666666667vw;
  }
  .unit_1__solution figure figcaption:nth-of-type(3) {
    top: 20vw;
    padding-top: 13.3333333333vw;
    padding-left: 2.6666666667vw;
  }
  .unit_1__solution figure ol {
    bottom: 2.6666666667vw;
  }
  .unit_1__solution figure ol li {
    font-size: 2.4vw;
  }
  .unit_1__solution dl {
    border-radius: 1.3333333333vw;
    margin-top: 4vw;
    padding: 3.2vw 0;
  }
  .unit_1__solution dl::before {
    top: 8.1333333333vw;
    left: -3.3333333333vw;
    width: 14vw;
    height: 26.8vw;
  }
  .unit_1__solution dl::after {
    bottom: 1.6vw;
    right: -3.3333333333vw;
    width: 16.4vw;
    height: 30.9333333333vw;
  }
  .unit_1__solution dl dt {
    width: 63.0666666667vw;
  }
  .unit_1__solution dl dd {
    margin: 2.4vw auto 0;
  }
  .unit_1__solution dl dd p {
    font-size: 3.4666666667vw;
  }
  .unit_1__solution dl dd p span {
    background-image: repeating-linear-gradient(90deg, #000000, #000000 0.8vw, transparent 0.8vw, transparent 1.3333333333vw);
  }
  .unit_1__solution dl dd p:nth-child(n+2) {
    margin-top: 2.4vw;
  }
  .unit_1__solution dl + p {
    font-size: 2.6666666667vw;
    margin-top: 1.2vw;
  }
}

/*==================================
offer
==================================*/
.bf-cv-area-btn {
  transition-duration: 0.4s;
}
@media screen and (min-width: 768.1px) {
  .bf-cv-area-btn:hover {
    transform: scale(1.06);
  }
}
.offer01 {
  width: 100%;
  background-image: url(../image/bg_offer.webp);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  padding: calc(84/750*100%) 0 calc(60/750*100%);
}
.offer01 .wrap {
  width: min(93.3333333333vw, 700px);
  margin: 0 auto;
  background-color: #fff;
  position: relative;
}
.offer01 h2 {
  width: calc(657/700*100%);
  margin: 0 auto;
  position: absolute;
  left: 0;
  right: 0;
  top: -10.5%;
}
.offer01 .inner {
  padding: min(9.0667vw, 68px) min(3.3333333333vw, 25px) min(8vw, 60px);
}
.offer01 .inner_parts {
  display: flex;
  justify-content: space-between;
  align-items: end;
}
.offer01 .inner_parts .img01 {
  width: min(30.1333333333vw, 226px);
  margin-bottom: min(0.2666666667vw, 2px);
}
.offer01 .img02 .txt {
  position: relative;
}
.offer01 .inner_parts .img02 p {
  font-size: min(6.1333333333vw, 46px);
  line-height: 1.217;
  font-weight: bold;
  letter-spacing: -0.1rem;
  transform: translateY(-12%);
}
.offer01 .inner_parts .img02 img {
  width: min(54.2666666667vw, 407px);
}
.offer01 .entory_btn {
  display: block;
  margin-top: min(4.5333333333vw, 34px);
}
.offer01 h3 {
  font-size: min(3.2vw, 24px);
  font-weight: bold;
  text-align: center;
  margin-top: min(3.2vw, 24px);
}
.offer01 .offer__list {
  margin-top: min(3.2vw, 24px);
  padding-bottom: 0;
}
.offer01 .offer__list li {
  font-size: min(2.6666666667vw, 20px);
}

/*==================================
cv-details
==================================*/
.bf-cv-details {
  background-color: #fff;
}
.unit_4__component {
  padding: min(8vw, 60px) min(6.6666666667vw, 50px);
}
.unit_4__component dt {
  font-size: min(3.2vw, 24px);
  color: #fff;
  background-color: #db6362;
  padding: min(1.0666666667vw, 8px);
  text-align: center;
  font-weight: 400;
}
.unit_4__component dt:not(:first-of-type) {
  margin-top: min(2.6666666667vw, 20px);
}
.unit_4__component dd {
  font-size: min(2.6666666667vw, 20px);
  font-weight: 400;
}
.unit_4__component dd.txt {
  font-size: min(2.6666666667vw, 20px);
  padding: min(2.6666666667vw, 20px) 0;
}
.unit_4__component .pb0 {
  padding-bottom: 0;
}
.unit_4__component .mt10 {
  margin-top: min(1.3333333333vw, 10px);
}
.unit_4__component .mt14 {
  margin-top: min(1.8666666667vw, 14px);
}
.unit_4__component .mt16 {
  margin-top: min(2.1333333333vw, 16px);
}
.unit_4__component .mt20 {
  margin-top: min(2.6666666667vw, 20px);
}
.unit_4__component .mb20 {
  margin-bottom: min(2.6666666667vw, 20px);
}
.unit_4__component .indent li {
  text-indent: -2.5em;
  padding-left: 2.5em;
}
.unit_4__component .caution span {
  display: inline-block;
  background-color: #db6362;
  width: min(2.4vw, 18px);
  height: min(2.4vw, 18px);
}
.unit_4__component table {
  border-spacing: 0;
  border-collapse: collapse;
}
.unit_4__component .dosage-table {
  width: 100%;
  table-layout: fixed;
}
.unit_4__component .dosage-table th,
.unit_4__component .dosage-table td {
  width: 50%;
  text-align: left;
  border-bottom: 2px dotted #333333;
  font-weight: 400;
  padding-top: min(1.6vw, 12px);
  vertical-align: top;
}
.unit_4__component .dosage-table thead th {
  border-bottom: 2px dotted #333333;
  background-color: #f0f0f0;
}
.unit_4__component .link__txt {
  font-size: min(2.6666666667vw, 20px);
  line-height: 1.5;
}
.unit_4__component .note {
  font-size: min(2.6666666667vw, 20px);
  line-height: 1.5;
  margin-bottom: 55px;
}

/*==================================
FOOTER
==================================*/
.bf-footer {
  background-color: #000;
}
.bf-footer a {
  color: #fff;
}
.bf-footer-list {
  height: 90px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 19px;
}
@media screen and (max-width: 768px) {
  .bf-footer-list {
    height: 12vw;
    font-size: 2.5333333333vw;
  }
}
.bf-footer-list-item {
  height: 100%;
  flex-grow: 1;
}
.bf-footer-list-item a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.bf-footer-copy {
  display: flex;
  align-items: center;
  height: 99px;
  gap: 35px;
  padding: 0 18px;
}
@media screen and (max-width: 768px) {
  .bf-footer-copy {
    height: 13.2vw;
    gap: 4.6666666667vw;
    padding: 0 2.4vw;
  }
}
.bf-footer-copy .logo {
  width: 126px;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .bf-footer-copy .logo {
    width: 16.8vw;
  }
}
.bf-footer-copy .copyright {
  display: flex;
  justify-content: space-between;
  align-items: end;
  flex-wrap: wrap;
}
.bf-footer-copy .copyright p:nth-child(1) {
  font-size: 22px;
}
@media screen and (max-width: 768px) {
  .bf-footer-copy .copyright p:nth-child(1) {
    font-size: 2.9333333333vw;
  }
}
.bf-footer-copy .copyright p:nth-child(2) {
  font-size: 20px;
  letter-spacing: 0.009em;
}
@media screen and (max-width: 768px) {
  .bf-footer-copy .copyright p:nth-child(2) {
    font-size: 2.6666666667vw;
  }
}
.bf-footer-copy .copyright p:nth-child(3) {
  font-size: 21px;
  letter-spacing: 0.043em;
}
@media screen and (max-width: 768px) {
  .bf-footer-copy .copyright p:nth-child(3) {
    font-size: 2.8vw;
  }
}