@charset "UTF-8";

/**=====================前回=====================**/
html, body {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  line-height: 1.4;
  font-weight: 400;
  background-color: #FFF;
}


@media screen and (max-width: 779px) {
  html, body {
    font-size: 1.3vw;
  }
}


@media screen and (min-width: 780px) {
  html, body {
    font-size: 5px;
  }
}

* {
  color: #333333;
  box-sizing: border-box;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 400;
  margin: 0;
}

pre {
  margin: 0;
}

ul, ol {
  padding-left: 0;
  margin: 0;
}

li {
  list-style: none;
}

a {
  display: block;
  color: #333333;
  text-decoration: none;
}

figure {
  margin: 0;
}

img {
  width: 100%;
  display: block;
}

p, dl, dd {
  margin: 0;
}

button {
  border: none;
  box-shadow: none;
}

button:hover {
  cursor: pointer;
}

input:active, input:focus, input:hover,
textarea:active, textarea:focus, textarea:hover,
select:active, select:focus, select:hover,
button:active, button:focus, button:hover {
  outline: none;
}

::-ms-expand {
  display: none;
}

i {
  font-style: normal;
}

.pc {
  display: block;
}

@media only screen and (max-width: 780px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}

@media only screen and (max-width: 780px) {
  .sp {
    display: block;
  }
}

.blank {
  width: 100%;
  display: block;
}

@media only screen and (max-width: 780px) {
  .blank {
    display: none;
  }
}

.spblank {
  display: none;
}

@media only screen and (max-width: 780px) {
  .spblank {
    width: 100%;
    display: block;
  }
}

/**=====================前回=====================**/
.navy_figure {
  position: relative;
  z-index: 2;
}

.navy_back {
  background-color: #324063;
  position: relative;
  padding: 23.2rem 0 0;
  margin: 0 auto 5.2rem;
}

.navy_back::after {
  content: "";
  height: 0;
  display: table;
  border-top: solid 5.2rem #324063;
  border-right: solid 39rem transparent;
  border-left: solid 39rem transparent;
  border-bottom: 0;
  position: absolute;
  left: 0;
  bottom: calc(-5.2rem + 1px);
  /* 1px上に調整 */

}

@media screen and (max-width: 780px) {
  .navy_back::after {
    border-right: solid 50vw transparent;
    border-left: solid 50vw transparent;
  }
}

.number_wrap {
  padding: 22.2rem 0 4rem;
}

.number_list {
  padding: 0 0 7.8rem;
}

.number_list li {
  width: 72.6rem;
  padding: 1.4rem 0;
  margin: 0 auto;
  border-bottom: solid 2px rgba(255, 255, 255, 0.4);
}

.check_wrap {
  width: 73.2rem;
  margin: 0 auto;
  position: relative;
}

.check_wrap p {
  width: 68rem;
  color: #e5395b;
  font-size: 3.6rem;
  font-weight: 400;
  text-align: center;
  line-height: 1.7;
  border: solid 7px #e5395b;
  border-radius: 2rem;
  padding: 4rem 0;
  margin: 0 0 0 auto;
}

.check_wrap::before {
  content: "";
  width: 18rem;
  height: 18rem;
  display: block;
  background-size: contain;
  background-position: center;
  transform: translateY(-40%) translateX(-20%);
  position: absolute;
  top: 0;
  left: 0;
}

.check_list {
  display: flex;
  flex-wrap: wrap;
  gap: 2.8rem 2rem;
  justify-content: center;
}

.check_list li {
  width: 36.2rem;
}

.trouble {
  padding: 9.2rem 0 6rem;
  background-color: #ffffff;
}

.trouble_title {
  width: 66.4rem;
  margin: 0 auto;
  margin-bottom: 3.5em;

}

.trouble_title+figure {
  width: 70.2rem;
  margin: 0 auto -18.6rem;
}

.trouble_wrap .trouble_list {
  padding: 0 0 2.2rem;
}

.trouble_fukidashi {
  width: calc(100% - 8.6rem);
  height: 27.6rem;
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: top center;
  margin: 0 auto 3.8rem;
  position: relative;
}

.trouble_fukidashi p {
  font-size: 3.4rem;
  font-weight: 400;
  position: absolute;
  transform: translateX(70%) translateY(-60%);
  top: 50%;
}

.trouble_fukidashi p span {
  position: relative;
}

.trouble_fukidashi p span b {
  color: #c40505;
  font-weight: 600;
  position: relative;
  z-index: 2;
}

.trouble_fukidashi p span b:nth-of-type(1) {
  font-size: 5rem;
  padding: 0 0 0 0.5rem;
}

.trouble_fukidashi p span b:nth-of-type(2) {
  font-size: 3.4rem;
}

.trouble_fukidashi p span::before {
  content: "";
  width: 100%;
  height: 1.8rem;
  display: block;
  background-color: #cccccc;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
}

.trouble_text {
  padding: 0 4.3rem 4rem;
  margin: 0 auto;
}

.trouble_text p {
  color: #FFFFFF;
  font-size: 3rem;
}

.trouble_text p:nth-of-type(1), .trouble_text p:nth-of-type(2) {
  text-align: center;
  margin: 0 0 2rem;
}

.trouble_text p span {
  color: #FFFFFF;
}

.trouble_text p span:nth-of-type(1) {
  text-align: center;
}

.trouble_text p b {
  color: #fcee21;
  font-size: 4.4rem;
  font-weight: 400;
  border-bottom: dotted 4px #fcee21;
}

.trouble_resolve {
  padding: 13.2rem 0 8rem;
}

.trouble_resolve h2 {
  font-size: 4rem;
  text-align: center;
  font-weight: 600;
  margin: 0 0 5.4rem;
  text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.1);
  letter-spacing: 0.05em;
}

.trouble_resolve h2+img {
  width: 73.2rem;
  margin: 0 auto 8rem;
}

.trouble_resolve h3 {
  width: 64.1rem;
  margin: 0 auto 4rem;
}

.trouble_resolve p {
  width: 73.2rem;
  font-size: 3rem;
  line-height: 1.7;
  border-top: solid 1.6px #c9c9c9;
  padding: 4rem 0 0;
  margin: 0 auto;
}

.trouble_resolve p b {
  color: #e5395b;
}

.repayment {
  padding: 8.2rem 0 0;
  background-color: #ffffff;

}

.repayment h3 {
  width: 72.3rem;
  margin: 0 auto 3.2rem;
}

.repayment h3+figure {
  width: 70.2rem;
  margin: 0 auto -18.6rem;
}

.repayment_comment {
  width: 67.6rem;
  font-size: 3.2rem;
  font-weight: 400;
  background-color: #FFFFFF;
  border-radius: 10rem;
  text-align: center;
  padding: 2rem 0;
  margin: 0 auto 2.5rem;
}

.repayment_comment b {
  color: #e5395b;
}

.repayment_comment+p {
  color: #FFFFFF;
  font-size: 3rem;
  line-height: 1.6;
  text-align: center;
}

.repayment_fukidashi {
  width: calc(100% - 11.2rem);
  background-color: #FFFFFF;
  border-radius: 10rem;
  font-size: 3.2rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.1em;
  text-align: center;
  padding: 3.6rem 0;
  margin: 0 auto 5.2rem;
}

.repayment_fukidashi span {
  color: #e5395b;
}

.repayment_text {
  color: #FFFFFF;
  font-size: 3rem;
  line-height: 1.6;
  text-align: center;
  padding: 0 0 4.4rem;
}

.repayment_change {
  background-size: 100% auto;
  background-position: center bottom;
  background-repeat: no-repeat;
  padding: 6rem 0 26.6rem;
}

.repayment_change img {
  width: 59.9rem;
  margin: 0 auto 4rem;
}

.repayment_change p {
  font-size: 3.4rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.04rem;
  padding: 0 5rem;
  /* yellow border */
}

.repayment_change p span {
  position: relative;
}

.repayment_change p span b {
  color: #e5395b;
  font-size: 3.4rem;
  position: relative;
  z-index: 2;
}

.repayment_change p span::before {
  content: "";
  width: 100%;
  height: 1.8rem;
  display: block;
  background-color: #fff6bf;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
}

.clue {
  padding: 8.4rem 0 8rem;
  background-color: #F9F9F9;
}

.clue h2 {
  width: 59.9rem;
  margin: 0 auto 6rem;
}

.clue .check_list {
  margin: 0 auto 12rem;
}

.debtsolution {
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: 100% auto;
}

.debtsolution h2 {
  margin: 0 0 12rem;
}

.debtsolution h2+p {
  width: 72.8rem;
  font-size: 3rem;
  margin: 0 auto 12rem;
  letter-spacing: 0.07em;
  line-height: 1.6;
}

.debtsolution h2+p b {
  color: #e5395b;
  font-weight: 400;
  letter-spacing: 0.07em;
}

.debtsolution dl {
  width: calc(100% - 2.6rem);
  background-color: #FFFFFF;
  border-radius: 0 4.8rem 4.8rem 0;
  padding: 21.6rem 4.4rem 8rem 2.4rem;
  box-shadow: 4px 4px 8px 0px rgba(139, 131, 121, 0.2);
  margin: 0 2.6rem 14rem 0;
  position: relative;

}

.debtsolution dl::before {
  content: "";
  width: 100%;
  height: 37.9rem;
  display: block;
  background-size: 100% auto;
  background-position: top center;
  background-repeat: no-repeat;
  position: absolute;
  top: -10.6rem;
  right: -2.3rem;
}

.debtsolution dl:nth-of-type(1) {
  margin: 0 2.6rem 14rem 0;
}

.debtsolution dl:nth-of-type(1)::before {
}

.debtsolution dl:nth-of-type(2) {
  margin: 0 2.6rem 11.6rem 0;
}

.debtsolution dl:nth-of-type(2)::before {
}

.debtsolution dl dt {
  font-size: 4.6rem;
  font-weight: 500;
  margin: 0 0 4rem;
}

.debtsolution dl dd {
  font-size: 3rem;
  line-height: 1.7;
}

.debtsolution dl dd b {
  color: #e5395b;
  font-weight: 400;
}

.debtsolution_change img {
  width: 71.1rem;
  margin: 0 auto;
}

.debtsolution_change p {
  background-size: 100% auto;
  background-position: bottom center;
  background-repeat: no-repeat;
  font-size: 3.4rem;
  line-height: 1.7;
  font-weight: 500;
  padding: 0 5rem 20.4rem;
  margin: 0 auto;
  letter-spacing: 0.1em;
  /* yellow border */

}

.debtsolution_change p span {
  position: relative;
}

.debtsolution_change p span b {
  color: #e5395b;
  font-size: 4rem;
  font-weight: 500;
  position: relative;
  z-index: 2;
}

.debtsolution_change p span::before {
  content: "";
  width: 100%;
  height: 1.8rem;
  display: block;
  background-color: #fff6bf;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
}

.solutioncase {
  background-image: url(../images/solutioncase/solutioncase_bg.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: bottom center;
}

.solutioncase h3 {
  margin: 0 0 5.4rem;
}

.solutioncase_list {
  padding: 0 0 15.8rem;
}

.solutioncase_list li {
  width: 73rem;
  padding: 0 0 4.8rem;
  margin: 0 auto 8.8rem;
  position: relative;
}

.solutioncase_list li:nth-last-of-type(1) {
  margin: 0 auto;
}

.solutioncase_list li::before {
  content: "";
  width: 100%;
  height: calc(100% - 6rem);
  background-color: #FFFFFF;
  border-radius: 1rem;
  position: absolute;
  bottom: 0;
  left: 0;
  box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.08);

}

.solutioncase_list div {
  display: flex;
  margin: -6rem 0 0;
  position: relative;
  z-index: 2;
}

.solutioncase_list div figure {
  width: 25.5rem;
}

.solutioncase_list div p {
  width: 43.4rem;
  color: #e5395b;
  font-size: 3rem;
  line-height: 1.7;
  padding: 10rem 0 0;
}

.solutioncase_list div+p {
  width: 69rem;
  font-size: 3rem;
  border-top: solid 1.6px #c9c9c9;
  padding: 3.4rem 0 0;
  margin: 0 auto;
  position: relative;
  z-index: 2;
  /* yellow border */
  letter-spacing: 0.06em;
  line-height: 1.5;

}

.solutioncase_list div+p span {
  position: relative;
}

.solutioncase_list div+p span b {
  color: #e5395b;
  font-weight: 400;
  position: relative;
  z-index: 2;
}

.solutioncase_list div+p span::before {
  content: "";
  width: 100%;
  height: 1.8rem;
  display: block;
  background-color: #fff6bf;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
}

.pr {
  background-size: 100% auto;
  background-position: bottom center;
  background-repeat: no-repeat;
  padding: 0 0 68rem;
}

.pr h4 {
  margin: 0 0 2rem;
}

.pr_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.pr_list li {
  width: 36.9rem;
}














@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-100%);
  }
}

@keyframes infinity-scroll-right {
  from {
    transform: translateX(-100%);
  }

  to {
    transform: translateX(0);
  }
}

.media_wrap {
  background-color: #FFFFFF;
  padding: 0.5rem 0 4.2rem;
  position: relative;
  margin-top: 5em;
}

.media_wrap::before {
  content: "";
  width: 100%;
  height: 1rem;
  background-image: radial-gradient(#D7D7D7 2px, transparent 2px);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 1rem 1rem;
  position: absolute;
  top: -0.5rem;
  left: 0;
}

.media_wrap::after {
  content: "";
  width: 100%;
  height: 1rem;
  background-image: radial-gradient(#D7D7D7 2px, transparent 2px);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 1rem 1rem;
  position: absolute;
  bottom: -0.5rem;
  left: 0;
}

.media_list_wrap {
  display: flex;
  overflow: visible;
  margin-top: 5em;
}

.media_list_wrap:nth-of-type(1) .media_list {
  animation: infinity-scroll-left 40s infinite linear 0.5s both;
}

.media_list_wrap:nth-of-type(2) .media_list {
  animation: infinity-scroll-right 40s infinite linear 0.5s both;
}

.media_list {
  display: flex;
  padding: 0;
}

.media_list li {
  width: 39rem;
}

.media_text {
  width: 53.6rem;
  padding: 3.2rem 0 0;
  margin: 0 auto;
}

.review {
  background-size: 100% auto;
  background-position: center;
  background-repeat: no-repeat;
  padding: 0 0 9.6rem;
}

.red_wrap {
  background-image: linear-gradient(40deg, #7A2423 0%, #C64445 100%);
}

.insight {
  padding: 8.8rem 0 11.8rem;
}

.insight h3 {
  width: 70.5rem;
  margin: 0 auto;
}

/* お悩みセクション */
.debt_worry {
  --worry-u: min(0.15625vw, 1.21875px);
  background-color: #f0ebe3;
  background-image: none;
  padding: calc(68 * var(--worry-u)) calc(20 * var(--worry-u)) 0;
  position: relative;
}

.debt_worry::after {
  content: none;
}

.debt_worry_title {
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-size: calc(45 * var(--worry-u));
  font-weight: 600;
  letter-spacing: calc(1 * var(--worry-u));
  line-height: 1.48;
  margin: 0 0 calc(55 * var(--worry-u));
  text-align: center;
}

.debt_worry_title span {
  color: inherit;
  display: block;
}

.debt_worry_title mark {
  background: linear-gradient(transparent 46%, #d9dde1 46%, #d9dde1 88%, transparent 88%);
  border-radius: calc(4 * var(--worry-u));
  color: inherit;
  padding: 0 calc(3 * var(--worry-u));
}

.debt_worry_title span:last-child::after {
  background: #2f79bd;
  border-radius: calc(999 * var(--worry-u));
  content: "";
  display: block;
  height: calc(4 * var(--worry-u));
  margin: calc(16 * var(--worry-u)) auto 0;
  width: calc(118 * var(--worry-u));
}

.debt_worry_title b {
  color: #1e50a2;
  font: inherit;
}

.debt_worry_list {
  display: grid;
  gap: calc(30 * var(--worry-u)) calc(28 * var(--worry-u));
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.debt_worry_card {
  align-items: center;
  aspect-ratio: 331 / 288;
  background-color: #fff;
  border-radius: calc(17 * var(--worry-u));
  box-shadow: 0 calc(5 * var(--worry-u)) calc(9 * var(--worry-u)) rgba(126, 92, 63, 0.16);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: visible;
  padding: calc(31 * var(--worry-u)) calc(9 * var(--worry-u)) calc(15 * var(--worry-u));
}

.debt_worry_card p {
  color: #333;
  font-size: calc(23 * var(--worry-u));
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.58;
  min-height: calc(80 * var(--worry-u));
  text-align: center;
  width: 100%;
}

.debt_worry_card p span {
  color: inherit;
  display: block;
  white-space: nowrap;
}

.debt_worry_card img {
  height: calc(145 * var(--worry-u));
  margin: 0 auto;
  object-fit: contain;
  width: 100%;
}

.debt_worry_alert {
  margin: calc(78 * var(--worry-u)) 0 0;
  position: relative;
  z-index: 3;
}

.debt_worry_alert_label {
  align-items: center;
  background-color: #d9601f;
  border-radius: calc(999 * var(--worry-u));
  color: #fff;
  display: flex;
  font-size: calc(25 * var(--worry-u));
  font-weight: 700;
  height: calc(62 * var(--worry-u));
  justify-content: center;
  left: 50%;
  letter-spacing: 0;
  line-height: 1.25;
  padding: 0 calc(18 * var(--worry-u));
  position: absolute;
  text-align: center;
  top: 0;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  width: calc(570 * var(--worry-u));
  z-index: 2;
}

.debt_worry_alert_inner {
  align-items: center;
  background-color: #fff;
  border-radius: calc(18 * var(--worry-u));
  box-shadow: 0 calc(5 * var(--worry-u)) calc(9 * var(--worry-u)) rgba(126, 92, 63, 0.14);
  display: grid;
  grid-template-columns: calc(218 * var(--worry-u)) 1fr;
  min-height: calc(258 * var(--worry-u));
  overflow: hidden;
  padding: calc(38 * var(--worry-u)) calc(28 * var(--worry-u)) 0 calc(12 * var(--worry-u));
  position: relative;
}

.debt_worry_alert_img {
  align-self: end;
  height: calc(245 * var(--worry-u));
  object-fit: contain;
  object-position: bottom center;
  width: 100%;
}

.debt_worry_alert_text {
  color: #333;
  font-size: calc(27 * var(--worry-u));
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.55;
  padding: 0 0 calc(16 * var(--worry-u));
}

.debt_worry_alert_text span {
  color: inherit;
  display: block;
  white-space: nowrap;
}

.debt_worry_alert_text mark {
  background: linear-gradient(transparent 16%, #fff33f 16%, #fff33f 88%, transparent 88%);
  color: inherit;
  font: inherit;
  padding: 0 calc(2 * var(--worry-u));
}

.debt_worry_lead {
  background-color: #1e50a2;
  margin: calc(46 * var(--worry-u)) calc(-20 * var(--worry-u)) 0;
  padding: calc(25 * var(--worry-u)) calc(20 * var(--worry-u)) calc(28 * var(--worry-u));
  position: relative;
  text-align: center;
  z-index: 3;
}

.debt_worry_lead::before {
  background-image: repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.055) 0, rgba(255, 255, 255, 0.055) calc(24 * var(--worry-u)), transparent calc(24 * var(--worry-u)), transparent calc(120 * var(--worry-u)));
  content: "";
  display: block;
  inset: 0;
  opacity: 0.9;
  position: absolute;
}

.debt_worry_lead::after {
  content: none;
}

.debt_worry_lead_label {
  align-items: center;
  background-color: #fff33f;
  border-radius: calc(999 * var(--worry-u));
  color: #d9601f;
  display: inline-flex;
  font-size: calc(27 * var(--worry-u));
  font-weight: 700;
  height: calc(43 * var(--worry-u));
  justify-content: center;
  letter-spacing: 0;
  line-height: 1;
  padding: 0 calc(38 * var(--worry-u));
  white-space: nowrap;
  position: relative;
  z-index: 2;
}

.debt_worry_lead_text {
  color: #fff;
  font-size: calc(31 * var(--worry-u));
  font-weight: 900;
  line-height: 1.5;
  margin: calc(13 * var(--worry-u)) 0 0;
  text-align: center;
  text-shadow: calc(3 * var(--worry-u)) calc(3 * var(--worry-u)) 0 rgba(12, 88, 31, 0.45);
  position: relative;
  z-index: 2;
}

.debt_worry_lead_text span {
  color: inherit;
  display: block;
  white-space: nowrap;
}

.debt_worry_lead_text .debt_worry_lead_quote {
  color: #fff33f;
  font-size: calc(37 * var(--worry-u));
  letter-spacing: calc(1 * var(--worry-u));
}

.debt_worry_lead_text b {
  background-color: #fff;
  border-radius: calc(6 * var(--worry-u));
  box-shadow: calc(3 * var(--worry-u)) calc(3 * var(--worry-u)) 0 rgba(12, 88, 31, 0.38);
  color: #f58220;
  display: inline-flex;
  font: inherit;
  line-height: 1;
  margin-right: calc(10 * var(--worry-u));
  padding: calc(8 * var(--worry-u)) calc(17 * var(--worry-u)) calc(10 * var(--worry-u));
  text-shadow: none;
  vertical-align: calc(2 * var(--worry-u));
}

.debt_worry_lead_text span:last-child {
  display: inline-block;
  border-bottom: calc(5 * var(--worry-u)) dotted rgba(255, 255, 255, 0.95);
  padding-bottom: calc(7 * var(--worry-u));
}

.debt_worry_alert {
  background: linear-gradient(180deg, #f0ebe3 0 calc(740 * var(--worry-u)), #1e50a2 calc(740 * var(--worry-u)) 100%);
  height: calc(970 * var(--worry-u));
  margin: calc(42 * var(--worry-u)) calc(-20 * var(--worry-u)) 0;
  overflow: visible;
  position: relative;
  z-index: 3;
}

.debt_worry_alert::before {
  background:
    repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.055) 0 calc(2 * var(--worry-u)), transparent calc(2 * var(--worry-u)) calc(14 * var(--worry-u))),
    linear-gradient(180deg, #1e50a2 0%, #1e50a2 100%);
  box-shadow: 0 calc(12 * var(--worry-u)) calc(24 * var(--worry-u)) rgba(0, 28, 65, 0.18);
  clip-path: polygon(0 0, 50% calc(58 * var(--worry-u)), 100% 0, 100% calc(100% - 58 * var(--worry-u)), 50% 100%, 0 calc(100% - 58 * var(--worry-u)));
  content: "";
  display: block;
  height: calc(850 * var(--worry-u));
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

.debt_worry_alert_visual {
  clip-path: polygon(0 0, 50% calc(58 * var(--worry-u)), 100% 0, 100% calc(100% - 58 * var(--worry-u)), 50% 100%, 0 calc(100% - 58 * var(--worry-u)));
  height: calc(850 * var(--worry-u));
  left: 0;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 3;
}

.debt_worry_alert_visual img {
  bottom: calc(-6 * var(--worry-u));
  display: block;
  filter: drop-shadow(0 calc(12 * var(--worry-u)) calc(16 * var(--worry-u)) rgba(0, 20, 50, 0.22));
  height: auto;
  left: 50%;
  max-width: none;
  opacity: 0.96;
  position: absolute;
  right: auto;
  transform: translateX(-50%);
  width: calc(500 * var(--worry-u));
}

.debt_worry_alert::after {
  background: linear-gradient(180deg, #ff8a47 0%, #f26522 100%);
  border-radius: 50%;
  content: "";
  display: block;
  height: calc(166 * var(--worry-u));
  left: 50%;
  position: absolute;
  top: calc(800 * var(--worry-u));
  transform: translateX(-50%);
  width: calc(166 * var(--worry-u));
  z-index: 6;
}

.debt_worry_alert_label {
  align-items: center;
  background: transparent;
  border-radius: 50%;
  box-shadow: none;
  color: #fff;
  display: flex;
  font-size: calc(34 * var(--worry-u));
  font-weight: 800;
  height: calc(166 * var(--worry-u));
  justify-content: center;
  left: 50%;
  line-height: 1.12;
  padding: 0;
  position: absolute;
  text-align: center;
  top: calc(800 * var(--worry-u));
  transform: translateX(-50%);
  white-space: nowrap;
  width: calc(166 * var(--worry-u));
  z-index: 8;
}

.debt_worry_alert_risk {
  left: 50%;
  position: absolute;
  text-align: center;
  top: calc(86 * var(--worry-u));
  transform: translateX(-50%);
  width: calc(620 * var(--worry-u));
  z-index: 4;
}

.debt_worry_alert_risk_intro {
  color: #fff;
  font-size: calc(34 * var(--worry-u));
  font-weight: 500;
  line-height: 1.35;
  margin: 0 0 calc(12 * var(--worry-u));
  text-align: center;
}

.debt_worry_alert_risk_intro span {
  color: #fff33f;
  font-weight: 800;
}

.debt_worry_alert_risk_points {
  display: grid;
  gap: calc(13 * var(--worry-u));
  margin: 0 auto calc(14 * var(--worry-u));
  width: calc(560 * var(--worry-u));
}

.debt_worry_alert_risk_points li {
  background-color: #fff2a8;
  border-radius: calc(8 * var(--worry-u));
  color: #18233a;
  font-size: calc(25 * var(--worry-u));
  font-weight: 700;
  line-height: 1.24;
  padding: calc(9 * var(--worry-u)) calc(12 * var(--worry-u));
  text-align: center;
}

.debt_worry_alert_risk_emphasis {
  border-bottom: calc(3 * var(--worry-u)) dotted #fff33f;
  color: #fff;
  display: inline-block;
  font-size: calc(29 * var(--worry-u));
  font-weight: 700;
  line-height: 1.38;
  margin: 0 auto;
  max-width: 100%;
  padding: 0 0 calc(9 * var(--worry-u));
  text-align: center;
  white-space: nowrap;
}

.debt_worry_alert_risk_emphasis span {
  color: #fff33f;
}

/* 放置リスクを4つのカードで見せるセクション */
.debt_worry_alert {
  background: #edf6fc;
  border-radius: calc(24 * var(--worry-u));
  box-shadow: 0 calc(8 * var(--worry-u)) calc(20 * var(--worry-u)) rgba(30, 80, 162, 0.12);
  height: auto;
  margin: calc(46 * var(--worry-u)) calc(-20 * var(--worry-u)) 0;
  overflow: hidden;
  padding: calc(42 * var(--worry-u)) calc(20 * var(--worry-u)) calc(44 * var(--worry-u));
}

.debt_worry_alert::before,
.debt_worry_alert::after,
.debt_worry_alert_visual,
.debt_worry_alert_label {
  display: none;
}

.debt_worry_alert_risk {
  left: auto;
  position: relative;
  text-align: center;
  top: auto;
  transform: none;
  width: 100%;
  z-index: 1;
}

.debt_worry_alert_risk_intro {
  color: #1e50a2;
  font-size: calc(34 * var(--worry-u));
  font-weight: 800;
  margin: 0 0 calc(24 * var(--worry-u));
}

.debt_worry_alert_risk_intro span {
  color: #2f79bd;
}

.debt_worry_alert_risk_points {
  display: grid;
  gap: calc(14 * var(--worry-u));
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0 auto calc(24 * var(--worry-u));
  width: 100%;
}

.debt_worry_alert_risk_points li {
  background: #fff;
  border: calc(2 * var(--worry-u)) solid rgba(47, 121, 189, 0.2);
  border-radius: calc(14 * var(--worry-u));
  box-shadow: 0 calc(4 * var(--worry-u)) calc(10 * var(--worry-u)) rgba(30, 80, 162, 0.08);
  color: #2f3540;
  font-size: calc(20 * var(--worry-u));
  line-height: 1.55;
  padding: calc(22 * var(--worry-u)) calc(18 * var(--worry-u));
  text-align: left;
}

.debt_worry_alert_risk_points li strong {
  color: #1e50a2;
  display: block;
  font-size: calc(25 * var(--worry-u));
  line-height: 1.45;
  margin-bottom: calc(10 * var(--worry-u));
}

.debt_worry_alert_risk_points li span {
  display: block;
  font-size: calc(19 * var(--worry-u));
  font-weight: 500;
  line-height: 1.65;
}

.debt_worry_alert_risk_emphasis {
  border-bottom: calc(3 * var(--worry-u)) solid #2f79bd;
  color: #1e50a2;
  font-size: calc(26 * var(--worry-u));
  padding-bottom: calc(8 * var(--worry-u));
  white-space: normal;
}

.debt_worry_alert_risk_emphasis span {
  color: inherit;
}

@media only screen and (max-width: 780px) {
  .debt_worry_alert_risk_points {
    grid-template-columns: 1fr;
  }

  .debt_worry_alert_risk_points li strong {
    font-size: calc(24 * var(--worry-u));
  }
}

.debt_worry_lead {
  background: linear-gradient(180deg, #1e50a2 0%, #1e50a2 100%);
  margin: 0 calc(-20 * var(--worry-u));
  min-height: calc(660 * var(--worry-u));
  overflow: hidden;
  padding: calc(28 * var(--worry-u)) calc(34 * var(--worry-u)) calc(58 * var(--worry-u));
  position: relative;
  text-align: center;
  z-index: 3;
}

.debt_worry_lead::before,
.debt_worry_lead::after {
  content: none;
}

.debt_worry_lead_heading {
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: calc(39 * var(--worry-u));
  font-weight: 700;
  letter-spacing: calc(1 * var(--worry-u));
  line-height: 1.24;
  margin: 0 auto calc(24 * var(--worry-u));
  position: relative;
  text-align: center;
  text-shadow: 0 calc(3 * var(--worry-u)) calc(5 * var(--worry-u)) rgba(0, 38, 91, 0.3);
  z-index: 4;
}

.debt_worry_lead_heading::before,
.debt_worry_lead_heading::after {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: calc(202 * var(--worry-u));
  position: absolute;
  top: calc(-8 * var(--worry-u));
  width: calc(96 * var(--worry-u));
  z-index: 5;
}

.debt_worry_lead_heading::before {
  background-image: url("../images/decoration/debt_worry_leaf_left.png");
  left: calc(-8 * var(--worry-u));
}

.debt_worry_lead_heading::after {
  background-image: url("../images/decoration/debt_worry_leaf_right.png");
  right: calc(-8 * var(--worry-u));
}

.debt_worry_lead_heading span {
  color: inherit;
  display: block;
  position: relative;
  white-space: nowrap;
  z-index: 6;
}

.debt_worry_lead_heading .debt_worry_lead_keyword {
  color: #fff33f;
  font-size: calc(45 * var(--worry-u));
  font-weight: 700;
  line-height: 1.12;
  text-shadow: 0 calc(3 * var(--worry-u)) calc(5 * var(--worry-u)) rgba(0, 38, 91, 0.3);
}

.debt_worry_lead_heading .debt_worry_lead_keyword small {
  color: #fff;
  font-size: calc(38 * var(--worry-u));
  font-weight: 700;
  margin-left: calc(2 * var(--worry-u));
}

.debt_worry_lead_heading span:nth-child(2) {
  color: #fff33f;
  display: inline-block;
  font-size: calc(36 * var(--worry-u));
  margin-top: calc(5 * var(--worry-u));
  padding: calc(4 * var(--worry-u)) calc(14 * var(--worry-u)) calc(7 * var(--worry-u));
}

.debt_worry_lead_heading span:nth-child(2)::before {
  background-color: rgba(0, 35, 84, 0.48);
  content: "";
  display: block;
  inset: calc(8 * var(--worry-u)) calc(-6 * var(--worry-u)) calc(5 * var(--worry-u));
  position: absolute;
  z-index: -1;
}

.debt_worry_lead_heading span:nth-child(3) {
  font-size: calc(35 * var(--worry-u));
  margin-top: calc(4 * var(--worry-u));
}

.debt_worry_lead_visual {
  background: none;
  display: block;
  margin: calc(18 * var(--worry-u)) auto 0;
  position: relative;
  width: calc(560 * var(--worry-u));
  z-index: 3;
}

.debt_worry_lead_visual img {
  height: auto;
  margin: 0 auto;
  object-fit: contain;
  object-position: bottom center;
  width: 100%;
}

.debt_worry_lead_label {
  align-items: center;
  background-color: #fff;
  border-radius: calc(999 * var(--worry-u));
  box-shadow: 0 calc(4 * var(--worry-u)) calc(12 * var(--worry-u)) rgba(0, 38, 91, 0.18);
  color: #1e50a2;
  display: inline-flex;
  font-size: calc(27 * var(--worry-u));
  font-weight: 700;
  height: auto;
  justify-content: center;
  line-height: 1.45;
  margin: calc(-20 * var(--worry-u)) auto 0;
  min-height: 0;
  overflow: visible;
  padding: calc(10 * var(--worry-u)) calc(25 * var(--worry-u));
  position: relative;
  white-space: nowrap;
  width: fit-content;
  z-index: 4;
}

.debt_worry_lead_text {
  color: #fff;
  font-size: calc(40 * var(--worry-u));
  font-weight: 600;
  line-height: 1.36;
  margin: calc(18 * var(--worry-u)) auto 0;
  position: relative;
  text-align: center;
  text-shadow: none;
  z-index: 4;
}

.debt_worry_lead_text span {
  color: inherit;
  display: block;
  white-space: nowrap;
}

.debt_worry_lead_text b,
.debt_worry_lead_text em {
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  color: #fff33f;
  display: inline;
  font: inherit;
  font-style: normal;
  font-weight: 700;
  line-height: inherit;
  margin: 0;
  padding: 0;
  text-shadow: none;
  vertical-align: baseline;
}

.debt_worry_lead_text span:last-child {
  border-bottom: calc(3 * var(--worry-u)) dotted rgba(255, 255, 255, 0.92);
  display: inline-block;
  font-size: calc(34 * var(--worry-u));
  margin-top: calc(6 * var(--worry-u));
  padding-bottom: calc(11 * var(--worry-u));
}

.debt_worry_consultation_record {
  align-items: center;
  background: #fff;
  border: calc(4 * var(--worry-u)) solid #83cef2;
  border-radius: calc(24 * var(--worry-u));
  box-shadow:
    inset 0 0 0 calc(4 * var(--worry-u)) #fff,
    inset 0 0 0 calc(7 * var(--worry-u)) #178bd8,
    0 calc(8 * var(--worry-u)) calc(15 * var(--worry-u)) rgba(4, 67, 150, 0.22);
  box-sizing: border-box;
  display: grid;
  grid-template-columns: calc(66 * var(--worry-u)) minmax(0, 1fr) auto;
  grid-template-rows: auto;
  column-gap: calc(10 * var(--worry-u));
  justify-content: center;
  margin: calc(25 * var(--worry-u)) auto 0;
  max-width: calc(560 * var(--worry-u));
  min-height: calc(132 * var(--worry-u));
  padding: calc(15 * var(--worry-u)) calc(18 * var(--worry-u));
  position: relative;
  width: 100%;
  z-index: 4;
}

.debt_worry_consultation_record_icon {
  align-items: center;
  background: linear-gradient(145deg, #006fb8, #0096c8);
  border-radius: 50%;
  display: flex;
  grid-row: 1;
  height: calc(60 * var(--worry-u));
  justify-content: center;
  position: relative;
  width: calc(60 * var(--worry-u));
}

.debt_worry_consultation_record_icon img {
  display: block;
  height: calc(47 * var(--worry-u));
  object-fit: contain;
  width: calc(47 * var(--worry-u));
}

.debt_worry_consultation_record b {
  border-right: calc(2 * var(--worry-u)) dotted rgba(29, 75, 120, 0.48);
  color: #173e6b;
  font-size: calc(27 * var(--worry-u));
  font-weight: 700;
  letter-spacing: calc(1 * var(--worry-u));
  line-height: 1.22;
  margin: 0;
  padding-right: calc(10 * var(--worry-u));
  white-space: nowrap;
}

.debt_worry_consultation_record b small {
  display: block;
  font-size: calc(21 * var(--worry-u));
  letter-spacing: calc(1 * var(--worry-u));
  margin-bottom: calc(4 * var(--worry-u));
}

.debt_worry_consultation_record_metric {
  align-items: baseline;
  display: flex;
  justify-content: flex-end;
  margin: 0 0 0 calc(4 * var(--worry-u));
}

.debt_worry_consultation_record strong {
  background: linear-gradient(180deg, #006fb8 0 66%, #0096c8 66% 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  display: inline-flex;
  font-family: "Oswald", "Arial Black", "Noto Sans JP", sans-serif;
  align-items: baseline;
  font-size: calc(76 * var(--worry-u));
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  letter-spacing: 0;
  line-height: .9;
  text-shadow: calc(2 * var(--worry-u)) calc(2 * var(--worry-u)) 0 rgba(0, 111, 184, 0.08);
  white-space: nowrap;
}

.debt_worry_consultation_record strong small {
  color: #173e6b;
  font-family: "Noto Sans JP", sans-serif;
  align-self: baseline;
  font-size: calc(20 * var(--worry-u));
  font-weight: 500;
  letter-spacing: 0;
  margin-right: calc(5 * var(--worry-u));
}

.debt_worry_consultation_record strong em {
  color: #173e6b;
  font-family: "Noto Sans JP", sans-serif;
  align-self: baseline;
  font-size: calc(25 * var(--worry-u));
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0;
  margin-left: calc(5 * var(--worry-u));
}

.debt_worry_lead_support {
  box-sizing: border-box;
  color: #fff;
  font-size: calc(26 * var(--worry-u));
  font-weight: 500;
  line-height: 1.72;
  margin: calc(24 * var(--worry-u)) auto 0;
  max-width: calc(560 * var(--worry-u));
  position: relative;
  text-align: left;
  width: 100%;
  z-index: 4;
}

.debt_worry_lead_support em {
  color: #fff33f;
  font-style: normal;
  font-weight: inherit;
}

.debt_worry_lead_support strong {
  color: #fff33f;
  display: block;
  font-size: calc(28 * var(--worry-u));
  font-weight: 700;
  line-height: 1.45;
  margin-top: calc(8 * var(--worry-u));
  text-align: center;
}

/* お悩みセクション：水色基調・人物を使わない統一アイコン */
.debt_worry {
  background: linear-gradient(180deg, #eef8ff 0%, #f8fdff 64%, #eef9ff 100%);
  padding-top: calc(42 * var(--worry-u));
}

.debt_worry_title {
  margin-bottom: calc(36 * var(--worry-u));
}

.debt_worry_title mark {
  background: linear-gradient(transparent 49%, #178bd8 49%, #178bd8 88%, transparent 88%);
}

.debt_worry_list {
  gap: calc(20 * var(--worry-u));
}

.debt_worry_card {
  aspect-ratio: 331 / 260;
  border: calc(2 * var(--worry-u)) solid #178bd8;
  border-radius: calc(16 * var(--worry-u));
  box-shadow: 0 calc(5 * var(--worry-u)) calc(12 * var(--worry-u)) rgba(47, 121, 189, 0.13);
  overflow: hidden;
  padding: calc(21 * var(--worry-u)) calc(10 * var(--worry-u)) calc(16 * var(--worry-u));
  position: relative;
}

.debt_worry_card p {
  font-size: calc(24 * var(--worry-u));
  min-height: calc(72 * var(--worry-u));
  position: relative;
  z-index: 1;
}

.debt_worry_card img {
  display: block;
  height: calc(145 * var(--worry-u));
  margin: 0 auto;
  object-fit: contain;
  width: 100%;
}

.debt_worry_card::after {
  content: none;
  display: none;
}

/* 放置リスク：濃色ベースに黄色を効かせた上下矢印のパネル */
.debt_worry_alert {
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  height: calc(690 * var(--worry-u));
  margin: calc(42 * var(--worry-u)) calc(-20 * var(--worry-u)) 0;
  overflow: visible;
  padding: 0;
}

.debt_worry_alert::before {
  background: repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.035) 0 calc(2 * var(--worry-u)), transparent calc(2 * var(--worry-u)) calc(14 * var(--worry-u))), linear-gradient(180deg, #2b3442 0%, #18202c 100%);
  clip-path: polygon(0 0, 50% calc(40 * var(--worry-u)), 100% 0, 100% calc(100% - 40 * var(--worry-u)), 50% 100%, 0 calc(100% - 40 * var(--worry-u)));
  display: block;
  height: 100%;
  inset: 0;
  position: absolute;
}

.debt_worry_alert::after,
.debt_worry_alert_visual,
.debt_worry_alert_label {
  display: none;
}

.debt_worry_alert_risk {
  left: 50%;
  padding: calc(73 * var(--worry-u)) calc(38 * var(--worry-u)) calc(64 * var(--worry-u));
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  width: 100%;
}

.debt_worry_alert_risk_intro {
  color: #fff;
  font-size: calc(33 * var(--worry-u));
  margin-bottom: calc(24 * var(--worry-u));
}

.debt_worry_alert_risk_intro span {
  color: #ffe34f;
}

.debt_worry_alert_risk_points {
  gap: calc(14 * var(--worry-u));
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: calc(22 * var(--worry-u));
  width: 100%;
}

.debt_worry_alert_risk_points li {
  background: transparent;
  border: 0;
  border-bottom: calc(1 * var(--worry-u)) solid rgba(255, 255, 255, 0.24);
  border-left: calc(6 * var(--worry-u)) solid #ffe34f;
  border-radius: 0;
  box-shadow: none;
  color: #fff;
  align-items: flex-start;
  display: flex;
  min-height: calc(71 * var(--worry-u));
  padding: calc(10 * var(--worry-u)) calc(12 * var(--worry-u)) calc(11 * var(--worry-u));
}

.debt_worry_alert_risk_points li strong {
  color: #ffe34f;
  font-size: calc(22 * var(--worry-u));
  line-height: 1.42;
  margin: 0;
}

@media only screen and (max-width: 780px) {
  .debt_worry_alert {
    height: calc(920 * var(--worry-u));
  }

  .debt_worry_alert_risk_points {
    grid-template-columns: 1fr;
  }

  .debt_worry_alert_risk_points li strong {
    font-size: calc(24 * var(--worry-u));
  }
}

.debt_worry_alert_risk_emphasis {
  border-bottom: calc(3 * var(--worry-u)) solid #ffe34f;
  color: #fff;
  font-size: calc(26 * var(--worry-u));
  padding-bottom: calc(8 * var(--worry-u));
}

.debt_worry_alert_risk_emphasis span {
  color: #ffe34f;
}

/* 背景イラストを矢印型パネルの後ろに敷く */
.debt_worry_alert_visual {
  clip-path: polygon(0 0, 50% calc(40 * var(--worry-u)), 100% 0, 100% calc(100% - 40 * var(--worry-u)), 50% 100%, 0 calc(100% - 40 * var(--worry-u)));
  display: block;
  height: 100%;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  width: 100%;
  z-index: 2;
}

.debt_worry_alert_visual img {
  bottom: calc(34 * var(--worry-u));
  display: block;
  filter: grayscale(1) brightness(1.45) contrast(.86);
  height: auto;
  left: 50%;
  max-width: none;
  opacity: .28;
  position: absolute;
  transform: translateX(-50%);
  width: calc(660 * var(--worry-u));
}

.debt_worry_alert::after {
  background: linear-gradient(180deg, #ff924f 0%, #f26522 100%);
  border-radius: 50%;
  bottom: calc(-48 * var(--worry-u));
  content: "";
  display: block;
  height: calc(118 * var(--worry-u));
  left: 50%;
  position: absolute;
  top: auto;
  transform: translateX(-50%);
  width: calc(118 * var(--worry-u));
  z-index: 6;
}

.debt_worry_alert_label {
  align-items: center;
  bottom: calc(-48 * var(--worry-u));
  color: #fff;
  display: flex;
  font-size: calc(25 * var(--worry-u));
  font-weight: 800;
  height: calc(118 * var(--worry-u));
  justify-content: center;
  left: 50%;
  position: absolute;
  top: auto;
  transform: translateX(-50%);
  width: calc(118 * var(--worry-u));
  z-index: 7;
}

/* お悩み一覧：カード型から、要点が一目で読めるリスト型へ */
.debt_worry {
  background: radial-gradient(circle at 50% 18%, #59657a 0%, #3f4a5e 45%, #303949 100%);
}

.debt_worry_title {
  color: #fff;
  font-size: calc(43 * var(--worry-u));
  line-height: 1.32;
  margin-bottom: calc(31 * var(--worry-u));
}

.debt_worry_title span:first-child {
  font-size: calc(40 * var(--worry-u));
  font-weight: 700;
}

.debt_worry_title span:last-child {
  font-size: calc(42 * var(--worry-u));
  margin-top: calc(10 * var(--worry-u));
}

.debt_worry_title mark {
  background: #fff;
  border-radius: calc(4 * var(--worry-u));
  color: #f26522;
  display: inline-block;
  font-size: calc(42 * var(--worry-u));
  font-weight: 900;
  line-height: 1.14;
  padding: calc(7 * var(--worry-u)) calc(22 * var(--worry-u)) calc(10 * var(--worry-u));
}

.debt_worry_title span:last-child::after {
  background: #fff;
  margin-top: calc(15 * var(--worry-u));
}

.debt_worry_list {
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  display: grid;
  gap: calc(22 * var(--worry-u)) calc(18 * var(--worry-u));
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0 auto;
  max-width: calc(690 * var(--worry-u));
  overflow: visible;
  padding: 0 calc(8 * var(--worry-u));
  position: relative;
}

.debt_worry_list::after {
  content: none;
  display: none;
}

.debt_worry_card {
  align-items: stretch;
  aspect-ratio: auto;
  background: #fff;
  border: 0;
  border-radius: calc(12 * var(--worry-u));
  box-shadow: 0 calc(6 * var(--worry-u)) calc(14 * var(--worry-u)) rgba(11, 20, 36, .22);
  display: flex;
  min-height: 0;
  padding: calc(20 * var(--worry-u)) calc(20 * var(--worry-u));
  position: relative;
  z-index: 3;
}

.debt_worry_card:nth-child(3),
.debt_worry_card:nth-child(6) {
  grid-column: 1 / -1;
  justify-self: center;
  width: calc(500 * var(--worry-u));
}

.debt_worry_card::before {
  background: transparent;
  border: 0;
  bottom: auto;
  color: #f26522;
  content: "“";
  display: block;
  font-family: Georgia, serif;
  font-size: calc(72 * var(--worry-u));
  font-weight: 700;
  height: auto;
  left: calc(-9 * var(--worry-u));
  line-height: .7;
  position: absolute;
  top: calc(-12 * var(--worry-u));
  width: auto;
}

.debt_worry_card::after {
  bottom: calc(-22 * var(--worry-u));
  color: #f26522;
  content: "”";
  font-family: Georgia, serif;
  font-size: calc(72 * var(--worry-u));
  font-weight: 700;
  line-height: .7;
  position: absolute;
  right: calc(-7 * var(--worry-u));
}

.debt_worry_card p {
  color: #303846;
  font-size: calc(25 * var(--worry-u));
  font-weight: 600;
  line-height: 1.48;
  min-height: 0;
  padding: calc(7 * var(--worry-u)) calc(8 * var(--worry-u)) calc(4 * var(--worry-u));
  text-align: left;
}

.debt_worry_card p span {
  white-space: normal;
}

.debt_worry_card p span:first-child {
  color: inherit;
}

.debt_worry_card p em {
  color: #f26522;
  font-style: normal;
  font-weight: 800;
}

.debt_worry_card img {
  display: none;
}

.debt_worry_transition {
  align-items: center;
  background: transparent;
  border-left: 0;
  border-radius: 0;
  box-shadow: none;
  color: #fff;
  display: flex;
  gap: 0;
  justify-content: center;
  margin: calc(34 * var(--worry-u)) auto calc(36 * var(--worry-u));
  padding: 0;
  position: relative;
  width: calc(570 * var(--worry-u));
}

.debt_worry_transition::before {
  content: none;
}

.debt_worry_transition p,
.debt_worry_transition strong,
.debt_worry_transition span {
  color: inherit;
  display: block;
}

.debt_worry_transition img {
  align-self: center;
  height: auto;
  object-fit: contain;
  width: calc(360 * var(--worry-u));
}

.debt_worry_transition > div {
  display: none;
}

.debt_worry_transition p {
  color: #d8e5f3;
  font-size: calc(21 * var(--worry-u));
  font-weight: 600;
  line-height: 1.35;
}

.debt_worry_transition strong {
  color: #fff;
  font-size: calc(36 * var(--worry-u));
  line-height: 1.42;
}

.debt_worry_transition span {
  bottom: calc(-25 * var(--worry-u));
  color: #f26522;
  font-size: calc(31 * var(--worry-u));
  font-weight: 800;
  left: calc(44 * var(--worry-u));
  line-height: 1;
  position: absolute;
}

@media only screen and (max-width: 780px) {
  .debt_worry_list {
    gap: calc(25 * var(--worry-u)) calc(18 * var(--worry-u));
    padding: 0 calc(8 * var(--worry-u));
  }

  .debt_worry_list::after {
    height: calc(150 * var(--worry-u));
    width: calc(156 * var(--worry-u));
  }

  .debt_worry_transition {
    margin-bottom: calc(50 * var(--worry-u));
    width: calc(600 * var(--worry-u));
  }

  .debt_worry_card p {
    font-size: calc(29 * var(--worry-u));
  }

  .debt_worry_card:nth-child(3),
  .debt_worry_card:nth-child(6) {
    width: calc(520 * var(--worry-u));
  }
}
/* お悩みセクション閉じ */

/* お悩み一覧：チェックリストの合間にイメージを配置 */
.debt_worry {
  background: #fdfefd;
  padding-bottom: 0;
  padding-top: calc(60 * var(--worry-u));
}

.debt_worry_title {
  color: #1d3768;
  margin-bottom: calc(36 * var(--worry-u));
}

.debt_worry_title span:first-child,
.debt_worry_title span:last-child {
  font-size: calc(42 * var(--worry-u));
  font-weight: 700;
}

.debt_worry_title mark {
  background: transparent;
  color: #1d3768;
  font-weight: 700;
  padding: 0;
}

.debt_worry_title .debt_worry_title_marker {
  background: #d9dde1;
  border-radius: calc(4 * var(--worry-u));
  display: inline-block;
  line-height: 1.12;
  padding: calc(3 * var(--worry-u)) calc(8 * var(--worry-u)) calc(5 * var(--worry-u));
}

.debt_worry_title span:last-child::after {
  background: #1d3768;
}

.debt_worry_list {
  display: grid;
  gap: 0;
  grid-template-columns: 1fr;
  margin: 0 auto;
  max-width: none;
  padding: 0;
  width: 100%;
}

.debt_worry_card,
.debt_worry_card:nth-child(3),
.debt_worry_card:nth-child(6) {
  align-items: flex-start;
  aspect-ratio: auto;
  background: transparent;
  border: 0;
  border-bottom: calc(1 * var(--worry-u)) solid rgba(29, 55, 104, 0.3);
  border-radius: 0;
  box-shadow: none;
  display: block;
  justify-self: stretch;
  margin-left: 0;
  margin-right: 0;
  min-height: 0;
  padding: calc(17 * var(--worry-u)) calc(8 * var(--worry-u));
  text-align: left;
  width: auto;
}

.debt_worry_card::before,
.debt_worry_card::after {
  content: none;
}

.debt_worry_card p {
  color: #1d3768;
  font-size: calc(25 * var(--worry-u));
  font-weight: 600;
  line-height: 1.52;
  min-height: 0;
  padding: 0 0 0 calc(34 * var(--worry-u));
  position: relative;
  text-align: left;
  width: 100%;
}

.debt_worry_card p::before {
  align-items: center;
  background: #1769bb;
  border-radius: 50%;
  color: #fff;
  content: "✓";
  display: flex;
  font-size: calc(16 * var(--worry-u));
  font-weight: 800;
  height: calc(21 * var(--worry-u));
  justify-content: center;
  left: 0;
  line-height: 1;
  position: absolute;
  top: calc(8 * var(--worry-u));
  width: calc(21 * var(--worry-u));
}

.debt_worry_card p span {
  display: inline;
  text-align: left;
  white-space: normal;
}

.debt_worry_card p span + span::before {
  content: none;
}

.debt_worry_card p em {
  color: #e37225;
}

.debt_worry_card img {
  display: none;
}

.debt_worry_visual {
  background: transparent;
  box-shadow: none;
  list-style: none;
  margin: calc(28 * var(--worry-u)) auto;
  max-width: 360px;
  padding: 0;
  width: 72%;
}

.debt_worry_visual img {
  display: block;
  height: auto;
  width: 100%;
}

@media only screen and (max-width: 780px) {
  .debt_worry_card p {
    font-size: calc(27 * var(--worry-u));
  }
}

/* 放置リスク：暗色背景と円形カードの警告デザイン */
.debt_worry_alert {
  background:
    radial-gradient(circle at 50% 35%, rgba(242, 101, 34, 0.09), transparent 44%),
    linear-gradient(180deg, #30363c 0%, #252a30 52%, #1c2025 100%);
  border-radius: 0;
  box-shadow: none;
  clip-path: polygon(0 calc(34 * var(--worry-u)), 100% 0, 100% 100%, 0 100%);
  height: auto;
  margin: 0 calc(-20 * var(--worry-u));
  overflow: hidden;
  padding: calc(90 * var(--worry-u)) calc(28 * var(--worry-u)) 0;
  position: relative;
}

.debt_worry_alert::before {
  background: repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.025) 0 calc(2 * var(--worry-u)), transparent calc(2 * var(--worry-u)) calc(14 * var(--worry-u)));
  clip-path: none;
  content: "";
  display: block;
  height: auto;
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.debt_worry_alert::after,
.debt_worry_alert_visual,
.debt_worry_alert_label {
  display: none;
}

.debt_worry_alert_risk {
  left: auto;
  padding: 0;
  position: relative;
  top: auto;
  transform: none;
  width: 100%;
  z-index: 1;
}

.debt_worry_alert_risk_intro {
  color: #fff;
  font-size: calc(39 * var(--worry-u));
  font-weight: 700;
  line-height: 1.35;
  margin: 0 auto calc(48 * var(--worry-u));
  padding-bottom: 0;
  position: relative;
  text-align: center;
}

.debt_worry_alert_risk_intro::after {
  content: none;
}

.debt_worry_alert_risk_intro span {
  color: #f26522;
  font-weight: 900;
}

.debt_worry_alert_risk_points {
  display: grid;
  gap: calc(30 * var(--worry-u)) calc(24 * var(--worry-u));
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0 auto calc(35 * var(--worry-u));
  max-width: calc(610 * var(--worry-u));
  width: 100%;
}

.debt_worry_alert_risk_points li {
  align-items: center;
  aspect-ratio: 1;
  background: #17191c;
  border: calc(2 * var(--worry-u)) solid rgba(255, 255, 255, 0.75);
  border-radius: 50%;
  box-shadow: inset 0 0 0 calc(5 * var(--worry-u)) rgba(0, 0, 0, 0.28), 0 calc(8 * var(--worry-u)) calc(18 * var(--worry-u)) rgba(0, 0, 0, 0.35);
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 0;
  overflow: hidden;
  padding: 0;
  position: relative;
  text-align: center;
}

.debt_worry_alert_risk_points li::after {
  background: linear-gradient(180deg, transparent 0 47%, rgba(10, 11, 13, 0.94) 52%, #0a0b0d 100%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

.debt_worry_risk_image {
  display: block;
  inset: 0;
  position: absolute;
}

.debt_worry_risk_image img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.debt_worry_alert_risk_points li:nth-child(2) .debt_worry_risk_image img {
  transform: translateY(-16%) scale(1.04);
}

.debt_worry_alert_risk_points li:nth-child(6) .debt_worry_risk_image img {
  transform: translateY(-18%) scale(1.04);
}

.debt_worry_alert_risk_points li:nth-child(5) .debt_worry_risk_image img {
  transform: translateY(-9%) scale(1.04);
}

.debt_worry_alert_risk_points li strong {
  bottom: calc(34 * var(--worry-u));
  color: #fff;
  display: block;
  font-size: calc(26 * var(--worry-u));
  font-weight: 500;
  left: calc(12 * var(--worry-u));
  line-height: 1.35;
  margin: 0;
  position: absolute;
  right: calc(12 * var(--worry-u));
  text-shadow: 0 calc(2 * var(--worry-u)) calc(4 * var(--worry-u)) rgba(0, 0, 0, 0.8);
  z-index: 2;
}

.debt_worry_alert_risk_points li strong em {
  color: #f26522;
  font-style: normal;
  font-weight: 600;
}

.debt_worry_alert_risk_emphasis {
  align-items: center;
  background: linear-gradient(180deg, #2a62ad 0%, #1e50a2 100%);
  border: 0;
  clip-path: polygon(0 calc(42 * var(--worry-u)), 100% 0, 100% 100%, 0 100%);
  color: #fff;
  display: flex;
  flex-direction: column;
  font-size: calc(40 * var(--worry-u));
  font-weight: 600;
  line-height: 1.45;
  left: 50%;
  margin: calc(-4 * var(--worry-u)) 0 0;
  max-width: none;
  padding: calc(58 * var(--worry-u)) calc(24 * var(--worry-u)) calc(20 * var(--worry-u));
  position: relative;
  text-align: center;
  transform: translateX(-50%);
  width: calc(100% + (56 * var(--worry-u)));
  white-space: normal;
}

.debt_worry_alert_risk_emphasis::before {
  content: none;
}

.debt_worry_alert_risk_emphasis span {
  color: #fff;
}

.debt_worry_alert_risk_emphasis span::after {
  content: none;
}

.debt_worry_emphasis_arrows {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: calc(2 * var(--worry-u));
  margin: 0 auto calc(16 * var(--worry-u));
  width: calc(62 * var(--worry-u));
}

.debt_worry_emphasis_arrows i {
  border-bottom: calc(7 * var(--worry-u)) solid #fff;
  border-right: calc(7 * var(--worry-u)) solid #fff;
  display: block;
  height: calc(27 * var(--worry-u));
  transform: rotate(45deg);
  width: calc(27 * var(--worry-u));
}

.debt_worry_emphasis_copy {
  border: 0;
  box-shadow: none;
  display: block;
  flex: 0 0 auto;
  margin: 0 auto;
  max-width: calc(590 * var(--worry-u));
  padding: calc(12 * var(--worry-u)) calc(6 * var(--worry-u)) calc(12 * var(--worry-u));
  text-align: center;
  width: 100%;
}

.debt_worry_emphasis_copy small {
  background: #fff;
  color: #1e50a2;
  display: table;
  font-size: calc(34 * var(--worry-u));
  font-weight: 800;
  letter-spacing: calc(2 * var(--worry-u));
  margin: 0 auto calc(14 * var(--worry-u));
  padding: calc(7 * var(--worry-u)) calc(30 * var(--worry-u)) calc(9 * var(--worry-u));
}

.debt_worry_emphasis_copy b {
  color: #fff33f;
  font: inherit;
  font-weight: 700;
}

.debt_worry_alert + .debt_worry_lead {
  margin-top: calc(-2 * var(--worry-u));
}

.debt_worry_risk_transition {
  align-items: center;
  display: flex;
  height: auto;
  justify-content: center;
  margin: calc(50 * var(--worry-u)) auto calc(-42 * var(--worry-u));
  position: relative;
  width: calc(245 * var(--worry-u));
  z-index: 6;
}

.debt_worry_risk_transition span {
  align-items: center;
  background: #f26522;
  border: 0;
  border-radius: 0;
  box-shadow: 0 0 0 calc(2 * var(--worry-u)) #f26522, 0 calc(7 * var(--worry-u)) calc(16 * var(--worry-u)) rgba(0, 0, 0, 0.22);
  color: #fff;
  display: flex;
  font-family: "Noto Sans JP", sans-serif;
  font-size: calc(29 * var(--worry-u));
  font-weight: 800;
  height: calc(67 * var(--worry-u));
  justify-content: center;
  line-height: 1;
  letter-spacing: calc(1 * var(--worry-u));
  position: relative;
  width: 100%;
}

.debt_worry_risk_transition::before {
  content: none;
}

.debt_worry_risk_transition::after {
  content: none;
}

.debt_worry_risk_transition span::after {
  border-left: calc(11 * var(--worry-u)) solid transparent;
  border-right: calc(11 * var(--worry-u)) solid transparent;
  border-top: calc(12 * var(--worry-u)) solid #f26522;
  bottom: calc(-13 * var(--worry-u));
  content: "";
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
}

@media only screen and (max-width: 780px) {
  .debt_worry_alert {
    height: auto;
  }

  .debt_worry_alert_risk_points {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* お悩みCTAセクション */
.debt_cta {
  --debt-cta-u: min(0.1484375vw, 1.1578125px);
  background: linear-gradient(180deg, #eef8ff 0%, #eef8ff 100%);
  padding: 0 calc(18 * var(--debt-cta-u)) calc(53 * var(--debt-cta-u));
}

.debt_cta_inner {
  margin: 0 auto;
  width: 100%;
}

.debt_cta_visual {
  margin: 0 calc(-18 * var(--debt-cta-u)) calc(50 * var(--debt-cta-u));
}

.debt_cta_visual img {
  display: block;
  width: 100%;
}

.debt_cta_copy_panel {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.99) 0%, rgba(255, 255, 255, 0.98) 44%, rgba(255, 255, 255, 0.84) 58%, rgba(255, 255, 255, 0.22) 72%, rgba(255, 255, 255, 0) 100%),
    url("../images/cta/debt_cta_consult_hakata_v2_warm.png") calc(100% + 45 * var(--debt-cta-u)) bottom / auto 114% no-repeat,
    linear-gradient(180deg, #eef8ff 0%, #eef8ff 100%);
  border-radius: 0;
  box-shadow: none;
  min-height: calc(380 * var(--debt-cta-u));
  margin: 0 calc(-18 * var(--debt-cta-u)) calc(26 * var(--debt-cta-u));
  overflow: hidden;
  padding: calc(18 * var(--debt-cta-u)) calc(22 * var(--debt-cta-u)) calc(25 * var(--debt-cta-u));
  position: relative;
}

.debt_cta_copy_panel::before {
  content: none;
}

.debt_cta_copy_panel::after {
  background: linear-gradient(
    180deg,
    rgba(238, 248, 255, 0) 0%,
    rgba(238, 248, 255, 0.32) 38%,
    rgba(238, 248, 255, 0.78) 72%,
    #eef8ff 100%
  );
  bottom: 0;
  content: "";
  height: calc(78 * var(--debt-cta-u));
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  z-index: 1;
}

.debt_cta_copy_label,
.debt_cta_copy_main,
.debt_cta_copy_sub {
  position: relative;
  z-index: 2;
}

.debt_cta_copy_label {
  align-items: center;
  border: calc(2 * var(--debt-cta-u)) solid #1e50a2;
  border-radius: calc(999 * var(--debt-cta-u));
  color: #1e50a2;
  display: inline-flex;
  font-size: calc(26 * var(--debt-cta-u));
  font-weight: 700;
  justify-content: center;
  line-height: 1.2;
  margin: 0 0 calc(17 * var(--debt-cta-u)) calc(10 * var(--debt-cta-u));
  min-height: calc(46 * var(--debt-cta-u));
  padding: calc(5 * var(--debt-cta-u)) calc(27 * var(--debt-cta-u));
  white-space: nowrap;
}

.debt_cta_copy_main {
  color: #262626;
  font-size: calc(56 * var(--debt-cta-u));
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.16;
  width: calc(450 * var(--debt-cta-u));
}

.debt_cta_copy_main span {
  color: #262626;
  display: inline;
}

.debt_cta_copy_main b {
  color: #1e50a2;
  font: inherit;
}

.debt_cta_copy_main strong {
  background: linear-gradient(180deg, #ff8f1f 0%, #ff7317 46%, #f26522 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: #f26522;
  display: block;
  font-size: calc(90 * var(--debt-cta-u));
  font-weight: 800;
  line-height: 1.08;
  margin-top: calc(6 * var(--debt-cta-u));
  text-shadow: none;
  -webkit-text-stroke: calc(0.35 * var(--debt-cta-u)) rgba(219, 76, 10, 0.7);
  -webkit-text-fill-color: transparent;
}

.debt_cta_copy_sub {
  color: #333;
  display: inline-block;
  font-size: calc(37 * var(--debt-cta-u));
  font-weight: 700;
  line-height: 1.58;
  margin-top: calc(15 * var(--debt-cta-u));
  text-align: left;
  width: auto;
}

.debt_cta_copy_sub span,
.debt_cta_copy_sub em {
  color: inherit;
}

.debt_cta_copy_sub em {
  border-bottom: calc(4 * var(--debt-cta-u)) dotted #1e50a2;
  color: #1e50a2;
  font-style: normal;
  padding-bottom: calc(2 * var(--debt-cta-u));
}

.debt_cta_btn {
  align-items: center;
  border-radius: calc(76 * var(--debt-cta-u));
  box-shadow: 0 calc(4 * var(--debt-cta-u)) calc(7 * var(--debt-cta-u)) var(--debt-cta-shadow);
  color: #fff;
  display: grid;
  grid-template-columns: calc(104 * var(--debt-cta-u)) 1fr calc(66 * var(--debt-cta-u));
  grid-template-rows: calc(76 * var(--debt-cta-u));
  height: calc(136 * var(--debt-cta-u));
  margin: 0 0 calc(52 * var(--debt-cta-u));
  padding: calc(36 * var(--debt-cta-u)) calc(29 * var(--debt-cta-u)) calc(24 * var(--debt-cta-u));
  position: relative;
  row-gap: 0;
}

.debt_cta_btn::before {
  background: rgba(255, 255, 255, 0.11);
  border-radius: calc(76 * var(--debt-cta-u)) calc(76 * var(--debt-cta-u)) 45% 45%;
  content: "";
  display: block;
  height: 52%;
  left: 0;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

.debt_cta_tel {
  --debt-cta-shadow: rgba(183, 85, 13, 0.23);
  background: linear-gradient(180deg, #ff9354 0%, #f26522 49%, #dc4f13 100%);
  border: calc(2.3 * var(--debt-cta-u)) solid rgba(255, 193, 97, 0.5);
}

.debt_cta_mail {
  --debt-cta-shadow: rgba(0, 94, 157, 0.22);
  background: linear-gradient(180deg, #178bd8 0%, #2f79bd 49%, #2f79bd 100%);
  border: calc(2.3 * var(--debt-cta-u)) solid rgba(164, 238, 255, 0.5);
}

.debt_cta_ribbon {
  align-items: center;
  background-color: #fff33f;
  border-radius: calc(30 * var(--debt-cta-u));
  box-shadow: 0 calc(3 * var(--debt-cta-u)) calc(4 * var(--debt-cta-u)) rgba(0, 0, 0, 0.18);
  color: #1e50a2;
  display: flex;
  font-size: calc(25 * var(--debt-cta-u));
  font-weight: 700;
  gap: calc(3 * var(--debt-cta-u));
  height: calc(46 * var(--debt-cta-u));
  justify-content: center;
  left: 50%;
  letter-spacing: calc(1 * var(--debt-cta-u));
  line-height: 1;
  position: absolute;
  top: 0;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  width: calc(498 * var(--debt-cta-u));
  z-index: 3;
}

.debt_cta_ribbon span {
  color: inherit;
}

.debt_cta_ribbon .debt_cta_ribbon_accent {
  color: #ef4f22;
}

.debt_cta_mail .debt_cta_ribbon .debt_cta_ribbon_accent {
  color: #2f79bd;
}

.debt_cta_icon {
  align-items: center;
  align-self: center;
  color: #fff;
  display: flex;
  grid-column: 1;
  grid-row: 1;
  height: calc(82 * var(--debt-cta-u));
  justify-content: center;
  letter-spacing: 0;
  position: relative;
  width: calc(90 * var(--debt-cta-u));
  z-index: 2;
}

.debt_cta_icon img {
  display: block;
  height: calc(64 * var(--debt-cta-u));
  object-fit: contain;
  width: calc(72 * var(--debt-cta-u));
}

.debt_cta_mail .debt_cta_icon img {
  height: calc(53 * var(--debt-cta-u));
  width: calc(64 * var(--debt-cta-u));
}

.debt_cta_tel .debt_cta_icon {
  color: #fff;
}

.debt_cta_mail .debt_cta_icon {
  color: #fff;
}

.debt_cta_main {
  align-self: center;
  color: #fff;
  font-size: calc(35 * var(--debt-cta-u));
  font-weight: 700;
  grid-column: 2;
  grid-row: 1;
  letter-spacing: calc(2 * var(--debt-cta-u));
  line-height: 1.1;
  position: relative;
  text-align: center;
  text-shadow: 0 calc(2 * var(--debt-cta-u)) calc(1 * var(--debt-cta-u)) rgba(0, 0, 0, 0.08);
  white-space: nowrap;
  z-index: 2;
}

.debt_cta_action {
  align-items: center;
  align-self: center;
  color: #fff;
  display: flex;
  grid-column: 3;
  grid-row: 1;
  height: calc(46 * var(--debt-cta-u));
  justify-content: center;
  justify-self: end;
  position: relative;
  width: calc(46 * var(--debt-cta-u));
  z-index: 2;
}

.debt_cta_action img {
  display: block;
  height: 100%;
  object-fit: contain;
  width: 100%;
}

.debt_cta_arrow img {
  height: calc(38 * var(--debt-cta-u));
  width: calc(38 * var(--debt-cta-u));
}

.debt_cta_badges {
  display: grid;
  gap: calc(14 * var(--debt-cta-u));
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: calc(7 * var(--debt-cta-u)) 0 0;
}

.debt_cta_badges li {
  align-items: center;
  background-color: #fff8d8;
  border-radius: calc(6 * var(--debt-cta-u));
  color: #1e50a2;
  display: flex;
  font-size: calc(21 * var(--debt-cta-u));
  font-weight: 700;
  height: calc(49 * var(--debt-cta-u));
  justify-content: center;
  letter-spacing: calc(1 * var(--debt-cta-u));
  line-height: 1;
  white-space: nowrap;
}

.debt_cta_badges .debt_cta_badge_small {
  font-size: calc(19.5 * var(--debt-cta-u));
}

.debt_cta_badges li::before {
  align-items: center;
  background-color: #2f79bd;
  border-radius: 50%;
  color: #fff;
  content: "✓";
  display: flex;
  font-size: calc(20 * var(--debt-cta-u));
  font-weight: 900;
  height: calc(25 * var(--debt-cta-u));
  justify-content: center;
  margin-right: calc(8 * var(--debt-cta-u));
  width: calc(25 * var(--debt-cta-u));
}
/* お悩みCTAセクション閉じ */

/* 解決方法セクション */
/* 解決事例セクション */
.debt_case_studies {
  --case-u: min(0.15625vw, 1.21875px);
  background: linear-gradient(180deg, #eaf5ff 0%, #f7fbff 48%, #edf7ff 100%);
  color: #17324f;
  font-family: "Noto Sans JP", sans-serif;
  margin: 0 auto;
  max-width: calc(640 * var(--case-u));
  overflow: hidden;
  padding: 0 calc(18 * var(--case-u)) calc(52 * var(--case-u));
  width: 100%;
}

.debt_case_studies_heading {
  align-items: center;
  background: #173e6b;
  display: flex;
  flex-direction: column;
  height: calc(326 * var(--case-u));
  justify-content: center;
  margin: 0 calc(-18 * var(--case-u)) calc(50 * var(--case-u));
  overflow: visible;
  padding: calc(28 * var(--case-u)) calc(34 * var(--case-u)) calc(32 * var(--case-u));
  position: relative;
  text-align: center;
}

.debt_case_studies_heading > img {
  display: block;
  height: 100%;
  inset: 0;
  object-fit: cover;
  object-position: center center;
  opacity: 0.9;
  position: absolute;
  width: 100%;
  z-index: 1;
}

.debt_case_studies_heading::before {
  background:
    linear-gradient(180deg, rgba(15, 89, 201, 0.4) 0%, rgba(10, 60, 154, 0.74) 100%),
    linear-gradient(90deg, rgba(8, 56, 137, 0.78) 0%, rgba(25, 112, 222, 0.52) 64%, rgba(75, 178, 242, 0.3) 100%);
  content: "";
  inset: 0;
  position: absolute;
  z-index: 2;
}

.debt_case_studies_heading::after {
  background: #1e50a2;
  bottom: calc(-24 * var(--case-u));
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: "";
  height: calc(25 * var(--case-u));
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: calc(76 * var(--case-u));
  z-index: 5;
}

.debt_case_studies_heading > p:not(.debt_case_studies_lead) {
  background: rgba(255, 255, 255, 0.94);
  border-radius: calc(999 * var(--case-u));
  box-shadow: 0 calc(5 * var(--case-u)) calc(10 * var(--case-u)) rgba(0, 20, 55, 0.18);
  color: #1e50a2;
  font-size: calc(24 * var(--case-u));
  font-weight: 700;
  letter-spacing: calc(1 * var(--case-u));
  line-height: 1.35;
  margin: 0 0 calc(18 * var(--case-u));
  padding: calc(10 * var(--case-u)) calc(26 * var(--case-u));
  position: relative;
  text-shadow: none;
  z-index: 4;
}

.debt_case_studies_heading h2 {
  color: #fff;
  font-size: calc(43 * var(--case-u));
  font-weight: 700;
  letter-spacing: calc(1 * var(--case-u));
  line-height: 1.35;
  margin: 0;
  position: relative;
  text-shadow: 0 calc(3 * var(--case-u)) calc(8 * var(--case-u)) rgba(0, 21, 50, 0.35);
  z-index: 4;
}

.debt_case_studies_heading h2 span,
.debt_case_studies_heading h2 strong {
  color: #fff;
  display: inline;
}

.debt_case_studies_heading h2 strong {
  color: #fff33f;
  font-weight: 700;
  margin-left: calc(6 * var(--case-u));
  position: relative;
}

.debt_case_studies_heading h2 strong::after {
  content: none;
}

.debt_case_studies_lead {
  border-bottom: calc(3 * var(--case-u)) dotted rgba(255, 255, 255, 0.82);
  border-top: calc(3 * var(--case-u)) dotted rgba(255, 255, 255, 0.82);
  color: #fff;
  font-size: calc(29 * var(--case-u));
  font-weight: 500;
  line-height: 1.55;
  margin: calc(18 * var(--case-u)) 0 0;
  padding: calc(10 * var(--case-u)) 0;
  position: relative;
  text-shadow: 0 calc(2 * var(--case-u)) calc(6 * var(--case-u)) rgba(0, 21, 50, 0.35);
  white-space: nowrap;
  z-index: 4;
}

.debt_case_studies_list {
  display: grid;
  gap: calc(52 * var(--case-u));
  margin-top: calc(48 * var(--case-u));
}

.debt_case_card {
  background: #fff;
  border: calc(3 * var(--case-u)) solid #2f79bd;
  border-radius: calc(18 * var(--case-u));
  box-shadow: 0 calc(9 * var(--case-u)) calc(22 * var(--case-u)) rgba(30, 80, 162, 0.12);
  padding: 0 calc(18 * var(--case-u)) calc(20 * var(--case-u));
  min-width: 0;
  position: relative;
}

.debt_case_number {
  background: #1e50a2;
  border-radius: calc(999 * var(--case-u));
  color: #fff;
  font-size: calc(22 * var(--case-u));
  font-weight: 500;
  left: 50%;
  letter-spacing: calc(1.5 * var(--case-u));
  line-height: 1;
  margin: 0;
  min-width: calc(205 * var(--case-u));
  padding: calc(10 * var(--case-u)) calc(24 * var(--case-u));
  position: absolute;
  text-align: center;
  top: 0;
  transform: translate(-50%, -50%);
}

.debt_case_number b {
  font-size: 1.08em;
  font-weight: 600;
}

.debt_case_card_header {
  align-items: end;
  border-bottom: calc(2 * var(--case-u)) solid #cfe3f5;
  display: grid;
  gap: calc(3 * var(--case-u)) calc(12 * var(--case-u));
  grid-template-areas: "copy avatar" "profile avatar";
  grid-template-columns: minmax(0, 1fr) calc(136 * var(--case-u));
  margin: 0;
  min-height: 0;
  overflow: visible;
  padding: 0 calc(4 * var(--case-u)) calc(18 * var(--case-u)) calc(6 * var(--case-u));
  position: relative;
  width: 100%;
}

.debt_case_card_header > div {
  grid-area: copy;
  min-width: 0;
}

.debt_case_method {
  color: #173e6b;
  font-family: "Noto Serif JP", serif;
  font-size: calc(43 * var(--case-u));
  font-weight: 700;
  letter-spacing: calc(2 * var(--case-u));
  line-height: 1.25;
  margin: 0;
}

.debt_case_card_header h3 {
  color: #2f79bd;
  font-size: calc(20 * var(--case-u));
  font-weight: 600;
  line-height: 1.45;
  margin: calc(7 * var(--case-u)) 0 0;
}

.debt_case_profile {
  background: none;
  color: #2f3540;
  font-size: calc(22 * var(--case-u));
  font-weight: 500;
  grid-area: profile;

/* FV下：CTAと安心バッジを明確に上下分離（最終配置） */
.fv_line_diagnosis .debt_cta_line {
  bottom: 112px !important;
}

.fv_line_diagnosis .fv_line_cta_badges {
  bottom: 24px !important;
  margin: 0 !important;
  position: absolute !important;
}

/* 漫画カード下LINE CTA：本文の太さを他CTAに統一 */
.debt_solution_line_cta .debt_solution_line_copy small,
.debt_solution_line_cta .debt_solution_line_copy strong {
  font-weight: 700 !important;
}

/* FV下の最終レイアウト：緑CTAの下に黄色バッジを独立配置 */
.fv_line_diagnosis .fv_line_diagnosis_inner {
  position: relative !important;
}

.fv_line_diagnosis .debt_cta_line {
  bottom: 120px !important;
  z-index: 3 !important;
}

.fv_line_diagnosis .fv_line_cta_badges {
  background: #fff33f !important;
  bottom: 24px !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  height: 28px !important;
  left: 50% !important;
  margin: 0 !important;
  padding: 0 !important;
  position: absolute !important;
  transform: translateX(-50%) !important;
  width: min(84%, 580px) !important;
  z-index: 4 !important;
}

/* FV下の最終配置：緑CTA → 余白 → 黄色バッジ の順に置く */
.fv_line_diagnosis .fv_line_cta_badges {
  background: #fff33f !important;
  bottom: 22px !important;
  display: grid !important;
  gap: 0 !important;
  height: 28px !important;
  left: 50% !important;
  padding: 0 !important;
  position: absolute !important;
  transform: translateX(-50%) !important;
  width: min(84%, 580px) !important;
  z-index: 4 !important;
}

.fv_line_diagnosis .fv_line_cta_badges li,
.fv_line_diagnosis .fv_line_cta_badges .debt_cta_badge_small {
  font-size: 11px !important;
  height: 28px !important;
}

.fv_line_diagnosis .fv_line_cta_badges {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fv_line_diagnosis .fv_line_cta_badges .debt_cta_badge_screenshot {
  font-size: 10px !important;
}

/* バッジの上端は下から50px。CTA下端を86pxにして36px離す */
.fv_line_diagnosis .debt_cta_line {
  bottom: 86px !important;
  z-index: 3 !important;
}

/* 漫画カード下LINE CTA：2行の呼吸を少し広げる */
.debt_solution_line_cta {
  min-height: calc(118 * var(--solution-u));
  padding-top: calc(22 * var(--solution-u));
  padding-bottom: calc(22 * var(--solution-u));
}

.debt_solution_line_copy {
  line-height: 1.3;
}

.debt_solution_line_copy small,
.debt_solution_line_copy strong {
  line-height: 1.3;
}

/* FV下LINE CTA：PCもSPと同じ密度にし、CTAと黄色バッジを完全に分離 */
.fv_line_diagnosis .fv_line_cta_badges {
  background: #fff33f !important;
  bottom: 24px !important;
  gap: 0 !important;
  height: 28px;
  padding: 0 !important;
  width: min(84%, 580px);
}

.fv_line_diagnosis .fv_line_cta_badges li,
.fv_line_diagnosis .fv_line_cta_badges .debt_cta_badge_small {
  border: 0 !important;
  color: #087439;
  font-size: 11px !important;
  height: 28px;
  letter-spacing: 0;
  padding: 0 3px;
}

.fv_line_diagnosis .fv_line_cta_badges li::before {
  flex-basis: 14px;
  font-size: 10px;
  height: 14px;
  margin-right: 3px;
  width: 14px;
}

/* バッジ上端（下から52px）に対して、CTA下端を74pxに固定＝22px空ける */
.fv_line_diagnosis .debt_cta_line {
  bottom: 74px !important;
}

/* 漫画カード下LINE CTA：収まる範囲で文字間を少し広げる */
.debt_solution_line_copy small,
.debt_solution_line_copy strong {
  letter-spacing: 0.045em;
  white-space: nowrap;
  font-weight: 700;
}

/* FV下の緑背景は使わず、背景込み画像だけを表示する */
.fv_line_diagnosis {
  background: transparent !important;
  padding: 0 !important;
}

/* LINE CTAの黄色マイクロコピーと装飾レイヤーは表示しない */
body[data-cta-count="3"] .debt_cta_line::before {
  content: none;
}

body[data-cta-count="3"] .debt_cta_line .debt_cta_ribbon {
  display: none;
}

/* SP固定フッター：手段ごとに「無料相談する」が一目で伝わる表記へ */
@media only screen and (max-width: 780px) {
  body[data-cta-count="3"] .footer_cta_btn span {
    gap: calc(2 * var(--footer-u));
  }

  body[data-cta-count="3"] .footer_cta_btn span b {
    font-size: calc(16 * var(--footer-u));
  }

  body[data-cta-count="3"] .footer_cta_btn span em {
    font-size: calc(18 * var(--footer-u));
    letter-spacing: 0;
    white-space: nowrap;
  }
}

/* FV直下：画像は背景込みで全面表示し、CTAと安心ポイントは下の白余白へ */
.fv_line_diagnosis {
  background: transparent;
  padding: 0;
}

.fv_line_diagnosis_inner {
  max-width: none;
  position: relative;
}

.fv_line_diagnosis .debt_cta_line_visual {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  margin: 0;
}

.fv_line_diagnosis .debt_cta_line {
  bottom: 16%;
}

.fv_line_diagnosis .debt_cta_line .debt_cta_ribbon {
  display: none;
}

.fv_line_diagnosis .fv_line_cta_badges {
  background: #fff33f;
  border: 0;
  border-radius: 999px;
  bottom: 4%;
  display: grid;
  gap: 0;
  left: 50%;
  margin: 0;
  padding: 5px 8px;
  position: absolute;
  transform: translateX(-50%);
  width: min(86%, 560px);
  z-index: 3;
}

.fv_line_diagnosis .fv_line_cta_badges li {
  background: transparent;
  border-left-color: rgba(8, 125, 63, 0.26);
  color: #087d3f;
  font-size: clamp(10px, 1.7vw, 14px);
  height: 24px;
  padding: 0 3px;
}

.fv_line_diagnosis .fv_line_cta_badges li::before {
  background: #087d3f;
  color: #fff33f;
}

/* FV直下：背景込みの診断画像へCTAを重ねる最終レイアウト */
.fv_line_diagnosis {
  background: transparent;
  padding: 0;
}

.fv_line_diagnosis_inner {
  max-width: none;
  position: relative;
}

.fv_line_diagnosis .debt_cta_line_visual {
  border-radius: 0;
  margin: 0;
  overflow: visible;
}

.fv_line_diagnosis .debt_cta_line_visual img {
  width: 100%;
}

.fv_line_diagnosis .debt_cta_line {
  bottom: 5%;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: min(92%, 620px);
  z-index: 2;
}

.fv_line_diagnosis .fv_line_cta_badges {
  display: none;
}
  line-height: 1.35;
  margin: calc(8 * var(--case-u)) 0 0;
  padding: 0;
  text-align: left;
}

.debt_case_profile span {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}

.debt_case_avatar {
  align-self: end;
  grid-area: avatar;
  height: calc(142 * var(--case-u));
  margin: 0;
  overflow: hidden;
  position: relative;
  width: 100%;
  z-index: 2;
}

.debt_case_avatar img {
  display: block;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  width: 100%;
}

.debt_case_card_01 .debt_case_avatar img,
.debt_case_card_02 .debt_case_avatar img,
.debt_case_card_03 .debt_case_avatar img {
  object-fit: contain;
  object-position: center bottom;
}

.debt_case_card_01 .debt_case_avatar,
.debt_case_card_02 .debt_case_avatar,
.debt_case_card_03 .debt_case_avatar {
  transform: translateY(calc(6 * var(--case-u)));
}

.debt_case_avatar_placeholder {
  background: transparent;
}

.debt_case_compare {
  align-items: stretch;
  display: grid;
  grid-template-columns: minmax(0, 1fr) calc(34 * var(--case-u)) minmax(0, 1fr);
  margin: calc(24 * var(--case-u)) 0;
  min-width: 0;
}

.debt_case_compare > div {
  display: grid;
  gap: calc(5 * var(--case-u));
  justify-items: center;
  min-height: calc(188 * var(--case-u));
  min-width: 0;
  padding: calc(13 * var(--case-u)) calc(8 * var(--case-u));
  text-align: center;
}

.debt_case_compare_before {
  background: #edf1f5;
  border-radius: calc(12 * var(--case-u)) 0 0 calc(12 * var(--case-u));
  color: #3f4a55;
}

.debt_case_compare_after {
  background: #fff;
  border: calc(3 * var(--case-u)) solid #2f79bd;
  border-radius: 0 calc(12 * var(--case-u)) calc(12 * var(--case-u)) 0;
  color: #1e50a2;
}

.debt_case_compare small {
  align-self: start;
  border-bottom: calc(2 * var(--case-u)) solid currentColor;
  font-size: calc(18 * var(--case-u));
  font-weight: 500;
  padding-bottom: calc(5 * var(--case-u));
  width: 100%;
}

.debt_case_compare span {
  font-size: calc(17 * var(--case-u));
  line-height: 1.35;
}

.debt_case_compare strong {
  align-self: center;
  color: inherit;
  font-size: calc(39 * var(--case-u));
  font-weight: 600;
  line-height: 1;
}

.debt_case_compare_after strong {
  color: #1e50a2;
}

.debt_case_compare strong em {
  font-size: 0.46em;
  font-style: normal;
  font-weight: 500;
  margin-left: calc(2 * var(--case-u));
}

.debt_case_compare .debt_case_compare_text {
  font-size: calc(22 * var(--case-u));
  line-height: 1.5;
}

.debt_case_compare > i {
  align-self: center;
  background: #2f79bd;
  clip-path: polygon(0 22%, 55% 22%, 55% 0, 100% 50%, 55% 100%, 55% 78%, 0 78%);
  display: block;
  height: calc(43 * var(--case-u));
  margin: 0 calc(-3 * var(--case-u));
  position: relative;
  width: calc(40 * var(--case-u));
  z-index: 2;
}

.debt_case_compare_refund > div {
  min-height: calc(175 * var(--case-u));
}

.debt_case_story {
  border-top: calc(2 * var(--case-u)) dotted #8eacc5;
  color: #26394d;
  font-size: calc(22 * var(--case-u));
  font-weight: 400;
  line-height: 1.85;
  margin: 0;
  padding: calc(20 * var(--case-u)) calc(3 * var(--case-u)) 0;
  text-align: left;
  overflow-wrap: anywhere;
}

.debt_case_story strong {
  color: #1e50a2;
  font-weight: 700;
}

.debt_case_results {
  background: #edf7ff;
  border-radius: calc(13 * var(--case-u));
  margin-top: calc(28 * var(--case-u));
  padding: calc(28 * var(--case-u)) calc(16 * var(--case-u)) calc(10 * var(--case-u));
  position: relative;
}

.debt_case_results h4 {
  background: #1e50a2;
  border-radius: calc(999 * var(--case-u));
  color: #fff;
  font-size: calc(20 * var(--case-u));
  font-weight: 500;
  left: 50%;
  line-height: 1;
  margin: 0;
  min-width: calc(280 * var(--case-u));
  padding: calc(9 * var(--case-u)) calc(22 * var(--case-u));
  position: absolute;
  text-align: center;
  top: 0;
  transform: translate(-50%, -50%);
}

.debt_case_results ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.debt_case_results li {
  color: #26394d;
  font-size: calc(21 * var(--case-u));
  font-weight: 400;
  line-height: 1.55;
  padding: calc(12 * var(--case-u)) calc(4 * var(--case-u)) calc(12 * var(--case-u)) calc(38 * var(--case-u));
  position: relative;
  text-align: left;
}

.debt_case_results li + li {
  border-top: calc(2 * var(--case-u)) dotted #9abbd6;
}

.debt_case_results li::before {
  align-items: center;
  background-color: #1e50a2;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 12 4 4 8-10' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 72% 72%;
  border: calc(3 * var(--case-u)) solid #1e50a2;
  border-radius: 50%;
  content: "";
  display: flex;
  height: calc(22 * var(--case-u));
  justify-content: center;
  left: calc(4 * var(--case-u));
  line-height: 1;
  position: absolute;
  top: calc(16 * var(--case-u));
  width: calc(22 * var(--case-u));
}

.debt_case_results li span {
  color: #1e50a2;
  font-weight: 500;
}

.debt_case_results li small {
  display: block;
  font-size: calc(16 * var(--case-u));
}

.debt_case_studies_note {
  color: #566a7c;
  font-size: calc(18 * var(--case-u));
  font-weight: 400;
  line-height: 1.7;
  margin: calc(26 * var(--case-u)) 0 0;
  text-align: left;
}

/*
 * LP本体が390px固定になるPC表示だけ、事例セクションも同じ基準値へ固定する。
 * 521〜779pxではLP本体が画面幅に追従するため、ここを固定すると事例だけ細くなる。
 */
@media only screen and (min-width: 780px) {
  .debt_case_studies {
    --case-u: 0.609375px;
    max-width: 390px;
  }
}

@media only screen and (max-width: 520px) {
  .debt_case_studies_heading {
    height: auto;
    min-height: calc(326 * var(--case-u));
  }

  .debt_case_card_header {
    gap: calc(3 * var(--case-u)) calc(9 * var(--case-u));
    grid-template-columns: minmax(0, 1fr) calc(112 * var(--case-u));
  }

  .debt_case_avatar {
    height: calc(124 * var(--case-u));
  }

  .debt_case_method {
    font-size: calc(39 * var(--case-u));
  }

  .debt_case_card_header h3 {
    overflow-wrap: anywhere;
  }

  .debt_case_profile {
    font-size: calc(20 * var(--case-u));
  }

  .debt_case_compare {
    grid-template-columns: minmax(0, 1fr) calc(28 * var(--case-u)) minmax(0, 1fr);
  }

  .debt_case_compare > div {
    padding-left: calc(6 * var(--case-u));
    padding-right: calc(6 * var(--case-u));
  }

  .debt_case_compare > i {
    width: calc(34 * var(--case-u));
  }

  .debt_case_compare strong {
    font-size: calc(36 * var(--case-u));
  }

  .debt_case_results h4 {
    min-width: 0;
    white-space: nowrap;
    width: calc(100% - 28 * var(--case-u));
  }
}

/* 解決事例：参考デザインに合わせた縦長カード */
.debt_case_studies_list {
  background: transparent;
  gap: calc(66 * var(--case-u));
  margin: 0 calc(-18 * var(--case-u));
  padding: calc(52 * var(--case-u)) calc(18 * var(--case-u)) calc(10 * var(--case-u));
}

.debt_case_card {
  background: #fff;
  border: calc(3 * var(--case-u)) solid #1e50a2;
  border-radius: calc(18 * var(--case-u));
  box-shadow: none;
  padding: 0 calc(14 * var(--case-u)) calc(20 * var(--case-u));
}

.debt_case_card_02 {
  padding-top: 0;
}

.debt_case_number {
  background: #1e50a2;
  font-size: calc(24 * var(--case-u));
  font-weight: 500;
  min-width: calc(205 * var(--case-u));
  padding: calc(10 * var(--case-u)) calc(23 * var(--case-u));
}

.debt_case_card_header {
  align-items: end;
  border: 0;
  gap: 0 calc(8 * var(--case-u));
  grid-template-areas: "copy avatar";
  grid-template-columns: minmax(0, 1fr) calc(165 * var(--case-u));
  min-height: calc(174 * var(--case-u));
  padding: 0 calc(8 * var(--case-u)) 0 calc(20 * var(--case-u));
}

.debt_case_card_header > div {
  transform: translateY(calc(-24 * var(--case-u)));
}

.debt_case_method {
  color: #303030;
  font-size: calc(43 * var(--case-u));
  font-weight: 700;
  letter-spacing: calc(3 * var(--case-u));
  line-height: 1.25;
  white-space: nowrap;
}

.debt_case_profile {
  color: #303030;
  font-size: calc(22 * var(--case-u));
  font-weight: 400;
  line-height: 1.35;
  margin: calc(9 * var(--case-u)) 0 0;
  white-space: nowrap;
}

.debt_case_avatar {
  align-self: end;
  height: calc(178 * var(--case-u));
  margin-bottom: calc(-1 * var(--case-u));
  overflow: visible;
}

.debt_case_avatar img {
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  width: 100%;
}

.debt_case_compare {
  align-items: stretch;
  grid-template-columns: minmax(0, 1fr) calc(26 * var(--case-u)) minmax(0, 1fr);
  margin: 0 0 calc(26 * var(--case-u));
  overflow: visible;
  position: relative;
}

.debt_case_compare > div {
  align-content: start;
  display: grid;
  gap: 0;
  justify-items: stretch;
  min-height: calc(190 * var(--case-u));
  padding: calc(8 * var(--case-u)) calc(8 * var(--case-u)) 0;
}

.debt_case_compare_before {
  background: #ededed;
  border-radius: 0;
  color: #3c3c3c;
}

.debt_case_compare_after {
  background: #fff;
  border: calc(3 * var(--case-u)) solid #1e50a2;
  border-radius: 0;
  color: #1e50a2;
}

.debt_case_compare small {
  border-bottom: calc(2 * var(--case-u)) solid currentColor;
  font-size: calc(22 * var(--case-u));
  font-weight: 500;
  line-height: 1.35;
  padding: 0 0 calc(6 * var(--case-u));
}

.debt_case_compare > div > p {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: 0;
  min-height: calc(55 * var(--case-u));
  padding: 0 calc(2 * var(--case-u));
}

.debt_case_compare > div > p > span {
  color: inherit;
  font-size: calc(20 * var(--case-u));
  font-weight: 500;
  white-space: nowrap;
}

.debt_case_compare strong {
  color: inherit;
  font-size: calc(38 * var(--case-u));
  font-weight: 500;
}

.debt_case_compare_after strong {
  color: #1e50a2;
}

.debt_case_compare strong em {
  font-size: .45em;
}

.debt_case_compare_total {
  background: #777;
  color: #fff;
  margin: 0 calc(-8 * var(--case-u)) !important;
  padding: 0 calc(10 * var(--case-u)) !important;
}

.debt_case_compare_after .debt_case_compare_total {
  background: #1e50a2;
  color: #fff;
}

.debt_case_compare_after .debt_case_compare_total strong {
  color: #fff;
}

.debt_case_compare_tag {
  align-items: center;
  background: #fff;
  border-radius: calc(999 * var(--case-u));
  color: #333 !important;
  display: flex;
  font-size: calc(16 * var(--case-u)) !important;
  font-weight: 500;
  justify-content: center;
  line-height: 1.25;
  margin: 0 calc(5 * var(--case-u));
  min-height: calc(28 * var(--case-u));
  padding: calc(3 * var(--case-u)) calc(7 * var(--case-u));
  white-space: nowrap;
}

.debt_case_compare_after .debt_case_compare_tag {
  background: #fff7c9;
}

.debt_case_compare > i {
  align-self: end;
  background: #fff;
  clip-path: polygon(0 25%, 52% 25%, 52% 0, 100% 50%, 52% 100%, 52% 75%, 0 75%);
  height: calc(40 * var(--case-u));
  margin: 0 calc(-4 * var(--case-u)) calc(13 * var(--case-u));
  width: calc(35 * var(--case-u));
}

.debt_case_compare_badge {
  align-items: center;
  background: #ff9517;
  border-radius: 50%;
  bottom: calc(-20 * var(--case-u));
  box-shadow: 0 calc(4 * var(--case-u)) calc(7 * var(--case-u)) rgba(82, 46, 0, .22);
  color: #fff;
  display: flex;
  flex-direction: column;
  height: calc(92 * var(--case-u));
  justify-content: center;
  margin: 0;
  position: absolute;
  right: calc(-6 * var(--case-u));
  transform: rotate(-7deg);
  width: calc(92 * var(--case-u));
  z-index: 5;
}

.debt_case_compare_badge small {
  border: 0;
  color: #fff;
  font-size: calc(16 * var(--case-u));
  font-weight: 600;
  padding: 0;
}

.debt_case_compare_badge strong {
  color: #fff;
  font-size: calc(31 * var(--case-u));
  font-weight: 500;
  line-height: 1.05;
}

.debt_case_compare_badge strong em {
  font-size: .55em;
}

.debt_case_story {
  border-top: calc(3 * var(--case-u)) dotted #555;
  color: #303030;
  font-size: calc(24 * var(--case-u));
  line-height: 1.82;
  padding: calc(18 * var(--case-u)) calc(2 * var(--case-u)) 0;
}

.debt_case_story p {
  margin: 0;
}

.debt_case_story p + p {
  margin-top: calc(8 * var(--case-u));
}

.debt_case_story strong {
  color: #1e50a2;
  font-weight: 500;
}

.debt_case_results {
  background: #fff9d9;
  border-radius: calc(10 * var(--case-u));
  margin-top: calc(32 * var(--case-u));
  padding: calc(32 * var(--case-u)) calc(13 * var(--case-u)) calc(10 * var(--case-u));
}

.debt_case_results h4 {
  background: #1e50a2;
  font-size: calc(23 * var(--case-u));
  font-weight: 500;
  min-width: calc(315 * var(--case-u));
  padding: calc(9 * var(--case-u)) calc(20 * var(--case-u));
  width: auto;
}

.debt_case_results li {
  color: #363636;
  font-size: calc(23 * var(--case-u));
  line-height: 1.55;
  padding: calc(11 * var(--case-u)) calc(2 * var(--case-u)) calc(11 * var(--case-u)) calc(40 * var(--case-u));
}

.debt_case_results li + li {
  border-color: #b8b8b8;
}

.debt_case_results li::before {
  border-color: #1e50a2;
  color: #1e50a2;
  height: calc(22 * var(--case-u));
  left: calc(4 * var(--case-u));
  top: calc(15 * var(--case-u));
  width: calc(22 * var(--case-u));
}

.debt_case_results li span {
  color: #1e50a2;
  font-weight: 500;
}

.debt_case_results .debt_case_result_single_line {
  font-size: calc(23 * var(--case-u));
  letter-spacing: -0.03em;
  white-space: nowrap;
}

.debt_case_compare_refund {
  grid-template-columns: minmax(0, .95fr) calc(18 * var(--case-u)) minmax(0, 1.05fr);
  margin-top: calc(-4 * var(--case-u));
}

.debt_case_compare_refund > div {
  min-height: calc(150 * var(--case-u));
}

.debt_case_compare_refund .debt_case_compare_before {
  align-items: center;
  display: flex;
  justify-content: center;
  padding: calc(12 * var(--case-u));
}

.debt_case_compare_refund .debt_case_compare_text {
  color: #363636;
  font-size: calc(24 * var(--case-u));
  font-weight: 600;
  line-height: 1.55;
}

.debt_case_compare_refund .debt_case_compare_after {
  padding: calc(7 * var(--case-u)) calc(8 * var(--case-u));
}

.debt_case_compare_refund .debt_case_compare_after p {
  display: block;
  min-height: 0;
  padding: 0;
  text-align: center;
}

.debt_case_compare_refund .debt_case_compare_after p + p {
  border-top: calc(2 * var(--case-u)) solid #1e50a2;
  margin-top: calc(5 * var(--case-u));
  padding-top: calc(4 * var(--case-u));
}

.debt_case_compare_refund .debt_case_compare_after span,
.debt_case_compare_refund .debt_case_compare_after b {
  color: #333;
  font-size: calc(19 * var(--case-u));
  font-weight: 600;
  line-height: 1.35;
}

.debt_case_compare_refund .debt_case_compare_after span b,
.debt_case_compare_refund .debt_case_compare_after p > strong,
.debt_case_compare_refund .debt_case_compare_after p > b {
  color: #1e50a2;
}

.debt_case_number b {
  color: #fff;
}

.debt_case_compare_refund .debt_case_compare_after p > strong {
  display: block;
  font-size: calc(23 * var(--case-u));
  line-height: 1.25;
}

.debt_case_compare_refund .debt_case_compare_after span > strong {
  display: inline;
  font-size: calc(29 * var(--case-u));
}

.debt_case_compare_refund > i {
  margin-bottom: calc(56 * var(--case-u));
}

.debt_case_card_02 .debt_case_results,
.debt_case_card_03 .debt_case_results {
  padding-bottom: calc(12 * var(--case-u));
}

.debt_case_card_03 .debt_case_compare > div {
  min-height: calc(202 * var(--case-u));
}

.debt_case_card_03 .debt_case_compare_after > p:first-of-type {
  justify-content: center;
}

/* 解決事例の比較画像 */
.debt_case_studies_list .debt_case_compare {
  background: #fff;
  border: 0;
  border-radius: calc(12 * var(--case-u));
  display: block;
  height: auto;
  margin: calc(6 * var(--case-u)) 0 calc(6 * var(--case-u));
  min-height: 0;
  overflow: visible;
  position: relative;
  width: 100%;
}

.debt_case_studies_list .debt_case_compare > * {
  display: none !important;
}

.debt_case_studies_list .debt_case_compare > .debt_case_compare_image {
  display: block !important;
  height: auto;
  max-width: none;
  object-fit: contain;
  transform: translateX(1.5%);
  width: 105%;
}

.debt_case_studies_note {
  margin-top: 0;
}

/* 比較画像の読み込み前も背景色を表示しない */
.debt_case_compare,
.debt_case_compare_refund {
  background: transparent;
  display: block;
  height: calc(190 * var(--case-u));
  margin-bottom: calc(26 * var(--case-u));
  min-height: calc(190 * var(--case-u));
  overflow: hidden;
  width: 100%;
}

.debt_case_compare > * {
  display: none;
}

.debt_possibility {
  --possibility-u: min(0.15625vw, 1.21875px);
  background: linear-gradient(180deg, #eaf6ff 0%, #f7fcff 54%, #eef8ff 100%);
  font-family: "Noto Sans JP", sans-serif;
  padding: 0 0 calc(48 * var(--possibility-u));
}

.debt_possibility_inner {
  margin: 0 auto;
  max-width: calc(650 * var(--possibility-u));
}

.debt_possibility_visual {
  aspect-ratio: 750 / 863;
  background-color: #eef8ff;
  border-radius: 0;
  box-shadow: none;
  margin: 0;
  overflow: hidden;
  position: relative;
  z-index: 1;
}

.debt_possibility_visual_bg,
.debt_possibility_visual_img {
  display: block;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  inset: 0;
  width: 100%;
}

.debt_possibility_photo_copy {
  color: #173e6b;
  left: 0;
  position: absolute;
  right: 0;
  text-align: center;
  top: calc(32 * var(--possibility-u));
  z-index: 3;
}

.debt_possibility_photo_copy > span {
  background: linear-gradient(100deg, #2f79bd 0%, #1e50a2 100%);
  box-shadow: 0 calc(4 * var(--possibility-u)) calc(10 * var(--possibility-u)) rgba(30, 80, 162, 0.2);
  clip-path: polygon(0 0, 100% 0, 96% 50%, 100% 100%, 0 100%, 4% 50%);
  color: #fff;
  display: inline-block;
  font-size: calc(29 * var(--possibility-u));
  font-weight: 600;
  letter-spacing: calc(1.5 * var(--possibility-u));
  line-height: 1.3;
  margin: 0 auto calc(8 * var(--possibility-u));
  padding: calc(8 * var(--possibility-u)) calc(42 * var(--possibility-u));
}

.debt_possibility_photo_copy strong {
  align-items: center;
  color: #173e6b;
  display: flex;
  font-size: calc(104 * var(--possibility-u));
  font-weight: 700;
  justify-content: center;
  letter-spacing: 0;
  line-height: 1.08;
  margin: calc(8 * var(--possibility-u)) 0 calc(2 * var(--possibility-u));
  text-shadow: none;
}

.debt_possibility_photo_copy strong em {
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 0;
  background: linear-gradient(155deg, #ffd052 0%, #ff9b25 46%, #f26522 100%);
  background-clip: text;
  color: transparent;
  filter: drop-shadow(0 0 calc(8 * var(--possibility-u)) rgba(255, 255, 255, 0.92));
  font-size: 1.34em;
  font-style: normal;
  font-weight: 700;
  text-shadow: none;
}

.debt_possibility_photo_copy .debt_possibility_zero_copy {
  align-items: baseline;
  display: inline-flex;
}

.debt_possibility_photo_copy strong > em:not(.debt_possibility_zero_copy) {
  letter-spacing: 0.05em;
}

.debt_possibility_photo_copy .debt_possibility_zero_copy > span {
  font-family: "Arial Black", "Helvetica Neue", Arial, sans-serif;
  font-size: 1.22em;
  font-weight: 900;
  letter-spacing: -0.04em;
  line-height: 0.88;
}

.debt_possibility_photo_copy .debt_possibility_zero_copy > small {
  align-self: flex-end;
  background: none;
  box-shadow: none;
  color: inherit;
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.4em;
  font-weight: 800;
  line-height: 1;
  margin: 0 0 0.12em 0.06em;
  min-height: 0;
  padding: 0;
  text-orientation: mixed;
  writing-mode: horizontal-tb;
}

.debt_possibility_photo_copy strong > small {
  align-items: center;
  align-self: center;
  background: linear-gradient(180deg, #ff912a 0%, #f26522 100%);
  border-radius: calc(9 * var(--possibility-u));
  box-shadow: 0 calc(4 * var(--possibility-u)) calc(8 * var(--possibility-u)) rgba(126, 65, 16, 0.2);
  color: #fff;
  display: inline-flex;
  font-size: calc(31 * var(--possibility-u));
  font-weight: 700;
  justify-content: center;
  letter-spacing: 0.14em;
  line-height: 1;
  margin: 0 calc(8 * var(--possibility-u));
  min-height: calc(116 * var(--possibility-u));
  padding: calc(14 * var(--possibility-u)) calc(7 * var(--possibility-u));
  text-orientation: upright;
  transform: translateY(calc(6 * var(--possibility-u)));
  writing-mode: vertical-rl;
}

.debt_possibility_photo_copy > b {
  background: linear-gradient(transparent 58%, rgba(255, 243, 63, 0.9) 58%);
  color: #173e6b;
  display: inline-block;
  font-size: calc(40 * var(--possibility-u));
  font-weight: 600;
  letter-spacing: calc(1 * var(--possibility-u));
  line-height: 1.45;
  margin-top: calc(8 * var(--possibility-u));
  padding: 0 calc(4 * var(--possibility-u));
  text-shadow: 0 calc(2 * var(--possibility-u)) calc(7 * var(--possibility-u)) rgba(255, 255, 255, 0.9);
}

.debt_possibility_visual_copy {
  color: #1e50a2;
  inset: 0;
  margin: 0;
  position: absolute;
  text-align: center;
}

.debt_possibility_ribbon {
  align-items: center;
  background: linear-gradient(100deg, #e96310 0%, #f47f1f 55%, #f6a141 100%);
  box-shadow: 0 calc(5 * var(--possibility-u)) calc(10 * var(--possibility-u)) rgba(118, 67, 23, 0.22);
  clip-path: polygon(0 0, 100% 0, 96.5% 50%, 100% 100%, 0 100%, 3.5% 50%);
  color: #fff;
  display: flex;
  font-size: calc(24 * var(--possibility-u));
  font-weight: 900;
  height: calc(72 * var(--possibility-u));
  justify-content: center;
  left: calc(32 * var(--possibility-u));
  letter-spacing: calc(2 * var(--possibility-u));
  line-height: 1.15;
  margin: 0;
  padding: 0 calc(30 * var(--possibility-u));
  position: absolute;
  right: calc(32 * var(--possibility-u));
  text-shadow: 0 calc(2 * var(--possibility-u)) calc(2 * var(--possibility-u)) rgba(120, 65, 21, 0.12);
  top: calc(26 * var(--possibility-u));
  white-space: nowrap;
}

.debt_possibility_main {
  display: block;
  height: calc(205 * var(--possibility-u));
  left: calc(26 * var(--possibility-u));
  position: absolute;
  right: calc(26 * var(--possibility-u));
  top: calc(124 * var(--possibility-u));
}

.debt_possibility_zero {
  align-items: baseline;
  color: #ef6f1d;
  display: inline-flex;
  font-size: calc(66 * var(--possibility-u));
  font-weight: 900;
  left: calc(0 * var(--possibility-u));
  line-height: 0.86;
  position: absolute;
  top: calc(6 * var(--possibility-u));
  text-shadow:
    calc(5 * var(--possibility-u)) calc(8 * var(--possibility-u)) 0 #fff2be,
    0 calc(2 * var(--possibility-u)) calc(8 * var(--possibility-u)) rgba(27, 47, 102, 0.13);
}

.debt_possibility_zero span {
  background: linear-gradient(160deg, #f69831 0%, #f07c21 42%, #1e50a2 43%, #162a63 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  font-size: calc(172 * var(--possibility-u));
  letter-spacing: 0;
}

.debt_possibility_or {
  align-items: center;
  background: linear-gradient(180deg, #f7a044 0%, #ed6a1a 100%);
  border-radius: calc(10 * var(--possibility-u));
  box-shadow: 0 calc(4 * var(--possibility-u)) calc(10 * var(--possibility-u)) rgba(156, 82, 20, 0.18);
  color: #fff;
  display: flex;
  font-size: calc(34 * var(--possibility-u));
  font-weight: 900;
  height: calc(136 * var(--possibility-u));
  justify-content: center;
  left: calc(242 * var(--possibility-u));
  line-height: 1.08;
  padding: calc(8 * var(--possibility-u)) 0;
  position: absolute;
  text-orientation: upright;
  top: calc(22 * var(--possibility-u));
  width: calc(62 * var(--possibility-u));
  writing-mode: vertical-rl;
}

.debt_possibility_reduce {
  background: linear-gradient(160deg, #f47d23 0%, #f47d23 34%, #1e50a2 35%, #1e50a2 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  font-size: calc(116 * var(--possibility-u));
  font-weight: 900;
  left: calc(286 * var(--possibility-u));
  line-height: 0.95;
  position: absolute;
  top: calc(18 * var(--possibility-u));
  text-shadow:
    calc(5 * var(--possibility-u)) calc(8 * var(--possibility-u)) 0 #fff2be,
    0 calc(2 * var(--possibility-u)) calc(8 * var(--possibility-u)) rgba(27, 47, 102, 0.13);
  white-space: nowrap;
}

.debt_possibility_lead {
  background: rgba(255, 255, 255, 0.76);
  border-radius: calc(999 * var(--possibility-u));
  color: #1e50a2;
  font-size: calc(35 * var(--possibility-u));
  font-weight: 900;
  left: calc(28 * var(--possibility-u));
  letter-spacing: calc(2 * var(--possibility-u));
  line-height: 1.25;
  margin: 0;
  padding: calc(4 * var(--possibility-u)) calc(14 * var(--possibility-u)) calc(7 * var(--possibility-u));
  position: absolute;
  right: calc(28 * var(--possibility-u));
  text-shadow: 0 calc(2 * var(--possibility-u)) 0 #fff;
  top: calc(318 * var(--possibility-u));
}

.debt_possibility_message {
  background: rgba(255, 255, 255, 0.94);
  border: calc(3 * var(--possibility-u)) solid #f18724;
  border-radius: calc(26 * var(--possibility-u));
  box-shadow: 0 calc(8 * var(--possibility-u)) calc(18 * var(--possibility-u)) rgba(126, 92, 63, 0.14);
  color: #1e50a2;
  font-size: calc(27 * var(--possibility-u));
  font-weight: 900;
  left: calc(50 * var(--possibility-u));
  line-height: 1.36;
  margin: 0;
  padding: calc(18 * var(--possibility-u)) calc(22 * var(--possibility-u));
  position: absolute;
  text-align: left;
  top: calc(520 * var(--possibility-u));
  width: calc(335 * var(--possibility-u));
}

.debt_possibility_message::after {
  border-bottom: calc(12 * var(--possibility-u)) solid transparent;
  border-left: calc(24 * var(--possibility-u)) solid rgba(255, 255, 255, 0.94);
  border-top: calc(12 * var(--possibility-u)) solid transparent;
  content: "";
  position: absolute;
  right: calc(-20 * var(--possibility-u));
  top: 50%;
  transform: translateY(-50%);
}

.debt_possibility_check {
  background-color: #fff;
  border: calc(3 * var(--possibility-u)) solid #2f79bd;
  border-radius: calc(18 * var(--possibility-u));
  box-shadow: 0 calc(8 * var(--possibility-u)) calc(18 * var(--possibility-u)) rgba(30, 80, 162, 0.15);
  margin: calc(-24 * var(--possibility-u)) calc(20 * var(--possibility-u)) 0;
  padding: calc(88 * var(--possibility-u)) calc(26 * var(--possibility-u)) calc(22 * var(--possibility-u));
  position: relative;
  z-index: 2;
}

.debt_possibility_check h2 {
  background: #1e50a2;
  border-radius: calc(999 * var(--possibility-u));
  color: #fff;
  display: block;
  font-size: calc(27 * var(--possibility-u));
  font-weight: 700;
  line-height: 1.42;
  left: 50%;
  margin: 0;
  padding: calc(14 * var(--possibility-u)) calc(30 * var(--possibility-u)) calc(15 * var(--possibility-u));
  position: absolute;
  text-align: center;
  top: calc(-33 * var(--possibility-u));
  transform: translateX(-50%);
  width: calc(560 * var(--possibility-u));
}

.debt_possibility_check h2::after {
  border-left: calc(13 * var(--possibility-u)) solid transparent;
  border-right: calc(13 * var(--possibility-u)) solid transparent;
  border-top: calc(14 * var(--possibility-u)) solid #1e50a2;
  bottom: calc(-12 * var(--possibility-u));
  content: "";
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
}

.debt_possibility_check ul {
  margin: 0;
}

.debt_possibility_check li {
  align-items: flex-start;
  border-top: calc(2 * var(--possibility-u)) solid rgba(47, 121, 189, 0.24);
  display: flex;
  gap: calc(14 * var(--possibility-u));
  padding: calc(17 * var(--possibility-u)) 0;
}

.debt_possibility_check li:first-child {
  border-top: 0;
}

.debt_possibility_check i {
  background-color: #2f79bd;
  border: calc(3 * var(--possibility-u)) solid #2f79bd;
  border-radius: 50%;
  flex: 0 0 calc(30 * var(--possibility-u));
  height: calc(30 * var(--possibility-u));
  margin-top: calc(4 * var(--possibility-u));
  position: relative;
  width: calc(30 * var(--possibility-u));
}

.debt_possibility_check i::after {
  border-bottom: calc(4 * var(--possibility-u)) solid #fff;
  border-right: calc(4 * var(--possibility-u)) solid #fff;
  content: "";
  height: calc(14 * var(--possibility-u));
  left: 50%;
  position: absolute;
  top: 44%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: calc(8 * var(--possibility-u));
}

.debt_possibility_check p {
  color: #333;
  font-size: calc(25 * var(--possibility-u));
  font-weight: 600;
  letter-spacing: calc(1.2 * var(--possibility-u));
  line-height: 1.55;
  margin: 0;
}

.debt_possibility_check strong {
  background: linear-gradient(transparent 56%, #fff3a0 56%);
  color: #f26522;
  font-weight: 700;
  padding: 0 calc(2 * var(--possibility-u));
}

.debt_diagnosis {
  --diagnosis-u: min(0.15625vw, 1.21875px);
  background: linear-gradient(180deg, #ffffff 0%, #eef8ff 100%);
  overflow: hidden;
  padding: calc(54 * var(--diagnosis-u)) calc(20 * var(--diagnosis-u)) calc(34 * var(--diagnosis-u));
  text-align: center;
}

.debt_diagnosis_inner {
  margin: 0 auto;
  max-width: calc(930 * var(--diagnosis-u));
}

.debt_diagnosis_balloon {
  background: #fff;
  border: calc(3 * var(--diagnosis-u)) solid #f26522;
  border-radius: calc(12 * var(--diagnosis-u));
  color: #1e50a2;
  display: inline-block;
  font-size: calc(27 * var(--diagnosis-u));
  font-weight: 800;
  line-height: 1.35;
  margin: 0 0 calc(12 * var(--diagnosis-u));
  padding: calc(9 * var(--diagnosis-u)) calc(26 * var(--diagnosis-u));
  position: relative;
}

.debt_diagnosis_balloon::after {
  background: #fff;
  border-bottom: calc(3 * var(--diagnosis-u)) solid #f26522;
  border-right: calc(3 * var(--diagnosis-u)) solid #f26522;
  bottom: calc(-10 * var(--diagnosis-u));
  content: "";
  height: calc(16 * var(--diagnosis-u));
  left: 50%;
  position: absolute;
  transform: translateX(-50%) rotate(45deg);
  width: calc(16 * var(--diagnosis-u));
}

.debt_diagnosis_kicker {
  color: #1e50a2;
  font-size: calc(24 * var(--diagnosis-u));
  font-weight: 700;
  letter-spacing: .08em;
  margin: calc(16 * var(--diagnosis-u)) 0 calc(5 * var(--diagnosis-u));
}

.debt_diagnosis h2 {
  color: #1e50a2;
  font-size: calc(46 * var(--diagnosis-u));
  font-weight: 800;
  letter-spacing: .03em;
  line-height: 1.3;
}

.debt_diagnosis h2 span {
  color: #f26522;
}

.debt_diagnosis_lead {
  color: #4a5d70;
  font-size: calc(23 * var(--diagnosis-u));
  font-weight: 500;
  line-height: 1.75;
  margin: calc(18 * var(--diagnosis-u)) auto calc(29 * var(--diagnosis-u));
  max-width: calc(770 * var(--diagnosis-u));
}

.debt_diagnosis_steps {
  counter-reset: diagnosis;
  display: grid;
  gap: calc(16 * var(--diagnosis-u));
  margin: 0;
}

.debt_diagnosis_step {
  align-items: center;
  background: #fff;
  border: calc(2 * var(--diagnosis-u)) solid #d8e5f3;
  border-radius: calc(12 * var(--diagnosis-u));
  box-shadow: 0 calc(5 * var(--diagnosis-u)) 0 #d8e5f3;
  display: flex;
  gap: calc(18 * var(--diagnosis-u));
  min-height: calc(102 * var(--diagnosis-u));
  padding: calc(14 * var(--diagnosis-u)) calc(18 * var(--diagnosis-u));
  position: relative;
  text-align: left;
}

.debt_diagnosis_step:not(:last-child)::after {
  border-left: calc(12 * var(--diagnosis-u)) solid transparent;
  border-right: calc(12 * var(--diagnosis-u)) solid transparent;
  border-top: calc(12 * var(--diagnosis-u)) solid #1e50a2;
  bottom: calc(-28 * var(--diagnosis-u));
  content: "";
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  z-index: 2;
}

.debt_diagnosis_number {
  align-items: center;
  background: #1e50a2;
  border-radius: 50%;
  color: #fff;
  display: flex;
  flex: 0 0 calc(58 * var(--diagnosis-u));
  font-size: calc(20 * var(--diagnosis-u));
  font-weight: 800;
  height: calc(58 * var(--diagnosis-u));
  justify-content: center;
  width: calc(58 * var(--diagnosis-u));
}

.debt_diagnosis_step p {
  color: #33475b;
  font-size: calc(25 * var(--diagnosis-u));
  font-weight: 600;
  line-height: 1.5;
}

.debt_diagnosis_step strong {
  color: #f26522;
  font-size: 1.08em;
}

.debt_diagnosis_results {
  background: #1e50a2;
  border-radius: calc(16 * var(--diagnosis-u));
  margin-top: calc(32 * var(--diagnosis-u));
  padding: calc(22 * var(--diagnosis-u)) calc(18 * var(--diagnosis-u));
}

.debt_diagnosis_results > p {
  color: #fff;
  font-size: calc(25 * var(--diagnosis-u));
  font-weight: 700;
  line-height: 1.45;
  margin-bottom: calc(15 * var(--diagnosis-u));
}

.debt_diagnosis_results ul {
  display: grid;
  gap: calc(10 * var(--diagnosis-u));
}

.debt_diagnosis_results li {
  background: #fff;
  border-radius: calc(8 * var(--diagnosis-u));
  overflow: hidden;
  padding: 0;
}

.debt_diagnosis_result_link {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: calc(144 * var(--diagnosis-u));
  padding: calc(15 * var(--diagnosis-u)) calc(8 * var(--diagnosis-u)) calc(13 * var(--diagnosis-u));
  transition: background-color .2s ease, transform .2s ease;
}

.debt_diagnosis_result_link span,
.debt_diagnosis_result_link strong,
.debt_diagnosis_result_link b {
  display: block;
}

.debt_diagnosis_result_link span {
  color: #607386;
  font-size: calc(18 * var(--diagnosis-u));
  font-weight: 600;
  line-height: 1.3;
}

.debt_diagnosis_result_link strong {
  color: #1e50a2;
  font-size: calc(29 * var(--diagnosis-u));
  font-weight: 800;
  line-height: 1.4;
}

.debt_diagnosis_result_link b {
  color: #f26522;
  font-size: calc(18 * var(--diagnosis-u));
  font-weight: 800;
  line-height: 1.35;
  margin-top: calc(5 * var(--diagnosis-u));
}

.debt_diagnosis_result_link i {
  color: inherit;
  font-size: 1.15em;
}

.debt_diagnosis_result_link:focus-visible {
  outline: calc(3 * var(--diagnosis-u)) solid #f26522;
  outline-offset: calc(-3 * var(--diagnosis-u));
}

@media (hover: hover) {
  .debt_diagnosis_result_link:hover {
    background: #fff5ef;
    transform: translateY(calc(-2 * var(--diagnosis-u)));
  }
}

.debt_diagnosis_link {
  align-items: center;
  background: #f26522;
  border-radius: calc(999 * var(--diagnosis-u));
  box-shadow: 0 calc(5 * var(--diagnosis-u)) 0 #c9460c;
  color: #fff;
  display: flex;
  font-size: calc(21 * var(--diagnosis-u));
  font-weight: 700;
  justify-content: center;
  margin: calc(29 * var(--diagnosis-u)) auto calc(14 * var(--diagnosis-u));
  max-width: calc(580 * var(--diagnosis-u));
  min-height: calc(67 * var(--diagnosis-u));
  padding: calc(10 * var(--diagnosis-u)) calc(30 * var(--diagnosis-u));
  position: relative;
}

.debt_diagnosis_link span {
  color: #fff;
  font-size: 1.3em;
  position: absolute;
  right: calc(24 * var(--diagnosis-u));
}

.debt_diagnosis_note {
  color: #647687;
  font-size: calc(14 * var(--diagnosis-u));
  line-height: 1.55;
  text-align: left;
}

.debt_solution {
  --solution-u: min(0.15625vw, 1.21875px);
  background-color: #eef8ff;
  border-top: 0;
  padding: 0 calc(14 * var(--solution-u));
}

.debt_solution_heading {
  background-color: #1e50a2;
  box-shadow: none;
  margin: 0 calc(-14 * var(--solution-u)) calc(48 * var(--solution-u));
  min-height: calc(316 * var(--solution-u));
  overflow: visible;
  padding: calc(28 * var(--solution-u)) calc(32 * var(--solution-u)) calc(54 * var(--solution-u));
  position: relative;
  text-align: left;
}

.debt_solution_heading::before {
  content: none;
}

.debt_solution_heading::after {
  content: none;
}

.debt_solution_heading_text {
  max-width: none;
  position: relative;
  top: calc(16 * var(--solution-u));
  width: 100%;
  z-index: 3;
}

.debt_solution_heading_person {
  bottom: 0;
  height: auto;
  max-height: calc(220 * var(--solution-u));
  object-fit: contain;
  object-position: bottom right;
  position: absolute;
  right: 0;
  width: min(33%, calc(320 * var(--solution-u)));
  z-index: 1;
}

.debt_solution_heading p {
  background-color: #fff;
  border-radius: calc(999 * var(--solution-u));
  box-shadow: 0 calc(4 * var(--solution-u)) calc(8 * var(--solution-u)) rgba(0, 24, 65, 0.24);
  color: #1e50a2;
  display: inline-block;
  font-size: calc(28 * var(--solution-u));
  font-weight: 900;
  line-height: 1.25;
  margin: 0 0 calc(30 * var(--solution-u));
  padding: calc(9 * var(--solution-u)) calc(22 * var(--solution-u));
  position: relative;
  white-space: nowrap;
  text-shadow: none;
  z-index: 3;
}

.debt_solution_heading p::after {
  border-left: calc(20 * var(--solution-u)) solid transparent;
  border-right: calc(20 * var(--solution-u)) solid transparent;
  border-top: calc(16 * var(--solution-u)) solid #fff;
  bottom: calc(-15 * var(--solution-u));
  content: "";
  height: 0;
  left: calc(176 * var(--solution-u));
  position: absolute;
  width: 0;
}

.debt_solution_heading h2 {
  color: #fff;
  font-size: calc(38 * var(--solution-u));
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.42;
  margin: 0;
  position: relative;
  text-shadow: 0 calc(3 * var(--solution-u)) 0 rgba(0, 28, 68, 0.22);
  z-index: 3;
}

.debt_solution_heading h2 span {
  color: #fff;
  display: block;
  font-size: inherit;
  font-weight: 700;
}

.debt_solution_heading h2 .debt_solution_heading_highlight {
  color: #fff33f;
}

.debt_solution_heading h2 strong {
  color: #fff;
  display: block;
  font-size: calc(38 * var(--solution-u));
  font-weight: inherit;
  line-height: 1.42;
  white-space: nowrap;
}

.debt_solution_heading h2 strong em {
  color: #fff33f;
  font-style: normal;
}

.debt_solution_heading h2 small {
  display: none;
}

.debt_solution_heading p,
.debt_solution_heading h2 strong {
  white-space: normal;
}

.debt_solution_heading p {
  display: table;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  text-align: center;
  white-space: nowrap;
}

.debt_solution_heading p {
  font-weight: 700;
}

.debt_solution_heading p::after {
  left: 50%;
  transform: translateX(-50%);
}

.debt_solution_intro {
  color: #333;
  font-size: calc(28 * var(--solution-u));
  font-weight: 500;
  line-height: 1.7;
  margin: calc(30 * var(--solution-u)) auto calc(14 * var(--solution-u));
  max-width: calc(880 * var(--solution-u));
  padding: 0;
  text-align: center;
  white-space: normal;
}

.debt_solution_intro_points {
  display: grid;
  gap: calc(12 * var(--solution-u));
  grid-template-columns: repeat(6, minmax(0, 1fr));
  list-style: none;
  margin: 0 auto calc(36 * var(--solution-u));
  max-width: calc(900 * var(--solution-u));
  padding: 0;
}

.debt_solution_intro_points li {
  align-items: center;
  background: #fff;
  border: calc(2 * var(--solution-u)) solid #b9d8eb;
  border-radius: calc(14 * var(--solution-u));
  box-shadow: 0 calc(4 * var(--solution-u)) 0 #d8eaf5;
  color: #1e50a2;
  display: flex;
  flex-direction: column;
  font-size: calc(22 * var(--solution-u));
  font-weight: 700;
  gap: calc(5 * var(--solution-u));
  grid-column: span 2;
  justify-content: center;
  line-height: 1.45;
  min-height: calc(108 * var(--solution-u));
  padding: calc(12 * var(--solution-u)) calc(14 * var(--solution-u));
  text-align: center;
}

.debt_solution_intro_points li > span {
  color: #333;
  font-size: calc(18 * var(--solution-u));
  font-weight: 500;
}

.debt_solution_intro_points li > strong {
  color: #1e50a2;
  font-size: calc(23 * var(--solution-u));
  font-weight: 800;
}

.debt_solution_intro_points li:nth-child(2) {
  background: #eef8ff;
}

.debt_solution_intro_points li:nth-child(3) {
  background: #fff7e8;
  border-color: #f1cf92;
  box-shadow: 0 calc(4 * var(--solution-u)) 0 #f5dfb5;
}

.debt_solution_intro_points li:nth-child(4) {
  background: #eef8ff;
  grid-column: 2 / span 2;
}

.debt_solution_intro_points li:nth-child(5) {
  background: #fff7e8;
  border-color: #f1cf92;
  box-shadow: 0 calc(4 * var(--solution-u)) 0 #f5dfb5;
}

@media (max-width: 780px) {
  .debt_solution_intro_points {
    grid-template-columns: 1fr;
  }

  .debt_solution_intro_points li,
  .debt_solution_intro_points li:nth-child(4) {
    grid-column: 1;
  }
}

.debt_solution_intro span {
  color: #f26522;
  font-weight: 700;
}

.debt_solution_chart {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  margin: 0 auto calc(18 * var(--solution-u));
  max-width: calc(900 * var(--solution-u));
  padding: calc(26 * var(--solution-u)) calc(24 * var(--solution-u)) calc(22 * var(--solution-u));
}

.debt_solution_chart_start {
  background: none;
  border-radius: 0;
  box-shadow: none;
  color: #1e50a2;
  display: block;
  margin: 0 auto calc(14 * var(--solution-u));
  min-height: 0;
  padding: calc(18 * var(--solution-u)) calc(16 * var(--solution-u)) calc(24 * var(--solution-u));
  position: relative;
  text-align: center;
  width: 100%;
}

.debt_solution_chart_start > small {
  background: linear-gradient(180deg, #ffe451 0%, #ffd523 100%);
  border-radius: calc(999 * var(--solution-u));
  box-shadow: none;
  color: #1e50a2;
  display: table;
  font-size: calc(27 * var(--solution-u));
  font-weight: 600;
  letter-spacing: .03em;
  line-height: 1.35;
  margin: 0 auto calc(22 * var(--solution-u));
  padding: calc(11 * var(--solution-u)) calc(28 * var(--solution-u));
  white-space: nowrap;
}

.debt_solution_chart_start > span {
  background: none;
  border-bottom: calc(7 * var(--solution-u)) solid #ffd82d;
  color: #1e50a2;
  display: inline-block;
  font-size: calc(43 * var(--solution-u));
  font-weight: 700;
  letter-spacing: .03em;
  line-height: 1.25;
  padding: 0 calc(12 * var(--solution-u)) calc(10 * var(--solution-u));
  text-shadow: none;
  white-space: nowrap;
}

.debt_solution_chart_start > b {
  color: #1e50a2;
  display: block;
  font-size: calc(19 * var(--solution-u));
  font-weight: 700;
  line-height: 1.5;
  margin-top: calc(13 * var(--solution-u));
}

.debt_solution_chart_start > em {
  background: #f26522;
  border-radius: calc(8 * var(--solution-u));
  color: #fff;
  display: table;
  font-size: calc(23 * var(--solution-u));
  font-style: normal;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1;
  margin: calc(15 * var(--solution-u)) 0 0;
  padding: calc(9 * var(--solution-u)) calc(27 * var(--solution-u));
}

.debt_solution_chart_start::after {
  content: none;
}

.debt_solution_chart_steps {
  list-style: none;
  margin: 0;
  padding: 0;
}

.debt_solution_chart_step {
  margin: 0 0 calc(18 * var(--solution-u));
  padding: 0 0 calc(18 * var(--solution-u));
  position: relative;
}

.debt_solution_chart_step:not(:last-child)::after {
  border-bottom: calc(5 * var(--solution-u)) solid #1e50a2;
  border-right: calc(5 * var(--solution-u)) solid #1e50a2;
  bottom: calc(-7 * var(--solution-u));
  content: "";
  height: calc(18 * var(--solution-u));
  left: 75%;
  position: absolute;
  transform: translateX(-50%) rotate(45deg);
  width: calc(18 * var(--solution-u));
}

.debt_solution_chart_question {
  align-items: center;
  background: #fff;
  border: calc(3 * var(--solution-u)) solid #1e50a2;
  border-radius: calc(12 * var(--solution-u));
  color: #243f59;
  display: flex;
  font-size: calc(23 * var(--solution-u));
  font-weight: 700;
  gap: calc(13 * var(--solution-u));
  justify-content: flex-start;
  line-height: 1.35;
  margin: 0;
  min-height: calc(88 * var(--solution-u));
  padding: calc(14 * var(--solution-u)) calc(20 * var(--solution-u));
  overflow-wrap: anywhere;
  text-align: left;
  white-space: normal;
}

.debt_solution_chart_question > span {
  align-items: center;
  background: #1e50a2;
  border-radius: 50%;
  color: #fff;
  display: flex;
  flex: 0 0 calc(49 * var(--solution-u));
  font-size: calc(20 * var(--solution-u));
  height: calc(49 * var(--solution-u));
  justify-content: center;
}

.debt_solution_chart_question > b {
  flex: 1 1 auto;
  font: inherit;
  font-size: 1.06em;
  letter-spacing: -0.03em;
  min-width: 0;
}

.debt_solution_chart_question > b > span {
  display: block;
  white-space: normal;
}

.debt_solution_chart_branches {
  display: grid;
  gap: calc(14 * var(--solution-u));
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: calc(10 * var(--solution-u));
}

.debt_solution_chart_branch {
  align-items: center;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.debt_solution_chart_branch > b {
  border-radius: calc(7 * var(--solution-u));
  box-sizing: border-box;
  color: #fff;
  font-size: calc(22 * var(--solution-u));
  font-weight: 800;
  line-height: 1;
  padding: calc(6 * var(--solution-u)) calc(12 * var(--solution-u));
  text-align: center;
  width: calc(78 * var(--solution-u));
}

.debt_solution_chart_branch.is-yes > b {
  background: #f26522;
}

.debt_solution_chart_branch.is-no > b {
  background: #1e50a2;
}

.debt_solution_chart_branch > i {
  height: calc(20 * var(--solution-u));
  position: relative;
  width: calc(5 * var(--solution-u));
}

.debt_solution_chart_branch > i::before {
  background: currentColor;
  content: "";
  inset: 0 0 calc(6 * var(--solution-u));
  position: absolute;
}

.debt_solution_chart_branch > i::after {
  border-left: calc(6 * var(--solution-u)) solid transparent;
  border-right: calc(6 * var(--solution-u)) solid transparent;
  border-top: calc(8 * var(--solution-u)) solid currentColor;
  bottom: 0;
  content: "";
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
}

.debt_solution_chart_branch.is-yes > i {
  color: #f26522;
}

.debt_solution_chart_branch.is-no > i {
  color: #1e50a2;
}

.debt_solution_chart_result,
.debt_solution_chart_next {
  align-items: center;
  border-radius: calc(9 * var(--solution-u));
  display: flex;
  flex-direction: column;
  height: calc(70 * var(--solution-u));
  justify-content: center;
  margin: 0;
  min-height: calc(70 * var(--solution-u));
  padding: calc(7 * var(--solution-u)) calc(10 * var(--solution-u));
  text-align: center;
  width: 90%;
}

.debt_solution_chart_result {
  background: #1e50a2;
  color: #fff;
}

.debt_solution_chart_branch.is-yes .debt_solution_chart_result {
  background: linear-gradient(180deg, #f47b32 0%, #f26522 100%);
  border: 0;
}

.debt_solution_chart_branch.is-yes .debt_solution_chart_result strong {
  color: #fff;
  font-weight: 700;
}

.debt_solution_chart_step_final .debt_solution_chart_branch.is-no .debt_solution_chart_result {
  background: linear-gradient(180deg, #f47b32 0%, #f26522 100%);
}

.debt_solution_chart_step_final .debt_solution_chart_branch.is-no .debt_solution_chart_result strong {
  color: #fff;
}

.debt_solution_chart_result small {
  color: #fff;
  font-size: calc(21 * var(--solution-u));
  font-weight: 500;
  line-height: 1.2;
}

.debt_solution_chart_result strong {
  color: #fff33f;
  font-size: calc(30 * var(--solution-u));
  font-weight: 800;
  line-height: 1.25;
}

.debt_solution_chart_next {
  background: #eef2ff;
  border: calc(2 * var(--solution-u)) solid #aeb8ec;
  color: #1e50a2;
  font-size: calc(21 * var(--solution-u));
  font-weight: 700;
}

.debt_solution_chart_step_final {
  margin-bottom: 0;
  padding-bottom: 0;
}

.debt_solution_chart_note {
  color: #4a5d70;
  font-size: calc(18 * var(--solution-u));
  line-height: 1.65;
  margin: calc(22 * var(--solution-u)) 0 0;
  text-align: center;
}

.debt_solution_chart_followup {
  align-items: center;
  background: transparent;
  border-bottom: calc(2 * var(--solution-u)) dotted rgba(255, 255, 255, 0.72);
  border-radius: 0;
  box-shadow: none;
  color: #fff;
  display: block;
  font-size: calc(28 * var(--solution-u));
  font-weight: 500;
  line-height: 1.65;
  margin: 0 auto calc(20 * var(--solution-u));
  max-width: calc(900 * var(--solution-u));
  min-height: 0;
  padding: calc(5 * var(--solution-u)) calc(8 * var(--solution-u)) calc(19 * var(--solution-u));
  text-align: center;
}

.debt_solution_chart_followup_copy {
  display: block;
  position: relative;
  z-index: 2;
}

.debt_solution_chart_followup_copy > span {
  color: #fff;
  display: block;
  white-space: nowrap;
}

.debt_solution_chart_followup strong {
  color: #fff33f;
  font-weight: 700;
}

@media (max-width: 780px) {
  .debt_solution_chart {
    padding-left: calc(16 * var(--solution-u));
    padding-right: calc(16 * var(--solution-u));
  }

  .debt_solution_chart_question {
    font-size: calc(22 * var(--solution-u));
    gap: calc(9 * var(--solution-u));
    padding-left: calc(12 * var(--solution-u));
    padding-right: calc(12 * var(--solution-u));
  }
}

.debt_solution_tab_box {
  background: linear-gradient(180deg, #1e50a2 0%, #1e50a2 100%);
  border-radius: calc(18 * var(--solution-u));
  box-shadow: 0 calc(7 * var(--solution-u)) calc(16 * var(--solution-u)) rgba(30, 80, 162, 0.2);
  margin: 0 0 calc(58 * var(--solution-u));
  padding: calc(18 * var(--solution-u)) calc(16 * var(--solution-u)) calc(21 * var(--solution-u));
  position: relative;
  z-index: 4;
}

.debt_solution_tab_box::after {
  background: #eef8ff;
  bottom: calc(-58 * var(--solution-u));
  content: "";
  height: calc(58 * var(--solution-u));
  left: calc(-14 * var(--solution-u));
  pointer-events: none;
  position: absolute;
  right: calc(-14 * var(--solution-u));
  z-index: -1;
}

.debt_solution_tabs {
  display: grid;
  gap: calc(10 * var(--solution-u));
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin: 0 0 calc(15 * var(--solution-u));
  position: relative;
  z-index: 4;
}

.debt_solution_tab_guide {
  color: #fff;
  font-size: calc(23 * var(--solution-u));
  font-weight: 500;
  line-height: 1.55;
  margin: 0;
  padding: 0 calc(4 * var(--solution-u));
  position: relative;
  text-align: left;
  z-index: 4;
}

.debt_solution_tab {
  align-items: center;
  background-color: #fff;
  border: calc(3 * var(--solution-u)) solid #d8e5f3;
  border-radius: calc(12 * var(--solution-u));
  box-shadow: 0 calc(4 * var(--solution-u)) calc(8 * var(--solution-u)) rgba(30, 80, 162, 0.08);
  color: #1e50a2;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  font-family: "Noto Sans JP", sans-serif;
  font-size: calc(23 * var(--solution-u));
  font-weight: 600;
  gap: calc(5 * var(--solution-u));
  justify-content: center;
  letter-spacing: 0;
  line-height: 1.15;
  grid-column: span 2;
  min-height: calc(82 * var(--solution-u));
  min-width: 0;
  padding: calc(9 * var(--solution-u)) calc(7 * var(--solution-u));
  position: relative;
  text-align: center;
  transition: background-color 0.2s, border-color 0.2s, color 0.2s, transform 0.2s;
  width: 100%;
}

.debt_solution_tab:nth-child(4) {
  grid-column: 2 / span 2;
}

.debt_solution_tab:nth-child(5) {
  grid-column: 4 / span 2;
}

.debt_solution_tab span {
  align-items: center;
  background-color: #eef8ff;
  border-radius: calc(999 * var(--solution-u));
  color: #1e50a2;
  display: inline-flex;
  font-family: "Oswald", "Noto Sans JP", sans-serif;
  font-size: calc(17 * var(--solution-u));
  font-weight: 700;
  height: calc(25 * var(--solution-u));
  justify-content: center;
  line-height: 1;
  width: calc(42 * var(--solution-u));
}

.debt_solution_tab.is-active {
  background: linear-gradient(180deg, #ff9354 0%, #f26522 100%);
  border-color: #fff33f;
  box-shadow: 0 calc(6 * var(--solution-u)) calc(12 * var(--solution-u)) rgba(125, 52, 9, 0.24);
  color: #fff;
  transform: translateY(calc(-2 * var(--solution-u)));
}

.debt_solution_tab.is-active::after {
  content: none;
}

.debt_solution_tab.is-active span {
  background-color: #fff33f;
  color: #1e50a2;
}

.debt_solution_tab:focus-visible {
  outline: calc(3 * var(--solution-u)) solid #f26522;
  outline-offset: calc(3 * var(--solution-u));
}

/* 手続き選択を縦並びのアコーディオンカードへ */
.debt_solution_tabs {
  display: flex;
  flex-direction: column;
  gap: calc(12 * var(--solution-u));
}

.debt_solution_item {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.debt_solution_tab,
.debt_solution_tab:nth-child(4),
.debt_solution_tab:nth-child(5) {
  grid-column: auto;
}

.debt_solution_tab {
  align-items: center;
  border: calc(3 * var(--solution-u)) solid #b9d8eb;
  border-radius: calc(18 * var(--solution-u));
  box-shadow: 0 calc(6 * var(--solution-u)) calc(12 * var(--solution-u)) rgba(30, 80, 162, 0.12);
  flex-direction: row;
  font-size: calc(32 * var(--solution-u));
  gap: calc(16 * var(--solution-u));
  justify-content: flex-start;
  min-height: calc(118 * var(--solution-u));
  padding: calc(15 * var(--solution-u)) calc(20 * var(--solution-u));
  text-align: left;
  transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.debt_solution_tab:hover {
  border-color: #2f79bd;
  box-shadow: 0 calc(8 * var(--solution-u)) calc(15 * var(--solution-u)) rgba(30, 80, 162, 0.18);
  transform: translateY(calc(-3 * var(--solution-u)));
}

.debt_solution_tab strong {
  color: inherit;
  font-size: calc(34 * var(--solution-u));
  font-weight: 800;
  line-height: 1.15;
}

.debt_solution_tab::after {
  border-bottom: calc(4 * var(--solution-u)) solid currentColor;
  border-right: calc(4 * var(--solution-u)) solid currentColor;
  content: "";
  height: calc(14 * var(--solution-u));
  margin-left: auto;
  transform: rotate(45deg) translateY(calc(-3 * var(--solution-u)));
  transition: transform 180ms ease;
  width: calc(14 * var(--solution-u));
}

.debt_solution_tab.is-active::after {
  content: "";
  transform: rotate(225deg) translateY(calc(-3 * var(--solution-u)));
}

.debt_solution_tab small {
  background: #edf7fd;
  border-radius: calc(999 * var(--solution-u));
  color: #2f79bd;
  font-size: calc(22 * var(--solution-u));
  font-weight: 700;
  line-height: 1;
  padding: calc(8 * var(--solution-u)) calc(13 * var(--solution-u));
}

.debt_solution_tab.is-active {
  background: linear-gradient(145deg, #f47b3e 0%, #f26522 100%);
  border-color: #1c1c1c;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-color: #1c1c1c;
  box-shadow: 0 calc(8 * var(--solution-u)) calc(16 * var(--solution-u)) rgba(125, 52, 9, 0.25);
}

.debt_solution_tab.is-active small {
  background: #fff;
  color: #e4551d;
}

.debt_solution_tab_guide {
  font-size: calc(22 * var(--solution-u));
  text-align: center;
}

.debt_solution_list {
  margin-top: calc(18 * var(--solution-u));
}

.debt_solution_item > .debt_solution_card {
  border-color: #1c1c1c;
  border-top: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  box-shadow: 0 calc(8 * var(--solution-u)) calc(16 * var(--solution-u)) rgba(125, 52, 9, 0.16);
  margin: calc(-12 * var(--solution-u)) 0 calc(10 * var(--solution-u));
  width: 100%;
}

.debt_solution_list[hidden] {
  display: none;
}

.debt_solution_list {
  display: grid;
  gap: calc(48 * var(--solution-u));
}

.debt_solution_list .debt_solution_card[hidden] {
  display: none;
}

.debt_solution_card {
  background-color: #fff;
  border: calc(3 * var(--solution-u)) solid #1e50a2;
  border-radius: calc(18 * var(--solution-u));
  box-shadow: 0 calc(5 * var(--solution-u)) calc(10 * var(--solution-u)) rgba(28, 109, 58, 0.14);
  overflow: visible;
  padding: calc(29 * var(--solution-u)) calc(13 * var(--solution-u)) calc(22 * var(--solution-u));
  position: relative;
}

.debt_solution_card_secondary {
  padding-bottom: calc(18 * var(--solution-u));
}

.debt_solution_tag {
  align-items: center;
  display: flex;
  justify-content: center;
  margin: calc(-48 * var(--solution-u)) auto calc(32 * var(--solution-u));
  position: relative;
  z-index: 2;
}

.debt_solution_tag::after {
  border-left: calc(13 * var(--solution-u)) solid transparent;
  border-right: calc(13 * var(--solution-u)) solid transparent;
  border-top: calc(11 * var(--solution-u)) solid #1e50a2;
  bottom: calc(-10 * var(--solution-u));
  content: "";
  display: block;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
}

.debt_solution_tag span,
.debt_solution_tag b {
  align-items: center;
  color: #fff;
  display: inline-flex;
  font-size: calc(24 * var(--solution-u));
  font-weight: 700;
  height: calc(48 * var(--solution-u));
  justify-content: center;
  line-height: 1;
}

.debt_solution_tag span {
  background-color: #fff;
  border: calc(3 * var(--solution-u)) solid #1e50a2;
  border-right: none;
  border-radius: calc(999 * var(--solution-u)) 0 0 calc(999 * var(--solution-u));
  color: #1e50a2;
  padding: 0 calc(20 * var(--solution-u));
}

.debt_solution_tag b {
  background-color: #1e50a2;
  border-radius: 0 calc(999 * var(--solution-u)) calc(999 * var(--solution-u)) 0;
  color: #fff33f;
  font-size: calc(25 * var(--solution-u));
  font-weight: 700;
  padding: 0 calc(25 * var(--solution-u));
}

.debt_solution_card h3 {
  color: #333;
  font-size: calc(32 * var(--solution-u));
  font-weight: 700;
  line-height: 1.55;
  margin: 0;
  text-align: center;
}

.debt_solution_card h3 span {
  color: #f26522;
}

.debt_solution_card_secondary h3 {
  font-size: calc(29 * var(--solution-u));
  line-height: 1.45;
}

.debt_solution_caption {
  align-items: center;
  border-bottom: none !important;
  color: #333;
  display: flex;
  font-size: calc(27 * var(--solution-u));
  font-weight: 600;
  justify-content: center;
  line-height: 1.5;
  margin: calc(8 * var(--solution-u)) 0 0;
  padding-bottom: calc(10 * var(--solution-u));
}

.debt_solution_card_secondary .debt_solution_caption {
  font-size: calc(24 * var(--solution-u));
  line-height: 1.42;
  margin: calc(7 * var(--solution-u)) 0 0;
  padding-bottom: calc(10 * var(--solution-u));
}

.debt_solution_caption::before {
  background-image: url("../images/solutioncase/debt_solution_arrow_orange.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: calc(30 * var(--solution-u));
  margin-right: calc(9 * var(--solution-u));
  width: calc(30 * var(--solution-u));
}

.debt_solution_graph {
  background-color: #fff7dc;
  margin: 0 calc(-13 * var(--solution-u));
  overflow: hidden;
}

.debt_solution_graph_image {
  background-color: #fff;
  overflow: hidden;
  position: relative;
}

.debt_solution_graph_image_niniseiri {
  aspect-ratio: 1263 / 3038;
}

.debt_solution_graph_image_kojinsaisei {
  aspect-ratio: 1122 / 1402;
}

.debt_solution_graph_image_jikohasan {
  aspect-ratio: 977 / 1610;
}

.debt_solution_graph_image_jikou {
  aspect-ratio: 977 / 1609;
}

.debt_solution_graph_image_kabaraikin {
  aspect-ratio: 723 / 824;
}

.debt_solution_graph_image img {
  display: block;
  width: 100%;
}

.debt_solution_graph_caption {
  background-color: #fff7dc;
  color: #333;
  display: grid;
  gap: calc(13 * var(--solution-u));
  padding: calc(20 * var(--solution-u)) calc(23 * var(--solution-u)) calc(18 * var(--solution-u));
  text-align: center;
}

.debt_solution_graph_caption p {
  color: #333;
  font-size: calc(27 * var(--solution-u));
  font-weight: 600;
  line-height: 1.35;
  margin: 0;
}

.debt_solution_graph_caption strong {
  align-items: baseline;
  background-color: #fff;
  border-radius: calc(10 * var(--solution-u));
  color: #333;
  display: flex;
  font-size: calc(32 * var(--solution-u));
  font-weight: 600;
  justify-content: center;
  letter-spacing: 0.04em;
  line-height: 1.2;
  margin: 0;
  min-height: calc(51 * var(--solution-u));
  padding: calc(8 * var(--solution-u)) calc(10 * var(--solution-u));
}

.debt_solution_graph_caption em {
  color: #f26522;
  font-size: calc(42 * var(--solution-u));
  font-style: normal;
  font-weight: 700;
  line-height: 0.9;
}

.debt_solution_graph_caption_kabaraikin p {
  font-size: calc(24 * var(--solution-u));
  line-height: 1.45;
}

.debt_solution_graph_caption_kabaraikin strong {
  display: block;
  font-size: calc(27 * var(--solution-u));
  line-height: 1.5;
  padding: calc(10 * var(--solution-u)) calc(12 * var(--solution-u));
}

.debt_solution_graph_caption_kabaraikin strong em {
  font-size: calc(32 * var(--solution-u));
  line-height: 1;
}

.debt_solution_graph_caption_kojinsaisei strong {
  display: block;
  font-size: calc(27 * var(--solution-u));
  line-height: 1.45;
}

.debt_solution_graph_caption_jikohasan strong {
  display: block;
  font-size: calc(27 * var(--solution-u));
  line-height: 1.45;
  padding: calc(10 * var(--solution-u)) calc(12 * var(--solution-u));
}

.debt_solution_graph_caption_jikohasan strong em {
  font-size: calc(32 * var(--solution-u));
  line-height: 1;
}

.debt_solution_graph_caption_payment div {
  align-items: center;
  display: grid;
  gap: calc(11 * var(--solution-u));
  grid-template-columns: 1fr calc(28 * var(--solution-u)) 1fr;
}

.debt_solution_graph_caption_payment span,
.debt_solution_graph_caption_payment strong {
  align-items: center;
  background-color: #fff;
  border: calc(2 * var(--solution-u)) solid #1e50a2;
  border-radius: calc(7 * var(--solution-u));
  color: #333;
  display: flex;
  font-size: calc(31 * var(--solution-u));
  font-weight: 600;
  justify-content: center;
  line-height: 1.1;
  min-height: calc(54 * var(--solution-u));
  padding: calc(8 * var(--solution-u)) calc(10 * var(--solution-u));
}

.debt_solution_graph_caption_payment strong {
  border-color: #f26522;
  color: #f26522;
  font-size: calc(33 * var(--solution-u));
}

.debt_solution_graph_caption_payment i {
  align-items: center;
  display: flex;
  flex-shrink: 0;
  font-size: 0;
  font-style: normal;
  height: calc(54 * var(--solution-u));
  justify-content: center;
  line-height: 0;
  overflow: visible;
  position: relative;
  width: calc(28 * var(--solution-u));
}

.debt_solution_graph_caption_payment i::before {
  border-right: calc(6 * var(--solution-u)) solid #f26522;
  border-top: calc(6 * var(--solution-u)) solid #f26522;
  content: "";
  display: block;
  height: calc(16 * var(--solution-u));
  transform: rotate(45deg);
  width: calc(16 * var(--solution-u));
}

.debt_solution_recommend {
  margin: 0;
  padding: 0 calc(12 * var(--solution-u));
}

.debt_solution_recommend p {
  align-items: center;
  background-color: #1e50a2;
  color: #fff;
  display: flex;
  font-size: calc(25 * var(--solution-u));
  font-weight: 700;
  justify-content: center;
  line-height: 1.4;
  margin: 0 calc(-25 * var(--solution-u));
  min-height: calc(48 * var(--solution-u));
  padding: calc(7 * var(--solution-u)) calc(12 * var(--solution-u));
  text-align: center;
  width: auto;
}

.debt_solution_recommend p::before {
  content: none;
}

.debt_solution_recommend ul {
  background-color: #eef8ff;
  border-radius: calc(10 * var(--solution-u));
  display: grid;
  gap: 0;
  margin: calc(12 * var(--solution-u)) 0 0;
  padding: calc(13 * var(--solution-u)) calc(14 * var(--solution-u));
}

.debt_solution_recommend li {
  align-items: flex-start;
  color: #333;
  display: flex;
  font-size: calc(23 * var(--solution-u));
  font-weight: 500;
  gap: calc(12 * var(--solution-u));
  line-height: 1.55;
  padding-left: 0;
  position: relative;
}

.debt_solution_recommend li + li {
  border-top: calc(2 * var(--solution-u)) dotted rgba(30, 80, 162, 0.35);
  margin-top: calc(9 * var(--solution-u));
  padding-top: calc(9 * var(--solution-u));
}

.debt_solution_recommend li::before {
  background-color: #1e50a2;
  border: calc(3 * var(--solution-u)) solid #1e50a2;
  border-radius: 50%;
  content: "";
  flex: 0 0 calc(30 * var(--solution-u));
  height: calc(30 * var(--solution-u));
  margin-top: calc(3 * var(--solution-u));
  position: relative;
  width: calc(30 * var(--solution-u));
}

.debt_solution_recommend li::after {
  border-bottom: calc(4 * var(--solution-u)) solid #fff;
  border-right: calc(4 * var(--solution-u)) solid #fff;
  content: "";
  height: calc(14 * var(--solution-u));
  left: calc(15 * var(--solution-u));
  position: absolute;
  top: calc(18 * var(--solution-u));
  transform: translate(-50%, -50%) rotate(45deg);
  width: calc(8 * var(--solution-u));
}

.debt_solution_recommend li + li::after {
  top: calc(27 * var(--solution-u));
}

.debt_solution_recommend .debt_solution_caution {
  background-color: #fff8dd;
  border: calc(2 * var(--solution-u)) solid #e4c461;
  border-radius: calc(8 * var(--solution-u));
  color: #594b23;
  display: block;
  font-size: calc(18 * var(--solution-u));
  font-weight: 500;
  line-height: 1.55;
  margin: calc(13 * var(--solution-u)) 0 0;
  min-height: 0;
  padding: calc(10 * var(--solution-u)) calc(12 * var(--solution-u));
  text-align: left;
}

/* 漫画カードごとのLINE確認CTA */
.debt_solution_line_cta {
  align-items: center;
  background: linear-gradient(135deg, #05a94f 0%, #06c755 58%, #39d879 100%);
  border: calc(2 * var(--solution-u)) solid rgba(211, 255, 225, 0.8);
  border-radius: calc(18 * var(--solution-u));
  box-shadow: inset 0 calc(-4 * var(--solution-u)) 0 rgba(0, 0, 0, 0.14), 0 calc(6 * var(--solution-u)) calc(12 * var(--solution-u)) rgba(0, 126, 64, 0.24);
  color: #fff;
  display: flex;
  gap: calc(12 * var(--solution-u));
  justify-content: center;
  margin: calc(28 * var(--solution-u)) calc(12 * var(--solution-u)) 0;
  min-height: calc(98 * var(--solution-u));
  padding: calc(16 * var(--solution-u)) calc(60 * var(--solution-u)) calc(16 * var(--solution-u)) calc(24 * var(--solution-u));
  position: relative;
  text-decoration: none;
}

.debt_solution_line_cta::before {
  background: url("../images/cta/debt_cta_line_icon.svg") center / contain no-repeat;
  content: "";
  flex: 0 0 calc(42 * var(--solution-u));
  height: calc(42 * var(--solution-u));
}

.debt_solution_line_cta::after {
  content: none;
}

.debt_solution_line_copy {
  color: #fff;
  display: flex;
  flex-direction: column;
  line-height: 1.15;
  text-align: center;
}

.debt_solution_line_copy small {
  color: #fff;
  font-size: calc(24 * var(--solution-u));
  font-weight: 700;
  line-height: 1.2;
}

.debt_solution_line_copy strong {
  color: #fff;
  font-size: calc(30 * var(--solution-u));
  line-height: 1.2;
}

/* 電話・メールCTAと同じ白丸矢印を、LINEグリーンで */
.debt_solution_line_cta > i {
  display: flex;
  height: calc(38 * var(--solution-u));
  position: absolute;
  right: calc(17 * var(--solution-u));
  width: calc(38 * var(--solution-u));
}

.debt_solution_line_cta > i::after {
  content: none;
}

.debt_solution_line_cta > i img {
  display: block;
  height: 100%;
  width: 100%;
}

.debt_solution_card_secondary .debt_solution_graph {
  display: block;
  min-height: 0;
}

.debt_solution_card_secondary .debt_solution_graph_caption {
  gap: calc(10 * var(--solution-u));
  padding: calc(16 * var(--solution-u)) calc(21 * var(--solution-u)) calc(15 * var(--solution-u));
}

.debt_solution_card_secondary .debt_solution_graph_caption p {
  font-size: calc(24 * var(--solution-u));
}

.debt_solution_card_secondary .debt_solution_graph_caption strong {
  align-items: baseline;
  font-size: calc(29 * var(--solution-u));
  line-height: 1.2;
  min-height: calc(47 * var(--solution-u));
}

.debt_solution_card_secondary .debt_solution_graph_caption em {
  font-size: calc(38 * var(--solution-u));
}

.debt_solution_card_secondary .debt_solution_recommend p {
  font-size: calc(23 * var(--solution-u));
  min-height: calc(44 * var(--solution-u));
}

.debt_solution_card_secondary .debt_solution_recommend ul {
  padding: calc(11 * var(--solution-u)) calc(13 * var(--solution-u));
}

.debt_solution_card_secondary .debt_solution_recommend li {
  font-size: calc(21 * var(--solution-u));
}

.debt_solution_card_secondary .debt_solution_graph_caption_jikou p {
  line-height: 1.45;
}

.debt_solution_card_secondary .debt_solution_graph_caption_jikou strong {
  display: block;
  font-size: calc(25 * var(--solution-u));
  line-height: 1.5;
  min-height: 0;
  padding: calc(10 * var(--solution-u)) calc(12 * var(--solution-u));
}

.debt_solution_card_secondary .debt_solution_graph_caption_jikou strong em {
  font-size: calc(31 * var(--solution-u));
  line-height: 1;
}

.debt_solution_card_secondary .debt_solution_recommend .debt_solution_caution {
  font-size: calc(18 * var(--solution-u));
  min-height: 0;
}

.debt_solution_summary_visual {
  margin: calc(36 * var(--solution-u)) auto 0;
  max-width: calc(520 * var(--solution-u));
  position: relative;
  z-index: 2;
}

.debt_solution_summary_visual img {
  display: block;
  height: auto;
  margin: 0 auto;
  width: 100%;
}

.debt_solution_summary .debt_solution_summary_visual {
  margin: 0 auto calc(24 * var(--solution-u));
  max-width: calc(620 * var(--solution-u));
}

.debt_solution_summary .debt_solution_summary_visual img {
  border-radius: calc(10 * var(--solution-u));
}

.debt_solution_summary {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  margin: 0;
  overflow: visible;
  padding: calc(28 * var(--solution-u)) calc(20 * var(--solution-u));
  position: relative;
  text-align: center;
}

.debt_solution_summary_handshake {
  filter: grayscale(0.05) brightness(1.04) contrast(1.03);
  height: auto;
  left: 39%;
  -webkit-mask-image:
    radial-gradient(ellipse 42% 48% at 60% 66%, #000 20%, rgba(0, 0, 0, 0.72) 48%, rgba(0, 0, 0, 0.28) 72%, transparent 96%),
    linear-gradient(180deg, transparent 0%, #000 10%, #000 62%, rgba(0, 0, 0, 0.48) 76%, transparent 96%);
  -webkit-mask-composite: source-in;
  -webkit-mask-repeat: no-repeat;
  mask-image:
    radial-gradient(ellipse 42% 48% at 60% 66%, #000 20%, rgba(0, 0, 0, 0.72) 48%, rgba(0, 0, 0, 0.28) 72%, transparent 96%),
    linear-gradient(180deg, transparent 0%, #000 10%, #000 62%, rgba(0, 0, 0, 0.48) 76%, transparent 96%);
  mask-composite: intersect;
  mask-repeat: no-repeat;
  max-width: none;
  mix-blend-mode: normal;
  opacity: 0.68;
  pointer-events: none;
  position: absolute;
  top: calc(-285 * var(--solution-u));
  transform: translateX(-50%);
  width: calc(760 * var(--solution-u));
  z-index: 0;
}

.debt_solution_summary > :not(.debt_solution_summary_handshake) {
  position: relative;
  z-index: 1;
}

.debt_solution_summary_arrow {
  align-items: center;
  display: flex;
  justify-content: center;
  margin: calc(30 * var(--solution-u)) 0 calc(12 * var(--solution-u));
  padding: calc(10 * var(--solution-u)) 0;
}

.debt_solution_summary_arrow span {
  align-items: center;
  display: flex;
  flex-direction: column;
  width: calc(48 * var(--solution-u));
}

.debt_solution_summary_arrow i {
  border-bottom: calc(6 * var(--solution-u)) solid #fff;
  border-right: calc(6 * var(--solution-u)) solid #fff;
  display: block;
  height: calc(21 * var(--solution-u));
  transform: rotate(45deg);
  width: calc(21 * var(--solution-u));
}

.debt_solution_summary_arrow i + i {
  margin-top: calc(3 * var(--solution-u));
}

.debt_solution_summary_label {
  background-color: #fff33f;
  border-radius: calc(999 * var(--solution-u));
  color: #1e50a2;
  display: inline-block;
  font-size: calc(24 * var(--solution-u));
  font-weight: 700;
  line-height: 1.35;
  margin: 0 auto calc(16 * var(--solution-u));
  padding: calc(8 * var(--solution-u)) calc(18 * var(--solution-u));
}

.debt_solution_summary_heading {
  color: #fff;
  font-size: calc(28 * var(--solution-u));
  font-weight: 700;
  line-height: 1.5;
  margin: 0;
  text-align: center;
}

.debt_solution_summary_heading span {
  color: inherit;
  display: block;
}

.debt_solution_summary_heading em {
  color: #fff33f;
  font-style: normal;
}

.debt_solution_summary_heading span:last-child::after {
  content: none;
}

.debt_solution_summary_methods {
  margin: calc(18 * var(--solution-u)) auto 0;
  max-width: calc(840 * var(--solution-u));
}

.debt_solution_summary .debt_solution_summary_methods_intro {
  border-bottom: 0;
  color: #fff;
  font-size: calc(27 * var(--solution-u));
  font-weight: 600;
  line-height: 1.35;
  margin: 0 0 calc(15 * var(--solution-u));
  padding-bottom: 0;
  text-align: center;
  white-space: nowrap;
}

.debt_solution_summary_methods_intro strong {
  color: #fff33f;
  font-size: calc(28 * var(--solution-u));
  font-weight: 700;
  margin-left: 0.25em;
}

.debt_solution_summary_methods ul {
  display: grid;
  gap: calc(10 * var(--solution-u));
  grid-template-columns: repeat(6, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}

.debt_solution_summary_methods li {
  align-items: center;
  background: #fff;
  border: 0;
  border-radius: calc(9 * var(--solution-u));
  box-shadow: none;
  color: #1e50a2;
  display: flex;
  font-size: calc(25 * var(--solution-u));
  font-weight: 700;
  grid-column: span 2;
  justify-content: center;
  min-height: calc(62 * var(--solution-u));
  padding: calc(10 * var(--solution-u)) calc(13 * var(--solution-u));
  text-align: center;
}

.debt_solution_summary_methods li::before {
  content: none;
}

.debt_solution_summary_methods li:nth-child(4) {
  grid-column: 1 / span 3;
}

.debt_solution_summary_methods li:nth-child(5) {
  grid-column: 4 / span 3;
}

.debt_solution_summary .debt_solution_summary_consult {
  background: transparent;
  border: 0;
  border-radius: calc(10 * var(--solution-u));
  color: #fff;
  font-size: calc(26 * var(--solution-u));
  font-weight: 600;
  line-height: 1.35;
  margin: calc(15 * var(--solution-u)) 0 0;
  padding: 0;
  text-align: center;
  white-space: nowrap;
}

.debt_solution_summary_consult strong {
  color: #fff33f;
  display: inline;
  font-size: calc(28 * var(--solution-u));
  font-weight: 700;
  margin-left: 0.25em;
}

.debt_solution_line {
  align-items: center;
  background-color: rgb(30, 80, 162);
  border: calc(2 * var(--solution-u)) solid rgba(255, 255, 255, 0.75);
  border-radius: calc(999 * var(--solution-u));
  box-shadow: 0 calc(3 * var(--solution-u)) calc(6 * var(--solution-u)) rgba(16, 60, 130, 0.18);
  display: flex;
  min-height: calc(72 * var(--solution-u));
  justify-content: center;
  margin: calc(19 * var(--solution-u)) calc(4 * var(--solution-u)) 0;
  padding: calc(10 * var(--solution-u)) calc(18 * var(--solution-u));
  position: relative;
}

.debt_solution_line img {
  height: calc(32 * var(--solution-u));
  margin-right: calc(10 * var(--solution-u));
  object-fit: contain;
  width: calc(36 * var(--solution-u));
}

.debt_solution_line span {
  color: #fff;
  font-size: calc(27 * var(--solution-u));
  font-weight: 500;
  letter-spacing: calc(2.3 * var(--solution-u));
  line-height: 1;
  white-space: nowrap;
}

.debt_solution_line .debt_solution_line_action {
  height: calc(31 * var(--solution-u));
  margin: 0 0 0 calc(10 * var(--solution-u));
  width: calc(36 * var(--solution-u));
}
/* 解決方法セクション閉じ */

/* 弁護士におまかせセクション */
.debt_delegate {
  --delegate-u: min(0.15625vw, 1.21875px);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.78) 0%, rgba(255, 255, 255, 0) calc(190 * var(--delegate-u))),
    #fbfce8;
  font-family: "Noto Sans JP", sans-serif;
  overflow: hidden;
  padding: 0 calc(20 * var(--delegate-u)) calc(56 * var(--delegate-u));
}

.debt_delegate_inner {
  margin: 0 auto;
  width: 100%;
}

.debt_delegate_title {
  background: linear-gradient(135deg, #e8752a 0%, #dc6520 70%, #d95a1a 100%);
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: calc(42 * var(--delegate-u));
  font-weight: 700;
  letter-spacing: calc(2 * var(--delegate-u));
  line-height: 1.5;
  margin: 0 calc(-20 * var(--delegate-u)) calc(46 * var(--delegate-u));
  padding: calc(44 * var(--delegate-u)) calc(20 * var(--delegate-u)) calc(46 * var(--delegate-u));
  position: relative;
  text-align: center;
  text-shadow: calc(3 * var(--delegate-u)) calc(3 * var(--delegate-u)) 0 rgba(126, 50, 8, 0.34);
}

.debt_delegate_title::before {
  background:
    repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.035) 0 calc(8 * var(--delegate-u)), transparent calc(8 * var(--delegate-u)) calc(76 * var(--delegate-u))),
    linear-gradient(120deg, rgba(255, 255, 255, 0.13) 0%, transparent 34%, rgba(160, 55, 12, 0.11) 100%);
  content: "";
  inset: 0;
  position: absolute;
}

.debt_delegate_title span {
  color: inherit;
  display: block;
  position: relative;
  z-index: 2;
}

.debt_delegate_title em {
  color: #fff33f;
  font-style: normal;
  font-weight: 700;
}

.debt_delegate_lead {
  margin-bottom: calc(42 * var(--delegate-u));
  position: relative;
}

.debt_delegate_talk {
  align-items: center;
  display: flex;
  gap: calc(22 * var(--delegate-u));
  position: relative;
}

.debt_delegate_talk + .debt_delegate_talk {
  margin-top: calc(26 * var(--delegate-u));
}

.debt_delegate_talk_lawyer {
  flex-direction: row-reverse;
}

.debt_delegate_avatar {
  background-color: #fff;
  border: calc(4 * var(--delegate-u)) solid #30454f;
  border-radius: 50%;
  box-shadow: 0 calc(4 * var(--delegate-u)) calc(8 * var(--delegate-u)) rgba(22, 104, 61, 0.12);
  flex: 0 0 calc(104 * var(--delegate-u));
  height: calc(104 * var(--delegate-u));
  margin-bottom: calc(26 * var(--delegate-u));
  position: relative;
  width: calc(104 * var(--delegate-u));
  overflow: hidden;
}

.debt_delegate_avatar::after {
  background-color: #fff;
  border: calc(2 * var(--delegate-u)) solid #1e50a2;
  border-radius: calc(999 * var(--delegate-u));
  bottom: calc(-28 * var(--delegate-u));
  color: #1e50a2;
  content: attr(data-label);
  font-size: calc(18 * var(--delegate-u));
  font-weight: 600;
  left: 50%;
  line-height: 1;
  padding: calc(5 * var(--delegate-u)) calc(11 * var(--delegate-u));
  position: absolute;
  transform: translateX(-50%);
  white-space: nowrap;
}

.debt_delegate_avatar img {
  height: 100%;
  object-fit: cover;
  object-position: center center;
  width: 100%;
}

.debt_delegate_talk_lawyer .debt_delegate_avatar {
  border-color: #f26522;
}

.debt_delegate_talk_lawyer .debt_delegate_avatar::after {
  border-color: #f26522;
  color: #f26522;
}

.debt_delegate_talk p {
  color: #1f2733;
  flex: 1;
  font-size: calc(24 * var(--delegate-u));
  font-weight: 400;
  line-height: 1.62;
  padding: calc(24 * var(--delegate-u)) calc(24 * var(--delegate-u));
  position: relative;
  width: auto;
}

.debt_delegate_talk_user p {
  background:
    linear-gradient(rgba(30, 80, 162, 0.035), rgba(30, 80, 162, 0.035)),
    #fff;
  border: calc(3 * var(--delegate-u)) solid #30454f;
  border-radius: calc(18 * var(--delegate-u));
}

.debt_delegate_talk_lawyer p {
  background:
    linear-gradient(rgba(30, 80, 162, 0.045), rgba(30, 80, 162, 0.045)),
    #fff;
  border: calc(3 * var(--delegate-u)) solid #f26522;
  border-radius: calc(18 * var(--delegate-u));
  font-size: calc(24 * var(--delegate-u));
  line-height: 1.62;
  padding-left: calc(23 * var(--delegate-u));
  padding-right: calc(19 * var(--delegate-u));
}

.debt_delegate_talk_lawyer p strong {
  color: #f26522;
  font-weight: 700;
}

.debt_delegate_talk p::before {
  border-top: calc(15 * var(--delegate-u)) solid transparent;
  border-bottom: calc(15 * var(--delegate-u)) solid transparent;
  content: "";
  position: absolute;
  top: calc(32 * var(--delegate-u));
}

.debt_delegate_talk_user p::before {
  border-right: calc(18 * var(--delegate-u)) solid #30454f;
  left: calc(-17 * var(--delegate-u));
}

.debt_delegate_talk_lawyer p::before {
  border-left: calc(18 * var(--delegate-u)) solid #f26522;
  right: calc(-17 * var(--delegate-u));
}

.debt_delegate_talk p::after {
  border-top: calc(12 * var(--delegate-u)) solid transparent;
  border-bottom: calc(12 * var(--delegate-u)) solid transparent;
  content: "";
  position: absolute;
  top: calc(35 * var(--delegate-u));
}

.debt_delegate_talk_user p::after {
  border-right: calc(14 * var(--delegate-u)) solid #f7fbff;
  left: calc(-10 * var(--delegate-u));
}

.debt_delegate_talk_lawyer p::after {
  border-left: calc(14 * var(--delegate-u)) solid #f7fbff;
  right: calc(-10 * var(--delegate-u));
}

.debt_delegate_photo {
  border-radius: calc(18 * var(--delegate-u)) calc(18 * var(--delegate-u)) 0 0;
  height: calc(310 * var(--delegate-u));
  isolation: isolate;
  margin: 0 0 calc(-22 * var(--delegate-u));
  overflow: hidden;
  position: relative;
}

.debt_delegate_photo::before {
  background:
    linear-gradient(90deg, #fbfce8 0%, rgba(251, 252, 232, 0.86) 4%, rgba(251, 252, 232, 0) 17%, rgba(251, 252, 232, 0) 83%, rgba(251, 252, 232, 0.8) 96%, #fbfce8 100%),
    linear-gradient(180deg, rgba(251, 252, 232, 0.68) 0%, rgba(251, 252, 232, 0) 18%, rgba(251, 252, 232, 0) 76%, rgba(251, 252, 232, 0.7) 100%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 2;
}

.debt_delegate_photo::after {
  background: linear-gradient(180deg, rgba(251, 252, 232, 0) 0%, #fbfce8 100%);
  bottom: 0;
  content: "";
  height: calc(120 * var(--delegate-u));
  left: 0;
  position: absolute;
  right: 0;
  z-index: 3;
}

.debt_delegate_photo img {
  display: block;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  position: relative;
  width: 100%;
  z-index: 1;
}

.debt_delegate_cards {
  display: grid;
  gap: calc(18 * var(--delegate-u));
  margin: 0 0 calc(30 * var(--delegate-u));
  position: relative;
  z-index: 2;
}

.debt_delegate_cards li {
  background-color: #fff;
  border: calc(3 * var(--delegate-u)) solid rgba(242, 101, 34, 0.72);
  border-radius: calc(18 * var(--delegate-u));
  box-shadow: 0 calc(5 * var(--delegate-u)) calc(13 * var(--delegate-u)) rgba(126, 92, 63, 0.1);
  min-height: calc(164 * var(--delegate-u));
  padding: calc(34 * var(--delegate-u)) calc(28 * var(--delegate-u)) calc(28 * var(--delegate-u));
  position: relative;
  overflow: hidden;
}

.debt_delegate_cards li::after {
  color: rgba(42, 60, 47, 0.07);
  content: "”";
  font-family: Georgia, serif;
  font-size: calc(70 * var(--delegate-u));
  line-height: 1;
  position: absolute;
  right: calc(22 * var(--delegate-u));
  top: calc(20 * var(--delegate-u));
}

.debt_delegate_cards li::before {
  color: rgba(42, 60, 47, 0.07);
  content: "“";
  font-family: Georgia, serif;
  font-size: calc(70 * var(--delegate-u));
  left: calc(22 * var(--delegate-u));
  line-height: 1;
  position: absolute;
  top: calc(20 * var(--delegate-u));
}

.debt_delegate_icon {
  display: none;
}

.debt_delegate_cards h3 {
  border-bottom: 0;
  color: #f26522;
  font-size: calc(29 * var(--delegate-u));
  font-weight: 700;
  letter-spacing: calc(1.2 * var(--delegate-u));
  line-height: 1.35;
  margin: 0 0 calc(14 * var(--delegate-u));
  padding: 0 calc(16 * var(--delegate-u));
  position: relative;
  text-align: center;
  z-index: 2;
}

.debt_delegate_cards p {
  color: #2f3540;
  font-size: calc(24 * var(--delegate-u));
  font-weight: 400;
  letter-spacing: calc(1.3 * var(--delegate-u));
  line-height: 1.64;
  position: relative;
  z-index: 2;
}

.debt_delegate_cards strong {
  background: linear-gradient(transparent 54%, #fff33f 54%);
  color: #f26522;
  font-weight: 700;
  padding: 0 calc(2 * var(--delegate-u));
}

.debt_delegate_dots {
  align-items: center;
  display: flex;
  justify-content: center;
  margin: calc(-2 * var(--delegate-u)) auto calc(31 * var(--delegate-u));
  padding: calc(8 * var(--delegate-u)) 0;
}

.debt_delegate_dots span {
  align-items: center;
  display: flex;
  flex-direction: column;
  width: calc(48 * var(--delegate-u));
}

.debt_delegate_dots i {
  border-bottom: calc(6 * var(--delegate-u)) solid #f26522;
  border-right: calc(6 * var(--delegate-u)) solid #f26522;
  display: block;
  height: calc(20 * var(--delegate-u));
  transform: rotate(45deg);
  width: calc(20 * var(--delegate-u));
}

.debt_delegate_dots i + i {
  margin-top: calc(3 * var(--delegate-u));
}

.debt_delegate_compare h3 {
  align-items: center;
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color: #102c59;
  display: flex;
  flex-direction: column;
  font-size: calc(39 * var(--delegate-u));
  font-weight: 800;
  line-height: 1.3;
  margin: 0 auto calc(34 * var(--delegate-u));
  padding: 0;
  position: relative;
  text-align: center;
  width: 100%;
}

.debt_delegate_compare h3::before,
.debt_delegate_compare h3::after {
  content: none;
}

.debt_delegate_compare h3 span {
  background: #f26522;
  border-radius: calc(9 * var(--delegate-u));
  box-shadow: 0 calc(4 * var(--delegate-u)) calc(10 * var(--delegate-u)) rgba(191, 78, 25, 0.18);
  color: #fff;
  display: inline-block;
  font-size: calc(29 * var(--delegate-u));
  font-weight: 700;
  line-height: 1;
  margin-bottom: calc(18 * var(--delegate-u));
  padding: calc(13 * var(--delegate-u)) calc(31 * var(--delegate-u));
  position: relative;
  z-index: 2;
}

.debt_delegate_compare h3 span::after {
  border-left: calc(10 * var(--delegate-u)) solid transparent;
  border-right: calc(10 * var(--delegate-u)) solid transparent;
  border-top: calc(11 * var(--delegate-u)) solid #f26522;
  bottom: calc(-10 * var(--delegate-u));
  content: "";
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
}

.debt_delegate_compare h3 strong {
  display: block;
  font-size: inherit;
  font-weight: 700;
  line-height: inherit;
  position: relative;
  white-space: nowrap;
}

.debt_delegate_compare h3 strong::after {
  content: none;
}

.debt_delegate_scroll {
  background: linear-gradient(90deg, #1e50a2 0 50%, #f26522 50% 100%);
  border-radius: calc(18 * var(--delegate-u));
  box-shadow: 0 calc(8 * var(--delegate-u)) calc(20 * var(--delegate-u)) rgba(24, 49, 82, 0.18);
  margin: 0;
  overflow: hidden;
  padding: calc(7 * var(--delegate-u));
  position: relative;
}

.debt_delegate_scroll::before {
  background: #dce8f3;
  bottom: 0;
  content: "";
  left: 50%;
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  width: calc(2 * var(--delegate-u));
  z-index: 1;
}

.debt_delegate_compare_visuals {
  border-radius: calc(12 * var(--delegate-u)) calc(12 * var(--delegate-u)) 0 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  overflow: hidden;
  position: relative;
  z-index: 2;
}

.debt_delegate_compare_visuals::after {
  content: none;
}

.debt_delegate_compare_visuals figure {
  display: grid;
  grid-template-rows: calc(250 * var(--delegate-u)) auto;
  height: auto;
  margin: 0;
  overflow: hidden;
  position: relative;
}

.debt_delegate_compare_visuals figure:first-child {
  background: #c9ced5;
}

.debt_delegate_compare_visuals figure:last-child {
  background: #f4a06d;
}

.debt_delegate_compare_visuals img {
  display: block;
  height: calc(250 * var(--delegate-u));
  object-fit: cover;
  object-position: center 28%;
  opacity: 0.78;
  width: 100%;
}

.debt_delegate_compare_visuals figcaption {
  align-items: center;
  background: #174da3;
  color: #fff;
  display: flex;
  font-size: calc(27 * var(--delegate-u));
  font-weight: 700;
  justify-content: center;
  line-height: 1.4;
  min-height: calc(112 * var(--delegate-u));
  padding: calc(16 * var(--delegate-u)) calc(12 * var(--delegate-u));
  position: static;
  text-align: center;
}

.debt_delegate_compare_visuals figure:last-child figcaption {
  background: rgba(242, 101, 34, 0.95);
}

.debt_delegate_compare_sides {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0 0 calc(28 * var(--delegate-u));
  overflow: hidden;
  border-radius: calc(9 * var(--delegate-u));
}

.debt_delegate_compare_sides span {
  align-items: center;
  background: #fff;
  color: #384b5d;
  display: flex;
  font-size: calc(20 * var(--delegate-u));
  font-weight: 700;
  justify-content: center;
  line-height: 1.35;
  min-height: calc(58 * var(--delegate-u));
  padding: calc(8 * var(--delegate-u));
  text-align: center;
}

.debt_delegate_compare_sides span:last-child {
  background: #1e63ad;
  color: #fff;
}

.debt_delegate_compare_rows {
  display: grid;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 2;
}

.debt_delegate_compare_rows > li {
  border-top: calc(1 * var(--delegate-u)) solid #d7e1ea;
  margin: 0;
}

.debt_delegate_compare_rows h4 {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.debt_delegate_compare_rows h4 em {
  color: #f26522;
  font-style: normal;
  font-weight: 800;
}

.debt_delegate_compare_pair {
  border-radius: 0;
  box-shadow: none;
  display: grid;
  gap: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-height: calc(124 * var(--delegate-u));
  overflow: visible;
  position: relative;
}

.debt_delegate_compare_pair::before {
  background: linear-gradient(180deg, #d7e1ea 0%, #9fb9d2 50%, #d7e1ea 100%);
  content: "";
  height: 100%;
  left: 50%;
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  width: calc(2 * var(--delegate-u));
  z-index: 3;
}

.debt_delegate_compare_pair::after {
  align-items: center;
  background: #174da3;
  border: calc(3 * var(--delegate-u)) solid #fff;
  border-radius: 50%;
  box-sizing: border-box;
  color: #fff;
  content: "›";
  display: flex;
  font-family: Arial, sans-serif;
  font-size: calc(34 * var(--delegate-u));
  font-weight: 700;
  height: calc(42 * var(--delegate-u));
  justify-content: center;
  left: 50%;
  line-height: 1;
  padding: 0 0 calc(4 * var(--delegate-u)) calc(2 * var(--delegate-u));
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(42 * var(--delegate-u));
  z-index: 4;
}

.debt_delegate_compare_pair p {
  align-items: center;
  background: #fff;
  color: #18212b;
  display: flex;
  font-size: calc(23 * var(--delegate-u));
  font-weight: 600;
  justify-content: center;
  line-height: 1.5;
  margin: 0;
  min-height: calc(124 * var(--delegate-u));
  padding: calc(18 * var(--delegate-u)) calc(13 * var(--delegate-u));
  text-align: center;
}

.debt_delegate_compare_pair p:last-child {
  background: #fff;
  color: #18212b;
  padding-left: calc(13 * var(--delegate-u));
  position: relative;
}

.debt_delegate_compare_pair p:first-child {
  border-left: 0;
}

.debt_delegate_compare_pair p:last-child {
  border-right: 0;
}

.debt_delegate_compare_rows > li:last-child .debt_delegate_compare_pair p:first-child {
  border-bottom-left-radius: calc(10 * var(--delegate-u));
  border-bottom: 0;
}

.debt_delegate_compare_rows > li:last-child .debt_delegate_compare_pair p:last-child {
  border-bottom-right-radius: calc(10 * var(--delegate-u));
  border-bottom: 0;
}

.debt_delegate_compare_pair p:last-child span {
  color: #18212b;
}

.debt_delegate_compare_pair p:last-child::before {
  content: none;
}

.debt_delegate_compare_pair strong {
  color: #f26522;
  font-weight: 700;
}

.debt_delegate_compare_summary {
  background: linear-gradient(145deg, #2f79bd 0%, #1e50a2 68%, #173e6b 100%);
  border: 0;
  border-radius: calc(18 * var(--delegate-u));
  box-shadow: 0 calc(7 * var(--delegate-u)) calc(16 * var(--delegate-u)) rgba(30, 80, 162, 0.2);
  margin: calc(34 * var(--delegate-u)) 0 0;
  padding: calc(27 * var(--delegate-u)) calc(24 * var(--delegate-u));
  position: relative;
  text-align: left;
  text-shadow: none;
}

.debt_delegate_compare_summary::before {
  border-bottom: calc(12 * var(--delegate-u)) solid #2f79bd;
  border-left: calc(13 * var(--delegate-u)) solid transparent;
  border-right: calc(13 * var(--delegate-u)) solid transparent;
  content: "";
  left: 50%;
  position: absolute;
  top: calc(-12 * var(--delegate-u));
  transform: translateX(-50%);
}

.debt_delegate_compare_summary p {
  color: #fff;
  font-size: calc(25 * var(--delegate-u));
  font-weight: 400;
  line-height: 1.65;
  margin: 0;
}

.debt_delegate_compare_summary p:first-child,
.debt_delegate_compare_summary p:last-child {
  margin-left: auto;
  margin-right: auto;
  max-width: calc(760 * var(--delegate-u));
}

.debt_delegate_compare_summary p + p {
  margin-top: calc(16 * var(--delegate-u));
}

.debt_delegate_compare_summary_lead {
  background: #fff33f;
  border-radius: calc(999 * var(--delegate-u));
  color: #1e50a2 !important;
  display: table;
  font-size: calc(28 * var(--delegate-u)) !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  margin: calc(20 * var(--delegate-u)) auto !important;
  padding: calc(8 * var(--delegate-u)) calc(28 * var(--delegate-u));
  text-align: center;
}

.debt_delegate_compare_summary strong {
  color: #fff33f;
  font-weight: 700;
}

.debt_delegate_compare_summary b {
  background: #fff33f;
  border-radius: calc(999 * var(--delegate-u));
  box-shadow: 0 calc(3 * var(--delegate-u)) calc(8 * var(--delegate-u)) rgba(0, 30, 78, 0.18);
  color: #1e50a2;
  display: inline-block;
  font-size: calc(25 * var(--delegate-u));
  font-weight: 700;
  line-height: 1.35;
  margin: 0 auto calc(7 * var(--delegate-u));
  padding: calc(7 * var(--delegate-u)) calc(28 * var(--delegate-u));
}

.debt_delegate_compare_bottom {
  display: grid;
  gap: calc(14 * var(--delegate-u));
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 0 calc(10 * var(--delegate-u)) calc(3 * var(--delegate-u));
  position: relative;
  z-index: 2;
}

.debt_delegate_compare_bottom figure {
  background: #fff;
  height: calc(150 * var(--delegate-u));
  margin: 0;
  overflow: hidden;
}

.debt_delegate_compare_bottom img {
  display: block;
  height: 100%;
  object-fit: cover;
  object-position: center 44%;
  width: 100%;
}

.debt_delegate_compare_bottom figure:first-child img {
  filter: grayscale(0.65) saturate(0.65);
}

.debt_delegate_scroll::-webkit-scrollbar {
  height: calc(8 * var(--delegate-u));
}

.debt_delegate_scroll::-webkit-scrollbar-thumb {
  background-color: rgba(242, 101, 34, 0.46);
  border-radius: calc(999 * var(--delegate-u));
}

.debt_delegate_table {
  align-items: start;
  background-color: transparent;
  border-radius: 0;
  box-shadow: none;
  display: grid;
  gap: calc(3 * var(--delegate-u));
  grid-template-columns: calc(90 * var(--delegate-u)) calc(248 * var(--delegate-u)) calc(248 * var(--delegate-u));
  min-width: 0;
  width: 100%;
  overflow: visible;
  position: relative;
}

.debt_delegate_table::before {
  content: none;
}

.debt_delegate_compare_labels {
  background-color: transparent;
  padding-top: calc(244 * var(--delegate-u));
}

.debt_delegate_compare_labels li {
  align-items: center;
  background-image: linear-gradient(to right, rgba(122, 122, 122, 0.33) 0 calc(2 * var(--delegate-u)), transparent calc(2 * var(--delegate-u)) calc(8 * var(--delegate-u)));
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: calc(8 * var(--delegate-u)) calc(2 * var(--delegate-u));
  color: #111;
  display: flex;
  font-size: calc(20 * var(--delegate-u));
  font-weight: 700;
  justify-content: center;
  line-height: 1.32;
  height: calc(96 * var(--delegate-u));
  min-height: 0;
}

.debt_delegate_col {
  border-radius: calc(14 * var(--delegate-u));
  overflow: visible;
  padding: 0 calc(5 * var(--delegate-u)) calc(10 * var(--delegate-u));
  position: relative;
  z-index: 1;
}

.debt_delegate_col::before {
  background-color: #e43a35;
  border-radius: 50%;
  box-shadow: 0 calc(2 * var(--delegate-u)) calc(2 * var(--delegate-u)) rgba(92, 20, 15, 0.24);
  content: "";
  height: calc(14 * var(--delegate-u));
  left: 50%;
  position: absolute;
  top: calc(-14 * var(--delegate-u));
  transform: translateX(-50%);
  width: calc(14 * var(--delegate-u));
  z-index: 4;
}

.debt_delegate_col::after {
  background-color: #c82b27;
  content: "";
  height: calc(18 * var(--delegate-u));
  left: 50%;
  position: absolute;
  top: calc(-6 * var(--delegate-u));
  transform: translateX(-50%);
  width: calc(3 * var(--delegate-u));
  z-index: 4;
}

.debt_delegate_col_head {
  color: #fff;
  font-size: calc(20 * var(--delegate-u));
  font-weight: 600;
  line-height: 1.35;
  height: calc(84 * var(--delegate-u));
  min-height: 0;
  margin-bottom: calc(12 * var(--delegate-u));
  padding: calc(18 * var(--delegate-u)) calc(8 * var(--delegate-u)) calc(14 * var(--delegate-u));
  position: relative;
  text-align: center;
}

.debt_delegate_self .debt_delegate_col_head {
  background-color: #9a9a9a;
  color: #fff;
}

.debt_delegate_lawyer .debt_delegate_col_head {
  background-color: #f26522;
  padding-right: calc(8 * var(--delegate-u));
}

.debt_delegate_lawyer .debt_delegate_col_head::after {
  content: "";
  display: none;
}

.debt_delegate_self {
  background-color: #9a9a9a;
}

.debt_delegate_lawyer {
  background-color: #f26522;
  margin-top: calc(-22 * var(--delegate-u));
  padding-bottom: calc(10 * var(--delegate-u));
  padding-top: calc(22 * var(--delegate-u));
}

.debt_delegate_col ul {
  background-color: #fff;
  border-radius: 0 0 calc(10 * var(--delegate-u)) calc(10 * var(--delegate-u));
  overflow: hidden;
}

.debt_delegate_compare_visual {
  align-items: center;
  background-color: #fff;
  border-radius: calc(10 * var(--delegate-u)) calc(10 * var(--delegate-u)) 0 0;
  display: flex;
  height: calc(148 * var(--delegate-u));
  justify-content: center;
  overflow: hidden;
  padding: calc(8 * var(--delegate-u));
}

.debt_delegate_compare_visual img {
  height: 100%;
  object-fit: contain;
  width: 100%;
}

.debt_delegate_col li {
  align-items: center;
  background-color: #fff;
  background-image: linear-gradient(to right, rgba(122, 122, 122, 0.33) 0 calc(2 * var(--delegate-u)), transparent calc(2 * var(--delegate-u)) calc(8 * var(--delegate-u)));
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: calc(8 * var(--delegate-u)) calc(2 * var(--delegate-u));
  border-bottom: 0;
  color: #222;
  display: flex;
  font-size: calc(19 * var(--delegate-u));
  font-weight: 600;
  justify-content: center;
  line-height: 1.46;
  height: calc(96 * var(--delegate-u));
  min-height: 0;
  padding: calc(9 * var(--delegate-u)) calc(6 * var(--delegate-u));
  position: relative;
  text-align: center;
}

.debt_delegate_self li {
  padding-right: calc(7 * var(--delegate-u));
}

.debt_delegate_lawyer li {
  background-color: #fff;
  color: #f26522;
  font-size: calc(19 * var(--delegate-u));
  gap: calc(5 * var(--delegate-u));
  justify-content: center;
  line-height: 1.42;
  padding-left: calc(8 * var(--delegate-u));
  padding-right: calc(8 * var(--delegate-u));
  text-align: center;
}

.debt_delegate_lawyer li:nth-child(even) {
  background-color: #fff9bd;
}

.debt_delegate_lawyer li::before {
  color: #f26522;
  content: "◎";
  flex: 0 0 auto;
  font-size: calc(28 * var(--delegate-u));
  font-weight: 700;
  line-height: 1;
}

.debt_delegate_qa {
  background:
    linear-gradient(120deg, rgba(255, 255, 255, 0.13) 0%, transparent 34%, rgba(160, 55, 12, 0.11) 100%),
    linear-gradient(135deg, #e8752a 0%, #dc6520 70%, #d95a1a 100%);
  border-radius: calc(26 * var(--delegate-u));
  box-shadow: 0 calc(7 * var(--delegate-u)) calc(16 * var(--delegate-u)) rgba(126, 92, 63, 0.12);
  margin: calc(56 * var(--delegate-u)) calc(-4 * var(--delegate-u)) calc(34 * var(--delegate-u));
  padding: calc(52 * var(--delegate-u)) calc(22 * var(--delegate-u)) calc(24 * var(--delegate-u));
  position: relative;
  overflow: visible;
}

.debt_delegate_qa_head {
  align-items: center;
  display: flex;
  gap: calc(2 * var(--delegate-u));
  justify-content: center;
  left: calc(22 * var(--delegate-u));
  margin: 0;
  position: absolute;
  right: calc(22 * var(--delegate-u));
  top: calc(-26 * var(--delegate-u));
  z-index: 4;
}

.debt_delegate_qa_head img {
  display: block;
  flex: 0 0 calc(72 * var(--delegate-u));
  height: calc(72 * var(--delegate-u));
  margin-right: calc(-11 * var(--delegate-u));
  position: relative;
  width: calc(72 * var(--delegate-u));
  z-index: 5;
}

.debt_delegate_qa h4 {
  background-color: #fff;
  border: calc(3 * var(--delegate-u)) solid #f26522;
  border-radius: calc(999 * var(--delegate-u));
  box-shadow: 0 calc(5 * var(--delegate-u)) calc(12 * var(--delegate-u)) rgba(126, 92, 63, 0.12);
  color: #222;
  flex: none;
  font-size: calc(27 * var(--delegate-u));
  font-weight: 700;
  line-height: 1.36;
  margin: 0;
  padding: calc(13 * var(--delegate-u)) calc(22 * var(--delegate-u));
  text-align: center;
  text-shadow: none;
  white-space: nowrap;
}

.debt_delegate_qa h4 span {
  color: #222;
}

.debt_delegate_qa h4 .debt_delegate_qa_hl {
  color: #f26522;
}

.debt_delegate_qa_answer {
  background-color: transparent;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
}

.debt_delegate_qa_answer_top {
  align-items: stretch;
  display: grid;
  gap: calc(24 * var(--delegate-u));
  grid-template-columns: 1fr calc(210 * var(--delegate-u));
  margin-bottom: calc(22 * var(--delegate-u));
}

.debt_delegate_qa_answer_top p {
  align-items: center;
  background-color: transparent;
  border-left: 0;
  border-radius: 0;
  color: #fff;
  display: flex;
  font-size: calc(27 * var(--delegate-u));
  font-weight: 500;
  line-height: 1.7;
  margin: 0;
  padding: calc(6 * var(--delegate-u)) 0;
  text-shadow: 0 calc(2 * var(--delegate-u)) calc(3 * var(--delegate-u)) rgba(90, 42, 8, 0.14);
}

.debt_delegate_qa_answer_top figure {
  border-radius: calc(16 * var(--delegate-u));
  box-shadow: 0 calc(7 * var(--delegate-u)) calc(16 * var(--delegate-u)) rgba(126, 92, 63, 0.14);
  margin: 0;
  overflow: hidden;
  position: relative;
}

.debt_delegate_qa_answer_top img {
  display: block;
  height: 100%;
  object-fit: cover;
  object-position: 92% center;
  width: 100%;
}

.debt_delegate_qa_answer_top figcaption {
  background-color: rgba(0, 0, 0, 0.84);
  border-radius: calc(10 * var(--delegate-u)) 0 0 0;
  bottom: 0;
  color: #fff;
  font-size: calc(17 * var(--delegate-u));
  font-weight: 700;
  line-height: 1.35;
  padding: calc(8 * var(--delegate-u)) calc(12 * var(--delegate-u));
  position: absolute;
  right: 0;
  text-align: center;
  z-index: 2;
}

.debt_delegate_qa > p {
  color: #333;
  font-size: calc(22 * var(--delegate-u));
  font-weight: 400;
  line-height: 1.74;
  margin: 0;
}

.debt_delegate_qa_points {
  display: grid;
  gap: calc(24 * var(--delegate-u));
  margin: 0;
  padding: 0;
}

.debt_delegate_qa_points li {
  background: linear-gradient(135deg, #3b2f29 0%, #2c2927 100%);
  border: calc(1 * var(--delegate-u)) solid rgba(255, 255, 255, 0.08);
  border-radius: calc(18 * var(--delegate-u));
  box-shadow: none;
  overflow: hidden;
  padding: calc(34 * var(--delegate-u)) calc(36 * var(--delegate-u)) calc(34 * var(--delegate-u));
  position: relative;
}

.debt_delegate_qa_points li:first-child {
  padding-top: calc(34 * var(--delegate-u));
}

.debt_delegate_qa_points li + li::before {
  content: none;
}

.debt_delegate_qa_points li:last-child {
  border-bottom: 0;
}

.debt_delegate_qa_points span {
  background-color: transparent;
  border-radius: 0;
  box-shadow: none;
  color: #fff33f;
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: calc(20 * var(--delegate-u));
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.35;
  margin: 0 0 calc(10 * var(--delegate-u));
  padding: 0 0 0 calc(46 * var(--delegate-u));
  position: relative;
}

.debt_delegate_qa_points span em {
  font-style: normal;
}

.debt_delegate_qa_points span::before {
  border: calc(2 * var(--delegate-u)) solid rgba(255, 243, 63, 0.82);
  border-radius: calc(2 * var(--delegate-u));
  content: "";
  height: calc(24 * var(--delegate-u));
  left: 0;
  position: absolute;
  top: calc(2 * var(--delegate-u));
  width: calc(24 * var(--delegate-u));
}

.debt_delegate_qa_points span::after {
  border-bottom: calc(4 * var(--delegate-u)) solid #f26522;
  border-right: calc(4 * var(--delegate-u)) solid #f26522;
  content: "";
  height: calc(18 * var(--delegate-u));
  left: calc(14 * var(--delegate-u));
  position: absolute;
  top: calc(0 * var(--delegate-u));
  transform: rotate(45deg);
  width: calc(9 * var(--delegate-u));
}

.debt_delegate_qa_points b {
  border-bottom: calc(2 * var(--delegate-u)) dotted rgba(255, 243, 63, 0.78);
  color: #fff33f;
  display: block;
  font-size: calc(34 * var(--delegate-u));
  font-weight: 700;
  line-height: 1.35;
  margin: 0 0 calc(18 * var(--delegate-u));
  padding-bottom: calc(14 * var(--delegate-u));
  padding-left: calc(46 * var(--delegate-u));
}

.debt_delegate_qa_points p {
  color: #fff;
  font-size: calc(26 * var(--delegate-u));
  font-weight: 400;
  line-height: 1.82;
  margin: 0;
  padding-left: calc(46 * var(--delegate-u));
}

.debt_delegate_qa_points p strong {
  background: none;
  color: #fff33f;
  font-weight: 700;
  padding: 0;
}

.debt_delegate_qa_conclusion {
  background-color: transparent;
  color: #fff;
  margin: calc(18 * var(--delegate-u)) 0 0;
  min-height: 0;
  overflow: hidden;
  padding: 0;
  position: relative;
  text-align: center;
}

.debt_delegate_qa_conclusion::before {
  content: none;
}

.debt_delegate_qa_conclusion h5 {
  background-color: #fff33f;
  border-radius: calc(999 * var(--delegate-u));
  color: #f26522;
  display: inline-block;
  font-size: calc(26 * var(--delegate-u));
  font-weight: 700;
  line-height: 1.35;
  margin: calc(14 * var(--delegate-u)) auto calc(16 * var(--delegate-u));
  padding: calc(14 * var(--delegate-u)) calc(24 * var(--delegate-u));
  position: relative;
  z-index: 2;
}

.debt_delegate_qa_conclusion h5::after {
  border-left: calc(14 * var(--delegate-u)) solid transparent;
  border-right: calc(14 * var(--delegate-u)) solid transparent;
  border-top: calc(16 * var(--delegate-u)) solid #fff33f;
  bottom: calc(-14 * var(--delegate-u));
  content: "";
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
}

.debt_delegate_qa_call {
  background-color: transparent;
  border-radius: 0;
  color: #fff !important;
  display: block;
  font-size: calc(29 * var(--delegate-u)) !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  margin: 0 auto calc(14 * var(--delegate-u)) !important;
  padding: 0;
  position: relative;
  text-align: center;
  white-space: nowrap;
}

.debt_delegate_qa_call span {
  color: #fff33f;
}

.debt_delegate_qa_call::after {
  content: none;
}

.debt_delegate_qa_conclusion p:not(.debt_delegate_qa_call) {
  border-top: calc(3 * var(--delegate-u)) dotted rgba(255, 243, 160, 0.9);
  color: #fff;
  font-size: calc(25 * var(--delegate-u));
  font-weight: 500;
  line-height: 1.7;
  margin: 0;
  padding-top: calc(17 * var(--delegate-u));
  position: relative;
  text-align: left;
  z-index: 2;
}

.debt_delegate_qa_illustration {
  margin: calc(18 * var(--delegate-u)) auto 0;
  max-width: calc(560 * var(--delegate-u));
  position: relative;
  width: 100%;
  z-index: 2;
}

.debt_delegate_qa_illustration img {
  display: block;
  height: auto;
  margin: 0 auto;
  width: 100%;
}

/* 司法書士・連携弁護士サポートセクション */
.debt_delegate {
  background: linear-gradient(180deg, #eef8ff 0%, #f7fbff 56%, #eaf4ff 100%);
}

.debt_delegate_brand_intro {
  background:
    repeating-linear-gradient(135deg, rgba(255, 255, 255, .05) 0 calc(3 * var(--delegate-u)), transparent calc(3 * var(--delegate-u)) calc(14 * var(--delegate-u))),
    linear-gradient(145deg, #164f91 0%, #1e6fb7 58%, #2f8bd5 100%);
  color: #fff;
  margin: 0 calc(-20 * var(--delegate-u));
  padding: calc(34 * var(--delegate-u)) calc(28 * var(--delegate-u)) calc(39 * var(--delegate-u));
  position: relative;
  text-align: center;
}

.debt_delegate_brand_intro::after {
  background: #2f8bd5;
  bottom: calc(-24 * var(--delegate-u));
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: "";
  display: block;
  height: calc(25 * var(--delegate-u));
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: calc(76 * var(--delegate-u));
  z-index: 3;
}

.debt_delegate_brand_intro > img {
  display: block;
  height: auto;
  margin: 0 auto calc(25 * var(--delegate-u));
  max-width: calc(340 * var(--delegate-u));
  width: 52%;
}

.debt_delegate_brand_intro .debt_delegate_title {
  background: none;
  color: #fff;
  font-size: calc(44 * var(--delegate-u));
  line-height: 1.42;
  margin: 0;
  padding: 0;
  text-shadow: 0 calc(3 * var(--delegate-u)) calc(8 * var(--delegate-u)) rgba(0, 16, 66, 0.34);
}

.debt_delegate_brand_intro .debt_delegate_title::before {
  content: none;
  display: none;
}

.debt_delegate_brand_intro .debt_delegate_title span:first-child {
  align-items: center;
  display: flex;
  font-size: calc(31 * var(--delegate-u));
  font-weight: 600;
  gap: calc(12 * var(--delegate-u));
  justify-content: center;
  margin-bottom: calc(9 * var(--delegate-u));
  white-space: nowrap;
}

.debt_delegate_brand_intro .debt_delegate_title > span:last-child {
  border-bottom: calc(4 * var(--delegate-u)) dotted rgba(255, 255, 255, 0.82);
  display: inline-block;
  font-size: calc(38 * var(--delegate-u));
  padding-bottom: calc(10 * var(--delegate-u));
  white-space: nowrap;
}

.debt_delegate_brand_intro .debt_delegate_title em {
  color: #fff33f;
}

.debt_delegate_brand_intro .debt_delegate_profession_pair {
  align-items: center;
  display: inline-flex;
  font-size: calc(34 * var(--delegate-u));
  gap: calc(10 * var(--delegate-u));
  margin-bottom: 0;
}

.debt_delegate_brand_intro .debt_delegate_profession_pair b {
  background: #fff;
  border-radius: calc(8 * var(--delegate-u));
  box-shadow: 0 calc(3 * var(--delegate-u)) calc(8 * var(--delegate-u)) rgba(0, 16, 66, 0.2);
  color: #1e50a2;
  display: inline-block;
  font-weight: 700;
  line-height: 1.25;
  padding: calc(5 * var(--delegate-u)) calc(13 * var(--delegate-u)) calc(7 * var(--delegate-u));
  text-shadow: none;
}

.debt_delegate_brand_intro .debt_delegate_profession_pair i {
  color: #fff;
  font-size: 0.8em;
  font-style: normal;
  font-weight: 600;
  text-shadow: none;
}

.debt_delegate_brand_eyebrow {
  color: #fff33f;
  font-size: calc(23 * var(--delegate-u));
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1.5;
  margin: 0 0 calc(14 * var(--delegate-u));
}

.debt_delegate_brand_lead {
  color: #fff;
  line-height: 1.35;
  margin: 0;
}

.debt_delegate_brand_lead span,
.debt_delegate_brand_lead strong,
.debt_delegate_brand_lead b {
  display: block;
}

.debt_delegate_brand_lead span {
  font-size: calc(29 * var(--delegate-u));
  font-weight: 600;
}

.debt_delegate_brand_lead strong {
  color: #fff33f;
  font-size: calc(45 * var(--delegate-u));
  font-weight: 800;
  letter-spacing: .02em;
  margin: calc(5 * var(--delegate-u)) 0;
}

.debt_delegate_brand_lead b {
  font-size: calc(35 * var(--delegate-u));
  font-weight: 700;
}

.debt_delegate_brand_sub {
  color: rgba(255, 255, 255, .92);
  font-size: calc(31 * var(--delegate-u));
  font-weight: 700;
  line-height: 1.5;
  margin: calc(13 * var(--delegate-u)) 0 0;
}

.debt_delegate_brand_intro + .debt_delegate_lead {
  margin-top: calc(44 * var(--delegate-u));
}

.debt_delegate_title,
.debt_delegate_qa {
  background: linear-gradient(135deg, #1e50a2 0%, #163f82 100%);
  text-shadow: calc(3 * var(--delegate-u)) calc(3 * var(--delegate-u)) 0 rgba(0, 16, 66, 0.3);
}

.debt_delegate_title em {
  color: #fff33f;
}

.debt_delegate_title::before {
  background: repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0 calc(8 * var(--delegate-u)), transparent calc(8 * var(--delegate-u)) calc(76 * var(--delegate-u)));
}

.debt_delegate_qa {
  background:
    repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0 calc(8 * var(--delegate-u)), transparent calc(8 * var(--delegate-u)) calc(76 * var(--delegate-u))),
    linear-gradient(135deg, #1e50a2 0%, #163f82 100%);
}

.debt_delegate_talk_lawyer .debt_delegate_avatar,
.debt_delegate_talk_lawyer .debt_delegate_avatar::after,
.debt_delegate_talk_lawyer p,
.debt_delegate_cards li,
.debt_delegate_compare h3,
.debt_delegate_qa h4 {
  border-color: #1e50a2;
}

.debt_delegate_talk_lawyer .debt_delegate_avatar::after,
.debt_delegate_talk_lawyer p strong,
.debt_delegate_cards h3,
.debt_delegate_cards strong,
.debt_delegate_compare h3,
.debt_delegate_qa h4 .debt_delegate_qa_hl {
  color: #1e50a2;
}

.debt_delegate_talk_lawyer p {
  background: linear-gradient(rgba(30, 80, 162, 0.045), rgba(30, 80, 162, 0.045)), #fff;
}

.debt_delegate_talk_lawyer p::before {
  border-left-color: #1e50a2;
}

.debt_delegate_talk_lawyer p::after {
  border-left-color: #f7fbff;
}

.debt_delegate_cards li {
  border-color: rgba(30, 80, 162, 0.72);
}

.debt_delegate_lawyer,
.debt_delegate_lawyer .debt_delegate_col_head {
  background-color: #1e50a2;
}

.debt_delegate_dots i {
  border-color: #1e50a2;
}

.debt_delegate_compare h3::before,
.debt_delegate_compare h3::after {
  background-image: repeating-linear-gradient(135deg, rgba(30, 80, 162, 0.5) 0, rgba(30, 80, 162, 0.5) calc(4 * var(--delegate-u)), transparent calc(4 * var(--delegate-u)), transparent calc(11 * var(--delegate-u)));
}

.debt_delegate_lawyer li,
.debt_delegate_lawyer li::before {
  color: #1e50a2;
}

.debt_delegate_lawyer li:nth-child(even) {
  background-color: #eef8ff;
}

.debt_delegate_qa h4 {
  box-shadow: 0 calc(5 * var(--delegate-u)) calc(12 * var(--delegate-u)) rgba(0, 16, 66, 0.16);
  font-size: calc(23 * var(--delegate-u));
  line-height: 1.42;
  padding: calc(12 * var(--delegate-u)) calc(16 * var(--delegate-u));
  white-space: normal;
}

.debt_delegate_qa_network {
  align-items: center;
  background: #fff;
  border: calc(2 * var(--delegate-u)) solid #2f79bd;
  border-radius: calc(16 * var(--delegate-u));
  color: #1e50a2;
  display: grid;
  font-size: calc(16 * var(--delegate-u));
  font-weight: 700;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  justify-content: center;
  line-height: 1.35;
  padding: calc(18 * var(--delegate-u)) calc(10 * var(--delegate-u));
  text-align: center;
}

.debt_delegate_qa_network span {
  min-width: 0;
}

.debt_delegate_qa_network i {
  color: #2f79bd;
  font-size: calc(28 * var(--delegate-u));
  font-style: normal;
  margin: 0 calc(7 * var(--delegate-u));
}

.debt_delegate_qa_points li {
  background: linear-gradient(135deg, #1e50a2 0%, #163f82 100%);
}

.debt_delegate_qa_points span,
.debt_delegate_qa_points b,
.debt_delegate_qa_points p strong,
.debt_delegate_qa_call span {
  color: #aee2fa;
}

.debt_delegate_qa_points span::before {
  border-color: rgba(174, 226, 250, 0.88);
}

.debt_delegate_qa_points b {
  border-bottom-color: rgba(174, 226, 250, 0.7);
}

.debt_delegate_qa_points span::after {
  border-bottom-color: #2f79bd;
  border-right-color: #2f79bd;
}

.debt_delegate_qa_conclusion h5 {
  background-color: #eef8ff;
  color: #1e50a2;
}

.debt_delegate_qa_conclusion h5::after {
  border-top-color: #eef8ff;
}

.debt_delegate_qa_conclusion p:not(.debt_delegate_qa_call) {
  border-top-color: rgba(255, 255, 255, 0.72);
}


/* 弁護士におまかせセクション閉じ */

/* 返済が軽くなる理由セクション */
.debt_reason {
  --reason-u: min(0.15625vw, 1.21875px);
  background:
    linear-gradient(180deg, #eef8ff 0%, #eef8ff 54%, #eef8ff 100%);
  font-family: "Noto Sans JP", sans-serif;
  margin: 0 auto;
  max-width: calc(640 * var(--reason-u));
  overflow: hidden;
  position: relative;
}

.debt_reason_hero {
  align-items: center;
  background-color: #173e6b;
  display: flex;
  height: calc(312 * var(--reason-u));
  justify-content: center;
  overflow: visible;
  padding: calc(30 * var(--reason-u)) calc(34 * var(--reason-u)) calc(30 * var(--reason-u));
  position: relative;
}

.debt_reason_hero img {
  display: block;
  height: 100%;
  inset: 0;
  object-fit: cover;
  object-position: center center;
  opacity: 0.9;
  position: absolute;
  width: 100%;
  z-index: 1;
}

.debt_reason_hero::before {
  background:
    linear-gradient(180deg, rgba(15, 89, 201, 0.42) 0%, rgba(10, 60, 154, 0.7) 100%),
    linear-gradient(90deg, rgba(8, 56, 137, 0.74) 0%, rgba(25, 112, 222, 0.52) 60%, rgba(75, 178, 242, 0.34) 100%),
    radial-gradient(circle at 20% 30%, rgba(255, 255, 255, 0.18), transparent 42%);
  content: "";
  inset: 0;
  position: absolute;
  z-index: 2;
}

.debt_reason_hero::after {
  background: #1e50a2;
  bottom: calc(-24 * var(--reason-u));
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: "";
  display: block;
  height: calc(25 * var(--reason-u));
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: calc(76 * var(--reason-u));
  z-index: 5;
}

.debt_reason_hero h2 {
  align-items: center;
  color: #fff;
  display: flex;
  flex-direction: column;
  font-size: calc(44 * var(--reason-u));
  font-weight: 700;
  letter-spacing: calc(0.8 * var(--reason-u));
  line-height: 1.35;
  margin: 0;
  max-width: calc(560 * var(--reason-u));
  position: relative;
  text-align: center;
  text-shadow: 0 calc(3 * var(--reason-u)) calc(8 * var(--reason-u)) rgba(0, 21, 50, 0.35);
  width: 100%;
  z-index: 4;
}

.debt_reason_hero h2 span {
  color: inherit;
  display: block;
}

.debt_reason_hero_badge {
  background-color: rgba(255, 255, 255, 0.94);
  border-radius: calc(999 * var(--reason-u));
  box-sizing: border-box;
  box-shadow: 0 calc(5 * var(--reason-u)) calc(10 * var(--reason-u)) rgba(0, 20, 55, 0.18);
  color: #1e50a2 !important;
  font-size: calc(28 * var(--reason-u));
  font-weight: 700;
  line-height: 1.35;
  margin: 0 auto calc(24 * var(--reason-u));
  max-width: 100%;
  padding: calc(8 * var(--reason-u)) calc(22 * var(--reason-u));
  text-shadow: none;
  white-space: nowrap;
  width: auto;
}

.debt_reason_hero_badge_accent {
  color: #d9aa2b !important;
  margin-bottom: calc(24 * var(--reason-u));
}

.debt_reason_hero_main {
  background-color: transparent;
  border-bottom: calc(4 * var(--reason-u)) dotted rgba(255, 255, 255, 0.82);
  border-radius: 0;
  border-top: calc(4 * var(--reason-u)) dotted rgba(255, 255, 255, 0.82);
  box-sizing: border-box;
  color: #fff !important;
  font-size: calc(40 * var(--reason-u));
  line-height: 1.34;
  padding: calc(13 * var(--reason-u)) 0 calc(14 * var(--reason-u));
  text-shadow: 0 calc(4 * var(--reason-u)) calc(10 * var(--reason-u)) rgba(0, 18, 50, 0.45);
  width: 100%;
}

.debt_reason_hero_main em {
  color: #fff33f;
  font-style: normal;
}

.debt_reason_inner {
  background: #fff;
  border-radius: 0;
  box-shadow: none;
  margin: 0;
  overflow: hidden;
  padding: calc(46 * var(--reason-u)) calc(34 * var(--reason-u)) calc(54 * var(--reason-u));
  position: relative;
}

.debt_reason_lead {
  color: #173e6b;
  font-size: calc(35 * var(--reason-u));
  font-weight: 700;
  line-height: 1.55;
  margin: 0 0 calc(48 * var(--reason-u));
  text-align: center;
  text-shadow: none;
}

.debt_reason_lead span,
.debt_reason_lead strong {
  color: inherit;
  display: block;
}

.debt_reason_lead strong {
  font-weight: 700;
}

.debt_reason_lead em {
  background: linear-gradient(transparent 62%, #fff33f 62%);
  color: #1e50a2;
  font-style: normal;
}

.debt_reason_set {
  display: grid;
  gap: calc(62 * var(--reason-u));
}

.debt_reason_card_photo {
  background-color: #f3f9ff;
  border: 0;
  border-radius: calc(18 * var(--reason-u));
  box-shadow: 0 calc(8 * var(--reason-u)) calc(18 * var(--reason-u)) rgba(20, 74, 126, 0.16);
  grid-column: 1 / -1;
  grid-row: 1;
  height: calc(290 * var(--reason-u));
  margin: 0;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.debt_reason_card_photo img {
  display: block;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transform: none;
  width: 100%;
}

.debt_reason_card_photo::after {
  background: radial-gradient(
    ellipse at 100% 100%,
    rgba(255, 255, 255, 0.92) 0%,
    rgba(255, 255, 255, 0.58) 28%,
    rgba(255, 255, 255, 0.18) 50%,
    rgba(255, 255, 255, 0) 72%
  );
  bottom: calc(-12 * var(--reason-u));
  content: "";
  filter: blur(calc(6 * var(--reason-u)));
  height: 72%;
  pointer-events: none;
  position: absolute;
  right: calc(-12 * var(--reason-u));
  width: 68%;
  z-index: 2;
}

.debt_reason_documents img {
  object-position: center 48%;
}

.debt_reason_restart img {
  object-position: center 52%;
}

.debt_reason_card {
  background-color: #fff;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  margin: 0;
  overflow: visible;
  padding: 0;
  position: relative;
  z-index: 2;
}

.debt_reason_card::before {
  content: none;
}

.debt_reason_card_first {
  margin-bottom: 0;
}

.debt_reason_card_first .debt_reason_card_photo,
.debt_reason_card_second .debt_reason_card_photo {
  margin: 0;
  z-index: 2;
}

.debt_reason_card_first h3,
.debt_reason_card_second h3 {
  margin-bottom: calc(22 * var(--reason-u));
  transform: none;
}

.debt_reason_card_second {
  margin-top: 0;
}

.debt_reason_num {
  align-items: flex-end;
  align-self: end;
  color: #2f79bd;
  display: flex;
  flex-direction: column;
  gap: 0;
  grid-column: 1;
  grid-row: 1;
  justify-content: flex-end;
  margin: 0 calc(16 * var(--reason-u)) calc(12 * var(--reason-u)) 0;
  position: relative;
  z-index: 4;
}

.debt_reason_num span {
  color: inherit;
  font-family: Arial, sans-serif;
  font-size: calc(20 * var(--reason-u));
  font-style: italic;
  font-weight: 700;
  letter-spacing: calc(1.5 * var(--reason-u));
  text-transform: uppercase;
}

.debt_reason_num b {
  color: #62a9df;
  font-family: Arial, sans-serif;
  font-size: calc(88 * var(--reason-u));
  font-style: italic;
  font-weight: 300;
  letter-spacing: calc(-5 * var(--reason-u));
  line-height: 0.82;
}

.debt_reason_card_photo .debt_reason_num {
  align-items: flex-start;
  background: none;
  border-radius: 0;
  bottom: calc(14 * var(--reason-u));
  color: #1e50a2;
  display: flex;
  flex-direction: column;
  left: calc(18 * var(--reason-u));
  margin: 0;
  padding: 0;
  position: absolute;
  right: auto;
  text-shadow:
    0 0 calc(5 * var(--reason-u)) rgba(255, 255, 255, 0.98),
    0 0 calc(12 * var(--reason-u)) rgba(255, 255, 255, 0.94);
  z-index: 3;
}

.debt_reason_card_photo .debt_reason_num span {
  font-size: calc(19 * var(--reason-u));
}

.debt_reason_card_photo .debt_reason_num b {
  color: #2f79bd;
  font-size: calc(96 * var(--reason-u));
}

.debt_reason_card h3 {
  align-items: flex-start;
  background: none;
  border-radius: 0;
  box-shadow: none;
  color: #fff;
  display: flex;
  flex-direction: column;
  font-size: calc(35 * var(--reason-u));
  font-weight: 600;
  line-height: 1.36;
  grid-column: 1 / -1;
  margin: calc(18 * var(--reason-u)) 0 calc(22 * var(--reason-u));
  padding: 0;
  position: relative;
  text-align: left;
  width: auto;
  z-index: 4;
}

.debt_reason_card h3 span {
  background: #0875c9;
  color: #fff;
  display: block;
  margin-top: calc(5 * var(--reason-u));
  padding: calc(5 * var(--reason-u)) calc(13 * var(--reason-u)) calc(6 * var(--reason-u));
}

.debt_reason_card h3 mark {
  background: none;
  color: #fff33f;
  font: inherit;
}

.debt_reason_card > p:not(.debt_reason_num) {
  color: #2f3540;
  font-size: calc(26 * var(--reason-u));
  font-weight: 400;
  grid-column: 1 / -1;
  letter-spacing: calc(0.8 * var(--reason-u));
  line-height: 1.75;
  margin: 0;
  position: relative;
  z-index: 4;
}

.debt_reason_turn {
  background: #fff33f;
  border-radius: calc(999 * var(--reason-u));
  box-shadow: 0 calc(3 * var(--reason-u)) calc(8 * var(--reason-u)) rgba(30, 80, 162, 0.16);
  color: #1e50a2;
  display: table;
  font-size: calc(29 * var(--reason-u));
  font-weight: 700;
  line-height: 1.35;
  margin: calc(20 * var(--reason-u)) auto calc(14 * var(--reason-u));
  padding: calc(5 * var(--reason-u)) calc(26 * var(--reason-u)) calc(6 * var(--reason-u));
}

.debt_reason_card > .debt_reason_joint_note {
  background: #fffbea;
  border: 0;
  border-radius: calc(16 * var(--reason-u));
  box-shadow: none;
  color: #26394d;
  font-size: calc(26 * var(--reason-u));
  line-height: 1.65;
  list-style: none;
  margin-top: calc(44 * var(--reason-u));
  padding: calc(18 * var(--reason-u)) calc(20 * var(--reason-u));
}

.debt_reason_joint_note li {
  align-items: center;
  display: flex;
  font-size: calc(26 * var(--reason-u));
  gap: calc(11 * var(--reason-u));
  line-height: 1.5;
  text-align: left;
}

.debt_reason_joint_note li + li {
  border-top: calc(2 * var(--reason-u)) dotted rgba(30, 80, 162, 0.46);
  margin-top: calc(14 * var(--reason-u));
  padding-top: calc(15 * var(--reason-u));
}

.debt_reason_joint_note li > span {
  display: block;
  flex: 1 1 auto;
  line-height: 1.5;
  min-width: 0;
}

.debt_reason_joint_note li > span > span,
.debt_reason_joint_note li > span > strong {
  display: inline;
}

.debt_reason_joint_note li:first-child > span {
  font-size: calc(24 * var(--reason-u));
  white-space: nowrap;
}

.debt_reason_joint_note li::before {
  align-items: center;
  background: #1e50a2;
  border-radius: 50%;
  color: #fff;
  content: "✓";
  display: flex;
  flex: 0 0 calc(27 * var(--reason-u));
  font-size: calc(18 * var(--reason-u));
  font-weight: 700;
  height: calc(27 * var(--reason-u));
  justify-content: center;
  line-height: 1;
  margin-top: 0;
  width: calc(27 * var(--reason-u));
}

.debt_reason_joint_note strong {
  color: #1e50a2;
  font-weight: 700;
}

.debt_reason_points {
  background-color: #eef8ff;
  border: calc(2 * var(--reason-u)) solid rgba(30, 80, 162, 0.18);
  border-radius: calc(12 * var(--reason-u));
  margin: calc(22 * var(--reason-u)) 0 0;
  padding: calc(18 * var(--reason-u)) calc(22 * var(--reason-u));
  position: relative;
  z-index: 4;
}

.debt_reason_points li {
  align-items: center;
  color: #26394d;
  display: flex;
  font-size: calc(26 * var(--reason-u));
  font-weight: 700;
  gap: calc(12 * var(--reason-u));
  letter-spacing: calc(1.2 * var(--reason-u));
  line-height: 1.45;
  padding: calc(12 * var(--reason-u)) 0;
  position: relative;
}

.debt_reason_points li + li {
  border-top: calc(2 * var(--reason-u)) dotted rgba(30, 80, 162, 0.42);
}

.debt_reason_points li::before {
  align-items: center;
  background-color: #2f79bd;
  border-radius: 50%;
  color: #fff;
  content: "✓";
  display: flex;
  flex: 0 0 calc(25 * var(--reason-u));
  font-size: calc(20 * var(--reason-u));
  font-weight: 900;
  height: calc(25 * var(--reason-u));
  justify-content: center;
  width: calc(25 * var(--reason-u));
}

.debt_reason_points li::after {
  content: none;
}

.debt_reason_bottom {
  background: linear-gradient(145deg, #2f79bd 0%, #1e50a2 68%, #173e6b 100%);
  border: 0;
  border-radius: calc(18 * var(--reason-u));
  box-shadow: 0 calc(7 * var(--reason-u)) calc(16 * var(--reason-u)) rgba(30, 80, 162, 0.2);
  color: #fff;
  font-size: calc(27 * var(--reason-u));
  font-weight: 600;
  line-height: 1.65;
  margin: calc(52 * var(--reason-u)) 0 0;
  overflow: hidden;
  padding: calc(27 * var(--reason-u)) calc(24 * var(--reason-u));
  text-align: center;
  text-shadow: none;
}

.debt_reason_bottom span {
  color: inherit;
  display: block;
}

.debt_reason_bottom span + span {
  margin-top: calc(12 * var(--reason-u));
}

.debt_reason_bottom .debt_reason_bottom_detail {
  font-size: calc(24 * var(--reason-u));
  font-weight: 400;
  line-height: 1.75;
  margin-top: calc(20 * var(--reason-u));
  text-align: left;
}

.debt_reason_bottom em {
  background: #fff33f;
  border-radius: calc(999 * var(--reason-u));
  box-shadow: 0 calc(3 * var(--reason-u)) calc(8 * var(--reason-u)) rgba(0, 30, 78, 0.18);
  color: #1e50a2;
  display: inline-block;
  font-style: normal;
  font-weight: 600;
  line-height: 1.35;
  max-width: calc(500 * var(--reason-u));
  padding: calc(3 * var(--reason-u)) calc(12 * var(--reason-u)) calc(4 * var(--reason-u));
  text-align: center;
  width: calc(100% - 48 * var(--reason-u));
}

.debt_reason_bottom_photo {
  background: #fff;
  border: calc(4 * var(--reason-u)) solid #75bced;
  border-radius: calc(14 * var(--reason-u));
  box-shadow: 0 0 0 calc(3 * var(--reason-u)) rgba(255, 255, 255, 0.2);
  height: calc(280 * var(--reason-u));
  margin: calc(28 * var(--reason-u)) 0 0;
  overflow: hidden;
  position: relative;
}

.debt_reason_bottom_photo::before {
  content: none;
  display: none;
}

.debt_reason_bottom_photo img {
  display: block;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  width: 100%;
}

/* 返済が軽くなる理由セクション閉じ */

/* 秘密厳守セクション */
.debt_privacy {
  --privacy-u: min(0.15625vw, 1.21875px);
  background:
    radial-gradient(circle at 8% 34%, rgba(79, 153, 221, 0.13) 0 calc(70 * var(--privacy-u)), transparent calc(71 * var(--privacy-u))),
    linear-gradient(180deg, #eef7ff 0%, #f8fbff 46%, #edf6fd 100%);
  font-family: "Noto Sans JP", sans-serif;
  margin: 0 auto;
  max-width: calc(640 * var(--privacy-u));
  overflow: hidden;
  padding: 0 calc(18 * var(--privacy-u)) calc(52 * var(--privacy-u));
  position: relative;
  text-align: center;
}

.debt_privacy_inner {
  position: relative;
  z-index: 2;
}

.debt_privacy_title {
  background:
    radial-gradient(circle at 92% 16%, rgba(118, 201, 255, 0.42), transparent 34%),
    linear-gradient(135deg, #123f7f 0%, #1e50a2 58%, #2f79bd 100%);
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: calc(36 * var(--privacy-u));
  font-weight: 700;
  letter-spacing: calc(1.5 * var(--privacy-u));
  line-height: 1.38;
  margin: 0 calc(-18 * var(--privacy-u));
  padding: calc(32 * var(--privacy-u)) calc(24 * var(--privacy-u)) calc(34 * var(--privacy-u));
  position: relative;
  text-align: center;
  text-shadow: 0 calc(3 * var(--privacy-u)) calc(8 * var(--privacy-u)) rgba(5, 31, 70, 0.28);
}

.debt_privacy_title::before {
  background:
    repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.035) 0 calc(8 * var(--privacy-u)), transparent calc(8 * var(--privacy-u)) calc(62 * var(--privacy-u))),
    linear-gradient(120deg, rgba(255, 255, 255, 0.09) 0%, transparent 44%);
  content: "";
  inset: 0;
  position: absolute;
}

.debt_privacy_title::after {
  background: #1e50a2;
  bottom: calc(-24 * var(--privacy-u));
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: "";
  display: block;
  height: calc(25 * var(--privacy-u));
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: calc(76 * var(--privacy-u));
  z-index: 3;
}

.debt_privacy_title span,
.debt_privacy_title strong {
  color: inherit;
  display: block;
  position: relative;
  z-index: 2;
}

.debt_privacy_title .debt_privacy_title_badge {
  background-color: rgba(255, 255, 255, 0.96);
  border-radius: calc(999 * var(--privacy-u));
  box-shadow: 0 calc(5 * var(--privacy-u)) calc(10 * var(--privacy-u)) rgba(20, 73, 123, 0.2);
  color: #1e50a2;
  display: inline-block;
  font-size: calc(22 * var(--privacy-u));
  font-weight: 700;
  letter-spacing: calc(0.8 * var(--privacy-u));
  line-height: 1.35;
  margin: 0 auto calc(16 * var(--privacy-u));
  padding: calc(8 * var(--privacy-u)) calc(20 * var(--privacy-u));
  text-shadow: none;
  white-space: nowrap;
}

.debt_privacy_title strong {
  color: #fff;
  font-size: calc(35 * var(--privacy-u));
  font-weight: 700;
}

.debt_privacy_title strong .debt_privacy_title_assurance {
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  color: #fff33f;
  display: table;
  font-size: 1em;
  font-weight: 600;
  letter-spacing: calc(1.5 * var(--privacy-u));
  margin: 0 auto calc(11 * var(--privacy-u));
  padding: 0;
  text-shadow: 0 calc(2 * var(--privacy-u)) calc(5 * var(--privacy-u)) rgba(0, 28, 70, 0.28);
}

.debt_privacy_title strong em {
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  color: #fff33f;
  display: inline-block;
  font-size: 1em;
  font-style: normal;
  font-weight: 600;
  margin-top: calc(9 * var(--privacy-u));
  padding: 0;
  text-shadow: 0 calc(2 * var(--privacy-u)) calc(5 * var(--privacy-u)) rgba(0, 28, 70, 0.28);
}

.debt_privacy_visual {
  aspect-ratio: 16 / 7.5;
  border: calc(5 * var(--privacy-u)) solid #fff;
  border-radius: calc(22 * var(--privacy-u));
  box-shadow: 0 calc(12 * var(--privacy-u)) calc(26 * var(--privacy-u)) rgba(19, 63, 118, 0.2);
  margin: calc(42 * var(--privacy-u)) 0 calc(34 * var(--privacy-u));
  overflow: hidden;
  position: relative;
  text-align: left;
}

.debt_privacy_visual::after {
  background: linear-gradient(90deg, rgba(12, 50, 102, 0.92) 0%, rgba(15, 73, 139, 0.8) 42%, rgba(15, 73, 139, 0.42) 62%, transparent 82%);
  content: "";
  inset: 0;
  position: absolute;
}

.debt_privacy_visual img {
  display: block;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  width: 100%;
}

.debt_privacy_visual figcaption {
  color: #fff;
  display: flex;
  flex-direction: column;
  inset: 50% auto auto calc(24 * var(--privacy-u));
  position: absolute;
  transform: translateY(-50%);
  width: 52%;
  z-index: 2;
}

.debt_privacy_visual figcaption span {
  background: #fff33f;
  border-radius: calc(999 * var(--privacy-u));
  color: #173e6b;
  display: inline-block;
  font-size: calc(20 * var(--privacy-u));
  font-weight: 600;
  margin: 0 auto calc(9 * var(--privacy-u)) 0;
  padding: calc(5 * var(--privacy-u)) calc(12 * var(--privacy-u));
}

.debt_privacy_visual figcaption strong {
  border-bottom: calc(2 * var(--privacy-u)) solid rgba(255, 255, 255, 0.48);
  color: #fff;
  font-size: calc(25 * var(--privacy-u));
  font-weight: 600;
  line-height: 1.4;
  padding: calc(4 * var(--privacy-u)) 0;
}

.debt_privacy_consult {
  margin: calc(24 * var(--privacy-u)) 0 calc(42 * var(--privacy-u));
  position: relative;
  text-align: left;
}

.debt_privacy_talk {
  align-items: center;
  display: flex;
  gap: calc(22 * var(--privacy-u));
  position: relative;
}

.debt_privacy_talk_user {
  margin-top: calc(34 * var(--privacy-u));
}

.debt_privacy_talk + .debt_privacy_talk {
  margin-top: calc(26 * var(--privacy-u));
}

.debt_privacy_talk_lawyer {
  flex-direction: row-reverse;
}

.debt_privacy_avatar {
  background-color: #fff;
  border: calc(4 * var(--privacy-u)) solid #30454f;
  border-radius: 50%;
  box-shadow: 0 calc(4 * var(--privacy-u)) calc(8 * var(--privacy-u)) rgba(22, 104, 61, 0.12);
  flex: 0 0 calc(104 * var(--privacy-u));
  height: calc(104 * var(--privacy-u));
  margin-bottom: calc(26 * var(--privacy-u));
  overflow: hidden;
  position: relative;
  width: calc(104 * var(--privacy-u));
}

.debt_privacy_avatar::after {
  background-color: #fff;
  border: calc(2 * var(--privacy-u)) solid #1e50a2;
  border-radius: calc(999 * var(--privacy-u));
  bottom: calc(-28 * var(--privacy-u));
  color: #1e50a2;
  content: attr(data-label);
  font-size: calc(17 * var(--privacy-u));
  font-weight: 600;
  left: 50%;
  line-height: 1;
  padding: calc(5 * var(--privacy-u)) calc(9 * var(--privacy-u));
  position: absolute;
  transform: translateX(-50%);
  white-space: nowrap;
}

.debt_privacy_avatar img {
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transform: none;
  width: 100%;
}

.debt_privacy_talk_user .debt_privacy_avatar img {
  object-position: center center;
  transform: none;
}

.debt_privacy_talk_lawyer .debt_privacy_avatar img {
  transform: none;
}

.debt_privacy_talk_lawyer .debt_privacy_avatar {
  border-color: #1e50a2;
}

.debt_privacy_talk_lawyer .debt_privacy_avatar::after {
  border-color: #1e50a2;
  color: #1e50a2;
}

.debt_privacy_statement,
.debt_privacy_lead {
  color: #1f2733;
  flex: 1;
  font-size: calc(26 * var(--privacy-u));
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.62;
  margin: 0;
  padding: calc(24 * var(--privacy-u));
  position: relative;
  width: auto;
}

.debt_privacy_statement b,
.debt_privacy_lead b {
  display: none;
}

.debt_privacy_statement {
  background: linear-gradient(rgba(30, 80, 162, 0.035), rgba(30, 80, 162, 0.035)), #fff;
  border: calc(3 * var(--privacy-u)) solid #30454f;
  border-radius: calc(18 * var(--privacy-u));
}

.debt_privacy_lead {
  background: linear-gradient(rgba(30, 80, 162, 0.045), rgba(30, 80, 162, 0.045)), #fff;
  border: calc(3 * var(--privacy-u)) solid #1e50a2;
  border-radius: calc(18 * var(--privacy-u));
  font-size: calc(26 * var(--privacy-u));
}

.debt_privacy_statement::before,
.debt_privacy_lead::before {
  border-bottom: calc(15 * var(--privacy-u)) solid transparent;
  border-top: calc(15 * var(--privacy-u)) solid transparent;
  content: "";
  position: absolute;
  top: calc(32 * var(--privacy-u));
}

.debt_privacy_statement::before {
  border-right: calc(18 * var(--privacy-u)) solid #30454f;
  left: calc(-17 * var(--privacy-u));
}

.debt_privacy_lead::before {
  border-left: calc(18 * var(--privacy-u)) solid #1e50a2;
  right: calc(-17 * var(--privacy-u));
}

.debt_privacy_statement::after,
.debt_privacy_lead::after {
  border-bottom: calc(12 * var(--privacy-u)) solid transparent;
  border-top: calc(12 * var(--privacy-u)) solid transparent;
  content: "";
  position: absolute;
  top: calc(35 * var(--privacy-u));
}

.debt_privacy_statement::after {
  border-right: calc(14 * var(--privacy-u)) solid #f7fbff;
  left: calc(-10 * var(--privacy-u));
}

.debt_privacy_lead::after {
  border-left: calc(14 * var(--privacy-u)) solid #f7fbff;
  right: calc(-10 * var(--privacy-u));
}

.debt_privacy_panel {
  background: linear-gradient(145deg, #2f79bd 0%, #1e50a2 68%, #173e6b 100%);
  border: 0;
  border-radius: calc(18 * var(--privacy-u));
  box-shadow: 0 calc(7 * var(--privacy-u)) calc(16 * var(--privacy-u)) rgba(30, 80, 162, 0.2);
  margin: 0 auto;
  padding: calc(30 * var(--privacy-u)) calc(16 * var(--privacy-u)) calc(18 * var(--privacy-u));
  position: relative;
}

.debt_privacy_panel::before {
  content: none;
}

.debt_privacy_panel_heading {
  color: #fff;
  display: block;
  font-size: calc(27 * var(--privacy-u));
  font-weight: 700;
  letter-spacing: calc(1 * var(--privacy-u));
  line-height: 1.35;
  margin: 0 auto calc(24 * var(--privacy-u));
  padding: 0;
  position: relative;
  text-align: center;
  z-index: 4;
}

.debt_privacy_panel_heading::before,
.debt_privacy_panel_heading::after {
  background: rgba(255, 255, 255, 0.72);
  content: "";
  display: inline-block;
  height: calc(2 * var(--privacy-u));
  margin: 0 calc(10 * var(--privacy-u));
  vertical-align: middle;
  width: calc(38 * var(--privacy-u));
}

.debt_privacy_panel_heading span {
  background: #fff33f;
  border-radius: calc(999 * var(--privacy-u));
  color: #1e50a2;
  display: inline-block;
  margin-left: calc(6 * var(--privacy-u));
  padding: calc(4 * var(--privacy-u)) calc(18 * var(--privacy-u));
}

.debt_privacy_panel > .debt_privacy_visual {
  margin: 0 0 calc(28 * var(--privacy-u));
}

.debt_privacy_panel > .debt_privacy_visual--reassurance {
  margin: calc(22 * var(--privacy-u)) 0 0;
}

.debt_privacy_visual--reassurance figcaption {
  width: 58%;
}

.debt_privacy_visual--reassurance figcaption span {
  font-size: calc(22 * var(--privacy-u));
}

.debt_privacy_visual--reassurance figcaption strong {
  font-size: calc(28 * var(--privacy-u));
  line-height: 1.32;
}

.debt_privacy_visual--reassurance figcaption em {
  color: #fff33f;
  font-size: calc(35 * var(--privacy-u));
  font-style: normal;
  font-weight: 700;
}

.debt_privacy_cards {
  counter-reset: privacy-card;
  display: grid;
  gap: calc(10 * var(--privacy-u));
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 3;
}

.debt_privacy_cards li {
  background: linear-gradient(180deg, #fff 0%, #f9fcff 100%);
  border: calc(2 * var(--privacy-u)) solid #d6e7f5;
  border-radius: calc(14 * var(--privacy-u));
  box-shadow: 0 calc(5 * var(--privacy-u)) calc(14 * var(--privacy-u)) rgba(30, 80, 162, 0.08);
  counter-increment: privacy-card;
  min-height: calc(270 * var(--privacy-u));
  padding: calc(20 * var(--privacy-u)) calc(13 * var(--privacy-u)) calc(17 * var(--privacy-u));
  position: relative;
  text-align: center;
}

.debt_privacy_cards li::after {
  content: none;
  display: none;
}

.debt_privacy_icon {
  align-items: center;
  background: #edf6ff;
  border-radius: 50%;
  display: flex;
  height: calc(72 * var(--privacy-u));
  justify-content: center;
  margin: 0 auto calc(11 * var(--privacy-u));
  overflow: visible;
  width: calc(72 * var(--privacy-u));
}

.debt_privacy_icon img {
  display: block;
  height: calc(55 * var(--privacy-u));
  object-fit: contain;
  width: calc(55 * var(--privacy-u));
}

.debt_privacy_cards h3 {
  color: #1e50a2;
  font-size: calc(23 * var(--privacy-u));
  font-weight: 700;
  letter-spacing: calc(0.5 * var(--privacy-u));
  line-height: 1.45;
  margin: 0 0 calc(8 * var(--privacy-u));
  text-align: center;
}

.debt_privacy_cards p {
  border-top: calc(2 * var(--privacy-u)) dotted #b8cee1;
  color: #40566b;
  font-size: calc(21 * var(--privacy-u));
  font-weight: 400;
  letter-spacing: calc(0.3 * var(--privacy-u));
  line-height: 1.65;
  margin: 0;
  padding-top: calc(8 * var(--privacy-u));
}

.debt_privacy_cards p::first-letter {
  color: inherit;
}

.debt_privacy_cards li:nth-child(2) p {
  font-size: calc(19 * var(--privacy-u));
  letter-spacing: 0;
  line-height: 1.58;
}

.debt_privacy_bottom {
  background: #fff33f;
  border: calc(2 * var(--privacy-u)) solid rgba(30, 80, 162, 0.2);
  border-radius: calc(16 * var(--privacy-u));
  box-shadow: 0 calc(7 * var(--privacy-u)) calc(18 * var(--privacy-u)) rgba(19, 62, 123, 0.2);
  color: #1e50a2;
  margin: calc(22 * var(--privacy-u)) auto 0;
  max-width: 100%;
  padding: calc(19 * var(--privacy-u)) calc(28 * var(--privacy-u));
  position: relative;
  text-align: center;
  width: fit-content;
  z-index: 4;
}

.debt_privacy_bottom::before {
  color: #1e50a2;
  content: "✓";
  font-size: calc(24 * var(--privacy-u));
  font-weight: 900;
  margin-right: calc(7 * var(--privacy-u));
}

.debt_privacy_bottom span,
.debt_privacy_bottom strong {
  background: none;
  color: #1e50a2;
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: calc(26 * var(--privacy-u));
  font-weight: 600;
  letter-spacing: calc(1 * var(--privacy-u));
  line-height: 1.45;
  margin: 0;
  padding: 0;
  text-shadow:
    0 0 calc(4 * var(--privacy-u)) #fff,
    0 0 calc(10 * var(--privacy-u)) rgba(255, 255, 255, 0.92),
    0 0 calc(16 * var(--privacy-u)) rgba(255, 255, 255, 0.62);
}

.debt_privacy_bottom span:first-of-type {
  display: inline;
}

.debt_privacy_reassurance {
  font-weight: 700 !important;
}

.debt_privacy_bottom .debt_privacy_bottom_main {
  display: block;
  margin-top: calc(4 * var(--privacy-u));
}

.debt_privacy_bottom strong {
  background: none;
  color: #1e50a2;
  display: inline-block;
  font-size: calc(34 * var(--privacy-u));
  font-weight: 700;
  line-height: 1.25;
  margin: calc(4 * var(--privacy-u)) calc(3 * var(--privacy-u));
  padding: 0 calc(3 * var(--privacy-u));
}

.debt_privacy_note {
  background: none;
  border: 0;
  border-radius: 0;
  border-top: calc(2 * var(--privacy-u)) dotted rgba(255, 255, 255, 0.78);
  color: rgba(255, 255, 255, 0.9);
  font-size: calc(19 * var(--privacy-u));
  font-weight: 400;
  letter-spacing: calc(0.2 * var(--privacy-u));
  line-height: 1.65;
  margin: calc(22 * var(--privacy-u)) auto 0;
  padding: calc(16 * var(--privacy-u)) calc(4 * var(--privacy-u)) 0;
  position: relative;
  text-align: left;
  z-index: 4;
}

.debt_privacy_note strong {
  color: #fff;
  display: block;
  font-size: calc(20 * var(--privacy-u));
  font-weight: 600;
  margin-bottom: calc(5 * var(--privacy-u));
}

.debt_privacy_note strong::before {
  content: "※ ";
}

/* 秘密厳守セクション閉じ */

/* 安心ポイントセクション */
.debt_peace {
  --peace-u: min(0.15625vw, 1.21875px);
  background-color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  margin: 0 auto;
  max-width: calc(640 * var(--peace-u));
  overflow: hidden;
  position: relative;
}

.debt_peace_visual {
  background:
    radial-gradient(circle at 6% 18%, rgba(30, 80, 162, 0.24) 0 calc(18 * var(--peace-u)), rgba(30, 139, 214, 0.08) calc(42 * var(--peace-u)), transparent calc(86 * var(--peace-u))),
    radial-gradient(circle at 7% 82%, rgba(30, 139, 214, 0.2) 0 calc(16 * var(--peace-u)), rgba(30, 80, 162, 0.07) calc(40 * var(--peace-u)), transparent calc(78 * var(--peace-u))),
    radial-gradient(circle at 18% 46%, rgba(138, 119, 105, 0.22) 0 calc(66 * var(--peace-u)), transparent calc(67 * var(--peace-u))),
    linear-gradient(90deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.78) 47%, rgba(255, 255, 255, 0.06) 100%);
  height: calc(420 * var(--peace-u));
  overflow: hidden;
  position: relative;
}

.debt_peace_visual img {
  display: block;
  height: 100%;
  inset: 0;
  object-fit: cover;
  object-position: center center;
  position: absolute;
  transform: translateX(calc(42 * var(--peace-u))) scale(1.14);
  transform-origin: center center;
  width: 100%;
  z-index: 0;
}

.debt_peace_visual::before {
  content: none;
}

.debt_peace_visual::after {
  background: linear-gradient(180deg, transparent 0%, rgba(255, 255, 255, 0.3) 68%, rgba(255, 255, 255, 0.9) 100%);
  bottom: 0;
  content: "";
  height: calc(115 * var(--peace-u));
  left: 0;
  position: absolute;
  right: 0;
  z-index: 1;
}

.debt_peace_copy {
  color: #1f2937;
  font-family: "Noto Sans JP", sans-serif;
  font-size: calc(36 * var(--peace-u));
  font-weight: 700;
  left: calc(30 * var(--peace-u));
  letter-spacing: 0;
  line-height: 1.78;
  margin: 0;
  position: absolute;
  text-shadow:
    0 0 calc(7 * var(--peace-u)) rgba(255, 255, 255, 0.98),
    0 0 calc(14 * var(--peace-u)) rgba(255, 255, 255, 0.92),
    calc(2 * var(--peace-u)) calc(2 * var(--peace-u)) 0 rgba(255, 255, 255, 0.82);
  top: calc(50 * var(--peace-u));
  width: calc(390 * var(--peace-u));
  z-index: 2;
}

.debt_peace_copy span {
  display: block;
  position: relative;
  width: max-content;
}

.debt_peace_copy span:nth-child(n + 2)::after {
  background-color: rgba(255, 255, 255, 0.86);
  bottom: calc(6 * var(--peace-u));
  box-shadow: 0 0 calc(8 * var(--peace-u)) rgba(255, 255, 255, 0.92);
  content: "";
  height: calc(5 * var(--peace-u));
  left: 0;
  position: absolute;
  width: 100%;
  z-index: -1;
}

.debt_peace_copy span:nth-child(2)::after {
  background-color: rgba(255, 243, 63, 0.9);
  bottom: calc(12 * var(--peace-u));
  box-shadow: 0 0 calc(8 * var(--peace-u)) rgba(255, 255, 255, 0.9);
  height: calc(14 * var(--peace-u));
}

.debt_peace_copy em {
  color: #f26522;
  font-size: calc(42 * var(--peace-u));
  font-style: normal;
  font-weight: 800;
  line-height: 1;
}

.debt_peace_points {
  background:
    repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.08) 0 calc(2 * var(--peace-u)), transparent calc(2 * var(--peace-u)) calc(8 * var(--peace-u))),
    linear-gradient(180deg, #2f79bd 0%, #178bd8 100%);
  margin-top: calc(-70 * var(--peace-u));
  padding: calc(84 * var(--peace-u)) calc(40 * var(--peace-u)) calc(40 * var(--peace-u));
  position: relative;
  z-index: 3;
}

.debt_peace_points::before {
  background:
    repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.08) 0 calc(2 * var(--peace-u)), transparent calc(2 * var(--peace-u)) calc(8 * var(--peace-u))),
    linear-gradient(180deg, #1e50a2 0%, #2f79bd 100%);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  content: "";
  height: calc(185 * var(--peace-u));
  left: calc(-58 * var(--peace-u));
  position: absolute;
  right: calc(-58 * var(--peace-u));
  top: calc(-72 * var(--peace-u));
  z-index: 0;
}

.debt_peace_points::after {
  background: rgba(255, 255, 255, 0.18);
  content: "";
  height: calc(1 * var(--peace-u));
  left: 0;
  position: absolute;
  right: 0;
  top: calc(66 * var(--peace-u));
  z-index: 1;
}

.debt_peace_heading {
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  margin: calc(-67 * var(--peace-u)) auto calc(27 * var(--peace-u));
  position: relative;
  text-align: center;
  text-shadow: 0 calc(3 * var(--peace-u)) calc(4 * var(--peace-u)) rgba(12, 55, 110, 0.2);
  z-index: 2;
}

.debt_peace_heading span {
  color: #fff;
  display: inline-block;
  font-size: calc(28 * var(--peace-u));
  font-weight: 600;
  letter-spacing: calc(1 * var(--peace-u));
  line-height: 1;
  margin-bottom: calc(8 * var(--peace-u));
}

.debt_peace_heading span::after {
  border-top: calc(3 * var(--peace-u)) dotted rgba(255, 255, 255, 0.96);
  content: "";
  display: block;
  margin: calc(11 * var(--peace-u)) auto 0;
  width: 100%;
}

.debt_peace_heading b {
  color: #fff;
  display: block;
  font-size: calc(52 * var(--peace-u));
  font-weight: 700;
  letter-spacing: calc(1 * var(--peace-u));
  line-height: 1;
}

.debt_peace_grid {
  display: grid;
  gap: calc(34 * var(--peace-u)) calc(31 * var(--peace-u));
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 2;
}

.debt_peace_grid li {
  align-items: center;
  aspect-ratio: 244 / 171;
  background-color: #fff;
  border: calc(4 * var(--peace-u)) solid #83cef2;
  border-radius: calc(24 * var(--peace-u));
  box-shadow:
    inset 0 0 0 calc(4 * var(--peace-u)) #fff,
    inset 0 0 0 calc(7 * var(--peace-u)) #178bd8,
    0 calc(8 * var(--peace-u)) calc(15 * var(--peace-u)) rgba(4, 67, 150, 0.22);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: calc(10 * var(--peace-u)) calc(14 * var(--peace-u)) calc(14 * var(--peace-u));
  text-align: center;
}

.debt_peace_icon {
  display: flex;
  height: calc(66 * var(--peace-u));
  justify-content: center;
  margin-bottom: calc(2 * var(--peace-u));
  width: calc(66 * var(--peace-u));
}

.debt_peace_icon img {
  display: block;
  height: 100%;
  object-fit: contain;
  width: 100%;
}

.debt_peace_grid p {
  color: #3f3f3f;
  font-family: "Noto Sans JP", sans-serif;
  font-size: calc(27 * var(--peace-u));
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.32;
  margin: 0;
}

.debt_peace_grid p > span {
  display: block;
}

.debt_peace_grid strong {
  color: #084897;
  display: inline-block;
  font-size: calc(33 * var(--peace-u));
  font-weight: 700;
  line-height: 1.18;
  padding: 0 calc(2 * var(--peace-u));
}

.debt_peace_grid strong em {
  background: none;
  border-radius: 0;
  color: #f26522;
  font-size: calc(60 * var(--peace-u));
  font-style: normal;
  font-weight: 700;
  line-height: 0.88;
}

.debt_peace_grid li:nth-child(2) strong em,
.debt_peace_grid li:nth-child(3) strong em,
.debt_peace_grid li:nth-child(6) strong em {
  font-size: calc(35 * var(--peace-u));
  white-space: nowrap;
}

.debt_peace_grid li:nth-child(4) strong em {
  font-size: calc(38 * var(--peace-u));
  white-space: nowrap;
}

.debt_peace_grid li:nth-child(5) strong {
  color: #084897;
  font-size: calc(27 * var(--peace-u));
  line-height: 1.32;
}

.debt_peace_grid li:nth-child(5) strong em {
  border-top: calc(3 * var(--peace-u)) dotted #176cc1;
  display: block;
  font-size: calc(37 * var(--peace-u));
  line-height: 1.05;
  margin-top: calc(8 * var(--peace-u));
  padding-top: calc(7 * var(--peace-u));
  white-space: nowrap;
}

.debt_peace_grid li:nth-child(5) strong > span {
  display: block;
}

.debt_peace_grid li:nth-child(5) strong > br {
  display: none;
}

.debt_peace_grid p > span {
  color: #f26522;
  border-top: calc(3 * var(--peace-u)) dotted #176cc1;
  font-size: calc(26 * var(--peace-u));
  font-weight: 700;
  line-height: 1.35;
  margin-top: calc(8 * var(--peace-u));
  padding-top: calc(7 * var(--peace-u));
}

.debt_peace_grid li:nth-child(5) p {
  margin-top: calc(2 * var(--peace-u));
}

.debt_peace_grid .debt_peace_record {
  align-items: center;
  aspect-ratio: auto;
  display: grid;
  grid-column: 1 / -1;
  column-gap: calc(10 * var(--peace-u));
  grid-template-columns: calc(66 * var(--peace-u)) minmax(0, 1fr) auto;
  justify-content: center;
  min-height: calc(148 * var(--peace-u));
  padding: calc(16 * var(--peace-u)) calc(22 * var(--peace-u));
  text-align: left;
}

.debt_peace_grid .debt_peace_record .debt_peace_icon {
  align-items: center;
  background: linear-gradient(145deg, #f68b39, #ed5d1e);
  border-radius: 50%;
  display: flex;
  height: calc(62 * var(--peace-u));
  justify-content: center;
  margin: 0;
  width: calc(62 * var(--peace-u));
}

.debt_peace_grid .debt_peace_record .debt_peace_icon img {
  height: 78%;
  width: 78%;
}

.debt_peace_grid .debt_peace_record > b {
  align-self: center;
  border-right: calc(2 * var(--peace-u)) dotted #ed8c5a;
  color: #e75a1d;
  font-size: calc(27 * var(--peace-u));
  font-weight: 700;
  line-height: 1.22;
  margin: 0;
  padding-right: calc(10 * var(--peace-u));
  text-align: left;
  white-space: nowrap;
}

.debt_peace_grid .debt_peace_record > b small {
  display: block;
  font-size: calc(20 * var(--peace-u));
  letter-spacing: calc(1 * var(--peace-u));
  margin-bottom: calc(4 * var(--peace-u));
}

.debt_peace_grid .debt_peace_record .debt_peace_record_metric {
  align-items: baseline;
  display: flex;
  justify-content: flex-end;
  margin: 0;
  text-align: center;
}

.debt_peace_grid .debt_peace_record .debt_peace_record_metric strong {
  align-items: baseline;
  background: linear-gradient(180deg, #f26522 0 66%, #ff9b40 66% 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  display: inline-flex;
  font-family: "Oswald", "Noto Sans JP", sans-serif;
  font-size: calc(76 * var(--peace-u));
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  padding: 0;
  text-shadow: calc(2 * var(--peace-u)) calc(2 * var(--peace-u)) 0 rgba(242, 101, 34, 0.1);
  white-space: nowrap;
}

.debt_peace_grid .debt_peace_record .debt_peace_record_metric strong small {
  color: #e75a1d;
  font-family: "Noto Sans JP", sans-serif;
  font-size: calc(23 * var(--peace-u));
  font-weight: 500;
  margin-right: calc(4 * var(--peace-u));
}

.debt_peace_grid .debt_peace_record .debt_peace_record_metric strong em {
  color: #e75a1d;
  align-self: baseline;
  font-size: calc(29 * var(--peace-u));
  font-style: normal;
  font-weight: 500;
  margin: 0;
}

.debt_peace_message {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.54) 0%, rgba(255, 255, 255, 0.68) 100%),
    url("../images/reason/debt_reason_handshake_hakata_v1.png") center 56% / cover no-repeat;
  align-items: center;
  color: #2f2f2f;
  display: flex;
  font-family: "Noto Sans JP", sans-serif;
  justify-content: center;
  margin-top: calc(-2 * var(--peace-u));
  min-height: calc(420 * var(--peace-u));
  overflow: hidden;
  padding: calc(74 * var(--peace-u)) calc(35 * var(--peace-u)) calc(24 * var(--peace-u));
  position: relative;
  text-align: center;
  z-index: 4;
}

.debt_peace_message::before {
  border-left: calc(320 * var(--peace-u)) solid transparent;
  border-right: calc(320 * var(--peace-u)) solid transparent;
  border-top: calc(54 * var(--peace-u)) solid #178bd8;
  content: "";
  left: 50%;
  position: absolute;
  top: calc(-1 * var(--peace-u));
  transform: translateX(-50%);
  z-index: 1;
}

.debt_peace_message p {
  isolation: isolate;
  margin: 0 auto;
  max-width: calc(560 * var(--peace-u));
  position: relative;
  text-align: center;
  width: 100%;
  z-index: 2;
}

.debt_peace_message p::before {
  content: none;
}

.debt_peace_message span,
.debt_peace_message strong,
.debt_peace_message b {
  border-bottom: 0;
  display: block;
  padding-bottom: calc(6 * var(--peace-u));
  text-shadow:
    0 0 calc(3 * var(--peace-u)) #fff,
    0 0 calc(7 * var(--peace-u)) #fff,
    0 0 calc(13 * var(--peace-u)) rgba(255, 255, 255, 0.98),
    0 0 calc(21 * var(--peace-u)) rgba(255, 255, 255, 0.92);
}

.debt_peace_message span {
  color: #383838;
  font-size: calc(28 * var(--peace-u));
  font-weight: 600;
  letter-spacing: calc(1 * var(--peace-u));
  line-height: 1.25;
  margin-bottom: calc(10 * var(--peace-u));
}

.debt_peace_message p > span:first-child {
  line-height: 1.5;
}

.debt_peace_message strong {
  color: #252525;
  font-size: calc(37 * var(--peace-u));
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.25;
  margin-bottom: calc(10 * var(--peace-u));
  white-space: nowrap;
}

.debt_peace_message .debt_peace_message_arrows {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: calc(-2 * var(--peace-u)) auto calc(15 * var(--peace-u));
  padding: 0;
  text-shadow: none;
  width: calc(54 * var(--peace-u));
}

.debt_peace_message_arrows i {
  border-bottom: calc(6 * var(--peace-u)) solid #f26522;
  border-right: calc(6 * var(--peace-u)) solid #f26522;
  display: block;
  filter:
    drop-shadow(0 0 calc(3 * var(--peace-u)) #fff)
    drop-shadow(0 0 calc(7 * var(--peace-u)) #fff)
    drop-shadow(0 0 calc(13 * var(--peace-u)) rgba(255, 255, 255, 0.98))
    drop-shadow(0 0 calc(21 * var(--peace-u)) rgba(255, 255, 255, 0.92));
  height: calc(22 * var(--peace-u));
  transform: rotate(45deg);
  width: calc(22 * var(--peace-u));
}

.debt_peace_message_arrows i + i {
  margin-top: calc(-8 * var(--peace-u));
}

.debt_peace_message mark {
  background: none;
  color: #f26522;
  padding: 0;
}

.debt_peace_message b {
  color: #2f2f2f;
  font-size: calc(42 * var(--peace-u));
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.3;
  white-space: nowrap;
}

.debt_peace_message b em {
  background: linear-gradient(transparent 60%, rgba(255, 243, 63, 0.9) 60%);
  color: #f26522;
  font-style: normal;
  padding: 0 0.08em;
}

.debt_peace_message_refund {
  display: block;
  filter:
    drop-shadow(0 0 calc(2 * var(--peace-u)) #fff)
    drop-shadow(0 0 calc(5 * var(--peace-u)) #fff)
    drop-shadow(0 0 calc(9 * var(--peace-u)) rgba(255, 255, 255, 0.94));
  height: auto;
  margin: 0 auto;
  max-width: 100%;
  width: calc(190 * var(--peace-u));
}

/* 安心ポイントセクション閉じ */

/* 解決までの流れセクション */
.debt_flow {
  --flow-u: min(0.15625vw, 1.21875px);
  --flow-orange: #f26522;
  --flow-orange-dark: #c94612;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0) calc(120 * var(--flow-u))),
    #eaf6ff;
  font-family: "Noto Sans JP", sans-serif;
  overflow: hidden;
  padding: 0 calc(22 * var(--flow-u)) calc(66 * var(--flow-u));
}

.debt_flow_heading {
  align-items: center;
  background-color: #173e6b;
  background-image: url("../images/reason/debt_reason_handshake_hakata_v1.png");
  background-position: center 54%;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  flex-direction: column;
  height: calc(282 * var(--flow-u));
  justify-content: center;
  margin: 0 calc(-22 * var(--flow-u)) calc(54 * var(--flow-u));
  max-width: none;
  overflow: visible;
  padding: calc(30 * var(--flow-u)) calc(34 * var(--flow-u));
  position: relative;
  text-align: center;
}

.debt_flow_heading::before {
  background:
    linear-gradient(180deg, rgba(15, 89, 201, 0.42) 0%, rgba(10, 60, 154, 0.7) 100%),
    linear-gradient(90deg, rgba(8, 56, 137, 0.74) 0%, rgba(25, 112, 222, 0.52) 60%, rgba(75, 178, 242, 0.34) 100%),
    radial-gradient(circle at 20% 30%, rgba(255, 255, 255, 0.18), transparent 42%);
  content: "";
  inset: 0;
  position: absolute;
  z-index: 1;
}

.debt_flow_heading::after {
  background: #1e50a2;
  bottom: calc(-24 * var(--flow-u));
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: "";
  height: calc(25 * var(--flow-u));
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: calc(76 * var(--flow-u));
  z-index: 5;
}

.debt_flow_heading span {
  background-color: rgba(255, 255, 255, 0.94);
  border: 0;
  border-radius: calc(999 * var(--flow-u));
  box-shadow: 0 calc(5 * var(--flow-u)) calc(10 * var(--flow-u)) rgba(0, 20, 55, 0.18);
  color: #1e50a2;
  display: inline-flex;
  font-size: calc(27 * var(--flow-u));
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: calc(23 * var(--flow-u));
  padding: calc(8 * var(--flow-u)) calc(22 * var(--flow-u));
  position: relative;
  z-index: 4;
}

.debt_flow_heading h2 {
  border-bottom: calc(4 * var(--flow-u)) dotted rgba(255, 255, 255, 0.82);
  border-top: calc(4 * var(--flow-u)) dotted rgba(255, 255, 255, 0.82);
  color: #fff;
  font-size: calc(40 * var(--flow-u));
  font-weight: 700;
  line-height: 1.34;
  margin: 0;
  max-width: calc(560 * var(--flow-u));
  padding: calc(13 * var(--flow-u)) 0 calc(14 * var(--flow-u));
  position: relative;
  text-shadow: 0 calc(4 * var(--flow-u)) calc(10 * var(--flow-u)) rgba(0, 18, 50, 0.45);
  width: 100%;
  z-index: 4;
}

.debt_flow_heading h2 em {
  color: #fff33f;
  font-style: normal;
}

.debt_flow_list {
  display: grid;
  gap: calc(58 * var(--flow-u));
  margin: 0 auto;
  max-width: calc(592 * var(--flow-u));
}

.debt_flow_item {
  background-color: #fff;
  border: calc(2 * var(--flow-u)) solid rgba(30, 80, 162, 0.34);
  border-radius: calc(18 * var(--flow-u));
  box-shadow: 0 calc(6 * var(--flow-u)) calc(10 * var(--flow-u)) rgba(30, 80, 162, 0.13);
  min-height: calc(310 * var(--flow-u));
  padding: calc(35 * var(--flow-u)) calc(28 * var(--flow-u)) calc(36 * var(--flow-u));
  position: relative;
}

.debt_flow_item::after {
  align-items: center;
  background-color: #1e50a2;
  border: calc(8 * var(--flow-u)) solid #fff;
  border-radius: 50%;
  bottom: calc(-37 * var(--flow-u));
  box-shadow: 0 calc(4 * var(--flow-u)) calc(7 * var(--flow-u)) rgba(30, 80, 162, 0.2);
  color: #fff;
  content: "";
  display: flex;
  height: calc(66 * var(--flow-u));
  justify-content: center;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: calc(66 * var(--flow-u));
  z-index: 2;
}

.debt_flow_item::before {
  border-left: calc(15 * var(--flow-u)) solid transparent;
  border-right: calc(15 * var(--flow-u)) solid transparent;
  border-top: calc(20 * var(--flow-u)) solid #fff;
  bottom: calc(-9 * var(--flow-u));
  content: "";
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  z-index: 3;
}

.debt_flow_item:last-child::after,
.debt_flow_item:last-child::before {
  content: none;
}

/* 無料相談から契約後へ切り替わる境界 */
.debt_flow_boundary {
  background: linear-gradient(180deg, #f4f9ff 0%, #edf6ff 100%);
  border: 0;
  border-radius: calc(18 * var(--flow-u));
  box-sizing: border-box;
  box-shadow: inset 0 0 0 calc(1 * var(--flow-u)) rgba(47, 121, 189, 0.12);
  clear: both;
  color: #2f3540;
  margin: calc(45 * var(--flow-u)) calc(-16 * var(--flow-u)) calc(-24 * var(--flow-u));
  max-width: none;
  padding: calc(42 * var(--flow-u)) calc(24 * var(--flow-u)) calc(30 * var(--flow-u));
  position: relative;
  text-align: center;
  width: auto;
  z-index: 1;
}

.debt_flow_boundary::before {
  border-top: calc(3 * var(--flow-u)) dotted #74a8d8;
  content: "";
  height: 0;
  left: calc(-8 * var(--flow-u));
  position: absolute;
  right: calc(-8 * var(--flow-u));
  top: 0;
}

.debt_flow_boundary_label {
  background: #2f79bd;
  border-radius: calc(999 * var(--flow-u));
  color: #fff;
  font-size: calc(21 * var(--flow-u));
  font-weight: 700;
  left: 50%;
  letter-spacing: calc(1 * var(--flow-u));
  line-height: 1.2;
  margin: 0;
  padding: calc(9 * var(--flow-u)) calc(25 * var(--flow-u));
  position: absolute;
  top: 0;
  transform: translate(-50%, -50%);
  white-space: nowrap;
}

.debt_flow_boundary strong {
  color: #1e50a2;
  display: block;
  font-size: calc(34 * var(--flow-u));
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 calc(9 * var(--flow-u));
  text-decoration-color: #fff08a;
  text-decoration-line: underline;
  text-decoration-thickness: calc(7 * var(--flow-u));
  text-underline-offset: calc(-2 * var(--flow-u));
}

.debt_flow_boundary > p:not(.debt_flow_boundary_label) {
  color: #445466;
  font-size: calc(29 * var(--flow-u));
  font-weight: 700;
  line-height: 1.48;
  margin: 0;
}

.debt_flow_boundary b {
  color: #1e50a2;
  font-weight: 700;
}

.debt_flow_photo {
  border-radius: 0 calc(92 * var(--flow-u)) calc(92 * var(--flow-u)) 0;
  box-shadow: none;
  float: left;
  height: calc(166 * var(--flow-u));
  margin: calc(2 * var(--flow-u)) calc(31 * var(--flow-u)) calc(16 * var(--flow-u)) calc(-28 * var(--flow-u));
  overflow: hidden;
  width: calc(166 * var(--flow-u));
}

.debt_flow_photo img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.debt_flow_body {
  min-width: 0;
  padding-top: 0;
}

.debt_flow_step {
  color: #1e50a2;
  font-family: "Lato", sans-serif;
  font-size: calc(34 * var(--flow-u));
  font-weight: 800;
  letter-spacing: calc(2 * var(--flow-u));
  line-height: 1;
  margin: 0 0 calc(13 * var(--flow-u));
}

.debt_flow_item_contract .debt_flow_step span {
  background: var(--flow-orange);
  border-radius: calc(999 * var(--flow-u));
  color: #fff;
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: calc(23 * var(--flow-u));
  font-weight: 700;
  letter-spacing: calc(1 * var(--flow-u));
  line-height: 1;
  margin-left: calc(8 * var(--flow-u));
  padding: calc(8 * var(--flow-u)) calc(16 * var(--flow-u));
  vertical-align: middle;
}

.debt_flow_item_contract {
  border-color: rgba(242, 101, 34, 0.38);
  box-shadow: 0 calc(6 * var(--flow-u)) calc(10 * var(--flow-u)) rgba(191, 78, 25, 0.14);
}

.debt_flow_item_contract .debt_flow_step {
  color: var(--flow-orange);
}

.debt_flow_item_contract::after {
  background-color: var(--flow-orange);
  box-shadow: 0 calc(4 * var(--flow-u)) calc(7 * var(--flow-u)) rgba(191, 78, 25, 0.2);
}

.debt_flow_body h3 {
  color: #173e6b;
  font-size: calc(38 * var(--flow-u));
  font-weight: 700;
  line-height: 1.28;
  margin: 0 0 calc(22 * var(--flow-u));
}

.debt_flow_body h3 span {
  display: block;
  font-size: calc(27 * var(--flow-u));
  font-weight: 600;
  margin-top: calc(6 * var(--flow-u));
}

.debt_flow_body p:not(.debt_flow_step) {
  color: #40566b;
  clear: both;
  font-size: calc(27 * var(--flow-u));
  font-weight: 500;
  line-height: 1.78;
  margin: 0;
}

.debt_flow_line {
  align-items: center;
  background-color: rgb(30, 80, 162);
  border: calc(2 * var(--flow-u)) solid rgba(255, 255, 255, 0.78);
  border-radius: calc(999 * var(--flow-u));
  box-shadow: 0 calc(3 * var(--flow-u)) calc(6 * var(--flow-u)) rgba(16, 60, 130, 0.16);
  clear: both;
  display: flex;
  justify-content: center;
  margin: calc(22 * var(--flow-u)) calc(2 * var(--flow-u)) calc(42 * var(--flow-u));
  min-height: calc(78 * var(--flow-u));
  padding: calc(13 * var(--flow-u)) calc(14 * var(--flow-u));
}

.debt_flow_line img {
  flex: 0 0 auto;
  height: calc(34 * var(--flow-u));
  margin-right: calc(8 * var(--flow-u));
  object-fit: contain;
  width: calc(38 * var(--flow-u));
}

.debt_flow_line span {
  color: #fff;
  font-size: calc(28 * var(--flow-u));
  font-weight: 500;
  letter-spacing: calc(1.3 * var(--flow-u));
  line-height: 1;
  white-space: nowrap;
}

.debt_flow_line .debt_flow_line_action {
  height: calc(33 * var(--flow-u));
  margin: 0 0 0 calc(7 * var(--flow-u));
  width: calc(37 * var(--flow-u));
}

.debt_flow_stop {
  background:
    repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.08) 0, rgba(255, 255, 255, 0.08) calc(9 * var(--flow-u)), transparent calc(9 * var(--flow-u)), transparent calc(25 * var(--flow-u))),
    #d94a13;
  border: calc(2 * var(--flow-u)) solid rgba(255, 223, 185, 0.82);
  border-radius: calc(18 * var(--flow-u));
  box-shadow:
    0 calc(6 * var(--flow-u)) 0 #9f360d,
    0 calc(8 * var(--flow-u)) calc(10 * var(--flow-u)) rgba(191, 78, 25, 0.16);
  color: #fff;
  margin: calc(-4 * var(--flow-u)) auto calc(-16 * var(--flow-u));
  max-width: calc(592 * var(--flow-u));
  padding: calc(34 * var(--flow-u)) calc(28 * var(--flow-u)) calc(31 * var(--flow-u));
  position: relative;
  text-align: center;
}

.debt_flow_stop p {
  color: #fff;
  font-size: calc(26 * var(--flow-u));
  font-weight: 600;
  line-height: 1.45;
  margin: 0;
}

.debt_flow_stop strong {
  color: #fff6a5;
  display: block;
  font-size: calc(39 * var(--flow-u));
  font-weight: 800;
  line-height: 1.22;
  margin: calc(11 * var(--flow-u)) 0 calc(10 * var(--flow-u));
  text-shadow: calc(2 * var(--flow-u)) calc(2 * var(--flow-u)) 0 rgba(109, 58, 11, 0.2);
  white-space: nowrap;
}

.debt_flow_stop small {
  border-top: calc(2 * var(--flow-u)) solid rgba(255, 247, 193, 0.82);
  color: #fff;
  display: block;
  font-size: calc(22 * var(--flow-u));
  font-weight: 500;
  line-height: 1.45;
  padding-top: calc(11 * var(--flow-u));
}
/* 解決までの流れセクション閉じ */

/* FAQセクション */
.qa {
  --qa-u: min(0.15625vw, 1.21875px);
  background-color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0;
  padding: calc(59 * var(--qa-u)) 0 0;
}

.qa_heading {
  height: calc(261 * var(--qa-u));
  position: relative;
}

.qa_heading_bg {
  color: #eef8ff;
  font-family: "Lato", sans-serif;
  font-size: calc(66 * var(--qa-u));
  font-weight: 900;
  left: 50%;
  line-height: 1;
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  white-space: nowrap;
}

.qa_heading_main {
  color: #1e50a2;
  font-family: "Lato", sans-serif;
  font-size: calc(66 * var(--qa-u));
  font-weight: 700;
  letter-spacing: calc(7 * var(--qa-u));
  left: 50%;
  line-height: 1;
  position: absolute;
  top: calc(18 * var(--qa-u));
  transform: translateX(-50%);
}

.qa_heading_label {
  color: #1e50a2;
  font-size: calc(34 * var(--qa-u));
  font-weight: 700;
  left: 50%;
  line-height: 1.4;
  position: absolute;
  text-align: center;
  top: calc(96 * var(--qa-u));
  transform: translateX(-50%);
  width: calc(560 * var(--qa-u));
}

.qa_heading_text {
  color: #4b4b4b;
  font-size: calc(24 * var(--qa-u));
  font-weight: 500;
  left: 50%;
  line-height: 1.78;
  position: absolute;
  text-align: left;
  top: calc(150 * var(--qa-u));
  transform: translateX(-50%);
  width: calc(560 * var(--qa-u));
}

.qa_faq_list {
  background-color: #fff;
}

.qa_faq_item {
  background-color: #fff;
  padding: calc(34 * var(--qa-u)) calc(31 * var(--qa-u)) calc(33 * var(--qa-u));
}

.qa_faq_item:nth-child(even) {
  background-color: #f7f7f7;
}

.qa_question {
  align-items: flex-start;
  margin: 0;
}

.qa_question_button {
  align-items: flex-start;
  background-color: transparent;
  display: flex;
  gap: calc(16 * var(--qa-u));
  padding: 0 calc(58 * var(--qa-u)) calc(22 * var(--qa-u)) 0;
  position: relative;
  text-align: left;
  width: 100%;
}

.qa_question_button:hover {
  cursor: pointer;
}

.qa_question_button span:last-child {
  color: #24364f;
  flex: 1;
  font-size: calc(26 * var(--qa-u));
  font-weight: 700;
  line-height: 1.48;
  padding-top: calc(2 * var(--qa-u));
}

.qa_question_button::before,
.qa_question_button::after {
  background-color: #1e50a2;
  content: "";
  display: block;
  position: absolute;
  right: calc(9 * var(--qa-u));
  top: calc(22 * var(--qa-u));
}

.qa_question_button::before {
  height: calc(4 * var(--qa-u));
  width: calc(31 * var(--qa-u));
}

.qa_question_button::after {
  height: calc(31 * var(--qa-u));
  right: calc(22.5 * var(--qa-u));
  top: calc(8.5 * var(--qa-u));
  width: calc(4 * var(--qa-u));
}

.qa_faq_item.is-open .qa_question_button::after {
  display: none;
}

.qa_badge {
  align-items: center;
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  flex: 0 0 calc(44 * var(--qa-u));
  font-family: "Lato", sans-serif;
  font-size: calc(25 * var(--qa-u));
  font-weight: 700;
  height: calc(44 * var(--qa-u));
  justify-content: center;
  line-height: 1;
  width: calc(44 * var(--qa-u));
}

.qa_badge_question {
  background-color: #1e50a2;
}

.qa_badge_answer {
  background-color: #f26522;
}

.qa_answer {
  align-items: flex-start;
  border-top: calc(2 * var(--qa-u)) solid rgba(242, 101, 34, 0.28);
  gap: calc(17 * var(--qa-u));
  display: none;
  padding-top: calc(22 * var(--qa-u));
}

.qa_faq_item.is-open .qa_answer {
  display: flex;
}

.qa_answer p {
  color: #4b4b4b;
  flex: 1;
  font-size: calc(25 * var(--qa-u));
  font-weight: 500;
  line-height: 1.95;
  padding-right: calc(11 * var(--qa-u));
}

.qa_contact_asset {
  background-color: #fff;
  height: calc(330 * var(--qa-u));
  margin: 0;
  overflow: hidden;
  padding: 0;
  position: relative;
}

.qa_contact_asset img {
  display: block;
  height: 100%;
  object-fit: cover;
  object-position: center 68%;
  transform: scale(1.46);
  transform-origin: 86% 64%;
  width: 100%;
}

.qa_contact_copy {
  align-items: flex-start;
  background: none;
  border: 0;
  border-radius: 0;
  bottom: calc(30 * var(--qa-u));
  box-shadow: none;
  display: flex;
  flex-direction: column;
  left: 0;
  padding: 0;
  position: absolute;
  text-align: left;
  z-index: 2;
}

.qa_contact_copy small {
  background: #0875c9;
  color: #fff;
  display: inline-block;
  font-size: calc(28 * var(--qa-u));
  font-weight: 600;
  line-height: 1.4;
  margin-bottom: calc(5 * var(--qa-u));
  padding: calc(5 * var(--qa-u)) calc(13 * var(--qa-u));
}

.qa_contact_copy strong {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  font-size: calc(32 * var(--qa-u));
  font-weight: 700;
  letter-spacing: calc(1 * var(--qa-u));
  line-height: 1.3;
}

.qa_contact_copy strong span {
  background: #0875c9;
  color: #fff;
  display: block;
  margin-top: calc(5 * var(--qa-u));
  padding: calc(5 * var(--qa-u)) calc(13 * var(--qa-u)) calc(6 * var(--qa-u));
}
/* FAQセクション閉じ */





.cta {
  position: relative;
}

.cta div {
  width: 78rem;
  margin: 0 auto;
}

@keyframes kirari {
  0% {
    -webkit-transform: scale(0) rotate(25deg);
    opacity: 0;
  }

  75% {
    -webkit-transform: scale(0) rotate(25deg);
    opacity: 0.5;
  }

  76% {
    -webkit-transform: scale(4) rotate(25deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: scale(50) rotate(25deg);
    opacity: 0;
  }
}

/* ==================================================

FV下のCTA01_<div class="cta cta_fv" id="fv_line">

================================================== --> */



.cta_fv {
  --fv-cta-u: min(0.15625vw, 1.21875px);
  --debt-cta-u: var(--fv-cta-u);
  background-color: #fff6bd;
  position: relative;
}

.cta_fv > img {
  display: block;
  width: 100%;
}

.cta_fv .fv_line_btn {
  left: 50%;
  position: absolute;
  top: calc(177 * var(--fv-cta-u));
  transform: translateX(-50%);
  width: calc(608 * var(--fv-cta-u));
  z-index: 2;
}

.cta_fv .debt_cta_btn {
  min-height: calc(116 * var(--fv-cta-u));
  width: 100%;
}

.cta_fv .debt_cta_ribbon {
  top: calc(-31 * var(--fv-cta-u));
}

.cta_fv .debt_cta_main {
  font-size: calc(39 * var(--fv-cta-u));
}

.fv_cta_pair {
  --fv-cta-u: min(0.1484375vw, 1.1578125px);
  --debt-cta-u: var(--fv-cta-u);
  background: #eef8ff;
  display: flow-root;
  padding: 0 calc(18 * var(--fv-cta-u)) calc(30 * var(--fv-cta-u));
  position: relative;
}

.fv_cta_pair::after {
  content: none;
}

.fv_cta_panel {
  background: #fff;
  border: calc(5 * var(--fv-cta-u)) solid #1e50a2;
  border-radius: calc(28 * var(--fv-cta-u));
  box-shadow:
    0 0 0 calc(6 * var(--fv-cta-u)) rgba(65, 171, 223, 0.22),
    0 calc(12 * var(--fv-cta-u)) calc(24 * var(--fv-cta-u)) rgba(19, 95, 148, 0.16);
  margin: 0 auto;
  max-width: calc(668 * var(--fv-cta-u));
  padding: calc(110 * var(--fv-cta-u)) calc(22 * var(--fv-cta-u)) calc(24 * var(--fv-cta-u));
  position: relative;
}

.fv_cta_panel_label {
  align-items: center;
  background-color: #1e50a2;
  border: calc(3 * var(--fv-cta-u)) solid rgba(255, 255, 255, 0.92);
  border-radius: calc(999 * var(--fv-cta-u));
  box-shadow: 0 calc(4 * var(--fv-cta-u)) calc(10 * var(--fv-cta-u)) rgba(25, 100, 154, 0.2);
  display: flex;
  flex-direction: column;
  gap: calc(7 * var(--fv-cta-u));
  justify-content: center;
  left: 50%;
  line-height: 1.1;
  min-height: calc(112 * var(--fv-cta-u));
  padding: calc(21 * var(--fv-cta-u)) calc(32 * var(--fv-cta-u));
  position: absolute;
  text-align: center;
  top: calc(-50 * var(--fv-cta-u));
  transform: translateX(-50%);
  width: min(88%, calc(552 * var(--fv-cta-u)));
  z-index: 4;
}

.fv_cta_panel_label > span {
  color: #fff;
  display: block;
  font-size: calc(23 * var(--fv-cta-u));
  font-weight: 600;
  letter-spacing: calc(2 * var(--fv-cta-u));
}

.fv_cta_panel_label b {
  color: #fff;
  display: block;
  font-size: calc(36 * var(--fv-cta-u));
  font-weight: 700;
  letter-spacing: calc(3 * var(--fv-cta-u));
}

.fv_cta_panel_label b span {
  color: #fff33f;
}

.fv_cta_panel_label b span i {
  color: #fff;
  font-style: normal;
}

.fv_cta_pair .debt_cta_btn {
  box-shadow:
    calc(8 * var(--fv-cta-u)) calc(8 * var(--fv-cta-u)) 0 rgba(30, 120, 189, 0.12),
    0 calc(4 * var(--fv-cta-u)) calc(7 * var(--fv-cta-u)) var(--debt-cta-shadow);
  margin: 0 0 calc(56 * var(--fv-cta-u));
}

.fv_cta_pair .debt_cta_mail {
  margin-bottom: calc(28 * var(--fv-cta-u));
}

.fv_cta_pair .debt_cta_btn:last-child {
  margin-bottom: 0;
}

.fv_cta_pair .debt_cta_badges {
  gap: calc(8 * var(--fv-cta-u));
  margin: calc(10 * var(--fv-cta-u)) 0 0;
}

.fv_cta_pair .debt_cta_badges li {
  border-radius: calc(8 * var(--fv-cta-u));
  font-size: calc(19.5 * var(--fv-cta-u));
  height: auto;
  letter-spacing: 0;
  line-height: 1.22;
  min-height: calc(52 * var(--fv-cta-u));
  min-width: 0;
  padding: calc(6 * var(--fv-cta-u)) calc(5 * var(--fv-cta-u));
  text-align: center;
  white-space: normal;
}

.fv_cta_pair .debt_cta_badges li::before {
  flex: 0 0 calc(24 * var(--fv-cta-u));
  font-size: calc(18 * var(--fv-cta-u));
  height: calc(24 * var(--fv-cta-u));
  margin-right: calc(5 * var(--fv-cta-u));
  width: calc(24 * var(--fv-cta-u));
}

.fv_cta_stop_box {
  align-items: center;
  background-color: #1769bb;
  border-radius: 0 0 calc(22 * var(--fv-cta-u)) calc(22 * var(--fv-cta-u));
  display: grid;
  gap: calc(16 * var(--fv-cta-u));
  grid-template-columns: calc(178 * var(--fv-cta-u)) minmax(0, 1fr);
  margin: calc(18 * var(--fv-cta-u)) calc(-22 * var(--fv-cta-u)) calc(-24 * var(--fv-cta-u));
  min-height: calc(176 * var(--fv-cta-u));
  overflow: hidden;
  padding: 0 calc(18 * var(--fv-cta-u)) 0 0;
}

.fv_cta_stop_photo {
  align-self: stretch;
  height: 100%;
  margin: 0;
  min-height: 100%;
  overflow: hidden;
  position: relative;
}

.fv_cta_stop_photo::after {
  content: none;
}

.fv_cta_stop_photo img {
  display: block;
  height: 100%;
  object-fit: cover;
  object-position: left center;
  width: 100%;
}

.fv_cta_stop_body {
  padding: calc(14 * var(--fv-cta-u)) 0 calc(16 * var(--fv-cta-u));
}

.fv_cta_stop_heading {
  align-items: center;
  border-bottom: calc(3 * var(--fv-cta-u)) dotted rgba(255, 255, 255, 0.72);
  color: #fff;
  display: flex;
  flex-wrap: nowrap;
  font-size: calc(28 * var(--fv-cta-u));
  font-weight: 700;
  gap: calc(8 * var(--fv-cta-u));
  letter-spacing: 0;
  line-height: 1.15;
  margin: 0 0 calc(13 * var(--fv-cta-u));
  padding-bottom: calc(10 * var(--fv-cta-u));
  white-space: nowrap;
}

.fv_cta_stop_heading b {
  background-color: #fff;
  border-radius: calc(8 * var(--fv-cta-u));
  color: #123c78;
  display: inline-flex;
  font-family: "Oswald", "Noto Sans JP", sans-serif;
  font-size: calc(30 * var(--fv-cta-u));
  font-weight: 500;
  letter-spacing: calc(2 * var(--fv-cta-u));
  line-height: 1;
  padding: calc(7 * var(--fv-cta-u)) calc(10 * var(--fv-cta-u)) calc(9 * var(--fv-cta-u));
}

.fv_cta_stop_text {
  color: #fff;
  font-size: calc(25 * var(--fv-cta-u));
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.48;
  margin: 0;
}

.fv_cta_stop_text em {
  color: #fff;
  font-style: normal;
}

.fv_cta_stop_text strong {
  color: #ffe64d;
  font-weight: 700;
}

/* ==================================================

FV下のCTA01_<div class="cta cta_fv" id="fv_line">

================================================== --> */

/* ==================================================
   解決事例セクション
   .section-solution
================================================== */

.section-solution {
  background-color: #E4F5F9;
  width: 100%;
  padding-bottom: 60px;
  font-family: "Noto Sans JP", sans-serif;
}

/* コンテナ：SP基準の幅でPCも中央表示 */
.solution-container {
  width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
}

/* --- タイトル画像 --- */
.solution-title {
  width: 100%;
  text-align: center;
}

.solution-title img {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

/* --- 導入テキスト --- */
.solution-intro {
  color: #333333;
  font-size: 2.8rem;
  line-height: 1.8;
  text-align: left;
  margin: 30px 1em;
  font-weight: 500;
}

@media (max-width: 768px) {

  /* --- 導入テキスト --- */
  .solution-intro {
    color: #333333;
    font-size: 3.6rem;
    line-height: 1.8;
    text-align: left;
    margin: 30px 10px;
    font-weight: 500;
  }
}


/* 強調部分 */
.solution-intro .highlight {
  color: #F25D22;
  font-weight: bold;
}

/* --- 画像エリア --- */
.solution-images {
  width: 100%;
}

.case-img {
  margin-bottom: 20px;
  /* 画像同士の間隔 */
}


.case-img img {
  width: 100%;
  height: auto;
  display: block;

}

/* 最後の画像だけ下の余白を消す */
.case-img:last-child {
  margin-bottom: 0;
}

/* ==================================================
   解決事例セクション
   .section-solution
================================================== */
/* ==================================================
  解決のロジックセクション
<section class="logic-section">
================================================== */


/* --- セクション全体設定 --- */
.logic-section {
  width: 100%;
  background: linear-gradient(180deg, #FBF3EB 0%, #FFFFFF 100%);
  padding-bottom: 60px;
  font-family: "Noto Sans JP", sans-serif;
  box-sizing: border-box;
}

@media (max-width: 768px) {

  /* --- セクション全体設定 --- */
  .logic-section {
    width: 100%;
    background: linear-gradient(180deg, #FBF3EB 0%, #FFFFFF 100%);
    padding-bottom: 10px;
    font-family: "Noto Sans JP", sans-serif;
    box-sizing: border-box;
  }
}

/* コンテナ */
.logic-container {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
}

/* --- タイトル画像 --- */
.logic-title {
  width: 100%;
  line-height: 0;
}

.logic-title img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

/* --- テキスト共通設定（導入・締めくくり） --- */
.logic-text {
  color: #333333;
  font-size: 3.6rem;
  line-height: 1.8;
  text-align: center;
  font-weight: 500;
  margin: 20px 20px;
  letter-spacing: 0.05em;
}

/* 強調部分（オレンジ・太字） */
.logic-text .highlight {
  color: #F25D22;
  font-weight: bold;
}

/* --- 画像エリア --- */
.logic-images {
  width: 100%;
  margin: 0;
  padding: 0;
}

.logic-img-item {
  width: 100%;
  line-height: 0;
  /* 画像の上下に隙間ができないようにする */
  margin: 0;
}

.logic-img-item img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0;
}



/* ==================================================
  解決のロジックセクション
<section class="logic-section">
================================================== */
/* ==================================================
  解決事例セクション
<section class="logic-section">
================================================== */

/* --- セクション全体設定 --- */
.voice-section {
  width: 100%;
  background-color: #fcf0de;
  padding-bottom: 80px;
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  overflow: hidden;
}

@media (min-width: 769px) {
  .voice-section {
    padding-bottom: 160px;
  }
}

/* コンテナ */
.voice-container {
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 100;
}

/* --- タイトル画像 --- */
.voice-title {
  width: 100%;
  line-height: 0;
  margin-bottom: 30px;
}

.voice-title img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

/* --- 事例画像リスト --- */
.voice-list {
  width: 100%;
  margin: 0 auto;
}

.voice-item {
  width: 100%;
  line-height: 0;
}

.voice-item img {
  width: 100%;
  height: auto;
  display: block;
}

/* 最後の事例だけ下の余白を調整 */
.voice-item:last-child {
  margin-bottom: 0;
}

/* --- 下部背景装飾（ハンマー） --- */
.voice-bg-bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 50;
  line-height: 0;
  pointer-events: none;
}

.voice-bg-bottom img {
  width: 100%;
  display: block;
  margin: 0 auto;
}

/* =========================================
   解決事例タイトル下本文
   ========================================= */

.bankruptcy-box {
  max-width: 900px;
  margin: 0 auto;
  padding: 0px 3rem 1rem;
}

.bankruptcy-title {
  font-size: 3.6rem;
  font-weight: bold;
  margin-bottom: 15px;
  line-height: 1.5;
  color: #F25D22;
}

.bankruptcy-text {
  font-size: 2.8rem;
  line-height: 1.8;
  color: #333;
}


/* ==================================================
  解決事例セクション
<section class="logic-section">
================================================== */

.reason {
  background-color: #fff;
}

.reason_wrap {
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: bottom left;
  padding: 0 0 10.4rem;
  margin-top: 7rem;
}

.reason_wrap dl {
  margin: 0 auto;
  margin-top: 2rem;
  position: relative;

}

.reason_wrap dl:not(:nth-last-of-type(1)) {
  border-bottom: none;
}

.reason_wrap dl:not(:nth-last-of-type(1))::after {
  content: "";
  position: absolute;
  left: 3rem;
  /* ← 線だけの左右余白 */
  right: 3rem;
  bottom: 0;
  height: 1.6px;
  background-color: #c9c9c9;
}

.reason_wrap dl dd {
  padding: 2rem 2rem 4.8rem;
}

.reason_wrap dl dd p {
  width: 73rem;
  font-size: 3.5rem;
  line-height: 1.7;
  margin: 0 auto;
}



/* ==================================================
 -事務所概要&代表挨拶セクション
================================================== */

/* --- セクション全体 --- */
.profile-section {
  --profile-u: min(0.15625vw, 1.21875px);
  background-color: #fff;
  box-sizing: border-box;
  font-family: "Noto Sans JP", sans-serif;
  overflow: hidden;
  padding: calc(58 * var(--profile-u)) calc(22 * var(--profile-u)) calc(64 * var(--profile-u));
  position: relative;
  width: 100%;
}

.profile-container {
  box-sizing: border-box;
  margin: 0 auto;
  max-width: calc(650 * var(--profile-u));
  padding: 0;
  position: relative;
  width: 100%;
  z-index: 2;
}

.profile-heading {
  margin: 0 0 calc(24 * var(--profile-u));
  text-align: center;
}

.profile-heading span {
  color: #1e50a2;
  display: block;
  font-family: "Lato", sans-serif;
  font-size: calc(20 * var(--profile-u));
  font-weight: 700;
  letter-spacing: calc(3 * var(--profile-u));
  line-height: 1;
  margin-bottom: calc(10 * var(--profile-u));
  padding: 0;
}

.profile-title {
  color: #24364f;
  font-size: calc(42 * var(--profile-u));
  font-weight: 600;
  line-height: 1.35;
  margin: 0;
  position: relative;
  text-align: center;
}

.profile-title::after {
  background-color: #1e50a2;
  border-radius: calc(999 * var(--profile-u));
  content: "";
  display: block;
  height: calc(3 * var(--profile-u));
  margin: calc(12 * var(--profile-u)) auto 0;
  width: calc(72 * var(--profile-u));
}

/* --- 事務所概要 --- */
.office-info {
  background-color: #fff;
  border: calc(1 * var(--profile-u)) solid #d8e5f3;
  border-radius: calc(10 * var(--profile-u));
  box-shadow: 0 calc(3 * var(--profile-u)) calc(10 * var(--profile-u)) rgba(55, 72, 55, 0.05);
  margin-bottom: calc(54 * var(--profile-u));
  overflow: hidden;
  padding: 0;
  text-align: left;
}

.office-row {
  align-items: stretch;
  display: grid;
  grid-template-columns: calc(178 * var(--profile-u)) 1fr;
  margin: 0;
  position: relative;
}

.office-row::after {
  background-color: #eef8ff;
  bottom: 0;
  content: "";
  display: block;
  height: calc(1 * var(--profile-u));
  left: 0;
  position: absolute;
  right: 0;
}

.office-row:last-child::after {
  display: none;
}

.office-info dt {
  align-items: center;
  background-color: #eef8ff;
  color: #1e50a2;
  display: flex;
  font-size: calc(23 * var(--profile-u));
  font-weight: 600;
  line-height: 1.45;
  padding: calc(18 * var(--profile-u)) calc(16 * var(--profile-u));
}

.office-info dd {
  align-items: center;
  color: #333;
  display: flex;
  font-size: calc(23 * var(--profile-u));
  font-weight: 400;
  line-height: 1.62;
  margin: 0;
  min-width: 0;
  padding: calc(18 * var(--profile-u)) calc(18 * var(--profile-u));
  word-break: break-word;
}

/* --- 代表挨拶エリア --- */
.profile-heading_message {
  margin: calc(18 * var(--profile-u)) 0 calc(44 * var(--profile-u));
}

.profile-heading_message span {
  color: #1e50a2;
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: calc(30 * var(--profile-u));
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.35;
  margin-bottom: calc(16 * var(--profile-u));
  padding-bottom: calc(3 * var(--profile-u));
  position: relative;
}

.profile-heading_message span::after {
  background-color: #1e50a2;
  bottom: 0;
  content: "";
  height: calc(3 * var(--profile-u));
  left: 0;
  position: absolute;
  width: 100%;
}

.profile-heading_message .profile-title {
  color: #24364f;
  font-size: calc(30 * var(--profile-u));
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.42;
}

.profile-heading_message .profile-office-name {
  display: inline-block;
  font-size: inherit;
  white-space: nowrap;
}

.profile-heading_message .profile-title::after {
  display: none;
}

.profile-card {
  --profile-content-inset: calc(24 * var(--profile-u));
  background-color: #fff;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
  padding: 0;
  position: relative;
  text-align: left;
}

.profile-image-box {
  background: transparent;
  border-radius: calc(8 * var(--profile-u));
  margin: 0 auto calc(28 * var(--profile-u));
  overflow: visible;
  padding: 0;
  position: relative;
  width: calc(100% - var(--profile-content-inset) - var(--profile-content-inset));
}

.lawyer-img {
  display: block;
  border-radius: inherit;
  height: calc(382 * var(--profile-u));
  margin: 0;
  object-fit: cover;
  object-position: 36% 24%;
  position: relative;
  width: 100%;
  z-index: 1;
}

.profile-photo {
  border-radius: inherit;
  display: block;
  height: calc(382 * var(--profile-u));
  object-fit: cover;
  object-position: center center;
  width: 100%;
}

/* ネームプレート */
.name-plate {
  background-color: #fff;
  border: 0;
  border-radius: 0 calc(8 * var(--profile-u)) 0 0;
  box-sizing: border-box;
  box-shadow: none;
  color: #222 !important;
  margin: calc(-50 * var(--profile-u)) auto 0 0;
  max-width: calc(500 * var(--profile-u));
  padding: calc(26 * var(--profile-u)) calc(24 * var(--profile-u)) calc(21 * var(--profile-u));
  position: relative;
  text-align: left;
  width: calc(88% - 16 * var(--profile-u));
  z-index: 3;
}

.name-plate p,
.name-plate h3 {
  color: #222;
}

.name-plate h3 {
  color: #1e50a2;
  display: block;
  font-size: calc(42 * var(--profile-u));
  font-weight: 700;
  letter-spacing: calc(1 * var(--profile-u));
  line-height: 1.2;
  margin: calc(18 * var(--profile-u)) 0 calc(12 * var(--profile-u));
}

.name-plate .position {
  display: block;
  font-size: calc(24 * var(--profile-u));
  font-weight: 600;
  line-height: 1.2;
  margin: 0;
}

.name-plate .association {
  color: #1e50a2;
  font-size: calc(23 * var(--profile-u));
  display: block;
  font-weight: 600;
  line-height: 1.45;
  margin: 0;
}

.name-plate .license {
  border-top: calc(2 * var(--profile-u)) solid #1e50a2;
  color: #1e50a2;
  font-size: calc(21 * var(--profile-u));
  font-weight: 600;
  line-height: 1.55;
  margin: calc(13 * var(--profile-u)) 0 0;
  padding-top: calc(13 * var(--profile-u));
}

/* 挨拶文 */
.profile-message {
  background-color: #fff;
  margin: 0 auto;
  max-width: calc(100% - var(--profile-content-inset) - var(--profile-content-inset));
  border-top: 0;
  padding: calc(5 * var(--profile-u)) 0 0;
  text-align: left;
  width: 100%;
}

.profile-message p {
  color: #333;
  font-size: calc(24 * var(--profile-u));
  font-weight: 400;
  line-height: 1.86;
  margin-bottom: calc(22 * var(--profile-u));
}

.profile-message p:last-child {
  margin-bottom: 0;
}

.profile-sign {
  border-top: calc(2 * var(--profile-u)) solid rgba(30, 80, 162, 0.16);
  color: #1e50a2 !important;
  font-weight: 600 !important;
  margin-top: calc(26 * var(--profile-u));
  padding-top: calc(20 * var(--profile-u));
  text-align: right;
}

/* --- 下部背景装飾 --- */
.profile-bg-bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 1;
  line-height: 0;
  pointer-events: none;
}

.profile-bg-bottom img {
  width: 100%;
  max-width: 600px;
  display: block;
  margin: 0 auto;
  opacity: 0.8;
}

/* SP調整 */
@media (max-width: 768px) {
  /* 必要に応じて微調整 */
}


/* ==================================================
 -事務所概要&代表挨拶セクション
================================================== */

header {
  width: 78rem;
  margin: 0 auto;
  overflow: hidden;
}

header h1 {
  background-color: #fff;
  padding: 0 2rem;
}

header h1 img {
  height: auto;
  margin: 0 auto;
  max-width: 13rem;
}

.brand_wordmark {
  align-items: center;
  color: #1e50a2;
  display: inline-flex;
  flex-direction: column;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.05em;
  line-height: 1.2;
  text-align: center;
}

header .brand_wordmark {
  padding: 0.5rem 0;
}

.brand_wordmark small {
  font-size: 1rem;
  font-weight: 700;
}

.brand_wordmark strong {
  font-size: 2rem;
  font-weight: 900;
  white-space: nowrap;
}

@media only screen and (max-width: 780px) {
  header {
    width: 100%;
  }

  header .brand_wordmark small {
    font-size: 2.4vw;
  }

  header .brand_wordmark strong {
    font-size: 4.6vw;
  }
}

@media only screen and (min-width: 1600px) {
  header {
    transform: none;
  }
}

/* ==================================================
   フッターエリア
================================================== */

.site_footer {
  background-color: #3f4b55;
  border-top: 0;
  margin: 0 auto 18rem;
  padding: 3.6rem 3rem 3.3rem;
  text-align: center;
  width: 78rem;
}

.site_footer_inner {
  margin: 0 auto;
  max-width: 66rem;
}

.site_footer_nav {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1.8rem;
  justify-content: center;
  margin: 0;
  padding: 0;
}

.site_footer_nav a {
  color: #fff;
  font-size: 2.1rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.4;
  padding: 0;
}

.site_footer_nav a + a {
  border-left: 0.1rem solid rgba(255, 255, 255, 0.5);
  padding-left: 1.8rem;
}

.site_footer_copy {
  color: rgba(255, 255, 255, 0.82);
  font-size: 1.65rem;
  line-height: 1.4;
  margin-top: 2.2rem;
}

@media only screen and (max-width: 780px) {
  .site_footer {
    margin-bottom: 34vw;
    padding: 7vw 5.2vw 6.2vw;
    width: 100%;
  }

  .site_footer_nav {
    gap: 3vw;
  }

  .site_footer_nav a {
    font-size: 3.7vw;
  }

  .site_footer_nav a + a {
    padding-left: 3vw;
  }

  .site_footer_copy {
    font-size: 3.1vw;
    margin-top: 4vw;
  }
}

/* ==================================================
   固定フッターCTA
================================================== */

.footer {
  --footer-u: min(0.15625vw, 1.21875px);
  background-color: #fff6bd;
  bottom: 0;
  box-shadow: 0 calc(-4 * var(--footer-u)) calc(12 * var(--footer-u)) rgba(31, 114, 45, 0.14);
  left: 0;
  margin: 0 auto;
  max-width: 100vw;
  padding: calc(28 * var(--footer-u)) calc(18 * var(--footer-u)) calc(10 * var(--footer-u));
  position: fixed;
  right: 0;
  width: 100vw;
  z-index: 100;
}

.footer_pc_logo {
  display: none;
}

.footer_cta {
  display: grid;
  gap: calc(10 * var(--footer-u));
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0 auto;
  max-width: calc(680 * var(--footer-u));
  width: 100%;
}

.footer_cta_btn {
  align-items: center;
  border-radius: calc(8 * var(--footer-u));
  border: calc(3 * var(--footer-u)) solid #fff;
  box-shadow: 0 calc(3 * var(--footer-u)) calc(7 * var(--footer-u)) rgba(38, 38, 38, 0.16);
  color: #fff;
  display: flex;
  flex-direction: row;
  font-size: calc(24 * var(--footer-u));
  font-weight: 500;
  gap: calc(11 * var(--footer-u));
  justify-content: center;
  line-height: 1.2;
  min-height: calc(94 * var(--footer-u));
  min-width: 0;
  overflow: visible;
  padding: calc(14 * var(--footer-u)) calc(9 * var(--footer-u)) calc(12 * var(--footer-u));
  position: relative;
  text-align: center;
}

.footer_cta_btn::before {
  content: none;
  display: none;
}

.footer_cta_btn::after {
  align-items: center;
  background-color: #fff33f;
  border-radius: calc(999 * var(--footer-u));
  box-shadow: 0 calc(2 * var(--footer-u)) calc(4 * var(--footer-u)) rgba(0, 0, 0, 0.18);
  color: #151515;
  content: "";
  display: flex;
  font-size: calc(18 * var(--footer-u));
  font-weight: 700;
  height: calc(31 * var(--footer-u));
  justify-content: center;
  left: 50%;
  letter-spacing: calc(1 * var(--footer-u));
  line-height: 1;
  min-width: calc(170 * var(--footer-u));
  padding: 0 calc(18 * var(--footer-u));
  position: absolute;
  top: calc(-18 * var(--footer-u));
  transform: translateX(-50%);
  white-space: nowrap;
  z-index: 4;
}

.footer_cta_btn span::before {
  content: none;
  display: none;
}

.footer_cta_btn img {
  display: block;
  height: calc(39 * var(--footer-u));
  margin-bottom: 0;
  object-fit: contain;
  position: relative;
  flex: 0 0 auto;
  width: calc(46 * var(--footer-u));
  z-index: 2;
}

.footer_cta_arrow {
  display: none;
}

.footer_cta_btn span {
  align-items: center;
  color: #fff;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: calc(3 * var(--footer-u));
  justify-content: center;
  min-width: 0;
  position: relative;
  z-index: 2;
}

.footer_cta_btn span b,
.footer_cta_btn span em {
  color: #fff;
  display: block;
  font-weight: 600;
  font-style: normal;
}

.footer_cta_btn span b {
  font-size: calc(23 * var(--footer-u));
  letter-spacing: calc(1 * var(--footer-u));
}

.footer_cta_btn span em {
  border-top: 0;
  font-size: calc(28 * var(--footer-u));
  margin-top: 0;
  padding-top: 0;
}

.footer_cta_mail {
  background: linear-gradient(135deg, #2f79bd 0%, #2f79bd 58%, #178bd8 100%);
}

.footer_cta_line {
  background: linear-gradient(180deg, #2f79bd 0%, #1e50a2 100%);
}

.footer_cta_tel {
  background: linear-gradient(135deg, #ed642c 0%, #f26522 58%, #ff9a5d 100%);
}

.footer_cta_tel::after {
  content: "お急ぎの方はこちら";
}

.footer_cta_mail::after {
  content: "フォームで無料相談";
}

.footer_cta_note {
  background-color: #fff;
  border-radius: calc(999 * var(--footer-u));
  color: #333;
  font-size: calc(22 * var(--footer-u));
  font-weight: 500;
  line-height: 1.35;
  margin: calc(12 * var(--footer-u)) auto 0;
  padding: calc(8 * var(--footer-u)) calc(10 * var(--footer-u));
  text-align: center;
}

/* Hakata Chuo CTA micro-variation */
.debt_cta_copy_panel {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.debt_cta_copy_label {
  background: #1e50a2;
  border-color: #1e50a2;
  border-radius: calc(9 * var(--debt-cta-u));
  box-sizing: border-box;
  color: #fff;
  font-size: calc(32 * var(--debt-cta-u));
  margin-bottom: calc(27 * var(--debt-cta-u));
  margin-left: 0;
  max-width: calc(435 * var(--debt-cta-u));
  padding-left: calc(20 * var(--debt-cta-u));
  padding-right: calc(20 * var(--debt-cta-u));
  width: fit-content;
}

.debt_cta_copy_label::after {
  border-left: calc(11 * var(--debt-cta-u)) solid transparent;
  border-right: calc(11 * var(--debt-cta-u)) solid transparent;
  border-top: calc(12 * var(--debt-cta-u)) solid #1e50a2;
  bottom: calc(-11 * var(--debt-cta-u));
  content: "";
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
}

.debt_cta_btn {
  border-radius: calc(22 * var(--debt-cta-u));
  box-shadow: inset 0 calc(-3 * var(--debt-cta-u)) 0 rgba(0, 0, 0, 0.13), 0 calc(6 * var(--debt-cta-u)) calc(12 * var(--debt-cta-u)) var(--debt-cta-shadow);
  transition: filter 180ms ease, transform 180ms ease;
}

.debt_cta_btn:hover {
  filter: saturate(1.06) brightness(1.03);
  transform: translateY(calc(-2 * var(--debt-cta-u)));
}

.debt_cta_btn::before {
  border-radius: calc(14 * var(--debt-cta-u)) calc(38 * var(--debt-cta-u)) 50% 30%;
  opacity: 0.72;
}

.debt_cta_tel {
  background: linear-gradient(135deg, #ed642c 0%, #f26522 58%, #ff9a5d 100%);
  border-color: rgba(255, 211, 151, 0.72);
}

.debt_cta_mail {
  background: linear-gradient(135deg, #2f79bd 0%, #2f79bd 58%, #178bd8 100%);
  border-color: rgba(190, 237, 255, 0.78);
}

.debt_cta_ribbon {
  border-radius: calc(9 * var(--debt-cta-u));
}

.debt_cta_badges li {
  background-color: #fffdf0;
  border: 1px solid rgba(30, 80, 162, 0.1);
  border-radius: calc(8 * var(--debt-cta-u));
}

.footer_cta_btn {
  border-radius: calc(16 * var(--footer-u));
  border-color: rgba(255, 255, 255, 0.86);
  box-shadow: inset 0 calc(-3 * var(--footer-u)) 0 rgba(0, 0, 0, 0.12), 0 calc(5 * var(--footer-u)) calc(12 * var(--footer-u)) rgba(30, 80, 162, 0.2);
}

/* FV内の案内ラベル：CTAではなく、やわらかな補足表示に */
.fv_cta_panel_label {
  background: #fff;
  border: calc(2 * var(--fv-cta-u)) solid #2f79bd;
  border-radius: calc(18 * var(--fv-cta-u));
  box-shadow: 0 calc(5 * var(--fv-cta-u)) calc(14 * var(--fv-cta-u)) rgba(30, 80, 162, 0.12);
  gap: calc(4 * var(--fv-cta-u));
  min-height: calc(96 * var(--fv-cta-u));
  padding: calc(16 * var(--fv-cta-u)) calc(30 * var(--fv-cta-u));
}

.fv_cta_panel_label > span {
  color: #334f68;
  font-size: calc(20 * var(--fv-cta-u));
  letter-spacing: calc(1 * var(--fv-cta-u));
}

.fv_cta_panel_label b {
  color: #1e50a2;
  font-size: calc(34 * var(--fv-cta-u));
  letter-spacing: calc(2 * var(--fv-cta-u));
}

.fv_cta_panel_label {
  gap: calc(3 * var(--fv-cta-u));
  min-height: calc(154 * var(--fv-cta-u));
  padding-bottom: calc(19 * var(--fv-cta-u));
  padding-top: calc(18 * var(--fv-cta-u));
}

.fv_cta_panel_points {
  border-top: calc(1 * var(--fv-cta-u)) solid #d8e5f3;
  display: grid;
  gap: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  margin: calc(8 * var(--fv-cta-u)) 0 0;
  padding: calc(9 * var(--fv-cta-u)) 0 0;
  width: 100%;
}

.fv_cta_panel_points li {
  color: #36566e;
  font-size: calc(17 * var(--fv-cta-u));
  font-weight: 700;
  line-height: 1.2;
  padding: 0 calc(8 * var(--fv-cta-u));
  text-align: center;
  white-space: nowrap;
}

.fv_cta_panel_points li + li {
  border-left: calc(1 * var(--fv-cta-u)) solid #d8e5f3;
}

.fv_cta_panel_points li::before {
  background: #f26522;
  border-radius: 50%;
  color: #fff;
  content: "✓";
  display: inline-flex;
  font-size: calc(13 * var(--fv-cta-u));
  height: calc(18 * var(--fv-cta-u));
  justify-content: center;
  line-height: 1;
  margin-right: calc(4 * var(--fv-cta-u));
  vertical-align: calc(1 * var(--fv-cta-u));
  width: calc(18 * var(--fv-cta-u));
}

/* FV下の無料相談案内：青緑の台形パネル */
.fv_cta_panel {
  margin-top: calc(42 * var(--fv-cta-u));
  padding-top: calc(90 * var(--fv-cta-u));
}

.fv_cta_panel_label {
  background: linear-gradient(180deg, #258ccb 0%, #1e50a2 100%);
  border: 0;
  border-radius: 0;
  box-shadow: 0 calc(9 * var(--fv-cta-u)) calc(17 * var(--fv-cta-u)) rgba(10, 93, 135, .28);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 10 * var(--fv-cta-u)), 50% 100%, 0 calc(100% - 10 * var(--fv-cta-u)));
  gap: calc(4 * var(--fv-cta-u));
  min-height: calc(100 * var(--fv-cta-u));
  padding: calc(7 * var(--fv-cta-u)) calc(24 * var(--fv-cta-u)) calc(17 * var(--fv-cta-u));
  top: calc(-50 * var(--fv-cta-u));
  width: min(90%, calc(590 * var(--fv-cta-u)));
}

.fv_cta_panel_label b {
  color: #fff;
  font-size: calc(30 * var(--fv-cta-u));
  font-weight: 600;
  letter-spacing: calc(1 * var(--fv-cta-u));
  line-height: 1.2;
}

.fv_cta_panel_label b small {
  color: #fff;
  display: block;
  font-size: calc(21 * var(--fv-cta-u));
  font-weight: 600;
  letter-spacing: calc(1 * var(--fv-cta-u));
  line-height: 1.15;
  margin-bottom: calc(2 * var(--fv-cta-u));
}

.fv_cta_panel_label b span {
  color: #fff33f;
}

.fv_cta_panel_points {
  border-top: calc(1 * var(--fv-cta-u)) solid rgba(255, 255, 255, .54);
  margin-top: calc(2 * var(--fv-cta-u));
  padding-top: calc(9 * var(--fv-cta-u));
}

.fv_cta_panel_points li {
  align-items: center;
  color: #fff;
  display: flex;
  font-size: calc(21 * var(--fv-cta-u));
  justify-content: center;
}

.fv_cta_panel_points li + li {
  border-left-color: rgba(255, 255, 255, .45);
}

.fv_cta_panel_points li::before {
  background: #fff33f;
  color: #2f79bd;
  flex: 0 0 calc(18 * var(--fv-cta-u));
  margin-right: calc(5 * var(--fv-cta-u));
  vertical-align: 0;
}

.debt_cta_badges {
  background: #178bd8;
  border: calc(1 * var(--debt-cta-u)) solid rgba(255, 255, 255, 0.55);
  border-radius: calc(10 * var(--debt-cta-u));
  box-shadow: 0 calc(4 * var(--debt-cta-u)) calc(10 * var(--debt-cta-u)) rgba(30, 80, 162, 0.13);
  gap: 0;
  overflow: hidden;
}

.debt_cta_badges li,
.fv_cta_pair .debt_cta_badges li {
  background: transparent;
  border: 0;
  border-left: calc(1 * var(--debt-cta-u)) solid rgba(255, 255, 255, 0.52);
  border-radius: 0;
  color: #fff;
}

.debt_cta_badges li:first-child {
  border-left: 0;
}

.debt_cta_badges li::before,
.fv_cta_pair .debt_cta_badges li::before {
  background: #f26522;
  color: #fff;
}

@media only screen and (min-width: 781px) {
  .debt_worry {
    --worry-u: 0.609375px;
  }

  .debt_cta {
    --debt-cta-u: 0.579px;
  }

  .debt_possibility {
    --possibility-u: 0.609375px;
  }

  .debt_diagnosis {
    --diagnosis-u: 0.609375px;
  }

  .debt_solution {
    --solution-u: 0.609375px;
  }

  .debt_delegate {
    --delegate-u: 0.609375px;
  }

  .debt_reason {
    --reason-u: 0.609375px;
  }

  .debt_privacy {
    --privacy-u: 0.609375px;
  }

  .debt_peace {
    --peace-u: 0.609375px;
  }

  .debt_flow {
    --flow-u: 0.609375px;
  }

  .qa {
    --qa-u: 0.609375px;
  }

  .cta_fv {
    --fv-cta-u: 0.609375px;
  }

  .fv_cta_pair {
    --fv-cta-u: 0.579px;
  }

  .profile-section {
    --profile-u: 0.609375px;
  }

  .footer {
    --footer-u: 0.975px;
    background-color: #fff;
    border-top: calc(3 * var(--footer-u)) solid #1e50a2;
    box-shadow: 0 calc(-3 * var(--footer-u)) calc(14 * var(--footer-u)) rgba(30, 80, 162, 0.16);
    max-width: none;
    padding: calc(18 * var(--footer-u)) calc(24 * var(--footer-u)) calc(8 * var(--footer-u));
  }

  .footer_pc_bar {
    align-items: center;
    display: flex;
    gap: calc(28 * var(--footer-u));
    justify-content: center;
    margin: 0 auto;
    max-width: calc(1320 * var(--footer-u));
    min-height: calc(76 * var(--footer-u));
    position: relative;
    width: 100%;
  }

  .footer_pc_bar::after {
    content: none;
  }

  .footer_pc_logo {
    display: none;
  }

  .footer_pc_logo img {
    display: block;
    height: auto;
    max-height: calc(44 * var(--footer-u));
    object-fit: contain;
    width: calc(222 * var(--footer-u));
  }

  .footer_pc_logo .brand_wordmark {
    color: #1e50a2;
    transform: scale(0.78);
  }

  .footer_cta {
    display: flex;
    flex: 0 1 calc(660 * var(--footer-u));
    gap: calc(14 * var(--footer-u));
    margin: 0 auto;
    max-width: none;
    width: auto;
  }

  .footer_cta_btn {
    border: calc(2 * var(--footer-u)) solid rgba(255, 255, 255, 0.86);
    border-radius: calc(16 * var(--footer-u));
    box-shadow: inset 0 calc(-3 * var(--footer-u)) 0 rgba(0, 0, 0, 0.12), 0 calc(5 * var(--footer-u)) calc(12 * var(--footer-u)) rgba(30, 80, 162, 0.2);
    flex: 1 1 calc(315 * var(--footer-u));
    gap: calc(12 * var(--footer-u));
    min-height: calc(72 * var(--footer-u));
    overflow: visible;
    padding: calc(14 * var(--footer-u)) calc(15 * var(--footer-u)) calc(10 * var(--footer-u));
  }

  .footer_cta_btn::after {
    font-size: calc(15 * var(--footer-u));
    font-weight: 600;
    height: calc(25 * var(--footer-u));
    min-width: calc(138 * var(--footer-u));
    padding: 0 calc(14 * var(--footer-u));
    top: calc(-14 * var(--footer-u));
  }

  .footer_cta_btn::before {
    display: none;
  }

  .footer_cta_btn > img {
    display: block;
    height: calc(38 * var(--footer-u));
    margin: 0;
    object-fit: contain;
    width: calc(44 * var(--footer-u));
  }

  .footer_cta_line > img {
    height: calc(43 * var(--footer-u));
    width: calc(49 * var(--footer-u));
  }

  .footer_cta_arrow {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    height: calc(34 * var(--footer-u));
    justify-content: center;
    margin-left: calc(2 * var(--footer-u));
    position: relative;
    width: calc(34 * var(--footer-u));
    z-index: 2;
  }

  .footer_cta_arrow img {
    display: block;
    height: 100%;
    margin: 0;
    object-fit: contain;
    width: 100%;
  }

  .footer_cta_line_add {
    height: calc(37 * var(--footer-u));
    width: calc(42 * var(--footer-u));
  }

  .footer_cta_btn span {
    align-items: baseline;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 0;
    justify-content: center;
    line-height: 1;
    white-space: nowrap;
  }

  .footer_cta_btn span::before {
    display: none;
  }

  .footer_cta_btn span b,
  .footer_cta_btn span em {
    display: inline-block;
    font-weight: 500;
  }

  .footer_cta_btn span b {
    font-size: calc(20 * var(--footer-u));
    letter-spacing: 0;
  }

  .footer_cta_btn span em {
    font-size: calc(20 * var(--footer-u));
  }

  .footer_cta_mail {
    background: linear-gradient(135deg, #2f79bd 0%, #2f79bd 58%, #178bd8 100%);
    order: 2;
  }

  .footer_cta_tel {
    background: linear-gradient(135deg, #ed642c 0%, #f26522 58%, #ff9a5d 100%);
    order: 1;
  }

  .footer_cta_note {
    display: none;
  }

  .debt_diagnosis {
    padding-bottom: calc(72 * var(--diagnosis-u));
    padding-top: calc(62 * var(--diagnosis-u));
  }

  .debt_diagnosis_steps {
    grid-template-columns: repeat(3, 1fr);
  }

  .debt_diagnosis_step {
    flex-direction: column;
    gap: calc(12 * var(--diagnosis-u));
    justify-content: center;
    min-height: calc(174 * var(--diagnosis-u));
    padding: calc(20 * var(--diagnosis-u));
    text-align: center;
  }

  .debt_diagnosis_step:not(:last-child)::after {
    border-bottom: calc(12 * var(--diagnosis-u)) solid transparent;
    border-left: calc(12 * var(--diagnosis-u)) solid #1e50a2;
    border-right: 0;
    border-top: calc(12 * var(--diagnosis-u)) solid transparent;
    bottom: auto;
    left: auto;
    right: calc(-28 * var(--diagnosis-u));
    top: 50%;
    transform: translateY(-50%);
  }

  .debt_diagnosis_results ul {
    grid-template-columns: repeat(6, 1fr);
  }

  .debt_diagnosis_results li {
    grid-column: span 2;
  }

  .debt_diagnosis_results li:nth-child(4) {
    grid-column: 2 / span 2;
  }

  .debt_diagnosis_results li:nth-child(5) {
    grid-column: 4 / span 2;
  }
}

@media only screen and (min-width: 781px) and (max-width: 1180px) {
  .footer_pc_bar {
    max-width: calc(940 * var(--footer-u));
  }

  .footer_pc_logo {
    display: none;
  }

  .footer_cta {
    flex: 1 1 auto;
    max-width: calc(720 * var(--footer-u));
    width: 100%;
  }
}

.footer_cta_note span {
  color: #f26522;
}

@media only screen and (max-width: 780px) {
  .footer {
    padding-bottom: calc(14 * var(--footer-u));
    padding-left: calc(6 * var(--footer-u));
    padding-right: calc(6 * var(--footer-u));
    padding-top: calc(39 * var(--footer-u));
  }

  .footer_cta {
    gap: calc(6 * var(--footer-u));
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
  }

  .footer_cta_btn {
    border-radius: calc(14 * var(--footer-u));
    gap: calc(10 * var(--footer-u));
    justify-content: flex-start;
    min-height: calc(132 * var(--footer-u));
    padding: calc(24 * var(--footer-u)) calc(8 * var(--footer-u)) calc(18 * var(--footer-u)) calc(18 * var(--footer-u));
    width: 100%;
  }

  .footer_cta_btn::after {
    font-size: calc(20 * var(--footer-u));
    height: calc(42 * var(--footer-u));
    min-width: calc(182 * var(--footer-u));
    padding: 0 calc(18 * var(--footer-u));
    top: calc(-26 * var(--footer-u));
  }

  .footer_cta_btn img {
    height: calc(40 * var(--footer-u));
    margin-left: calc(6 * var(--footer-u));
    width: calc(45 * var(--footer-u));
  }

  .footer_cta_btn span b {
    font-size: calc(25 * var(--footer-u));
    letter-spacing: 0;
  }

  .footer_cta_btn span em {
    border-top: calc(2 * var(--footer-u)) dotted rgba(255, 255, 255, 0.82);
    font-size: calc(31 * var(--footer-u));
    margin-top: calc(4 * var(--footer-u));
    padding-top: calc(5 * var(--footer-u));
  }

  .footer_cta_btn span {
    flex: 1 1 auto;
    line-height: 1.05;
    white-space: normal;
  }
}

/* ==================================================
   プライバシーポリシーページ
================================================== */

.privacy_page {
  background-color: #fff;
}

.privacy_page_hero {
  background: linear-gradient(135deg, #1e50a2 0%, #2f79bd 100%);
  margin: 0 auto;
  padding: 5.2rem 3rem 5.6rem;
  text-align: center;
  width: 78rem;
}

.privacy_page_hero p {
  color: #eef8ff;
  font-family: "Lato", sans-serif;
  font-size: 2.6rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.4;
  margin-bottom: 1.2rem;
}

.privacy_page_hero h2 {
  color: #fff;
  font-size: 5.2rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.35;
}

.privacy_page_main {
  background-color: #fff;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  margin: 0 auto;
  padding: 5.5rem 4.8rem 7rem;
  position: relative;
}

.privacy_page_main::before {
  content: "";
  display: none;
}

.privacy_page_section h3 {
  background-color: transparent;
  border-bottom: 0.1rem solid #d8e5f3;
  border-left: 0.55rem solid #1e50a2;
  border-radius: 0;
  color: #1e50a2;
  font-size: 3.35rem;
  font-weight: 500;
  line-height: 1.5;
  margin: 0 0 2rem;
  padding: 0.2rem 0 1.5rem 1.4rem;
}

.privacy_page_section h3:not(:first-child) {
  font-weight: 600;
  margin-top: 4.4rem;
}

.privacy_page_section p,
.privacy_page_section li {
  color: #2f3540;
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1.9;
}

.privacy_page_section ul {
  margin: 1.4rem 0 0;
}

.privacy_page_section li {
  padding-left: 1.5em;
  position: relative;
}

.privacy_page_section li::before {
  color: #1e50a2;
  content: "・";
  left: 0;
  position: absolute;
}

.privacy_fee_section {
  border-top: 0.2rem solid #d8e5f3;
  margin-top: 4rem;
  padding-top: 3.5rem;
  scroll-margin-top: 3rem;
}

.privacy_fee_eyebrow {
  color: #2f79bd;
  font-family: "Lato", sans-serif;
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1;
  margin-bottom: 0.7rem;
  text-align: center;
}

.privacy_fee_section > h2 {
  color: #1e50a2;
  font-size: 4.6rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.35;
  text-align: center;
}

.privacy_fee_intro {
  color: #2f3540;
  font-size: 2.5rem;
  line-height: 1.8;
  margin: 1.2rem 0 2rem;
  text-align: center;
}

.privacy_fee_grid {
  display: grid;
  gap: 1.2rem;
}

.privacy_fee_card {
  align-items: stretch;
  background: #fff;
  border: 0.1rem solid #d8e5f3;
  border-radius: 0.9rem;
  box-shadow: none;
  display: grid;
  grid-template-columns: 35% 65%;
  overflow: hidden;
  padding: 0;
  position: relative;
}

.privacy_fee_badge {
  display: none;
}

.privacy_fee_card h3 {
  align-items: center;
  background-color: #eef8ff;
  color: #173e6b;
  display: flex;
  font-size: 2.8rem;
  font-weight: 700;
  grid-column: 1;
  grid-row: 1;
  line-height: 1.35;
  margin: 0;
  padding: 2rem;
}

.privacy_fee_card dl {
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  padding: 0 2.4rem;
}

.privacy_fee_card dl > div {
  align-items: baseline;
  border-top: 0.1rem solid #d8e5f3;
  display: flex;
  justify-content: space-between;
  padding: 1.2rem 0;
}

.privacy_fee_card dl > div:first-child {
  border-top: 0;
}

.privacy_fee_card dt {
  color: #34495d;
  font-size: 2.1rem;
  font-weight: 600;
}

.privacy_fee_card dd,
.privacy_fee_amount {
  color: #f26522;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.3;
}

.privacy_fee_card dd strong,
.privacy_fee_amount strong {
  color: inherit;
  font-family: "Oswald", "Noto Sans JP", sans-serif;
  font-size: 4rem;
  font-variant-numeric: tabular-nums;
  font-weight: 900;
  letter-spacing: -0.04em;
  margin-right: 0.35rem;
}

.privacy_fee_amount {
  align-items: center;
  border-top: 0;
  display: flex;
  grid-column: 2;
  grid-row: 1;
  justify-content: flex-end;
  margin: 0;
  padding: 2rem 2.4rem;
  text-align: right;
}

.privacy_fee_note {
  background-color: #fff8d8;
  border-radius: 1rem;
  color: #4a4a42;
  font-size: 2.1rem;
  line-height: 1.75;
  margin-top: 1.6rem;
  padding: 1.5rem 1.8rem;
}

.privacy_page_top {
  margin-top: 4.6rem;
  text-align: center;
}

.privacy_page_top a {
  align-items: center;
  background: linear-gradient(135deg, #317bd2 0%, #1e50a2 58%, #163d80 100%);
  border: 1px solid rgba(255, 255, 255, 0.42);
  border-radius: 999px;
  box-shadow:
    0 0.7rem 1.5rem rgba(30, 80, 162, 0.24),
    inset 0 1px 0 rgba(255, 255, 255, 0.32);
  color: #fff;
  display: inline-flex;
  font-size: 2.5rem;
  font-weight: 600;
  justify-content: center;
  letter-spacing: 0.06em;
  min-width: 15rem;
  padding: 1.25rem 4.2rem;
  text-decoration: none;
  transition: box-shadow 0.25s ease, transform 0.25s ease, filter 0.25s ease;
}

.privacy_page_top a::after {
  border-right: 2px solid currentColor;
  border-top: 2px solid currentColor;
  content: "";
  height: 0.55rem;
  margin-left: 1rem;
  transform: rotate(45deg);
  width: 0.55rem;
}

@media (hover: hover) {
  .privacy_page_top a:hover {
    box-shadow:
      0 0.9rem 1.9rem rgba(30, 80, 162, 0.3),
      inset 0 1px 0 rgba(255, 255, 255, 0.4);
    filter: brightness(1.06);
    transform: translateY(-2px);
  }
}

@media only screen and (max-width: 780px) {
  header h1 {
    padding: 0.8vw 4vw;
  }

  header h1 img {
    max-width: 38vw;
  }

  .privacy_page_hero {
    padding: 9vw 5vw 9.5vw;
    width: 100%;
  }

  .privacy_page_hero p {
    font-size: 3.3vw;
    margin-bottom: 2vw;
  }

  .privacy_page_hero h2 {
    font-size: 6.7vw;
  }

  .privacy_page_main {
    border-radius: 0;
    margin: 0 auto;
    padding: 8vw 5.4vw 10vw;
  }

  .privacy_page_main::before {
    display: none;
  }

  .privacy_page_section h3 {
    border-left-width: 0.9vw;
    font-size: 4.3vw;
    margin-bottom: 3.2vw;
    padding: 0.4vw 0 2.4vw 2.8vw;
  }

  .privacy_page_section h3:not(:first-child) {
    margin-top: 8vw;
  }

  .privacy_page_section p,
  .privacy_page_section li {
    font-size: 3.2vw;
  }

  .privacy_fee_section {
    margin-top: 7vw;
    padding-top: 6vw;
    scroll-margin-top: 4vw;
  }

  .privacy_fee_eyebrow {
    font-size: 3vw;
    margin-bottom: 2vw;
  }

  .privacy_fee_section > h2 {
    font-size: 6vw;
  }

  .privacy_fee_intro {
    font-size: 3.2vw;
    margin: 2.2vw 0 3.5vw;
  }

  .privacy_fee_grid {
    gap: 2.5vw;
  }

  .privacy_fee_card {
    border-radius: 1.8vw;
    grid-template-columns: 34% 66%;
    padding: 0;
  }

  .privacy_fee_badge {
    font-size: 2.8vw;
    margin-bottom: 2.6vw;
    padding: 1.3vw 2.7vw;
  }

  .privacy_fee_card h3 {
    font-size: 4vw;
    padding: 3.5vw 3vw;
  }

  .privacy_fee_card dl {
    padding: 0 3.5vw;
  }

  .privacy_fee_card dl > div {
    padding: 2vw 0;
  }

  .privacy_fee_card dt {
    font-size: 3.1vw;
  }

  .privacy_fee_card dd,
  .privacy_fee_amount {
    font-size: 3.4vw;
  }

  .privacy_fee_card dd strong,
  .privacy_fee_amount strong {
    font-size: 5.6vw;
  }

  .privacy_fee_amount {
    padding: 3.5vw;
  }

  .privacy_fee_note {
    border-radius: 2vw;
    font-size: 3vw;
    margin-top: 3vw;
    padding: 2.5vw 3vw;
  }

  .privacy_page_top {
    margin-top: 8vw;
  }

  .privacy_page_top a {
    border-radius: 999px;
    font-size: 3.2vw;
    min-width: 38vw;
    padding: 2.6vw 9vw;
  }

  .privacy_page_top a::after {
    height: 1.5vw;
    margin-left: 2.2vw;
    width: 1.5vw;
  }
}


body {
  margin: 0;
  letter-spacing: 0.07em;
  scroll-behavior: smooth;
}

section[id],
#fv-cta,
#contact {
  scroll-margin-top: 2rem;
}

main {
  width: 78rem;
  margin: 0 auto;
  overflow: hidden;
}

@media only screen and (max-width: 780px) {
  main {
    width: 100%;
  }
}

@media only screen and (min-width: 1600px) {
  main {
    transform: none;
  }
}

@media only screen and (min-width: 750px) {
  main {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);

  }
}

.fv {
  background-color: #b7e500;
  line-height: 0;
}

.fv_contact {
  background-color: #b7e500;
  margin-bottom: -1px;
  position: relative;
}

.fv_contact img {
  position: relative;
  z-index: 1;
}




/* ==================================================
 メールフォーム調整版
================================================== */

#contact {
  background-color: #fbf6ec;
  font-family: "Noto Sans JP", sans-serif;
  padding: 4.6rem 2rem 5.6rem;
}

.debt_form_title {
  --form-title-u: 0.1rem;
  color: #222;
  margin: 0 auto calc(24 * var(--form-title-u));
  padding: calc(18 * var(--form-title-u)) calc(22 * var(--form-title-u)) calc(24 * var(--form-title-u));
  position: relative;
  text-align: center;
  width: 100%;
}

.debt_form_title p {
  align-items: center;
  background: linear-gradient(180deg, #ff9f16 0%, #ff8400 100%);
  border-radius: calc(999 * var(--form-title-u));
  color: #fff;
  display: inline-flex;
  font-size: calc(29 * var(--form-title-u));
  font-weight: 700;
  justify-content: center;
  letter-spacing: 0;
  line-height: 1;
  margin: 0 auto calc(24 * var(--form-title-u));
  min-height: calc(72 * var(--form-title-u));
  padding: calc(8 * var(--form-title-u)) calc(30 * var(--form-title-u)) calc(8 * var(--form-title-u)) calc(102 * var(--form-title-u));
  position: relative;
}

.debt_form_title p::after {
  background-color: #ff8400;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  content: "";
  height: calc(24 * var(--form-title-u));
  left: 50%;
  position: absolute;
  top: calc(100% - 1 * var(--form-title-u));
  transform: translateX(-50%);
  width: calc(28 * var(--form-title-u));
}

.debt_form_timer {
  display: block;
  height: calc(92 * var(--form-title-u));
  left: calc(6 * var(--form-title-u));
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(-7deg);
  width: calc(92 * var(--form-title-u));
}

.debt_form_timer img {
  display: block;
  width: 100%;
}

.debt_form_time {
  color: #fff38e;
  display: inline-block;
  font-size: calc(43 * var(--form-title-u));
  line-height: 0.9;
  margin: 0 calc(3 * var(--form-title-u));
  text-shadow: calc(2 * var(--form-title-u)) calc(2 * var(--form-title-u)) 0 rgba(153, 69, 0, 0.2);
}

.debt_form_title h2 {
  color: #222;
  font-size: calc(58 * var(--form-title-u));
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
  margin: 0;
}

.debt_form_title h2 span {
  background: linear-gradient(180deg, #ff9d16 0%, #ff9d16 48%, #f26522 49%, #f26522 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: #f26522;
  font-size: 1.18em;
  font-weight: 700;
  -webkit-text-fill-color: transparent;
}

/* テキスト幅の調整（SP対応のためmax-widthに変更） */
#contact .contact_text {
  width: 100%;
  max-width: 72.4rem;
  font-size: 2rem;
  margin: 0 auto 1.6rem;
  padding: 0 2rem;
  line-height: 1.8;
  box-sizing: border-box;
}

/* フォーム全体の枠組み */
#contact form {
  background-color: #fff;
  border: 0.2rem solid rgba(213, 186, 145, 0.55);
  border-radius: 1.6rem;
  box-shadow: 0 0.8rem 2rem rgba(126, 92, 63, 0.11);
  width: 100%;
  max-width: 800px;
  display: flex;
  flex-direction: column;
  padding: 4rem 3rem 4.6rem;
  margin: 0 auto;
  box-sizing: border-box;
}

/* 各項目のリストデザイン */
#contact form dl {
  width: 100%;
  border-bottom: 1px solid #eaeaea;
  padding-bottom: 2rem;
  margin-bottom: 1rem;
}

#contact form dl:last-of-type {
  border-bottom: none;
}

/* 項目名（dt） */
#contact form dl dt {
  padding: 1rem 0;
}

#contact form dl dt .inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  line-height: 1.5;
  gap: 1.5rem;
}

#contact form dl dt .inner .name {
  font-size: 3rem;
  font-weight: bold;
  color: #333;
}

.form_question_heading {
  background-color: #fff0e8;
  border: 0;
  border-radius: 0;
  margin: 1.2rem -3rem 2.2rem;
  padding: 1.6rem 3rem;
}

.form_question_heading p {
  color: #333;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.35;
  margin: 0;
}

.form_question_heading span {
  color: #f26522;
  display: inline-block;
  font-size: 1.08em;
  margin-left: 0.8rem;
}

/* 必須・任意ラベルのデザイン統一 */
#contact form dl dt .inner .require,
#contact form dl dt .inner .any {
  padding: 0.8rem 1.5rem;
  color: #fff;
  font-size: 2.5rem;
  font-weight: bold;
  border-radius: 4px;
  white-space: nowrap;
  line-height: 1;
  display: inline-block;
}

#contact form dl dt .inner .require {
  background-color: #ff3f00;
}

#contact form dl dt .inner .any {
  background-color: rgb(0, 127, 255);
}

/* 入力エリア（dd） */
#contact form dl dd {
  padding: 0.8rem 0 0;
  font-size: 3rem;
  width: 100%;
}

/* テキスト入力欄のデザイン */
#contact form dl dd input[type=text],
#contact form dl dd input[type=email],
#contact form dl dd input[type=tel],
#contact form dl dd input[type=number],
#contact form dl dd select {
  width: 100%;
  height: 5rem;
  padding: 3rem 1.5rem;
  font-size: 3rem;
  border: 1px solid #ccc;
  box-sizing: border-box;
  border-radius: 4px;
  background-color: #f9f9f9;
  transition: border-color 0.3s, background-color 0.3s;
}

/* フォーカス時のスタイル */
#contact form dl dd input:focus,
#contact form dl dd textarea:focus {
  border-color: #2f79bd;
  background-color: #fff;
  outline: none;
}

/* プレースホルダー */
#contact form dl dd input::placeholder,
#contact form dl dd textarea::placeholder {
  color: #bbb;
  font-weight: normal;
}

/* テキストエリア */
#contact form dl dd textarea {
  width: 100%;
  min-height: 20rem;
  border: 1px solid #ccc;
  padding: 1.5rem;
  font-size: 2.5rem;
  border-radius: 4px;
  background-color: #f9f9f9;
  box-sizing: border-box;
  line-height: 1.6;
}

/* --------------------------------------------------
   チェックリスト・ラジオボタンのデザイン（パネル風）
-------------------------------------------------- */
#contact form dl .checkList {
  display: grid;
  gap: 1.6rem 1.8rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  padding: 0;
  margin: 0.8rem 0 0;
}

#contact form dl .checkList li {
  width: 100%;
}

/* SPでの1列表示切り替え */
@media only screen and (max-width: 600px) {
  #contact form dl .checkList {
    grid-template-columns: 1fr;
  }

  #contact form dl .checkList li {
    width: 100%;
  }
}

#contact form dl .checkList label {
  display: flex;
  align-items: center;
  width: 100%;
  background-color: #eef8ff;
  border: 0.2rem solid #d8e5f3;
  border-radius: 1rem;
  cursor: pointer;
  box-sizing: border-box;
  font-weight: bold;
  font-size: 3rem;
  line-height: 1.35;
  min-height: 6.8rem;
  padding: 1.4rem 1.6rem;
  transition: all 0.2s;
}

#contact form dl .checkList label:hover {
  background-color: #eef8ff;
  border-color: #178bd8;
  color: #2f79bd;
}

#contact form dl .checkList label:has(input:checked) {
  background-color: #e7f6ff;
  border-color: #2f79bd;
  box-shadow: 0 0.4rem 1rem rgba(0, 133, 207, 0.13);
  color: #2f79bd;
}

/* チェックボックス本体の調整 */
#contact form dl .checkList label input[type="checkbox"],
#contact form dl .checkList label input[type="radio"] {
  accent-color: #2f79bd;
  flex: 0 0 auto;
  margin-right: 1rem;
  transform: scale(1.25);
  cursor: pointer;
}

/* --------------------------------------------------
   プライバシーポリシーエリア
-------------------------------------------------- */
#contact form .iframe_wrap {
  text-align: center;
  padding: 3rem 0;
}

#contact form .iframe {
  width: 100%;
  height: 15rem;
  border: 1px solid #ddd;
  background-color: #f9f9f9;
  font-size: 2rem;
  padding: 1.5rem;
  overflow-y: scroll;
  margin-bottom: 2rem;
  box-sizing: border-box;
  text-align: left;
  line-height: 1.6;
}

#contact form .check_important {
  font-size: 2.7rem;
  font-weight: bold;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
}

#contact form .check_important input {
  margin-right: 2.8rem;
  transform: scale(1.3);
}

/* --------------------------------------------------
   送信ボタン
-------------------------------------------------- */
#contact form button {
  align-items: center;
  background: linear-gradient(180deg, #2f79bd 0%, #2f79bd 100%);
  border: 0.3rem solid #fff;
  border-radius: 1.4rem;
  box-shadow: 0 0.55rem 0 #1e50a2, 0 1rem 1.4rem rgba(0, 72, 138, 0.26);
  color: #FFFFFF;
  display: flex;
  gap: 2.4rem;
  justify-content: center;
  margin: 3rem auto 0;
  max-width: 70rem;
  min-height: 15rem;
  overflow: hidden;
  padding: 2.5rem 2.8rem;
  position: relative;
  text-align: left;
  width: 100%;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

#contact form button::before {
  background: linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, 0.16) 42%, transparent 74%);
  content: "";
  height: 88%;
  left: -18%;
  position: absolute;
  top: -34%;
  transform: skewX(-18deg);
  width: 72%;
}

#contact form button::after {
  background: url("../images/cta/debt_cta_arrow_blue.svg") center / contain no-repeat;
  border: 0;
  content: "";
  display: block;
  height: 6.2rem;
  margin-left: auto;
  margin-top: calc(-18 * 0.1rem);
  position: relative;
  width: 6.2rem;
  z-index: 2;
}

#contact form button span {
  align-items: center;
  border: 0.3rem solid rgba(255, 255, 255, 0.9);
  border-radius: 1rem;
  color: #fff !important;
  display: inline-flex;
  font-size: 3.8rem;
  font-weight: 700;
  justify-content: center;
  line-height: 1;
  min-height: 7.2rem;
  min-width: 9.8rem;
  padding: 1.6rem 1.2rem;
  position: relative;
  z-index: 2;
}

#contact form button b {
  color: #fff;
  display: block;
  font-size: 3.9rem;
  font-weight: 700;
  line-height: 1.24;
  position: relative;
  z-index: 2;
}

#contact form button b em {
  color: #fff38e;
  display: inline;
  font-style: normal;
}

#contact form button b small {
  color: #fff;
  display: block;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.2;
}

#contact form button:hover {
  transform: translateY(-2px);
  box-shadow: 0 0.65rem 0 #1e50a2, 0 1.1rem 1.6rem rgba(0, 72, 138, 0.3);
  opacity: 0.9;
}

/* エラーメッセージ（Parsley.js用） */
#contact .parsley-required,
#contact .parsley-type,
#contact .parsley-length {
  color: #D84743;
  font-size: 1.4rem;
  margin-top: 0.5rem;
  font-weight: bold;
  list-style: none;
}

#contact .parsley-errors-list {
  padding: 0;
  margin: 0;
}

/* --------------------------------------------------
   SP（スマホ）調整
-------------------------------------------------- */
@media screen and (max-width: 768px) {
  #contact .contact_text {
    font-size: 3rem;
    padding: 0 0.5rem;
  }

  #contact form {
    padding: 3rem 2rem 4.4rem;
  }

  .form_question_heading {
    margin-left: -2rem;
    margin-right: -2rem;
    padding-left: 2rem;
    padding-right: 2rem;
  }

  #contact form dl dt {
    padding-bottom: 0.5rem;
  }

  #contact form dl dt .inner {
    justify-content: space-between;
  }

  /* ボタン調整 */
  #contact form button {
    width: 86%;
    max-width: 100%;
    margin: 4rem auto 0;
    min-height: 14.5rem;
    padding: 2.2rem 1.8rem;
  }

  #contact form button b {
    font-size: 3.35rem;
    line-height: 1.22;
  }

  #contact form button b small {
    font-size: 2.75rem;
    line-height: 1.25;
    white-space: nowrap;
  }

  #contact form button::after {
    flex: 0 0 5.4rem;
    height: 5.4rem;
    margin-top: calc(-10 * 0.1rem);
    width: 5.4rem;
  }
}




/* ==================================================
   PC表示用の調整（769px以上）
================================================== */
@media screen and (min-width: 769px) {

  /* --- 問い合わせフォーム --- */
  /* フォーム全体の幅を少し締める */
  #contact form {
    max-width: 700px;
    padding: 3rem 3rem 3.8rem;
  }

  #contact form dl dt .inner .name {
    font-size: 2.2rem;
  }

  .form_question_heading {
    margin: 1rem -3rem 1.8rem;
    padding: 1.2rem 3rem;
  }

  .form_question_heading p {
    font-size: 2.2rem;
  }

  /* 必須・任意ラベル */
  #contact form dl dt .inner .require,
  #contact form dl dt .inner .any {
    font-size: 1.8rem;
    padding: 0.4rem 1rem;
  }

  #contact form dl dt .inner {
    display: flex;
    justify-content: space-between;
  }


  /* 入力欄の文字サイズと高さ */
  #contact form dl dd input[type=text],
  #contact form dl dd input[type=email],
  #contact form dl dd input[type=tel],
  #contact form dl dd input[type=number],
  #contact form dl dd select {
    font-size: 2rem;
    height: 4rem;
    padding: 0 1rem;
  }

  #contact form dl dd textarea {
    font-size: 2rem;
    padding: 1rem;
  }

  #contact form dl dd {
    padding: 0rem 0px 0px;
  }

  #contact form dl dt {
    padding: 0.5rem 0;
  }

  /* チェックリスト・ラジオボタンの文字サイズ */
  #contact form dl .checkList label {
    font-size: 2rem;
    min-height: 5.8rem;
    padding: 1rem 1.1rem;
  }

  /* 必須同意の文字サイズ */
  #contact form .check_important {
    font-size: 2.6rem;
  }

  /* 送信ボタン */
  #contact form button {
    max-width: 68rem;
    padding: 2.4rem 2.6rem;
  }


  /* --- 3つの約束（Three Promises）セクション --- */

  .promise-title {
    font-size: 2.2rem;
  }

  /* カードの本文 */
  .promise-text {
    font-size: 1.6rem;
  }

  .promise-container {}

  #contact form .iframe {
    font-size: 1.6rem;

  }

}

/* =================================================
   フォーム：追加項目（タイトルと必須ラベルの調整）
================================================== */
.request_consultation {
  display: block;
  border-bottom: 1px solid #ccc;
  padding: 2rem 0;
}

.request_consultation dt {
  width: 100%;
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 1.5rem;

  /* ▼ 追加：左右に振り分ける設定 */
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* 必須ラベル：右側に配置 */
.request_consultation dt span {
  background-color: #ff0000;
  color: #fff;
  font-size: 1.3rem;
  padding: 0.2rem 1rem;
  border-radius: 0.5rem;
  margin-left: auto;
  flex-shrink: 0;
}

.request_consultation dd {
  width: 100%;
  text-align: center;
}

.check_label_center {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  cursor: pointer;
  gap: 0.8rem;
  margin: 0 auto;
  font-weight: bold;
}

/* スマホ表示用 */
@media screen and (max-width: 779px) {
  .request_consultation dt {
    font-size: 3.1rem;
    margin-bottom: 2rem;
  }

  .request_consultation dt span {
    font-size: 2.5rem;
    padding: 0.4rem 1.7rem;
  }

  .check_label_center {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 3rem;
    cursor: pointer;
    gap: 0.8rem;
    margin: 0 auto;
    font-weight: bold;
  }


}

/* =================================================
   サンクスページ専用スタイル（最終修正版）
================================================== */
.thanks_page {
  background-color: #fff;
  text-align: center;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  overflow-x: hidden;
}


.thanks_header_logo {
  padding: 0;
}

.thanks_header_logo img {
  max-width: 19rem;
  margin: 0 auto;
}

/* 画面いっぱいの画像エリア */
.thanks_hero_img {
  width: 100%;
  margin-bottom: 40px;
}

.thanks_hero_img img {
  width: 100%;
  height: auto;
  display: block;
  max-width: 78rem;
  margin: 0 auto;
}

.thanks_container {
  box-sizing: border-box;
  width: 100%;
  max-width: 78rem;
  margin: 0 auto;
  padding: 0 20px 60px;
}

/* 送信完了タイトル */
.thanks_title_area {
  margin-bottom: 25px;
}

.thanks_title_area h2 {
  color: #1e50a2;
  font-size: 2.8rem;
  font-weight: bold;
  overflow-wrap: anywhere;
  word-break: normal;
}


/* コンテンツ */
.thanks_content p {
  font-size: 1.6rem;
  line-height: 1.8;
  margin-bottom: 15px;
  color: #333;
  overflow-wrap: anywhere;
  word-break: normal;
}

.thanks_tel_box {
  background-color: #fff8f2;
  border: 2px solid #f26522;
  border-radius: 18px;
  box-shadow: 0 6px 16px rgba(242, 101, 34, 0.12);
  margin: 28px auto 0;
  max-width: 500px;
  padding: 22px 24px 24px;
  overflow-wrap: anywhere;
}

.thanks_tel_lead {
  color: #333 !important;
  font-size: 1.7rem !important;
  font-weight: 700;
  line-height: 1.6 !important;
  margin: 0 0 14px !important;
}

.thanks_tel_link {
  align-items: center;
  background: linear-gradient(180deg, #ff9354 0%, #f26522 55%, #dc4f13 100%);
  border-radius: 999px;
  box-shadow: 0 4px 10px rgba(242, 101, 34, 0.24);
  display: flex;
  gap: 14px;
  justify-content: center;
  margin: 0 auto 14px;
  max-width: 390px;
  padding: 13px 16px;
}

.thanks_tel_link span,
.thanks_tel_link em,
.thanks_tel_link b {
  color: #fff;
  line-height: 1;
}

.thanks_tel_link span {
  align-items: center;
  border-left: 2px dotted rgba(255, 255, 255, 0.85);
  border-right: 2px dotted rgba(255, 255, 255, 0.85);
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 7px;
  min-width: 0;
  padding: 0 14px;
}

.thanks_tel_link em {
  display: block;
  font-size: 1.45rem;
  font-style: normal;
  font-weight: 700;
}

.thanks_tel_link b {
  font-family: "Oswald", "Noto Sans JP", sans-serif;
  font-size: 2.55rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.thanks_tel_icon {
  flex: 0 0 auto;
  height: 34px;
  object-fit: contain;
  width: 34px;
}

.thanks_tel_arrow {
  flex: 0 0 auto;
  filter: brightness(0) invert(1);
  height: 24px;
  margin-left: auto;
  object-fit: contain;
  width: 24px;
}

.thanks_tel_note {
  color: #555 !important;
  font-size: 1.35rem !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}

/* ボタン：青のグラデーション ＋ 角丸 */
.thanks_btn_wrap {
  margin-top: 20px;
}

.btn_back {
  display: inline-block;
  background: linear-gradient(135deg, #1e50a2 0%, #2f79bd 100%);
  color: #fff !important;
  padding: 18px 60px;
  text-decoration: none;
  font-size: 1.8rem;
  font-weight: bold;
  border-radius: 50px;
  transition: opacity 0.3s;
  box-shadow: 0 4px 10px rgba(30, 80, 162, 0.3);
}

.btn_back:hover {
  opacity: 0.85;
}


/* スマホ対応 */
@media screen and (max-width: 779px) {
  .thanks_header_logo img {
    max-width: 19rem;
    margin: 0 auto;
  }

  .thanks_hero_img {
    margin-bottom: 30px;
  }

  .thanks_title_area h2 {
    font-size: 3.6rem;
    line-height: 1.35;
    margin-left: auto;
    margin-right: auto;
    width: 92%;
  }

  .thanks_content p {
    font-size: 3rem;
    margin-left: auto;
    margin-right: auto;
    width: 92%;
  }

  .thanks_tel_box {
    border-radius: 3.2rem;
    margin-left: 16vw;
    margin-right: 0;
    margin-top: 5rem;
    max-width: 60vw;
    padding: 3.4rem 2rem;
    width: 60vw;
  }

  .thanks_tel_lead {
    font-size: 3.1rem !important;
  }

  .thanks_tel_link {
    border-radius: 999px;
    flex-direction: row;
    gap: 1rem;
    max-width: 100%;
    padding: 2.2rem 1.3rem;
  }

  .thanks_tel_link span {
    border-bottom: 0;
    border-left: 0.35rem dotted rgba(255, 255, 255, 0.85);
    border-right: 0.35rem dotted rgba(255, 255, 255, 0.85);
    gap: 1rem;
    padding: 0 1rem;
  }

  .thanks_tel_link em {
    font-size: 2.25rem;
  }

  .thanks_tel_link b {
    font-size: 3.45rem;
  }

  .thanks_tel_icon {
    height: 4.2rem;
    width: 4.2rem;
  }

  .thanks_tel_arrow {
    height: 2.4rem;
    margin-left: 0;
    width: 2.4rem;
  }

  .thanks_tel_note {
    font-size: 2.5rem !important;
  }

  .btn_back {
    width: 90%;
    padding: 15px;
    font-size: 3rem;

  }

  .sp_only {
    display: block;
  }

  .thanks_header_logo {
    padding: 0.4rem 0;
  }
}

/* サンクスページ共通設定 */
.thanks_page main {
  box-shadow: none !important;
  transform: none !important;
  margin: 0 auto !important;
  overflow-x: hidden;
  padding: 0 !important;
  width: 100vw;
  max-width: none;
}

/* =================================================
   サンクスページ：CTAカード刷新
================================================== */
.thanks_page {
  --thanks-u: min(0.25641vw, 1px);
  background-color: #fff;
  min-height: 100vh;
}

.thanks_page main {
  box-shadow: none !important;
  flex: 1 0 auto;
  margin: 0 auto !important;
  max-width: 100%;
  overflow-x: hidden;
  padding: 0 !important;
  transform: none !important;
  width: 624px;
}

.thanks_header_logo {
  padding: 12px 0;
}

.thanks_header_logo img {
  max-width: 230px;
}

.thanks_hero_img {
  margin-bottom: 28px;
}

.thanks_hero_img img {
  max-width: 624px;
}

.thanks_container {
  box-sizing: border-box;
  max-width: 624px;
  padding: 0 20px 48px;
}

.thanks_title_area {
  margin-bottom: 14px;
}

.thanks_title_area h2 {
  color: #1e50a2;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.35;
  margin: 0 auto;
  max-width: 92%;
}

.thanks_content p {
  color: #333;
  font-size: 1.6rem;
  line-height: 1.55;
  margin: 0 auto 6px;
  max-width: 58rem;
}

.thanks_follow_cta {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 28px auto 0;
  max-width: 576px;
  text-align: left;
}

.thanks_follow_card {
  background-color: #fff;
  border: 2px solid #eef8ff;
  border-radius: 12px;
  box-shadow: 0 8px 22px rgba(30, 80, 162, 0.08);
  padding: 24px 22px 26px;
}

.thanks_follow_tel {
  background: linear-gradient(180deg, #fffaf6 0%, #fff 100%);
  border-color: #f8d8c8;
}

.thanks_follow_line {
  background: linear-gradient(180deg, #f7fff9 0%, #fff 100%);
  border-color: #ccefd6;
}

.thanks_follow_mail {
  background: linear-gradient(180deg, #eef8ff 0%, #fff 100%);
  border-color: #d8e5f3;
}

.thanks_follow_card h3 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.35;
  margin: 0 0 12px;
  text-align: center;
}

.thanks_follow_tel h3 {
  color: #d95d24;
}

.thanks_follow_line h3 {
  color: #06a947;
}

.thanks_follow_mail h3 {
  color: #1e50a2;
}

.thanks_follow_card p {
  color: #333;
  font-size: 1.5rem;
  line-height: 1.7;
  margin: 0 0 24px;
}

.thanks_follow_btn {
  align-items: center;
  box-sizing: border-box;
  border-radius: 18px;
  box-shadow: 0 5px 0 var(--thanks-follow-depth), 0 8px 12px var(--thanks-follow-shadow);
  color: #fff !important;
  display: grid;
  grid-template-columns: 54px 1fr 42px;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.2;
  min-height: 76px;
  overflow: visible;
  padding: 22px 16px 14px;
  position: relative;
  text-decoration: none;
  transition: opacity 0.3s;
  width: 100%;
}

.thanks_follow_btn::before {
  background: rgba(255, 255, 255, 0.12);
  border-radius: 18px 18px 45% 45%;
  content: "";
  display: block;
  height: 52%;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

.thanks_follow_btn:hover {
  opacity: 0.85;
}

.thanks_follow_icon,
.thanks_follow_action {
  align-items: center;
  display: flex;
  justify-content: center;
  position: relative;
  z-index: 2;
}

.thanks_follow_icon img {
  display: block;
  height: 38px;
  object-fit: contain;
  width: 42px;
}

.thanks_follow_action img {
  display: block;
  height: 28px;
  object-fit: contain;
  width: 34px;
}

.thanks_follow_friend img {
  height: 32px;
  width: 38px;
}

.thanks_follow_btn_mail .thanks_follow_action img {
  filter: brightness(0) invert(1);
}

.thanks_follow_main {
  color: #fff;
  font-size: 2.15rem;
  font-weight: 700;
  letter-spacing: 0;
  min-width: 0;
  position: relative;
  text-align: center;
  width: 100%;
  z-index: 2;
}

.thanks_follow_main small {
  color: #fff !important;
  display: inline-block;
  font-size: 0.76em;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.35;
  margin-top: 0.15em;
  max-width: 100%;
  white-space: nowrap;
}

.thanks_follow_ribbon {
  align-items: center;
  background-color: #fff33f;
  border-radius: 999px;
  box-shadow: 0 3px 4px rgba(0, 0, 0, 0.16);
  color: #1e50a2;
  display: flex;
  font-size: 1.35rem;
  font-weight: 700;
  gap: 2px;
  justify-content: center;
  left: 50%;
  line-height: 1;
  padding: 8px 18px;
  position: absolute;
  top: 0;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  z-index: 3;
}

.thanks_follow_btn_tel {
  --thanks-follow-depth: rgba(182, 73, 26, 0.58);
  --thanks-follow-shadow: rgba(182, 73, 26, 0.22);
  background: linear-gradient(180deg, #f58a5c 0%, #e9642b 49%, #d9501c 100%);
  border: 2px solid rgba(255, 214, 166, 0.46);
}

.thanks_follow_btn_line {
  --thanks-follow-depth: rgba(4, 116, 46, 0.58);
  --thanks-follow-shadow: rgba(4, 116, 46, 0.22);
  background: linear-gradient(180deg, #4fc96a 0%, #18aa44 48%, #0f9438 100%);
  border: 2px solid rgba(220, 255, 229, 0.46);
}

.thanks_follow_btn_mail {
  --thanks-follow-depth: rgba(17, 59, 114, 0.58);
  --thanks-follow-shadow: rgba(30, 80, 162, 0.22);
  background: linear-gradient(180deg, #2f79bd 0%, #2f79bd 52%, #1e50a2 100%);
  border: 2px solid rgba(220, 235, 255, 0.46);
}

@media screen and (min-width: 780px) {
  .thanks_page {
    --thanks-u: 1.33px;
  }

  .thanks_header_logo {
    padding: calc(10 * var(--thanks-u)) 0;
  }

  .thanks_header_logo img {
    max-width: calc(170 * var(--thanks-u));
  }

  .thanks_hero_img {
    margin-bottom: calc(22 * var(--thanks-u));
  }

  .thanks_container {
    padding: 0 calc(20 * var(--thanks-u)) calc(116 * var(--thanks-u));
  }

  .thanks_title_area {
    margin-bottom: calc(14 * var(--thanks-u));
  }

  .thanks_title_area h2 {
    font-size: calc(22 * var(--thanks-u));
    max-width: calc(350 * var(--thanks-u));
  }

  .thanks_content p {
    font-size: calc(16 * var(--thanks-u));
    line-height: 1.52;
    margin-bottom: calc(6 * var(--thanks-u));
    max-width: calc(520 * var(--thanks-u));
  }

  .thanks_follow_cta {
    gap: calc(14 * var(--thanks-u));
    grid-template-columns: 1fr;
    margin-top: calc(22 * var(--thanks-u));
    max-width: calc(334 * var(--thanks-u));
    width: 92%;
  }

  .thanks_follow_card {
    border-radius: calc(10 * var(--thanks-u));
    padding: calc(20 * var(--thanks-u)) calc(16 * var(--thanks-u));
  }

  .thanks_follow_card h3 {
    font-size: calc(20 * var(--thanks-u));
    margin-bottom: calc(10 * var(--thanks-u));
  }

  .thanks_follow_card p {
    font-size: calc(14 * var(--thanks-u));
    line-height: 1.55;
    margin-bottom: calc(24 * var(--thanks-u));
  }

  .thanks_follow_btn {
    border-radius: calc(14 * var(--thanks-u));
    grid-template-columns: calc(47 * var(--thanks-u)) 1fr calc(39 * var(--thanks-u));
    min-height: calc(74 * var(--thanks-u));
    padding: calc(23 * var(--thanks-u)) calc(12 * var(--thanks-u)) calc(14 * var(--thanks-u));
  }

  .thanks_follow_btn::before {
    border-radius: calc(14 * var(--thanks-u)) calc(14 * var(--thanks-u)) 45% 45%;
  }

  .thanks_follow_icon img {
    height: calc(35 * var(--thanks-u));
    width: calc(39 * var(--thanks-u));
  }

  .thanks_follow_action img {
    height: calc(27 * var(--thanks-u));
    width: calc(31 * var(--thanks-u));
  }

  .thanks_follow_friend img {
    height: calc(30 * var(--thanks-u));
    width: calc(34 * var(--thanks-u));
  }

  .thanks_follow_main {
    font-size: calc(18 * var(--thanks-u));
  }

  .thanks_follow_ribbon {
    font-size: calc(12 * var(--thanks-u));
    padding: calc(8 * var(--thanks-u)) calc(16 * var(--thanks-u));
  }

  .thanks_btn_wrap {
    margin-top: calc(24 * var(--thanks-u));
  }

  .btn_back {
    border-radius: calc(50 * var(--thanks-u));
    font-size: calc(18 * var(--thanks-u));
    max-width: calc(334 * var(--thanks-u));
    padding: calc(15 * var(--thanks-u));
    width: 90%;
  }
}

@media screen and (max-width: 779px) {
  .thanks_page main {
    width: 100vw;
  }

  .thanks_header_logo {
    padding: 1rem 0;
  }

  .thanks_header_logo img {
    max-width: 170px;
  }

  .thanks_title_area h2 {
    font-size: 3.6rem;
    max-width: 92%;
  }

  .thanks_content p {
    font-size: 2.8rem;
    line-height: 1.42;
    margin-bottom: 1vw;
    max-width: calc(100vw - 40px);
  }

  .thanks_follow_cta {
    gap: 3.5vw;
    grid-template-columns: 1fr;
    margin: 5.5vw auto 0;
    max-width: calc(334 * var(--thanks-u));
    width: calc(100vw - 40px);
  }

  .thanks_follow_card {
    border-radius: 10px;
    padding: 5vw 4vw;
  }

  .thanks_follow_card h3 {
    font-size: 3.2rem;
  }

  .thanks_follow_card p {
    font-size: 2.6rem;
    line-height: 1.55;
    margin-bottom: 6vw;
  }

  .thanks_follow_btn {
    border-radius: 14px;
    grid-template-columns: 12vw 1fr 10vw;
    min-height: 19vw;
    padding: 6vw 3vw 3.6vw;
  }

  .thanks_follow_btn::before {
    border-radius: 14px 14px 45% 45%;
  }

  .thanks_follow_icon img {
    height: 9vw;
    width: 10vw;
  }

  .thanks_follow_action img {
    height: 7vw;
    width: 8vw;
  }

  .thanks_follow_friend img {
    height: 8vw;
    width: 9vw;
  }

  .thanks_follow_main {
    font-size: 4.6vw;
  }

  .thanks_follow_ribbon {
    font-size: 3.1vw;
    padding: 2.1vw 4vw;
  }

}

/* =================================================
   プライバシーポリシー
================================================== */

/* プライバシーポリシー 枠の設定 */
.iframe_wrap .iframe {
  height: 200px;
  /* 枠の高さ */
  overflow-y: scroll;
  /* 縦スクロールを有効に */
  border: 1px solid #ccc;
  background: #fff;
  padding: 15px;
  text-align: left;
  /* テキストは左揃え */
  margin-bottom: 10px;
}

/* 枠内のテキスト装飾 */
.privacy_content h4 {
  font-size: 2.8rem;
  font-weight: bold;
  margin-bottom: 15px;
  border-bottom: 1px solid #eee;
  padding-bottom: 5px;
}

.privacy_content h5 {
  font-size: 2.4rem;
  font-weight: bold;
  margin-top: 15px;
  margin-bottom: 5px;
  color: #1e50a2;
  /* 既存フォーム内の見出し色 */
}

.privacy_content p,
.privacy_content li {
  font-size: 2.2rem;
  line-height: 1.6;
  margin-bottom: 10px;
  color: #333;
}

.privacy_content ul {
  padding-left: 0;
  list-style: none;
}

/* 同意チェックボックスの余白 */
.check_important {
  display: block;
  font-size: 2.4rem;
  cursor: pointer;
  margin-top: 10px;
}

.check_important input {
  margin-right: 8px;
  transform: scale(1.2);
}

/* スマホ対応 */
@media screen and (max-width: 779px) {
  .iframe_wrap .iframe {
    height: 150px;
  }

  .privacy_content h4 {
    font-size: 2.8rem;
  }

  .privacy_content h5 {
    font-size: 2.4rem;
  }

  .privacy_content p,
  .privacy_content li {
    font-size: 2.2rem;
  }

  .check_important {
    font-size: 2.4rem;
  }
}




/* 同意エリア全体のコンテナ */
.agreement_container {
  margin-top: 2rem;
  padding: 0;
}

/* 各行のレイアウト：左右に振り分け */
.agreement_row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.6rem 0;
  border-bottom: 0.5px solid #ccc;
}

.agreement_row:last-child {
  border-bottom: none;
}

/* チェックボックスとテキストのスタイル */
.agreement_row .check_important {
  display: flex;
  align-items: center;
  font-weight: bold;
  cursor: pointer;
  margin: 0;
  text-align: left;
  /* スマホサイズ */
  font-size: 2.9rem;
}

.agreement_row .check_important input {
  margin-right: 1.5rem;
  transform: scale(1.6);
}

/* 必須ラベルのデザイン（既存の.requireを継承） */
.require_label {
  background-color: #ff3f00;
  color: #fff;
  font-weight: bold;
  border-radius: 4px;
  white-space: nowrap;
  line-height: 1;
  display: inline-block;
  /* スマホサイズ */
  padding: 0.8rem 1.5rem;
  font-size: 2.5rem;
}

/* PCサイズ調整（769px以上） */
@media screen and (min-width: 769px) {
  .agreement_row .check_important {
    font-size: 2.6rem;
  }

  .agreement_row .check_important input {
    margin-right: 1.1rem;
    transform: scale(1.35);
  }

  .require_label {
    padding: 0.4rem 1rem;
    font-size: 1.6rem;
  }

  .agreement_container {
    margin-top: 1.5rem;
  }
}

/* =================================================
   FV上のフックエリア
================================================== */

/* フックエリア全体 */
.hero-hook-area {
  background-color: #042c70;
  padding: 1.2rem 1rem;
  text-align: center;
}

/* PC・SPともに最初のCTA通過後に表示 */
.footer {
  opacity: 0;
  pointer-events: none;
  transform: translateY(110%);
  transition: opacity 220ms ease, transform 260ms ease, visibility 260ms;
  visibility: hidden;
}

.footer.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
  visibility: visible;
}

/* h2タグ全体のスタイル */
.hook-title {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.7rem;
}

/* 上段：タグの並び */
.hook-tags {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.85rem;
}

/* 白いカプセルタグ（h2の中の要素） */
.hook-tags .tag {
  background-color: #fff;
  color: #1e50a2;
  font-weight: 600;
  border-radius: 50px;
  padding: 0.3rem 1.15rem;
  display: inline-block;
  font-size: 2.2rem;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  letter-spacing: 0.08em;
}

/* 「など」の部分 */
.hook-tags .tag-etc {
  color: #fff;
  font-weight: bold;
  font-size: 2.2rem;
}

/* 下段：メインの警告テキスト */
.hook-main-text {
  color: #fff !important;
  font-weight: 500;
  line-height: 1.4;
  display: block;
  font-size: 2.8rem;
  letter-spacing: 0.04em;
  max-width: 100%;
  white-space: normal;
}

@media screen and (min-width: 781px) {
  .hook-main-text {
    font-size: 2.4rem;
    letter-spacing: 0.01em;
    white-space: nowrap;
  }
}

/* スマホ表示の微調整 */
@media screen and (max-width: 780px) {
  .hook-title {
    gap: 0.7rem;
  }

  .hook-tags .tag {
    padding: 0.3rem 1.15rem;
    font-size: clamp(11px, 2.6vw, 20px);
  }

  .hook-tags .tag-etc {
    font-size: clamp(11px, 2.3vw, 20px);
  }

  .hook-main-text {
    color: #fff !important;
    font-weight: 500;
    line-height: 1.4;
    display: block;
    font-size: clamp(10px, 3.2vw, 20px);
    letter-spacing: 0.01em;
    white-space: nowrap;
  }
}

/* ==================================================
   LINE CTA / 3CTA mode
   body[data-cta-count="3"] : LINE・電話・メール
   body[data-cta-count="2"] : 電話・メール
================================================== */
body[data-cta-count="2"] [data-line-cta] {
  display: none !important;
}

.debt_cta_line {
  --debt-cta-shadow: rgba(0, 126, 64, 0.24);
  background: linear-gradient(135deg, #05a94f 0%, #06c755 58%, #39d879 100%);
  border-color: rgba(211, 255, 225, 0.8);
}

body[data-cta-count="3"] .debt_cta_line::before {
  animation: debt-cta-line-shine 5.5s ease-in-out infinite;
  background-image: linear-gradient(
    110deg,
    rgba(255, 255, 255, 0.08) 0%,
    rgba(255, 255, 255, 0.08) 42%,
    rgba(255, 255, 255, 0.68) 49%,
    rgba(255, 255, 255, 0.08) 57%,
    rgba(255, 255, 255, 0.08) 100%
  );
  background-position: 120% 0;
  background-size: 280% 100%;
  border-radius: inherit;
  height: 48%;
  bottom: 0;
  height: 100%;
  top: 0;
}

@keyframes debt-cta-line-shine {
  0%,
  58% {
    background-position: 120% 0;
  }

  88%,
  100% {
    background-position: -120% 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-cta-count="3"] .debt_cta_line::before {
    animation: none;
  }
}

.debt_cta_line_visual {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  margin: 0 0 calc(30 * var(--debt-cta-u));
  position: relative;
  overflow: hidden;
}

.debt_cta_line_visual img {
  display: block;
  height: auto;
  width: 100%;
}

/* 途中CTAでは、診断画像からLINE CTAへ視線をつなぐ下向き矢印 */
.debt_cta_line_visual::after {
  border-left: calc(13 * var(--debt-cta-u)) solid transparent;
  border-right: calc(13 * var(--debt-cta-u)) solid transparent;
  border-top: calc(18 * var(--debt-cta-u)) solid #08ae50;
  bottom: calc(-30 * var(--debt-cta-u));
  content: "";
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
}

/* FV直下は画像とCTAを並べるだけにし、途中CTA用の枠・矢印は付けない */
.fv_line_diagnosis .debt_cta_line_visual {
  border: 0;
}

.fv_line_diagnosis .debt_cta_line_visual::after {
  content: none;
}

/* CTA文言を長くしても収まる2行レイアウト */
.debt_cta_main small {
  display: block;
  font-size: 0.64em;
  letter-spacing: 0.08em;
  line-height: 1;
  margin-bottom: 0.16em;
}

.debt_cta_tel .debt_cta_main,
.debt_cta_mail .debt_cta_main,
.debt_cta_line .debt_cta_main {
  font-size: calc(27 * var(--debt-cta-u));
  line-height: 1.02;
  white-space: normal;
}

/* 通常CTAセクションの3ボタンは本文をひと回り大きく */
.debt_cta_inner > .debt_cta_tel .debt_cta_main,
.debt_cta_inner > .debt_cta_mail .debt_cta_main,
.debt_cta_inner > .debt_cta_line .debt_cta_main {
  font-size: calc(30 * var(--debt-cta-u));
}

/* FV下LINE CTAのみ：本文位置と「無料」ラベルを強調 */
.fv_line_diagnosis .debt_cta_line .debt_cta_main {
  transform: translate(-14px, 7px) !important;
}

.fv_line_diagnosis .debt_cta_line .debt_cta_main small {
  border-width: 2px;
  font-size: 0.94em;
  min-height: 2.2em;
  padding: 0 0.44em;
}

/* FV下コンテナ自体には緑を敷かない（緑は画像内だけ） */
.fv_line_diagnosis,
.fv_line_diagnosis_inner {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* CTAは「手段 + 行動」を同じ本文として扱い、3段表示を避ける */
.debt_cta_tel .debt_cta_main,
.debt_cta_mail .debt_cta_main,
.debt_cta_line .debt_cta_main {
  color: #fff;
  text-align: center;
}

.debt_cta_tel .debt_cta_main small,
.debt_cta_mail .debt_cta_main small,
.debt_cta_line .debt_cta_main small {
  color: #fff33f;
  display: inline;
  font-size: 1em;
  letter-spacing: 0.04em;
  line-height: inherit;
  margin: 0 0.16em 0 0;
}

/* 途中のLINE CTAは訴求を2行に固定し、行間に少しゆとりを持たせる */
.debt_cta_line_visual + .debt_cta_line .debt_cta_main {
  line-height: 1.28;
}

.debt_cta_line_visual + .debt_cta_line .debt_cta_main > span {
  color: #fff;
}

/* 電話・メールCTAも「無料で確認する」を2行目に揃える */
.debt_cta_tel .debt_cta_main,
.debt_cta_mail .debt_cta_main {
  line-height: 1.26;
}

.debt_cta_tel .debt_cta_main > span,
.debt_cta_mail .debt_cta_main > span {
  color: #fff;
}

.debt_cta_line .debt_cta_ribbon .debt_cta_ribbon_accent {
  color: #068a42;
}

.debt_cta_line .debt_cta_ribbon {
  font-size: calc(22 * var(--debt-cta-u));
}

.debt_cta_line .debt_cta_icon {
  gap: 0;
}

.debt_cta_line .debt_cta_icon .debt_cta_line_logo {
  height: calc(58 * var(--debt-cta-u));
  width: calc(64 * var(--debt-cta-u));
}

.debt_cta_line .debt_cta_line_add_action .debt_cta_line_add {
  height: calc(34 * var(--debt-cta-u));
  width: calc(39 * var(--debt-cta-u));
}

/* LINE CTAの右端は友だち追加アイコンではなく共通の右向き矢印に統一 */
.debt_cta_line_arrow {
  background: transparent;
}

.debt_cta_line_arrow::before,
.footer_cta_line_arrow::before {
  content: none;
}

.debt_cta_line_arrow img {
  height: calc(38 * var(--debt-cta-u));
  width: calc(38 * var(--debt-cta-u));
}

.footer_cta_line_arrow img {
  height: 100%;
  width: 100%;
}

/* 旧一体型カード（既存コンテンツ互換用） */
.debt_cta_line_bundle {
  background: #fff;
  border: calc(4 * var(--debt-cta-u)) solid #08ae50;
  border-radius: calc(26 * var(--debt-cta-u));
  box-shadow: 0 calc(7 * var(--debt-cta-u)) calc(16 * var(--debt-cta-u)) rgba(0, 134, 62, 0.13);
  margin: 0 0 calc(38 * var(--debt-cta-u));
  overflow: hidden;
}

.debt_cta_line_bundle .debt_cta_line_visual {
  border-radius: calc(20 * var(--debt-cta-u)) calc(20 * var(--debt-cta-u)) 0 0;
  box-shadow: none;
  margin: 0;
}

.debt_cta_line_bundle .debt_cta_line {
  border: 0;
  border-radius: 0 0 calc(20 * var(--debt-cta-u)) calc(20 * var(--debt-cta-u));
  box-shadow: none;
  height: calc(122 * var(--debt-cta-u));
  margin: 0;
  padding-bottom: calc(10 * var(--debt-cta-u));
  width: 100%;
}

.footer_cta_tel {
  order: 2;
}

.footer_cta_line {
  background: linear-gradient(135deg, #05a94f 0%, #06c755 58%, #39d879 100%);
  order: 1;
}

.footer_cta_line::after {
  content: "LINEでかんたん相談";
}

body[data-cta-count="3"] .footer_cta_line > img {
  height: calc(48 * var(--footer-u));
  width: calc(54 * var(--footer-u));
}

.footer_cta_mail {
  order: 3;
}

body[data-cta-count="3"] .footer_cta {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media only screen and (min-width: 781px) {
  body[data-cta-count="3"] .footer_cta {
    flex-basis: calc(930 * var(--footer-u));
    max-width: calc(930 * var(--footer-u));
  }

  body[data-cta-count="3"] .footer_cta_btn {
    flex-basis: calc(290 * var(--footer-u));
    gap: calc(7 * var(--footer-u));
    min-height: calc(68 * var(--footer-u));
    padding: calc(10 * var(--footer-u)) calc(8 * var(--footer-u)) calc(7 * var(--footer-u));
  }

  body[data-cta-count="3"] .footer_cta_btn::after {
    font-size: calc(13 * var(--footer-u));
    min-width: calc(118 * var(--footer-u));
    padding: 0 calc(10 * var(--footer-u));
  }

  body[data-cta-count="3"] .footer_cta_btn > img {
    height: calc(31 * var(--footer-u));
    width: calc(36 * var(--footer-u));
  }

  body[data-cta-count="3"] .footer_cta_line > img {
    height: calc(36 * var(--footer-u));
    width: calc(41 * var(--footer-u));
  }

  body[data-cta-count="3"] .footer_cta_btn span b,
  body[data-cta-count="3"] .footer_cta_btn span em {
    display: block;
    font-size: calc(17 * var(--footer-u));
    line-height: 1.08;
    white-space: nowrap;
  }

  body[data-cta-count="3"] .footer_cta_arrow {
    height: calc(27 * var(--footer-u));
    margin-left: 0;
    width: calc(27 * var(--footer-u));
  }

  body[data-cta-count="3"] .footer_cta_line_add {
    height: calc(30 * var(--footer-u));
    width: calc(34 * var(--footer-u));
  }
}

@media only screen and (max-width: 780px) {
  body[data-cta-count="3"] .footer_cta_btn {
    flex-direction: column;
    gap: calc(4 * var(--footer-u));
    justify-content: center;
    padding: calc(20 * var(--footer-u)) calc(3 * var(--footer-u)) calc(10 * var(--footer-u));
  }

  body[data-cta-count="3"] .footer_cta_btn::after {
    font-size: calc(17 * var(--footer-u));
    left: calc(3 * var(--footer-u));
    min-width: 0;
    padding: 0 calc(4 * var(--footer-u));
    right: calc(3 * var(--footer-u));
    transform: none;
    width: auto;
  }

  body[data-cta-count="3"] .footer_cta_btn img {
    height: calc(34 * var(--footer-u));
    margin: 0;
    width: calc(39 * var(--footer-u));
  }

  body[data-cta-count="3"] .footer_cta_line > img {
    height: calc(46 * var(--footer-u));
    width: calc(52 * var(--footer-u));
  }

  body[data-cta-count="3"] .footer_cta_btn span {
    flex: 0 1 auto;
  }

  body[data-cta-count="3"] .footer_cta_btn span b {
    font-size: calc(15 * var(--footer-u));
    line-height: 1.05;
  }

  body[data-cta-count="3"] .footer_cta_btn span em {
    font-size: calc(17 * var(--footer-u));
    line-height: 1.08;
    white-space: nowrap;
  }
}

/* 放置リスク見出し：指定した改行位置で必ず2行に収める */
.debt_worry_alert_risk_intro {
  white-space: nowrap;
}

@media only screen and (max-width: 780px) {
  .debt_worry_alert_risk_intro {
    font-size: calc(35 * var(--worry-u));
  }
}

.fv_cta_pair .debt_cta_line_visual {
  box-sizing: border-box;
  margin: 0;
  position: absolute;
  z-index: 6;
}

@media only screen and (min-width: 781px) {
  .fv_cta_pair .fv_cta_panel {
    margin-top: calc(94 * var(--fv-cta-u));
    max-width: calc(690 * var(--fv-cta-u));
    padding-top: calc(132 * var(--fv-cta-u));
  }

  .fv_cta_pair .debt_cta_line_visual {
    left: calc(-42 * var(--fv-cta-u));
    top: calc(-150 * var(--fv-cta-u));
    width: calc(410 * var(--fv-cta-u));
  }

}

@media only screen and (max-width: 780px) {
  .fv_cta_pair .fv_cta_panel {
    margin-top: calc(140 * var(--fv-cta-u));
    padding-top: calc(170 * var(--fv-cta-u));
  }

  .fv_cta_pair .debt_cta_line_visual {
    left: 50%;
    top: calc(-120 * var(--fv-cta-u));
    transform: translateX(-50%);
    width: min(calc(500 * var(--fv-cta-u)), calc(100% - 28 * var(--fv-cta-u)));
  }
}

/* FVのLINE診断は、画像とCTAをひとつの導線として見せる */
.fv_cta_pair .fv_cta_panel {
  margin-top: calc(24 * var(--fv-cta-u));
  padding-top: calc(24 * var(--fv-cta-u));
}

.fv_cta_pair .debt_cta_line_visual {
  aspect-ratio: 3.16 / 1;
  border-bottom: 0;
  border-radius: calc(22 * var(--fv-cta-u)) calc(22 * var(--fv-cta-u)) 0 0;
  box-shadow: none;
  left: auto;
  margin: 0;
  position: relative;
  top: auto;
  transform: none;
  width: 100%;
  z-index: 1;
}

.fv_cta_pair .debt_cta_line_visual img {
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.fv_cta_pair .debt_cta_line {
  border-radius: 0 0 calc(22 * var(--fv-cta-u)) calc(22 * var(--fv-cta-u));
  margin-top: 0;
}

/* FV下部：LINE診断から相談ボタンまでを一体化する */
.fv_line_diagnosis {
  --fv-line-u: min(0.1484375vw, 1.1578125px);
  --debt-cta-u: var(--fv-line-u);
  background: linear-gradient(180deg, #18b95d 0%, #079d4b 100%);
  display: flow-root;
  padding: calc(20 * var(--fv-line-u)) calc(18 * var(--fv-line-u)) calc(26 * var(--fv-line-u));
}

.fv_line_diagnosis_inner {
  margin: 0 auto;
  max-width: calc(690 * var(--fv-line-u));
}

/* 緑背景に対するLINEブロックの左右余白をコンパクトに */
.fv_line_diagnosis {
  padding-left: clamp(8px, 1.2vw, 12px);
  padding-right: clamp(8px, 1.2vw, 12px);
}

.fv_line_diagnosis_inner {
  max-width: calc(730 * var(--fv-line-u));
}

.fv_line_diagnosis .debt_cta_line_visual {
  aspect-ratio: auto;
  border-bottom: 0;
  border-radius: calc(22 * var(--fv-line-u)) calc(22 * var(--fv-line-u)) 0 0;
  box-sizing: border-box;
  box-shadow: none;
  margin: 0;
  overflow: hidden;
  width: 100%;
}

.fv_line_diagnosis .debt_cta_line_visual img {
  display: block;
  height: auto;
  object-fit: initial;
  width: 100%;
}

.fv_line_diagnosis .debt_cta_line {
  border-radius: 0 0 calc(22 * var(--fv-line-u)) calc(22 * var(--fv-line-u));
  box-sizing: border-box;
  grid-template-rows: calc(65 * var(--fv-line-u)) calc(27 * var(--fv-line-u));
  height: calc(155 * var(--fv-line-u));
  justify-self: stretch;
  margin: 0;
  padding-bottom: calc(17 * var(--fv-line-u));
  padding-top: calc(32 * var(--fv-line-u));
  width: 100%;
}

.fv_line_diagnosis .debt_cta_line .debt_cta_main {
  align-self: end;
  font-size: calc(30 * var(--fv-line-u));
}

.fv_line_cta_notes {
  align-items: center;
  background: #fff;
  border-radius: calc(999 * var(--fv-line-u));
  color: #087d3f;
  display: flex;
  font-size: calc(16 * var(--fv-line-u));
  font-weight: 700;
  gap: calc(14 * var(--fv-line-u));
  grid-column: 2;
  grid-row: 2;
  justify-content: center;
  letter-spacing: calc(1 * var(--fv-line-u));
  line-height: 1;
  padding: calc(5 * var(--fv-line-u)) calc(12 * var(--fv-line-u));
  position: relative;
  white-space: nowrap;
  z-index: 2;
}

.fv_line_cta_notes span::before {
  color: #06a94f;
  content: "✓";
  font-weight: 900;
  margin-right: calc(4 * var(--fv-line-u));
}

.fv_line_cta_notes span + span {
  border-left: 1px solid rgba(6, 169, 79, 0.26);
  padding-left: calc(14 * var(--fv-line-u));
}

/* FV直下は、取り立て停止の案内だけを簡潔に見せる */
.fv_cta_pair {
  padding-top: calc(22 * var(--fv-cta-u));
}

.fv_cta_pair .fv_cta_panel {
  background: transparent;
  border: 0;
  box-shadow: none;
  margin: 0 auto;
  max-width: calc(690 * var(--fv-cta-u));
  padding: 0;
}

.fv_cta_pair .fv_cta_stop_box {
  border-radius: calc(22 * var(--fv-cta-u));
  margin: 0;
}

/* PCではFV内のLINE診断を、ヒーローに対して大きくしすぎない */
@media only screen and (min-width: 781px) {
  .fv_line_diagnosis {
    --fv-line-u: 0.8px;
    padding-bottom: 22px;
    padding-top: 18px;
  }

  .fv_line_diagnosis_inner {
    max-width: 560px;
  }

  .fv_line_diagnosis .debt_cta_line_visual {
    border-radius: 18px 18px 0 0;
  }

  .fv_line_diagnosis .debt_cta_line {
    border-radius: 0 0 18px 18px;
    grid-template-rows: 52px 20px;
    height: 118px;
    padding-bottom: 14px;
    padding-top: 28px;
  }

  .fv_line_diagnosis .debt_cta_line_visual,
  .fv_line_diagnosis .debt_cta_line {
    box-sizing: border-box;
    max-width: 100%;
  }

  .fv_line_diagnosis .debt_cta_line {
    grid-template-columns: 72px minmax(0, 1fr) 48px;
    grid-template-rows: 52px 20px;
    height: 118px;
    padding: 28px 18px 14px;
  }

  .fv_line_diagnosis .debt_cta_line .debt_cta_ribbon {
    box-sizing: border-box;
    font-size: 16px;
    max-width: calc(100% - 24px);
    padding-left: 12px;
    padding-right: 12px;
    width: auto;
  }

  .fv_line_diagnosis .debt_cta_line .debt_cta_main {
    font-size: 23px;
    letter-spacing: 0.04em;
    min-width: 0;
  }

  .fv_line_cta_notes {
    font-size: 14px;
    gap: 11px;
  }

  .fv_line_cta_notes span + span {
    padding-left: 11px;
  }

  .fv_line_diagnosis .debt_cta_line .debt_cta_icon,
  .fv_line_diagnosis .debt_cta_line .debt_cta_action {
    align-items: center;
    display: flex;
    height: 52px;
    justify-content: center;
    min-width: 0;
    width: auto;
  }

  .fv_line_diagnosis .debt_cta_line .debt_cta_line_logo {
    box-sizing: border-box;
    flex: 0 0 36px;
    height: 36px !important;
    max-height: 36px;
    max-width: 36px;
    object-fit: contain;
    width: 36px !important;
  }

  .fv_line_diagnosis .debt_cta_line .debt_cta_line_add {
    box-sizing: border-box;
    flex: 0 0 28px;
    height: 28px !important;
    max-height: 28px;
    max-width: 28px;
    object-fit: contain;
    width: 28px !important;
  }
}

@media only screen and (min-width: 781px) {
  .fv_line_diagnosis .debt_cta_line {
    grid-template-columns: 82px minmax(0, 1fr) 38px;
    padding-left: 12px;
    padding-right: 12px;
  }

  .fv_line_diagnosis .debt_cta_line .debt_cta_main {
    font-size: 20px;
    letter-spacing: 0;
    white-space: nowrap;
  }

  .fv_line_diagnosis .debt_cta_line .debt_cta_line_logo {
    height: 46px !important;
    max-height: 46px;
    max-width: 46px;
    width: 46px !important;
  }
}

/* PCヘッダーの事務所ロゴ */
@media only screen and (min-width: 781px) {
  header h1 {
    padding: 0.7rem 2rem;
  }

  header h1 img {
    display: block;
    max-width: none;
    width: 20rem;
  }
}

/* FV専用LINE CTA：PC幅でも各要素が重ならない専用レイアウト */
.fv_line_diagnosis .debt_cta_line {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: clamp(48px, 8vw, 76px) minmax(0, 1fr) clamp(36px, 5.5vw, 54px);
  grid-template-rows: minmax(24px, 1fr) 18px;
  height: clamp(72px, 10vw, 82px);
  padding: 17px clamp(14px, 2.4vw, 20px) 7px;
  width: 100%;
}

.fv_line_diagnosis .debt_cta_line .debt_cta_ribbon {
  box-sizing: border-box;
  font-size: clamp(11px, 1.8vw, 14px);
  height: 26px;
  max-width: calc(100% - 28px);
  padding: 0 12px;
  top: 0;
  width: auto;
}

.fv_line_diagnosis .debt_cta_line .debt_cta_main {
  align-self: center;
  font-size: clamp(16px, 2.8vw, 22px);
  grid-column: 2;
  grid-row: 1;
  letter-spacing: 0.03em;
  line-height: 1.05;
  min-width: 0;
}

.fv_line_diagnosis .debt_cta_line .debt_cta_icon,
.fv_line_diagnosis .debt_cta_line .debt_cta_action {
  align-items: center;
  display: flex;
  grid-row: 1;
  height: auto;
  justify-content: center;
  min-width: 0;
  width: auto;
}

.fv_line_diagnosis .debt_cta_line .debt_cta_line_logo {
  flex: 0 0 auto;
  height: clamp(26px, 3.8vw, 32px) !important;
  max-height: clamp(26px, 3.8vw, 32px);
  max-width: clamp(26px, 3.8vw, 32px);
  object-fit: contain;
  width: clamp(26px, 3.8vw, 32px) !important;
}

.fv_line_diagnosis .debt_cta_line .debt_cta_line_add {
  flex: 0 0 auto;
  height: clamp(21px, 3vw, 25px) !important;
  max-height: clamp(21px, 3vw, 25px);
  max-width: clamp(21px, 3vw, 25px);
  object-fit: contain;
  width: clamp(21px, 3vw, 25px) !important;
}

.fv_line_diagnosis .fv_line_cta_notes {
  align-self: center;
  font-size: clamp(10px, 1.6vw, 12px);
  gap: clamp(7px, 1.4vw, 11px);
  grid-column: 2;
  grid-row: 2;
  justify-self: center;
  padding: 3px clamp(7px, 1.6vw, 10px);
}

.fv_line_diagnosis .fv_line_cta_notes span + span {
  padding-left: clamp(7px, 1.4vw, 11px);
}

@media only screen and (min-width: 781px) {
  .fv_line_diagnosis .debt_cta_line .debt_cta_icon {
    justify-content: flex-start;
  }

  .fv_line_diagnosis .debt_cta_line .debt_cta_action {
    justify-content: flex-end;
  }
}

@media only screen and (max-width: 780px) {
  .fv_line_diagnosis .debt_cta_line {
    grid-template-columns: 42px minmax(0, 1fr) 32px;
    padding-left: 12px;
    padding-right: 12px;
  }

  .fv_line_diagnosis .debt_cta_line .debt_cta_main {
    font-size: 18px;
    letter-spacing: 0;
  }

  .fv_line_diagnosis .debt_cta_line .debt_cta_line_logo {
    height: 34px !important;
    max-height: 34px;
    max-width: 34px;
    width: 34px !important;
  }

  .fv_line_diagnosis .debt_cta_line .debt_cta_line_add {
    height: 27px !important;
    max-height: 27px;
    max-width: 27px;
    width: 27px !important;
  }
}

/* 漫画カード下LINE CTA：アイコンを強め、文言は少し軽く */
.debt_solution_line_cta::before {
  flex-basis: calc(56 * var(--solution-u));
  height: calc(56 * var(--solution-u));
}

.debt_solution_line_copy small,
.debt_solution_line_copy strong {
  font-weight: 500;
}

/* 途中LINE CTAの下：黄色の安心バッジ */
/* FV下LINE CTAの下：黄色の安心バッジ */
.fv_line_diagnosis .fv_line_cta_badges {
  background: #fff33f !important;
  border-radius: 9px;
  display: grid !important;
  gap: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 10px 10px 18px;
  padding: 5px 7px;
}

.fv_line_diagnosis .fv_line_cta_badges li {
  background: transparent !important;
  border: 0;
  border-left: 1px solid rgba(8, 116, 57, 0.2);
  border-radius: 0;
  color: #087439;
  font-size: 11px;
  height: 27px;
  min-height: 0;
  padding: 0 3px;
}

.fv_line_diagnosis .fv_line_cta_badges li:first-child {
  border-left: 0;
}

.fv_line_diagnosis .fv_line_cta_badges li::before {
  background-color: #08a94e;
  flex-basis: 14px;
  font-size: 10px;
  height: 14px;
  margin-right: 3px;
  width: 14px;
}

/* FV背景画像の白余白内で、LINE CTAと黄色バッジを重ねずに配置 */
.fv_line_diagnosis .debt_cta_line {
  bottom: 16% !important;
}

.fv_line_diagnosis .fv_line_cta_badges {
  bottom: 3.2%;
  left: 50%;
  margin: 0;
  position: absolute;
  transform: translateX(-50%);
  width: min(88%, 580px);
  z-index: 3;
}

/* FV下の安心バッジは通常CTAと同じ密度で、LINE CTAの直下に配置 */
.fv_line_diagnosis .fv_line_cta_badges {
  background-color: #fff33f !important;
  border-radius: calc(6 * var(--debt-cta-u));
  bottom: 3.5%;
  gap: calc(14 * var(--debt-cta-u));
  padding: 0;
}

.fv_line_diagnosis .fv_line_cta_badges li {
  border: 0;
  border-radius: calc(6 * var(--debt-cta-u));
  font-size: calc(21 * var(--debt-cta-u));
  height: calc(49 * var(--debt-cta-u));
  letter-spacing: calc(1 * var(--debt-cta-u));
  padding: 0;
}

.fv_line_diagnosis .fv_line_cta_badges li::before {
  flex-basis: calc(25 * var(--debt-cta-u));
  font-size: calc(20 * var(--debt-cta-u));
  height: calc(25 * var(--debt-cta-u));
  margin-right: calc(8 * var(--debt-cta-u));
  width: calc(25 * var(--debt-cta-u));
}

.fv_line_diagnosis .fv_line_cta_badges .debt_cta_badge_small {
  font-size: calc(19.5 * var(--debt-cta-u));
}

.fv_line_diagnosis .debt_cta_line {
  /* バッジ（49u）の高さと間隔を確保して、その真上へ */
  bottom: calc(18px + 49 * var(--debt-cta-u) + 16px) !important;
}

.fv_line_diagnosis .fv_line_cta_badges {
  bottom: 18px;
}

/* PC時はLINEロゴを視認しやすい大きさで表示 */
@media only screen and (min-width: 781px) {
  .fv_line_diagnosis .debt_cta_line {
    grid-template-columns: 92px minmax(0, 1fr) 54px;
  }

  .fv_line_diagnosis .debt_cta_line .debt_cta_line_logo {
    height: 58px !important;
    max-height: 58px;
    max-width: 58px;
    width: 58px !important;
  }
}

/* 実表示幅（PC/SPとも約390pxのLP）に合わせたFV内LINE CTAの最終調整 */
.fv_line_diagnosis {
  padding-left: 6px;
  padding-right: 6px;
}

/* FV直下は背景込み画像を全面に使い、LINE CTAを画像下部の白余白へ重ねる */
.fv_line_diagnosis {
  background: transparent;
  padding: 0;
}

.fv_line_diagnosis_inner {
  max-width: none;
  position: relative;
}

.fv_line_diagnosis .debt_cta_line_visual {
  border-radius: 0;
  margin: 0;
  overflow: visible;
}

.fv_line_diagnosis .debt_cta_line_visual img {
  width: 100%;
}

.fv_line_diagnosis .debt_cta_line {
  bottom: 5%;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: min(92%, 620px);
  z-index: 2;
}

.fv_line_diagnosis .fv_line_cta_badges {
  display: none;
}

@media only screen and (min-width: 781px) {
  .fv_line_diagnosis .debt_cta_line {
    grid-template-columns: 62px minmax(0, 1fr) 30px;
    padding-left: 10px;
    padding-right: 10px;
  }

  .fv_line_diagnosis .debt_cta_line .debt_cta_line_logo {
    height: 42px !important;
    max-height: 42px;
    max-width: 42px;
    width: 42px !important;
  }

  .fv_line_diagnosis .debt_cta_line .debt_cta_line_add {
    height: 25px !important;
    max-height: 25px;
    max-width: 25px;
    width: 25px !important;
  }

  .fv_line_diagnosis .debt_cta_line .debt_cta_main {
    font-size: 16px;
    letter-spacing: 0;
    overflow: hidden;
    text-overflow: clip;
    white-space: nowrap;
  }

  header h1 img {
    width: 30rem;
  }
}

/* FV下LINEブロックの密度調整 */
.fv_line_diagnosis {
  padding-top: 12px;
  padding-bottom: 14px;
}

@media only screen and (min-width: 781px) {
  .fv_line_diagnosis .debt_cta_line .debt_cta_main {
    font-size: 18px;
  }

  .fv_line_diagnosis .debt_cta_line .debt_cta_ribbon {
    font-size: 12px;
    height: 24px;
    letter-spacing: 0.02em;
  }
}

/* LINE CTAの帯は画像から少し離し、ボタン側へ配置する（フッターCTAは対象外） */
.fv_line_diagnosis .debt_cta_line .debt_cta_ribbon,
.debt_cta_line_bundle .debt_cta_line .debt_cta_ribbon {
  height: 20px;
  padding-top: 0;
  padding-bottom: 0;
  top: 7px;
}

/* FV直下の主CTAも、途中のLINE CTAと同程度の文字間隔に揃える */
.fv_line_diagnosis .debt_cta_line .debt_cta_main {
  font-size: 20px;
  letter-spacing: 0.05em;
  transform: translateY(4px);
}

/* 上端位置は保ったまま、FV直下のLINE CTA下部を少しだけ詰める */
.fv_line_diagnosis .debt_cta_line {
  height: 66px;
}

/* FV直下も、診断画像とLINE CTAを独立した角丸カードとして分離 */
.fv_line_diagnosis .debt_cta_line_visual {
  border-radius: 14px;
  margin-bottom: 14px;
}

.fv_line_diagnosis .debt_cta_line {
  border-radius: 14px;
  height: 82px;
  margin: 0;
}

/* FVのLINE CTAはPC/SPとも同じ2行構成にし、上部に少し余白を持たせる */
.fv_line_diagnosis .debt_cta_line .debt_cta_main {
  font-size: 18px;
  line-height: 1.27;
  padding-top: 5px;
  white-space: normal;
}

.fv_line_diagnosis .debt_cta_line .debt_cta_main > span {
  color: #fff;
}

.fv_line_diagnosis .debt_cta_line .debt_cta_main {
  align-items: center;
  display: grid;
  gap: 0.42em;
  grid-template-columns: auto minmax(0, 1fr);
  text-align: left;
  transform: translateX(-6px);
}

.fv_line_diagnosis .debt_cta_line .debt_cta_main small {
  align-items: center;
  border: 1px solid #fff;
  border-radius: 4px;
  color: #fff;
  display: inline-flex;
  font-size: 0.82em;
  font-weight: 700;
  justify-content: center;
  line-height: 1.05;
  margin: 0;
  min-height: 2.05em;
  padding: 0 0.36em;
  white-space: nowrap;
}

.fv_line_diagnosis .debt_cta_line .debt_cta_main > span {
  line-height: 1.27;
  white-space: nowrap;
}

.fv_line_diagnosis .debt_cta_line .debt_cta_main b {
  color: #fff;
  font-weight: inherit;
}

@media only screen and (min-width: 781px) {
  .fv_line_diagnosis .debt_cta_line {
    grid-template-columns: 56px minmax(0, 1fr) 30px;
    height: 82px;
    padding: 19px 12px 8px;
  }

  .fv_line_diagnosis .debt_cta_line .debt_cta_main {
    font-size: 17px;
    line-height: 1.28;
    overflow: visible;
    padding-top: 6px;
    text-overflow: initial;
    white-space: normal;
  }
}

/* FVのLINE相談ポイントは、緑のカード下に白い3項目バッジとして配置 */
.fv_line_cta_badges {
  background: #fff;
  border: 0;
  border-radius: 8px;
  box-shadow: none;
  gap: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 10px 6px 0;
}

.fv_line_cta_badges li,
.fv_cta_pair .fv_line_cta_badges li {
  background: #fff;
  border: 0;
  border-left: 1px solid rgba(6, 169, 79, 0.2);
  border-radius: 0;
  color: #087d3f;
  font-size: 11px;
  height: 28px;
  min-height: 0;
  padding: 0 4px;
  white-space: nowrap;
}

.fv_line_cta_badges li:first-child {
  border-left: 0;
}

.fv_line_cta_badges li::before {
  background-color: #06a94f;
  flex: 0 0 14px;
  font-size: 10px;
  height: 14px;
  margin-right: 3px;
  width: 14px;
}

@media only screen and (max-width: 780px) {
  .fv_line_cta_badges li,
  .fv_cta_pair .fv_line_cta_badges li {
    font-size: 11px;
  }
}

/* 最終調整：中間LINE CTAは下側だけを確実に詰める */
.debt_cta_line_bundle .debt_cta_line {
  height: calc(112 * var(--debt-cta-u)) !important;
  min-height: 0;
  padding-bottom: calc(8 * var(--debt-cta-u)) !important;
}

/* PCのFV直下LINEアイコンは本文より目立ちすぎないサイズに */
@media only screen and (min-width: 781px) {
  .fv_line_diagnosis .debt_cta_line .debt_cta_line_logo {
    height: 30px !important;
    max-height: 30px;
    max-width: 30px;
    width: 30px !important;
  }
}

/* 最終上書き：FV直下は画像そのもの以外の緑背景・外側余白を持たない */
.fv_line_diagnosis {
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 最終上書き：LINE CTAの黄色帯を完全に消し、FV本文を左へ寄せる */
body[data-cta-count="3"] .debt_cta_line::before {
  content: none !important;
  display: none !important;
}

body[data-cta-count="3"] .debt_cta_line .debt_cta_ribbon {
  display: none !important;
}

.fv_line_diagnosis .debt_cta_line .debt_cta_main {
  transform: translateX(-14px) !important;
}

/* FV下背景込み画像：コンテナ側に残る緑を完全に消し、CTA位置を最終調整 */
.fv_line_diagnosis,
.fv_line_diagnosis_inner {
  background: transparent !important;
  box-shadow: none !important;
}

.fv_line_diagnosis .debt_cta_line_visual,
.fv_line_diagnosis .debt_cta_line_visual img {
  background: transparent !important;
}

.fv_line_diagnosis .debt_cta_line {
  bottom: 2% !important;
}

.fv_line_diagnosis .debt_cta_line .debt_cta_main {
  font-size: 20px !important;
  line-height: 1.32 !important;
}

@media only screen and (min-width: 781px) {
  .fv_line_diagnosis .debt_cta_line .debt_cta_main {
    font-size: 19px !important;
  }
}

/* LINE CTAの黄色マイクロコピーを再表示 */
body[data-cta-count="3"] .debt_cta_line::before {
  content: "" !important;
  display: block !important;
}

body[data-cta-count="3"] .debt_cta_line .debt_cta_ribbon {
  display: flex !important;
}

/* FV本体の既存黄緑背景も消し、背景込み画像だけを見せる */
.fv {
  background: transparent !important;
  background-color: transparent !important;
}

/* 黄色帯の下に呼吸できる余白を取り、本文を少し下へ */
.fv_line_diagnosis .debt_cta_line .debt_cta_main {
  transform: translate(-14px, 7px) !important;
}

.fv_line_diagnosis .debt_cta_line .debt_cta_main small {
  border-width: 3px;
  font-size: 1.08em;
  min-height: 2.14em;
  padding: 0 0.42em;
}

/* メールCTAは1行目を折り返さず、本文を2行に固定 */
.debt_cta_mail .debt_cta_main {
  font-size: calc(28 * var(--debt-cta-u)) !important;
  letter-spacing: 0;
  line-height: 1.22;
  white-space: nowrap;
}

.debt_cta_mail .debt_cta_main small {
  letter-spacing: 0;
  margin-right: 0.1em;
}

/* 漫画カード内だけ、LINEアイコンを他CTAの左寄せ感に合わせる */
.debt_solution_line_cta::before {
  transform: translateX(calc(-24 * var(--solution-u)));
}

/* 途中CTA：診断フロー画像の直下に少し余白を足す */
.debt_cta_line_visual {
  margin-bottom: calc(42 * var(--debt-cta-u));
}

.debt_cta_line_visual::after {
  bottom: calc(-36 * var(--debt-cta-u));
}

/* SP固定フッター：3つのCTA本文を少しだけ読みやすく */
@media only screen and (max-width: 780px) {
  body[data-cta-count="3"] .footer_cta_btn span b {
    font-size: calc(19 * var(--footer-u));
  }

  body[data-cta-count="3"] .footer_cta_btn span em {
    font-size: calc(21 * var(--footer-u));
  }
}

/* FV直下LINE CTA：黄色帯下の本文はPC/SPで同じ見え方に統一 */
.fv_line_diagnosis .debt_cta_line .debt_cta_main {
  font-size: 18px !important;
  line-height: 1.26 !important;
}

.fv_line_diagnosis .debt_cta_line .debt_cta_main small {
  font-size: 1.02em;
}

/* FV直下LINE CTA：PC/SPで同じ配置基準に揃える */
.fv_line_diagnosis .debt_cta_line {
  grid-template-columns: 54px minmax(0, 1fr) 46px !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
}

.fv_line_diagnosis .debt_cta_line .debt_cta_main {
  gap: 0.5em;
  transform: translate(-8px, 7px) !important;
}

.fv_line_diagnosis .debt_cta_line .debt_cta_main small {
  border-width: 2px;
  font-size: 0.98em;
  font-weight: 600;
  min-height: 2.02em;
}

/* PC時のFV黄色案内：チェックだけSP相当に抑える */
@media only screen and (min-width: 781px) {
  .fv_line_diagnosis .fv_line_cta_badges li::before {
    flex-basis: 14px !important;
    font-size: 10px !important;
    height: 14px !important;
    margin-right: 3px !important;
    width: 14px !important;
  }
}

/* 黄色案内の項目間は、短くまっすぐな縦線で区切る */
.fv_line_diagnosis .fv_line_cta_badges .debt_cta_badge_screenshot {
  border-left: 0 !important;
  position: relative;
}

.fv_line_diagnosis .fv_line_cta_badges .debt_cta_badge_screenshot::after {
  background: rgba(8, 116, 57, 0.3);
  content: "";
  height: 16px;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
}

.fv_line_diagnosis .debt_cta_line .debt_cta_icon,
.fv_line_diagnosis .debt_cta_line .debt_cta_action {
  transform: translateY(8px);
}

@media only screen and (max-width: 780px) {
  .fv_line_diagnosis .debt_cta_line {
    grid-template-columns: 54px minmax(0, 1fr) 42px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .fv_line_diagnosis .debt_cta_line .debt_cta_icon {
    transform: translate(-7px, 8px);
  }
}
  grid-area: profile;

/* 漫画カード下のLINE CTA：他CTAと同じ存在感に揃える */
.debt_solution_line_cta {
  min-height: calc(132 * var(--solution-u)) !important;
  padding-bottom: calc(25 * var(--solution-u)) !important;
  padding-top: calc(25 * var(--solution-u)) !important;
}

.debt_solution_line_cta .debt_solution_line_copy {
  line-height: 1.42 !important;
}

.debt_solution_line_cta .debt_solution_line_copy small,
.debt_solution_line_cta .debt_solution_line_copy strong {
  font-weight: 700 !important;
  line-height: 1.42 !important;
}

/* FV下：CTAと安心バッジを明確に上下分離 */
.fv_line_diagnosis .debt_cta_line {
  bottom: 112px !important;
}

.fv_line_diagnosis .fv_line_cta_badges {
  bottom: 24px !important;
  margin: 0 !important;
  position: absolute !important;
}

/* 正式名称の共通ロゴをフッターでは白く表示 */
.footer_pc_logo img {
  filter: brightness(0) invert(1);
}
