@charset "UTF-8";

:root {
  --contents-width: 96.8rem;
}

/************************************************
  Keyvisual
************************************************/
.c-keyvisual {
  display: block;
  width: 100%;
  position: relative;
  z-index: 0;
}

.c-keyvisual .p-keyvisual__title {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: calc(34 / 24);
  color: #fff;
  margin-block-end: 1.4rem;
  text-shadow: 0 0 3px rgb(0,0,0,0.4);
  transition: 0.6s ease;
  transition-property: transform, opacity;
  opacity: 0;
  transform: translate(0, 4rem);
}
.c-keyvisual.--inview .p-keyvisual__title {
  opacity: 1;
  transform: translate(0, 0);
}
@media (width > 768px) {
  .c-keyvisual .p-keyvisual__title {
    font-size: 3.0rem;
    line-height: calc(40 / 30);
    margin-block-end: 3.0rem;
  }
}

.c-keyvisual .p-keyvisual__read {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: calc(33 / 16);
  color: #fff;
  text-shadow: 0 0 3px rgb(0,0,0,0.4);
  transition: 0.6s ease;
  transition-property: transform, opacity;
  opacity: 0;
  transform: translate(0, 4rem);
}
.c-keyvisual.--inview .p-keyvisual__read {
  opacity: 1;
  transform: translate(0, 0);
}
@media (width > 768px) {
  .c-keyvisual .p-keyvisual__read {
    font-size: 2.0rem;
    line-height: calc(40 / 20);
  }
}


/************************************************
  Keyvisual
************************************************/
.c-intro {
  display: block;
  width: 100%;
  position: relative;
  z-index: 0;
  /*padding-top: 2.8rem;*/
  padding-bottom: 7.2rem;
}
@media (width > 768px) {
  .c-intro {
    /*padding-top: 7.4rem;*/
    padding-bottom: 9.0rem;
  }
}

.c-intro .p-intro__title {
  font-size: 3.0rem;
  font-weight: 700;
  line-height: calc(40 / 30);
  text-align: center;
  color: #1103ce;
  margin-block-end: 1.8rem;
}

.c-intro .p-intro__read {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: calc(35 / 16);
  text-align: center;
  margin-block-end: 2.8rem;
}
@media (width > 768px) {
  .c-intro .p-intro__read {
    font-size: 2.0rem;
    line-height: calc(40 / 20);
    margin-block-end: 2.8rem;
  }
}

.c-intro .p-intro__slideNav {
  display: none;
}
@media (width > 768px) {
  .c-intro .p-intro__slideNav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 83.0rem;
    margin: 5.6rem auto 0;
  }
}

.c-intro .p-intro__slideItem,
.c-intro .p-intro__slideName {
  font-size: 2.0rem;
  font-weight: 700;
  line-height: calc(40 / 20);
  text-align: center;
  position: relative;
  z-index: 0;
  padding-block-end: 2.0rem;
  margin-block-end: 2.0rem;
}
.c-intro .p-intro__slideItem::after,
.c-intro .p-intro__slideName::after {
  content: "";
  display: block;
  width: 2.5rem;
  height: 1.6rem;
  background-color: #000;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  position: absolute;
  z-index: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0 auto;
}
@media (width > 768px) {
  .c-intro .p-intro__slideItem {
    font-size: 2.2rem;
    cursor: pointer;
    transition: color 0.3s ease;
    color: rgba(0,0,0,0.39);
  }
  .c-intro .p-intro__slideItem.is-active {
    color: #000;
  }
  .c-intro .p-intro__slideItem::after {
    opacity: 0;
  }
  .c-intro .p-intro__slideItem.is-active::after {
    opacity: 1;
  }
  .c-intro .p-intro__slideName {
    display: none;
  }
}

.c-intro .swiper-slide {
  width: 31.7rem;
}
.c-intro .p-intro__slideImg {
  display: block;
  width: 100%;
  max-width: none;
  object-fit: contain;
  margin: 0 auto;
}
@media (width > 768px) {
  .c-intro .swiper-slide {
    width: var(--contents-width);
  }
}

.c-intro .p-intro__swiper {
  display: block;
  width: 100%;
  overflow: visible;
  clip-path: inset(0 -100% 0 -100%);
  margin-block: 7.0rem 7.6rem;
}
.c-intro .swiper-slide {
  transition: opacity 0.3s ease, transform 0.3s ease;
  opacity: 0.4;
}
.c-intro .swiper-slide-active {
  opacity: 1;
}
@media (width > 768px) {
  .c-intro .p-intro__swiper {
    margin-block: 0rem 8.3rem;
  }
}

.c-intro .p-intro__nav {
  display: block;
  width: 31.7rem;
  margin: 0 auto;
}
@media (width > 768px) {
  .c-intro .p-intro__nav {
    width: var(--contents-width);
    margin-top: 5.0rem;
  }
}

.c-intro .p-intro__navLst {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  width: 100%;
  margin: 0 auto;
  gap: 1.3rem;
}
@media (width > 768px) {
  .c-intro .p-intro__navLst {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1.2rem;
  }
}

.c-intro .p-intro__navItems {
  display: block;
  width: 100%;
}
@media (width > 768px) {
  .c-intro .p-intro__navItems {
    width: 23.3rem;
  }
}

.c-intro .p-intro__navAnchor {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  min-height: 6.6rem;
  background-color: #1103ce;
  border-radius: 0.6rem;
  font-size: 2.0rem;
  font-weight: 700;
  color: #fff;
  padding-inline: 2.0rem 5.0rem;
  position: relative;
  z-index: 0;
}
.c-intro .p-intro__navAnchor::after {
  content: "";
  display: block;
  width: 23px;
  height: 23px;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  position: absolute;
  z-index: 0;
  top: 0;
  bottom: 1.4rem;
  left: auto;
  right: 2.0rem;
  margin: auto;
  transform: rotate(45deg);
}
@media (width > 768px) {
  .c-intro .p-intro__navAnchor {
    justify-content: center;
    min-height: 12.8rem;
    border-radius: 1.0rem;
    font-size: 2.2rem;
    line-height: calc(30 / 22);
    padding-inline: 0;
    padding-block-end: 3.0rem;
    text-align: center;
  }
  .c-intro .p-intro__navAnchor::after {
    right: auto;
    top: auto;
    bottom: 2.4rem;
  }
}

/************************************************
  Category
************************************************/
.c-category {
  display: block;
  width: 100%;
  position: relative;
  z-index: 0;
}

.c-category .p-category__head {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 100%;
  min-height: 53.8rem;
  background: url("../img/bg_category_sp.jpg") no-repeat center top;
  background-size: cover;
}
@media (width > 768px) {
  .c-category .p-category__head {
    flex-direction: row;
    min-height: 41.5rem;
    gap: 1.8rem;
  }
  .c-category .p-category__head.--p1 {
    background: url("../img/bg_category1_pc.jpg") no-repeat center top;
    background-size: cover;
  }
  .c-category .p-category__head.--p2 {
    background: url("../img/bg_category2_pc.jpg") no-repeat center top;
    background-size: cover;
  }
  .c-category .p-category__head.--p3 {
    background: url("../img/bg_category3_pc.jpg") no-repeat center top;
    background-size: cover;
  }
  .c-category .p-category__head.--p4 {
    background: url("../img/bg_category4_pc.jpg") no-repeat center top;
    background-size: cover;
  }
  .c-category .p-category__head.--p5 {
    background: url("../img/bg_category5_pc.jpg") no-repeat center top;
    background-size: cover;
  }
  .c-category .p-category__head.--p6 {
    background: url("../img/bg_category6_pc.jpg") no-repeat center top;
    background-size: cover;
  }
  .c-category .p-category__head.--p7 {
    background: url("../img/bg_category7_pc.jpg") no-repeat center top;
    background-size: cover;
  }
}

.c-category .p-category__headLeft,
.c-category .p-category__headRight {
  display: block;
  width: 31.7rem;
  margin: 0 auto;
  position: relative;
  z-index: 0;
}
@media (width > 768px) {
  .c-category .p-category__headLeft {
    width: 48.4rem;
  }
  .c-category .p-category__headRight {
    width: 46.6rem;
  }
}

.c-category .p-category__headLeft {
  margin-bottom: 2.0rem;
}
@media (width > 768px) {
  .c-category .p-category__headLeft,
  .c-category .p-category__headRight {
    margin: 0;
  }
}

.c-category .p-category__headRight.--video {
  & img {
    border-radius: 1.0rem;
  }
}
.c-category .p-category__headRight.--video::after {
  content: "";
  display: block;
  width: 10.0rem;
  height: 10.0rem;
  background: url("../img/ico_play.svg") no-repeat center;
  background-size: contain;
  position: absolute;
  z-index: 10;
  inset: 0;
  margin: auto;
}
@media (any-hover: hover) {
  .c-category a.p-category__headRight {
    transition: filter 0.3s ease;
  }
  .c-category a.p-category__headRight:hover {
    filter: brightness(1.15);
  }
}

.c-category .p-category__headTitle {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: calc(40 / 28);
  color: #fff;
  margin-block-end: 2.0rem;
}
@media (width > 768px) {
  .c-category .p-category__headTitle {
    font-size: 3.0rem;
    line-height: calc(40 / 30);
    margin-block-end: 2.0rem;
  }
}

.c-category .p-category__headRead {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: calc(33 / 16);
  color: #fff;
}
@media (width > 768px) {
  .c-category .p-category__headRead {
    font-size: 2.0rem;
    line-height: calc(40 / 20);
  }
}

.c-category .p-category__body {
  background-color: #fff;
  padding-block: 2.5rem 4.7rem;
}
@media (width > 768px) {
  .c-category .p-category__body {
    padding-block: 6.0rem 9.6rem;
  }
}

.c-category .p-category__bodyInner,
.c-category .p-category__bodyVertical {
  display: block;
  width: 31.7rem;
  margin: 0 auto;
  position: relative;
  z-index: 0;
}
@media (width > 768px) {
  .c-category .p-category__bodyInner {
    width: var(--contents-width);
  }
  .c-category .p-category__bodyInner:not(:last-child) {
    margin-bottom: 5.6rem;
  }
}

.c-category .p-category__bodyTitle {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 31.7rem;
  min-height: 7.7rem;
  margin: 0 auto;
  background-color: rgba(255,255,255,0.85);
  border-bottom: 1px solid rgba(0,0,0,0.2);
  font-size: 2.0rem;
  font-weight: 700;
  position: relative;
  z-index: 0;
}
.c-category .p-category__bodyTitle::before,
.c-category .p-category__bodyTitle::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 10;
}
.c-category .p-category__bodyTitle::before {
  width: 20px;
  height: 1px;
  border-top: 1px solid #000;
  top: 0;
  bottom: 0;
  left: auto;
  right: 0;
  margin: auto;
}
.c-category .p-category__bodyTitle::after {
  width: 1px;
  height: 20px;
  border-right: 1px solid #000;
  top: 0;
  bottom: 0;
  left: auto;
  right: 10px;
  margin: auto;
}
.c-category .p-category__bodyTitle.is-active {
  border-bottom-color: transparent;
  position: sticky;
  z-index: 10;
  top: var(--header-height);
  left: 0;
}
.c-category .p-category__bodyTitle.is-active::after {
  transform: rotate(90deg);
}
@media (width > 768px) {
  .c-category .p-category__bodyTitle {
    width: fit-content;
    min-height: 0;
    text-align: left;
    margin-left: 0;
    background-color: #fff;
    border-bottom-width: 0;
    font-size: 2.2rem;
    line-height: calc(40 / 22);
    margin-block-end: 2.5rem;
  }
  .c-category .p-category__bodyTitle::before,
  .c-category .p-category__bodyTitle::after {
    display: none;
  }
}

.c-category .p-category__bodyText {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: calc(28 / 16);
  letter-spacing: -0.015em;
  text-align: left;
  margin-block-start: 1.6rem;
}
@media (width > 768px) {
  .c-category .p-category__bodyText {
    font-size: 1.8rem;
    line-height: calc(33 / 18);
  }
}

.c-category .p-category__bodyRow {
  display: none;
}
.c-category .p-category__bodyRow.is-active {
  display: flex;
  flex-direction: column;
  width: 31.7rem;
  margin: 0 auto;
  padding-bottom: 2.0rem;
  gap: 3.6rem;
}
@media (width > 768px) {
  .c-category .p-category__bodyRow {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    width: 100%;
    padding-bottom: 0;
    gap: 3.4rem;
  }
}

.c-category .p-category__bodyCol {
  display: block;
}
.c-category .p-category__bodyPhoto {
  display: block;
  position: relative;
  z-index: 0;

  & img {
    border-radius: 1.0rem;
  }
}
.c-category .p-category__bodyCol.--blank .p-category__bodyPhoto::before {
  content: "";
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  background: url("../img/ico_newtab_w.svg") no-repeat center;
  background-size: contain;
  position: absolute;
  z-index: 10;
  right: 10px;
  bottom: 10px;
}
@media (width > 768px) {
  .c-category .p-category__bodyCol {
    width: 30.0rem;
  }
}
@media (any-hover: hover) {
  .c-category a.p-category__bodyCol {
    transition: opacity 0.3s ease;
  }
  .c-category a.p-category__bodyCol:hover {
    opacity: 0.7;
  }
}

.c-category .p-category__bodyLine,
.c-category .p-category__bodyVertical {
  display: flex;
  flex-direction: column;
  width: 100%;
}
@media (width > 768px) {
  .c-category .p-category__bodyLine {
    flex-direction: row;
    flex-wrap: wrap;
    width: var(--contents-width);
    margin: 0 auto;
    gap: 3.4rem;
  }
  .c-category .p-category__bodyLine:not(:last-child) {
    margin-bottom: 2.4rem;
  }
  .c-category .p-category__bodyVertical {
    width: fit-content;
    margin-inline: 0;
  }
}



/************************************************
  Bottom
************************************************/
.c-bottom {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 29.0rem;
  background-color: #e8eaee;
}
@media (width > 768px) {
  .c-bottom {
    min-height: 28.0rem;
  }
}

.c-bottom .p-bottom__button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 31.7rem;
  min-height: 7.0rem;
  border: 1px solid #000;
  background-color: #fff;
  font-size: 2.1rem;
  font-weight: 700;
  letter-spacing: 0.21em;
  position: relative;
  z-index: 0;
}
.c-bottom .p-bottom__button::before {
  content: "";
  display: block;
  width: 1.8rem;
  height: 1.8rem;
  background: url("../img/ico_newtab_b.svg") no-repeat center;
  background-size: contain;
  position: absolute;
  z-index: 10;
  top: 0;
  bottom: 0;
  left: auto;
  right: 3.6rem;
  margin: auto;
}
@media (width > 768px) {
  .c-bottom .p-bottom__button {
    width: 44.0rem;
    min-height: 9.8rem;
    font-size: 3.0rem;
    line-height: calc(40 / 30);
  }
  .c-bottom .p-bottom__button::before {
    width: 2.5rem;
    height: 2.5rem;
    right: 4.6rem;
  }
}