/* =================================================================
   MEDIARTS — Fluent UI System Icons サイト向け調整
   ================================================================= */

.fluent-icon {
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
}

.fluent-icon svg {
    display: block;
    width: 100%;
    height: 100%;
}

/* ボタン末尾アイコン（::after 矢印の代替） */
.btn--icon-end::after {
    content: none;
    display: none;
}
.btn__icon {
    position: relative;
    z-index: 1;
    color: var(--red);
    transition: transform 0.45s var(--ease), color 0.4s var(--ease);
}
.btn__icon svg {
    color: inherit;
    fill: currentColor;
}
.btn:hover .btn__icon,
.btn:focus-visible .btn__icon {
    color: inherit;
}
.btn:not(.btn-back):not(.btn--external):hover .btn__icon,
.btn:not(.btn-back):not(.btn--external):focus-visible .btn__icon {
    transform: translateX(5px);
}
.btn-back .btn__icon {
    order: -1;
}
.btn-back:hover .btn__icon,
.btn-back:focus-visible .btn__icon {
    transform: translateX(-5px);
}
.btn--external:hover .btn__icon,
.btn--external:focus-visible .btn__icon {
    color: inherit;
    transform: translateX(3px);
}
.biz-card:hover .btn__icon {
    color: var(--white);
}
.biz-card:hover .btn:not(.btn--external) .btn__icon {
    transform: translateX(5px);
}
.biz-card:hover .btn--external .btn__icon {
    transform: translateX(3px);
}

/* 問い合わせサイドバー */
.info-block h3 {
    display: flex;
    align-items: center;
    gap: 0.55rem;
}

/* 赤アクセントアイコン（共通） */
.svc__icon,
.area__icon,
.biz-title-icon,
.info-block__icon,
.brand-meta__icon,
.profile-table__icon {
    flex-shrink: 0;
    color: var(--red);
}
.svc__icon {
    margin-top: 0.06em;
    transition: color 0.45s var(--ease);
}
.svc__icon svg,
.area__icon svg {
    color: inherit;
    fill: currentColor;
}
.svc:hover .svc__icon {
    color: var(--red-bright);
}

/* 事業領域タイトル（IT / ペット）— タイトル文字と同サイズ */
.biz-card__title .biz-title-icon,
.section-title--icon .biz-title-icon {
    width: 1em;
    height: 1em;
}

/* フッター連絡先 */
.footer-contact__icon {
    display: inline-flex;
    vertical-align: -0.2em;
    margin-right: 0.35rem;
    color: var(--red);
}

/* テーマトグル内アイコン — 各半分の幾何中心（25% / 75%）に配置 */
.theme-toggle__slot .fluent-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 16px;
    margin: 0;
    padding: 0;
    line-height: 0;
    transform: translate(-50%, -50%);
}
.theme-toggle__slot--sun .fluent-icon { left: 25%; }
.theme-toggle__slot--moon .fluent-icon { left: 75%; }

/* 事業案内 IT 領域アイコン（番号前） */
.svc-group__mark .fluent-icon {
    display: block;
    line-height: 0;
}

.theme-toggle__icon--sun { color: #f5b301; }
.theme-toggle__icon--moon { color: var(--text-dim); }
html[data-theme="dark"] .theme-toggle__slot--sun .fluent-icon { opacity: 0.45; }
html[data-theme="light"] .theme-toggle__slot--moon .fluent-icon { opacity: 0.4; }
html[data-theme="dark"] .theme-toggle__slot--moon .fluent-icon { color: #fff; }
html[data-theme="light"] .theme-toggle__slot--sun .fluent-icon { color: #fff; }
