@charset "UTF-8";
/* =====================
  ABOUT US
 ======================= */
@keyframes animFloating {
  0% {
    transform: translate(0, 0) rotate(-7deg);
  }
  50% {
    transform: translate(0, -7px) rotate(0deg);
  }
  100% {
    transform: translate(0, 0) rotate(7deg);
  }
}
.fs-c-heading--page:first-child {
  padding-top: 0;
}

.p-aboutus_mv {
  position: relative;
  background: url(../images/aboutus/mv_bg_head_sp.png) no-repeat top center/375px, #BDE8F0;
  padding: 48px 0 85px;
  margin-bottom: 48px;
}
.p-aboutus_mv::before {
  content: "";
  width: 100%;
  padding-top: 12.8%;
  background: url(../images/aboutus/mv_bg_foot_sp.png) no-repeat center bottom/cover;
  position: absolute;
  bottom: -1px;
  left: 0;
}
.p-aboutus_mvHeading {
  text-align: center;
  margin-bottom: 40px;
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: normal;
  color: var(--c_blue);
}
.p-aboutus_mvImg {
  text-align: center;
}

.p-aboutus_intro {
  background: url(../images/aboutus/bg_right.png) no-repeat top right/96px, url(../images/aboutus/bg_left.png) no-repeat bottom 18.3% left/96px;
  padding: 0 0 60px;
  position: relative;
  overflow: hidden;
}
.p-aboutus_introContent {
  padding: 20px 20px 0;
  font-size: 1.5rem;
  line-height: 1.8;
  position: relative;
}
.p-aboutus_introContent p + p {
  margin-top: 1.8em;
}
.p-aboutus_introHeading {
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 40px 0;
}

[class^=p-aboutus_introDeco] img {
  animation: animFloating 3s ease-in-out infinite alternate;
  transition: all 0.8s;
  opacity: 0;
}
[class^=p-aboutus_introDeco].is-show img {
  opacity: 1;
}

.p-aboutus_reasonList {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 11px;
}
.p-aboutus_reasonListItem {
  background: #F7F8FB;
  border-radius: 30px;
  padding: 30px 10px;
  min-height: 217px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: 10px;
  text-align: center;
  line-height: 1.8;
}
.p-aboutus_reasonListItem .title {
  font-size: 100%;
  font-weight: 700;
  color: var(--c_blue);
}
.p-aboutus_reasonListItem .text span {
  font-size: 1.2rem;
}

.p-aboutus_rankTxt {
  text-align: center;
  font-size: 1.5rem;
  line-height: 1.8;
  margin-bottom: 20px;
}

.p-aboutus_pointTxt {
  text-align: center;
  font-size: 1.5rem;
  line-height: 1.8;
  margin-bottom: 20px;
}
.p-aboutus_pointList {
  display: grid;
  grid-template-columns: repeat(auto-fit, 150px);
  justify-content: center;
  gap: 20px;
  text-align: center;
  line-height: 1.5;
}
.p-aboutus_pointList .icon {
  width: 64px;
  margin: 0 auto 10px;
}
.p-aboutus_pointList .title {
  font-weight: 700;
  color: var(--c_blue);
  margin: 10px 0;
}
.p-aboutus_pointList .text > span {
  font-size: 1.3rem;
}
.p-aboutus_pointNote {
  margin-top: 30px;
  padding: 0 7px;
  font-size: 1.5rem;
}

.p-aboutus_lineTxt {
  font-size: 1.5rem;
  line-height: 1.8;
  margin-bottom: 40px;
}
.p-aboutus_lineFriends {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px 40px;
  margin: 0 0 40px;
}
.p-aboutus_lineFriends:last-child {
  margin-bottom: 0;
}
.p-aboutus_lineFriendsBox {
  flex: 0 1 460px;
  background: #F7F8FB;
  border-radius: 30px;
  padding: 30px;
  text-align: center;
  min-height: 256px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: 10px;
}
.p-aboutus_lineFriendsQr {
  max-width: 140px;
  margin: 0 auto;
}
.p-aboutus_lineConnect {
  margin: 20px 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
}
.p-aboutus_lineConnect:last-child {
  margin-bottom: 0;
}
.p-aboutus_lineConnectItem {
  flex: 0 1 300px;
  background: #F7F8FB;
  border-radius: 30px;
  padding: 30px;
  counter-increment: cnt;
}
.p-aboutus_lineConnectItem .title {
  display: flex;
  align-items: flex-start;
  column-gap: 10px;
  margin-bottom: 10px;
  font-size: 1.5rem;
  line-height: 1.5;
}
.p-aboutus_lineConnectItem .title::before {
  content: "STEP" counter(cnt);
  font-weight: 700;
  color: var(--c_blue);
  min-height: 3em;
}

/* スマホのみ
  ------------------------ */
@media (max-width: 1199px) {
  [class^=p-aboutus_introDeco] {
    position: relative;
  }
  [class^=p-aboutus_introDeco] img {
    position: absolute;
  }
  .p-aboutus_introDeco01 img {
    left: -24px;
    bottom: 20px;
  }
  .p-aboutus_introDeco02 img {
    top: -24px;
    right: -25px;
  }
  .p-aboutus_introDeco03 img {
    right: -7px;
    bottom: 20px;
  }
  .p-aboutus_introDeco04 img {
    top: 0;
    left: -26px;
  }
  .p-aboutus_rankTable {
    width: 100%;
    line-height: 1.5;
    margin-top: 20px;
  }
  .p-aboutus_rankTable tbody tr {
    display: block;
    margin-bottom: 40px;
  }
  .p-aboutus_rankTable tbody tr:last-child {
    margin-bottom: 0;
  }
  .p-aboutus_rankTable tbody th {
    display: block;
    background: #F7F8FB;
    padding: 10px;
  }
  .p-aboutus_rankTable tbody td {
    display: block;
    border-bottom: 1px solid var(--c_border);
    padding: 10px;
    display: grid;
    align-items: center;
    grid-template-columns: 125px 1fr;
  }
  .p-aboutus_rankTable tbody td:before {
    content: attr(data-label);
    font-weight: 700;
  }
}
/* PC
  ------------------------ */
@media (min-width: 1200px) {
  .p-aboutus_mv {
    background: url(../images/aboutus/mv_bg_head.png) no-repeat top center/1600px, #BDE8F0;
    padding: 90px 0 158px;
    margin-bottom: 0;
  }
  .p-aboutus_mv::before {
    padding-top: 13.5%;
    background: url(../images/aboutus/mv_bg_foot.png) no-repeat center bottom/cover;
  }
  .p-aboutus_mvHeading {
    margin-bottom: 6px;
    font-size: 4rem;
  }
  .p-aboutus_intro {
    background: url(../images/aboutus/bg_right.png) no-repeat top right/215px, url(../images/aboutus/bg_left.png) no-repeat bottom left/193px;
    padding: 64px 0 60px;
  }
  .p-aboutus_introContent {
    text-align: center;
  }
  .p-aboutus_introHeading {
    font-size: 2.2rem;
    margin: 60px 0 40px;
  }
  .p-aboutus_introDeco {
    position: absolute;
    top: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .p-aboutus_introDeco--left {
    left: 0;
  }
  .p-aboutus_introDeco--left img {
    transition-delay: 0.1s;
  }
  .p-aboutus_introDeco--right {
    right: 0;
  }
  .p-aboutus_introDeco02 {
    transform: translate(-54px, 38px);
  }
  .p-aboutus_introDeco03 {
    transform: translateX(-32px);
  }
  .p-aboutus_introDeco04 {
    transform: translate(34px, 12px);
  }
  .p-aboutus_introDeco05 {
    transform: translateX(-15px);
  }
  .p-aboutus_introDeco06 {
    transform: translate(-70px, 100px);
  }
  .p-aboutus_introDeco07 {
    transform: translate(-12px, 10px);
  }
  .p-aboutus_introDeco08 {
    transform: translate(42px, 40px);
  }
  .p-aboutus_reasonList {
    grid-template-columns: repeat(4, 1fr);
    gap: 30px 21px;
  }
  .p-aboutus_reasonListItem {
    min-height: 207px;
    padding: 30px 18px 28px;
    justify-content: flex-start;
  }
  .p-aboutus_reasonListItem .title {
    font-size: 1.6rem;
  }
  .p-aboutus_reasonListItem .text span {
    font-size: 1.3rem;
  }
  .p-aboutus_rankTxt {
    margin-bottom: 60px;
  }
  .p-aboutus_rankTable {
    width: 100%;
    border-collapse: collapse;
    line-height: 1.5;
    margin-top: 20px;
  }
  .p-aboutus_rankTable thead th {
    background: #F7F8FB;
    border-bottom: 1px solid var(--c_border);
    padding: 20px;
    text-align: left;
  }
  .p-aboutus_rankTable tbody th {
    text-align: left;
    padding: 20px;
    border-bottom: 1px solid var(--c_border);
  }
  .p-aboutus_rankTable tbody td {
    padding: 8px 20px;
    border-bottom: 1px solid var(--c_border);
  }
  .p-aboutus_pointTxt {
    margin-bottom: 60px;
  }
  .p-aboutus_pointList {
    justify-content: space-between;
  }
  .p-aboutus_pointNote {
    padding: 0;
  }
  .p-aboutus_lineTxt {
    text-align: center;
    margin-bottom: 60px;
  }
  .p-aboutus_lineFriends {
    margin: 0 0 60px;
  }
  .p-aboutus_lineFriendsBox {
    min-height: auto;
  }
  .p-aboutus_lineConnect {
    margin: 40px 0;
  }
}