@charset "UTF-8";

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-bottom: 0;
}

dd,
ol {
  margin-bottom: 0;
}

.p-container {
  width: 100%;
  max-width: 960px;
  padding: .5rem .5rem 1.25rem;
  margin-inline: auto;

  @media (min-width: 768px) {
    padding-top: 3rem;
  }
}

.l-wrapper {
  max-width: 800px;
  margin-inline: auto;
}

.p-header {
  background-color: #295cba;
  color: #fff;
}

.p-header__inner {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  max-width: 964px;
  padding: .75rem .5rem;
  margin-inline: auto;

  @media (min-width: 768px) {
    padding-block: 1rem;
  }
}

.p-header__logo {
  width: 42px;
  height: 27px;

  @media (min-width: 768px) {
    width: 82px;
    height: 54px;
  }
}

.p-page-title {
  font-size: inherit;

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

.p-card {
  padding: 1rem 1rem 3rem;

  @media (min-width: 768px) {
    padding: 2rem 5rem 5rem;
  }

  &.p-card--useful {
    @media (min-width: 768px) {
      padding: 5rem;
    }
  }

  &.p-card--index {
    padding-bottom: 1rem;

    @media (min-width: 768px) {
      padding: 3rem;
    }
  }
}

.p-main-visual {
  position: relative;

  @media (min-width: 768px) {
    margin-top: 34px;
  }
}

.p-issue-label {
  position: absolute;
  top: 0;
  left: 10px;
  padding: .5rem 1rem;
  background-color: #0941a7;
  color: #fff;
  font-family: 'Roboto';
  text-align: center;
  line-height: 1.4;
  z-index: 1;

  @media (min-width: 768px) {
    top: -34px;
    left: 22px;
    padding: 1.125rem 2.375rem;
  }
}

.p-issue-label--position-adjust {
  right: 10px;
  left: inherit;

  @media (min-width: 768px) {
    right: 22px;
  }
}

.p-issue-label__inner {
  &:last-child {
    border-top: 1px dashed #fff;
    padding-top: 2px;

    @media (min-width: 768px) {
      padding-top: 5px;
    }
  }
}

.p-issue-label__title {
  font-size: 8px;
  font-weight: bold;

  @media (min-width: 768px) {
    font-size: 13px;
  }
}

.p-issue-label__date {
  font-size: 16px;

  @media (min-width: 768px) {
    font-size: 30px;
  }
}

.p-issue-label__publisher {
  font-size: 6px;

  @media (min-width: 768px) {
    font-size: 10px;
  }
}

.p-content {
  margin-bottom: 0;

  & + & {
    margin-top: 1rem;

    @media (min-width: 768px) {
      margin-top: 2.5rem;
    }
  }

  &:is(.p-heading-primary + *) {
    margin-top: 1rem;

    @media (min-width: 768px) {
      margin-top: 1.5rem;
    }
  }
}

.p-content__item {

  &:has(img) {
    display: grid;
  }

}

.p-intro-content {
  margin-bottom: 2.5rem;

  @media (min-width: 768px) {
    margin-bottom: 4rem;
  }
}

.p-large-section {
  & + & {
    margin-top: 2.5rem;

    @media (min-width: 768px) {
      margin-top: 4rem;
    }
  }

  > * + * {
    margin-top: 1.5rem;
  }
}

.p-section__item {

  & + & {
    margin-top: 1rem;
  }

  &:has(img) {
    display: flex;
    flex-direction: column;
    gap: 1rem;

    @media (min-width: 768px) {
      flex-direction: row;
    }
  }
}

.p-section__item--img-adjust-column {
  &:has(img) {
    flex-direction: column-reverse;

    @media (min-width: 768px) {
      flex-direction: row;
    }
  }
}

.p-section__item--img-adjust-row {
  &:has(img) {
    @media (min-width: 768px) {
      flex-direction: row-reverse;
    }
  }
}

.p-section__item--img-adjust-bottom {
  @media (min-width: 768px) {
    align-items: flex-end;
  }
}

.p-img-webp {
  @media (min-width: 768px) {
      height: fit-content;
      width: 20.5rem;
    }
}

.p-heading-primary {
  padding-bottom: .5rem;
  border-bottom: 2px solid #222;
}

.p-heading-secondary {
  font-weight: bold;
  line-height: 1.8;
}

.p-large-section__inner {
  > * + * {
    margin-top: 1.5rem;

    @media (min-width: 768px) {
      margin-top: 2.5rem;
    }
  }
}

.p-list-link {
  border: 1px solid #ccc;
  border-radius: 4px;
}

.p-list-link__item {
  position: relative;
  border-radius: .25rem;
  padding-right: 2rem;
  cursor: pointer;
}

.p-conversation-link {
  border-color: #707070;

  @media (min-width: 768px) {
    max-width: 450px;
    margin-inline: auto;
  }
}

.p-conversation-link__sub {
  font-size: 12px;
  font-weight: normal;
}

.p-conversation-link__title {
  font-weight: bold;
  margin-bottom: 0;
}

.p-responsive-table {
  border: 1px solid #ccc;

  * {
    font-weight: normal;
  }
}

.p-responsive-table__row {
  & + & {
    border-top: 1px solid #ccc;
  }

  > * + * {
    border-top: 1px solid #ccc;

    @media (min-width: 768px) {
      border-top: none;
      border-left: 1px solid #ccc;
    }
  }

  > * {
    padding: .625rem;
  }

  @media (min-width: 768px) {
    display: flex;
    width: 100%;
  }
}

.p-responsive-table__heading {
  background-color: #e7f0f7;

  @media (min-width: 768px) {
    width: 30%;
  }
}

.p-responsive-table__data {
  @media (min-width: 768px) {
    width: 70%;
  }
}

.p-contact {
  border: 1px solid #ccc;
  padding: 1rem;

  > * + * {
    margin-top: 1rem;

    @media (min-width: 768px) {
      border-left: 1px solid #ccc;
      padding-left: 2rem;
      margin-top: 0;
    }
  }

  @media (min-width: 768px) {
    display: flex;
    gap: 2rem;
    padding: 1.5rem 2rem;
  }
}

.p-contact__heading {
  font-size: 18px;
  font-weight: bold;
}

.p-contact__item {
  width: 100%;
}

.p-contact-logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.p-contact-list {

  @media (min-width: 768px) {
    display: flex;
    flex-wrap: wrap;
    column-gap: 1rem;
    width: 100%;
  }
}

.p-contact-list__title {
  @media (min-width: 768px) {
    width: calc(25% - 1rem);
    min-width: 120px;
  }
}

.p-contact-list__data {
  @media (min-width: 768px) {
    width: 75%;
  }
}

.p-ol-list-brackets {
  padding-left: 0;
}

.p-ol-list-brackets__item {
  position: relative;
  margin-left: 30px;
  list-style-type: none;
  list-style-position: inside;
  counter-increment: cnt;

  &::before {
    position: absolute;
    left: 0;
    margin-left: -34px;
    content: "（" counter(cnt) "）";
  }

  &:has(.p-content) {
    & + & {
      margin-top: 1rem;
    }

    > * + .p-content {
      margin-top: .5rem;
    }
  }
}

.p-button {
  width: 100%;

  @media (min-width: 768px) {
    max-width: 360px;
  }
}

.p-footer {
  padding: 1rem;
}

.p-copyright {
  font-size: 13px;
  text-align: center;
}

@media print {
  body {
    zoom: 0.65;
  }

  .p-print-none {
    display: none;
  }

  .u-print-page-break {
    break-before: page;
    page-break-before: always;
  }

  .p-container {
    max-width: 90%;
    padding-block: 3rem;
  }

  .p-card {
    padding: 3rem;
  }

  .wdb-l-navigation,
  .wdb-page-head,
  .wdb-breadcrumb,
  .wdb-foot-navidation,
  #page_top {
    display: none;
  }

  .wdb-global-footer {
    border: 0 !important;
  }
}

.p-useful-link {
  display: flex;
  align-items: center;
  padding: .5rem 2rem .5rem .5rem;

  &:has(img) {
    gap: .5rem;
  }
}

.p-useful-link__img {
  width: 80px;
  height: 80px;
  aspect-ratio: 1 / 1;
}

.p-useful-link__date {
  color: #999;
  font-size: 12px;

  /* 打消し用 */
  font-weight: normal;
}

.p-catch-button-group {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;

  @media (min-width: 768px) {
    flex-direction: row;
    max-width: 700px;
    margin-inline: auto;
  }

  /* 打消し用 */
  .btn-block + .btn-block {
    margin-top: 0;
  }
}

.p-catch-content {
  border: 1px solid #ccc;
  padding: 2rem 1rem;
}

.p-catch-content__item {
  & + & {
    margin-top: 1.5rem;
  }
}

.p-catch-content__title {
  color: #a48e75;
  font-size: min(6vw, 24px);
  font-weight: bold;
  text-align: center;
}

.p-catch-content__sub-title {
  font-size: min(4vw, 16px);
  font-weight: bold;
  text-align: center;
}

.p-strength-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(.5rem, 2vw, 2.5rem);

  @media (min-width: 768px) {
    max-width: 700px;
    margin-inline: auto;
  }
}

.p-strength-circle {
  position: relative;
  border-radius: 100vmax;
  width: 100%;
  padding-top: 100%; /* 幅に対して高さを100%にする = 正方形 */
  background-color: #e7f0f7;
}

.p-strength {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.p-strength__icon {
  aspect-ratio: 1 / 1;
  width: clamp(24px, 7vw, 50px);
  max-width: 35px;
  height: auto;

  @media (min-width: 768px) {
    max-width: 80px;
  }
}

.p-strength__text {
  font-size: clamp(12px, 3vw, 24px);
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
}

.p-strength__sub-text {
  color: #001752;
  font-size: clamp(9px, 2vw, 16px);
}

.p-text-highlight {
  background: linear-gradient(transparent 60%, rgba(102, 149, 213, .15) 60%);
  color: #f67e28;
  font-weight: bold;
}
