@charset "UTF-8";

      .knowledge-page {
        position: relative;
        overflow: hidden;
        padding-top: var(--header-h);
      }

      .knowledge-page::before,
      .knowledge-page::after {
        content: "";
        position: absolute;
        border-radius: 50%;
        filter: blur(100px);
        pointer-events: none;
        z-index: -1;
      }

      .knowledge-page::before {
        width: 520px;
        height: 520px;
        top: 60px;
        right: -180px;
        background: rgba(124, 168, 247, 0.16);
      }

      .knowledge-page::after {
        width: 420px;
        height: 420px;
        top: 420px;
        left: -180px;
        background: rgba(255, 222, 233, 0.34);
      }

      .knowledge-hero {
        padding: 112px 0 76px;
      }

      .knowledge-hero__inner {
        max-width: auto;
      }

      .knowledge-eyebrow {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        margin: 0 0 20px;
        color: var(--accent);
        font-size: 0.78rem;
        font-weight: 700;
        letter-spacing: 0.22em;
        text-transform: uppercase;
      }

      .knowledge-eyebrow::before {
        content: "";
        width: 28px;
        height: 1px;
        background: currentColor;
      }

      .knowledge-hero h1 {
        margin: 0;
        font-size: clamp(2.35rem, 5.6vw, 5.1rem);
        font-weight: 500;
        line-height: 1.22;
        letter-spacing: 0.03em;
        color: #183565;
      }

      .knowledge-hero__lead {
        max-width: 760px;
        margin: 28px 0 0;
        color: rgba(58, 71, 80, 0.82);
        font-size: clamp(1rem, 1.4vw, 1.12rem);
        line-height: 2;
      }

      .knowledge-search-wrap {
        padding: 0 0 40px;
      }

      .knowledge-search {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 12px;
        padding: 10px;
        border: 1px solid rgba(124, 168, 247, 0.18);
        border-radius: 24px;
        background: rgba(255, 255, 255, 0.72);
        box-shadow: 0 18px 60px rgba(91, 131, 200, 0.12);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
      }

      .knowledge-search label {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
      }

      .knowledge-search input {
        width: 100%;
        min-width: 0;
        border: 0;
        outline: 0;
        background: transparent;
        color: var(--text);
        padding: 14px 18px;
        font: inherit;
      }

      .knowledge-search input::placeholder {
        color: rgba(58, 71, 80, 0.42);
      }

      .knowledge-search__button {
        border: 1px solid rgba(92, 137, 211, 0.32);
        border-radius: 16px;
        padding: 12px 22px;
        background: linear-gradient(135deg, #edf5ff, #f7f2ff);
        color: #254b82;
        font: inherit;
        font-weight: 700;
        cursor: pointer;
        transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
      }

      .knowledge-search__button:hover {
        border-color: rgba(70, 116, 190, 0.48);
        background: linear-gradient(135deg, #dfedff, #eee7ff);
        transform: translateY(-1px);
      }

      .knowledge-filter {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        margin: 20px 0 0;
      }

      .knowledge-filter button {
        border: 1px solid rgba(58, 71, 80, 0.14);
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.7);
        padding: 9px 15px;
        color: rgba(58, 71, 80, 0.78);
        font: inherit;
        font-size: 0.84rem;
        cursor: pointer;
        transition: 0.2s ease;
      }

      .knowledge-filter button:hover,
      .knowledge-filter button.is-active {
        border-color: rgba(124, 168, 247, 0.5);
        background: rgba(124, 168, 247, 0.11);
        color: #315b96;
      }

      .knowledge-main {
        padding: 34px 0 110px;
      }

      .knowledge-section-head {
        display: flex;
        align-items: end;
        justify-content: space-between;
        gap: 24px;
        margin-bottom: 28px;
      }

      .knowledge-section-head h2 {
        margin: 0;
        font-size: clamp(1.55rem, 3vw, 2.3rem);
        line-height: 1.35;
        color: #183565;
      }

      .knowledge-section-head p {
        margin: 0;
        color: var(--muted);
        font-size: 0.9rem;
      }

      .knowledge-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 20px;
      }

      .knowledge-card {
        position: relative;
        display: flex;
        flex-direction: column;
        min-height: 330px;
        padding: 28px;
        border: 1px solid rgba(124, 168, 247, 0.16);
        border-radius: 26px;
        background:
          radial-gradient(circle at 88% 10%, rgba(124, 168, 247, 0.12), transparent 34%),
          rgba(255, 255, 255, 0.72);
        box-shadow: 0 18px 60px rgba(91, 131, 200, 0.1);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
        transition: transform 0.25s ease, box-shadow 0.25s ease;
      }

      .knowledge-card[hidden] {
        display: none;
      }

      @media (hover: hover) and (pointer: fine) {
        .knowledge-card:hover {
          transform: translateY(-5px);
          box-shadow: 0 24px 70px rgba(91, 131, 200, 0.16);
        }
      }

      .knowledge-card__meta {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        margin-bottom: 22px;
      }

      .knowledge-card__category {
        display: inline-flex;
        align-items: center;
        width: fit-content;
        border-radius: 999px;
        padding: 6px 11px;
        background: rgba(124, 168, 247, 0.1);
        color: #4770aa;
        font-size: 0.76rem;
        font-weight: 700;
      }

      .knowledge-card__status {
        color: rgba(58, 71, 80, 0.42);
        font-size: 0.72rem;
      }

      .knowledge-card h3 {
        margin: 0;
        color: #183565;
        font-size: 1.24rem;
        line-height: 1.65;
      }

      .knowledge-card__answer {
        margin: 18px 0 0;
        color: rgba(58, 71, 80, 0.76);
        font-size: 0.92rem;
        line-height: 1.9;
      }

      .knowledge-card__foot {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        margin-top: auto;
        padding-top: 24px;
        color: rgba(58, 71, 80, 0.52);
        font-size: 0.78rem;
      }

      .knowledge-card__arrow {
        display: grid;
        place-items: center;
        width: 38px;
        height: 38px;
        border: 1px solid rgba(58, 71, 80, 0.16);
        border-radius: 50%;
        color: #315b96;
        font-size: 1rem;
      }

      .knowledge-card__link {
        position: absolute;
        z-index: 2;
        inset: 0;
        border-radius: inherit;
      }

      .knowledge-card:focus-within {
        outline: 3px solid rgba(112, 157, 240, 0.55);
        outline-offset: 4px;
      }

      .knowledge-article {
        padding: 148px 0 96px;
        background:
          radial-gradient(circle at 88% 0%, rgba(175, 205, 255, 0.28), transparent 28rem),
          #f8f9fd;
      }

      .knowledge-article__inner {
        max-width: auto;
      }

      .knowledge-breadcrumb {
        margin: 0 0 28px;
        color: rgba(58, 71, 80, 0.64);
        font-size: 0.85rem;
      }

      .knowledge-breadcrumb a {
        color: inherit;
        text-decoration: none;
      }

      .knowledge-article__header {
        padding: 42px;
        border: 1px solid rgba(126, 163, 223, 0.24);
        border-radius: 28px;
        background: rgba(255, 255, 255, 0.8);
        box-shadow: 0 18px 56px rgba(80, 112, 166, 0.1);
      }

      .knowledge-article__header h1 {
        margin: 14px 0 0;
        color: #183565;
        font-size: clamp(1.8rem, 4vw, 2.75rem);
        line-height: 1.45;
      }

      .knowledge-article__meta {
        margin: 18px 0 0;
        color: rgba(37, 57, 88, 0.66);
        font-size: 0.82rem;
        line-height: 1.7;
      }

      .knowledge-conclusion {
        margin-top: 30px;
        padding: 24px 26px;
        border-left: 4px solid #7ca8f7;
        border-radius: 0 16px 16px 0;
        background: linear-gradient(135deg, rgba(224, 239, 255, 0.9), rgba(249, 244, 255, 0.9));
      }

      .knowledge-conclusion strong {
        display: block;
        margin-bottom: 8px;
        color: #183565;
      }

      .knowledge-article__body {
        margin-top: 34px;
        padding: 8px 42px 42px;
        border-radius: 28px;
        background: #fff;
        box-shadow: 0 18px 56px rgba(80, 112, 166, 0.08);
      }

      .knowledge-article__body section {
        padding: 30px 0;
        border-bottom: 1px solid rgba(126, 163, 223, 0.2);
      }

      .knowledge-article__body section:last-child { border-bottom: 0; }

      .knowledge-article__body h2 {
        margin: 0 0 14px;
        color: #183565;
        font-size: 1.28rem;
      }

      .knowledge-article__body h2:has(+ .knowledge-related)::after {
        content: "あわせて読みたい内容";
        display: block;
        margin-top: 5px;
        color: rgba(37, 57, 88, 0.54);
        font-size: 0.78rem;
        font-weight: 400;
      }

      .knowledge-article__body p,
      .knowledge-article__body li {
        color: rgba(37, 57, 88, 0.84);
        line-height: 1.95;
      }

      .knowledge-article__auribeo {
        margin: 22px 0 0;
        padding: 18px 20px;
        border-radius: 14px;
        background: rgba(225, 237, 255, 0.72);
      }

      .knowledge-article__auribeo > strong {
        display: block;
        margin-bottom: 12px;
        color: #183565;
      }

      .knowledge-article__auribeo p {
        margin: 0 0 12px;
      }

      .knowledge-article__auribeo p:last-child { margin-bottom: 0; }

      .knowledge-article__body ul,
      .knowledge-article__body ol { padding-left: 1.4em; }

      .knowledge-related {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
        padding: 0;
        list-style: none;
      }

      .knowledge-related a {
        position: relative;
        display: block;
        min-height: 132px;
        padding: 42px 42px 18px 18px;
        border: 1px solid rgba(90, 119, 164, 0.14);
        border-radius: 14px;
        background: rgba(255, 255, 255, 0.9);
        color: #183565;
        font-size: 0.92rem;
        font-weight: 500;
        line-height: 1.65;
        text-decoration: none;
        transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
      }

      .knowledge-related a::before {
        content: "関連情報";
        position: absolute;
        top: 15px;
        left: 18px;
        padding: 0;
        color: #6a8fc8;
        font-size: 0.7rem;
        font-weight: 700;
        letter-spacing: 0.04em;
      }

      .knowledge-related a[href$="cannot-contact-production-company.html"]::before,
      .knowledge-related a[href$="take-over-existing-website.html"]::before { content: "制作・改修"; }
      .knowledge-related a[href$="website-handover-checklist.html"]::before { content: "保守・運用"; }
      .knowledge-related a[href$="wordpress-update-necessary.html"]::before { content: "セキュリティ"; }
      .knowledge-related a[href$="ga4-measurement-basics.html"]::before { content: "アクセス解析"; }
      .knowledge-related a[href$="aio-content-strategy.html"]::before { content: "AI・AIO"; }

      .knowledge-related a::after {
        content: "→";
        position: absolute;
        right: 16px;
        bottom: 14px;
        color: #5e87c5;
        font-size: 1.2rem;
      }

      .knowledge-related a:hover {
        border-color: rgba(92, 137, 211, 0.3);
        box-shadow: 0 10px 22px rgba(80, 112, 166, 0.1);
        transform: translateY(-2px);
      }

      @media (max-width: 600px) {
        .knowledge-related { grid-template-columns: 1fr; }
      }

      .knowledge-consult {
        margin-top: 34px;
        padding: 28px;
        border-radius: 20px;
        border: 1px solid rgba(126, 163, 223, 0.3);
        background:
          linear-gradient(135deg, rgba(231, 241, 255, 0.92), rgba(249, 245, 255, 0.94));
        color: #183565;
      }

      .knowledge-consult h2,
      .knowledge-consult p { color: #183565; }

      .knowledge-consult .btn {
        margin-top: 10px;
        border: 1px solid #183565;
        background: #183565;
        color: #fff;
        box-shadow: 0 10px 24px rgba(24, 53, 101, 0.16);
      }

      .knowledge-consult .btn:hover {
        background: #254b82;
        color: #fff;
      }

      .knowledge-consult .btn::after {
        content: "→";
        margin-left: 14px;
      }

      .knowledge-article__back {
        width: min(90vw, var(--container));
        margin: 26px auto 0;
        padding: 0 var(--gutter);
        text-align: right;
      }

      .knowledge-article__back a {
        color: #315b96;
        font-size: 0.9rem;
        text-decoration: none;
      }

      .knowledge-article__back a:hover { text-decoration: underline; }

      .knowledge-index__back {
        width: auto;
        margin: 26px 0 0;
        padding: 0;
      }

      @media (max-width: 700px) {
        .knowledge-article { padding: 116px 0 64px; }
        .knowledge-article__header,
        .knowledge-article__body { padding-left: 24px; padding-right: 24px; border-radius: 20px; }
      }

      .knowledge-empty {
        display: none;
        padding: 48px 24px;
        text-align: center;
        color: var(--muted);
        border: 1px dashed rgba(58, 71, 80, 0.14);
        border-radius: 24px;
      }

      .knowledge-empty.is-visible {
        display: block;
      }

      .knowledge-note {
        margin-top: 72px;
        padding: 38px;
        border: 1px solid rgba(124, 168, 247, 0.15);
        border-radius: 28px;
        background: rgba(255, 255, 255, 0.64);
      }

      .knowledge-note h2 {
        margin: 0 0 12px;
        color: #183565;
        font-size: 1.35rem;
      }

      .knowledge-note p {
        margin: 0;
        color: rgba(58, 71, 80, 0.72);
        line-height: 1.9;
      }

      .knowledge-cta {
        padding: 0 0 110px;
      }

      .knowledge-cta__box {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 30px;
        padding: 44px;
        border-radius: 30px;
        color: #fff;
        background:
          radial-gradient(circle at 84% 18%, rgba(164, 195, 255, 0.34), transparent 28%),
          linear-gradient(135deg, #7ca8f7 0%, #44608b 100%);
        box-shadow: 0 26px 80px rgba(23, 38, 58, 0.18);
      }

      .knowledge-cta__box h2 {
        margin: 0;
        font-size: clamp(1.45rem, 3vw, 2.15rem);
      }

      .knowledge-cta__box p {
        margin: 12px 0 0;
        color: rgba(255, 255, 255, 0.72);
        line-height: 1.8;
      }

      .knowledge-cta__button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 12px;
        min-width: 170px;
        padding: 14px 22px;
        border-radius: 999px;
        background: #fff;
        color: #17263a;
        font-weight: 700;
      }

      @media (max-width: 920px) {
        .knowledge-grid {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }
      }

      @media (max-width: 680px) {
        .knowledge-hero {
          padding: 84px 0 54px;
        }

        .knowledge-search {
          grid-template-columns: 1fr;
        }

        .knowledge-search__button {
          width: 100%;
        }

        .knowledge-section-head {
          align-items: flex-start;
          flex-direction: column;
        }

        .knowledge-grid {
          grid-template-columns: 1fr;
        }

        .knowledge-card {
          min-height: 0;
        }

        .knowledge-note {
          padding: 28px 22px;
        }

        .knowledge-cta__box {
          grid-template-columns: 1fr;
          padding: 34px 24px;
        }

        .knowledge-cta__button {
          width: 100%;
        }
      }
