@charset "utf-8";
/* CSS Document */

:root{
  --pink:#f47fa3;
  --pink-dark:#e95b87;
  --pink-light:#fff1f5;
  --green:#17b88f;
  --green-dark:#0b8d6d;
  --navy:#48526a;
}

html{
  -webkit-text-size-adjust:100%;
}

body{
margin:0;
background:#f6f6f6 url("bg.webp") center top / cover fixed no-repeat;
font-family:"Noto Sans JP",sans-serif;
color:var(--navy);
letter-spacing:.02em;
font-weight:500;
-webkit-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale;
text-rendering:optimizeLegibility;
}

.lp-wrap {
  width:480px;
  max-width:100%;
  margin:0 auto;
  background:#fff;
  overflow:hidden;
  box-shadow:0 0 30px rgba(0,0,0,.12);
}

img {
  max-width:100%;
  height:auto;
  display:block;
}

.fv2 {
padding: 0 1.5% 0 1.5%;
}


/* =========================
FV
========================= */

.fv {
position:relative;
}

.fv-label {
padding: .2rem 3rem .2rem 3rem;
margin: 0;
background-color: #FFFFFF;
}

.vertical-copy {
position: absolute;
top: 0%;
left: 3%;
width: 46%;
display: flex;
flex-direction: row-reverse;
gap: 2px;
}

.fv-image {
  overflow:hidden;
  border-radius:0 0 0 40px;
}

.circle-points{
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 8px;
margin-top: -36%;
padding: 2%;
}

.circle-point {
text-align: center;
}

.line-catch {
  text-align:center;
  color:#000;
  font-family:"Noto Sans JP",sans-serif;
  font-weight:700;
  line-height:1.15;
  margin-bottom: 1.1rem;
}

.line-catch__top{
  font-size:22px;
  margin-bottom:4px;
}

.line-catch__bottom{
  display:flex;
  justify-content:center;
  align-items:flex-end;
  gap:10px;
  font-size: 23px;
}

.marker{
  display:inline-block;
  border-bottom:6px solid #f72578;
  padding-bottom:1px;
}

.slash{
  width:2px;
  height:32px;
  background:#000;
  display:inline-block;
  transform-origin:bottom center;
}

.slash-left{
  transform:rotate(-28deg);
}

.slash-right{
  transform:rotate(28deg);
}

/* =========================
LINE BUTTON
========================= */

.line-btn{
  display:block;
  width:100%;
  max-width:430px;
  margin:0 auto;
  background:var(--green);
  color:#fff;
  text-decoration:none;
  text-align:center;
  padding:18px 16px;
  border-radius: 6px;
  font-size: 20px;
  font-weight: 600;
  box-shadow:0 5px 0 var(--green-dark);
  transition:.2s;
}

.line-btn:hover{
  opacity:.95;
}

.line-btn:active{
  transform:translateY(3px);
  box-shadow:0 2px 0 var(--green-dark);
}

/* =========================
TITLE
========================= */

.label-box {
position: absolute;
z-index: 1;
top: -1%;
left: 4%;
width: 92%;
}

/* =========================
POINT
========================= */

.pink-area {
background:var(--pink-light);
border-radius: 16px;
padding: 28px 16px;
}

.catch-text {
text-align:center;
font-size:16px;
line-height:1.9;
font-weight:700;
margin-bottom: 18px;
margin-top: 6rem;
}

.point-item{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:12px;
  background:#fff;
  border-radius:18px;
  padding:16px;
  margin-bottom:14px;
}

.point-badge {
display: block;
}

.point-badge small{
  font-size:10px;
  font-weight:700;
}

.point-badge strong{
  font-size:22px;
  font-weight:900;
}

.point-item h3{
  margin:0 0 6px;
  color:var(--pink-dark);
  font-size:18px;
  line-height:1.45;
  font-weight:900;
}

.point-item p{
  margin:0;
  font-size:13px;
  line-height:1.8;
  font-weight:500;
}

/* =========================
NOTICE
========================= */

.notice-box {
margin-bottom: 2.6%;
}

/* =========================
TABLE
========================= */

.medical-table-wrap{
  width:100%;
  overflow:hidden;
  border-radius:18px;
  background:#fff;
  border:2px solid #f7b7ca;
}

.medical-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  color:#46506a;
  font-size:14px;
}

.medical-table th{
  background:#f47fa3;
  color:#fff;
  font-weight:700;
  text-align:center;
  padding:14px 10px;
  border-right:1px solid rgba(255,255,255,.45);
}

.medical-table th:last-child{
  border-right:none;
}

.medical-table td{
  background:#fff;
  padding:15px 12px;
  line-height:1.7;
  font-weight:500;
  border-bottom:1px solid #f6d7e1;
  border-right:1px solid #f6d7e1;
}

.medical-table td:last-child{
  border-right:none;
}

.medical-table tbody tr:last-child td{
  border-bottom:none;
}

.medical-table td:first-child{
  width: 37%;
  text-align:center;
  color:#e95b87;
  font-weight:700;
  background:#fff7fa;
}

.medical-table td:nth-child(2){
  text-align: center;
}

/* =========================
FLOW
========================= */

.flow-card{
  margin-bottom:34px;
  text-align:center;
}

.flow-image{
  position:relative;
  overflow:hidden;
  border-radius:10px;
  margin-bottom:14px;
}

.flow-card h3{
  color:var(--pink-dark);
  font-size:28px;
  line-height:1.4;
  font-weight: 500;
  margin-bottom:10px;
}

.flow-card p{
  margin:0;
  font-size:15px;
  line-height:1.9;
  font-weight:500;
}

/* =========================
FINAL
========================= */

.final-area {
text-align: center;
padding: 0px 3px 26px;
}

/* =========================
FOOTER
========================= */

.footer{
  text-align:center;
  color:#444;
  font-size:12px;
  line-height:2;
  font-weight:500;
  padding:1px 12px 40px;
}

/* =========================
FIXED BUTTON
========================= */

.side-fixed {
  position:fixed;
  right:24px;
  top: 50%;
  transform:translateY(-50%);
  max-width: 100%;
  width: 238px;
  z-index: 999;
  display: block;
}

.side-fixed ul {
list-style: none;
padding: 0;
}

/* =========================
SP
========================= */

@media(max-width:1100px) {

.side-fixed {
display:none;
}

}

@media(max-width:768px) {

body{
background-attachment:scroll;
}

.catch-text {
margin-top: 4.4rem;
}
.final-title{
    font-size:32px;
  }
  
}

.label01 {
text-align: center;
font-size: 1rem;
padding: 2%;
border: solid 1px #000000;
width: 70%;
margin: 4% auto;
}

/* =========================
リーガル
========================= */

table {
border-collapse: collapse;
width: 100%;
}

.tb01 {
margin-bottom: 4%;
}
.tb01 th,
.tb01 td {
padding: 10px;
border: solid 1px #ccc;
text-align: center;
box-sizing: border-box;
font-size: .8rem;
}

.tb01 th {
background: #537f87;
color: #fff;
width: 40%;
}

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

.tb01 {
    width: 100%;
  }
  
  table.tb01 th,
  table.tb01 td {
    display: block;
    width: 100%;
    border-bottom:none;
  }
  .tb01 tr:last-child{
    border-bottom: solid 1px #ccc;
  }
}

/* =========================
privacypolicy 利用規約
========================= */

.p-box {
padding: 16px;
margin-bottom: 14px;
}

.p-box p {
margin: 0;
font-size: 13px;
line-height: 1.8;
font-weight: 500;
}

.p-box h3 {
margin: 12px 0 6px;
color: #537f87;
font-size: 15px;
line-height: 1.45;
font-weight: 600;
}

.list {
font-size: 12px;
padding-left: 20px;
}

.list li {
line-height: 1.7;
}









