:root{
    --color-bg:#ffffff;
    --color-surface:#ffffff;

    --color-text:#1f2937;
    --color-muted:#6b7280;

    --color-accent:#2563eb;
    --color-accent-hover:#1d4ed8;
    --color-accent-soft: #ecf6ff;

    --color-border:#e5e7eb;

    --container:1100px;

    --header-footer-container:1180px;

    --header-height:72px;

    --section-space:4rem;
    --section-space-tight:3rem;
    --hero-space:5rem;
    --footer-space:4.5rem;

    --radius-sm:6px;
    --radius-md:10px;
    --radius-lg:16px;

    --shadow-sm:0 1px 2px rgba(0,0,0,.05);

    --transition:.2s ease;
}

*,
*::before,
*::after{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    padding-top: var(--header-height);
    margin:0;
    background:#fff;
    color:var(--color-text);
    font-family:"BIZ UDPGothic","Yu Gothic",sans-serif;
    line-height:1.8;
    overflow-y: scroll;
}

img{
    max-width:100%;
    height:auto;
}

a{
    color:var(--color-accent);
}

.container{
    width:min(calc(100% - 3rem), var(--container));
    margin-inline:auto;
}

.bar-container{
    width:min(calc(100% - 1.5rem), var(--header-footer-container));
    margin-inline:auto;
}

.skip-link{
    position:absolute;
    left:-9999px;
}

.skip-link:focus{
    left:1rem;
    top:1rem;
    background:#fff;
    border:1px solid #000;
    padding:.75rem 1rem;
    z-index:9999;
}

#site-header{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    border-bottom:1px solid var(--color-border);
    background:transparent;
}

#site-header::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.8);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    z-index: -1;
}

.header-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:var(--header-height);
}

.site-logo img{
    max-height:35px;
}

.global-nav ul{
    display:flex;
    gap:2rem;
    list-style:none;
    margin:0;
    padding:0;
}

.global-nav a{
    color:var(--color-text);
    text-decoration:none;
}

.global-nav a:hover{
    color:var(--color-accent);
}

.hero{
    padding:var(--hero-space) 0 3.5rem;
}

.hero-label{
    margin:0;
    color:var(--color-accent);
    font-size:.9rem;
    letter-spacing:.15em;
    text-transform:uppercase;
}

.hero h1{
    margin:.35rem 0 .85rem;
    font-size:clamp(2.4rem,5vw,4rem);
    line-height:1.2;
}

.hero-text{
    max-width:700px;
    color:var(--color-muted);
    margin:0 0 1.5rem;
}

.hero-actions{
    display:flex;
    gap:.85rem;
    flex-wrap:wrap;
}

.section{
    padding:var(--section-space-tight) 0;
}

.section-header{
    margin-bottom:1.5rem;
}

.section-header h2{
    margin:0;
    font-size:1.9rem;
    line-height:1.3;
}

.section-header h2.article-title{
    font-size:1.9rem;
    line-height:1.3;
    padding-bottom: 10px;
    margin: 0;
    border-bottom: 2px solid var(--color-accent);
}

.text-block{
    margin:0;
}

.news-list{
    list-style:none;
    margin:0;
    padding:0;
    border-top:1px solid var(--color-border);
}

.news-list li{
    display:flex;
    gap:1.35rem;
    padding:.95rem 0;
    border-bottom:1px solid var(--color-border);
}

.news-list time{
    width:120px;
    color:var(--color-muted);
}

.card-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1.25rem;
}

.card{
    border:1px solid var(--color-border);
    border-radius:var(--radius-md);
    padding:1.4rem;
    background:var(--color-surface);
}

.card h3{
    margin:0 0 .45rem;
}

.card p{
    margin:0;
    color:var(--color-muted);
}

.nav-card-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}

.nav-card {
    display: block;
    text-decoration: none;
    color: inherit;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: 1.75rem;
    position: relative;
    transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}

.nav-card-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.nav-card-title {
    margin: 0 0 0.5rem;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--color-text);
    line-height: 1.4;
    transition: color var(--transition);
}

.nav-card-text {
    margin: 0 0 1.5rem;
    color: var(--color-muted);
    font-size: 0.95rem;
    line-height: 1.6;
}

.nav-card-more {
    margin-top: auto;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--color-accent);
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.nav-card-more::after {
    content: "→";
    transition: transform var(--transition);
}

.nav-card:hover,
.nav-card:focus-visible {
    outline: none;
    border-color: var(--color-border);
    transform: translateY(-4px);
    box-shadow: 0 12px 20px -5px rgba(0, 0, 0, 0.08);
}

.nav-card:hover .nav-card-title {
    color: var(--color-accent);
}

.nav-card:hover .nav-card-more::after {
    transform: translateX(4px);
}

.blog-item{
    padding:1.35rem 0;
    border-bottom:1px solid var(--color-border);
}

.blog-item h3{
    margin:0 0 .45rem;
    line-height:1.4;
}

.blog-item p{
    margin:0;
    color:var(--color-muted);
}

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:.8rem 1.3rem;
    border-radius:var(--radius-md);
    text-decoration:none;
    font-weight:600;
    transition:var(--transition);
}

.btn-primary{
    background:var(--color-accent);
    color:#fff;
}

.btn-primary:hover{
    background:var(--color-accent-hover);
}

.btn-secondary{
    background:#fff;
    border:1px solid var(--color-accent);
    color:var(--color-accent);
}

.btn-secondary:hover{
    background:#f8fafc;
}

/* --- 表テーブル --- */
.table-scroll-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 0 0 1.5em;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);    /* 角丸 */
    background-color: var(--color-surface);
}

.table {
    width: 100%;
    border-collapse: collapse;
    min-width: 600px;
    font-size: 15px;
}

.table th,
.table td {
    padding: 12px 16px;
    border-bottom: 1px solid var(--color-border);
    border-right: 1px solid var(--color-border);
    text-align: left;
    line-height: 1.5;
}

.table tbody tr:last-child td {
    border-bottom: none;
}

.table th:last-child,
.table td:last-child {
    border-right: none;
}

.table thead tr {
    border-bottom: 2px solid var(--color-border);
}

.table th {
    background-color: var(--color-accent-soft);
    color: var(--color-text);
    font-weight: 700;
    white-space: nowrap;
}

.table tbody tr {
    transition: background-color 0.2s ease;
}
.table tbody tr:hover {
    background-color: #fafafa;
}

#site-footer{
    margin-top:var(--footer-space);
    border-top:1px solid var(--color-border);
    padding:2rem 0;
}

.footer-inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:1rem;
}

.footer-nav ul{
    display:flex;
    gap:1.5rem;
    list-style:none;
    margin:0;
    padding:0;
    flex-wrap:wrap;
}

.footer-nav a{
    color:var(--color-muted);
    text-decoration:none;
}

.footer-nav a:hover{
    color:var(--color-accent);
}

.copyright{
    margin:0;
    color:var(--color-muted);
}

@media (min-width:769px){

    img.logo-mb {
        display: none;
    }

    img.logo-pc {
        display: block;
    }

}

@media (max-width:768px){

    .bar-container{
        width:min(calc(100% - 1rem), var(--header-footer-container));
    }

    .container{
        width:min(calc(100% - 2.25rem), var(--container));
    }

    .header-inner{
        flex-direction:column;
        gap:1rem;
        padding:1rem 0;
    }

    .global-nav ul{
        flex-wrap:wrap;
        justify-content:center;
        gap:1.25rem;
    }

    .hero{
        padding:4.5rem 0 3rem;
    }

    .section{
        padding:2.5rem 0;
    }

    .card-grid{
        grid-template-columns:1fr;
    }

    .news-list li{
        flex-direction:column;
        gap:.2rem;
    }

    .footer-inner{
        flex-direction:column;
        gap:.8rem;
        text-align:center;
    }

    .footer-nav ul{
        justify-content:center;
    }

    img.logo-mb {
        display: block;
    }

    img.logo-pc {
        display: none;
    }
}

/* --- PC・共通設定 --- */
.hero-flex {
    display: flex;
    align-items: center; /* PCでは垂直中央 */
    gap: 3rem;
}

.hero-content {
    flex: 1;
}

.mySwiper {
    flex: 1;
    width: 100%;
    max-width: 450px;
    /* 4:3の比率を維持 */
    aspect-ratio: 4 / 3; 
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1);
}

/* スライド内の画像設定 */
.swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ナビゲーションの色（白） */
:root {
    --swiper-theme-color: #fff;
    --swiper-navigation-size: 20px;
}

/* --- モバイル設定 (768px以下) --- */
@media (max-width: 768px) {
    body {
        /* モバイル通常時のヘッダー高さ(96px)で後ろの余白を完全に固定！ */
        padding-top: 96px !important; 
    }
    
    .hero-flex {
        display: flex;
        flex-direction: column;
        align-items: flex-start; 
        gap: 2.5rem;
    }

    .hero-content {
        width: 100%; 
    }

    .mySwiper {
        width: 90%; 
        max-width: 380px;
        aspect-ratio: 4 / 3;
        margin-right: 0 !important;
        margin-left: auto !important;
        align-self: flex-end; 
        border-radius: 40px 0 40px 40px;
    }
}

/* Swiper全体のテーマカラー設定 */
:root {
    --swiper-theme-color: var(--color-accent); /* これでドットなどは変わる */
}

/* 矢印（ナビゲーションボタン）の個別設定 */
.swiper-button-next,
.swiper-button-prev {
    /* !important を付けることで、ライブラリ側のデフォルト色設定よりも
       優先度を確実に上げます
    */
    color: var(--color-accent) !important;
}

/* もし上記でもダメな場合（古いバージョンのSwiperなど）は、
   直接SVGの塗りつぶし色を指定する方法もあります */
.swiper-button-next::after,
.swiper-button-prev::after {
    color: var(--color-accent);
}

/* 下部のドット（ページネーション）の非アクティブ時の色を調整したい場合 */
.swiper-pagination-bullet {
    background: var(--color-text);
    opacity: 0.3;
}

/* アクティブなドットの色 */
.swiper-pagination-bullet-active {
    background: var(--color-accent) !important;
    opacity: 1;
}

/* --- ヘッダー基本設定 --- */
#site-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    border-bottom: 1px solid var(--color-border);
    transition: background 0.3s ease; /* 背景変化を滑らかに */
}

/* =========================================
   サブページ用ページヘッダー
========================================= */
.page-header {
    background-color: var(--color-accent-soft);
    padding: var(--section-space-tight) 0;
    border-bottom: 1px solid var(--color-border);
    margin-bottom: var(--section-space-tight);
}

/* --- パンくずリスト --- */
.breadcrumbs {
    font-size: 0.85rem;
    margin-bottom: 1rem;
}
.breadcrumbs ol {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.breadcrumbs li {
    display: flex;
    align-items: center;
    color: var(--color-muted);
}
.breadcrumbs li:not(:last-child)::after {
    content: ">";
    margin-left: 0.5rem;
    color: var(--color-muted);
    font-size: 0.75rem;
    opacity: 0.7;
}
.breadcrumbs a {
    color: var(--color-muted);
    text-decoration: none;
    transition: color var(--transition);
}
.breadcrumbs a:hover {
    color: var(--color-accent);
}
.breadcrumbs li[aria-current="page"] {
    color: var(--color-text);
    font-weight: 600;
}

/* --- ページタイトル --- */
.page-title {
    margin: 0 0 0.75rem 0;
    font-size: clamp(1.8rem, 4vw, 2.4rem);
    color: var(--color-text);
    font-weight: 700;
    line-height: 1.3;
}

/* --- 概要・リード文 --- */
.page-lead {
    font-size: 1rem;
    color: var(--color-muted);
    margin: 0;
    max-width: 700px;
    line-height: 1.7;
}

.icon-link {
    display: inline-flex;
    align-items: center;
    gap: 0.25em;
    
    color: var(--color-accent);
    text-decoration: underline;
    text-underline-offset: 0.2em;
    transition: color var(--transition), opacity var(--transition);
}

.icon-link::after {
    content: "";
    width: 0.9em;
    height: 0.9em;
    flex: 0 0 auto;
    
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    opacity: 0.82;
    transform: translateY(0.08em); 
    
    background-color: currentColor;
    transition: transform var(--transition);
}

.icon-link:hover {
    color: var(--color-accent-hover);
}
.icon-link:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 2px;
    border-radius: var(--radius-sm);
}

.icon-openinnew::after {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'><path d='M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h280v80H200v560h560v-280h80v280q0 33-23.5 56.5T760-120H200Zm188-212-56-56 372-372H560v-80h280v280h-80v-144L388-332Z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'><path d='M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h280v80H200v560h560v-280h80v280q0 33-23.5 56.5T760-120H200Zm188-212-56-56 372-372H560v-80h280v280h-80v-144L388-332Z'/></svg>");
}
/*
.icon-download::after {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'><path d='M480-320 280-520l56-58 104 104v-326h80v326l104-104 56 58-200 200ZM240-160q-33 0-56.5-23.5T160-240v-120h80v120h480v-120h80v120q0 33-23.5 56.5T720-160H240Z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'><path d='M480-320 280-520l56-58 104 104v-326h80v326l104-104 56 58-200 200ZM240-160q-33 0-56.5-23.5T160-240v-120h80v120h480v-120h80v120q0 33-23.5 56.5T720-160H240Z'/></svg>");
}
.icon-download:hover::after {
    transform: translateY(0.16em);
}

.icon-arrow::after {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'><path d='m560-240-56-58 142-142H160v-80h486L504-662l56-58 240 240-240 240Z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'><path d='m560-240-56-58 142-142H160v-80h486L504-662l56-58 240 240-240 240Z'/></svg>");
}
.icon-arrow:hover::after {
    transform: translate(0.12em, 0.08em);
}

.icon-pdf::after {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'><path d='M320-240h80v-80h40q17 0 28.5-11.5T480-360v-40q0-17-11.5-28.5T440-440h-120v200Zm80-140v-20h20v20h-20Zm160 140h60q17 0 28.5-11.5T660-280v-120q0-17-11.5-28.5T620-440h-60v200Zm60-60v-80h20v80h-20Zm-380 60h60v-60h-60v-40h40v-40h-40v-20h60v-40h-120v200Zm-40 160q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560H200v560Zm0-560v560-560Z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'><path d='M320-240h80v-80h40q17 0 28.5-11.5T480-360v-40q0-17-11.5-28.5T440-440h-120v200Zm80-140v-20h20v20h-20Zm160 140h60q17 0 28.5-11.5T660-280v-120q0-17-11.5-28.5T620-440h-60v200Zm60-60v-80h20v80h-20Zm-380 60h60v-60h-60v-40h40v-40h-40v-20h60v-40h-120v200Zm-40 160q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560H200v560Zm0-560v560-560Z'/></svg>");
} */

/* --- デスクトップ：スクロールしても変化させない --- */
@media (min-width: 769px) {
    .menu-button, .menu-background, .drawer-only {
        display: none !important;
    }
}

/* --- ヘッダー基本設定（モバイル・スクロール時のスムーズアニメーション完全版） --- */
@media (max-width: 768px) {
    /* 1. 通常時（ページ上部）のレイアウト基盤 */
    .header-inner {
        display: block !important;
        height: 96px;
        position: relative;
        padding: 0;
        transition: height 0.3s ease;
    }

    /* スクロール時 (.scrolled) はヘッダーをコンパクトに */
    #site-header.scrolled .header-inner {
        height: 56px;
    }

    /* ロゴの初期位置（中央上部）※z-indexを1000に調整 */
    .site-logo {
        position: absolute;
        min-height: 20px;
        max-height: 25px;
        left: 50%;
        top: 12px;
        transform: translateX(-50%);
        transition: left 0.3s ease, top 0.3s ease, transform 0.3s ease;
        display: block;
        z-index: 1000; 
    }

    /* スクロール時 (.scrolled) はロゴを左端へ滑らかに移動 */
    #site-header.scrolled .site-logo {
        left: 16px;
        top: 50%;
        transform: translateX(0) translateY(-50%);
    }

    /* ページ上部（スクロール前）の通常メニュー位置（中央下部） */
    #site-header:not(.scrolled) .primary-nav ul {
        display: flex;
        justify-content: center;
        gap: 1.2rem;
        list-style: none;
        margin: 0;
        padding: 0;
        position: absolute;
        left: 50%;
        bottom: 12px;
        transform: translateX(-50%);
        width: 100%;
        opacity: 1;
        visibility: visible;
        transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
    }

    /* 上部では暗幕・ドロワー専用要素を隠す */
    .menu-background, .drawer-only {
        display: none !important;
    }

    /* ハンバーガーボタンの初期状態 ※z-indexを1003に引き上げ */
    .menu-button {
        display: block !important;
        position: absolute;
        top: 50%;
        right: 16px;
        transform: translateY(-50%) scale(0);
        opacity: 0;
        cursor: pointer;
        z-index: 1003; 
        transition: transform 0.3s ease, opacity 0.3s ease;
        pointer-events: none;
    }

    /* スクロール時にハンバーガーボタンを復活 */
    #site-header.scrolled .menu-button {
        transform: translateY(-50%) scale(1);
        opacity: 1;
        pointer-events: auto;
    }

    /* スクロール時かつ「ドロワーが閉じている時」は通常メニューを非表示 */
    #site-header.scrolled .menu-checkbox:not(:checked) ~ .primary-nav ul {
        opacity: 0 !important;
        visibility: hidden !important;
        transform: translate(-50%, 10px) !important;
    }

    /* ハンバーガーアイコンの三本線設定 */
    .menu-button .bar {
        display: block;
        width: 25px;
        height: 3px;
        margin: 5px 0;
        background-color: var(--color-text);
        transition: 0.4s;
    }

    /* 三本線から「×」印へのアニメーション */
    .menu-checkbox:checked ~ .menu-button .bar:nth-child(1) {
        transform: rotate(45deg) translate(-2px, 3px);
    }
    .menu-checkbox:checked ~ .menu-button .bar:nth-child(2) {
        opacity: 0;
    }
    .menu-checkbox:checked ~ .menu-button .bar:nth-child(3) {
        transform: rotate(-45deg) translate(8px, -13px);
    }

    /* 3. ドロワーメニュー自体の設定 ※z-indexを1002に引き上げ */
    #site-header.scrolled .primary-nav {
        position: fixed;
        top: 0;
        right: -100%;
        width: 280px;
        max-width: 80%;
        height: 100vh;
        background-color: #ffffff;
        transition: right 0.4s ease;
        z-index: 1002; 
        overflow-y: auto;
        padding-top: 40px;
        box-shadow: -5px 0 15px rgba(0,0,0,0.1);
        display: block !important;
    }

    /* ドロワーが開いている時は、通常のロゴをクリック不可にし、暗幕の下に完全に沈める */
    .menu-checkbox:checked ~ .site-logo {
        pointer-events: none;
        z-index: 999 !important;
    }

    /* 4. チェックが入った時（ドロワー開）の挙動 */
    .menu-checkbox:checked ~ .primary-nav {
        right: 0 !important;
    }

    /* ドロワーが開いた時にリストを確実に縦並びで表示 */
    .menu-checkbox:checked ~ .primary-nav ul {
        display: flex !important;
        flex-direction: column !important;
        position: static !important;
        transform: none !important;
        width: auto !important;
        opacity: 1 !important;
        visibility: visible !important;
        padding: 0 20px !important;
        gap: 0 !important;
        margin: 0 !important;
        list-style: none !important;
    }

    /* ドロワー内のリンク装飾 */
    .menu-checkbox:checked ~ .primary-nav a {
        display: block !important;
        padding: 14px 0 !important;
        font-size: 15px !important;
        color: var(--color-text) !important;
        text-decoration: none !important;
        border-bottom: 1px solid var(--color-border) !important;
        text-align: left !important;
    }
    
    .menu-checkbox:checked ~ .primary-nav a:hover {
        color: var(--color-accent) !important;
    }

    /* 背景の暗幕 ※z-indexを1001に引き上げ */
    #site-header.scrolled .menu-background {
        display: block !important;
        position: fixed;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        z-index: 1001; 
        cursor: pointer;
        visibility: hidden;
        opacity: 0;
        transition: opacity 0.4s ease, visibility 0.4s ease;
    }

    /* ドロワーが開いた時に暗幕をフェードイン表示 */
    .menu-checkbox:checked ~ .menu-background {
        visibility: visible !important;
        opacity: 1 !important;
    }

    /* ドロワー専用のヘッダー・フッター表示設定 */
    .menu-checkbox:checked ~ .primary-nav .drawer-only {
        display: block !important;
    }

    .drawer-only {
        padding: 0 20px;
    }

    .drawer-header {
        margin-bottom: 20px;
        line-height: 1.5;
    }

    .drawer-footer {
        margin-top: 30px;
        padding-bottom: 30px;
        font-size: 12px;
        color: var(--color-muted);
    }

    /* 5. ドロワー内のロゴサイズ固定 */
    .drawer-header img {
        height: 26px !important;
        width: auto !important;
        max-width: none !important;
        display: block !important;
    }

    .page-header {
        padding: 2.5rem 0;
        margin-bottom: 2.5rem;
    }

    .nav-card-grid {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }
    
    .nav-card {
        padding: 1.5rem;
    }
    
    .nav-card:hover {
        transform: none;
        box-shadow: none;
    }
}