@charset "UTF-8";

.score_h2 {
  font-family: 'Noto Sans JP', sans-serif;
  font-style: normal;
  font-weight: bold;
  font-size: 2.8em;
  text-align: center;
  margin: 40px auto;
  color: #333333;
  display: inline-flex;
  align-items: center;
  line-height: 1.3em;
}


/* 251111追加 */
/* FV */
picture img {
  display: block;
  margin-bottom: -2px; /* 微調整して隙間を消す */
}

picture, picture img {
  display: block;
  line-height: 0;
  margin: 0;
  padding: 0;
}

.lp main,
#main-contents.lp,
.lp main img,
.lp main picture,
.lp main > div,
.lp main section {
  max-width: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
}

.lp main picture img {
  width: 100%;
  height: auto;
  display: block;
}
.fv,
.hero {
  width: 100vw;  /* ビューポート幅いっぱい */
  margin: 0 calc(50% - 50vw); /* コンテナの中央寄せ解除 */
}

.fv img {
  width: 100%;
  height: auto;
  display: block;
}

/* --- ファーストビュー（<picture>）を全幅にする --- */
.kv-wrap picture img {
    width: 100%;
    height: auto;
    display: block;
}

/* 画像が中央寄せされる aligncenter のデフォルトを上書き */
.aligncenter {
  margin: 0;
  text-align: center;
}

.fv_button{
  padding: 20px 0 45px;
}

/* FV*251114追加 */
.kv-wrap {
    position: relative;
    width: 100%;
}

.kv-wrap picture,
.kv-wrap img {
    display: block;
    width: 100%;
}

/* 重ねるキャッチコピー部分 */
.kv-catch {
    position: absolute;
    top: 9%;     /* ← 位置は自由に調整できます */
    left: 6%;
    color: #4B3B36;
}

.kv-catch p {
font-size: 7rem;
    font-weight: 700;
    line-height: 1.6;
    white-space: nowrap;
}


/* ▼ 2000px 以下：少しだけ上に */
@media (max-width: 2000px) {
.kv-catch p {
    font-size: 5.8rem;
}
}

/* ▼ 1800px 以下：少しだけ上に */
@media (max-width: 1800px) {
.kv-catch p {
    font-size: 5rem;
}
}

/* ▼ 1600px 以下：少しだけ上に */
@media (max-width: 1600px) {
.kv-catch p {
    font-size: 4.2rem;
}
}

/* ▼ 1200px 以下：少しだけ上に */
@media (max-width: 1200px) {
    .kv-catch {
        top: 10%;
        left: 5%;
    }

    .kv-catch p {
        font-size: 3.5rem;
    }
}

/* ▼ 1000px 以下：メダルにちょうどかぶり始めるゾーン */
@media (max-width: 1000px) {
    .kv-catch {
        top: 6%;         /* ← 上に逃がす */
        left: 5%;
    }

    .kv-catch p {
        font-size: 3rem; /* ← 少し縮める */
        line-height: 1.4;
        white-space: normal; /* ← 自然に折り返し可能に */
    }
}

/* ▼ 800px 以下：更に上へ */
@media (max-width: 800px) {
    .kv-catch {
        top: 4%;
    }

    .kv-catch p {
        font-size: 2.8rem;
    }
}

/* ▼ 800px 以下：更に上へ */
@media (max-width: 800px) {
    .kv-catch {
        top: 8%;
    }

    .kv-catch p {
        font-size: 2.2rem;
    }
}

/* ▼ 500px 以下：更に上へ */
/* スマホ用 */
@media (max-width: 500px) {
    .kv-catch {
        top: 4%;
        left: 5%;
    }

    .kv-catch p {
        font-size: 2.4rem;
        line-height: 1.35;
        white-space: normal;
    }
}

@media (max-width: 375px) {
    .kv-catch {
        top: 8%;
        left: 5%;
    }

    .kv-catch p {
        font-size: 1.9rem;
        line-height: 1.35;
        white-space: normal;
    }
}
  /* ABOUT */
.about {
  background-image: url(/wp-content/uploads/nipt-lp2/section_back.png);
  background-repeat: no-repeat;       /* 繰り返し防止 */
  background-position: right top;     /* 右上に固定配置 */
  background-size: contain;           /* 画像を全体表示（切れない） */
  background-color: #74CAFF;          /* 画像以外の青背景 */
}

.about02 {
  background-color: #C2E8FF;          /* 画像以外の青背景 */
}

.about03 {
  background-color: #CEECFF;          /* 画像以外の青背景 */
}

.about_sp {
  background-image: url(/wp-content/uploads/nipt-lp2/section_back_sp.png);
  background-repeat: no-repeat;       /* 繰り返し防止 */
  background-position: right top;     /* 右上に固定配置 */
  background-size: contain;           /* 画像を全体表示（切れない） */
  background-color: #74CAFF;          /* 画像以外の青背景 */
padding: 15px;
}

.about_sp02 {
  background-color: #C2E8FF;          /* 画像以外の青背景 */
padding: 2rem 0 0;
}

.about_sp03 {
padding: 2rem 0 0;
}
  .about_1{
    padding-top: 6em;
    margin-bottom: 4em;
  }

   .about_2{
    margin-bottom: 4em;
  }

     .about_3{
    margin-bottom: 3em;
  }

     .about_4{
      width: 60%;
    padding-bottom: 2em;
}

@media screen and (max-width: 768px) {
.about_4 {
    width: 100%;
    padding: 0 15px 2em;
}

.w75auto {
    width: 100%;
}
}


/* 気になるポイント（背景） */
.about.point_detail {
  background-image: url(/wp-content/uploads/nipt-lp2/section3_back.png);
  background-size:cover;     /* 背景を親要素に合わせて縮小 */
  background-position: top center;
  background-repeat: no-repeat;
  width: 100%;
  padding: 5vw 0;               /* 画面幅に応じて余白も可変 */
  text-align: center;
}



.point_detail02 {
  background-image: url(/wp-content/uploads/nipt-lp2/section2_back.png);
  background-size:cover;     /* 背景を親要素に合わせて縮小 */
  background-position: top center;
  background-repeat: no-repeat;
  width: 100%;
  padding: 5vw 0;               /* 画面幅に応じて余白も可変 */
  text-align: center;

  display: flex;
  flex-direction: column; /* ←縦並びにする */
  align-items: center; /* 中央寄せ（任意） */
}
.point_detail02_1 {
 max-width: 1200px;
  margin-bottom: 20px; /* 画像間の余白（必要なら） */
}


.about.point_detail08 {
  background-image: url(/wp-content/uploads/nipt-lp2/section8_back.png);

}

.about.point_detail08 {
  background-image: url(/wp-content/uploads/nipt-lp2/section11_back.png);
}


.point_detail02_1 {
 max-width: 1200px;
  margin: 3rem 0;
}


.about.point_detail_sp {
  background-image: url(/wp-content/uploads/nipt-lp2/section3_back_sp.png);
  background-size:cover;     /* 背景を親要素に合わせて縮小 */
  background-position: top center;
  background-repeat: no-repeat;
  width: 100%;
  padding: 5vw 0;               /* 画面幅に応じて余白も可変 */
  text-align: center;
}


/* 中の3枚を横並びで縮むように */
.point_box_wrap {
  display: flex;
  justify-content: space-between; /* ← 等間隔に配置 */
  align-items: flex-start;
  gap: 0; /* gap不要になる */
  flex-wrap: nowrap;
  max-width: 900px; /* 適切な最大幅を設定 */
  margin: 0 auto;
}
/* PCでは横一列 */
.point_box_wrap {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 40px;
  flex-wrap: nowrap;
}

/* 1400px以下では折り返し許可（スマホ・タブレット対応） */
@media (max-width: 1400px) {
  .point_box_wrap {
    flex-wrap: wrap;       /* 折り返しOKに */
    gap: 30px;             /* 少し詰めるとバランス良い */
  }

}

@media (min-width: 1400px) {
  .about.point_detail {
    padding-top: 200px;   /* 背景が潰れるぶん余白を足す */
    padding-bottom: 160px;
    background-position: center top; /* 背景を少し下に下げる */
  }
}

/* 768px以下（スマホ）では縦並び中央配置 */
@media (max-width: 768px) {
  .point_box_wrap {
    flex-direction: column;
    align-items: center;
    gap: 20px;
            padding: 0 4rem;
  }

  .point_box_wrap img {
    width: 100%;
    max-width: 28rem;
  }
}


/* 各ボタン画像を可変幅に */
.point_box_wrap img {
  width: 18vw;                  /* 画面幅に対して比率指定（例：18%くらい） */
  max-width: 50em;             /* 大きくなりすぎ防止 */
  height: auto;
  display: block;
  transition: transform 0.2s ease;
}

.point_box_wrap img:hover {
  transform: translateY(-0.5vw);
}

.point_detail_1{
    margin-bottom: 4em;
    width: 50rem;
}


/* スマホで縦並びにする場合（任意） */
@media (max-width: 900px){
  .point_box_wrap{ flex-wrap:wrap; gap:20px; }
  .point_box_wrap img{ width:80%; }
}

@media (max-width: 900px){
.point_detail_1{
    margin-bottom: 4em;
    width: 40rem;
}

    .point_box_wrap img {
        width: 54%;
        margin: 0 auto;
}
}
  

.point_detail_2{
    margin-bottom: 4em;
  }

.point_detail_3{
    margin-bottom: 3em;
  }

.about.point_detail {
  background-image: url(/wp-content/uploads/nipt-lp2/section3_back.png);
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  padding: 8em 0 3em;
  text-align: center;
}

/* --- 幅が790px以下になったら背景位置を調整 --- */
@media (max-width: 790px) {
  .about.point_detail {
    background-size: 140%;       /* 背景を少し拡大して文字部分を外へ押し出す */
    background-position: center 20%; /* 上から少し下げる（20%〜30%で微調整） */
    padding-top: 160px;          /* 背景とテキストの間隔を広げる */
    padding-bottom: 140px;       /* 下の空間も調整 */
  }

  .point_box_wrap {
    flex-direction: column;
    align-items: center;
    gap: 30px;
  }

  .point_box_wrap img {
    width: 80%;
    max-width: 28rem;
  }

}

/* 検査の流れ -------------------------------------------------- */
/* 背景を画面全幅に広げる */
.flow {
  width: 100%;
  background: url("/wp-content/uploads/nipt-lp2/section7.png") no-repeat center top;
  background-size: cover;
  background-attachment: fixed;
  padding: 100px 0;
  font-family: "Noto Sans JP", sans-serif;
  color: #333;
}

/* 中のコンテンツを中央寄せ＋最大幅で制御 */
.flow-inner {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
  /* background: rgba(255, 255, 255, 0.88); */
  border-radius: 16px;
  /* box-shadow: 0 4px 25px rgba(0, 0, 0, 0.05); */
  padding: 60px 40px;
  text-align: center;
}

/* ステップカード -------------------------------------------- */
.step {
  display: flex;
  align-items: flex-start;
  border-radius: 12px;
  padding: 20px;
  gap: 20px;
  text-align: left;
  transform: translateY(-3px);
  box-shadow: 0 4px 20px rgba(0,0,0,0.1);
  margin-bottom: 30px;  /* ステップ間の間隔を追加 */
}

/* 最後のステップには余白不要 */
.step:last-child {
  margin-bottom: 0;
}

/* .step:hover {
  transform: translateY(-3px);
  box-shadow: 0 4px 20px rgba(0,0,0,0.1);
} */

/* アイコンとテキスト ---------------------------------------- */
.step .icon {
  flex-shrink: 0; /* アイコンが縮まないように固定 */
  width: 15rem;   /* 240px ÷ 16 = 15rem */
  height: 15rem;  /* 240px ÷ 16 = 15rem */
  display: flex;
  align-items: center;
  justify-content: center;
}

.step .icon img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain; /* アスペクト比を保ちながら収める */
  display: block;
}

.step .content h3 {
  color: #292222;
  font-size: 2rem;
  margin-bottom: 10px;
  line-height: 1.6;
}

.step .content p {
  font-size: 1.4rem;
  line-height: 1.8;
  margin: 0;
}

.flow-step {
  margin-bottom: 40px;
}

/* ステップ番号 */
.step-number {
  color: #142C8B;
  font-size: 0.9rem;
  font-weight: 600;
  margin: 0 0 5px;
  letter-spacing: 0.03em;
}

/* タイトル部分 */
.step-title {
  font-size: 1.6rem;
  font-weight: 700;
  color: #000;
  margin: 0 0 10px;
  line-height: 1.4;
}

/* 説明文 */
.step-text {
  font-size: 0.95rem;
  color: #333;
  line-height: 1.8;
  margin: 0;
  letter-spacing: 0.02em;
}

/* スマホ対応 -------------------------------------------------- */
@media (max-width: 600px) {
  .flow-inner {
    width: 95%;
    padding: 40px 15px;
  }

  .step {
    flex-direction: column;
    align-items: center; /* アイコンとコンテンツの箱を中央へ */
    text-align: left;    /* テキストは左寄せのまま */
  }

  .step .icon {
    width: 10rem;   /* 少し小さめに */
    height: 10rem;
  }

  .step .icon img {
    width: 10rem;    /* 80px */
    height: 10rem;
  }
  .step{
    gap: 0;
  }
  }

  .step .content {
    width: 100%;
    text-align: left; /* タイトル・本文を左寄せ */
  }

  .step .content h3{
        font-size: 1.6rem;
  }

  .step .content p{
    font-size: 1rem;
  }


/* <!-- 悩んでいるか方へメッセージ --> */
/* === NIPT ローカルセクション === */
.nipt-local-section {
  width: 100%;
    height: 814px; 
  background: url("/wp-content/uploads/nipt-lp2/section10.png") no-repeat center top;
  background-size: cover;
  padding: 10em 0 0;
  color: #4B3B36;
  font-family: "Noto Sans JP", sans-serif;
}

.nipt-local-section_sp {
width: 100%;
    background: url(/wp-content/uploads/nipt-lp2/section10_sp.png) no-repeat center top;
    background-size: cover;
    padding: 6em 0 0;
    color: #4B3B36;
    font-family: "Noto Sans JP", sans-serif;
}

@media (max-width: 1400px) {
  .nipt-local-section {
 width: 100%;
    height: 50rem;
    background: url(/wp-content/uploads/nipt-lp2/section10_sp.png) no-repeat center top;
    background-size: cover;
    padding: 6em 0 0;
    color: #4B3B36;
    font-family: "Noto Sans JP", sans-serif;
  }
}

.nipt-local-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}

.nipt-local-text {
  flex: 1;
}

.nipt-local-lead {
    font-size: 3rem;
    font-weight: 600;
    display: block;
    margin-bottom: 6rem;
    text-align: center;
    /* margin: 0 auto; */
    line-height: 1.6;
}


.nipt-local-underline {
  border-bottom: 3px solid #4B3B36; /* 下線の色と太さ */
  padding-bottom: 2px; /* テキストと線の間隔 */
}
.nipt-local-sub {
    color: #142C8B;
    font-weight: 600;
    font-size: 1.4rem;
    margin: 2em 0;
    text-align: left;
}

.nipt-local-message {
    font-size: 3rem;
    font-weight: 700;
    color: #4B3B36;
    margin-bottom: 5rem;
    line-height: 1.6;
    text-align: left;
}

.nipt-local-description {
font-size: 1.4rem;
    line-height: 2;
    color: #4B3B36;
    font-weight: 500;
    text-align: left;
}


.nipt-local-image img {
  max-width: 380px;
  border-radius: 50%;
  object-fit: cover;
  width: 100%;
  height: auto;
}




/* === スマホ対応 === */
@media (max-width: 768px) {
  .nipt-local-inner {
    flex-direction: column;
    text-align: center;
            padding: 0 40px 4rem;
  }

  .nipt-local-image img {
    max-width: 250px;
    margin-top: 30px;
  }

  .nipt-local-lead {
    font-size: 1.2rem;
  }

  .nipt-local-message {
    font-size: 1.4rem;
  }

  .nipt-local-description {
    font-size: 0.9rem;
  }
}

/* 申し込みボタンーーーーーーーーーーー */

.button_nipt_lp {
  color: #4B3B36 !important;
  text-align: center;
  font-size: 2rem;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  border-radius: 100vh;
  background: #FFF;
  /* box-shadow: 0px 4px 10px 0px rgba(54, 74, 69, 0.40); */
  width: 30rem;
  height: 6rem;
  flex-shrink: 0;
  padding: 4px 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow-wrap: anywhere;
  margin: 17px auto;
  transition: 0.4s;
  text-decoration: none;
}

.aaa {
  margin-top: auto;
}

.button_nipt_lp:hover {
  color: #fff !important;
  background: rgb(15, 75, 132) !important;
  border: 1px solid rgb(15, 75, 132);
}

@media screen and (max-width:580px) {
  .button_nipt_lp {
    font-size: 18px;
    width: 93%;
    height: 66px;
}
}


/* 矢印_ボタン */
.button_txt_white{
    color: #fff;
    font-size: 1.8rem;
    letter-spacing: 0.05em;
    font-weight: 600;
        margin-top: 1.4rem;
}


/* 手矢印_ボタン */
.button_txt_mizu{
    color: #45B1E6;
    font-size: 1.8rem;
    letter-spacing: 0.05em;
    font-weight: 600;
        margin-top: 1.4rem;
}

.button_nipt_lp img {
  margin-right: -0.5em; /* または 8px などお好みで */
  vertical-align: middle; /* テキストとの高さを揃える */
}

.button_nipt_lp_mizu{
    color: #fff!important;
    font-size: 1.6em;
    letter-spacing: 0.05em;
    font-weight: 600;
    background-color: #45B1E6;
}

.button_nipt_lp_mizu{
  color: #fff;
text-align: center;
    font-size: 30px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    border-radius: 100vh;
    background: #45B1E6;
    /* box-shadow: 0px 4px 10px 0px rgba(54, 74, 69, 0.40); */
    width: 400px;
    height: 100px;
    flex-shrink: 0;
    padding: 4px 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow-wrap: anywhere;
    margin: 17px auto;
    transition: 0.4s;
    text-decoration: none;
}

.aaa {
  margin-top: auto;
}

.button_nipt_lp_mizu:hover {
  color: #fff !important;
  background: rgb(15, 75, 132) !important;
  border: 1px solid rgb(15, 75, 132);
}

@media screen and (max-width:580px) {
  .button_nipt_lp_mizu {
    font-size: 18px;
    width: 93%;
    height: 66px;
}
}

.img-bg {
    background-color: #C2E8FF;
    padding: 20px;
    text-align: center;
}

.section_img {
    max-width: 1200px;
    display: inline-block;  /* ←これが超重要！ */
    margin: 0 auto;
}

.img-bg05 {
    background-color: #ebf8ff;
    padding: 20px;
    text-align: center;
}

.img-bg09 {
    background-color: #ebf8ff;
    text-align: center;
    padding: 4rem;
}


/* ここまで */

    .kojin {
        padding: 10px;
        background-color: #FFFFFF;
        height: 300px;
        overflow: auto;
        border-top: 1px solid #ABADB3;
        border-right: 1px solid #DBDFE6;
        border-bottom: 1px solid #E3E9EF;
        border-left: 1px solid #E2E3EA;
        margin-bottom: 50px;
    }

    #page-header {
      min-height: 0px;
    }

    #page-header .inner-div {
        position: fixed;
        top: 0px;
        left: 0px;
        z-index: 999;
        background-color: transparent;
    padding: 5px;
    }

    .flex-wrap {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        justify-content: center;
        max-width: 2000px;
        margin: 20px auto;
    }

    .bgc-gry {
        background-color: #e5e6e8;
    }

    .bgc-gry-wht {
        height: 100px;
        width: 100%;
        background-image: linear-gradient(0deg, rgb(255, 255, 255), rgba(229, 230, 232, 1));
    }

    .bgc-wht-f8 {
        height: 100px;
        width: 100%;
        background-image: linear-gradient(0deg, #f8f8f8, #fff);
    }

    .lp-price {
        display: flex;
        flex-wrap: wrap;
        gap: 50px;
        justify-content: center;
        padding-bottom: 10px;
        padding: 30px;
    }


    .bgc-pnk {
        background-color: #FFE8E8;
        padding-top: 20px;
    }

 
    .lp-price img {
        width: 474px;
        filter: drop-shadow(5px 5px 5px #aaa);
    }

    .w75auto {
        width: 100%;
        max-width: none;
    }

    .maps {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 15px;
        padding: 20px 10px 40px 10px;
        background-color: #fff;
    }

    .bgc-wht {
        margin: 0 auto;
        background-color: #fff;
        width: 100%;
    }

    .maps h2 {
        font-size: 40px;
        -webkit-writing-mode: vertical-lr;
        writing-mode: vertical-lr;
        padding: 20px;
    }


    .nippt-pc-only {
        display: block;
    }

    .wpforms-container input.wpforms-field-medium,
    .wpforms-container select.wpforms-field-medium,
    .wpforms-container .wpforms-field-row.wpforms-field-medium {
        max-width: 100%;
    }

    .oc_btmp01{
        width: 100%;
    text-align: center;
    font-size: 16px;
    height: fit-content;
    font-weight: 400;
    }

    @media screen and (max-width: 1000px) {

        .bgc-wht-f8 {
            height: 30px;
        }
    }

    @media screen and (max-width: 500px) {

        .px500-none {
            display: none;
        }

        .nippt-pc-only {
            display: none;
        }

        section.maps iframe.internal-view {
            height: 500px;
            border-radius: 30px;
        }

    }

    @media screen and (max-width: 600px) {
        .contact_area {
            text-align: left;
        }

        .lp-price img {
            width: 100%;
        }
    }

    .price_bottom_p {
        width: 970px;
        margin: 10px auto;
        font-size: 15px;
        line-height: 1.5em;
    }

    @media screen and (max-width: 1200px) {
        .price_bottom_p {
            width: 90%;
            margin: 10px auto;
            font-size: 14px;
        }
    }

    .post-date {
        text-align: right;
        font-weight: bold;
        color: #52cbbe;
    }

    .post-data {
        margin-bottom: 40px;
    }

    .post-data h3 {
        font-weight: bold;
        line-height: 1.5em;
    }


.cartimg {
  margin-right: 8px;
  width: 2.6rem !important;
}

img.cartimg {
    margin-right: 8px;
    width: 2.8rem !important;
}


.cartimg:hover{
filter: drop-shadow(0px 0px 10px #142c8b);
}

.cartimg_pink {
  margin-right: 8px;
  width: 3.8rem !important;
}


.cartimg_pink:hover{
filter: drop-shadow(0px 0px 10px #142c8b);
}


.price_p {
  line-height: 0.2em;
  font-size: 16px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
}

.sp480only {
  display: none;
}


@media screen and (max-width:500px) {
  .sp480only {
    display: block;
  }

}


    .oc_caption .line_yellow {
      background: none;
      font-weight: bold;
    }

    .topbtn-area {
      display: flex;
      justify-content: center;
      gap: 15px;
    }

    .topbtn-area .button_score {
      width: 300px;
      height: 88px;
    }

    @media screen and (max-width: 768px) {
    .topbtn-area {
      display: block;
    }
  }

      .oc_caption .line_yellow {
      background: none;
      font-weight: bold;
  }
  figcaption{
    font-weight: bold;
    font-size: 20px;
    margin-top: 30px;
  }
  
  .area2 {
    max-width: 1600px!important;
  }

  /* img {
  max-width: 70%;
  height: auto;
} */

/* sp体質才能リスト */

.kensakoumoku {
    column-count: 5;
}

.kensakoumoku-sp {
    column-count: 5;
}

    .area2 {
max-width: 1200px !important;
padding-bottom: 2rem;
    }

@media screen and (max-width:768px) {
span.kensakoumoku_circle3 {
    font-size: 16px;
    margin-right: 5px;
}
}



@media screen and (max-width:1900px) {
    .area2 {
        width: 95%;
    }

    ul.tab2 {
        width: 95%;
    }

    .kensakoumoku-sp {
        column-count: 4;
    }


}



@media screen and (max-width:1400px) {
    .kensakoumoku {
        column-count: 4;
    }
}

@media screen and (max-width:1256px) {
    .kensakoumoku-sp {
        column-count: 3;
    }
}

@media screen and (max-width:768px) {
    .sp-only {
        display: block;
    }
    .kensakoumoku-sp {
        column-count: 1;
    }
    .pc-only {
        display: none;
    }

    .w40mauto {
        width: 80%;
        margin: 0 auto;
        font-size: 16px;
    }

    .area2.is-active {
        display: none;
    }
    .details-summary {
        padding: 16px;
        font-size: 20px;
    }
}


@media screen and (max-width:347px) {
    .kensakoumoku-sp {
        column-count: 1;
    }
}

/* ▼▼▼ 体質・才能リスト整形 ▼▼▼ */

.kensakoumoku-sp li {
  display: inline-block;
  white-space: nowrap;
  margin-right: 1.5em;
  margin-bottom: 0.5em;
  font-size: 1rem;
  line-height: 1.6em;
}

.kensakoumoku_circle3 {
  display: inline-block;
  vertical-align: middle;
  margin-right: 6px;
  color: #f4afb1;
  font-size: 1.2rem;
}

.kensakoumoku-sp a {
  vertical-align: middle;
  color: #004f9d;
  text-decoration: none;
}

.kensakoumoku-sp a:hover {
  text-decoration: underline;
}

@media screen and (max-width:768px) {
  .kensakoumoku-sp li {
    display: inline-block;
    white-space: normal;
  }

  .size-full{
        max-width: 330px!important;
  }
}



.kensakoumoku-sp li {
  display: flex;
  align-items: center;
  /* gap: 8px; */
  font-size: 1rem;
  line-height: 1.6em;
  white-space: nowrap;
}

.kensakoumoku_circle3 {
  color: #f4afb1;
  font-size: 1.2rem;
  line-height: 1;
}

.kensakoumoku-sp a {
  color: #004f9d;
  text-decoration: none;
}

.kensakoumoku-sp a:hover {
  text-decoration: underline;
}

/* スマホ（768px以下）は2列表示にする */
@media screen and (max-width: 768px) {
  .kensakoumoku-sp {
    grid-template-columns: repeat(2, 1fr);
  }

  .details-content {
    padding: 10px;
    column-count: 2;
  }
}
@media screen and (max-width: 480px) {
    .details-content {
        line-height: 2em;
        column-count: 1;
    }
}




.kensakoumoku-sp li {
  display: flex;
  align-items: center;
  font-size: 16px;
  line-height: 1.5em;
  white-space: nowrap;
}

.kensakoumoku_circle3,
.kensakoumoku_circle2 {
  color: #e38690;
  margin-right: 6px;
}




/* ▼ スマホ（1列） */
@media screen and (max-width: 768px) {
  .kensakoumoku-sp {
    display: block;
    height: auto;
    width: 92%;
    margin: 0 auto;
  }

  .kensakoumoku-sp li {
    font-size: 14px;
    line-height: 1.6em;
    white-space: normal;
    margin-bottom: 4px;
  }

  .kensakoumoku-sp li a {
    color: #4B3B36 !important;
}
.kensakoumoku-sp a.link_none {
    font-weight: 500;
}
}


/* sp全体調整 */
@media screen and (max-width: 768px) {
.fv_button {
    padding: 1px 0 1.4rem;
}

.button_nipt_lp_mizu {
        font-size: 20px;
        width: 80%;
        height: 4rem;

}
img.cartimg {
    margin-right: 8px;
    width: 2rem !important;
}
.button_txt_mizu {
    font-size: 1.2rem;
}
    .button_nipt_lp {
        font-size: 20px;
        width: 70%;
        height: 4rem;
}
.button_txt_white {
    font-size: 1.2rem;
}

.point_box_wrap {
  display: flex;
  justify-content: center;
  align-items: center; /* 縦位置中央 */
  gap: 2vw;
  flex-wrap: nowrap;
}

.point_box_wrap img {
  height: auto;               /* 高さを統一 */
  width: 100%;
  margin-bottom: 0 !important;
  display: block;
  transition: transform 0.2s ease;
}

.point_box_wrap img:hover {
  transform: translateY(-0.5vw);
}

.point_detail_1 {
    margin: 1.8em 0 0.4em;
    width: 38rem;
}

.back_white
{padding-top: 0.1em!important;
  background-color: #fff!important;
}



.nipt-local-lead {
    font-size: 1.4rem;
    font-weight: 600;
    display: block;
    margin-bottom: 1rem;
    text-align: center;
    /* margin: 0 auto; */
    line-height: 1.8;
}
.flow
{
  padding: 3em 0;
}

    .flow-inner {
        width: 95%;
        padding: 0 2em 0;
    }

        .score_h2 {
        font-size: 2rem;
        }

        .oc_btmp p {
    line-height: 1.6em;
    font-size: 1em;
        }
      }

      .nipt-local-sub {
    margin: 1em 0;
      }

      .nipt-local-message {
    margin-bottom: 2rem;
      }




/* お問い合わせーーーーーーーーーーーーーー */
.oc_btmp a {
  width: fit-content;
  margin: 0 auto;
  font-size: 20px;
  font-weight: 700;
  color: #fff !important;
  background-color: #478999;
  padding: 15px 40px;
  border-radius: 100vw;
  box-shadow: 0px 4px 10px 0px rgba(54, 74, 69, 0.40);
}

.oc_btmp a:hover {
  opacity: 0.5;
}
.contact .expl {
  width: 90%;
  max-width: 1400px;
  padding: 30px;
  color: #666464;
  margin: 0 auto;
  font-size: 16px;
  line-height: 1.5em;
  margin: 50px auto;
  border-radius: 10px;
  box-shadow: 0px 4px 10px 0px rgba(54, 74, 69, 0.40);
  text-align: left;
  background-color: #fff;
}

.contact {
  display: flex;
  justify-content: center;
  gap: 30px;
  margin: 0 auto 40px auto;
}

.contact img {
  width: 300px;
}

.contact_right {
  padding-top: 30px;
  width: fit-content;
  padding: 10px 15px;
  line-height: 2em;
}

.contact_right li {
  font-size: 20px;
}

@media screen and (max-width:1200px) {
  .contact {
    display: block;
    width: 100%;
    max-width: 800px;
  margin: 0 auto 15px auto;
  }

  .contact_right {
    margin: 0 auto;
    text-align: left;
  }

  .contact img {
    width: 300px;
  }

}


@media screen and (max-width:768px) {

  .contact_right li {
    font-size: 18px;
  }

  .contact img {
    width: 200px;
  }
}
.w75auto {
    width: 100%;
    margin: 0 auto;
    max-width: 1400px;
}

.nipt_cta{
        padding: 2rem 0 2rem;
}

@media screen and (max-width:768px) {
.nipt_cta{
        padding: 1rem 0 1rem;
}
}

img {
  max-width: 100% !important;
  height: auto !important;
}


/* 追加 */
/* 親ボックスの幅を統一 */
.w75auto {
    width: 100%;
    max-width: 1200px;      /* ← 中央寄せの基準幅 */
    margin: 0 auto;         /* ← 中央寄せ */
}

/* 画像を常に中央寄せ＋はみ出し防止 */
.w75auto img,
.section_img,
.about img {
    /* display: block; */
    margin: 0 auto;
    max-width: 100%;
    height: auto;
}
.w75auto img,
.section_img,
.about img {
    margin: 10px auto;
}

/* 800px〜1200pxの寄り防止（中央寄せ強制） */
@media screen and (min-width: 800px) and (max-width: 1200px) {
    .w75auto {
        padding: 0 20px;        /* 画面端に貼り付くのを防ぐ */
    }

    .section_img,
    .about img {
        width: 100%;
        max-width: 100%;
    }
}

.aligncenter {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

