@media screen and (min-width: 769px) {
  .p-fixedBanner--kids {
    position: fixed;
    top: 160px;
    right: -8px;
    z-index: 99;
    transform: translateX(0);
    transition: transform .3s;
  }}

@media screen and (max-width: 768px) {
  .p-fixedBanner--kids {
    position: static;
    width: 90%;
    max-width: 248px;
    display: block;
    margin: 48px auto;
  }
}

@media (hover: hover) {
  .p-fixedBanner--kids:hover {
    transform: translateX(-24px);
  }
}

.p-keyvisual {
  padding-top: 8px;
}

@media screen and (max-width: 768px) {
  .p-keyvisual {
    padding-top: 0;
  }
}

.p-keyvisualSlide {
  opacity: 0;
  transition: opacity .3s linear;
}

.p-keyvisualSlide.slick-initialized {
  opacity: 1;
}

.p-keyvisualSlide__item {
  border-radius: 8px;
  margin: 0 4px;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .p-keyvisualSlide__item {
    border-radius: 0;
    margin: 0;
  }
}

.p-keyvisualUtil {
  width: 90%;
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  align-items: center;
  margin-top: 24px;
}

.p-keyvisualArrows {
  display: flex;
  gap: 8px;
}

.p-keyvisualArrows .slick-prev,
.p-keyvisualArrows .slick-next {
  position: static;
  transform: none;
  height: 30px;
  width: 30px;
}

.p-keyvisualDots {
  margin-left: auto;
}

.p-keyvisualDots .slick-dots {
  display: flex;
  position: static;
}

.p-keyvisualPause {
  background-color: var(--color--brown);
  border-radius: 100px;
  transition: .3s;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  margin-left: 16px;
}

@media (hover: hover) {
  .p-keyvisualPause:hover {
    background-color: var(--color--red);
  }
}

.p-keyvisualPause::before {
  content: "";
  width: 12px;
  height: 12px;
}

.p-keyvisualPause.-pause::before {
  background: url(../img/icon-pause.svg) no-repeat center center/8px 10px;
}

.p-keyvisualPause.-play::before {
  background: url(../img/icon-play.svg) no-repeat right center/contain;
}

.p-topSection {
  padding: 80px 0;
}

.main-en .p-topSection{
  padding: 64px 0 80px 0;
}

@media screen and (max-width: 768px) {
  .p-topSection,
  .main-en .p-topSection {
    padding: 40px 0;
  }
}

.p-main:not(.main-en) h2[class*="__title"] {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  padding: 12px;
}

@media screen and (max-width: 768px) {
  .p-main:not(.main-en) h2[class*="__title"] {
    padding: 4px 16px;
  }
}

.p-main.main-en h2[class*="__title"] {
  background: none !important;
  font-family: Rubik;
  font-size: 3.5rem;
  font-weight: 700;
  padding: 0;
}

@media screen and (max-width: 768px) {
  .p-main.main-en h2[class*="__title"] {
    font-size: 2.5rem;
  }
}

@media screen and (max-width: 768px) {
  .p-topSection ul[class*="__list"] {
    align-items: center;
    gap: 48px;
  }
}

.p-topSection ul[class*="__list"] li {
  width: 100%;
  max-width: 378px;
}



/* actions */
.p-topSection.p-actions {
  padding: 32px 0 56px 0;
}

.p-actions {
  background: linear-gradient(var(--color--white) 112px, #f0ebdc 112px);
}

@media screen and (max-width: 768px) {
  .p-actions {
    background: #f0ebdc;
  }
}

.p-actions__inner {
  display: grid;
  align-items: flex-end;
  justify-content: center;
  grid-template-columns: max-content 1fr;
}

@media screen and (max-width: 768px) {
  .p-actions__inner {
    display: block;
    padding: 0 16px;
  }
}

.p-actions__title {
  flex: 0 0 auto;
  padding: 0 64px 24px;
  min-width: 0;
}

@media screen and (max-width: 768px) {
  .p-actions__title {
    text-align: center;
  }
}

@media screen and (max-width: 768px) {
  .p-actions__title img {
    width: 180px;
  }
}

.p-actionsListWrapper {
  flex: 1 1 auto;
  min-width: 0;
}

.p-actionsList .slick-track {
  display: flex;
}

.p-actionsList .slick-slide {
  margin: 0 16px;
  height: auto;
}

.p-actionsList .c-articleLink {
  border-radius: 0;
  background-color: transparent;
  filter: none;
}

.p-actionsList .c-articleLink .c-linkThumb {
  border-radius: 24px;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .p-actionsList .c-articleLink .c-linkThumb {
    border-radius: 16px;
  }
}

.p-actionsList .c-articleContents {
  margin-top: 16px;
  padding: 0;
}

.p-actionsList .c-articleTitle {
  font-size: 1.6rem;
  font-weight: 500;
}

.p-actionsUtil {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.p-actionsUtilInner {
  position: relative;
  padding: 0 40px;
}

.p-actionsArrows {
  display: flex;
  gap: 8px;
  position: absolute;
  width: 100%;
  left: 50%;
  transform: translate(-50%, -50%);
  justify-content: space-between;
  top: 50%;
}

.p-actionsArrows .slick-prev,
.p-actionsArrows .slick-next {
  position: static;
  transform: none;
  height: 30px;
  width: 30px;
}

.p-actionsDots .slick-dots {
  display: flex;
  position: static;
}

.p-actionsDots .slick-dots > li:first-child:last-child {
    display: none;
}


/* news */
.p-news__title {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 16px;
}

@media screen and (max-width: 768px) {
  .p-news__title {
    display: block;
  }
}

.p-news__title h2 {
  flex: 1 1 auto;
  padding: 0;
}

.p-main.main-en .p-news__title h2 {
  background: none !important;
  font-family: Rubik;
  font-size: 3.5rem;
  font-weight: 700;
}

.p-news__title .c-arrowLink {
  flex: 0 0 auto;
  margin-left: auto;
}

@media screen and (max-width: 768px) {
  .p-news__title .c-arrowLink {
    display: block;
    margin-top: 16px;
  }
  .p-main.main-en .p-news__title h2 {
    font-size: 2.5rem;
  }
}

.p-newsList .c-articleCatWrap time {
  color: var(--color--black);
}



/* message */
.p-main:not(.main-en) .p-message__title {
  background-image: url(../img/home/message.svg);
}



/* management */
.p-main:not(.main-en) .p-management__title {
  background-image: url(../img/home/management.svg);
}



/* materiality */
.p-main:not(.main-en) .p-materiality__title {
  background-image: url(../img/home/materiality.svg);
}

@media screen and (max-width: 768px) {
  .p-main:not(.main-en) .p-materiality__title {
    background-image: url(../img/home/materiality-sp.svg);
  }
}

.p-ourMateriality {
  background: var(--color--white);
  border-radius: 24px;
  gap: 16px;
  padding: 16px;
  max-width: 800px;
  margin-right: auto;
  margin-left: auto;
}

@media screen and (max-width: 768px) {
  .p-ourMateriality {
    max-width: 378px;
  }
}

.p-ourMateriality > .c-linkThumb {
  margin-bottom: 0;
}

.p-ourMateriality > .c-flexBox {
  gap: 24px;
}

.p-ourMateriality > .c-flexBox > div {
  flex: 0 0 auto;
}

.p-materiality__catTitle img {
  flex-basis: 40px;
}

@media screen and (max-width: 768px) {
  .p-materiality__list a.c-imgLink {
    max-width: 378px;
    margin-right: auto;
    margin-left: auto;
  }
}

.p-materiality__list a.c-imgLink .c-linkThumb {
  border: #fff solid 2px;
}



/* solution */
.p-main:not(.main-en) .p-solution__title {
  background-image: url(../img/home/solution.svg);
}

@media screen and (max-width: 768px) {
  .p-main:not(.main-en) .p-solution__title {
    background-image: url(../img/home/solution-sp.svg);
  }
}



/* case */
.p-case {
}

.p-topSection.p-case {
  padding: 0;
}

.p-topSection.p-case a {
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.p-topSection.p-case a::before {
  content: "";
  display: block;
  position: absolute;
  top: 16px;
  left: 16px;
  width: calc(100% - 32px);
  height: calc(100% - 32px);
  border: #fff solid 4px;
  border-radius: 8px;
  z-index: 2;
}

@media screen and (max-width: 768px) {
  .p-topSection.p-case a::before {
    border-width: 2px;
    top: 8px;
    left: 8px;
    width: calc(100% - 16px);
    height: calc(100% - 16px);
    border-radius: 4px;
  }
}

.p-topSection.p-case > a img {
  transition: .3s;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  max-width: none;
}

@media (hover: hover) {
  .p-topSection.p-case:hover > a img {
    transform: scale(1.1);
  }
}

.p-topSection.p-case h2 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  border-radius: 8px;
  padding: 32px;
  width: 90%;
  max-width: 420px;
  z-index: 3;
}

@media screen and (max-width: 768px) {
  .p-topSection.p-case h2 {
    padding: 16px;
    max-width: 208px;
  }
}

.p-topSection.p-case h2 span {
  display: block;
  background-image: url(../img/home/action.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  line-height: 1.4;
  padding: 12px;
}

.main-en .p-topSection.p-case h2 span {
  background: none;
  padding: 8px 12px;
}

@media screen and (max-width: 768px) {
  .p-topSection.p-case h2 span {
    padding: 4px 16px;
  }
}


/* governance */
.p-topSection.p-governance {
  padding-bottom: 40px;
}

.p-topSection.p-data {
  padding-top: 40px;
}

@media screen and (max-width: 768px) {
  .p-topSection .p-governance__list.c-flexBox,
  .p-topSection .p-data__list.c-flexBox {
    gap: 18px;
  }
}

.p-topSection ul.p-governance__list li,
.p-topSection ul.p-data__list li {
  max-width: 264px;
}

@media screen and (max-width: 768px) {
  .p-topSection ul.p-governance__list li,
  .p-topSection ul.p-data__list li {
    max-width: 378px;
  }

  .p-governance__list.c-flexBox .c-imgLink,
  .p-data__list.c-flexBox .c-imgLink {
    display: flex;
    align-items: center;
    gap: 14px;
  }

  .p-governance__list .c-linkThumb,
  .p-data__list .c-linkThumb {
    flex: 0 0 120px;
    margin-bottom: 0;
  }
}