@charset "utf-8";

/* index
------------------------------*/
.p-declarationIndex {
  padding-top: 42px;
  padding-bottom: 170px;
}
@media all and (max-width: 576px) {
  .p-declarationIndex {
    padding-top: 0;
    padding-bottom: 80px;
  }
}
.p-declarationIndex__inner {
  width: min(966px, 96.6rem);
  margin: 0 auto;
}
@media all and (max-width: 576px) {
  .p-declarationIndex__inner {
    width: 100%;
    padding: 0 25px;
  }
}
.p-declarationIndex__headFrame {
}
.p-declarationIndex__heading {
  display: flex;
  flex-direction: column-reverse;
  gap: 15px;
}
.p-declarationIndex__headTitle {
  font-size: 34px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: .09em;
  color: #140078;
  margin: 0;
}
@media all and (max-width: 576px) {
  .p-declarationIndex__headTitle {
    font-size: 26px;
  }
}
.p-declarationIndex__headDeco {
  width: min(155px, 15.5rem);
  height: 22px;
  line-height: 1;
}
.p-declarationIndex__headText {
  margin: 25px 0 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: -.01em;
}
.p-declarationIndex__contentFrame {
  margin-top: 65px;
}
.p-declarationIndex__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 50px;
}
@media all and (max-width: 966px) {
  .p-declarationIndex__list {
    gap: 30px;
  }
}
@media all and (max-width: 768px) {
  .p-declarationIndex__list {
    grid-template-columns: 1fr;
    gap: 50px;
  }
}
.p-declarationIndex__item {
  position: relative;
  padding-top: 20px;
  display: grid;
  grid-template-columns: 140px auto;
  gap: 20px;
}
@media all and (max-width: 966px) {
  .p-declarationIndex__item {
    grid-template-columns: 1fr;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
  }
}
.p-declarationIndex__item::before {
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  background-color: #ba9454;
  position: absolute;
  top: 0;
  left: 0;
}
.p-declarationIndex__item::after {
  content: '';
  display: block;
  width: 140px;
  height: 2px;
  background-color: #140078;
  position: absolute;
  top: 0;
  left: 0;
}
@media all and (max-width: 966px)  {
  .p-declarationIndex__item::after {
    width: 120px;
  }
}
.p-declarationIndex__itemHead {
}
@media all and (max-width: 966px) {
  .p-declarationIndex__itemHead {
    display: grid;
    grid-template-columns: 120px auto;
    gap: 20px;
  }
}
.p-declarationIndex__itemImg {
}
.p-declarationIndex__itemInfo {
  margin-top: 12px;
}
@media all and (max-width: 966px) {
  .p-declarationIndex__itemInfo {
    margin-top: 0;
  }
}
.p-declarationIndex__itemName {
  margin: 0;
  font-size: 20px;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: .04em;
  color: #140078;
  display: flex;
  align-items: center;
  gap: 6px;
}
.p-declarationIndex__itemName::before {
  content: '';
  display: block;
  width: 12px;
  aspect-ratio: 12 / 14;
  mask-image: url(../images/trust100/declaration/common/name_icon.svg);
  mask-repeat: no-repeat;
  mask-position: bottom;
  mask-size: contain;
  background-color: #140078;
  flex-shrink: 0;
}
.p-declarationIndex__itemPosition {
  margin: 7px 0 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .01em;
}
.p-declarationIndex__itemPosition span {
  display: block;
}
.p-declarationIndex__itemPosition span + span {
  margin-top: 8px;
}
.p-declarationIndex__itemText p{
  margin: 0;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: -.01em;
}


/* pager
------------------------------*/
.p-declarationIndex__pagerFrame {
  margin-top: 120px;
}
@media all and (max-width: 576px) {
  .p-declarationIndex__pagerFrame {
    margin-top: 80px;
  }
}
.p-declarationIndex__pager {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30px;
}
@media all and (max-width: 576px) {
  .p-declarationIndex__pager {
    gap: 10px;
  }
}
.p-declarationIndex__pagerItem {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  font-size: 26px;
  font-weight: 500;
  font-family: 'Bellefair', serif;
  color: #140078;
  text-decoration: none;
  border: 1px solid transparent;
  transition: all 0.3s ease-out;
}
.p-declarationIndex__pagerItem.--current {
  border-color: #140078;
  pointer-events: none;
}
@media (hover: hover) {
  .p-declarationIndex__pagerItem:hover {
    border-color: #140078;
  }
  .p-declarationIndex__pagerPrev:hover .p-declarationIndex__pagerPrevIcon {
    animation: pagerArrowFlashPrev 0.6s ease-out forwards;
  }
  .p-declarationIndex__pagerNext:hover .p-declarationIndex__pagerNextIcon {
    animation: pagerArrowFlash 0.6s ease-out forwards;
  }
}
.p-declarationIndex__pagerPrev {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
}
.p-declarationIndex__pagerPrevIcon {
  display: block;
  width: 26px;
  aspect-ratio: 26 / 16;
  mask-image: url(../images/common/ico_arrow.svg);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  background: linear-gradient(to left, #140078 33.33%, #fff 33.33%, #fff 66.66%, #140078 66.66%);
  background-size: 300% 100%;
  background-position: 0% center;
  rotate: 180deg;
}
.p-declarationIndex__pagerNext {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
}
.p-declarationIndex__pagerNextIcon {
  display: block;
  width: 26px;
  aspect-ratio: 26 / 16;
  mask-image: url(../images/common/ico_arrow.svg);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  background: linear-gradient(to right, #140078 33.33%, #fff 33.33%, #fff 66.66%, #140078 66.66%);
  background-size: 300% 100%;
  background-position: 100% center;
}
@keyframes pagerArrowFlash {
  0% { background-position: 100% center; }
  100% { background-position: 0% center; }
}
@keyframes pagerArrowFlashPrev {
  0% { background-position: 0% center; }
  100% { background-position: 100% center; }
}

/* topBtn
------------------------------*/
.p-declarationIndex__topBtnFrame {
  margin-top: 100px;
  display: flex;
  justify-content: center;
}

@media all and (max-width: 576px) {
  .p-declarationIndex__topBtnFrame {
    margin-top: 60px;
    flex-direction: column;
    align-items: center;
  }
}


.p-declarationIndex__topBtn {
  position: relative;
  width: 306px;
  aspect-ratio: 306 / 62;
  background-color: #140078;
  border: solid 1px #140078;
  color: #fff;
  padding: 20px 30px;
  text-align: center;
  border-radius: 9999px;
  font-size: 14px;
}

@media all and (max-width: 576px) {
  .p-declarationIndex__topBtn {
    width: 343px;
    aspect-ratio: 343 / 54;
    padding: 14px 20px;
  }
}

.p-declarationIndex__topBtnIcon {
    display: block;
    width: 18px;
    aspect-ratio: 18 / 10;
    mask-image: url(../images/common/ico_arrow.svg);
    mask-repeat: no-repeat;
    mask-position: center center;
    mask-size: contain;
    background-color: #fff;
    position: absolute;
    top: 50%;
    right: 20px;
    translate: 0 -50%;
    transition: all 0.3s ease-out;
}

@media (hover: hover) {
  .p-declarationIndex__topBtn:hover,
  .p-declarationIndex__topBtn:focus {
    background-color: #fff;
    color: #140078;
    border: solid 1px #140078;
  }
  .p-declarationIndex__topBtn:hover .p-declarationIndex__topBtnIcon,
  .p-declarationIndex__topBtn:focus .p-declarationIndex__topBtnIcon {
    background-color: #140078;
  }
}
