h1, h2, h3, h4, p, dl, dt, dd {margin:0;padding: 0;font-weight: normal;}
/* スムーズスクロール */
html {
  scroll-behavior: smooth;
}
/* スクロールアニメーション用 */
.fade-in {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s ease;
}
.fade-in.show {
  opacity: 1;
  transform: translateY(0);
}

/* ページトップボタン */
#page-top {
  position: fixed;
  bottom: 30px;
  right: 30px;
  z-index: 100;
  display: none;
  width: 50px;
  height: 50px;
  background: #00856C;
  color: #fff;
  border-radius: 50%;
  text-align: center;
  line-height: 50px;
  font-size: 20px;
  cursor: pointer;
  box-shadow: 0 0 8px rgba(0,0,0,0.15);
  transition: opacity 0.3s ease;
}
#page-top:hover {
  opacity: 0.8;
}

/* ベース */
body {
  margin: 0;
  font-family: "Zen Old Mincho", serif !important;
  background: #fff image-set(
    url("../images/bg.webp") type("image/webp"),
    url("../images/bg.jpg") type("image/jpeg")
  ) no-repeat left center / cover fixed; /* PC背景固定 */
  line-height: 1.8 !important;
  color: #333;
  overflow-x: hidden;
}
p, ul, summary, address {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-style: normal;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

/* LP本体 ================================== */
.lp-wrapper {
  position: relative;
  top: -2rem;
}
.lp-container {
  max-width: 465px;
  margin: 0 auto;
  background: #fff;
  position: relative;
  z-index: 1;
  box-shadow: 0 1px 20px 2px rgba(0, 0, 0, .3);
}
.inner {
  padding: 2rem 1.5rem;
}
.ttl01 {
  text-align: center;
  font-size: 26px;
  line-height: 1.3;
  background: url(../images/bg_ttl01.svg) center top no-repeat;
  background-size: auto 142px;
  margin-top: -2rem;
  padding: 3rem 0 4rem;
  color: #052f52;
}
.ttl01-2 {
  padding: 2rem 0 3rem;
}
.ttl01 span {
  font-size: 18px;
  display: block;
}
.ttl01 span.big {
  font-size: 50px;
  display: initial;
}
.ttl02 {
    padding: 0.5rem 1rem;
    font-size: 24px;
    margin-bottom: 1rem;
    text-align: center;
    line-height: 1.2;
    position: relative;
    color: #052f52;
  }
.ttl02::after {
    content: '';
    width: 50px;
    height: 1px;
    background-color: #052f52;
    display: block;
    margin: 11px auto 0;
  }
.lp-image {
  width: 100%;
  height: auto;
  display: block;
}
/* こだわり ================================== */
/* #kodawari {
  background: image-set(
    url("../images/bg_kodawari.webp") type("image/webp"),
    url("../images/bg_kodawari.jpg") type("image/jpeg")
  ) top center no-repeat;
  background-size: cover;
} */
 #kodawari {
  background-image: linear-gradient(180deg, rgb(241, 241, 241), rgba(168, 202, 240, 1));
 }
#kodawari h3 {
  background: #69afad;
  margin-left: -1.5rem;
  padding: 1rem 1.5rem;
  color: #fff;
  border-radius: 0 50px 50px 0;
  font-size: 23px;
  font-weight: 500;
  position: relative;
}
#kodawari h3:after {
  color: #ffffffb1;
  content: 'Commitment';
  font-size: 16px;
  float: right;
  margin-top: 4px;
}
.flex2 {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: flex-start;
}
.flex2 p {
  width: 50%;
}
.flex2 img {
  width: calc(50% - 10px);
  height: auto;
  display: block;
}
/* CTA ================================== */
.bx-cta {
  background: image-set(
    url("../images/cta_bg.webp") type("image/webp"),
    url("../images/cta_bg.png") type("image/png")
  ) top center no-repeat;
  background-size: cover;
  padding: 2.5rem 1rem 5.5rem;
  margin: 0;
  position: relative;
  z-index: 10;
  text-align: center;
  box-shadow: 0 -4px 8px rgba(0,0,0,0.15), /* 上 */
              0  4px 8px rgba(0,0,0,0.15); /* 下 */
  overflow-x: clip;
}
.bx-cta:before {
  content: '';
  width: 40px;
  height: 40px;
  border: 0;
  border-bottom: solid 4px #41A19E;
  border-right: solid 4px #41A19E;
  transform: rotate(45deg);
  position: absolute;
  top: -35px;
  left: 0;
  right: 0;
  margin: auto;
}
.bx-cta:after {
  content: '';
  width: 370px;
  height: 120px;
  background: url(../images/cta_after.png) right bottom no-repeat;
  position: absolute;
  right: -3rem;
  bottom: 1rem;
  background-size: 370px auto;
  transform: rotate(-5deg);
}
.bx-cta p {
  font-size: 13px;
  position: relative;
  color: #656565
}
.kome {
  text-align: left;
  padding-left: 1em;
}

.kome:before {
  content: '※';
  position: absolute;
  left: 0;
}
/* CTAボタン */
.cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
	gap:0;
	width: 100%;
  max-width: 500px;
  height: 70px;
  background: linear-gradient(180deg, #28d07e 0%, #00a26c 100%);
  border-radius: 40px;
  box-shadow: 0 6px 12px rgba(0,0,0,0.3);
  text-decoration: none;
  overflow: hidden;
  position: relative;
  margin: 1rem 0;
  color: #fff;
  font-size: 28px;
  letter-spacing: -0.05rem;
  transition: filter 0.5s ease;
  border: none;
  cursor: pointer;
  z-index: 11;
}
a.cta-btn:hover, .cta-btn:hover {
  color: #fff;
  filter: brightness(1.20);
}


.cta-btn::after, .cta-btn::after {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: rotate(45deg);
  margin-left: 12px;
}


/* 悩み ================================== */
#worry {
  background-image: linear-gradient(0deg, #052f52, #1074c7);
  padding-bottom: 2rem;
}

.worry01 {
  position: relative;
  z-index: 1;
}
.worry02 {
  /* margin-top: -2rem; */
}

/* 吹き出し */
.fukidashi {
  position: relative;
  margin-bottom: 20px;
  padding: 16px;
  border-radius: 20px;
  background-color: #ffffff4f;
  text-align: left;
  font-size: 16px;
  line-height: 1.5;
  color: #fff;
  margin: -1.5rem auto 2rem;
  max-width: 410px;
  width: 80%;
}

/* .fukidashi::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  border-style: solid;
  border-width: 20px 16px 0 16px;
  border-color: #a59464 transparent transparent;
  translate: -50% 100%;
} */

.fukidashi::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  border-style: solid;
  border-width: 16.8px 13.4px 0 13.4px;
  border-color: #ffffff4f transparent transparent;
  translate: -50% 100%;
}
.fukidashi ul {
  padding-left: 1em;
}
.fukidashi ul li {
  font-family: "Noto Sans JP", sans-serif;
  position: relative;
  list-style: none;
  background: url(../images/ico_check.svg) left center no-repeat;
  background-size: 15px 15px;
  padding: 1rem 1.5rem;
  line-height: 1.4;
  border-bottom: #75a4cc 1px solid;
}
/* エクソソーム点滴 ================================== */
#tenteki {
  background: #052f52 image-set(
    url("../images/bg_tenteki.webp") type("image/webp"),
    url("../images/bg_tenteki.png") type("image/png")
  ) top center no-repeat;
  background-size: cover;
  margin: -3rem 0 0;
  padding: 4rem 0;
  text-align: center;
  color: #fff;
}
#tenteki p {
  font-family: "Zen Old Mincho", serif;
}
#tenteki h2 {
  text-align: center;
  font-size: 37px;
  color: #fff;
  font-weight: normal;
  text-shadow: 1px 2px 5px #00000063;
  letter-spacing: -0.05rem;
}
.bx01 {
  background: #ffffff20;
  padding: 10px 0;
}
.bx01 h4 {
  border-top: 3px solid #ffffff20;
  border-bottom: 3px solid #ffffff20;
  padding: 30px 10px;
  font-family: "Zen Old Mincho", serif;
  font-size: 19px;
}
.bx-right {
  width: 170px;
  float: right;
  max-width: 40%;
  text-align: right;
  margin-bottom: 5px;
}
.bx-right span {
  font-size: 12px;
  display: block;

}
/* エクソソーム点滴とは ================================== */
#about {
  overflow: hidden;
  margin-top: -6rem;
  padding-top: 3rem;
}
#about .inner {
  background: image-set(
    url("../images/bg_about.webp") type("image/webp"),
    url("../images/bg_about.jpg") type("image/jpeg")
  ) 0 0 repeat;
  margin-top: -2rem;
  padding: 6rem 1.5rem 2rem;
}
#about h2 {
  padding: 5px 0;
  background: #fff;
  transform: rotate(-5deg);
  width: 120%;
  margin-left: -10%;
  font-weight: bold;
  line-height: 1.4;
}
#about h2 span {
  text-align: center;
  font-size: 26px;
  color: #052f52;
  padding: 1rem 10px;
  border-top: 3px solid;
  border-bottom: 3px solid;
  display: block;
}
#about .saibou {
  width: calc(100% + 3rem);
  max-width: 150%;
  margin-left: -1.5rem;
  filter: grayscale(100%);
}

/* 4つのポイント ================================== */
#point {
  background: #F7F7F7;
}
#point ul {
    margin-left: 1rem;
    margin-top: 1rem;
    font-size: 17px;
    line-height: 1.4;
    list-style: disc;
}
#point li {
  margin-bottom: 1rem;
}
#point dl {
	counter-reset: listnum; /* カウンターをリセット */
	list-style: none; /* 標準のスタイルは消す */
}
#point dl dt {
  color: #fff;
  background: #052f52;
  text-align: center;
  font-size: 22px;
	line-height:3 !important;
  position: relative;
  z-index: 10;
  padding: 1.5rem 0 0;
}
#point dl dt:before {
  counter-increment: listnum; /* counter-resetと同じ文字列 */
	content: counter(listnum); /* カウントした数に応じて番号を表示 */
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-size: 50px;
  position: absolute;
  text-align: center;
  width: 120px;
  top: -30px;
  margin: 0 auto;
  display: block;
  background-image: linear-gradient(#052f52 42%, transparent 45%);
  border-radius: 60px;
  height: 120px;
  vertical-align: top;
  line-height: 1;
  left: calc(50% - 60px);
}
#point dl dd {
  background: #052f52;
  color: #fff;
  padding: 1rem 2rem 3rem;
}
 #point dl dt:nth-of-type(2n) {
  background: #0d4f86;
}
#point dl dd:nth-of-type(2n) {
  background-image: linear-gradient(0deg, #1074c7, #0d4f86);
}
#point dl dt:nth-of-type(2n):before {
  background-image: linear-gradient(#0d4f86 42%, transparent 45%);
}
/* 選ばれる理由 ================================== */
#reason {
  background: image-set(
    url("../images/bg_reason.webp") type("image/webp"),
    url("../images/bg_reason.jpg") type("image/jpeg")
  ) 0 0 repeat-y;
  color: #fff;
  padding: 2rem 0 3rem;
}
#reason ul.li_reason li {
  background: #EDEDED;
  border-radius: 30px 0 0 30px;
  color: #333;
  padding: 2rem 1.5rem;
  line-height: 1.6;
  margin-bottom: 2.5rem;
  list-style: none;
  margin-left: -10px;
  position: relative;
}
#reason ul.li_reason li:before {
  content: '1';
  font-family: "Playfair Display", serif;
  font-size: 80px;
  color: #A8914B;
  font-weight: bold;
  font-style: italic;
  position: absolute;
  line-height: 1;
  top: -0.7em;
  right: 1.5rem;
}
#reason ul.li_reason li:nth-child(even):before {
  left: 1.5rem;
  right: initial;
}
#reason ul.li_reason li:nth-child(2):before {content: '2';}
#reason ul.li_reason li:nth-child(3):before {content: '3';}
#reason ul.li_reason li:nth-child(4):before {content: '4';}

#reason ul.li_reason li:nth-child(even) {
  margin-right: 30px;
  border-radius: 0 30px 30px 0;
}
#reason ul.li_reason li p, #reason ul.li_reason li dl {
  font-size: 16px;
	line-height:1.7;
}
#reason h3 {
  font-size: 22px;
  color: #A8914B;
  margin-bottom: 1rem;
  font-family: "Zen Old Mincho", serif;
  font-weight: bold;
}
#reason img {
  margin-bottom: 1rem;
  margin-right: -1.5rem;
  max-width: 150%;
  width: calc(100% + 1.5rem);
}
#reason ul.li_reason li:nth-child(even) img {
  margin-left: -1.5rem;
  margin-right: 0;
}
#reason ul.li_reason li dt {
  color: #A8914B;
  position: relative;
  padding-left: 1.5em;
  font-weight: bold;
}
#reason ul.li_reason li dt:before {
  content: '●';
  position: absolute;
  left: 0;
}
#reason ul.li_reason li dd {
  margin-bottom: 1rem;
  padding-left: 1.5em;
}

/* よくあるご質問 ================================== */
.qa {
  max-width: 600px;
  margin-bottom: 10px;
  border: none;
  background-color: #F4F4F4;
}

.qa summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding: 1em 1em 1em 3em;
  font-weight: 600;
  cursor: pointer;
  line-height: 1.4;
  list-style: none;
}

summary::-webkit-details-marker {
  display:none;
}

.qa summary::before,
.qa p::before {
  position: absolute;
  left: 1rem;
  font-weight: normal;
  font-size: 1.1em;
  font-family: Arial, Helvetica, sans-serif;
  width: 30px;
  text-align: center;
  border-radius: 20px;
  line-height: 1.5;
}

.qa summary::before {
  color: #fff;
  content: "Q";
  background: #052f52;
}

.qa summary::after {
  transform: translateY(-25%) rotate(45deg);
  width: 7px;
  height: 7px;
  margin-left: 10px;
  border-bottom: 3px solid #052f52;
  border-right: 3px solid #052f52;
  content: '';
  transition: transform .5s;
}

.qa[open] summary::after {
  transform: rotate(225deg);
}

.qa p {
  position: relative;
  transform: translateY(-10px);
  opacity: 0;
  margin: 0;
  padding: .3em 3.5em 1.5em;
  transition: transform .5s, opacity .5s;
  font-size: 16px;
}

.qa[open] p {
    transform: none;
    opacity: 1;
}

.qa p::before {
    color: #052f52;
    width: 26px;
    content: "A";
    background: #fff;
    border: 2px solid;
}
/* 点滴にかかる費用 ================================== */
#price {
  background: image-set(
    url("../images/bg_price.webp") type("image/webp"),
    url("../images/bg_price.png") type("image/png")
  ) 0 0 repeat;
  background-size: contain;
  padding: 2rem 0;
}
.bx02 {
  background: #ffffff50;
  padding: 6rem 1.5rem 2rem;
  margin: -6.5rem 1.5rem 0;
}
#price .txt20per {
  margin: -2rem auto 1.1rem;
  max-width: 520px;
  width: 93%;
  display: block;
}

/* アクセス ================================== */
#access {
  background: image-set(
    url("../images/bg_access.webp") type("image/webp"),
    url("../images/bg_access.png") type("image/png")
  ) top center repeat-x;
  background-size: contain;
  padding: 2rem 0 0;
  color: #3F9D9A;
  line-height: 1.6;
}
#access h3 {
  font-weight: bold;
}
#access iframe {
  width: calc(100% - 3rem);
  margin: 0 1.5rem;
  height: 250px;
}
#access .inner {
  background: #3F9D9A;
  margin-top: -10rem;
  padding: 12rem 1.5rem 3rem;
}
#access .bx03 {
  background: #fff;
  border-radius: 37px;
  padding: 2rem 1.5rem;
}
#access .bx03 p {
  font-size: 16px;
}

.flex {
  display: flex;
  flex-wrap: nowrap;
}
a.btn-tel {
  display: block;
  background: -webkit-linear-gradient(to top, #467B79, #69AFAD);
  background: linear-gradient(to top, #467B79, #69AFAD);
  color: #fff;
  border-radius: 15px;
  font-size: 22px;
  text-decoration: none;
  width: 80%;
  min-width: 210px;
  font-family: 'Zen Old Mincho';
  text-align: center;
  letter-spacing: 0.02rem;
  line-height: 2.5;
  margin-left: 1rem;
}
a.btn-tel span {
  font-size: 14px;
}
/* フォーム ================================== */
#contact {
  background: #fff;
  padding: 2rem 1.5rem;
}
#contact p {
  font-size: 14px;
  color: #3f9d9a;
}
.pub_form dt {
  line-height: 1.6;
  margin-bottom: 0.5rem;
}
.pub_form dd {
  margin-bottom: 1rem;
  border-bottom: 1px dotted #a8914b;
  padding-bottom: 1rem;
}
input{
	border:solid 1px #666;
}
input[type="text"], 
input[type="email"],
input[type="tel"],
textarea {
  padding: 0.5rem;
  width: calc(100% - 1rem);
  margin-bottom: 0.5rem;
  line-height: 3;
  border:solid 1px #666;
}

input[name="number-year"],
input[name="number-month"],input[name="number-day"]{
	border:solid 1px #666;
	width:100%;
    padding: 0 10px;
}
textarea {
  line-height: 1.6;
  border:solid 1px #666 !important;
}
textarea {
  height: 4.5em;
}

input[type="radio"] {
  appearance: auto !important;
  -webkit-appearance: radio !important;
  -moz-appearance: radio !important;
  display: inline-block !important;
    width: 17px !important;
    height: 17px !important;
    margin: 0 0.1em .2em 0;
  vertical-align: middle;
}
/* チェックボックス全体の初期化 */
input[type="checkbox"] {
	display:inline-block;
  appearance: none; /* デフォルトのスタイルを消す */
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 18px;
  height: 18px;
  border: 2px solid #ccc;
  border-radius: 3px;
  vertical-align: middle;
  margin-right: 6px;
  cursor: pointer;
  transition: 0.2s;
}

/* チェック時の見た目 */
input[type="checkbox"]:checked {
  background-color: #0073aa; /* WordPressブルーなど任意 */
  border-color: #0073aa;
  position: relative;
}

/* チェックマークを表示 */
input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 5px;
  width: 4px;
  height: 8px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* フォーカス時のアクセント */
input[type="checkbox"]:focus {
  outline: none;
  box-shadow: 0 0 3px #0073aa;
}

.wpcf7-list-item label {
  display: flex;
  align-items: flex-start; /* チェックボックスとテキストの上端を揃える */
  gap: 6px; /* チェックボックスと文字の間隔 */
}

/* チェックボックス本体 */
.wpcf7 input[type="checkbox"] {
    flex-shrink: 0;
    margin-top: 5px;
    display: block;
	border:solid 1px #666;
}

/* ラベル内テキストを自然に折り返す */
.wpcf7-list-item label span {
  line-height: 1.6;
    margin-top: -3px;
}

.pl2 .wpcf7-list-item label span{
	display:none;
}

.flex-form {
  display: flex;
  gap: 5px;
  margin-bottom: 2rem;
  line-height: 3.6;
}
.required {
  position: relative;
}
.required:before {
  content: '*';
  color: #ff0000;
}
.pl2 {
  padding-left: 1em;
}
input[type="checkbox"], input[type="radio"] {
  margin-left: -1em;
}
#contact .cta-btn {
  font-family: serif;
  letter-spacing: 0.5rem;
}
.link01 {color: #A8914B;text-decoration:underline;}
.link01:hover {text-decoration: none;}

.wpcf7-not-valid-tip{
	line-height:1.2;
}
/* フッター ================================== */
footer {
  background-color: #69AFAD;
  padding-bottom: 6rem;
}
footer p.kome {
  color: #fff;
  font-size: 12px;
  padding: 1rem 1.5rem 0 2rem;
}

footer p.kome:before {
  left: 1.2rem;
}

footer p.copy {
  background-color: #509795;
  padding: 1rem 1.5rem;
  border-top: 1px solid #8AC0BE;
  text-align: center;
  font-size: 13px;
  color: #fff;
}
/* スマホフッター固定 ================================== */
ul.ft-menu {
  position: fixed;
  bottom: 0;
  background: #ffffffb8;
  width: 100%;
  max-width: 465px;
  padding: 0;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-around;
  margin: 0;
  box-shadow: 0 -4px 8px rgba(0, 0, 0, 0.15);
  z-index: 999;
}
ul.ft-menu li {
  list-style: none;
  width: 45%;
  text-align: center;
}
ul.ft-menu li a {
  display: block;
  width: 100%;
  padding: 10px 0;
  color: #fff;
  font-family: 'Zen Old Mincho';
  font-size: 20px;
  text-decoration: none;
  border-radius: 50px;
  height: 50px;
  line-height: 2.3 !important;
	position:relative;
}

ul.ft-menu li a .cp{
	position:absolute;
	top:-2px;
	font-size:12px;
	left:0;
	right:0;
	margin:auto;
}
ul.ft-menu li:last-child a.cta-btn {
  background: linear-gradient(180deg, #1ab3e3 0%, #3b76c3 100%);
}

/* 装飾 ================================== */
/* 文字色 */
.att01 {
  color: #052f52;
  /* background: #fff;
  padding: 0px 5px 2px; */
  font-weight: bold;
}
.att02 {
  color: #fff;
  background: #69AFAD;
  padding: 0px 5px 2px;
  font-weight: bold;
}
.att03 {
  font-size: 29px;
  text-align: center;
  font-family: 'Zen Old Mincho';
  color: #A8914B;
}
.att04 {
  color: #A8914B;
}
p.small {font-size: 12px !important;}
.bold {font-weight: bold;}
/* 余白 */
.mb1 {margin-bottom: 1rem;}
.mb2 {margin-bottom: 2rem;}
.mb3 {margin-bottom: 3rem;}
.mb4 {margin-bottom: 4rem;}
.mb6 {margin-bottom: 6rem;}


/* PCメニュー ================================== */
.pc-menu {
  display: none;
}

.pc-menu {
  margin: 0;
  padding: 20px;
  background-image: linear-gradient(0deg, #52a9a6, #bbdedd 55%, #69afad);
  /* border-radius: 60px; */
  box-shadow: 0 1px 20px 2px rgba(0, 0, 0, .3);
}
.pc-menu ul {
  list-style: none;
  margin: 0;
  padding: 25px 20px;
  font-family: "Zen Old Mincho", serif;
  font-size: 20px;
  background: #ECF5F5;
  /* border-radius: 50px; */
}

.pc-menu a {
  display: block;
  padding: 6px 0;
  background: #ECF5F5;
  border-bottom: 1px solid #D7D0C5;
  text-decoration: none;
  color: #A8914B;
  font-weight: bold;
  text-align: center;
  transition: background 0.3s;
}

.pc-menu a:hover {
  background: #fff;
}

.pc-menu ul li:last-child a {
  display: inline-flex;
  background: linear-gradient(180deg, #28d07e 0%, #00a26c 100%);
  border-bottom: none;
  max-width: 240px;
  padding: 0;
  margin: 1rem 0 0;
  gap: 0;
  height: 65px;
  font-weight: normal;
  color: #fff;
  font-size: 23px;
	position:relative;
}

.pc-menu ul li:last-child a .cp{
    position: absolute;
    top: -4px;
    left: 0;
    right: 0;
    margin: auto;
    font-size: 14px;
}

.exosome-thanks-content{
	width:90%;
	max-width:900px;
	margin:3rem auto;
}

.exosome-thanks-content h1{
	font-size:27px;
	margin-bottom:2rem;
	line-height:1.5;
}

.exosome-thanks-content p{
	margin-bottom:1rem;	
}

.exosome-thanks-content .open-time img{
	width:100%;
	max-width:600px;
	margin-top:1rem;
}

.wpcf7 input[type="date"] {
	font-size: 16px;
    padding: 2px 12px;
    border: solid 1px #666;
}
.wpcf7-date::before{
	content: '日付を選択してください';
	font-size: 14px;
	white-space:nowrap;
}


/* PC表示 ================================== */
@media (min-width: 1260px) {
  .lp-wrapper {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    position: absolute;
    top: 0;
    left: calc(50% - 232px);
  }

  .lp-container {
    margin: 0 auto;
  }

  .pc-menu {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: fixed;
    left: 70%;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
  }
  ul.ft-menu {
    display: none;
  }
  footer {
    padding-bottom: 0;
  }
}

/* SP表示 ================================== */
@media (max-width: 640px) {
	body{
		font-size: 18px !important;
		line-height: 1.8 !important;
	}
  .lp-wrapper {
	  overflow: hidden;
	  top:0;
	}
  #page-top {display: none !important;}
  .pc {display: none;}
  .bx02 {
      padding: 4rem 1.5rem 2rem;
      margin: -4.5rem 1.5rem 0;
  }
	.fukidashi ul li {
    margin-left: -1rem;
    padding-left: 2rem;
	}
	
	form{
		font-size:15px !important;
	}
	
	#point ul{
		padding:0 2rem;
	}
	
	#reason ul.li_reason li {
    padding: 2rem 2.5rem;
	}
	
	#reason h3 {
    margin-top: 1rem;
	}
	.cta-btn{
		font-size:26px;
	}
	.wpcf7-date{
        width: 100% !important;
        border: solid 1px #666;
	}
	.wpcf7-date::before{
		content: '日付を選択してください\A ';
		font-size: 14px;
		white-space: pre;
	}
	.bx-cta{
		padding: 2.5rem 1rem 9.5rem;
	}

}
/* SP表示 ================================== */
@media screen and (min-width: 465px) and (max-width: 640px) {
	body{
		font-size: 18px !important;
		line-height: 1.8 !important;
	}
  .sp {display: none;}
  .pc {display: initial;}
  .lp-container {
    max-width: 100%;
    margin: 0 auto;
    background: #fff;
    position: relative;
    z-index: 1;
    box-shadow: 0 1px 20px 2px rgba(0, 0, 0, .3);
  }
  ul.ft-menu {
    max-width: 640px;
  }
  img {
    width: 100%;
  }
  .bx-cta img {
    max-width: 380px;
  }
  #tenteki {
    background-size: cover;
  }
  a.btn-tel {
    font-size: 29px;
    line-height: 3;
  }
	#point ul{
		padding:0 2rem;
	}
	
	.fukidashi ul li {
    margin-left: -1rem;
    padding-left: 2rem;
	}
	
	#reason ul.li_reason li {
    padding: 2rem 2.5rem;
	}
	
	#reason h3 {
    margin-top: 1rem;
	}
	
	form{
		font-size:15px !important;
	}
}