@layer page {
  .theme-content {
    padding-top: 5rem;
  }
  @media screen and (max-width: 767px) {
    .theme-content {
      padding-top: 10.6666666667vw;
    }
  }
  .theme-page-nav {
    margin-top: 4.0625rem;
  }
  @media screen and (min-width: 768px) {
    .theme-page-nav {
      display: grid;
      grid-template-columns: repeat(3, 18.75rem);
      justify-content: center;
      gap: 1.25rem;
    }
  }
  @media screen and (max-width: 767px) {
    .theme-page-nav {
      display: flex;
      flex-direction: column;
      gap: 2.6666666667vw;
      width: 73.3333333333vw;
      margin: 6.6666666667vw auto 0 auto;
    }
  }
  .theme-page-nav .p-icon-arrowb {
    position: absolute;
    top: 50%;
    right: 1.625rem;
    transform: translateX(-50%);
  }
  .theme-copy {
    color: var(--accent);
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.25rem;
    font-size: 2rem;
    margin: 0rem 0 1.875rem 0;
    line-height: 1.2;
  }
  @media screen and (max-width: 767px) {
    .theme-copy {
      margin: 0 0 3.4666666667vw 0;
      font-size: 5.6vw;
      gap: 1.3333333333vw;
    }
  }
  .theme-copy dt {
    font-size: 1.25rem;
    width: 11.25rem;
    border: 1px solid var(--accent);
    border-radius: 6.25rem;
    padding: 0.75rem 0;
    text-align: center;
  }
  @media screen and (max-width: 767px) {
    .theme-copy dt {
      width: 26.6666666667vw;
      padding: 1.6vw 0;
      font-size: 3.7333333333vw;
    }
  }
  .theme-copy dd {
    font-weight: var(--bold);
  }
  .theme-text {
    line-height: 2;
  }
  .theme-sec-a {
    border-radius: 1.875rem;
    background: #F5F7F7;
    padding: 2.5rem 2.5rem;
  }
  .theme-sec {
    border-radius: 3.75rem;
    background: #fff;
    box-shadow: 4px 6px 20px rgba(0, 0, 0, 0.16);
    margin-top: 4.375rem;
    padding: 3.75rem 3.5rem;
    width: 67.5rem;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
  }
  @media screen and (max-width: 767px) {
    .theme-sec {
      margin-top: 12vw;
      padding: 8vw 4vw;
      border-radius: 8vw;
    }
  }
  .theme-sec + .theme-sec {
    margin-top: 3.75rem;
  }
  .theme-sec__text {
    margin: 1.25rem 0;
  }
  .theme-sec__text a {
    color: #399AC9;
    text-decoration: underline;
  }
  @media (hover: hover) {
    .theme-sec__text a:hover {
      text-decoration: none;
    }
  }
  .theme-sec__text b {
    color: var(--accent);
  }
  .theme-sec__wbtn {
    margin-top: 2.875rem;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.25rem;
  }
  .theme-sec__wbtn .c-btn {
    font-size: 1.125rem;
    width: 18.75rem;
    padding-top: 1.625rem;
    padding-bottom: 1.625rem;
  }
  @media screen and (max-width: 767px) {
    .theme-sec__wbtn .c-btn {
      width: 100%;
    }
  }
  .theme-sec__wbtn .c-btn .c-icon {
    position: absolute;
    right: 1.5625rem;
    top: 50%;
    transform: translateY(-50%);
  }
  .theme-sec__wbtn .p-btn-app .c-icon {
    width: 1.125rem;
  }
  .theme-info {
    margin-top: 2.5rem;
  }
  @media screen and (min-width: 768px) {
    .theme-info__row {
      display: grid;
      grid-template-columns: 10rem 1fr;
      align-items: center;
      padding: 1.75rem 0;
      border-top: 1px dotted #9BA1A4;
    }
  }
  .theme-info__label {
    color: var(--accent);
    font-size: 1.25rem;
    font-weight: var(--bold);
  }
  @media screen and (max-width: 767px) {
    .theme-info__label {
      position: relative;
      font-size: 3.7333333333vw;
      padding: 4vw 0;
      border-bottom: 1px dotted #9BA1A4;
    }
  }
  @media screen and (max-width: 767px) {
    .theme-info__label::before {
      content: "";
      display: block;
      height: 2px;
      width: 100%;
      background: var(--accent);
      border-radius: 0.625rem;
      position: absolute;
      left: 0;
      top: 0;
    }
  }
  .theme-info__slabel {
    color: var(--accent);
    font-weight: var(--bold);
    border: 1px solid var(--accent);
    border-radius: 0.375rem;
    padding: 0.375rem 0.875rem;
    margin-bottom: 1rem;
  }
  * + .theme-info__slabel {
    margin-top: 1.875rem;
  }
  .theme-info__content {
    position: relative;
  }
  @media screen and (min-width: 768px) {
    .theme-info__content {
      padding: 0.625rem 0.625rem 0.625rem 2.5rem;
    }
  }
  @media screen and (max-width: 767px) {
    .theme-info__content {
      padding: 3.7333333333vw 0 5.3333333333vw 0;
    }
  }
  @media screen and (min-width: 768px) {
    .theme-info__content::before {
      content: "";
      display: block;
      width: 4px;
      height: 100%;
      background: var(--accent);
      border-radius: 0.625rem;
      position: absolute;
      left: 0;
      top: 0;
    }
  }
  .theme-info__content a {
    color: #399AC9;
    text-decoration: underline;
  }
  @media (hover: hover) {
    .theme-info__content a:hover {
      text-decoration: none;
    }
  }
  .theme-info__content b {
    color: var(--accent);
  }
  .theme-info-a {
    margin-top: 1.25rem;
  }
  .theme-info-a__row {
    display: grid;
    grid-template-columns: 6.25rem 1fr;
    align-items: center;
    padding: 1.25rem 0;
    border-top: 1px dotted #9BA1A4;
  }
  @media screen and (max-width: 767px) {
    .theme-info-a__row {
      align-items: flex-start;
      grid-template-columns: 13.3333333333vw 1fr;
    }
  }
  .theme-info-a__label {
    color: var(--accent);
    font-weight: var(--bold);
    position: relative;
  }
  @media screen and (max-width: 767px) {
    .theme-info-a__label {
      margin-top: 1.3333333333vw;
    }
  }
  .theme-info-a__label::before {
    content: "";
    display: block;
    width: 2px;
    height: 100%;
    background: var(--accent);
    border-radius: 0.625rem;
    position: absolute;
    right: 0;
    top: 0;
  }
  .theme-info-a__content {
    padding: 0 0 0 1.75rem;
  }
  @media screen and (max-width: 767px) {
    .theme-info-a__content {
      padding-left: 4vw;
    }
  }
  .theme-info-a__content a:not(.c-btn) {
    color: #399AC9;
    text-decoration: underline;
  }
  @medi :not(.c-btn)(hover: hover) {
    .theme-info-a__content a:not(.c-btn):hover {
      text-decoration: none;
    }
  }
  .theme-info-a__content b {
    color: var(--accent);
  }
}