/*====================
Business Page Styles
====================*/
.subpage{
  section{
    margin-top: calc(var(--margin) * 8);
  }
  h3{
    margin-bottom: 0.75em;
  }
}
/* ステートメントスタイル */
.statement{
  font-size: 1.5em;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
@media (737px <= width) {
  .statement{
    font-size: 2em;
  }
}
.lead-text{
    margin: 3em auto;
    max-width: 60em;
}
/* 2列レイアウト */
.l-2grid{
  @media (width < 737px) {
    &>*{
      margin-top: 1.5em;
    }
  }
  @media (737px <= width) {
    display: flex;
    justify-content: space-between;
    &>*{
      flex: 0 0 47.5%;
    }
  }
}
/* 3列グリッドレイアウト */
.l-3grid{
  margin-top: calc(var(--margin) * 4);
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 20em), 1fr));
  gap: calc(var(--margin) * 4);
}

@media (width < 737px) {
  .l-3grid{
    gap: calc(var(--margin) * 3);
  }
}

/* タグリストスタイル */
.tag-list{
  display: flex;
  flex-wrap: wrap;
  gap: 0.25em;
  padding: 0;
  list-style: none;
}

.tag-list li{
  display: inline-block;
  padding: 0 0.375em;
  border-radius: 1.25em;
  border-color: var(--color-brand);
  border-width: 2px;
  border-style: solid;
  color: var(--color-brand);
  font-size: 0.625em;
  font-weight: 600;
  letter-spacing: var(--spacing-narrow);
  line-height: var(--line-reset);
}
.tag-list.white li{
  border-color: var(--color-light);
  color: var(--color-light);
}
@media (737px <= width) {
  .tag-list li{
    font-size: 0.75em;
    padding: 0.5em 1em;
  }
}

/* カードスタイル */
.card{
  padding-bottom: 1.25em;
  display: flex;
  flex-direction: column;
  border-radius: var(--radius-small);
  background-color: var(--color-brand);
  position: relative;
}
.card__image{
  border-radius: var(--radius-small) var(--radius-small) 0 0;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  position: relative;
}

.card__image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.card__title{
  margin-top: 0.5em;
  padding-inline:1.25em;
  color: var(--color-light);
  font-size: 1.125em;
  font-weight: 700;
  line-height: var(--line-narrow);
}
.card .tag-list{
  margin-top: 1em;
  margin-inline: 1.25em;
}

.card__text{
  margin-top: 0.75em;
  margin-inline: 1.75em;
  color: var(--color-light);
  font-size: 0.9375em;
  line-height: var(--line-narrow);
  letter-spacing: var(--spacing-narrow);
}

@media (737px <= width) {
  .card__title{
    font-size: 1.25em;
  }
}
/* カードリンクスタイル */
.card{
  position: relative;
}

/* リンクありカードのホバー */
.card:has(.card__link){
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card:has(.card__link):hover{
  transform: translateY(-0.5em);
  box-shadow: 0 0.7em 1em rgba(0, 0, 0, 0.1);
}

.card__link::after{
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: url(../images/common/icon-arrow-white.svg) no-repeat right 0.75em bottom 0.75em;
  background-size: 0.75em auto;
  position: absolute;
  bottom: 0;
  left: 0;
}
/*利用ステップ スタイル*/
.card-list.step{
  counter-reset: step-item;
  &>li{
    border: var(--color-brand) 2px solid;
    counter-increment: step-item 1;
    position: relative;
  }
  &>li:before{
    content: counter(step-item);
    display: inline-block;
    margin-right: 0.5em;
    width: 2em;
    height: 2em;
    box-sizing: border-box;
    border-radius: 50%;
    color: var(--color-light);
    background: var(--color-brand);
    font-size: 2em;
    font-weight: 600;
    text-align: center;
    align-content: center;
    line-height: var(--line-reset);
    position: absolute;
    top: -1em;
    left: 50%;
    transform: translateX(-50%);
    z-index: 5;
  }
  .card__image{
    padding: 2em 2.5em 0 2.5em;
    aspect-ratio: 5/3;
    box-sizing: border-box;
    background: var(--bgcolor-light);
    img{
      width: 100%;
      height: 100%;
      object-fit: contain;
    }
  }
}
@media (width < 737px) {
  .card-list.step{
    margin-top: calc(var(--margin) * 10);
    gap: calc(var(--margin) * 5 + 1.5em);
  }
}
@media (737px <= width) {
  .card-list.step{
    margin-top: calc(var(--margin) * 5);
  }
}
/* 白カードスタイル／メディケアチャンネル */
.card--white{
  .item__image{
    border-radius: var(--radius-small);
    overflow: hidden;
  }
  .item__text{
    margin-top: 1em;
  }
}

/*contact area*/
.contact-area{
  padding: 1.5em 1.5em 2.5em 1.5em;
  border-radius: 1em;
  background: var(--bgcolor-brand-a10);
  text-align: center;
}
.contact-area h2{
  margin-bottom: 0.5em;
}
.contact-area .button{
  margin-top: 1.5em;
}
@media (width < 737px) {
  .contact-area .button{
    text-align: center;
  }
}
.item__badge, .s-badge{
  color: var(--color-brand-dark);
  background-color: var(--color-accent01);
  font-weight: bold
}
.item__badge{
  padding: 0.125em 0.75em;
  text-align: center;
}