.p-top-banking__list-title {
  font-weight: bold;
  color: #32327F;
  text-align: center;
  width: 100%;
}
.p-top-banking__list-button-link {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #FEE000 url("../../../image/common/icon_arrow_02_blue.svg") right 15px center no-repeat;
  color: #32327F;
  font-weight: bold;
}
.account .p-top-banking__list-button-link {
  background-color: #fff;
  border: 2px solid #32327F;
}
.p-top-banking__list-item-in {
  display: flex;
  justify-content: center;
  -webkit-gap: 0 20px;
  gap: 0 20px;
}

.p-top-banking__list-item-col {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.p-top-banking__list-buttons {
  display: flex;
  justify-content: center;
  width: 100%;
}
.p-top-banking__list-sub {
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-top-banking__list-sub-link {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.p-top-banking__list-sub-link::before {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  width: calc( 100% + 8px );
  height: 1px;
  background-color: #32327F;
}

.p-top-banking__list-sub-link::after {
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  border-top: 2px solid #32327F;
  border-right: 2px solid #32327F;
  transform: rotate(45deg);
  position: relative;
  top: 1px;
  left: 5px;
}

.p-top-items__sub-button {
  display: flex;
  border: 2px solid #32327F;
  border-radius: 8px;
  color: #32327F;
  font-weight: bold;
}
.c-grid__col_inner p {
  padding-right: 20px;
}


@media screen and (min-width: 768px), print {
  .p-top-banking__list-item-in {
    margin-top: 20px;
    padding: 0;
    gap: 0 40px;
    align-items: center;
  }
  .p-top-banking__list-item-in + .p-top-banking__list-item-in {
    margin-top: 60px;
  }
  .p-top-banking__list-item-col {
    gap: 15px 0;
  }
  .p-top-banking__list-title {
    font-size: 1.8rem;
  }
  .p-top-banking__list-sub {
    font-size: 1.4rem;
  }
  .p-top-banking__list-button {
    margin: 0 6px;
  }
  .p-top-banking__list-button-link {
    width: 220px;
    height: 54px;
    border-radius: 27px;
  }
  .account .p-top-banking__list-button-link {
    padding-right: 20px;
  }

  .p-top-items__sub-button {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 236px;
    height: 140px;
    padding: 0;
    -webkit-gap: 20px;
    gap: 20px 0;
    font-size: 1.8rem;
  }

  .p-item--article .c-ttl-lv03__main{
    font-size: 1.7rem;
  } 
}
@media screen and (max-width: 767px) {
  .p-top-banking__list-item-in {
    margin: 20px 0 0;
    padding: 15px 0 20px;
    align-items: center;
  }
  .p-top-banking__list-item-in + .p-top-banking__list-item-in {
    margin-top: 30px;
  }
  .p-top-banking__list-item-image {
    width: 25%;
  }
  .p-top-banking__list-item-col,
  .p-top-banking__list-buttons {
    flex-wrap: wrap;
  }
  .p-top-banking__list-item-col {
    gap: 10px 0;
  }
  .p-top-banking__list-buttons {
    -webkit-gap: 10px 0;
    gap: 10px 0;
    width: 100%;
  }
  .p-top-banking__list-button {
    width: 100%;
    min-width: 120px;
  }
  .p-top-banking__list-button-link {
    width: 100%;
    height: 50px;
    border-radius: 25px;
  }
  .p-top-banking__list-sub {
    font-size: 0.9em;
  }

  .p-top-banking__list-anchor {
    width: 100%;
  }
  .p-top-items__sub-button {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 140px;
    -webkit-gap: 10px;
    gap: 10px 0;
    font-size: 1.6rem;
    background-image: none;
  }
  .p-top-items__sub-button-ic {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 64px;
    height: 64px;
  }
  .p-top-items__sub-button-ic img {
    max-width: 50px;
    max-height: 50px;
  }

}


.flex {
  display: flex;
}
.fd-column{
  flex-direction: column;
}
.jc-center {
  justify-content: center;
}
.ai-center {
  align-items: center !important;
}
@media screen and (max-width: 767px) {
  .ai-center-sp {
    align-items: center;
  }
}

.attention-block,
.attention-block .c-txt,
.attention-block .c-list-ul__item-in {
  color: #f00;
  font-size: 1.25em;
}
.attention-block .c-list-ul__item::before {
  background-color: #f00;
  margin-top: 0.8em;
}

@media screen and (min-width: 768px), print {
  .c-grid:has(.p-item-outer),
  .p-item-outer {
    align-items: stretch;
  }
  .p-item-outer {
    align-items: stretch;
    flex-grow: 10;
  }
  .p-item-outer .c-grid__col.u-col-08{
    position: relative;
    z-index: 1;
    display: flex;
    align-items: stretch;
  }
  .p-item-outer .c-grid__col.u-col-08 .c-grid__col_inner {
    display: flex;
    height: 100%;
    align-items: center;
  }
  .p-item-outer .c-grid__col.u-col-08::after {
    position: absolute;
    z-index: -1;
    content: "";
    display: block;
    width: calc( 100% + 80px );
    height: calc( 100% - 20px );
    left: -90px;
    top: -10px;
    visibility: visible;
    background-color: #fdf1e4;
    border-radius: 20px;
  }
}
@media screen and (max-width: 767px) {
  .p-item-outer {
    position: relative;
    z-index: 1;
    align-items: center;
  }
  .p-item-outer::after {
    position: absolute;
    z-index: -1;
    content: "";
    display: block;
    right: 0;
    top:-10px;
    width: calc( 100%/6*5 );
    height: calc( 100% + 20px );
    background-color: #fdf1e4;
    border-radius: 20px;
  }
}

.c-fig.p-item .c-fig__thumbnail {
  width: 100%;
  aspect-ratio: 9 / 16;
  position: relative;
  z-index: 4;
}

.c-fig.p-item .c-fig__thumbnail-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
}



.p-ttl-shoulder {
  display: flex;
}
.p-ttl-shoulder-in {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}
.p-ttl-shoulder-in-balloon {
  position: relative;
  z-index: 1;
  padding: 1.5em;
}
.p-ttl-shoulder-in-balloon::before,
.p-ttl-shoulder-in-balloon::after {
  content: "";
  position: absolute;
  z-index: -1;
  background-color: #ebf1ff;
}
.p-ttl-shoulder-in-balloon::before {
  border-radius: 100%;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.p-ttl-shoulder-in-balloon::after {
  width: 50px;
  height: 50px;
  left: calc( 50% - 25px );
  bottom: -20px;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}
@media screen and (max-width: 767px) {
  .p-ttl-shoulder-in-image {
    width: 80px;
  }
}
.p-ttl-shoulder + .c-ttl-lv02 {
  margin-top: 0 !important;
}