/* =========================
  LINE consult (top)
========================= */

.l-line{
  background:#EAF5F8;
  padding: 30px 0 8rem;
  text-align:center;
  
}
.l-line .inner {
        max-width: 1100px;
        margin-inline: auto;
        padding-inline: 30px;
}

.l-line__english{
  text-transform: uppercase;
  margin-bottom: 0;
  /* font-weight: 700; */
}

.l-line__badge{
  display:flex;
  justify-content:center;
}

.l-line__badgeTxt{
    /* color: #000; */
  display:inline-block;
font-size: 2.6rem;
font-weight: 700;
line-height: 150%; /* 41.6px */
letter-spacing: 2.08px;
}

.l-line__ttl{
    /* color: #000; */
  margin-bottom:30px;
/* font-size: 5rem; */
    font-size: 4.4rem;
font-weight: 700;
line-height: 150%; /* 80px */
letter-spacing: 4px;
}
.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: 70px;
}

.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{
  display: flex;
  flex-direction: column;
  flex: 1;   
  border-radius: 10px;
background: #FFF;
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: 1rem;
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:"";
  width:16px;
  height:16px;
  flex-shrink: 0;
  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__btn{
  margin-top:60px;
  margin-inline: auto;
max-width: 354px;

}
.l-line__btn--1 {
  margin-top: 0;
}
.l-line__btnLink{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:min(354px, 100%);
  padding:10px 30px;
    border-radius: 5px;
background:#06C755;
color: #fff;
  font-size: 20px;
font-style: normal;
font-weight: 700;
line-height: 160%; /* 32px */
letter-spacing: 1.6px;
transition: all .3s ease;
}

.l-line__btnLink:hover{opacity:.7;}

.l-line__btnIcon{
width: 40px;
height: 40px;
aspect-ratio: 1/1;
}

.l-line__btnArrow{
  width:10px;
  height:20px;
  background: #fff;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  margin-left:6px;
}


/* SP */
@media (max-width: 1059px){

 .l-line__badgeTxt {
  /* font-size: 2.4rem; */
  font-size: 3.0909090909vw;
  padding: 4px 20px;
 }
 .l-line__ttl {
    /* font-size: 3rem; */
            font-size: 4vw;
 }
}
@media (max-width: 900px) {
  .l-line__steps {
    flex-direction: column;
    align-items: center;
    gap: 100px;
    margin-top: 60px;
  }
  .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__caution {
      max-width: 500px;
  margin-inline: auto;
}
.l-line__btn  {
  margin-top: 40px;
}
.l-line__btn--1  {
  margin-top: 30px;
}
}
@media (max-width: 768px) {
   .l-line__badgeTxt {
  font-size: 4.5333333333vw;
 }
.l-line__ttl {
    /* font-size: 3rem; */
    font-size: 5.8666666667vw;
    
 }
 .l-line__btnLink {
    padding:10px clamp(16px, calc(20 / 367 * 100vw), 30px);
 }
}