@charset "UTF-8";

.brand-logo {
  background: none;
  align-items: center;
  text-align: center;
}

.brand-logo img {
  max-height: 64px;
  min-height: 36px;
  width: auto;
}

.table-head {
  width: 100%;
  display: flex;
  text-align: left;
  margin: 0 auto 20px;
  line-height: 1.6;
  font-weight: bold;
  color: #00A0AF;
  padding-top: 24px;
}

.installment-content {
  border-radius: 10px;
  padding: 20px;
  /* margin-bottom: 30px; */
}

.installment-content .link {
  color: #00A0AF;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}

.installment-content strong {
  display: block;
  font-size: 16px;
  line-height: 36px;
  text-align: center;
}

.installment-bg {
  background-color: #E7FCF2;
}

@media screen and (max-width: 767px) {

  table:not(.scroll__table) tr>* {
    display: table-cell;
    width: auto;
  }
}

h2 {
  font-size: 32px;
  font-weight: bold;
  line-height: 1;
}

@media screen and (max-width : 768px) {
  h2 {
    font-size: 24px;
  }
}

h3 {
  font-size: 24px;
  font-weight: bold;
  line-height: 1;
  color: #00A0AF;
}

@media screen and (max-width : 768px) {
  h3 {
    font-size: 20px;
  }
}

.detailWrap {
  background: #E7FCF2;
  padding: 60px 20px;
}

@media screen and (max-width : 768px) {
  .detailWrap {
    padding: 60px 0 30px;
  }
}

.detailWrap .benefitBox {
  display: grid;
  gap: 36px;
  background: #FFF;
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
  padding: 80px;
  border-radius: 10px;
  margin-bottom: 80px;
  position: relative;
  box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.16);
}

@media screen and (max-width : 768px) {
  .detailWrap .benefitBox {
    max-width: calc(1000px + 40px);
    padding: 80px 20px;
  }
}

.detailWrap .benefitBox .animal {
  position: absolute;
  top: -60px;
  right: 40px;
}

@media screen and (max-width : 1024px) {
  .detailWrap .benefitBox .animal {
    right: 0px;
  }
}

@media screen and (max-width : 1024px) {
  .detailWrap .benefitBox .animal img {
    width: 125px;
  }
}

.detailWrap .benefitBox h2 {
  padding: 70px 0;
}

@media screen and (max-width : 768px) {
  .detailWrap .benefitBox h2 {
    padding: 40px 0;
  }
}

.detailWrap .benefitBox .text {
  font-size: 22px;
  font-weight: bold;
  margin: auto;
  line-height: 1.6;
}

@media screen and (max-width : 768px) {
  .detailWrap .benefitBox .text {
    width: 200px;
    font-size: 18px;
  }
}

.detailWrap .benefitBox .tableChild {
  width: 100%;
  margin: 0;
  overflow: auto;
  display: block;
}

.detailWrap .benefitBox .tableChild table {
  width: 100%;
  margin: 0 auto;
}

.detailWrap .benefitBox .tableChild table tr th {
  background: #00A0AF;
  color: #FFF;
  border: solid 1px #CCCCCC;
  text-align: center;
  padding: 20px 0;
  line-height: 1;
  font-size: 16px;
  white-space: nowrap;
}

.detailWrap .benefitBox .tableChild table tr td {
  border: solid 1px #CCCCCC;
  text-align: center;
  padding: 20px 0;
  line-height: 1;
  font-size: 16px;
  white-space: nowrap;
  color: #333;
}

.detailWrap .benefitBox .tableChild table tr td:nth-of-type(1) {
  background: #00A0AF;
  color: #FFF;
}

.detailWrap .benefitBox .tableChild table tr td:nth-of-type(2) {
  background: #00A0AF;
  color: #FFF;
}

.detailWrap .textBox {
  background: #FFF;
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px;
  margin-bottom :80px;
  border-radius: 10px;
  position: relative;
  box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.16);
}

.detailWrap .benefitBox .tc-text {
  font-size: 1.8rem;
  line-height: 2;
}

.detailWrap .benefitBox .tableChild .disable-tr {
  opacity: 0.8;
  background-color: #CCC;
  mix-blend-mode: luminosity;
}

.detailWrap .benefitBox .request-table {
  width: 100%;
  margin-bottom: 24px;
}

.detailWrap .benefitBox .request-table table {
  width: 100%;
  margin: 0 auto;
}

.detailWrap .benefitBox .request-table table tr th {
  background: #00A0AF;
  color: #FFF;
  border: solid 1px #CCCCCC;
  text-align: center;
  padding: 1.2em 0.5em;
  line-height: 2;
  font-size: 1.6rem;
  min-width: 210px;
}

.detailWrap .benefitBox .request-table table tr td {
  width: auto;
  border: solid 1px #CCCCCC;
  text-align: left;
  padding: 0.97em 1em;
  font-size: 1.6rem;
  line-height: 2;
  color: #333;
}

.box-mb {
  margin-bottom: 13.89% !important;
}

@media screen and (max-width: 767px) {
  .detailWrap .benefitBox .request-table table tr > * {
    display: block;
    width: 100%;
  }

  .detailWrap .benefitBox .request-table table tr th > * {
    width: 100% !important;
  }
}

.detailWrap .card-group {
  width: 100%;
  display: flex;
  padding: 24px 0;
  align-items: center;
  justify-content: space-between;
}

@media screen and (max-width : 768px) {
  .detailWrap .card-group {
    display :grid;
    justify-content: space-between;
    gap: 24px;
  }

  .detailWrap .card-group .example-content {
    width: 100% !important;
    display: ruby !important;
  }
}

.detailWrap .card-group .example-content {
  display: flex;
  width: 48.5%;
  padding: 3% 4% 2.8%;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  border-radius: 10px;
  align-self: stretch;
  background: #E7FCF2;
}

.detailWrap .card-group .example-content .example-title {
  color:#00A0AF;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: normal;
  text-align: left;
}

.detailWrap .card-group .example-content .example-detail {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}

.detailWrap .card-group .example-content .example-detail .detail-title {
  color: #333;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-align: left;
}

.detailWrap .card-group .example-content .example-detail .detail-text {
  display: inline;
  text-align: left;
  font-size: 1.6rem;
  line-height: 1.8;
  gap: 12px;
}

@media screen and (max-width : 768px) {
  .detailWrap .textBox {
    padding: 30px 20px 30px;
  }
}

.detailWrap .textBox .animal {
  position: absolute;
  top: -60px;
  right: 40px;
}

@media screen and (max-width : 1024px) {
  .detailWrap .textBox .animal {
    right: 0px;
  }
}

@media screen and (max-width : 1024px) {
  .detailWrap .textBox .animal img {
    width: 125px;
  }
}

.detailWrap .textBox h3 {
  margin-bottom: 35px;
}

@media screen and (max-width : 768px) {
  .detailWrap .textBox h3 {
    margin-bottom: 30px;
  }
}

.detailWrap .textBox .text {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 70px;
}

@media screen and (max-width : 768px) {
  .detailWrap .textBox .text {
    margin-bottom: 30px;
  }
}

.detailWrap .textBox span {
  font-size: 16px;
  margin-bottom: 60px;
  display: block;
}

@media screen and (max-width : 768px) {
  .detailWrap .textBox span {
    margin-bottom: 30px;
  }
}

.detailWrap .textBox .child {
  background: #E7FCF2;
  padding: 35px 40px;
  border-radius: 10px;
}

@media screen and (max-width : 768px) {
  .detailWrap .textBox .child {
    padding: 30px 20px;
  }
}

.detailWrap .textBox .child .title {
  color: #00A0AF;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 30px;
}

.detailWrap .textBox .child .iconText {
  font-size: 16px;
  margin-bottom: 40px;
}

.detailWrap .textBox .child .iconText .custom-list {
  list-style: none; /* デフォルトの箇条書きマーカーを消す */
}

.detailWrap .textBox .child .iconText .custom-list li {
  position: relative;
  margin-bottom: 0.5em; /* 行間調整 */
  padding-left: 1.2em; /* 「※」分のスペース */
}

.detailWrap .textBox .child .iconText .custom-list li::before {
  content: "※";
  position: absolute;
  left: 0;
  color: #000; /* 色を変えたい場合ここで指定 */
}

.detailWrap .textBox .child .iconText:last-child {
  margin-bottom: 0px;
}

@media screen and (max-width : 768px) {
  .detailWrap .textBox .child .iconText {
    margin-bottom: 30px;
  }
}

.detailWrap .textBox .child .iconTitle {
  padding-left: 28px;
  font-size: 16px;
  margin-bottom: 20px;
  background: url(../images/lp/icon.svg) no-repeat center left;
}

.waveWrap {
  background: #E7FCF2;
  margin-bottom: 150px;
}

@media screen and (max-width : 768px) {
  .waveWrap {
    margin-bottom: 80px;
  }
}

.waveWrap img {
  width: 100%;
}