/*! global */
:root {
  font-size: 1rem;
}

@media (min-width: 768px) {
  :root {
    font-size: 0.75rem;
  }
}

@media (min-width: 1024px) {
  :root {
    font-size: 0.875rem;
  }
}

@media (min-width: 1280px) {
  :root {
    font-size: 1rem;
  }
}

body {
  box-sizing: border-box;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 500;
  font-family: Manrope, Arial, sans-serif;
  font-weight: 500;
  color: #1f1f1f;
  background-color: #fff;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body *,
body *::before,
body *::after {
  box-sizing: border-box;
  font: inherit;
  margin: 0;
  padding: 0;
}

body {
  margin: 0;
  padding: 0;
}

button {
  padding: 0;
  border: none;
  border-radius: 0;
  background-color: transparent;
}

button:hover {
  cursor: pointer;
}

button:disabled {
  cursor: not-allowed;
}

a {
  text-decoration: none;
  color: inherit;
}

table {
  caption-side: bottom;
  border-collapse: collapse;
}

:focus {
  outline: none;
  outline-offset: 0;
}

input {
  border: none;
  background-color: transparent;
}

input[type='number']::-webkit-outer-spin-button,
input[type='number']::-webkit-inner-spin-button {
  appearance: none;
  margin: 0;
}

abbr {
  text-decoration: none;
}

ul,
ol,
dl {
  list-style: none;
}

/* main */
.picture {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  text-align: center;
}
.picture__img {
  object-fit: contain;
  width: auto;
  max-width: 100%;
  height: 100%;
}
.v-icon {
  display: block;
}
.link {
  display: inline-flex;
  align-items: center;
  color: #266dd9;
}
.link__icon {
  flex-shrink: 0;
}
.link__icon [class$='icon__fill'] {
  fill: #266dd9;
}
.link__icon--appended {
  margin-left: 0.5rem;
}
.link__icon--appended.link__icon--chevron {
  margin-left: 0;
}
.link--s .link__icon--appended.link__icon--chevron {
  margin-left: 0.125rem;
}
.link:hover .link__text {
  text-decoration: underline;
}
.link--s {
  font-size: 0.875rem;
  line-height: 1.3125rem;
  font-weight: 500;
}
.v-rich-text__content {
  pointer-events: none;
}
.v-rich-text__content [infotip] {
  pointer-events: all;
}
.v-rich-text__content [infotip] {
  position: relative;
  z-index: 10;
  width: 1em;
  display: inline-block;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: transparent;
  cursor: pointer;
}
.v-rich-text__content [infotip]::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 150%;
  width: 150%;
  max-width: 1.5rem;
  max-height: 1.5rem;
  display: inline-block;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml,%3csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg' class='icon--s'%3e %3cpath class='icon__fill' fill-rule='evenodd' clip-rule='evenodd' d='M13 8C13 8.55228 12.5523 9 12 9C11.4477 9 11 8.55228 11 8C11 7.44772 11.4477 7 12 7C12.5523 7 13 7.44772 13 8ZM12 11C12.5523 11 13 11.4477 13 12V16C13 16.5523 12.5523 17 12 17C11.4477 17 11 16.5523 11 16V12C11 11.4477 11.4477 11 12 11Z' fill='%23707070' /%3e %3ccircle class='icon__stroke' cx='12' cy='12' r='7.35' stroke-width='1.3' stroke='%23d6d6d6' /%3e %3c/svg%3e#d6d6d6 .icon__stroke&fill=");
}
body *,
body *::before,
body *::after {
  box-sizing: border-box;
  font: inherit;
  margin: 0;
  padding: 0;
}
button {
  padding: 0;
  border: none;
  border-radius: 0;
  background-color: transparent;
}
button:hover {
  cursor: pointer;
}
button:disabled {
  cursor: not-allowed;
}
a {
  text-decoration: none;
  color: inherit;
}
:focus {
  outline: none;
  outline-offset: 0;
}
ul {
  list-style: none;
}
.p20-container {
  display: block;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
}
.p20-row {
  display: flex;
  flex-wrap: wrap;
}
.p20-col {
  position: relative;
  width: 100%;
  min-height: 1px;
}
.p20-row {
  margin-right: -0.375rem;
  margin-left: -0.375rem;
}
.p20-container {
  padding-right: 0.75rem;
  padding-left: 0.75rem;
}
.p20-col--s-12 {
  flex: 0 0 calc(100% / 1);
  max-width: calc(100% / 1);
}
.p20-col {
  padding-right: 0.375rem;
  padding-left: 0.375rem;
}
@media (min-width: 768px) {
  .p20-row {
    margin-right: -0.665rem;
    margin-left: -0.665rem;
  }
  .p20-container {
    padding-right: 1.33rem;
    padding-left: 1.33rem;
  }
  .p20-col--offset-m-1 {
    margin-left: calc(100% / 12);
  }
  .p20-col--offset-m-2 {
    margin-left: calc(100% / 6);
  }
  .p20-col--m-4 {
    flex: 0 0 calc(100% / 3);
    max-width: calc(100% / 3);
  }
  .p20-col--m-8 {
    flex: 0 0 calc(100% / 1.5);
    max-width: calc(100% / 1.5);
  }
  .p20-col--m-10 {
    flex: 0 0 calc(100% / 1.2);
    max-width: calc(100% / 1.2);
  }
  .p20-col {
    padding-right: 0.665rem;
    padding-left: 0.665rem;
  }
}
@media (min-width: 1024px) {
  .p20-row {
    margin-right: -0.9375rem;
    margin-left: -0.9375rem;
  }
  .p20-container {
    padding-right: 1.875rem;
    padding-left: 1.875rem;
  }
  .p20-col {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
  }
}
@media (min-width: 1280px) {
  .p20-row {
    margin-right: -0.75rem;
    margin-left: -0.75rem;
  }
  .p20-container {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
  .p20-container--fixed {
    max-width: 79.5rem;
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
  .p20-col {
    padding-right: 0.75rem;
    padding-left: 0.75rem;
  }
}
[class*='icon--xs'] {
  height: 1rem;
  width: 1rem;
}
strong:not([class]) {
  font-weight: 700;
}

.p20-secondary-content-wrapper > :first-child {
  margin-top: 0;
}
@media (max-width: 767px) {
  .p20-main-content-wrapper {
    padding-bottom: 3rem;
  }
}
@media (min-width: 768px) {
  .p20-main-content-wrapper {
    padding-bottom: 5rem;
  }
}
.v-section-generic {
  background-color: var(--background-color);
  background-size: var(--size);
  background-position: top left;
  background-repeat: no-repeat;
}
.v-section-generic__header {
  text-align: left;
}
.v-section-generic__title {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 2.625rem;
}
.v-section-generic__subheading {
  margin-top: 0.5rem;
  color: #707070;
  line-height: 1.5;
}
.v-section-generic__content > :first-child {
  margin-top: 1.5rem;
}
.v-section-generic__link {
  display: flex;
  justify-content: center;
  width: fit-content;
  width: -moz-fit-content;
  margin-top: 1.5rem;
  margin-left: 0;
}
@media (min-width: 768px) {
  .v-section-generic {
    background-position: top center;
  }
  .v-section-generic__header {
    text-align: center;
  }
  .v-section-generic__title {
    font-size: 2rem;
    line-height: 3rem;
  }
  .v-section-generic__subheading {
    margin-top: 1rem;
    font-size: 1.25rem;
  }
  .v-section-generic__content > :first-child {
    margin-top: 3rem;
  }
  .v-section-generic__link {
    margin: 2.5rem auto 0;
  }
}
.seo-module__wrapper {
  display: flex;
  flex-direction: column;
}
.seo-module__title {
  margin-bottom: 1rem;
  font-size: 1.125rem;
  font-weight: 700;
  text-align: left;
  line-height: 1.5;
}
.seo-module__content > .v-rich-text__content {
  display: -webkit-box;
  -webkit-line-clamp: var(--line-clamp);
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.seo-module__content--collapsed > .v-rich-text__content > *:not(:first-child) {
  display: none;
}
.seo-module__more-link {
  margin: 1.5rem 0 0;
}
@media (min-width: 768px) {
  .seo-module__title {
    margin-bottom: 2.375rem;
    font-size: 1.5rem;
    text-align: center;
  }
  .seo-module__more-link {
    margin: 1.5rem auto 0;
  }
}
.v-image-card {
  position: relative;
  display: block;
  padding-bottom: 100%;
  border-radius: 0.5rem;
  background-color: #f5f5f5;
}
.v-image-card__image {
  position: absolute;
  overflow: hidden;
  top: 1rem;
  left: 1.5rem;
  right: 1.5rem;
  height: calc(70% - 2rem);
}
.v-image-card__image .picture__img {
  margin: auto;
  max-height: 100%;
  height: initial;
  transition: all 0.3s;
}
.v-image-card:hover .picture__img {
  transform: scale(1.1);
}
.v-image-card__detail {
  position: absolute;
  top: calc(70% - 1rem);
  right: 0.5rem;
  width: calc(100% - 1rem);
  margin-top: 0.5rem;
  text-align: center;
}
.v-image-card__title {
  font-size: 0.875rem;
  font-weight: 600;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.v-image-card__description {
  margin-top: 0.25rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: #707070;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media (min-width: 768px) {
  .v-image-card {
    border-radius: 1rem;
  }
  .v-image-card__image {
    top: 2rem;
    left: 2rem;
    right: 2rem;
  }
  .v-image-card__detail {
    margin-top: 1rem;
    top: 70%;
  }
  .v-image-card__title {
    font-size: 1.25rem;
  }
  .v-image-card__description {
    margin-top: 0.5rem;
    font-size: 0.875rem;
  }
}
.v-breadcrumbs p br {content: '';}
.v-breadcrumbs p br::after {content: ' ';}
.v-breadcrumbs {
  padding: 1.5rem 0;
}
.v-breadcrumbs p {
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.v-breadcrumbs__item {
  display: inline-flex;
  align-items: center;
  color: #266dd9;
  font-size: 1rem;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .v-breadcrumbs__item {
    width: 100%;
  }
  .v-breadcrumbs__item span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .v-breadcrumbs__item:not(:nth-last-child(2)) {
    display: none;
  }
  .v-breadcrumbs__item svg {
    height: 1rem;
    width: 1rem;
    flex-shrink: 0;
  }
  .v-breadcrumbs__item svg.chevron-prev {
    margin-right: 0.125rem;
  }
  .v-breadcrumbs__item svg.chevron-prev path {
    fill: #266dd9;
  }
  .v-breadcrumbs__item svg.chevron-next {
    display: none;
  }
}
@media (min-width: 768px) {
  .v-breadcrumbs__item {
    font-size: 0.875rem;
    color: #707070;
  }
  .v-breadcrumbs__item:not(:first-of-type) {
    margin-left: 0.5rem;
  }
  .v-breadcrumbs__item svg {
    height: 1rem;
    width: 1rem;
    margin-left: 0.5rem;
  }
  .v-breadcrumbs__item svg path {
    fill: #c2c2c2;
  }
  .v-breadcrumbs__item svg.chevron-prev {
    display: none;
  }
  .v-breadcrumbs__item:last-of-type {
    color: #999999;
    pointer-events: none;
    display: inline;
  }
  .v-breadcrumbs__item:last-of-type svg {
    display: none;
  }
}
@media (max-width: 767px) {
  .categories .p20-container {
    padding-left: 0;
    padding-right: 0;
  }
}
.categories__container {
  display: flex;
  align-items: center;
  flex-direction: column;
}
@media (min-width: 768px) {
  .categories__container {
    flex-direction: row;
  }
}
.categories__title {
  display: block;
  margin-right: auto;
  margin-bottom: 1rem;
  color: #707070;
  font-size: 0.875rem;
  line-height: 1.5;
  font-weight: 500;
}
@media (max-width: 767px) {
  .categories__title {
    margin-left: 0.75rem;
  }
}
@media (min-width: 768px) {
  .categories__title {
    display: none;
    margin-bottom: 0;
    margin-right: 0.5rem;
    font-size: 1rem;
  }
}
.categories__list {
  display: inline-flex;
  flex-direction: row;
  align-items: baseline;
  gap: 1rem 0.5rem;
  overflow-x: auto;
  width: 100%;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.categories__list::-webkit-scrollbar {
  width: 0;
  height: 0;
}
@media (max-width: 767px) {
  .categories__list {
    padding-left: 0.75rem;
  }
}
@media (min-width: 768px) {
  .categories__list {
    flex-wrap: wrap;
  }
}
.categories__list-title {
  display: none;
}
@media (min-width: 768px) {
  .categories__list-title {
    display: inline-flex;
  }
}
.categories__list-item,
.categories__list-toggler {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  padding: 0.75rem 1rem;
  border: 1px solid #ebebeb;
  border-radius: 2rem;
}
.categories__list-item:hover,
.categories__list-toggler:hover {
  border-color: #d6d6d6;
}
@media (min-width: 768px) {
  .categories__list-item,
  .categories__list-toggler {
    padding: 0.75rem 1.5rem;
  }
}
.categories__list-item-hidden {
  display: none;
}
.categories__list-item span,
.categories__list-toggler span {
  font-size: 0.75rem;
  line-height: 1.5;
  display: inline-block;
  color: #1f1f1f;
  white-space: nowrap;
}
@media (min-width: 768px) {
  .categories__list-item span,
  .categories__list-toggler span {
    font-size: 0.875rem;
  }
}
.categories__list-item-active {
  border: 2px solid transparent;
  background-image: linear-gradient(white, white),
    linear-gradient(180deg, #7b4cd9 0%, #b54fdf 100%);
  background-origin: border-box;
  background-clip: padding-box, border-box;
}
.categories__list-item-active span {
  background: linear-gradient(180deg, #7b4cd9 0%, #b54fdf 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}
@media (min-width: 768px) {
  .categories__list-item-active span {
    font-weight: 600;
  }
}
.categories__list-toggler {
  display: none;
}
.article-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  margin-left: 2px;
  margin-right: 2px;
  position: relative;
}
@media (min-width: 768px) {
  .article-card {
    height: 100%;
    max-height: 32.125rem;
  }
  .article-card:hover .article-card__picture img {
    transform: scale(1.1);
  }
}
.article-card--promoted {
  border-radius: 1rem;
  border: 2px solid transparent;
  background-image: linear-gradient(white, white), linear-gradient(180deg, #7b4cd9 0%, #b54fdf 100%);
  background-origin: border-box;
  background-clip: padding-box, border-box;
}
.article-card--promoted .article-card__categories {
  display: flex;
  margin-top: 1rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.article-card--promoted .article-card__title,
.article-card--promoted .article-card__excerpt {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.article-card--promoted .article-card__additional-data {
  margin-top: auto;
  display: flex;
  color: #707070;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.article-card__tag {
  padding: 0.25rem 0.5rem;
  color: #707070;
  background-color: #FFFFFF;
  font-weight: 0.875rem;
  line-height: 1.3125rem;
  font-weight: 600;
  border-radius: 0.25rem;
  position: absolute;
  top: 1rem;
  right: 1.5rem;
  z-index: 1;
}
.article-card--promoted .article-card__tag {
  display: block;
}
.article-card__picture {
  width: 100%;
  height: 14.375rem;
  border-radius: 0.5rem;
  overflow: hidden;
  width: calc(100% + 4px);
  position: relative;
  left: -2px;
  top: -2px;
}
@media (min-width: 768px) {
  .article-card__picture {
    border-radius: 1rem;
  }
}
.article-card__picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.2s ease;
}
.article-card__categories {
  display: flex;
  margin-top: 1rem;
}
.article-card__category {
  display: inline-block;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 500;
  color: #707070;
}
.article-card__category:nth-child(2) {
  margin-left: 1rem;
  position: relative;
}
.article-card__category:nth-child(2)::before {
  content: '・';
  position: absolute;
  left: -1rem;
}
.article-card__title,
.article-card__excerpt {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.article-card__title {
  font-size: 1.25rem;
  line-height: 1.875rem;
  font-weight: 700;
  margin-top: 0.5rem;
}
@media (min-width: 768px) {
  .article-card__title {
    font-size: 1.5rem;
  }
}
@media (min-width: 768px) {
  .article-card__title {
    line-height: 2.25rem;
  }
}
.article-card__excerpt {
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 500;
  margin: 1rem 0;
}
.article-card__additional-data {
  margin-top: auto;
  display: flex;
  color: #707070;
}
.article-card__date {
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 500;
}
.article-card__reading-length {
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 700;
  margin-left: 1rem;
  position: relative;
}
.article-card__reading-length::before {
  content: '・';
  position: absolute;
  left: -1rem;
}
.article-list .p20-row {
  gap: 2.5rem 0;
}
.pagination {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  list-style-type: none;
  margin: 0;
  max-width: 100%;
  width: 100%;
}
.pagination > li {
  align-items: center;
  display: flex;
  margin-top: 2.5rem;
}
@media (min-width: 768px) {
  .pagination > li {
    margin-top: 5rem;
  }
}
.pagination__item {
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid #ebebeb;
  border-radius: 0.25rem;
  background: transparent;
  margin: 0 0.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pagination__item:hover {
  border-color: #d6d6d6;
}
.pagination__item span {
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 500;
  color: #1f1f1f;
}
.pagination__item svg path {
  fill: #999999;
}
.pagination__item-active {
  background: #6c43bf;
  border-color: #6c43bf;
}
.pagination__item-active:hover {
  border-color: #6c43bf;
}
.pagination__item-active span {
  color: #ffffff;
}
.pagination__separator {
  border: none;
  pointer-events: none;
}
.tags__title {
  font-size: 1.25rem;
  line-height: 1.875rem;
  font-weight: 700;
}
@media (min-width: 768px) {
  .tags__title {
    font-size: 1.5rem;
  }
}
@media (min-width: 768px) {
  .tags__title {
    line-height: 2.25rem;
  }
}
.tags__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1.5rem;
}
@media (min-width: 768px) {
  .tags__list {
    margin-top: 2rem;
  }
}
.tags__list-item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  background-color: #ebebeb;
}
.tags__list-item:hover {
  background-color: #dddddd;
}
.tags__list-item span {
  color: #5c5c5c;
  font-size: 0.875rem;
  line-height: 1.3125rem;
  font-weight: 500;
}
@media (min-width: 768px) {
  .tags__list-item span {
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 500;
  }
}
@media (min-width: 768px) {
  .promoted-items {
    margin-top: 2.5rem !important;
  }
}
@media (max-width: 767px) {
  .promoted-items__item:not(:last-of-type) {
    margin-bottom: 1rem;
  }
}
@media (min-width: 768px) {
  .promoted-items .v-image-card {
    padding-bottom: 94%;
  }
}
@media (min-width: 768px) {
  .promoted-items .v-image-card__image {
    height: calc(54% - 2rem);
  }
}
@media (min-width: 768px) {
  .promoted-items .v-image-card__detail {
    top: 54%;
  }
}
.promoted-items .v-image-card__title {
  font-size: 1.125rem;
  line-height: 1.6875rem;
  font-weight: 700;
}
@media (min-width: 768px) {
  .promoted-items .v-image-card__title {
    font-size: 1.25rem;
  }
}
@media (min-width: 768px) {
  .promoted-items .v-image-card__title {
    line-height: 1.875rem;
  }
}
.promoted-items .v-image-card__description {
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 500;
  color: #1f1f1f;
  margin-top: 0.5rem;
}
@media (min-width: 768px) {
  .promoted-items .v-image-card__description {
    margin-top: 1rem;
  }
}
.promoted-items .v-image-card__link {
  margin-top: 0.5rem;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 500;
}
@media (min-width: 768px) {
  .promoted-items .v-image-card__link {
    margin-top: 1rem;
  }
}
@media (min-width: 768px) {
  .pe-home__article-list-section {
    margin-top: 0.75rem;
  }
}
.pe-home__article-list {
  margin-top: 1.5rem;
}
@media (min-width: 768px) {
  .pe-home__article-list {
    margin-top: 2rem;
  }
}
.pe-home__tags,
.pe-home__promoted-items,
.pe-home__seo-module {
  margin-top: 2.5rem;
}
@media (min-width: 768px) {
  .pe-home__tags,
  .pe-home__promoted-items,
  .pe-home__seo-module {
    margin-top: 5rem;
  }
}
.seo-module__more-link {
  margin: 1.5rem 0 0;
}
.seo-module__more-link svg {
  transform: rotate(180deg);
  transition: 0.2s all;
}
.seo-module__content {
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  color: #707070;
}
.seo-module__content--collapsed + .seo-module__more-link svg {
  transform: rotate(0);
  transition: 0.2s all;
}
