/* =========================
  LINE consult (top)
========================= */

.l-line{
  background:#F4FAFB;
  padding: 0rem 0 80px;
  text-align:center;
  
}
.l-line .inner {
        max-width: 1100px;
        margin-inline: auto;
        padding-inline: 30px;
}

.l-line__english{
  margin-bottom:18px;
  text-transform: uppercase;
}

.l-line__badge{
  display:flex;
  justify-content:center;
  margin-bottom:8px;
}

.l-line__badgeTxt{
  display:inline-block;
  position: relative;
  color: #2BB9A5;
  letter-spacing: 3.52px;
  /* font-size: 4.4rem; */
  font-size: 2.4rem;
font-weight: 700;
line-height: 150%; /* 38.4px */
z-index: 0;
}
.l-line__badgeTxt::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0.2rem; /* 文字との距離 */
  width: 110%;
  height: 0.55em; /* 黄色ラインの太さ */
  background: #FFF200;
  z-index: -1;
}

.l-line__ttl{
  margin-bottom:0px;
  color: #000;
/* font-size: 4.4rem; */
    font-size: 3.2rem;
font-weight: 700;
line-height: 150%; /* 70.4px */
letter-spacing: 3.52px;
}
.l-line__ttl ._marker {
  display: inline-block;
  
}


.l-line__steps{
  display: flex;
  gap:45px;
  align-items:start;
  justify-items:center;
  align-items: stretch;
  margin-top: 75px;
}

.l-line__step{
  display: flex;         /* ★ */
  flex-direction: column;/* ★ */
  flex: 1; 
  position:relative;
}
.l-line__step + .l-line__step::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -45px; /* ← 前の step との間 */
  transform: translateY(-50%);
  width: 40px;
  height: 60px;
  background: #2BB9A5;
 clip-path: polygon(0 0, 0% 100%, 100% 50%);
}

.l-line__stepBadge{
  width:80px;
  height:80px;
 z-index: 3;
 position: absolute;
 top: -40px;
 left: 50%;
 transform: translate(-50%, 0);
  
}
.l-line__step:nth-child(1) .l-line__stepBadge {
  background: url(../img/line/step-icon1.png) no-repeat center / contain;
}

.l-line__step:nth-child(2) .l-line__stepBadge {
  background: url(../img/line/step-icon2.png) no-repeat center / contain;
}

.l-line__step:nth-child(3) .l-line__stepBadge {
  background: url(../img/line/step-icon3.png) no-repeat center / contain;
}


.l-line__stepBadge--label{
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  line-height:1;
}

.l-line__stepBadge--num{
  font-size:22px;
  font-weight:900;
  line-height:1;
  margin-top:4px;
}

.l-line__card{
  background:#fff;
  display: flex;
  flex-direction: column;
  flex: 1;   
  border-radius: 10px;
box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.16);
}

.l-line__cardHead{
  color:#fff;
  padding:50px 20px 10px;
  border-radius: 10px 10px 0 0;
background: linear-gradient(90deg, #27CAB4 0%, #25A0D2 100%);
  /* height: 124px; */
}

.l-line__cardHeadTtl{
  margin:0;
font-size: 20px;
font-weight: 700;
line-height: 160%; /* 32px */
letter-spacing: 1.6px;
  height: 64px;
  align-content: center;
}

.l-line__cardBody{
  padding:20px;
  text-align:left;
}

.l-line__img{
  width:100%;
  height:auto;
  display:block;
  background:#f2f5f6;
}

.l-line__note{
  margin-top: 20px;
font-size: max(15px, 1.5rem);
font-weight: 500;
line-height: 160%; /* 24px */
letter-spacing: 1.2px;
}


.l-line__check{
  margin-top:10px;
  list-style:none;
  padding:10px;
  border:1px solid #2BB9A5;
  border-radius: 5px;

}

.l-line__check li{
  display: flex;
 gap: 10px;
 font-size: max(15px, 1.5rem);
font-style: normal;
font-weight: 500;
line-height: 160%; /* 24px */
letter-spacing: 1.2px;
}

.l-line__check li::before{
  content:"";
  flex-shrink: 0;
  width:16px;
  height:16px;
  margin-top: 4px;
  background: transparent url(../img/line/line__check.png) no-repeat center center / contain;
}
.l-line__check .l-line__check-head {
  font-weight: 600;
}
.l-line__check .l-line__check-head::before {
  display: none;
}
.l-line__check li + li {
  margin-top: 10px;
}
.l-line__caution {
    margin-top: 8px;
font-size: max(15px, 1.5rem);
font-weight: 500;
line-height: 160%; /* 24px */
letter-spacing: 1.2px;
text-align: left;
}
/* arrows (PC) */
.l-line__arrow{
  width:44px;
  height:44px;
  margin-top:44px;
  position:relative;
}

.l-line__arrow::before{
  content:"";
  position:absolute;
  inset:0;
  background:#1fb9a7;
  clip-path:polygon(0 20%, 62% 20%, 62% 0, 100% 50%, 62% 100%, 62% 80%, 0 80%);
  filter: drop-shadow(0 10px 14px rgba(0,0,0,.10));
}

/* CTA */

.l-line__cta .btn_block_style01{
  max-width: 354px;
  margin-top: 40px;
  margin-inline: auto;
}
.l-line__cta .btn_block_style01 a.line-reserve-btn {
font-size: 20px !important;
font-weight: 700;
line-height: 160%; /* 32px */
letter-spacing: 1.6px;
height: 74px !important;

}
.l-line__cta .btn_block_style01 a span {
  height: 40px ;
  width: 40px ;
}
.l-line__cta--1 .btn_block_style01 {
  margin-top: 30px;
}
/* SP */

@media (max-width: 900px) {
  .l-line {
    padding-top: 10px;
    padding-bottom: 55px;
  }
  .l-line .inner {
        padding-inline: 16px;
} 
  .l-line__steps {
    flex-direction: column;
    align-items: center;
    gap: 100px;
        padding-inline: 14px;

  }
  .l-line__step {
    max-width: 500px;
  }
  .l-line__step + .l-line__step::before {
    top: -100px;
    left: 50%;
    transform: translate(-50%);
    width: 60px;
    height: 40px;
    clip-path: polygon(0 0, 50% 100%, 100% 0);
}
.l-line__cta {
  padding-inline: 15px;
}
.l-line__cta .btn_block_style01 {
  margin-top: 37px;
}
.l-line__cta--1 .btn_block_style01 {
  margin-top: 20px;
}
.l-line__caution {
  max-width: 500px;
  margin-inline: auto;
  padding-inline: 15px;
}

}
@media (max-width: 768px){
 .l-line__badgeTxt {
  /* font-size: min(42px, 6.7rem); */
            font-size: 2.8rem;
 }
 .l-line__ttl {
/* font-size: min(42px, 6.7rem); */
       font-size: 4.0rem;
 }
}
@media (max-width: 600px) {
.l-line__badgeTxt {
    font-size: 3.4rem;
 }
 .l-line__ttl {
    font-size: 4.8rem;
 }
}