@charset "UTF-8";
/************************************************************
 * 個別ページ用css
************************************************************/

/* ページ内共通パーツ追加 */
.contents a {
  display: contents;
}

.bold {
  font-weight: bold;
}

.orange {
  color: #E17A00;
  font-weight: bold;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
}

.top_area, .block1, .block2, .block3 {
  margin-bottom: 130px;
}

.points {
  display: block;
  border-top: solid 1px #000000;
}

.big {
  font-weight: bold;
  font-size: 2.5rem;
}

.more_big {
  font-weight: bold;
  font-size: 4rem;
}

/* タイトル */
h3 {
  display: flex;
  justify-content: flex-start;
  gap: 10px;
  align-items: center;
  margin-bottom: 30px;
}

h3 .number {
  width: 70px;
}

h3 .titleimg {
  display: inline-block;
  max-width: 300px;
  width: 100%;
}

h3 .icon {
  display: inline-block;
  background-color: #E6DC35;
  font-size: 3rem;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  line-height: 60px;
  text-align: center;
  position: relative;
  margin-right: 10px;
}

h3 .icon::after {
  content: '';
  position: absolute;
  top: 50%;
  right: -8px;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 15px solid #E6DC35;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}

.category_buttonarea {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 30px;
}

.category_button {
  display: flex;
  width: 35%;
  justify-content: center;
  height: 100%;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  background: #ffffff;
  border: 3px solid #6C5227;
  border-radius: 50px;
  -webkit-border-radius: 50px;
  -moz-border-radius: 50px;
  box-shadow: 2px 2px 6px 0px #6C5227;
  padding: 10px 20px;
}

.category_button .number {
  max-width: 50px;
  width: 20%;
}

.category_button .titleimg {
  width: 80%;
  max-width: 200px;
}

/* トップイメージ */
.mainimage {
  margin-top: 10px;
  margin-bottom: 80px;
}


/* block1 */
.block1 .taisyou {
  display: flex;
  justify-content: flex-start;
  gap: 20px;
/*  margin-bottom: 20px;*/
  margin-top: 20px;
  width: 80%;
}

.block1 .taisyou p {
  width: 50%;
  font-size: 1.8rem;
}

/* スマイルフリーフロー図 */
#ntps_ustf {
  margin-top: 20px;
}

#ntps_ustf li {
  width: 240px;
  text-align: center;
  display: inline-block;
  border: solid 2px #6C5227;
  border-radius: 50px;

  margin: 0.5em;
  margin-right: 2em;
  position: relative;

  color: #6C5227;
  background-color: #F6F2BC;
}

#ntps_ustf li .min {
  font-size: 1.3rem;
}

#ntps_ustf li.ntps_PeriodicCheck {
  background-color: #6C5227;
  color: #e6dc34;
}

#ntps_ustf li:before {
  position: absolute;
  content: '';
  width: 0;
  height: 0;
  border: solid 0.7em transparent;
  border-left: solid 0.7em #6C5227;
  top: calc(50% - 0.7em);
  right: -3em;
}

#ntps_ustf li:first-of-type:before {
  top: calc(50% - 0.1em);
  right: -3em;
}

#ntps_ustf li:first-child {
  color: none;
  border: none;
  background: unset;
  max-width: 240px;
}

#ntps_ustf li:last-child {
  color: #969797;
  border: solid 2px #969797;
  background-color: #CFD0D0;
}

#ntps_ustf li:last-child:before {
  border-style: none;
}

#ntps_ustf li em {
  display: block;
  font-style: normal;
  font-weight: bold;
}

/* 横棒 */
#ntps_ustf li .min {
  font-size: 1.3rem;
  position: relative;
  display: inline-block;
  /* Ensures the pseudo-elements align correctly */
}

#ntps_ustf li .min::before,
#ntps_ustf li .min::after {
  content: '';
  position: absolute;
  top: 50%;
  width: 50%;
  height: 1px;
  /* Adjust the height of the lines */
  background-color: #6C5227;
  /* Change to your desired color */
}

#ntps_ustf .ntps_PeriodicCheck .min::before,
#ntps_ustf .ntps_PeriodicCheck .min::after {
  /* Adjust the height of the lines */
  background-color: #FFE35B !important;
  /* Change to your desired color */
}


#ntps_ustf li .min::before {
  left: -40px;
  transform: translateY(-50%);
}

#ntps_ustf li .min::after {
  right: -40px;
  transform: translateY(-50%);
}



/* スマイルフリー工程 */
.yellow_icon {
  display: inline-block;
  padding: 3px 55px;
  background-color: #F6F2BC;
  border: 3px solid #6C5227;
  border-radius: 50px;
  font-family: Arial, sans-serif;
  color: #6C5227;
  text-align: center;
  text-decoration: none;
  font-size: 16px;
  font-weight: bold;
  position: relative;
}

.brown_icon {
  display: inline-block;
  padding: 3px 55px;
  background-color: #6C5227;
  border: 3px solid #6C5227;
  border-radius: 50px;
  font-family: Arial, sans-serif;
  color: #E6DC35;
  text-align: center;
  text-decoration: none;
  font-size: 16px;
  font-weight: bold;
  position: relative;
}

.yellow_icon span, .brown_icon span {
  font-size: 1.2rem;
  display: block;
  font-weight: normal;
  position: relative;
  padding: 0 20px;
}

.yellow_icon span::before,
.yellow_icon span::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 20px;
  height: 1px;
  background-color: #6C5227;
}

.brown_icon span::before,
.brown_icon span::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 20px;
  height: 1px;
  background-color: #E6DC35;
}

.yellow_icon span::before, .brown_icon span::before {
  left: 0;
  transform: translateX(0px) translateY(-50%);
}

.yellow_icon span::after, .brown_icon span::after {
  right: 0;
  transform: translateX(0px) translateY(-50%);
}

.memo p {
  margin-bottom: 1em;
}


/* block2*/

.annshinn_exam {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 30px;
  text-align: center;
  margin-top: 20px;
  margin-bottom: 30px;
}

.annshinn_exam_cont {
  width: 33%;
  text-align: center;
  position: relative;
  /* Added to support absolute positioning of child elements */
}

.arrow_box {
  width: 100%;
  text-align: center;
}

.arrow_box img {
  max-width: 180px;
  margin-top: 0px !important;
}

.annshinn_exam_cont p {
  margin-top: 30px;
}

/* パンクバナー */
.pank_banner {
  max-width: 700px;
  width: 100%;
}


/* block3 */
.longrun_area {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  position: relative;
  padding: 20px;
  margin-top: 20px;
}

.longrun_area::before,
.longrun_area::after {
  content: '';
  position: absolute;
  top: 5%;
  bottom: 0;
  width: 2px;
  height: 80%;
  background: repeating-linear-gradient(to bottom,
      black 0,
      black 2px,
      transparent 2px,
      transparent 10px);
}

.longrun_area::before {
  left: 0;
}

.longrun_area::after {
  right: 0;
}

.titlearea {
  width: 100%;
  margin-bottom: 20px;
  max-width: 400px;
}

.longrun_area .basyo {
  border-right: 0;
  /* 元の線を削除 */
}

.longrun_area .basyo, .longrun_area .buhinn {
  width: 50%;
  padding: 10px;
  position: relative;
}

.longrun_area .basyo::after {
  content: '';
  position: absolute;
  bottom: 0px;
  right: 0;
  width: 2px;
  height: 100%;
  background: repeating-linear-gradient(to bottom, black 0, black 2px, transparent 2px, transparent 10px);
}


.question {
  background-color: #F0ECE5;
  border: solid 2px #6C5227;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 20px;
  margin-top: 20px;
  margin-bottom: 50px;
}

.question_img {
  width: 15%;
}

.question_text {
  width: 85%;
}

.question_text_title {
  width: 85%;
  color: #6C5227;
  display: block;
  line-height: 1.5;
  margin-bottom: 10px;
}

/* テーブル */
.nennshiki {
  margin-top: 10px;
}

.nennshiki table {
  border-collapse: collapse;
  width: 100%;
}

.nennshiki> :last-child {
  margin-bottom: 50px;
}

/* 親要素のスタイル */
.nennshiki .table-container {
  overflow-x: auto;
  margin-bottom: 20px;
}

.nennshiki th, td {
  border: 2px solid #3E3A39;
  text-align: center;
  padding: 8px;
  vertical-align: middle;
  /* ここで上下中央揃えにする */
}

.nennshiki th {
  background-color: #F6F2BC;
}

.nennshiki .pink_back {
  background-color: #f0d9e8;
  text-align: right;
}

.nennshiki .blue_back {
  background-color: #d9f0e8;
  text-align: right;
}

.yellow_back {
  background-color: #F6F2BC;
}

.brown_back {
  background-color: #A28D67 !important;
  color: #fff;
}

.wide {
  width: 28%;
  /* ここで幅を指定 */
}

/* 対象 */
.hosyoutaisyou {
  width: 100%;
  margin-top: 20px;
  margin-bottom: 50px;
}

.hosyoutaisyou_title {
  background-color: #A28D67;
  font-size: 2rem;
  font-weight: bold;
  color: #fff;
  padding: 10px;
  width: 100%;
  margin-bottom: 10px;
}

.hosyoutaisyou_list {
  width: 100%;
  display: flex;
  justify-content: space-between;
  text-align: center;
  gap: 10px;
  font-weight: bold;
}

.hosyoutaisyou_item {
  background-color: #F6F2BC;
  padding: 20px;
  width: 33%;
}

.hosyoutaisyou_point {
  max-width: 210px;
  width: 100%;
  margin: 0 auto;
  padding-bottom: 15px;
  position: relative;
  /* Add this line */
}

.hosyoutaisyou_point::after {
  content: '';
  display: block;
  width: 35%;
  /* Adjust the width as needed */
  margin: 0 auto;
  border-bottom: 2px solid black;
  /* Adjust the thickness and color as needed */
  position: absolute;
  bottom: 0;
  /* Position the underline at the bottom */
  left: 35%;
  /* Center the underline */
}

.hosyoutaisyou_item p {
  padding-top: 15px;
}

@media screen and (max-width: 768px) {
  .nennshiki table {
    border-collapse: collapse;
    width: max-content;
  }

}








/*sp*/
.contents,
.bg―contents--inner {
  /*コンテンツpadding設定*/
  padding-top: 5vw;
  padding-bottom: 5vw;
}

.page-title__wrap+.contents {
  padding-top: 0;
}

.bg―contents {
  /*コンテンツ背景色変更（仮）*/
  background-color: #ffcccc;
}

/*pc*/


.ntps_content-list {
  padding: 0;
  margin-bottom: 1em;
  counter-reset: cnt 0;
}

.ntps_content-list li {
  list-style-position: inside;
  counter-increment: cnt;
  position: relative;
}

.ntps_content-list li:before {
  display: inline-block;
  width: 2em;
  position: absolute;
  left: -2em;
}

.ntps_content-lv1>li:before {
  content: counter(cnt) ".";
}

.uline {
  text-decoration: underline;
}

.contact-wrap li p.contact_btn {
  background: #e5e9ee url(../../assets/img/i_mail.svg) no-repeat top 6px center;
  background-size: 40px 40px;
}

.contact-wrap {
  display: flex;
  justify-content: space-between;
  margin-top: 6px;
  padding: 0;
  position: relative;
  z-index: 3;
}

.contact-wrap li {
  width: 32%;
}

.car-list-item .contact-wrap li a {
  text-decoration: none;
  color: #042476;
}

.contact-wrap li p {
  display: block;
  width: 100%;
  padding-top: 50px;
  padding-bottom: 12px;
  border-radius: 3px;
  box-shadow: 1px 1px 2px 0px rgba(10, 10, 10, 0.2);
  font-size: 1.2rem;
  color: #042476;
  font-weight: bold;
  text-align: center;
  line-height: 1;
  cursor: pointer;
}


.list_title-wrap {
  list-style: none !important;
  /* デフォルトのアイコンを消す */
  margin: 0;
  /* デフォルト指定上書き */
  padding: 0;
  /* デフォルト指定上書き */
  margin-left: 5px;
}

.list_title:before {
  content: "";
  /* 空の要素作成 */
  width: 10px;
  /* 幅指定 */
  height: 10px;
  /* 高さ指定 */
  display: inline-block;
  /* インラインブロックにする */
  background-color: #F44336;
  /* 背景色指定 */
  border-radius: 50%;
  /* 要素を丸くする */
  position: relative;
  /* 位置調整 */
  top: -1px;
  /* 位置調整 */
  margin-right: 5px;
  /* 余白指定 */
}


.sub-title2 {
  padding: 5px 0px;
  color: #3E3A39;
  font-size: 20px;
  font-weight: bold;
  position: relative;
}

.sub-area {
  margin: 0px 2em;
}

.show768 {
  display: none;
}

@media screen and (max-width: 768px) {

  /* 共通 */
  h3 {
    margin-bottom: 20px;
    width: 80%;
  }

  .show768 {
    display: block;
  }

  .hide768 {
    display: none;
  }

  .big {
    font-size: 2rem;
  }

  .top_area, .block1, .block2, .block3 {
    margin-bottom: 80px;
  }

  /* メインイメージ */
  .mainimage {
    margin-bottom: 30px;
  }

  .category_buttonarea {
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 50px;
  }

  .category_button {
    width: 100%;
    max-width: 260px;
  }

  /* スマイルフリー */
  .block1 .taisyou {
    flex-wrap: wrap;
  }

  .block1 .taisyou p {
    width: 100%;
    font-size: 1.5rem;
  }

  #ntps_ustf li {
    width: 80%;
    display: block;
    margin: 1em auto;
    margin-bottom: 2em;
  }

  #ntps_ustf li:first-of-type:before, #ntps_ustf li:before {
    border: solid 1em transparent;
    border-top: solid 1em #6C5227;
    top: initial;
    bottom: -2.5em;
    right: calc(50% - 1em);
  }

  .unit-base {
    flex-wrap: wrap;
    gap: 0px !important;
  }

  /* あんしん保証 */
  .annshinn_exam {
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 40px;
  }

  .annshinn_exam_cont {
    width: 85%;
  }

  .arrow_box img {
    max-width: 150px;
  }

  .annshinn_exam_cont p {
    margin-top: 10px;
  }

  .arrow_box {
    margin-bottom: -20px;
  }

  .pank_banner {
    max-width: 350px;
  }


  /* ロングラン保証 */
  .longrun_area {
    flex-wrap: wrap;
    padding: 0px;
  }

  .longrun_area .basyo, .longrun_area .buhinn {
    width: 100%;
    padding-bottom: 20px;
  }

  .longrun_area .basyo::after {
    content: '';
    position: absolute;
    bottom: 0px;
    right: 0%;
    width: 100%;
    height: 1%;
    background: repeating-linear-gradient(to right, black 0, black 2px, transparent 2px, transparent 10px);
  }

  .longrun_area::after, .longrun_area::before {
    display: none;
  }

  .question {
    flex-wrap: wrap;
  }

  .question_img {
    width: 100%;
    display: flex !important;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
  }

  .question_img_img {
    width: 30%;
  }

  .question_text {
    width: 100%;
  }

  .nennshiki {
    margin-top: 20px;
  }

  .nennshiki p {
    margin-bottom: 10px;
  }

  .nennshiki> :last-child {
    margin-top: 10px;
  }

  .hosyoutaisyou_list {
    flex-wrap: wrap;
  }

  .hosyoutaisyou_item {
    width: 100%;
  }
}

@media screen and (min-width: 1760px) {
  .image-0003__item {
    width: 28%;
    float: left;
    margin: 0 5% 0 0;
  }

  .image-0003 {
    margin: 0 auto;
  }

  .accordion-0001__menu__icon-area {
    float: left;
    width: 10%;
  }

  .theme-1 .accordion-0001__menu__icon-area__icon, .theme-2 .accordion-0001__menu__icon-area__icon, .theme-3 .accordion-0001__menu__icon-area__icon {
    margin: 0px 0 0 50px;
    border-radius: 3px;
  }

  .theme-1 .accordion-0001__menu__icon-area__icon--is-open:before, .theme-2 .accordion-0001__menu__icon-area__icon--is-open:before, .theme-3 .accordion-0001__menu__icon-area__icon--is-open:before {
    top: 13px;
    left: 10px;
    width: 12px;
    height: 12px;
  }
}


p.ntps_mnt_memo span {
  display: block;
  font-weight: bold;
  border-bottom: solid 1px #CCCCCC;
}

.copy-0002 {
  font-size: 1.5rem;
}

.copy-0004 {
  font-size: 1.2rem;
  vertical-align: text-top;
}
.copy-0004-comment {
  font-size: 1.2rem;
  vertical-align: text-top;
  margin-left:2.5rem;
}
.notes {
  font-size: 1.0rem;
  vertical-align: text-top;
}

.unit-base {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 10px;
  border-top: solid 1px #000000;
  margin-top: 20px;
  padding-top: 10px;
}