/* 240428-style_v1-03.css */


/* 240501-style_v1-10.css */

@font-face {
    font-family: 'Din1451Alt';
    src: url('../fonts/din1451alt.ttf') format('truetype');
    font-display: swap;
}

@font-face {
    font-family: 'Ubuntu';
    src: url('../fonts/Ubuntu-Regular.ttf') format('truetype');
    font-display: swap;
    font-weight: normal;
}

@font-face {
    font-family: 'Ubuntu';
    src: url('../fonts/Ubuntu-Bold.ttf') format('truetype');
    font-display: swap;
    font-weight: bold;
}

 :root {
    --font-din: 'Din1451Alt', sans-serif;
    --common-margin: 20px;
}


/* v3-17からCSS再編 
   v3-19からCSS分離
*/


/* スタイルのリセットと基本設定 */

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}


/* ベースとタイポグラフィのスタイル */

html,
body {
    padding: 0;
    margin: 0;
    font-family: Arial, sans-serif;
}


/* グローバルカラー設定 */

:root {
    --primary-color: #0044cc;
    --secondary-color: #0066ff;
    --logo-main-color: #C13A16;
    --logo-sub-color: #DB3305;
    --logo-main-changeable-color: #C13A16;
    --logo-sub-changeable-color: #DB3305;
    --special-section-changeable-color: #E6E6E6;
    --kabocy-color-collection-dark-blue: #005a9c;
    --text-absolute-difference-color: #000;
    --supplement-background-color: #f8f6fb;
    --font-family-product-name: "Ubuntu variable", "Ubuntu", "Noto Sans JP", -apple-system, "Segoe UI", sans-serif;
    --font-family-site-logo: "Ubuntu variable", "Ubuntu", "Noto Sans JP", -apple-system, "Segoe UI", sans-serif;
}


/* ライトモードのスタイル */

body[data-theme="light"],
body {
    background-color: #fff;
    color: #333;
    --logo-main-changeable-color: #C13A16;
    --logo-sub-changeable-color: #DB3305;
    --special-section-changeable-color: #E6E6E6;
    --supplement-background-color: #f8f6fb;
    /* その他のスタイル */
    --main-text: #23130C;
    --main-bg: #fff;
    --side-bg: #B3B3B310;
    --post-link: #1b6baf;
    --post-link-hover: #0D3353;
    --post-link-underline: #0002;
    --post-link-underline-hover: #0008;
    --post--background: #fdfdfd;
    --important-section: #2E9EFF;
    --footer-color-1: rgb(140, 224, 233);
    --footer-color-2: rgb(19, 105, 173);
    --guide--toc--head--active: #f0efed;
    --guide--toc--head--passive: #e8e7e5;
    --guide--toc--boder--active: rgba(0, 0, 0, .35);
    --guide--toc--boder--passive: rgba(0, 0, 0, .28);
    --guide--toc--shadow--active: 0px 6px 18px 0px;
    --guide--toc--shadow--passive: 0px 3px 9px 0px;
    --guide--toc--body: #fcfcfc;
    --guide--toc--menu--name--active: #484747;
    --guide--toc--menu--name--passive: #a8a7a5;
}


/* ダークモードのスタイル */

body[data-theme="dark"] {
    background-color: #333;
    color: #fff;
    --logo-main-changeable-color: #5F5F5F;
    --logo-sub-changeable-color: #6E6E6E;
    --special-section-changeable-color: #191919;
    --text-absolute-difference-color: #fff;
    --fix-dark-01: #434343;
    --supplement-background-color: #333;
    /*#393539*/
    /* その他のダークモードスタイル */
    --main-text: #FBFBFB;
    --main-bg: #1E1B1B;
    --side-bg: #ffffff10;
    --post-link: #2c9eff;
    --post-link-hover: #8ECCFF;
    --post-link-underline: #fff2;
    --post-link-underline-hover: #fff8;
    --post--background: #2a2926;
    --important-section: #00000085;
    --footer-color-1: rgba(57, 57, 57, 0.5);
    --footer-color-2: rgba(0, 0, 0, 0.5);
    --guide--toc--head--active: #383736;
    --guide--toc--head--passive: #2b2a26;
    --guide--toc--boder--active: rgba(0, 0, 0, .89);
    --guide--toc--boder--passive: rgba(0, 0, 0, .97);
    --guide--toc--shadow--active: 0px 6px 18px 0px;
    --guide--toc--shadow--passive: 0px 3px 9px 0px;
    --guide--toc--body: #2a2926;
    --guide--toc--menu--name--active: #b4b3b2;
    --guide--toc--menu--name--passive: #6c6b67;
    .header__logo {
        /*height: 34px;*/
        filter: grayscale(1);
    }
}

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

pre {
    white-space: pre-wrap;
}


/* ヘッダースタイル */

.header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 10px;
    position: sticky;
    top: 0;
    left: 0;
    z-index: 1000;
    -webkit-backdrop-filter: blur(10px);
    -moz-backdrop-filter: blur(10px);
    -o-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}

.header.header--skeleton {}

.header__logo-container {
    flex-grow: 1;
}

.header__logo {
    height: 50px;
    /* ロゴのサイズ */
}

.header__name {
    font-size: 1.6em;
    margin-top: 5px;
}

.header__logo-link {
    align-items: center;
    color: unset;
    display: flex;
    text-decoration: none;
    gap: 5px;
}

.header__menu-button {
    padding: 10px;
    background: none;
    color: white;
    font-size: 1.2rem;
    border: 1px solid;
    border-radius: 5px;
}

.header__nav {
    flex-basis: 100%;
    display: none;
}

.nav__list {
    list-style-type: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.nav__item {
    width: 100%;
    text-align: center;
}

.nav__link {
    display: block;
    padding: 10px;
    color: var(--text-absolute-difference-color);
    text-decoration: none;
    transition: background-color 0.3s;
    font-weight: bold;
}

.nav__link:hover {
    color: var(--logo-main-color);
}


/* 2カラムページ基本構成 */

.sidebar,
.article {
    width: 100%;
    padding: 20px 0;
    box-sizing: border-box;
}


/* ユーティリティ */

.logo-text.logo-text--product-name {
    font-family: var(--font-family-product-name);
    font-weight: bold;
}

.text-decoration.logo-text.logo-text--site-name {
    font-family: var(--font-family-site-logo);
}

.text-decoration.text-decoration--logo-main-color {
    color: var(--logo-main-color);
}

.text-decoration.text-decoration--background-logo-main-color {
    font-size: .64em;
    background-color: var(--logo-main-color);
    width: fit-content;
    padding: 0 3px;
    color: #fff;
}

.text-decoration.text-decoration--background-logo-main-changeble-color {
    background-color: var(--logo-main-changeable-color);
}

.logo-text .logo-text__block1 {
    text-decoration: underline .18em var(--logo-main-color);
    /*border-bottom: .18em solid var(--logo-main-color);*/
    text-underline-offset: 2px;
    font-weight: normal;
    letter-spacing: -.02em;
}

.logo-text .logo-text__block2 {
    text-decoration: underline .18em var(--logo-sub-color);
    margin-left: .05em;
    font-weight: bold;
    text-underline-offset: 2px;
}

.logo-text.logo-text--changeble-color .logo-text__block1 {
    text-decoration: underline .18em var(--logo-main-changeable-color);
}

.logo-text.logo-text--changeble-color .logo-text__block2 {
    text-decoration: underline .18em var(--logo-sub-changeable-color);
}


/* サイドバー */

.sidebar {
    /* background-color: #f0f0f0; */
}

.article__inner {
    padding: 20px;
    max-width: 1200px;
    margin: 0 auto;
    background-color: var(--post--background);
    box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
    border-radius: 15px;
}

.article__header {
    border-bottom: 1px solid #ccc;
}

.breadcrumbs a,
.breadcrumbs span {
    color: #0077cc;
}

.article__title {
    color: var(--main-text);
    font-size: 24px;
}

.article__meta span {
    display: block;
    margin-top: 5px;
    color: #666;
}

.article__footer {
    margin-top: 50px;
}

.tags {
    list-style: none;
    padding: 0;
}

.tag {
    display: inline-block;
    background-color: var(--side-bg);
    color: var(--main-text);
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    font-size: 0.8rem;
}

.social-share {
    margin-top: 20px;
}

.social-icon {
    margin-right: 10px;
    text-decoration: none;
    color: #555;
}


/* Responsive Design for Desktop */

@media (min-width: 768px) {
    .application {
        display: flex;
        flex-direction: row-reverse;
        max-width: 1400px;
        margin: 0 auto;
    }
    .sidebar,
    .article {
        padding: 20px;
    }
    .sidebar {
        width: 380px;
        height: 100%;
        /* min-height: 100vh;*/
        flex-grow: 0;
        flex-shrink: 0;
        position: sticky;
        top: 60px;
    }
    .article {
        width: 100%;
    }
    .article__title {
        font-size: 32px;
    }
    .article__inner {}
    .article__meta span {
        display: inline;
        margin-right: 10px;
    }
}


/* トップページ以外 */


/* パンくずリスト */

.breadcrumb {
    list-style: none;
    padding: 10px;
}


/* ガイドページ関連 */


/* Ubuntuバージョン切り替え */

.guide-version-switcher {
    margin: 12px 0 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.guide-version-switcher__label {
    font-size: 0.9rem;
    color: #666;
}

.guide-version-switcher__select {
    padding: 6px 10px;
    border-radius: 10px;
    border: 1px solid #cfcfcf;
    background: #fff;
    max-width: 100%;
}

.article__version:empty {
    display: none;
}

.main {
    padding: 15px;
}

.guide-header {
    border-bottom: 1px solid #ccc;
    padding-bottom: 10px;
    margin-bottom: 10px;
}

.guide-content {
    margin-bottom: 20px;
}

.guide-footer {
    display: flex;
    justify-content: space-between;
    padding: 1rem;
    flex-wrap: wrap;
}

.tags-list {
    list-style: none;
    padding: 0;
    display: flex;
    gap: 0.5rem;
}

.tag-item {
    background-color: #ddd;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    font-size: 0.8rem;
}

.social-share {
    list-style: none;
    padding: 0;
    display: flex;
    gap: 1rem;
}

.social-item {
    font-size: 0.8rem;
}

.social-item .icon-twitter,
.social-item .icon-facebook {
    font-size: 1.2rem;
    margin-right: 0.5rem;
}


/* 投稿ページ 関連*/

.article__content {
    font-size: 18px;
    line-height: 1.75;
}

.article__content p {
    margin: 16px 0 0;
    word-wrap: break-word;
}

.article__content p kbd {
    border: 1px var(--main-text) solid;
    background: var(--side-bg);
    border-radius: 3px;
    font-size: 92%;
    padding: 3px 5px 2px;
}

.article__content h2 {
    font-size: 32px;
    margin: 30px 0 12px;
}

.article__content h3 {
    font-size: 28px;
    margin: 1.4em 0 .6em;
}

.article__content h4 {
    font-size: 22px;
    margin: 1.2em 0 .6em;
}

.article__content h5 {
    font-size: 20px;
    margin: 1.0em 0 .6em;
}

.article__content blockquote {
    border-left: 3px solid;
    margin: 2.4em 1em;
    padding: 0 1em;
}

.article__content cite {
    opacity: .8;
    font-size: 14px;
}

.article__content a {
    color: var(--post-link);
    border-bottom: 1px solid var(--post-link-underline);
}

.article__content a[target="_blank"]::after {
    content: "";
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    mask: url(../images/icon-outbound.svg) no-repeat center center;
    width: 1em;
    height: 1em;
    background-color: var(--post-link);
    vertical-align: text-top;
    opacity: .5;
}

.article__content a:hover {
    color: var(--post-link-hover);
    border-bottom: 1px solid var(--post-link-underline-hover);
}

.article__content a:hover[target="_blank"]::after {
    background-color: var(--post-link-hover);
}

.article__content iframe {
    display: inline;
}

.article__content ul,
.article__content ol {
    padding: 0 0 0 40px;
    margin: 16px 0 0;
}


/* KabocyEmo ブロック関連 */


/* ▼   Block    ▼ */

.is-style-group-message,
.is-style-kabocy-group-message-good,
.is-style-kabocy-group-message-info,
.is-style-kabocy-group-message-note,
.is-style-kabocy-group-message-warning {
    border: 1px solid;
    margin: 1.6em 0 0;
    margin-top: 3.2rem;
    padding: 2.4rem;
    border-radius: 1.6rem;
}


/*
青: 情報, 正しい
緑: 情報, 補足
黄: 注意, 非推奨
赤: 危険, 禁止
*/

.is-style-kabocy-group-message-good,
.kabocy-group-message-good {
    background-color: #185abd30;
    border-color: #41a5ee;
}

.is-style-kabocy-group-message-info,
.kabocy-group-message-info {
    border-color: #06b025;
    background-color: #06b02530;
}

.is-style-kabocy-group-message-note,
.kabocy-group-message-note {
    border-color: #eeeb41;
    background-color: #b8bd1830;
}

.is-style-kabocy-group-message-warning,
.kabocy-group-message-warning {
    border-color: #ee4141;
    background-color: #bd181830;
}

.is-style-group-message>div>*:first-child,
.is-style-kabocy-group-message-good>div>*:first-child,
.is-style-kabocy-group-message-info>div>*:first-child,
.is-style-kabocy-group-message-note>div>*:first-child,
.is-style-kabocy-group-message-warning>div>*:first-child {
    padding: 0;
    margin: 0;
}


/* ▲   Block    ▲ */


/*POST WP*/

.wp-block-code {
    background-color: var(--main-text);
    color: var(--main-bg);
    padding: 12px;
    border-radius: 5px;
}

.wp-block-table.is-style-stripes tbody tr:nth-child(2n+1) {
    background-color: var(--side-bg);
}

.wp-block-table.is-style-many-columns {
    border-spacing: 0;
    border-collapse: inherit;
    background-color: transparent;
    border-bottom: 1px solid #f0f0f0;
    margin: 0;
    font-size: 80%;
}

.wp-block-table.is-style-many-columns td,
.wp-block-table.is-style-many-columns th {
    border-color: transparent
}

.wp-block-table.is-style-many-columns tbody tr:nth-child(odd) {
    background-color: var(--side-bg);
}

.wp-block-embed iframe {
    max-width: 100%;
    width: calc(100% - 1px);
}

.wp-block-table img {
    max-width: 100%;
}

.article__content code {
    border-radius: 5px;
    background-color: #0c0fae1c;
    padding: 4px 6px 2px;
    font-size: .9em;
}

.wp-block-code code {
    background-color: transparent;
    font-size: unset;
    padding: 0;
}

.article__content li ul,
.article__content li ol {
    margin: 0;
}

.wp-element-caption {
    text-align: center;
    font-size: .85em;
    opacity: .85;
}

.wp-block-table.is-style-stripes tbody tr:nth-child(2n+1) {
    background-color: var(--guide--toc--head--active) !important;
}


/* 関連記事 */

.related-articles {
    padding: 1rem;
    border-top: 1px solid #ccc;
}

.related-list {
    list-style: none;
}

.related-item a {
    color: #0066cc;
    text-decoration: none;
}

.related-item a:hover {
    text-decoration: underline;
}


/* メディアクエリでデスクトップビューのスタイルを追加 */

@media (min-width: 768px) {
    /* デスクトップビュー用のスタイル */
}


/* トップページ関連 */

.top-section {
    margin: 0 auto;
    margin-top: 0px;
    background-color: var(--special-section-changeable-color);
    padding: 134px 0 64px;
    margin-top: -70px;
}

.main-visual {
    display: flex;
    flex-direction: column;
    /* モバイルビューでは縦並び */
    align-items: center;
    text-align: center;
    padding: 20px;
    flex-flow: column-reverse;
}

.main-visual__copy {
    font-size: .8em;
    margin-bottom: -.5em;
}

.main-visual__content {
    margin-bottom: 20px;
}

.main-visual__title {
    font-size: 2em;
    margin: 0;
}

.main-visual__button {
    margin: 10px;
    padding: 8px 16px;
    display: inline-block;
    font-weight: bold;
    text-decoration: none;
    color: #fff;
    background-color: #009245;
}

.main-visual__button:hover {
    /*background-color: rgba(0, 215, 3, 0.8);*/
    background-color: #0044cc;
}

.main-visual__description {
    font-size: 1em;
    opacity: .8;
}

.speech-bubble__box {
    background-color: var(--logo-main-color);
    border-radius: 8px;
    padding: 0 5px;
    font-size: .95em;
    color: #fff;
}

.speech-bubble__text {
    font-size: .8em;
    margin: 5px;
}

.speech-bubble__icon {
    width: 45px;
    padding: 2px;
}

.speech-bubble__icon.speech-bubble__icon--fix-dark {
    background-color: var(--fix-dark-01);
    border-radius: 50%;
}

.main-visual__image-container {
    width: 100%;
}

.main-visual__image {
    max-width: 100%;
    height: auto;
}

.speech-bubble {
    display: flex;
    gap: 5px;
    align-items: center;
}

.features {
    display: flex;
    flex-wrap: wrap;
    /*flex-direction: column;*/
    justify-content: space-evenly;
    padding: 0 20px;
    max-width: 1280px;
    margin: 0 auto;
}

.feature-item {
    flex-basis: calc(25% - 20px);
    margin: 10px 5px;
    text-align: center;
    border: 1px #fff2 solid;
    border-radius: 20px;
    min-width: unset;
    max-width: 450px;
    padding: 20px 10px 10px;
    position: relative;
    flex-grow: 1;
    box-shadow: rgba(0, 0, 0, 0.15) 0px 3px 7px 0px, rgba(0, 0, 0, 0.12) 0px 1px 2px 0px;
}

.feature-item:hover {
    transition: 0.8s;
    background-color: antiquewhite;
}

.feature-item__link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.feature-item__icon {
    width: 120px;
    height: auto;
    filter: drop-shadow(0px 0 6px #fffcf4);
}

.feature-item__title {
    font-size: 1.2em;
}

.feature-item__title::before {
    content: '';
    background-image: url(../images/Logo_512_v1.svg);
    width: 26px;
    height: 26px;
    display: inline-block;
    background-repeat: no-repeat;
    background-size: cover;
    margin-bottom: -5px;
    margin-right: 3px;
}

.feature-item__description {
    font-size: .8em;
}

.reasons-section {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    padding: 20px;
    max-width: 1280px;
    margin: 0 auto;
}


/*
  .reasons-section__title {
    text-align: center;
    font-weight: normal;
    margin: 10px 0 30px;
  }
  */

.section-heading {
    font-size: 2em;
    text-align: center;
    margin: 48px 0 20px;
    padding-bottom: 10px;
}

.reasons-section__content {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.reason {
    flex: 1;
}

.reason__title {
    font-size: 1.2em;
    margin-bottom: 10px;
    text-align: center;
}

.reason__description {
    font-size: 1em;
    line-height: 1.5;
}

.sns-info-section {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    padding: 20px;
    max-width: 1280px;
    margin: 0 auto;
}

.sns-info-section__content {
    background-color: #282828;
    padding: 18px 20px;
    border-radius: 24px;
    display: flex;
    justify-content: space-between;
    color: #fff;
    flex-direction: column;
}

.sns-info-section__text {
    padding: 10px 24px;
    font-weight: bold;
    font-size: 20px;
    text-align: center;
    background-image: url('../images/logo-x.svg');
    background-size: 35px;
    background-repeat: no-repeat;
}

.sns-info-section__accounts {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.account {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.account__link {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    text-decoration: none;
    transition: opacity .3s ease;
    flex-shrink: 1;
    overflow: hidden;
}

.account__link:hover {
    opacity: .8;
}

.account__container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 5px;
}

.account__avatar {
    width: 45px;
    height: 45px;
    background-color: antiquewhite;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
}

.account__avatar img {
    width: 100%;
    height: 100%;
    background-color: #fff;
    padding: 2px;
}

.account__details {
    display: flex;
    flex-direction: column;
    padding-top: 3px;
    text-wrap: nowrap;
}

.account__name {
    font-size: 1em;
    color: #fff;
}

.account__handle {
    font-size: 0.85em;
    opacity: 0.8;
    margin-top: 2px;
    color: #fff;
}

.account__follow-button {
    padding: 8px 18px;
    background-color: #fff;
    border-radius: 30px;
    color: #000;
    font-weight: bold;
    flex-shrink: 0;
    display: inline-block;
    text-decoration: none;
    transition: background-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
}

.account__follow-button:hover {
    /*transform: scale(1.05);*/
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    background: #222;
    background-color: rgb(34, 34, 34);
    color: #fff;
}

.news-section {
    padding: 20px;
    max-width: 1280px;
    margin: 0 auto;
}

.section-heading--news::before {
    content: "";
    display: block;
    width: 92px;
    height: 60px;
    margin: 0 auto;
    background-image: url(../images/260305-latest-news-icon-01@2x.png);
    background-size: cover;
    background-repeat: no-repeat;
}

.section__description {
    font-size: 1.1em;
    line-height: 1.6;
    margin: 20px auto;
    padding: 0 20px;
    text-align: center;
}

.news-source-buttons {
    text-align: center;
}

.rss-feed__list {
    list-style: none;
}

.rss-feed__item {
    border-bottom: 1px solid #ddd;
    outline: 0;
    display: block;
    overflow: hidden;
    font-size: 14px;
    padding: 2px 12px;
}

.rss-feed__item:hover {
    background-color: aliceblue;
    color: #000;
}

.rss-feed__source-link.rss-feed__source-link--anokabo {
    background-color: #FFC2C2;
}

.rss-feed__source-link.rss-feed__source-link--onkabo {
    background-color: #C5FCFF;
}

.rss-feed__source-link.rss-feed__source-link--linuxpro {
  background-color: #FFE8C5;
}

.rss-feed__source-link:hover {
    opacity: .8;
}

.rss-feed__source-link {
    font-size: 12px;
    font-weight: 600;
    padding: 5px;
    width: 6em;
    display: inline-block;
    text-align: center;
    border-radius: 21px;
    margin: 10px;
    color: #333;
    line-height: 1.5em;
}

.rss-feed__title {
    font-size: 16px;
}

.rss-feed-list-box--h290 {
    overflow: auto;
    height: 290px;
}

.news-source-display {
    font-size: .8em;
    opacity: .8;
    text-align: right;
}

.video-section {
    padding: 20px;
    text-align: center;
    max-width: 1280px;
    margin: 0 auto;
}

.video-container {
    /*position: relative;
    overflow: hidden;
    padding-top: 56.25%;*/
    /* 16:9 Aspect Ratio */
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    overflow: hidden;
    border-radius: 10px;
}

.video-container iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

.video-container__video {
    /*position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;*/
}

.video-section__title {
    font-size: 2em;
}

.video-section__description {
    font-size: 1.1em;
    line-height: 1.6;
    margin: 20px auto;
    padding: 0 20px;
    text-align: center;
}

@media (min-width: 768px) {
    .header__menu-button {
        display: none;
        /* デフォルトでは非表示 */
    }
    .main-visual {
        flex-direction: row;
        align-items: center;
        justify-content: space-around;
        text-align: left;
        max-width: 1200px;
        /*border: 1px solid;*/
        border-radius: 20px;
        margin: 10px auto 0;
    }
    .main-visual__content,
    .main-visual__image-container {
        flex-basis: 50%;
        /* コンテンツと画像を横に半分ずつ配置 */
    }
    .main-visual__content {
        margin-bottom: 0;
    }
    .features {
        /*flex-direction: unset;*/
    }
    .feature-item {
        flex-basis: auto;
        margin: 0 5px;
        flex-grow: 0;
        min-width: 300px;
    }
    .reasons-section__content {
        flex-direction: row;
    }
    .sns-info-section__content {
        flex-direction: row;
    }
    .sns-info-section__text {
        display: flex;
        align-items: center;
        text-align: unset;
    }
    .sns-info-section__accounts {
        width: 372px;
    }
    .video-container {
        border-radius: 20px;
    }
    .video-container__video {
        width: auto;
        /* Adjusts the width for mobile devices */
        height: auto;
        /* Adjusts the height for mobile devices */
    }
    .speech-bubble__text {
        font-size: .95em;
    }
    .rss-feed__list {
        list-style: none;
        height: 270px;
        overflow: auto;
    }
    .rss-feed__item {
        text-overflow: ellipsis;
        white-space: nowrap;
        word-wrap: normal;
    }
}


/* テーマスイッチのベーススタイル */

.theme-switch {
    display: flex;
    align-items: center;
    gap: 10px;
    /* ラベルとスイッチの間隔 */
}


/* チェックボックス本体のスタイルをリセット */

.theme-switch .theme-toggle {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute;
}


/* カスタムトグルスタイル */

.theme-switch span {
    position: relative;
    display: inline-block;
    width: 50px;
    height: 25px;
    background-color: #ccc;
    border-radius: 25px;
    cursor: pointer;
    transition: background-color 0.3s;
}


/* トグルスイッチのノブ（円）スタイル */

.theme-switch span::before {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 21px;
    height: 21px;
    border-radius: 50%;
    background-color: white;
    transition: transform 0.3s;
}


/* チェックされた状態のスタイル */

.theme-switch .theme-toggle:checked+span {
    background-color: #4d4d4d;
}

.theme-switch .theme-toggle:checked+span::before {
    transform: translateX(25px);
    /* ノブを右側に動かす */
}


/* ダークモードのスタイル */

@media (prefers-color-scheme: dark) {
    .theme-switch span {
        background-color: #666;
    }
    .theme-switch span::before {
        background-color: #f1f1f1;
    }
    .theme-switch .theme-toggle:checked+span {
        background-color: #999;
    }
}


/* TOC 関連 */


/* t1020からt1021でp1023にCSS及びJSの移行が完了 */


/* New News Rule */


/* ダークモードのスタイル */

body[data-theme="dark"] {
    --common-section-cushion-color: #3e3a3b;
    --common-section-container-color: #222;
}


/* ライトモードのスタイル */

body[data-theme="light"] {
    --common-section-cushion-color: #f5f5f7;
    --common-section-container-color: #fff;
}

.icon-button {
    padding: 6px 12px;
    border-radius: 10px;
    display: flex;
    gap: 4px;
    align-items: center;
}

.icon-button--feedly {
    border: 1px solid #2ab14c;
    color: #2ab14c;
}

.icon-button__image {
    flex-shrink: 0;
    width: 25px;
}

.icon-button--feedly .icon-button__image {
    filter: invert(100%) sepia(0%) saturate(7485%) hue-rotate(249deg) brightness(97%) contrast(102%);
    filter: invert(53%) sepia(90%) saturate(409%) hue-rotate(83deg) brightness(88%) contrast(87%);
}

.icon-button__text {
    margin-top: 2px;
}

.icon-button.icon-button--feedly:hover {
    background-color: #2ab14c;
    color: #fff;
}

.icon-button.icon-button--feedly:hover .icon-button__image {
    filter: invert(100%) sepia(0%) saturate(7485%) hue-rotate(249deg) brightness(97%) contrast(102%);
}

.icon-button.icon-button--news {
    border: 1px solid var(--logo-main-color);
    color: #fff;
    background: var(--logo-main-color);
    font-weight: 600;
}

.icon-button.icon-button--news:hover {
    border: 1px solid rgb(11, 74, 128);
    color: #fff;
    background: rgb(12, 75, 128);
}

.icon-button--max-content {
    width: max-content;
}

.icon-button-box {
    display: flex;
    justify-content: center;
}

.news-collection-card {
    width: 340px;
    flex-shrink: 0;
    background-color: #222;
    padding: 18px;
    border-radius: 24px;
    background: var(--common-section-container-color);
}

.news-collection-card__source-notice {
    padding: 6px 12px;
    font-size: 12px;
    margin: 12px 0;
    border-radius: 6px;
}

.news-collection-card__source-notice--anokabo {
    background: #f9d2e4;
    color: #000;
}

.news-collection-card__source-notice--onkabo {
    background: #3495d3;
    color: #fff;
}

.news-collection-card__source-notice--zerokabo {
    background: #7f7f7f;
    color: #fff;
}

.news-collection {
    display: flex;
    gap: 29px;
    overflow-x: auto;
    padding: 10px;
    background: var(--common-section-cushion-color);
    border-radius: 34px;
}

.icon-heading {
    border-bottom: 1px solid;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    margin-top: 20px;
    gap: 24px;
}

.icon-heading__body {
    text-align: left;
    font-size: 14px;
    padding: 8px 0;
    margin-bottom: 0;
}

.icon-heading__button {
    font-size: 14px;
    flex-shrink: 0;
}

.icon-heading__button-link {
    margin: 10px;
    background-color: #662d91;
    padding: 8px 20px;
    color: #fff;
    font-weight: bold;
    border-radius: 8px;
}

.icon-heading__button-link:hover {
    background: #451f61;
}

.icon-add-text.icon-add-text--32::before {
    content: "";
    display: inline-block;
    width: 32px;
    height: 32px;
    background-size: cover;
    margin-bottom: -16px;
}

.icon-add-text--anokabo::before {
    background-image: url('../images/supervisor-icon-v2.png');
}

.icon-add-text--onkabo::before {
    background-image: url('../images/icon-news-source-km-onkabo-v1@2x.png');
}

.icon-add-text--zerokabo::before {
    background-image: url('../images/icon-news-source-km-zerokabo-v1@2x.png');
}

.icon-add-text--linuxpro::before {
    background-image: url('../images/supervisor-icon-v3.png');
}

.article-layout {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    list-style: none;
    flex-shrink: 1;
}

.article-layout--direction-column {
    flex-direction: column;
}

.article-layout--gap-10 {
    gap: 10px;
}

.simple-article__text-content {
    flex-grow: 1;
    flex-shrink: 1;
    width: min-content;
}

.simple-article__figure--order-2,
.article-layout--dynamic .simple-article__figure {
    order: 2;
}

.simple-article__figure {
    max-width: 128px;
    flex-shrink: 0;
    /*! background-color: #505050; */
}

.simple-article__figure--square {
    width: 64px;
    height: 64px;
}

.article-layout--mini .simple-article__figure,
.article-layout--default .simple-article__figure {
    width: 64px;
    height: 64px;
}

.simple-article__image {
    display: inline-block;
    width: 100%;
    height: 100%;
    border-radius: 10px;
    background-color: #505050;
    object-fit: cover;
}

.simple-article__figure--square .simple-article__image {
    height: 100%;
}

.article-layout__item--large .simple-article__figure,
.article-layout--1st-accent .article-layout__item:first-child .simple-article__figure {
    max-width: 100%;
}

.article-layout--dynamic .article-layout__item:first-child .simple-article__figure {
    max-width: 100%;
}

.simple-article__headline {
    font-size: 14px;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.article-layout__item--large .simple-article__headline,
.article-layout--dynamic .article-layout__item:first-child .simple-article__headline {
    font-size: 16px;
}

.simple-article__time {
    font-size: 12px;
}

.simple-article__source {
    font-size: 14px;
    display: flex;
}

.simple-article {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
}

.article-layout--dynamic .article-layout__item,
.article-layout--default .article-layout__item {
    width: 100%;
}

.article-layout--slim .article-layout__item {
    border-bottom: 1px solid #ddd;
    outline: 0;
    display: block;
    overflow: hidden;
    font-size: 14px;
    padding: 2px 12px;
}

.article-layout--slim .simple-article__text-content {
    display: flex;
    gap: 5px;
    align-items: baseline;
    flex-direction: column;
}

.article-layout--slim .simple-article__headline {
    order: 2;
}

.article-layout__item {
    margin-bottom: 2px;
    width: 100%;
}

.article-layout--1st-accent .article-layout__item:first-child,
.article-layout--dynamic .article-layout__item:first-child {
    width: 100%;
}

.article-layout--1st-accent .simple-article__category,
.article-layout--slim .simple-article__category {
    display: none;
}

.simple-article__overview {
    font-size: 14px;
}

.simple-article__detail {
    margin: 2px;
    display: flex;
    flex-flow: initial;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.simple-article__detail--right {
    flex-direction: row-reverse;
}

.article-layout--default .simple-article__detail,
.article-layout--mini .simple-article__detail {
    flex-direction: row-reverse;
}

.article-layout--default .simple-article__source-link,
.article-layout--mini .simple-article__source-link {
    display: none;
}

.simple-article__source:before {
    content: '';
    width: 22px;
    height: 22px;
    display: inline-block;
    background-size: cover;
}

.simple-article__source--anokabo:before {
    background-image: url('../images/supervisor-icon-v2@2x.png');
}

.simple-article__source--onkabo:before {
    background-image: url('../images/icon-news-source-km-onkabo-v1.png');
}

.simple-article__source--zerokabo:before {
    background-image: url('../images/icon-news-source-km-zerokabo-v1.png');
}

.simple-article__overview:hover {
    opacity: .8;
}

.simple-article__headline:hover {
    text-decoration: underline;
}

.simple-article__category {
    width: 100%;
}

.simple-article__category--anokabo {
    color: #f9d2e4;
}

.simple-article__category--onkabo {
    color: #3495d3;
}

.simple-article__category--zerokabo {
    color: #7f7f7f;
}

.common-section {
    max-width: 1200px;
    margin: 10px auto 30px;
    padding: 20px;
}

.common-section--pc2column {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px;
    flex-flow: column-reverse;
    flex-direction: column-reverse;
}

.common-section__side-contents {
    width: 100%;
}

.common-section__side-contents--center {
    text-align: center;
}

@media (min-width: 768px) {
    .icon-heading__body {
        font-size: 24px;
        padding: 0;
    }
    .icon-heading__button {
        font-size: 16px;
    }
    .icon-add-text.icon-add-text--32::before {
        width: 48px;
        height: 48px;
    }
    .article-layout__item.article-layout__item--width-50 {
        width: calc(50% - 10px);
    }
    .article-layout--dynamic .article-layout__item,
    .article-layout--default .article-layout__item {
        width: calc(50% - 10px);
    }
    .article-layout__item--large .simple-article__figure,
    .article-layout--1st-accent .article-layout__item:first-child .simple-article__figure {
        max-width: 320px;
        min-height: 203px;
    }
    .article-layout--dynamic .article-layout__item:first-child .simple-article__figure {
        max-width: 320px;
        min-height: 203px;
    }
    .article-layout--slim .simple-article__text-content {
        flex-direction: row;
    }
    .simple-article__headline {
        font-size: 15px;
    }
    .news-collection-card {
        width: 400px;
    }
    .news-collection-card__source-notice {
        font-size: 14px;
    }
    .article-layout__item--large .simple-article__headline,
    .article-layout--dynamic .article-layout__item:first-child .simple-article__headline {
        font-size: 20px;
    }
}

@media (min-width: 768px) {
    .common-section--pc2column {
        flex-direction: row;
        align-items: center;
        justify-content: space-around;
        border-radius: 20px;
        margin: 10px auto 0;
    }
    .common-section__side-contents {
        flex-basis: 50%;
    }
}


/* フッタースタイル */

.footer {
    color: white;
    padding: 64px 10px 24px;
    position: sticky;
    top: 100vh;
    width: 100%;
    margin-top: 84px;
}

.footer--text-align-center {
    text-align: center;
}

.footer--gradient {
    background-image: radial-gradient(circle, var(--footer-color-1), var(--footer-color-2) 91%);
}

.footer--site-color {
    background-color: var(--logo-main-color);
}

.footer__content {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.footer__content.footer__content--max-w-1280 {
    max-width: 1280px;
    margin: 0 auto;
}

.footer__content.footer__content--j-content-center {
    justify-content: center;
}

.footer__content--align-items-flex-start {
    align-items: flex-start;
}

.footer__nav {
    margin: 0 auto 20px;
}

.footer-nav__list {
    display: inline-grid;
    column-gap: 2em;
    grid-auto-flow: column;
    grid-template-rows: repeat(5, auto);
    list-style: none;
}

.footer-nav__link {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding-right: 7px;
    transition: border-radius .3s;
    font-size: 14px;
}

.footer-nav__link::before {
    content: "";
    display: inline-block;
    width: 21px;
    height: 21px;
    background-image: url("../images/Logo_512_Skeleton_v1.svg");
    margin: 16px 5px 16px 0;
    background-repeat: no-repeat;
}

.footer-nav__link:hover {
    background-color: #2b2b2b;
    border-radius: 12px;
}

.footer__copy {
    font-size: 0.8rem;
}

.simple-nav {
    padding: 10px;
    text-align: left;
    margin: 0 auto;
}

.simple-nav__list {
    list-style: none;
}

.simple-nav__link {
    margin: 5px 0;
    padding: 5px 0;
    display: inline-block;
}

.simple-nav__link::before {
    content: "→";
    font-family: var(--font-din);
    margin-right: 5px;
}

.simple-nav__link:hover {
    color: #303030;
}

.km-box {
    display: flex;
    align-items: center;
    margin-bottom: 32px;
}

.km-box__icon {
    width: 48px;
    height: 48px;
    margin-right: 3px;
}

.km-box__text {
    font-size: 26px;
    font-family: var(--font-din);
    margin-top: 4px;
}


/* .. badge */

.badge-box.badge-box--site-logo {
    background-color: #fff;
    padding: 10px 14px 10px 10px;
    color: #000;
}


/* ADD LP.M */

a:focus,
button:focus,
.cpt-entry__taxonomies-item a:focus,
.cpt-entry__item a:focus,
.cpt-entry__item code:focus {
    outline: 2px dashed var(--kabocy-color-collection-dark-blue);
    outline-offset: 2px;
}

.button {
    color: unset;
    display: inline-block;
    text-decoration: none;
    border-radius: 8px;
    transition: opacity .3s, background .3s, color .3s, fill .3s, stroke .3s, filter .3s;
}

.button--icon-left {}

.button--icon-right {}

.button--icon-top {}

.button--vertical {}

.button--horizontal {
    position: relative;
    align-content: center;
}

.button--horizontal-medium {
    padding-left: 60px;
}

.button--horizontal-medium .button__icon {
    height: 20px;
    display: inline-block;
}

.button--horizontal-medium .svg-icon,
.button--horizontal-medium .img-icon {
    position: absolute;
    top: 50%;
    margin-left: -24px;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
}

.button--horizontal-medium--resize {
    display: block;
    text-align: center;
}

.button--medium.button--horizontal-medium--resize {
    padding: 10px 15px;
}

.button--horizontal-medium.button--horizontal-medium--resize {
    padding-left: 40px;
}


/* FIX 1 */

.button--horizontal-medium.button--horizontal-medium--resize {
    padding-left: 0;
}


/* FIX 2 */

.featured-menu__item svg {
    display: none;
}

.button--horizontal-basic {
    padding: 20px 25px;
    padding-left: 50px;
    font-size: 1.6rem;
}

.button--horizontal-basic .button__icon {
    height: 20px;
    display: inline-block;
}

.button--horizontal-basic .svg-icon,
.button--horizontal-basic .img-icon {
    position: absolute;
    top: 50%;
    margin-left: -24px;
    transform: translateY(-55%);
    width: 20px;
    height: 20px;
}

.button--slim-banner {
    max-width: 320px;
    width: 100%;
    text-align: center;
    font-size: 1.4rem;
    border-radius: 2px;
    padding: 10px 26px;
    box-sizing: border-box;
}

.button--slim-banner-outline {
    border: 1px solid #000;
}

.button--vertical {
    align-content: center;
    text-align: center;
    box-sizing: border-box;
}

.button--header-square {
    border-radius: 0;
}

.button--header-square .button__icon {
    height: 28px;
    display: block;
    margin: 10px 0 2px;
}

.button--header-square .button__icon svg,
.button--header-square .button__icon img {
    width: 28px;
    height: 28px;
    margin: 0 auto;
}

.button--icon-circle {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background-color: #f2f2f2;
    text-align: center;
    align-content: center;
    position: relative;
}

.button.button--icon-circle:hover {
    background-color: var(--kabocy-color-primary);
}

.button--icon-circle .button__icon {
    width: 20px;
    height: 20px;
    display: block;
    margin: 10px 0 6px;
    display: inline-block;
}

.button--icon-circle .button__icon svg,
.button--icon-circle .button__icon img {
    width: 20px;
    height: 20px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    text-align: center;
    margin: 0 auto;
    right: 0;
    left: 0;
}

.button--icon-circle .svg-icon .svg-icon__path {
    fill: #000;
}

.button--icon-circle:hover .svg-icon .svg-icon__path {
    fill: #fff;
}

.button--icon-circle .svg-icon.svg-icon--invert {
    fill: #fff;
}

.common-sns-list__link.button.button--icon-circle:hover .svg-icon.svg-icon--invert {
    fill: var(--kabocy-color-primary);
}

.button--icon-circle:hover .button__icon img {
    -webkit-filter: invert(100%);
    -moz-filter: invert(100%);
    -ms-filter: invert(100%);
    filter: invert(100%);
}

.button--vertical-cover-story {
    padding: 15px 8px 10px;
    display: block;
    align-content: center;
    text-decoration: none;
    font-size: 1.6rem;
    border-radius: 0;
    width: 24px;
    background-color: #000;
}

.button--vertical-cover-story:hover {
    background-color: var(--kabocy-color-primary);
}

.common-sns-list__wrap {
    display: flex;
}

.common-sns-list__title {
    margin: 0;
    text-align: center;
    font-family: var(--font-din);
    color: var(--kabocy-color-tertiary);
    align-content: center;
}

.common-sns-list__title-top,
.common-sns-list__title-secondary {
    display: block;
    line-height: 1em;
}

.common-sns-list__title-top {
    font-size: 1.4rem;
}

.common-sns-list__title-secondary {
    font-size: 2.4rem;
}

.common-sns-list__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: block;
    display: flex;
    height: 38px;
}

.common-sns-list__item {
    margin: 0 5px;
}

.common-sns-list.common-sns-list--center .common-sns-list__list {
    margin: 0 auto;
}

.page-footer__sns {
    text-align: center;
}

.page-footer__sns-read {
    margin: 0 0 8px;
    color: #fff;
    font-family: var(--font-din);
    opacity: 0.5;
    font-size: 21px;
}

.box--w-270px {
    width: 270px;
}

.box--m-top-20px {
    margin-top: 20px;
}


/* メディアクエリ */

@media (min-width: 768px) {
    .header__menu-button {
        display: none;
        /* PCでは非表示 */
    }
    .header__nav {
        flex-basis: auto;
        display: block;
    }
    .nav__link {
        font-size: 16px;
    }
    .nav__list {
        flex-direction: row;
        justify-content: center;
    }
    .nav__item {
        width: auto;
    }
    .footer__content {
        flex-direction: row;
        justify-content: space-between;
    }
    .footer__nav {
        margin: 0;
    }
    .footer-nav__link {
        font-size: 16px;
    }
    .footer-nav__link::before {
        width: 48px;
        height: 48px;
        margin: 7px;
        font-size: 16px;
    }
    .simple-nav {
        margin: unset;
        border-left: 1px solid;
    }
}


/* 一覧ページ */

.intro-section {
    padding: 20px;
    text-align: center;
}

.intro-section__title {
    font-size: 2em;
    margin-bottom: 20px;
}

.intro-section__description {
    font-size: 1.2em;
    margin-bottom: 40px;
}

.section-title {
    font-size: 1.8em;
    margin-bottom: 20px;
    text-align: center;
}

.section__description {
    margin-bottom: 40px;
    text-align: center;
}

.guide-section,
.document-section {
    padding: 20px;
    margin-bottom: 20px;
}

.card-items {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0;
}

@media (min-width: 768px) {
    .card-items {
        flex-direction: row;
        justify-content: space-around;
        flex-wrap: wrap;
    }
}

.card-item {
    border: 1px solid #ccc;
    border-radius: 20px;
    padding: 20px;
    margin: 10px 0;
    width: 90%;
    box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.1);
    text-align: center;
}

@media (min-width: 768px) {
    .card-item {
        margin: 10px;
        flex: 1;
        max-width: calc(50% - 20px);
        text-align: center;
    }
}

.card-item__title {
    margin-bottom: 10px;
}

.card-item__description {
    opacity: .8;
}

.card-item__list {
    text-align: left;
    padding-left: 30px;
}

.card-item__list-item {
    margin: 5px 0;
}

.card-item__list-item a {
    color: #007bff;
    text-decoration: none;
    transition: color 0.3s;
}

.card-item__list-item a:hover {
    color: #0056b3;
}

.card-item__steps {
    margin-top: 10px;
    font-weight: bold;
    opacity: .95;
}

.card-item__link {
    display: inline-block;
    margin-top: 10px;
    padding: 10px 20px;
    background-color: #007bff;
    color: white;
    text-decoration: none;
    border-radius: 5px;
    transition: background-color 0.3s;
}

.card-item__link:hover {
    background-color: #0056b3;
}


/* サーバ エラー */

.error-code__number {
    text-align: center;
    font-family: 'Din1451Alt';
    font-size: 7em;
    margin: 8px 0 0;
}

.error-code__overview {
    text-align: center;
    font-family: 'Din1451Alt';
    font-size: 1em;
    margin: -15px 0 0;
}

.error-code__detail {
    text-align: center;
    font-size: .5em;
    font-weight: 600;
}


/* Responsive Design for Desktop */

@media (min-width: 480px) {
    .error-code__number {
        font-size: 18em;
        margin: 19px 0 0;
    }
    .error-code__overview {
        font-size: 2.5em;
        margin: -51px 0 0;
    }
    .error-code__detail {
        font-size: 1.2em;
    }
}


/* Responsive Design for Desktop */

@media (min-width: 768px) {
    .error-code__number {
        font-size: 28em;
        margin: 30px 0 0;
    }
    .error-code__overview {
        font-size: 4em;
        margin: -80px 0 0;
    }
    .error-code__detail {
        font-size: 2em;
    }
}


/* Recommended version notice */

.recommended-version-notice {
    margin-top: 32px;
    padding: 20px;
    border: 1px solid #e2d8f3;
    border-radius: 12px;
    background: #f7f4fd;
}

.recommended-version-notice__eyebrow {
    margin: 0 0 8px;
    font-size: .85rem;
    font-weight: 700;
    color: #6f4aa2;
}

.recommended-version-notice__title {
    margin: 0 0 10px;
    font-size: 1.2rem;
    line-height: 1.5;
}

.recommended-version-notice__text {
    margin: 0;
    line-height: 1.8;
}

.recommended-version-notice__actions {
    margin: 16px 0 0;
}

.recommended-version-notice__link {
    display: inline-block;
    padding: 10px 18px;
    border-radius: 999px;
    background: #77216f;
    color: #fff;
    text-decoration: none;
    font-weight: 700;
}

.recommended-version-notice__link:hover {
    opacity: .92;
}

.screen-reader-text {
    position: absolute!important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    white-space: nowrap;
    word-wrap: normal
}

.screen-reader-text:focus,
.skip-link:focus {
    clip: auto!important;
    height: auto;
    width: auto;
    overflow: visible;
    position: fixed!important;
    left: 16px;
    top: 16px;
    z-index: 100000;
    padding: 12px 16px;
    background: #fff;
    color: #111;
    border: 2px solid currentColor;
    border-radius: 6px
}

.skip-link {
    position: absolute;
    left: -9999px;
    top: auto
}

.header__menu-button:focus-visible,
.nav__link:focus-visible,
.footer-nav__link:focus-visible,
.guide-version-switcher__select:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px
}

nav.breadcrumbs {
    margin-bottom: 12px
}

.pagination .nav-links {
    display: flex;
    gap: 8px;
    flex-wrap: wrap
}

.home-entry-section,
.home-starter-section {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px 40px;
}

.card-items--home-entry {
    align-items: stretch;
}

.card-item--home-entry {
    border-color: rgba(119, 33, 111, 0.18);
    background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(247, 244, 253, 1) 100%);
}

.article-cta {
    margin-top: 32px;
    padding: 24px;
    border-radius: 16px;
    background: var(--supplement-background-color);
    border: 1px solid rgba(119, 33, 111, .12);
}

.article-cta__title {
    margin: 0 0 10px;
    font-size: 1.25rem;
}

.article-cta__description {
    margin: 0 0 16px;
    line-height: 1.8;
}

.article-cta__links,
.article-cta__support-links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 12px;
}

.article-cta__support {
    margin-top: 24px;
    padding-top: 16px;
    border-top: 1px solid rgba(119, 33, 111, .12);
}

.article-cta__support-title {
    margin: 0 0 12px;
    font-size: 1rem;
}

.article-cta__link,
.article-cta__support-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #77216f;
    font-weight: 700;
    text-decoration: none;
}

.article-cta__link:hover,
.article-cta__support-link:hover {
    text-decoration: underline;
}

.article-cta__link::after,
.article-cta__support-link::after {
    content: '→';
    font-weight: 700;
}

@media (max-width: 767px) {
    .home-entry-section,
    .home-starter-section {
        padding-left: 16px;
        padding-right: 16px;
    }
    .article-cta {
        padding: 20px;
    }
}