/* ----------------
2023/11/15 身元保証LP
------------------*/ 

.body {
  min-width: 0;
}

/* ==========================================================================
   メインビジュアル（MV）共通・PCスタイル
   ========================================================================== */
.mv-container {
  display: flex;
  flex-direction: row;
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
}

.mv-text-block {
  flex: 1;
  background-color: #073254;
  color: #ffffff;
  padding: clamp(20px, 3.07vw, 40px) clamp(20px, 3.07vw, 40px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.mv-target {
  max-width: clamp(280px, 36.92vw, 480px);
  width: 100%;
  background-color: #ffffff;
  color: #CC3C4C;
  border: 1px solid #CC3C4C;
  border-radius: 50px;
  padding: clamp(10px, 1.38vw, 18px) clamp(15px, 1.84vw, 24px);
  font-size: clamp(14px, 1.53vw, 20px);
  font-weight: bold;
  margin: 0 0 clamp(12px, 1.84vw, 24px) 0;
}

/* 「弁護士法人グループ運営の...」 */
.mv-title {
  font-size: clamp(32px, 50vw - 618px, 65px);
  font-weight: bold;
  text-align: left;
  line-height: 1.2;
  letter-spacing: 0.05em;
  display: inline-block;         
  padding: 0 clamp(8px, 1.15vw, 15px) clamp(10px, 1.53vw, 20px) clamp(8px, 1.15vw, 15px);     
  margin-left: calc(clamp(8px, 1.15vw, 15px) * -1);            
  background-image: linear-gradient(to right, #fff 50%, transparent 50%);
  background-size: clamp(4px, 0.61vw, 8px) 2px;      
  background-repeat: repeat-x;   
  background-position: bottom;   
}

/* 「入会費・年会費・月額費用が」 */
.mv-price-label {
  font-size: clamp(32px, 42.42vw - 519.5px, 60px);
  font-weight: bold;
  margin: 2px 0 clamp(6px, 0.76vw, 10px) 0;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
.mv-price-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(8px, 1.15vw, 15px);
}

.mv-price {
  font-size: clamp(60px, 9.23vw, 120px);
  color: #FFCC00;
  font-weight: bold;
  line-height: 1;
  margin: 0;
}

.mv-price span {
  font-size: clamp(32px, 5vw, 65px);
  margin-left: clamp(3px, 0.46vw, 6px);
}

.sparkle {
  display: inline-block;
  width: clamp(32px, 5vw, 65px); 
  height: clamp(43px, 6.69vw, 87px);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.sparkle.left {
  background-image: url('../img/identity_guarantee01/sparkle_left.webp');
}

.sparkle.right {
  background-image: url('../img/identity_guarantee01/sparkle_right.webp');
}

.mv-image-block {
  flex: 1;
  background-color: #f9f6e9;
  display: flex;
  align-items: flex-end;    
  justify-content: center;
}

.mv-image-block img {
  width: 100%;
  height: auto;
  display: block;
}

.sp-only {
  display: none;
}


/* ==========================================================================
   レスポンシブスタイル（タブレット・スマホ：999px以下）
   ========================================================================== */
@media (max-width: 999px) {
  .mv-container {
    margin-top: 65px;
    flex-direction: column; /* スマホは縦並びに変更 */
  }

  .mv-text-block {
    padding: 40px 20px 20px;
  }

  .mv-target {
    max-width: 100%;
    font-size: 18px;
    padding: 4px 18px;
    margin-bottom: 8px;
  }

  .mv-title {
    font-size: 28px;
    margin-bottom: 0px;
    padding-bottom: 0;
    background-image: unset;
    text-align: center;
  }

  .mv-price-label {
    font-size: 28px;
  }

  .mv-price {
    font-size: 100px;
  }

  .mv-price span {
    font-size: 42px;
    margin-left: 10px;
  }

  .mv-price-wrap {
    gap: 50px;
  }
  
  .sparkle {
    width: 80px;
    height: 80px;
  }

  /* スマホのときだけタイトルの途中で改行を入れる */
  .sp-only {
    display: block;
  }

  .mv-image-block img {
    margin-top: 0;
    margin-bottom: -40px;
  }
}

/* ==========================================================================
   レスポンシブスタイル（タブレット・スマホ：420px以下）
   ========================================================================== */
@media (max-width: 420px) {
  .mv-target {
    font-size: 16px;
  }

  .mv-title {
    font-size: 24px;
  }

  .mv-price-label {
    font-size: 24px;
  }

  .mv-price {
    font-size: 70px;
  }

  .mv-price-wrap {
    gap: 40px;
  }
}


.lp-page-top {
  bottom: 140px;
}

@media screen and (max-width:768px) {
  .lp-page-top {
    bottom: 120px;
  }
}

.mobile-fixed-cta--lp {
  background-color: #CC3C4C;
  display: block;
}

.lp-bnr__inner {
  max-width: 1366px;
  display: flex;
  justify-content: right;
  margin: 0 auto;
  position: relative;
}

.lp-bnr__inner img {
  width: 25%;
  position: absolute;
  left: 0;
  bottom: -13px;
}

.lp-bnr__wrapper {
  display: flex;
  gap: 25px;
}

.lp-bnr__wrapper-inner {
  width: 100%;
}
/* ==========================================================================
   共通・PCレイアウト
   ========================================================================== */
.lp-bnr__inner {
  position: relative;
  display: flex;
  justify-content: flex-end; /* rightからインライン軸基準に変更 */
  max-width: 1366px;
  margin: 0 auto;
}

.lp-bnr__inner img {
  position: absolute;
  left: 0;
  bottom: -13px;
  width: 25%;
}

.lp-bnr__wrapper {
  display: flex;
  gap: 25px;
}

/* ボタン（外枠）の共通設定 */
.lp-bnr__box {
  width: 100%;
  max-width: 280px;
  max-height: 120px;
  height: 100%;
  border: 3px solid #fff;
  border-radius: 12px;
  text-align: center;
  box-sizing: border-box; /* 余白を含んだサイズ計算にするため追加 */
}

@media screen and (min-width:1000px) {
  .lp-bnr__box {
    min-width: 280px;
  }
}

/* リンク（内側のレイアウト）の共通設定 */
.lp-bnr__box a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 8px 10px;
  color: #fff;
  font-weight: bold;
  text-decoration: none; /* 下線を消すために一般的な設定を追加 */
  box-sizing: border-box;
}

/* --- カラーバリエーション --- */
.lp-bnr__box--tel {
  background-color: #CC3C4C;
}

.lp-bnr__box--form {
  background-color: #fff;
}
.lp-bnr__box--form a {
  color: #CC3C4C;
}

.lp-bnr__box--document {
  background-color: #fff;
}
.lp-bnr__box--document a {
  color: #233750;
}

/* --- テキストスタイル --- */
.lp-bnr__box__ttl {
  position: relative;
  margin-top: 0;
  font-size: 1.6rem;
  letter-spacing: 0;
}
.lp-bnr__box__ttl--tel {
  font-size: 2rem;
}

.lp-bnr__box__txt {
  font-size: 1.2rem;
}

.lp-bnr__box__txt--form,
.lp-bnr__box__txt--document {
  display: flex;
  align-items: center;
  font-size: 2rem;
  margin-bottom: 6px;
}

/* --- アイコン設定（共通化） --- */
.lp-bnr__box__ttl::before {
  content: '';
  display: inline-block;
  vertical-align: middle;
  width: 30px;
  height: 30px;
  margin-right: 8px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.lp-bnr__box__ttl--tel::before {
  background-image: url(../img/lp/icon-cta-tel.svg);
}
.lp-bnr__box__ttl--form::before {
  background-image: url(../img/lp/icon-mail.svg);
}
.lp-bnr__box__ttl--document::before {
  background-image: url(../img/lp/icon-document.svg);
}

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

  .lp-bnr__inner {
    width: 100%;
    justify-content: center;
    gap: 20px;
  }


  .lp-bnr__inner img {
    display: none;
  }
}

/* ==========================================================================
   スマートフォン用レイアウト (max-width: 768px)
   ========================================================================== */
@media screen and (max-width: 768px) {

  .lp-bnr__box {
    max-width: 100%;
    width: 100%;
    height: auto;
    border: 1px solid #fff;
    border-radius: 6px;
  }

  .lp-bnr__box a {
    padding: 8px 6px;
  }

  .lp-bnr__wrapper {
      gap: 10px;
      width: 100%;
  }

  .lp-bnr__wrapper-inner {
    width: 50%;
  }

  .lp-bnr__box__ttl {
    font-size: 1.4rem;
  }

  .lp-bnr__box__ttl::before {
    width: 18px;
    height: 18px;
    margin-right: 2px;
  }
}

.lp-header {
  padding: 22px 0 20px;
  position: absolute;
  box-shadow: 0px 5px 6px -2px rgba(0, 0, 0, 0.3);
}

.lp-header__inner {
  max-width: 100%;
  padding: 0 16px;
}

.lp-header-logo {
  top: 13px;
  left: 100px;
}

.lp-header-right {
  display: flex;
}

.lp-header-tel__txt {
  font-size: 1.4rem;
  color: #CC3C4C;
}

.lp-header-tel__number {
  margin-top: 0;
  font-size: 2.8rem;
  color: #CC3C4C;
  line-height: 1.2rem;
  position: relative;
  text-align: center;
}

.lp-header-tel__number::before {
  content: '';
  display: inline-block;
  vertical-align: middle;
  width: 29px;
  height: 29px;
  margin-right: 8px;
  background: url(../img/lp/icon-header-tel.svg) no-repeat center / contain;
}

.lp-header-button {
  width: 160px;
  margin-left: 10px;
  text-align: center;
  color: #fff;
  font-size: 1.8rem;
  background-color: #CC3C4C;
  border-radius: 50px;
}

.lp-header-button a{
  padding: 15px 0;
  display: block;
  color: #fff;
}

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

  .lp-header {
    padding: 0 0 10px;
  }

  .lp-header__inner {
    align-items: center;
    padding: 4px 20px 0;
  }

  .lp-header-logo img{
    height: 19px;
    width: 100%;
  }

  .lp-header-right {
    display: none;
  }

  .lp-header-sp-right {
    display: block;
  }
}

.p-section-fullwidth {
  padding: 60px 20px;
}

@media screen and (max-width:768px) {
  .p-section-fullwidth {
    padding-top: 48px;
    padding-bottom: 48px;
  }
}

.p-section-fullwidth--bg-gray {
  background-color: #F2F2F2;
}

.p-section-fullwidth--bg-red {
  background-color: #CC3C4C;
}

.p-section-fullwidth--bg-yellow {
  background-color: #EEECCE;
}

.c-heading-h2--short-border {
  position: relative;
  padding: 0 0 30px;
}

.c-heading-h2--short-border::after {
  content: "";
  position: absolute;
  height: 4px;
  width: 62px;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  background: #CC3C4C;
}

.c-heading-h2__title {
  text-align: center;
  font-weight: bold;
  font-size: 30px;
  font-size: 3rem;
  color: #3b4043;
}

.c-heading-h2__txt {
  margin-top: 48px;
  text-align: center;
}

@media screen and (max-width:768px) {
  .c-heading-h2__title {
    font-size: 2.4rem;
  }

  .c-heading-h2__txt {
    margin-top: 40px;
    text-align: left;
    font-size: 1.8rem;
  }
  
}

.lp-content {
  background-color: #fff;
  margin-top: 102px;
}

@media screen and (max-width:768px) {
  .lp-content {
    margin-top: 0;
  }
}


.mv-cta {
  padding: 25px 20px 0;
}

.mv-cta-wrapper {
  width: 100%;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
}

.mv-cta-box {
  width: calc(100% / 3 - 20px);
  border-radius: 12px;
  text-align: center;
  box-shadow: 10px 10px 0px -4px #D6D6D6;
  transition: .3s all;
}

.mv-cta-box:hover {
  transform: translate(5px, 5px);
  box-shadow: unset;
}

.mv-cta-box a {
  padding: 20px 30px;
  display: block;
  font-weight: bold;
  text-decoration: none;
}

/* --- ① 左側：電話ボックス --- */
.mv-cta-box--tel {
  background-color: #CC3C4C;
}

.mv-cta-box--tel a {
  color: #fff;
}

/* 下部ボタン（無料相談はこちら ＞） */
.mv-cta-box--tel a::after {
  content: "無料相談はこちら ＞";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 50px;
  background-color: #ffffff;
  color: #CC3C4C;
  font-size: 2.0rem;
  border-radius: 50px;
  margin: 15px auto 0;
}

/* --- ② 中央：フォームボックス --- */
.mv-cta-box--form {
  border: 3px solid #CC3C4C;
  background-color: #ffffff;
}

.mv-cta-box--form a {
  color: #CC3C4C;
}

/* 下部ボタン（無料 ＞） */
.mv-cta-box--form a::after {
  content: "無料 ＞";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 200px;
  height: 50px;
  background-color: #CC3C4C;
  color: #ffffff;
  font-size: 1.8rem;
  border-radius: 50px;
  margin: 15px auto 0;
}

/* --- ③ 右側：資料請求ボックス --- */
.mv-cta-box--document {
  border: 3px solid #233750;
  background-color: #ffffff;
}

.mv-cta-box--document a {
  color: #233750;
}

/* 下部ボタン（無料 ＞） */
.mv-cta-box--document a::after {
  content: "無料 ＞";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 200px;
  height: 50px;
  background-color: #233750;
  color: #ffffff;
  font-size: 1.8rem;
  border-radius: 50px;
  margin: 15px auto 0;
}

/* --- テキスト・装飾要素の設定 --- */
.mv-cta-box__txt {
  font-size: 2rem;
  margin: 0;
  line-height: 1;
}

/* フォームと資料請求の点線表現 */
.mv-cta-box--form .mv-cta-box__txt {
  background-image: linear-gradient(to right, #CC3C4C 50%, transparent 50%);
  background-size: 6px 1px;
  background-repeat: repeat-x;
  background-position: bottom;
  padding-bottom: 12px;
}

.mv-cta-box--document .mv-cta-box__txt {
  background-image: linear-gradient(to right, #233750 50%, transparent 50%);
  background-size: 6px 1px;
  background-repeat: repeat-x;
  background-position: bottom;
  padding-bottom: 12px;
}

.mv-cta-box__txt span {
  font-size: 2.4rem;
}

.mv-cta-box__ttl {
font-size: clamp(24px, 2.03vw - 7.4px, 28px);
  letter-spacing: 0;
  position: relative;
  margin-top: 10px;
  margin-bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

/* アイコン共通設定 */
.mv-cta-box__ttl::before {
  content: '';
  display: inline-block;
  width: 60px;
  height: 60px;
  margin-right: 8px;
  background-size: contain !important;
}

.mv-cta-box__ttl--tel::before {
  background: url(../img/lp/icon-cta-tel02.svg) no-repeat;
}

.mv-cta-box__ttl--form::before {
  background: url(../img/lp/icon-cta-mail02.svg) no-repeat;
}

.mv-cta-box__ttl--document::before {
  background: url(../img/lp/icon-cta-document02.svg) no-repeat;
}

/* --- レスポンシブ設定（SP） --- */
@media screen and (max-width:999px) {
  .mv-cta-wrapper {
    display: block;
  }

  .mv-cta-box {
    width: 100%;
    margin: 0 auto;
    padding: 19px 14px 17px;
  }

  .mv-cta-box a {
    padding: 0;
  }

  .mv-cta-box:not(:first-child) {
    margin-top: 16px;
  }

  .mv-cta-box__ttl {
    font-size: 2rem;
    margin-top: 0;
  }

  .mv-cta-box__txt {
    line-height: 1.4;
  }
  

  /* フォームと資料請求の点線表現 */
  .mv-cta-box--form .mv-cta-box__txt {
    background-image: unset;
    padding-bottom: 0;
  }

  .mv-cta-box--document .mv-cta-box__txt,
  .mv-cta-box--form .mv-cta-box__txt {
    background-image: unset;
    padding-bottom: 0;
  }

  .mv-cta-box__txt--document,
  .mv-cta-box__txt--form {
    position: relative;
    text-align: center;
    overflow: hidden;
  }

  .mv-cta-box__txt--document::before,
  .mv-cta-box__txt--form::before  {
    content: "";
    position: absolute;
    top: 50%;
    width: 80%;
    left: 50%; 
    transform: translate(-50%, -50%);
    height: 2px; 
    background-image: linear-gradient(to right, #233750 50%, transparent 50%);
    background-size: 8px 1px; 
    z-index: 1;
  }

  .mv-cta-box__txt--form::before  {
    background-image: linear-gradient(to right, #CC3C4C 50%, transparent 50%);
  }

  .mv-cta-box__txt--document span,
  .mv-cta-box__txt--form span {
    position: relative;
    z-index: 2;
    padding: 0 15px;
    background-color: #fff;
    font-size: 1.8rem;
  }

}

/* --- レスポンシブ設定（SP） --- */
@media screen and (max-width: 520px) {

  .mv-cta-box {
    padding: 10px 14px 9px;
  }

 .mv-cta-box__ttl {
    font-size: 1.6rem;
  }

  .mv-cta-box__txt {
    font-size: 1.4rem;
  }

  /* アイコン共通設定 */
  .mv-cta-box__ttl {
    font-size: 3rem;
    line-height: 1.2;
  }

  .mv-cta-box__ttl--form,
  .mv-cta-box__ttl--document {
    font-size: 2rem;
  }

  .mv-cta-box__ttl::before {
    width: 35px;
    height: 35px;
  }

  /* 下部ボタン（無料相談はこちら ＞） */
  .mv-cta-box--tel a::after {
    height: 36px;
    font-size: 1.6rem;
    border-radius: 50px;
    margin: 5px auto 0;
  }

  /* 下部ボタン（無料 ＞） */
  .mv-cta-box--form a::after {
    content: "無料";
    height: 36px;
    font-size: 1.6rem;
    margin: 5px auto 0;
    max-width: 150px;
  }

  /* 下部ボタン（無料 ＞） */
  .mv-cta-box--document a::after {
    content: "無料";
    height: 36px;
    font-size: 1.6rem;
    margin: 5px auto 0;
    max-width: 150px;
  }
}


.p-section-fullwidth__content {
  max-width: 1160px;
  margin: 0 auto;
}

.p-list-consultation {
  list-style: none;
}

.p-list-consultation__item {
  padding: 0 60px;
  margin-top: 80px;
  border-right: 1px solid #707070;
  width: calc(100% / 3);
}

.p-list-consultation__item:nth-child(3n) {
  border-right: none;
}

.p-list-consultation__item:nth-child(-n+3n) {
  margin-top: 0;
}

.p-list-consultation__img-wrap {
  max-width: 160px;
  margin: 0 auto;
}

.p-list-consultation__img-wrap-inner {
  position: relative;
  overflow: hidden;
  border-radius: 100%;
  height: 0;
  padding-top: 100%;
  background-color: #fff;
}

.p-list-consultation__img-wrap-inner img {
  max-width: 100%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

.p-list-consultation__title {
  margin-top: 15px;
  margin-bottom: 10px;
  text-align: center;
  font-size: 2.2rem;
  font-weight: bold;
}

.p-list-consultation__txt {
  margin-top: 50px;
}

@media screen and (min-width:769px) {
  .p-list-consultation {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .p-list-consultation__item {
    margin-top: 40px;
  }

  .p-list-consultation__item:nth-child(1) img{
    width: 100px;
  }

  .p-list-consultation__item:nth-child(2) img{
    width: 120px;
  }
  
  .p-list-consultation__item:not(:last-child) {
    border-right: 1px solid #233750;
  }

  .p-list-consultation__item:nth-child(-n+3) {
    margin-top: 40px;
  }

  .p-list-consultation__title {
    font-size: 2rem;
  }

}

@media screen and (max-width:768px) {
  .p-list-consultation__item {
    width: 100%;
    margin-top: 0;
    padding: 20px;
    border-right: none;
  }

  .p-list-consultation__item:not(:last-child) {
    border-bottom: 1px solid #233750;
  }

  .p-list-consultation__item:first-child {
    padding-top: 40px;
  }

  .p-list-consultation__item:nth-child(odd) {
    border-right: none;
  }

  .p-list-consultation__item:nth-child(1) img{
    width: 90px;
  }

  .p-list-consultation__item:nth-child(2) img{
    width: 100px;
  }

  .p-list-consultation__img-wrap {
    max-width: 175px;
    margin: 0 auto;
    padding-top: 0;
  }
}

.p-section-fullwidth--consultation-answer {
  margin-top: 165px;
  padding-top: 0;
  padding-bottom: 0;
}

.consultation-answer-box {
  width: 100%;
  background-color: #EEECCE;
  border-radius: 12px;
  padding-top: 52px;
  padding-bottom: 47px;
  position: relative;
}

.consultation-answer-box::before {
  content: '';
  display: block;
  background: url(../img/lp/icon-triangle.svg) no-repeat center / contain;
  width: 133px;
  height: 61px;
  top: -32%;
  left: 50%;
  position: absolute;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

.consultation-answer-box__ttl {
  font-size: 3.6rem;
  line-height: 1.4;
  font-weight: bold;
  text-align: center;
  position: relative;
}

.consultation-answer-box__ttl::before {
  content: '';
  display: block;
  background: url(../img/lp/bg-man01.webp) no-repeat center / contain;
  width: 125px;
  height: 166px;
  top: 50%;
  left: 15%;
  position: absolute;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

.consultation-answer-box__ttl::after {
  content: '';
  display: block;
  background: url(../img/lp/bg-woman01.webp) no-repeat center / contain;
  width: 100px;
  height: 160px;
  top: 50%;
  right: 8%;
  position: absolute;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

@media screen and (max-width:768px) {
  .p-section-fullwidth--consultation-answer {
    margin-top: 90px;
    padding-bottom: 0;
  }

  .consultation-answer-box {
    height: 320px;
    padding-top: 32px;
  }
  
  .consultation-answer-box::before {
    width: 80px;
    height: 36px;
    top: -40px;
  }

  .consultation-answer-box__ttl {
    font-size: 2rem;
  }

  .consultation-answer-box__ttl::before {
    width: 85px;
    height: 112px;
    top: unset;
    left: 37%;
    bottom: -174%;
  }
  
  .consultation-answer-box__ttl::after {
    width: 65px;
    height: 108px;
    top: unset;
    right: 17%;
    bottom: -170%;
  }
}

.p-list-service__item {
  margin-top: 80px;
  border-right: 1px solid #fff;
  width: calc(100% / 4);
}

.p-list-service__item:nth-child(3n) {
  border-right: none;
}

.p-list-service__item:nth-child(-n+3n) {
  margin-top: 0;
}

.p-list-service__img-wrap {
  width: 160px;
  margin: 0 auto;
}

.p-list-service__img-wrap-inner {
  position: relative;
  overflow: hidden;
  border-radius: 100%;
  height: 0;
  padding-top: 100%;
  background-color: #f2f2f2;
}

.p-list-service__img-wrap-inner img {
  max-width: 100%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

.p-list-service__title {
  margin-top: 15px;
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
}

.p-list-service__txt {
  margin-top: 50px;
}

@media screen and (min-width:769px) {

  .p-list-service {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .p-list-service__item {
    margin-top: 40px;
  }

  .p-list-service__item:nth-child(-n+3) {
    margin-top: 40px;
  }

}

.p-section-fullwidth--service {
  padding-top: 40px;
}

@media screen and (max-width:769px) {
  .p-section-fullwidth--service {
    margin-top: 80px;
    padding: 0 20px 80px;
  }
}

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

  .p-list-service {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .p-list-service__item {
    width: calc(100% / 2);
    margin-top: 0;
    padding: 46px 0 0;
    border-right: none;
    border-bottom: 1px solid #fff;
  }

  .p-list-service__item:nth-child(n+3) {
    padding-left: 10px;
    padding-right: 10px;
  }

  .p-list-service__item:nth-child(odd) {
    border-right: none;
  }

  .p-list-service__img-wrap {
    max-width: 100px;
    margin: 0 auto;
  }

  .p-list-service__img-wrap-inner img {
    max-width: 40px;
  }

  .p-list-service__title {
    font-size: 1.6rem;
    margin-top: 12px;
  }
}

.service__txt {
  text-align: center;
  margin-top: 52px;
  font-size: 2.4rem;
}

.service-box {
  width: 100%;
  background-color: #EEECCE;
  border-radius: 12px;
  margin-top: 80px;
  padding-top: 52px;
  padding-bottom: 47px;
  position: relative;
}

.service-box__ttl {
  margin-left: 100px;
  font-size: 2.8rem;
  line-height: 1.4;
  font-weight: bold;
  text-align: center;
  position: relative;
}

.service-box__ttl::before {
  content: '';
  display: block;
  background: url(../img/lp/bg-woman02.webp) no-repeat center / contain;
  width: 133px;
  height: 141px;
  top: 50%;
  left: 5%;
  position: absolute;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

@media screen and (max-width:768px) {
  .service__txt {
    margin-top: 24px;
    text-align: left;
    font-size: 1.8rem;
  }

  .service-box {
    height: 335px;
    margin-top: 32px;
    padding: 32px 24px 0;
  }

  .service-box__ttl {
    margin-left: 0;
    font-size: 2rem;
  }

  .service-box__ttl::before {
    content: '';
    display: block;
    background: url(../img/lp/bg-woman02.webp) no-repeat center / contain;
    width: 106px;
    height:112px;
    top: unset;
    bottom: -190px;
    left: 50%;
  }
}

.lp-cta {
  margin: 0 auto;
  padding: 74px 40px 70px;
  background-color: #fff;
  max-width: 1160px;
  border-radius: 24px;
}

.lp-cta__txt {
  margin-left: 100px;
  text-align: center;
  font-size: 3.4rem;
  line-height: 1.4;
  font-weight: bold;
  position: relative;
}

.lp-cta__txt::before {
  content: '';
  display: block;
  background: url(../img/lp/bg-woman03.webp) no-repeat center / contain;
  width: 133px;
  height: 141px;
  top: 50%;
  left: 10%;
  position: absolute;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

.lp-cta-wrapper {
  display: flex;
  justify-content: space-between;
  margin: 40px auto 0;
}

.lp-cta-box {
  width: calc(100% / 3 - 20px);
  border-radius: 12px;
  text-align: center;
  box-shadow: 10px 10px 0px -4px #D6D6D6;
  transition: .3s all;
}

.lp-cta-box:hover {
  transform: translate(5px, 5px);
  box-shadow: unset;
}

.lp-cta-box a{
  padding: 18px 0 15px;
  display: block;
  font-weight: bold;
}

.lp-cta-box--tel {
  background-color: #CC3C4C;
}

.lp-cta-box--tel a{
  color: #fff;
}

.lp-cta-box--form {
  border: 3px solid #CC3C4C;
}

.lp-cta-box--form a {
  color: #CC3C4C;
  display: flex;
  height: 100%;
  flex-direction: column;
  justify-content: center;
  align-items: center;    
}

.lp-cta-box--document {
  border: 3px solid #233750;
  background-color: #ffffff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;    
}

.lp-cta-box--document a{
  color: #233750;
}

.lp-cta-box__txt--tel {
  font-size: 1.4rem!important;
}

.lp-cta-box__txt--tel span{
  font-size: 1.2rem!important;
}

.lp-cta-box__txt span{
  font-size: 1.4rem;
}
.lp-cta-box__ttl {
  font-size: 2rem;
  letter-spacing: 0;
  position: relative;
  margin-top: 8px;
}

.lp-cta-box__ttl::before {
  content: '';
  display: inline-block;
  vertical-align: middle;
  width: 34.5px;
  height: 34.5px;
  margin-right: 8px;
}

.lp-cta-box__ttl--tel::before {
  background: url(../img/lp/icon-cta-tel.svg) no-repeat;
}

.lp-cta-box__ttl--form::before {
  background: url(../img/lp/icon-mail.svg) no-repeat;
}

.lp-cta-box__ttl--document::before {
  background: url(../img/lp/icon-document.svg) no-repeat;
}

/* --- 💡 追加：無料長方形ラベルの共通設定 --- */

/* 💡 追加：電話番号の下の「無料相談はこちら」ラベル設定 */
.lp-cta-btn-tel {
  display: inline-flex!important;
  align-items: center;
  justify-content: center;
  width: 192px;
  height: 36px;
  background-color: #ffffff;
  color: #CC3C4C;
  font-size: 1.4rem;
  font-weight: bold;
  border-radius: 50px;
  margin: 10px auto 0;
}

.lp-cta-label {
  width: 65px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1;
  padding: 4px 8px;
  border-radius: 50px;
  margin-right: 8px; 
  flex-shrink: 0;    
}

.lp-cta-box__txt--document span{
  border-radius: 50px;
  background-color: #073254;
  color: #ffffff;
}

.lp-cta-box__txt--form span{
  border-radius: 50px;
  background-color: #CC3C4C;
    color: #ffffff;
}

/* フォームボックス内の「無料」ラベル設定 */
.lp-cta-box--form.lp-cta-label {
  background-color: #CC3C4C;
  color: #ffffff;
}

/* 資料請求ボックス内の「無料」ラベル設定 */
.lp-cta-box--document.lp-cta-label {
    background-color: #233750;
    color: #ffffff;
}

/* --- テキスト・装飾要素の設定 --- */
.lp-cta-box__txt {
  font-size: 2rem;
  line-height: 1.4em;
  margin: 0;
  display: flex;        
  align-items: center;  
  justify-content: center;  
}

@media screen and (max-width: 768px) {
  .lp-cta {
    padding: 32px 24px 172px;
  }

  .lp-cta__txt {
    font-size: 2rem;
    margin-left: 0;
  }

  .lp-cta__txt::before {
    width: 105px;
    height: 121px;
    top: unset;
    bottom: -780%;
    left: 50%;
  }

  .lp-cta-box__ttl {
    font-size: 1.8rem;
  }

  .lp-cta-box__ttl::before {
    width: 29px;
    height: 29px;
    background-size: contain;
  }

  .lp-cta-wrapper {
    display: block;
    margin-top: 30px;
  }

  .lp-cta-box {
    width: 100%;
  }

  .lp-cta-box:not(:first-child) {
    margin-top: 16px;
  }

  /* 💡 追加：電話番号の下の「無料相談はこちら」ラベル設定 */
  .lp-bnr__box .lp-cta-btn-tel {
    display: none!important;
  }
}

.p-section-fullwidth--merit {
  margin-top: 0;
  padding: 80px 20px;
}

@media screen and (max-width: 768px) {
  .p-section-fullwidth--merit {
    padding-top: 40px;
  }
}


.p-list-merit {
  list-style: none;
}

.p-list-merit__item {
  padding: 0 60px;
  margin-top: 80px;
  border-right: 1px solid #707070;
  width: calc(100% / 3);
}

.p-list-merit__item:nth-child(3n) {
  border-right: none;
}

.p-list-merit__item:nth-child(-n+3n) {
  margin-top: 0;
}

.p-list-merit__img-wrap {
  max-width: 160px;
  margin: 0 auto;
}

.p-list-merit__img-wrap-inner {
  position: relative;
  overflow: hidden;
  border-radius: 100%;
  height: 0;
  padding-top: 100%;
  background-color: #fff;
}

.p-list-merit__img-wrap-inner img {
  max-width: 100%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

.p-list-merit__title {
  margin-top: 15px;
  text-align: center;
  font-size: 2.2rem;
  font-weight: bold;
}

.p-list-merit__txt {
  margin-top: 15px;
  margin-bottom: 10px;
}

@media screen and (min-width:769px) {
  .p-list-merit {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .p-list-merit__item {
    margin-top: 40px;
  }
  
  .p-list-merit__item:not(:last-child) {
    border-right: 1px solid #233750;
  }

  .p-list-merit__item:nth-child(-n+3) {
    margin-top: 40px;
  }

  .p-list-merit__title {
    font-size: 2rem;
  }

}

@media screen and (max-width:768px) {
  .p-list-merit__item {
    width: 100%;
    margin-top: 0;
    padding: 20px;
    border-right: none;
  }

  .p-list-merit__item:not(:last-child) {
    border-bottom: 1px solid #233750;
  }

  .p-list-merit__item:first-child {
    padding-top: 40px;
  }

  .p-list-merit__item:nth-child(odd) {
    border-right: none;
  }

  .p-list-merit__img-wrap {
    max-width: 175px;
    margin: 0 auto;
    padding-top: 0;
  }
}

.p-section-fullwidth--voice {
  padding-bottom: 0;
}

.p-voice {
  display:flex;
  align-items:center;
  max-width: 1160px;
  margin: 48px auto 0;
}

.p-voice__thumb { 
  width:100%;
}

@media screen and (min-width: 769px) {
.p-voice__thumb {
  max-width:90px;
  } 
}

@media screen and (max-width: 768px) {
  .p-voice {
    margin: 40px auto 0;
  }

  .p-voice__thumb { 
    max-width:62px;
  }

  .p-voice__balloon-name {
    font-size: 2rem;
  }

  .p-voice__balloon-txt {
    font-size: 1.8rem;
    margin-top: 8px;
  }
}

.p-voice__thumb img {
    max-width: 100%;
    height: auto;
}

.p-voice__txt {
    flex: 1;
    padding: 0 0 0 14px;
}

.p-voice__balloon {
    background-color: #EEECCE;
    border-radius: 16px;
    position: relative;
}

@media screen and (min-width: 769px) {
  .p-voice__balloon {
      margin: 0 0 0 15px;
      padding: 20px 24px;
  }
}

@media screen and (max-width: 768px) {
  .p-voice__balloon {
      margin: 0 0 0 10px;
      padding: 20px 16px 16px;
  }
}

.p-voice__balloon-heading {
  font-weight: bold;
  display: inline;
  background-color: #fff;
  padding: 4px;
}

@media screen and (min-width: 769px) {
  .p-voice__balloon-heading {
    font-size: 22px;
  }
}

@media screen and (max-width: 768px) {
  .p-voice__balloon-heading {
    font-size: 20px;
    line-height: 1.4;
    display: inline-block;
    margin: 0 0 8px;
  }
}

.p-voice__balloon-name {
  font-weight: bold;
  margin: 0 0 -10px;
}

@media screen and (min-width: 769px) {
  .p-voice__balloon-name {
    font-size: 18px;
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 768px) {
  .p-voice__balloon-name {
    font-size: 18px;
    font-size: 1.8rem;
  }
}

@media screen and (min-width: 769px) {
  .p-voice__balloon-txt {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

.p-voice__balloon-txt {
  margin-top: .5em;
}

@media screen and (max-width: 768px) {
  .p-voice__balloon-txt {
    font-size: 14px;
    font-size: 1.8rem;
  }
}

.p-voice__balloon::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(-9px, -50%) scaleY(0.8) rotate(135deg);
  background-color: #EEECCE;
  box-sizing: border-box;
  width: 16px;
  height: 16px;
}

.p-voice--reverse .p-voice__thumb {
  order: 1;
}

.p-voice--reverse .p-voice__txt {
  padding: 0 14px 0 0;
}

@media screen and (min-width: 769px) {
  .p-voice--reverse .p-voice__balloon {
      margin: 0 15px 0 0;
  }
}

@media screen and (max-width: 768px) {
  .p-voice--reverse .p-voice__balloon {
    padding: 20px 16px 16px;
  }
}

.p-voice--reverse .p-voice__balloon::before {
  left: auto;
  right: 0;
  transform: translate(9px, -50%) scaleY(0.8) rotate(-45deg);
}

.lp-price {
  max-width: 1160px;
  margin: 0 auto;
}

.lp-price__txt {
  margin-top: 48px;
  text-align: center;
  font-size: 2.4rem;
}

.lp-price-box {
  margin-top: 16px;
  border-radius: 8px;
  border: 3px solid #CC3C4C;
  padding: 32px 0 24px;
  text-align: center;
}

.lp-price-box__ttl {
  font-size: 3.2rem;
  font-weight: bold;
}

.lp-price-box__txt {
  font-size: 2.4rem;
  margin-top: 0;
}

.lp-price-box__price {
  font-size: 4.8rem;
  color: #CC3C4C;
  font-weight: bold;
  padding-left: 18px;
}

.lp-price-box__tax {
  font-size: 2.4rem;
  color: #CC3C4C;
}

.lp-price-table {
  border-collapse: separate;
  border-spacing: 0;
  text-align: center;
  width: 100%;
  margin: 32px auto 0;
  border: 4px solid #233750;
  border-radius: 8px;
}

.lp-price-table th {
  font-size: 3rem;
  font-weight: bold;
}

.lp-price-table td {
  font-size: 2.4rem;
}

.lp-price-table td span{
  font-size: 1.8rem;
  line-height: 1.4em;
  display: block;
}

.lp-price-table th,
.lp-price-table td {
  padding: 36px 20px 26px;
  border: 1px solid #233750;
  width: 20%;
  vertical-align: middle;
  letter-spacing: 0;
}

.lp-price-table th:nth-child(2), 
.lp-price-table td:nth-child(2) {
  color: #CC3C4C;
  background-color: #FFE8E8;
  border-left: 4px solid #CC3C4C;
  border-right: 4px solid #CC3C4C;
}

.lp-price-table th:nth-child(2) {
  border-top: 4px solid #CC3C4C;
}

.lp-price-table tr:last-child td:nth-child(2) {
  border-bottom: 4px solid #CC3C4C;
}

.lp-price-table tr:nth-child(1) th,
.lp-price-table tr:nth-child(1) td {
  border-bottom: 4px solid #233750;
}

.lp-price-table tr:nth-child(2) th,
.lp-price-table tr:nth-child(2) td {
  border-bottom: 8px double #233750;
}

.lp-price-table tr:nth-child(2) th:nth-child(1) {
  text-align: left;
  font-size: 3.6rem;
  font-weight: bold;
}

.lp-price-table tr:nth-child(2) td:nth-child(2) {
  font-weight: bold;
}

.lp-price-table tr:nth-child(2) td:nth-child(2),
.lp-price-table tr:nth-child(2) td:nth-child(3),
.lp-price-table tr:nth-child(2) td:nth-child(4),
.lp-price-table tr:nth-child(2) td:nth-child(5) {
  font-size: 2.7rem;
}

.lp-price__note {
  margin-top: 24px;
  font-size: 2rem;
}

.p-list-flow-chain {
  margin-top: 45px;
}

.p-list-flow-chain>li {
  counter-increment: step-count;
  position: relative
}

@media screen and (min-width: 769px) {
  .p-list-flow-chain>li {
      padding: 0 0 70px
  }
}

@media screen and (max-width: 768px) {
  .lp-price-table {
    margin-bottom: 12px;
  }

  .lp-price-table-container {
    overflow-x: auto;
    white-space: nowrap;
    width: 100%;
  }

  .lp-price-box__ttl {
    font-size: 2.4rem;
  }

  .lp-price__txt {
    margin-top: 20px;
    font-size: 1.8rem;
    text-align: left;
  }

  .lp-price-box {
    margin-top: 20px;
    padding: 20px 0 22px;
  }

  .lp-price-box__basic {
    display: block;
    font-size: 1.6rem;
  }

  .lp-price-box__price {
    font-size: 3.2rem;
  }

  .lp-price-box__tax {
    font-size: 1.6rem;
  }

  .p-list-flow-chain>li {
      padding: 0 0 40px
  }

  .lp-price-table th,
  .lp-price-table td {
    width: 160px;
    font-size: 1.6rem;
    padding: 18px 16px 16px;
    white-space: initial;
  }

  .lp-price-table tr:nth-child(1) th,
  .lp-price-table tr:nth-child(1) td {
    border-bottom: 3px solid #233750;
  }

  .lp-price-table tr:nth-child(2) th,
  .lp-price-table tr:nth-child(2) td {
    border-bottom: 6px double #233750;
  }

  .lp-price-table tr:nth-child(2) th:nth-child(1) {
    font-size: 2.2rem;
  }

  .lp-price-table tr:nth-child(2) td:nth-child(2),
  .lp-price-table tr:nth-child(2) td:nth-child(3),
  .lp-price-table tr:nth-child(2) td:nth-child(4),
  .lp-price-table tr:nth-child(2) td:nth-child(5) {
    font-size: 1.8rem;
  }

  .lp-price-table td span{
    font-size: 1.4rem;
    text-align: left;
  }
  
  .lp-price__note {
    margin-top: 24px;
    font-size: 1.6rem;
  }
}

/* // スクロールバー本体 */

.scroll-contents {
  padding-bottom: 12px;
}

.simplebar-scrollbar::before {
  background: #999;
  width: 145px;
  margin-left: 2px;
  border-radius: 8px;
}
/* // スクロールバー本体の透明度（デフォルトだと透過しています） */
.simplebar-scrollbar.simplebar-visible::before {
  opacity: 1;
}
/* // スクロールバーの背景色(オレンジ色の部分) */
.simplebar-track {
  background-color: #f2f2f2;
  border-radius: 8px;
}

.p-list-flow-chain>li:not(:last-child)::before {
  content: "";
  display: block;
  width: 4px;
  height: 100%;
  transform: translateX(-50%);
  position: absolute;
  left: 39px;
  top: 0;
  background-color: #ccc
}

.p-list-flow-chain>li:last-child {
  padding-bottom: 0
}

.p-flow-chain {
  display: flex
}

.p-flow-chain__num {
  max-width: 78px;
  width: 100%
}

.p-flow-chain__num-icon {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  aspect-ratio: 1/1;
  background-color: #233750;
  border-radius: 100%;
  color: #fff;
  position: relative
}

.p-flow-chain__num-icon::after {
  content: counter(step-count, decimal-leading-zero);
  display: block;
  font-size: 32px;
  font-size: 3.2rem;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  line-height: 1;
  text-align: center
}

.p-flow-chain__num-icon .txt-label {
  font-size: 14px;
  font-size: 1.4rem;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  line-height: 1;
  text-align: center
}

.p-flow-chain__content {
  flex: 1
}

@media screen and (min-width: 769px) {
  .p-flow-chain__content {
      margin: 0 0 0 42px
  }
}

@media screen and (max-width: 768px) {
  .p-flow-chain__content {
      margin: 0 0 0 14px
  }
}

.p-flow-chain__content-heading {
  font-weight: bold;
  border-bottom: 1px solid #233750
}

@media screen and (min-width: 769px) {
  .p-flow-chain__content-heading {
      padding: 0 0 10px;
      margin: 0 0 12px;
      font-size: 24px;
      font-size: 2.4rem
  }
}

@media screen and (max-width: 768px) {
  .p-flow-chain__content-heading {
      padding: 0 0 9px;
      margin: 0 0 12px;
      font-size: 18px;
      font-size: 1.8rem
  }
}

@media screen and (min-width: 769px) {
  .p-flow-chain__content-txt {
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 1.7777777778
  }
}

@media screen and (max-width: 768px) {
  .p-flow-chain__content-txt {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 1.625
  }
}

.p-flow-chain__content-txt p+p {
  margin-top: .5em
}

.lp-policy {
  max-width: 1160px;
  margin: 48px auto 0;
  padding: 48px 24px;
  border-radius: 20px;
  border: 4px solid #233750;
  background-color: #fff;
}

.lp-policy p {
  font-size: 2rem;
  line-height: 1.8em;
  text-align: center;
}

.lp-policy p + p{
  margin-top: 48px;
}

@media screen and (max-width:768px) {
  .lp-policy {
    margin-top: 40px;
    padding: 24px;
  }

  .lp-policy p {
    font-size: 1.8rem;
    text-align: left;
  }
}

.page-faq-section__body {
  margin: 40px auto 0;
  max-width: 1160px;
}

.p-list-faq {
  list-style: none
}

.p-list-faq>li {
  margin: 0 0 25px
}

.p-list-faq>li:last-child {
  margin-bottom: 0
}

.p-faq__icon {
  position: absolute;
  top: 20px;
  left: 16px;
  width: 30px;
  height: 30px;
  border-radius: 100%
}

.p-faq__icon::after {
  content: "";
  display: block;
  font-style: normal;
  line-height: 1;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%)
}

.p-faq__icon-toggle {
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  right: 25px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transition: .4s;
  -moz-transition: .4s;
  -o-transition: .4s;
  -ms-transition: .4s
}

.p-faq__icon-toggle::before,
.p-faq__icon-toggle::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  height: 3px;
  border-radius: 10px;
  background-color: #233750;
  -webkit-transition: .4s;
  -moz-transition: .4s;
  -o-transition: .4s;
  -ms-transition: .4s
}

.p-faq__icon-toggle::before {
  transform: translateY(-50%)
}

.p-faq__icon-toggle::after {
  transform: translateY(-50%) rotate(90deg);
  transform-origin: center
}

.p-faq__icon--quest {
  background-color: #233750;
  color: #fff
}

.p-faq__icon--quest::after {
  content: "Q"
}

.p-faq__icon--answer {
  background-color: #CC3C4C;
  color: #fff
}

.p-faq__icon--answer::after {
  content: "A"
}

.p-faq__quest,
.p-faq__answer {
  position: relative
}

@media screen and (min-width: 769px) {

  .p-faq__quest,
  .p-faq__answer {
      padding: 16px 0
  }
}

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

  .p-faq__quest,
  .p-faq__answer {
      padding: 10px 0
  }
}

.p-faq__quest-inner,
.p-faq__answer-inner {
  margin: 0 62px;
  padding: 5px 0
}

.p-faq__quest p+p,
.p-faq__answer p+p {
  margin-top: 1em
}

.p-faq__quest {
  background-color: #EEECCE;
  cursor: pointer
}

.p-faq__quest-inner>p {
  font-weight: bold
}

.p-faq__quest.is-opened .p-faq__icon-toggle {
  transform: translateY(-50%) rotate(360deg)
}

.p-faq__quest.is-opened .p-faq__icon-toggle::after {
  transform: translateY(-50%) rotate(0deg);
  opacity: 0
}

.p-faq__answer {
  background-color: #F2F2F2;
  display: none
}

@media screen and (min-width: 769px) {
  .p-company-about {
      margin: 0 42px
  }
}

.p-company-about__explanation {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: nowrap;
  margin-top: 60px;
}

@media screen and (max-width: 768px) {
  .p-company-about__explanation {
    display: block;
    margin-top: 40px;
  }
}

.p-company-about__explanation-image {
  width: 100%;
  margin-right: 44px;
  text-align: center
}

@media screen and (min-width: 769px) {
  .p-company-about__explanation-image {
      max-width: 320px
  }
}

@media screen and (max-width: 768px) {
  .p-company-about__explanation-image {
      max-width: 45%;
      margin-right: 44px
  }
}

@media screen and (max-width: 768px) {
  .p-company-about__explanation-image {
      max-width: none;
      margin-right: 0
  }
}

.p-company-about__explanation-image img {
  width: 100%;
  height: auto
}

.p-company-about__explanation-text {
  flex: 1
}

@media screen and (max-width: 768px) {
  .p-company-about__explanation-text {
      width: 100%;
      margin-top: 25px
  }
}

.p-company-about__explanation-text .heading {
  font-size: 20px;
  font-size: 2.4rem
}

@media screen and (max-width: 768px) {
  .p-company-about__explanation-text .heading {
      font-size: 18px;
      font-size: 1.8rem
  }
}

.p-company-about__explanation-text .heading+p {
  margin-top: 24px
}

.p-company-about__explanation-text p {
  font-size: 20px;
  font-size: 2rem
}

@media screen and (max-width: 768px) {
  .p-company-about__explanation-text p {
      font-size: 16px;
      font-size: 1.6rem
  }
}

.p-company-about__table {
  width: 100%;
  margin-top: 54px;
  border-top: 1px solid #233750;
  border-bottom: 1px solid #233750
}

@media screen and (max-width: 768px) {
  .p-company-about__table {
    max-width: 100%;
    margin: 32px auto 0;
    border-top: none;
    border-bottom: none
  }
}

.p-company-about__table tbody>tr {
  border-top: 1px solid #233750
}

.p-company-about__table tbody>tr:first-child {
  border-top: none
}

@media screen and (max-width: 768px) {
  .p-company-about__table tbody>tr {
      display: block;
      width: 100%
  }
}

.p-company-about__table tbody>tr>th {
  width: 24%;
  padding: 20px 25px;
  text-align: left
}

@media screen and (max-width: 768px) {
  .p-company-about__table tbody>tr>th {
    background: #233750;
    padding: 16px 20px;
    height: unset;
    color: #fff;
    display: block;
    width: 100%
  }
}

.p-company-about__table tbody>tr>td {
  width: 76%;
  padding: 20px 25px
}

@media screen and (max-width: 768px) {
  .p-company-about__table tbody>tr>td {
      padding: 16px 20px;
      height: unset;
      display: block;
      width: 100%;
      background-color: #fff;
  }
}

.lp-footer {
  padding-bottom: 122px;
}

.lp-footer__inner {
  background-color: #EEECCE;
  text-align: center;
  padding: 80px 0;
}

.lp-footer-box {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}

.lp-footer-box p{
  margin-top: 0;
}

.lp-footer-box p:first-of-type{
  margin-right: 40px;
}


.lp-copyright {
  margin-top: 0;
}

@media screen and (max-width: 768px){
  .lp-footer {
    padding-bottom: 96px;
  }
}

.p-form-contact {
  max-width: 700px;
  margin: 48px auto 0;
}

@media screen and (max-width: 768px){
  .p-form-contact {
    margin: 40px auto 0;
  }
}

.p-form-contact-description {
  margin-top: 48px;
  font-size: 2rem;
  line-height: 1.6;
  text-align: center;
}

@media screen and (max-width: 768px){
  .p-form-contact-description {
    margin-top: 40px;
    font-size: 1.8rem;
    text-align: left;
  }
}

.p-form-contact__item {
  margin-top: 28px
}

@media screen and (max-width: 768px) {
  .p-form-contact__item {
    margin-top: 12px
  }
}

.p-form-contact__item:first-child {
  margin-top: 0
}

.p-form-contact__item:last-child {
  margin-top: 44px
}

.p-form-contact__item-title {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: bold;
  margin: 0 0 5px
}

@media screen and (min-width: 769px) {
  .p-form-contact-footer {
      padding: 27px 0 0
  }
}

@media screen and (max-width: 768px) {
  .p-form-contact-footer {
      padding: 36px 0 0
  }
}

@media screen and (min-width: 769px) {
  .p-form-contact-footer__agreement {
      margin: 0 0 40px
  }
}

@media screen and (max-width: 768px) {
  .p-form-contact-footer__agreement {
      margin: 0 0 35px
  }
}

.p-form-contact-footer__agreement .txt {
  text-align: center
}

@media screen and (max-width: 768px) {
  .p-form-contact-footer__agreement .txt {
    text-align: left;
    font-size: 1.8rem
  }
}

.p-form-contact-footer__agreement .txt+.txt {
  margin-top: 22px
}

.p-form-contact-footer__agreement .txt a {
  color: #CC3C4C;
  text-decoration: underline
}

.p-form-contact-footer__agreement .txt a:hover {
  text-decoration: none
}

.p-form-contact-footer__btn {
  display: flex
}

@media screen and (min-width: 769px) {
  .p-form-contact-footer__btn {
      justify-content: center
  }
}

@media screen and (max-width: 768px) {
  .p-form-contact-footer__btn {
      align-items: center;
      flex-direction: column-reverse;
  }
}

@media screen and (min-width: 769px) {
  .p-form-contact-footer__btn>* {
      margin: 0 20px 0 0
  }
}

@media screen and (max-width: 768px) {
  .p-form-contact-footer__btn>*[class$=return] {
      order: 1;
  }
}

.p-form-contact-complete__heading {
  text-align: center;
  font-weight: bold
}

@media screen and (min-width: 769px) {
  .p-form-contact-complete__heading {
      font-size: 30px;
      font-size: 3rem;
      margin: 0 0 40px
  }
}

@media screen and (max-width: 768px) {
  .p-form-contact-complete__heading {
      font-size: 22px;
      font-size: 2.2rem;
      margin: 0 0 20px
  }
}

.p-form-contact-complete__message {
  text-align: center;
  justify-content: center;
}

.p-form-contact-complete__button {
  text-align: center
}

@media screen and (min-width: 769px) {
  .p-form-contact-complete__button {
      padding: 40px 0 0
  }
}

@media screen and (max-width: 768px) {
  .p-form-contact-complete__button {
      padding: 20px 0 0
  }
}

.mw_wp_form .mwform-radio-field label,
.mw_wp_form .mwform-checkbox-field label {
  position: relative;
  display: inline-block
}

.mw_wp_form .mwform-radio-field-text,
.mw_wp_form .mwform-checkbox-field-text {
  display: inline-block;
  position: relative
}

@media screen and (min-width: 769px) {
  .mw_wp_form .horizontal-item+.horizontal-item {
      margin-left: 20px
  }
}

@media screen and (max-width: 768px) {
  .mw_wp_form .horizontal-item+.horizontal-item {
      margin-left: 0;
      margin-top: 5px
  }
}

@media screen and (max-width: 768px) {
  .mw_wp_form .horizontal-item {
      display: block
  }
}

@media screen and (max-width: 768px) {
  .mw_wp_form .vertical-item {
      display: block
  }
}

.mw_wp_form .error {
  display: block;
  margin: 5px 0 0
}

.mw_wp_form_confirm #agreement {
  display: none
}

.mw_wp_form_confirm .c-form-ui-select {
  width: auto !important;
  height: auto;
  border: none
}

.c-form-ui-textfield {
  width: 100%;
  height: 50px;
  padding: 15px 20px 13px;
  background-color: #F2F2F2;
  border-radius: 50px;
  font-size: inherit
}

.c-form-ui-textfield:placeholder-shown {
  color: #999999
}

.c-form-ui-textfield::-webkit-input-placeholder {
  color: #999999
}

.c-form-ui-textfield::-moz-placeholder {
  color: #999999
}

.c-form-ui-textarea {
  padding: 15px 20px 13px;
  width: 100%;
  border-radius: 0;
  font-size: inherit;
  background-color: #F2F2F2;
  border-radius: 8px;
}

.c-form-ui-textarea:placeholder-shown {
  background-color: #F2F2F2;
  border-radius: 8px;
}

.c-form-ui-textarea::-webkit-input-placeholder {
  color: #999999
}

.c-form-ui-textarea::-moz-placeholder {
  color: #707070
}

@media screen and (min-width: 769px) {
  .c-form-ui-textarea {
      height: 240px
  }
}

@media screen and (max-width: 768px) {
  .c-form-ui-textarea {
      height: 90px
  }
}

.c-form-ui-select {
  display: block;
  border: 1px solid #707070;
  width: 100%;
  height: 50px;
  position: relative
}

.c-form-ui-select select {
  border: none;
  box-shadow: none;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0 20px;
  font-size: inherit
}

@media screen and (min-width: 769px) {
  .c-form-ui-select--small-pc {
      max-width: 200px
  }
}

@media screen and (max-width: 768px) {
  .c-form-ui-select--small-sp {
      max-width: 150px
  }
}

.c-form-ui-checkbox {
  position: absolute;
  left: -9999px;
  left: -100vw;
  top: 0;
  opacity: 0
}

.c-form-ui-checkbox+span {
  padding: 0 0 0 39px;
  display: inline-block;
  position: relative
}

.c-form-ui-checkbox+span::before,
.c-form-ui-checkbox+span::after {
  content: "";
  display: block;
  position: absolute;
  box-sizing: border-box
}

.c-form-ui-checkbox+span::before {
  left: 4px;
  top: 4px;
  width: 26px;
  height: 26px;
  border: 1px solid #707070;
  background-color: #fff;
  -webkit-transition: .1s ease-out;
  -moz-transition: .1s ease-out;
  -o-transition: .1s ease-out;
  -ms-transition: .1s ease-out
}

.c-form-ui-checkbox+span::after {
  left: 9px;
  top: calc(8px + 0em);
  width: 16px;
  height: 16px;
  border-right: 6px solid #fff;
  border-bottom: 3px solid #fff;
  background-color: #fff;
  transform: rotate(90deg);
  opacity: 0;
  -webkit-transition: .2s ease-out;
  -moz-transition: .2s ease-out;
  -o-transition: .2s ease-out;
  -ms-transition: .2s ease-out
}

.c-form-ui-checkbox:checked+span::before {
  background-color: #1e7fe0
}

.c-form-ui-checkbox:checked+span::after {
  background-color: rgba(0, 0, 0, 0);
  transform: rotate(45deg) scaleX(0.4);
  opacity: 1
}

.c-form-ui-checkbox__label {
  display: inline-block;
  position: relative
}

.c-form-ui-radio {
  position: absolute;
  left: -9999px;
  left: -100vw;
  top: 0;
  opacity: 0
}

.c-form-ui-radio+span {
  padding: 0 0 0 39px;
  display: inline-block;
  position: relative
}

.c-form-ui-radio+span::before,
.c-form-ui-radio+span::after {
  content: "";
  display: block;
  position: absolute;
  border-radius: 100%;
  box-sizing: border-box
}

.c-form-ui-radio+span::before {
  left: 0;
  top: 0em;
  width: 20px;
  height: 20px;
  border: 1px solid #707070;
  background-color: #fff
}

.c-form-ui-radio+span::after {
  left: 4px;
  top: calc(4px + 0em);
  width: 12px;
  height: 12px;
  background-color: #1e7fe0;
  opacity: 0;
  -webkit-transition: .4s;
  -moz-transition: .4s;
  -o-transition: .4s;
  -ms-transition: .4s
}

.c-form-ui-radio:checked+span::after {
  opacity: 1
}

.p-form-contact__item-title--required {
  background-color: #CC3C4C;
  color: #fff;
  padding: 4px 6px;
  border-radius: 3px;
  font-weight: 400;
  font-size: 1.4rem;
  margin-left: 12px;
}

.p-form-contact__item-title--any {
  background-color: #233750;
  color: #fff;
  padding: 4px 6px;
  border-radius: 3px;
  font-weight: 400;
  font-size: 1.4rem;
  margin-left: 12px;
}

.c-icon-required {
  color: #CC3C4C;
  margin-left: 16px;
}

.c-btn-form-submit {
  width: 204px;
  text-align: center;
  margin-right: 0;
  padding: 16px 32px;
  border-radius: 50px;
  color: #fff;
  background-color: #CC3C4C;
  font-size: 2rem;
}

.c-btn-form-return {
  width: 204px;
  text-align: center;
  margin-right: 16px;
  border-radius: 50px;
  padding: 16px 32px;
  text-align: center;
  background-color: #999999;
  color: #fff;
  font-size: 2rem;
}

@media screen and (max-width: 768px) {
  .c-icon-required {
    font-size: 1.4rem;
  }

  .c-btn-form-return {
    margin-right: 0;
    margin-bottom: 16px;
  }
  
}

.p-section-fullwidth--form-complete {
  margin-top: 80px;
}

.lp-form-complete {
  margin: 48px 0 auto;
  text-align: center;
}

.lp-form-complete__ttl {
  font-size: 2.4rem;
  font-weight: bold;
}

.lp-form-complete__txt {
  margin-top: 48px;
}

.lp-form-complete__txt-note {
  color: #CC3C4C;
  margin-top: 24px;
}

.lp-form-complete__return {
  margin: 30px auto 0;
  width: 160px;
}

.lp-form-complete__return a{
  width: 100%;
  display: block;
  padding: 15px 0 12px;
  color: #fff;
  background-color: #CC3C4C;
  border-radius: 50px;
  font-size: 1.8rem;
}

@media screen and (max-width: 768px) {
  .p-section-fullwidth--form-complete {
    margin-top: 48px;
  }

  .lp-form-complete {
    margin-top: 40px;
  }

  .lp-form-complete__txt {
    margin-top: 40px;
    font-size: 1.6rem;
  }

  .lp-form-complete__txt-note {
    margin-top: 18px;
    font-size: 1.6rem;
  }

  .lp-form-complete__return a{
    font-size: 1.6rem;
  }
}

.under-line {
  font-weight: bold;
  border-bottom: 6px solid #FFD100;
  line-height: 1;
  display: inline-block;
}

@media screen and (max-width: 768px) {
  .under-line {
    border-bottom: 4px solid #FFD100;
    line-height: 1;
    display: inline;
  }
}

.table-heading-h2__title {
  text-align: center;
  font-weight: bold;
  font-size: 30px;
  font-size: 3rem;
  color: var(--color-text);
  padding: 80px 0 0;
}

@media screen and (max-width:768px) {
  .table-heading-h2__title {
    text-align: left;
    font-size: 2.4rem;
    padding: 48px 0 0;
    margin: 0 0 -16px;
  }
}

/* S_MADOGUCHI-394 身元保証LPへのアクセス情報セクション追加 */
.p-access {
  padding-top: 0;
}

.p-access__inner {
  max-width: 1000px;
  margin: 40px auto;
}

.p-access__heading {
  text-align: center;
  font-size: 2.2rem;
}

.p-access__heading .under-line {
  color: #CC3C4C;
  font-weight: 400;
}

.p-access__map {
  margin-top: 40px;
}

.p-access__map iframe {
  width: 100%;
}

.p-access__company {
  margin-top: 24px;
  font-size: 2rem;
}

.p-access__address {
  margin-top: 12px;
}

.p-access__button {
  width: fit-content;
}

.lp-page-top {
  bottom: 160px;
}

@media screen and (max-width:768px){
  .p-access__heading {
    font-size: 1.9rem;
  }

  .p-access__inner {
    margin: 24px auto;
  }

  .p-access__map {
    margin-top: 24px;
    aspect-ratio: 335 / 340;
  }

  .p-access__map iframe {
    width: 100%;
    height: 100%;
  }

  .p-access__company {
    font-size: 1.6rem;
  }

  .p-access__address {
    font-size: 1.5rem;
    margin-top: 8px;
  }

  .p-access__button {
    font-size: 1.8rem;
    padding: 14px 32px;
  }

  .lp-page-top {
    bottom: 110px;
}

}

