*{box-sizing:border-box}html{font-family:"Yu Gothic","YuGothic","Hiragino Kaku Gothic ProN","Hiragino Sans","Meiryo",sans-serif;color:#222;font-weight:500}body{margin:0;background-color:var(--mf-bg);background-size:cover;background-attachment:fixed;font-weight:500}a{transition:color .18s ease,background-size .22s ease,background-color .18s ease}.mf-shell{max-width:1200px;margin:0 auto;background:#fff}.mf-columns{display:grid;grid-template-columns:260px minmax(0,910px);gap:30px}.mf-sidebar{padding:22px 10px 30px;background:#f4f8fa}.mf-sidebar ul{list-style:none;margin:0;padding:0}.mf-sidebar a{display:block;padding:11px 14px;color:#17212b;text-decoration:none;background-image:linear-gradient(90deg,var(--mf-primary),var(--mf-accent));background-size:0 100%;background-repeat:no-repeat;transition:background-size .22s ease,color .15s ease}.mf-sidebar a:hover,.mf-sidebar a:focus-visible{background-size:100% 100%;color:#fff}.mf-sidebar .current-menu-item>a,.mf-sidebar .current_page_item>a{background-size:100% 100%;color:#fff;font-weight:600}.mf-main{min-width:0}.mf-keyvisual img{display:block;width:100%;height:auto}.mf-keyvisual--poster{text-align:center;padding:24px}.mf-keyvisual--poster img{width:auto;max-width:min(100%,560px);height:auto;margin:0 auto}.mf-free{margin:28px 16px}.mf-free:empty{display:none}.mf-news{margin:30px 16px}.mf-news-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d8e1e7}.mf-news-head h2{font-size:20px;margin:0 0 10px;font-weight:600}.mf-news-head a{font-size:13px;color:var(--mf-primary);text-decoration:none}.mf-news-item{display:grid;grid-template-columns:100px 1fr;gap:12px;padding:11px 4px;border-bottom:1px solid #d8e1e7;color:#222;text-decoration:none;font-size:14px}.mf-news-item:hover{color:var(--mf-primary)}.mf-social{display:flex;gap:7px;padding:16px 6px}.mf-social a{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;padding:0;background:var(--mf-primary);color:#fff;font-size:10px}.mf-side-button{margin:8px 6px;background:#fff!important;background-image:none!important;text-align:center;border:1px solid #e0e7eb}.mf-inner-header{max-width:1200px;margin:0 auto;background:#fff;overflow:hidden}.mf-inner-header__picture{display:block}.mf-inner-header__picture img{display:block;width:100%;height:auto}.mf-inner-header__fallback{min-height:96px;padding:20px 28px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 28px;background:linear-gradient(115deg,color-mix(in srgb,var(--mf-primary) 9%,white),#fff);border-bottom:3px solid transparent;border-image:linear-gradient(90deg,var(--mf-primary),var(--mf-accent)) 1}.mf-inner-header__fallback strong{font-size:19px;grid-row:1/3}.mf-inner-header__fallback span{font-size:12px}.mf-page{padding:28px 28px 56px}.mf-page-title{text-align:center;margin:4px 0 38px}.mf-page-title h1{font-size:26px;line-height:1.4;margin:0;font-weight:600;letter-spacing:.07em}.mf-page-title__en{margin-top:5px;font-size:10px;line-height:1.3;letter-spacing:.18em;color:#8a9299}.mf-page-title:after{content:"";display:block;width:82px;height:3px;margin:13px auto 0;border-radius:3px;background:linear-gradient(90deg,var(--mf-primary),var(--mf-accent))}.mf-entry{line-height:1.9}.mf-entry h2{font-size:20px;padding:9px 12px;border-left:4px solid var(--mf-primary);background:linear-gradient(90deg,color-mix(in srgb,var(--mf-primary) 8%,white),#fff);font-weight:600}.mf-entry h3{font-size:17px;border-bottom:1px solid color-mix(in srgb,var(--mf-primary) 35%,#ddd);padding-bottom:7px;font-weight:600}.mf-footer{background:#fff;color:#27313a;border-top:3px solid transparent;border-image:linear-gradient(90deg,var(--mf-primary),var(--mf-accent)) 1}.mf-footer-main{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:30px 50px 34px}.mf-footer-block h2{margin:0;font-size:15px;color:var(--mf-primary);font-weight:700}.mf-footer-rule{height:1px;margin:8px 0 13px;background:linear-gradient(90deg,var(--mf-primary),var(--mf-accent))}.mf-footer-block p{margin:5px 0;font-size:14px;line-height:1.65}.mf-footer-email{font-size:13px!important}.mf-footer a{color:inherit}.mf-copyright{width:100%;padding:11px 20px;text-align:center;color:#fff;font-size:10px;letter-spacing:.06em;line-height:1.4;background:linear-gradient(90deg,var(--mf-primary),var(--mf-accent))}.mf-menu-button,.mf-drawer,.mf-drawer-overlay{display:none}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){body{background-image:none!important}.mf-inner-header{width:100%}.mf-inner-header__fallback{min-height:92px;padding:16px 62px 16px 16px;display:block}.mf-inner-header__fallback strong{display:block;font-size:15px;margin-bottom:6px}.mf-inner-header__fallback span{display:block;font-size:10px;margin:2px 0}.mf-shell{width:100%}.mf-columns{display:block}.mf-sidebar{display:none}.mf-main{padding:0}.mf-page{padding:22px 18px 40px}.mf-page-title{margin:0 0 30px}.mf-page-title h1{font-size:22px}.mf-page-title__en{font-size:9px}.mf-page-title:after{width:68px;height:3px;margin-top:11px}.mf-keyvisual--poster{padding:16px 12px}.mf-free,.mf-news{margin:18px 14px}.mf-news-head h2{font-size:18px}.mf-news-item{grid-template-columns:84px 1fr;font-size:13px}.mf-news-desktop-only{display:none}.mf-menu-button{display:flex!important;align-items:center;justify-content:center;position:fixed;right:12px;top:12px;z-index:1201;width:44px;height:44px;padding:0;border:1px solid #fff5;border-radius:50%;background:linear-gradient(135deg,var(--mf-primary),var(--mf-accent));box-shadow:0 4px 14px #0002;cursor:pointer}.mf-menu-icon{width:20px;display:grid;gap:4px}.mf-menu-icon i{display:block;height:2px;background:#fff;border-radius:2px}.mf-drawer-overlay{display:block;position:fixed;z-index:1290;inset:0;background:#0008;backdrop-filter:blur(2px)}.mf-drawer-overlay[hidden]{display:none}.mf-drawer{display:block;position:fixed;z-index:1300;inset:0;width:100%;background:#20394c;color:#fff;padding:66px 22px 34px;overflow:auto}.mf-drawer[hidden]{display:none}.mf-drawer-close{position:absolute;right:16px;top:10px;width:44px;height:44px;background:none;border:0;color:#fff;font-size:34px;line-height:1}.mf-drawer ul{list-style:none;margin:0;padding:0}.mf-drawer nav a{display:block;color:#fff;text-decoration:none;padding:14px 16px;border-bottom:1px solid #ffffff24;background-image:linear-gradient(90deg,var(--mf-primary),var(--mf-accent));background-size:0 100%;background-repeat:no-repeat;transition:background-size .22s ease,padding-left .22s ease}.mf-drawer nav .current-menu-item>a,.mf-drawer nav .current_page_item>a{background-size:100% 100%;font-weight:600}.mf-drawer nav a:active{background-size:100% 100%;padding-left:22px}@media(hover:hover){.mf-drawer nav a:hover{background-size:100% 100%;padding-left:22px}}.mf-drawer .mf-social{padding:24px 0 8px}.mf-drawer .mf-side-module,.mf-drawer .mf-side-button{color:#fff;background:transparent!important;border-color:#ffffff35;margin-left:0;margin-right:0}.mf-footer-main{display:block;padding:28px 22px 30px}.mf-footer-block+ .mf-footer-block{margin-top:26px}.mf-footer-block h2{font-size:14px}.mf-footer-block p{font-size:13px}.mf-copyright{font-size:9px;padding:10px 12px}body.mf-drawer-open{overflow:hidden}}


/* v0.3.1: poster + SNS only. Existing v0.3.0 layout/typography is intentionally unchanged. */
.mf-side-poster{margin:10px 6px 8px;text-align:center}
.mf-side-poster a{display:block!important;padding:0!important;background:none!important;background-image:none!important;background-size:auto!important;color:inherit!important}
.mf-side-poster a:hover,.mf-side-poster a:focus-visible{background:none!important;background-image:none!important;color:inherit!important}
.mf-side-poster img{display:block;width:100%;height:auto;margin:0 auto}
.mf-social{display:flex;align-items:center;gap:12px;padding:18px 10px}
.mf-social .mf-social__link{display:flex!important;align-items:center;justify-content:center;width:36px!important;height:36px!important;padding:0!important;border:0!important;border-radius:8px!important;background-image:none!important;background-size:auto!important;text-decoration:none!important;box-shadow:none!important;transition:transform .15s ease,opacity .15s ease!important}
.mf-social .mf-social__link::before,.mf-social .mf-social__link::after{content:none!important;display:none!important}
.mf-social .mf-social__link:hover,.mf-social .mf-social__link:focus-visible{background-image:none!important;background-size:auto!important;color:inherit!important;transform:translateY(-1px);opacity:.86}
.mf-social .mf-social__link svg{display:block;width:23px;height:23px}
.mf-social__link--facebook{background:#1877F2!important;color:#fff!important}
.mf-social__link--x{background:#000!important;color:#fff!important}
.mf-social__link--instagram{background:linear-gradient(135deg,#833AB4,#FD1D1D,#FCAF45)!important;color:#fff!important}
.mf-social__link--youtube{background:#FF0000!important;color:#fff!important}
.mf-social__link--line{background:#06C755!important;color:#fff!important}
@media(max-width:900px){.mf-drawer .mf-social{gap:14px;padding:24px 0 12px}.mf-drawer .mf-social .mf-social__link{width:40px!important;height:40px!important}.mf-drawer .mf-social .mf-social__link svg{width:25px;height:25px}.mf-drawer .mf-side-poster{margin:18px 0 10px;max-width:280px}.mf-drawer .mf-side-poster a{border:0!important}}


/* ==========================================================
   MEDIFULL SITE Standard 01 v1.0.0 accepted adjustments
   ========================================================== */
/* ==========================================================
   MEDIFULL SITE Standard 01
   CUSTOM CSS / CLEAN VERSION
   ========================================================== */


/* ==========================================================
   01. 固定ページ PCヘッダー
   ========================================================== */

@media (min-width: 769px) {

    .mf-inner-header {
        width: 100vw !important;
        max-width: none !important;

        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;

        padding: 0 !important;

        border-bottom: 3px solid transparent !important;

        border-image:
            linear-gradient(
                90deg,
                var(--mf-primary),
                var(--mf-accent)
            ) 1 !important;
    }

    .mf-inner-header__picture {
        display: block !important;

        width: 100% !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    .mf-inner-header__picture img {
        display: block !important;

        width: 100% !important;
        max-width: none !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;
    }
}


/* ==========================================================
   02. TOP NEWS
   ========================================================== */

.mf-news {
    margin: 40px 0;
    padding: 32px 0;

    border-top:
        1px solid
        color-mix(
            in srgb,
            var(--mf-primary) 22%,
            transparent
        );

    border-bottom:
        1px solid
        color-mix(
            in srgb,
            var(--mf-primary) 22%,
            transparent
        );
}


.mf-news h2 {
    font-size: 24px;
    font-weight: 700;
}


.mf-news-list {
    font-size: 16px;
}


.mf-news-list time {
    font-size: 14px;
}


.mf-news-list a {
    font-size: 16px;
    font-weight: 600;
}


/* NEWS 一覧ボタン */

.mf-news-more a,
.mf-news-head a {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-width: 120px;

    padding: 9px 20px;

    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;

    color: var(--mf-primary);

    text-decoration: none;

    background: #fff;

    border: 1px solid var(--mf-primary);
    border-radius: 4px;

    transition:
        color .15s ease,
        background .15s ease;
}


.mf-news-more a:hover,
.mf-news-head a:hover {
    color: #fff;

    background: var(--mf-primary);
}


/* ==========================================================
   03. SNS
   Facebook / X / Instagram / YouTube / LINE = SVG
   ========================================================== */

.mf-social {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 100%;

    gap: 12px !important;

    padding: 18px 6px 20px !important;

    box-sizing: border-box;
}


.mf-social__link {
    display: inline-flex !important;

    align-items: center;
    justify-content: center;

    flex: 0 0 36px !important;

    width: 36px !important;
    height: 40px !important;

    padding: 0 !important;
    margin: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: none !important;
    background-image: none !important;

    box-shadow: none !important;

    text-decoration: none !important;

    transition:
        opacity .15s ease,
        transform .15s ease;
}


.mf-social__link::before,
.mf-social__link::after {
    display: none !important;
    content: none !important;
}


.mf-social__link:hover,
.mf-social__link:focus-visible {
    background: none !important;
    background-image: none !important;

    opacity: .78;

    transform: translateY(-1px);
}


/* SNS画像共通 */

.mf-social__icon {
    display: block !important;

    width: 35px !important;
    height: 35px !important;

    object-fit: contain;

    max-width: none !important;
    max-height: none !important;
}


/* ==========================================================
   04. PC / SP メニュー共通

   通常    = 黒文字
   hover   = グラデーション文字
   current = グラデーション背景 + 白文字
   ========================================================== */


/* 通常文字 */

.mf-sidebar .mf-menu-label,
#mf-mobile-drawer .mf-menu-label {
    display: inline-block;

    color: #17212b;

    -webkit-text-fill-color: #17212b;
}


/* ----------------------------------------------------------
   hover

   <a>自体にはグラデーションを掛けない
   ---------------------------------------------------------- */

.mf-sidebar a:hover,
.mf-sidebar a:focus-visible,
#mf-mobile-drawer nav a:hover,
#mf-mobile-drawer nav a:focus-visible {
    background: transparent !important;
    background-image: none !important;
}


/* 文字だけグラデーション */

.mf-sidebar a:hover .mf-menu-label,
.mf-sidebar a:focus-visible .mf-menu-label,
#mf-mobile-drawer nav a:hover .mf-menu-label,
#mf-mobile-drawer nav a:focus-visible .mf-menu-label {

    background:
        var(--mf-gradient);

    background-repeat: no-repeat;

    -webkit-background-clip: text;
    background-clip: text;

    color: transparent !important;

    -webkit-text-fill-color: transparent !important;
}


/* ----------------------------------------------------------
   現在ページ
   ---------------------------------------------------------- */

.mf-sidebar .current-menu-item > a,
.mf-sidebar .current_page_item > a,
#mf-mobile-drawer nav .current-menu-item > a,
#mf-mobile-drawer nav .current_page_item > a {

    background:
        var(--mf-gradient) !important;

    font-weight: 600 !important;
}


/* current文字は白 */

.mf-sidebar .current-menu-item > a .mf-menu-label,
.mf-sidebar .current_page_item > a .mf-menu-label,
#mf-mobile-drawer nav .current-menu-item > a .mf-menu-label,
#mf-mobile-drawer nav .current_page_item > a .mf-menu-label {

    background: none !important;

    color: #fff !important;

    -webkit-text-fill-color: #fff !important;
}


/* currentにhoverしても白のまま */

.mf-sidebar .current-menu-item > a:hover .mf-menu-label,
.mf-sidebar .current_page_item > a:hover .mf-menu-label,
.mf-sidebar .current-menu-item > a:focus-visible .mf-menu-label,
.mf-sidebar .current_page_item > a:focus-visible .mf-menu-label,
#mf-mobile-drawer nav .current-menu-item > a:hover .mf-menu-label,
#mf-mobile-drawer nav .current_page_item > a:hover .mf-menu-label,
#mf-mobile-drawer nav .current-menu-item > a:focus-visible .mf-menu-label,
#mf-mobile-drawer nav .current_page_item > a:focus-visible .mf-menu-label {

    background: none !important;

    color: #fff !important;

    -webkit-text-fill-color: #fff !important;
}


/* ==========================================================
   05. SP ドロワー
   PCサイドバーと同じデザイン
   ========================================================== */

@media (max-width: 900px) {


    /* ドロワー本体 */

    html body #mf-mobile-drawer.mf-drawer {
        background: var(--mf-sidebar-bg) !important;

        color: #17212b !important;
    }


    /* メニューリスト */

    #mf-mobile-drawer nav ul {
        list-style: none !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    /* メニュー */

    #mf-mobile-drawer nav a {
        display: block !important;

        padding: 11px 14px !important;

        color: #17212b !important;

        text-decoration: none !important;

        border-bottom:
            1px dotted #cbd5db !important;

        background: none;
        background-image: none;

        transition:
            color .15s ease !important;
    }


    /* 通常項目 hover */

    #mf-mobile-drawer nav a:hover,
    #mf-mobile-drawer nav a:focus-visible {
        background: transparent !important;
        background-image: none !important;

        padding-left: 14px !important;
    }


    /* スマホのタップ中 */

    #mf-mobile-drawer nav a:active {
        background: transparent !important;
        background-image: none !important;

        padding-left: 14px !important;
    }


    /* currentはタップしてもグラデーション維持 */

    #mf-mobile-drawer nav .current-menu-item > a:active,
    #mf-mobile-drawer nav .current_page_item > a:active {

        background:
            linear-gradient(
                90deg,
                var(--mf-primary),
                var(--mf-accent)
            ) !important;
    }


    #mf-mobile-drawer nav .current-menu-item > a:active .mf-menu-label,
    #mf-mobile-drawer nav .current_page_item > a:active .mf-menu-label {

        background: none !important;

        color: #fff !important;

        -webkit-text-fill-color: #fff !important;
    }


    /* ======================================================
       SP SNS
       ====================================================== */

    #mf-mobile-drawer .mf-social {
        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;

        gap: 22px !important;

        padding: 20px 0 22px !important;

        background: transparent !important;

        box-sizing: border-box !important;
    }


    #mf-mobile-drawer .mf-social__link {
        flex: 0 0 36px !important;

        width: 36px !important;
        height: 40px !important;

        background: none !important;
        background-image: none !important;

        border: 0 !important;
        border-radius: 0 !important;
    }


    /* ======================================================
       閉じる ×
       ====================================================== */

    #mf-mobile-drawer .mf-drawer-close {
        color: var(--mf-primary) !important;

        background: transparent !important;

        border: 0 !important;
    }


    /* ======================================================
       06. SP ポスター
       ====================================================== */

    #mf-mobile-drawer .mf-side-poster {
        width: 100% !important;

        max-width: none !important;

        margin:
            18px auto 10px !important;

        text-align: center !important;
    }


    #mf-mobile-drawer .mf-side-poster a {
        display: inline-block !important;

        width: auto !important;

        padding: 0 !important;

        background: none !important;
        background-image: none !important;
    }


    #mf-mobile-drawer .mf-side-poster img {
        display: block !important;

        width: auto !important;
        max-width: 220px !important;
        height: auto !important;

        margin: 0 auto !important;
    }

}


/* ==========================================================
   07. SP：NEWS 左右余白
   ========================================================== */

@media (max-width: 768px) {

    .mf-news {
        margin-left: 20px !important;
        margin-right: 20px !important;
    }
}
/* ======================================================
   08. SP：ハンバーガーメニュー
   ====================================================== */

@media (max-width: 900px) {

    .mf-menu-button {
        width: 52px !important;
        height: 52px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        padding: 0 !important;

        background:
            var(--mf-gradient-diagonal) !important;

        border: 0 !important;
        border-radius: 50% !important;

        box-shadow:
            0 3px 10px rgba(0, 0, 0, .18) !important;
    }


    /* ハンバーガー3本線 */

    .mf-menu-icon i {
        width: 24px !important;
        height: 2px !important;

        background: #fff !important;

        border-radius: 2px !important;
    }


    /* タップ時 */

    .mf-menu-button:active {
        transform: scale(.96);
    }
}
/* ==========================================================
   09. ページ上部へ戻るボタン
   テーマカラー連動
   ========================================================== */

.mf-back-to-top {
    position: fixed;

    right: 24px;
    bottom: 24px;

    z-index: 999;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 48px;
    height: 48px;

    padding: 0;

    border: 0;
    border-radius: 50%;

    /* 管理画面で設定したテーマカラー */
    background:
        linear-gradient(
            135deg,
            var(--mf-primary),
            var(--mf-accent)
        ) !important;

    box-shadow:
        0 3px 12px rgba(0, 0, 0, .18);

    cursor: pointer;

    opacity: 0;
    visibility: hidden;

    transform: translateY(10px);

    transition:
        opacity .2s ease,
        visibility .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}


/* スクロール後に表示 */

.mf-back-to-top.is-visible {
    opacity: 1;
    visibility: visible;

    transform: translateY(0);
}


/* 白い矢印 */

.mf-back-to-top__arrow {
    display: block;

    width: 12px;
    height: 12px;

    border-top: 3px solid #fff;
    border-left: 3px solid #fff;

    transform:
        translateY(3px)
        rotate(45deg);
}


/* PC hover */

.mf-back-to-top:hover,
.mf-back-to-top:focus-visible {
    background:
        linear-gradient(
            135deg,
            var(--mf-primary),
            var(--mf-accent)
        ) !important;

    box-shadow:
        0 5px 16px rgba(0, 0, 0, .24);

    transform: translateY(-2px);
}


/* ==========================================================
   SP
   少し大きくして押しやすく
   ========================================================== */

@media (max-width: 768px) {

    .mf-back-to-top {
        right: 16px;
        bottom: 16px;

        width: 52px;
        height: 52px;
    }

    .mf-back-to-top__arrow {
        width: 13px;
        height: 13px;
    }
}

/* ==========================================================
   11. 10. TOP：サイドバー大会名
   ========================================================== */

.mf-top-site-title {
    box-sizing: border-box;

    display: flex;
    align-items: center;

    width: 100%;
    min-height: 100px;

    padding: 18px 14px;
    margin-bottom: 12px;

    background: #fff;

    color: #17212b;

    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;

}

@media (max-width: 900px) {
    .mf-top-site-title {
        display: none;
    }
}
/* ==========================================================
   11. フッター
   ========================================================== */

.mf-footer .mf-footer-name,
.mf-footer .mf-footer-name a {
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
}

.mf-footer .mf-footer-name {
    margin: 0 0 8px !important;
}

.mf-footer .mf-footer-name a {
    color: #17212b !important;
    text-decoration: none !important;
}

.mf-footer .mf-footer-name a:hover {
    color: var(--mf-primary) !important;
    text-decoration: underline !important;
}


/* 郵便番号以下の行間 */

.mf-footer-details {
    margin: 0;
}

.mf-footer-details p {
    margin: 0 0 4px !important;
    line-height: 1.55 !important;
}

.mf-footer-details p:last-child {
    margin-bottom: 0 !important;
}


/* お問い合わせボタン */

.mf-footer-contact {
    margin: 14px 0 0 !important;
}

.mf-footer-contact-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 140px;
    padding: 9px 20px;

    background:
        var(--mf-gradient);

    color: #fff !important;

    font-size: 15px;
    font-weight: 700;

    text-decoration: none !important;

    border: 0;
    border-radius: 4px;

    transition:
        opacity .15s ease,
        transform .15s ease;
}

.mf-footer-contact-button:hover,
.mf-footer-contact-button:focus-visible {
    color: #fff !important;
    opacity: .88;
    transform: translateY(-1px);
}
/* ==========================================================
   12. サイドバー：ポスターPDFボタン
   ========================================================== */

.mf-sidebar .mf-side-button,
#mf-mobile-drawer .mf-side-button {
    display: block !important;
    width: fit-content !important;

    margin: 12px auto 20px !important;
    padding: 9px 18px !important;

    color: var(--mf-primary) !important;
    -webkit-text-fill-color: var(--mf-primary) !important;

    background: transparent !important;
    background-image: none !important;

    border: 2px solid var(--mf-primary) !important;
    border-radius: 4px !important;

    font-weight: 600 !important;
    line-height: 1.4 !important;

    text-align: center !important;
    text-decoration: none !important;

    box-shadow: none !important;
}


/* 余計な線・装飾を完全に消す */

.mf-sidebar .mf-side-button::before,
.mf-sidebar .mf-side-button::after,
#mf-mobile-drawer .mf-side-button::before,
#mf-mobile-drawer .mf-side-button::after {
    content: none !important;
    display: none !important;
}


/* hover */

.mf-sidebar .mf-side-button:hover,
.mf-sidebar .mf-side-button:focus-visible,
#mf-mobile-drawer .mf-side-button:hover,
#mf-mobile-drawer .mf-side-button:focus-visible {
    color: var(--mf-primary) !important;
    -webkit-text-fill-color: var(--mf-primary) !important;

    background: color-mix(
        in srgb,
        var(--mf-primary) 7%,
        transparent
    ) !important;

    text-decoration: none !important;
}


/* ==========================================================
   MEDIFULL SITE Standard 01
   PC fixed-page header: 80px fixed height
   ========================================================== */
@media (min-width: 769px) {
    .mf-inner-header {
        height: 80px !important;
    }

    .mf-inner-header__picture {
        display: block !important;
        width: 100% !important;
        height: 80px !important;
        overflow: hidden !important;
    }

    .mf-inner-header__picture img {
        display: block !important;
        width: 100% !important;
        height: 80px !important;
        object-fit: cover !important;
        object-position: center center !important;
    }
}


/* ==========================================================
   MEDIFULL SITE Standard 01
   Sidebar / drawer final menu design
   ========================================================== */
.mf-sidebar .menu > li > a,
#mf-mobile-drawer nav .menu > li > a {
    position: relative !important;
    display: block !important;
    padding: 11px 14px !important;
    color: #17212b !important;
    font-weight: 600 !important;
    letter-spacing: .02em !important;
    text-decoration: none !important;
    border-bottom: 1px dotted rgba(23,33,43,.22) !important;
    border-radius: 5px !important;
    background: transparent !important;
    background-image: none !important;
}

/* メニュー文字そのものも太字を確実に適用 */
.mf-sidebar .menu > li > a .mf-menu-label,
#mf-mobile-drawer nav .menu > li > a .mf-menu-label {
    font-weight: 600 !important;
}

/* hover：背景は塗らず、文字をテーマグラデーションに */
.mf-sidebar .menu > li > a:hover,
.mf-sidebar .menu > li > a:focus-visible,
#mf-mobile-drawer nav .menu > li > a:hover,
#mf-mobile-drawer nav .menu > li > a:focus-visible {
    background: transparent !important;
    background-image: none !important;
}

.mf-sidebar .menu > li > a:hover .mf-menu-label,
.mf-sidebar .menu > li > a:focus-visible .mf-menu-label,
#mf-mobile-drawer nav .menu > li > a:hover .mf-menu-label,
#mf-mobile-drawer nav .menu > li > a:focus-visible .mf-menu-label {
    background: var(--mf-gradient) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
}

/* hover時の右側ショートライン */
.mf-sidebar .menu > li > a::after,
#mf-mobile-drawer nav .menu > li > a::after {
    content: "" !important;
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    width: 0 !important;
    height: 2px !important;
    transform: translateY(-50%) !important;
    border-radius: 2px !important;
    background: var(--mf-gradient) !important;
    transition: width .16s ease !important;
}
.mf-sidebar .menu > li > a:hover::after,
.mf-sidebar .menu > li > a:focus-visible::after,
#mf-mobile-drawer nav .menu > li > a:hover::after,
#mf-mobile-drawer nav .menu > li > a:focus-visible::after {
    width: 30px !important;
}

/* 現在ページ */
.mf-sidebar .menu > li.current-menu-item > a,
.mf-sidebar .menu > li.current_page_item > a,
.mf-sidebar .menu > li.current-menu-ancestor > a,
#mf-mobile-drawer nav .menu > li.current-menu-item > a,
#mf-mobile-drawer nav .menu > li.current_page_item > a,
#mf-mobile-drawer nav .menu > li.current-menu-ancestor > a {
    color: #fff !important;
    background: var(--mf-gradient) !important;
    font-weight: 700 !important;
    border-radius: 5px !important;
}
.mf-sidebar .menu > li.current-menu-item > a .mf-menu-label,
.mf-sidebar .menu > li.current_page_item > a .mf-menu-label,
.mf-sidebar .menu > li.current-menu-ancestor > a .mf-menu-label,
#mf-mobile-drawer nav .menu > li.current-menu-item > a .mf-menu-label,
#mf-mobile-drawer nav .menu > li.current_page_item > a .mf-menu-label,
#mf-mobile-drawer nav .menu > li.current-menu-ancestor > a .mf-menu-label {
    background: none !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-weight: 700 !important;
}
.mf-sidebar .menu > li.current-menu-item > a::after,
.mf-sidebar .menu > li.current_page_item > a::after,
.mf-sidebar .menu > li.current-menu-ancestor > a::after,
#mf-mobile-drawer nav .menu > li.current-menu-item > a::after,
#mf-mobile-drawer nav .menu > li.current_page_item > a::after,
#mf-mobile-drawer nav .menu > li.current-menu-ancestor > a::after {
    display: none !important;
}


/* ==========================================================
   MEDIFULL SITE Standard 01
   SNS final: original full-color SVG assets
   ========================================================== */
.mf-social {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;
    width:100% !important;
    padding:18px 6px 20px !important;
}
.mf-social__link,
#mf-mobile-drawer .mf-social__link {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 0 36px !important;
    width:36px !important;
    height:40px !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    background-image:none !important;
    box-shadow:none !important;
    color:inherit !important;
    opacity:1 !important;
}
.mf-social__link::before,
.mf-social__link::after,
#mf-mobile-drawer .mf-social__link::before,
#mf-mobile-drawer .mf-social__link::after {
    content:none !important;
    display:none !important;
}
.mf-social__icon,
#mf-mobile-drawer .mf-social__icon {
    display:block !important;
    width:35px !important;
    height:35px !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:contain !important;
    filter:none !important;
    opacity:1 !important;
    mix-blend-mode:normal !important;
}
.mf-social__link:hover,
.mf-social__link:focus-visible,
#mf-mobile-drawer .mf-social__link:hover,
#mf-mobile-drawer .mf-social__link:focus-visible {
    background:transparent !important;
    background-image:none !important;
    opacity:.78 !important;
    transform:translateY(-1px);
}
@media (max-width:900px) {
    #mf-mobile-drawer .mf-social {
        gap:22px !important;
        padding:20px 0 22px !important;
        background:transparent !important;
    }
}


/* ==========================================================
   MEDIFULL SITE Standard 01
   NEWS final layout
   ========================================================== */

/* NEWSセクション外周の長い線は使用しない */
.mf-news {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 860px !important;
    margin: 36px auto 44px !important;
    padding: 0 20px !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
}

/* 見出し */
.mf-news-head {
    position: relative !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
    min-height: 82px !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    border: 0 !important;
}
.mf-news-head h2 {
    margin: 0 !important;
    padding: 0 0 22px !important;
    color: #17212b !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-align: center !important;
}
.mf-news-head h2::after {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    bottom: 18px !important;
    width: 82px !important;
    height: 3px !important;
    transform: translateX(-50%) !important;
    border-radius: 3px !important;
    background: var(--mf-gradient) !important;
}

/* 一覧を見る：右上。テーマ色に必ず追従 */
.mf-news-head > a,
.mf-news-head .mf-news-more {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 120px !important;
    min-height: 40px !important;
    padding: 8px 18px !important;
    color: var(--mf-primary) !important;
    -webkit-text-fill-color: var(--mf-primary) !important;
    background: #fff !important;
    background-image: none !important;
    border: 1px solid var(--mf-primary) !important;
    border-radius: 4px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
}
.mf-news-head > a:hover,
.mf-news-head > a:focus-visible,
.mf-news-head .mf-news-more:hover,
.mf-news-head .mf-news-more:focus-visible {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    background: var(--mf-gradient) !important;
    border-color: transparent !important;
}

/* お知らせ各行：構造線なのでテーマ色ではなく薄いグレー */
.mf-news-list,
.mf-news-list ul {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}
.mf-news-item,
.mf-news-list li {
    box-sizing: border-box !important;
    border-top: 0 !important;
    border-bottom: 1px solid #d7e0e5 !important;
}
.mf-news-item:first-child,
.mf-news-list li:first-child {
    border-top: 0 !important;
}

/* NEWS内部に残った古い装飾線を抑止 */
.mf-news::before,
.mf-news::after,
.mf-news-head::before {
    content: none !important;
    display: none !important;
}

@media (max-width: 768px) {
    .mf-news {
        max-width: none !important;
        margin: 30px 0 38px !important;
        padding: 0 20px !important;
    }
    .mf-news-head {
        min-height: 110px !important;
        margin-bottom: 12px !important;
    }
    .mf-news-head > a,
    .mf-news-head .mf-news-more {
        top: 58px !important;
        right: 0 !important;
        min-width: 108px !important;
        min-height: 36px !important;
        padding: 7px 14px !important;
    }
}


/* ==========================================================
   SNS AUTHORITATIVE FINAL (restored from MEDIFULL_SNS_final.zip)
   ========================================================== */
/* MEDIFULL SITE / SNS final
   Instagram: optimized PNG
   Facebook / X / YouTube / LINE: SVG
   Brand colors are contained in the source assets. */

.mf-social {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 22px 14px 24px;
}

.mf-social__link {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: none !important;
    background-image: none !important;
    text-decoration: none !important;
    transition: opacity .15s ease, transform .15s ease;
}

.mf-social__link::before,
.mf-social__link::after {
    display: none !important;
    content: none !important;
}

.mf-social__link:hover {
    opacity: .78;
    transform: translateY(-1px);
}

.mf-social__icon {
    display: block !important;
    object-fit: contain;
    max-width: none !important;
    max-height: none !important;
}

/* Optical sizing: same 44px click area, visually balanced marks */
.mf-social__icon--facebook  { width: 29px !important; height: 29px !important; }
.mf-social__icon--x         { width: 27px !important; height: 27px !important; }
.mf-social__icon--instagram { width: 29px !important; height: 29px !important; }
.mf-social__icon--youtube   { width: 31px !important; height: auto !important; }
.mf-social__icon--line      { width: 29px !important; height: 29px !important; }

#mf-mobile-drawer .mf-social {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:16px !important;
    padding:22px 14px 24px !important;
    background:transparent !important;
}
#mf-mobile-drawer .mf-social__link {
    flex:0 0 44px !important;
    width:44px !important;
    height:44px !important;
}
#mf-mobile-drawer .mf-social__icon--facebook  { width:29px !important; height:29px !important; }
#mf-mobile-drawer .mf-social__icon--x         { width:27px !important; height:27px !important; }
#mf-mobile-drawer .mf-social__icon--instagram { width:29px !important; height:29px !important; }
#mf-mobile-drawer .mf-social__icon--youtube   { width:31px !important; height:auto !important; }
#mf-mobile-drawer .mf-social__icon--line      { width:29px !important; height:29px !important; }


/* ==========================================================
   NEWS archive (/news/) final
   ========================================================== */
.mf-news-archive-list {
    width:100% !important;
    max-width:860px !important;
    margin:28px auto 40px !important;
    padding:0 20px !important;
    box-sizing:border-box !important;
}
.mf-news-archive-list .mf-news-item {
    display:grid !important;
    grid-template-columns:110px minmax(0,1fr) !important;
    gap:18px !important;
    align-items:center !important;
    padding:14px 4px !important;
    border-top:0 !important;
    border-bottom:1px solid #d7e0e5 !important;
    color:#17212b !important;
    text-decoration:none !important;
}
.mf-news-archive-list .mf-news-item time {
    font-weight:600 !important;
    white-space:nowrap !important;
}
.mf-news-archive-list .mf-news-item span {
    font-weight:600 !important;
}
.mf-news-archive-list .mf-news-item:hover span {
    color:var(--mf-primary) !important;
}
.mf-news-empty {
    margin:0 !important;
    padding:24px 4px !important;
    border-bottom:1px solid #d7e0e5 !important;
}
@media (max-width:768px) {
    .mf-news-archive-list {
        max-width:none !important;
        margin:20px 0 32px !important;
        padding:0 20px !important;
    }
    .mf-news-archive-list .mf-news-item {
        grid-template-columns:1fr !important;
        gap:5px !important;
        padding:13px 0 !important;
    }
}


/* ==========================================================
   FINAL: FCET34 confirmed SNS / NEWS presentation
   ========================================================== */
.mf-social,
#mf-mobile-drawer .mf-social {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;
    width:100% !important;
    padding:18px 6px 20px !important;
    background:transparent !important;
}
.mf-social__link,
#mf-mobile-drawer .mf-social__link {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 0 36px !important;
    width:36px !important;
    height:40px !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    background-color:transparent !important;
    background-image:none !important;
    box-shadow:none !important;
    filter:none !important;
}
.mf-social__link::before,
.mf-social__link::after,
#mf-mobile-drawer .mf-social__link::before,
#mf-mobile-drawer .mf-social__link::after {
    content:none !important;
    display:none !important;
}
.mf-social__icon,
#mf-mobile-drawer .mf-social__icon {
    display:block !important;
    width:35px !important;
    height:35px !important;
    max-width:35px !important;
    max-height:35px !important;
    object-fit:contain !important;
    filter:none !important;
    opacity:1 !important;
    mix-blend-mode:normal !important;
}
.mf-social__link:hover,
.mf-social__link:focus-visible,
#mf-mobile-drawer .mf-social__link:hover,
#mf-mobile-drawer .mf-social__link:focus-visible {
    background:transparent !important;
    background-image:none !important;
    opacity:.78 !important;
}

/* TOP NEWS：外周の長い線を廃止し、左右余白を確保 */
.mf-news {
    box-sizing:border-box !important;
    width:auto !important;
    max-width:none !important;
    margin:40px 20px !important;
    padding:0 !important;
    border:0 !important;
}
.mf-news::before,
.mf-news::after {
    content:none !important;
    display:none !important;
}
.mf-news-head {
    margin:0 0 8px !important;
    padding:0 0 12px !important;
    border:0 !important;
}
.mf-news-head h2 {
    position:relative !important;
    margin:0 !important;
    padding:0 0 12px !important;
    font-size:24px !important;
    font-weight:700 !important;
}
.mf-news-head h2::after {
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    bottom:0 !important;
    width:82px !important;
    height:3px !important;
    border-radius:3px !important;
    background:var(--mf-gradient) !important;
}
.mf-news-head > a {
    color:var(--mf-primary) !important;
    -webkit-text-fill-color:var(--mf-primary) !important;
    background:#fff !important;
    background-image:none !important;
    border:1px solid var(--mf-primary) !important;
    border-radius:4px !important;
    padding:7px 16px !important;
    font-weight:600 !important;
}
.mf-news-head > a:hover,
.mf-news-head > a:focus-visible {
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    background:var(--mf-gradient) !important;
    border-color:transparent !important;
}
.mf-news-item {
    border-top:0 !important;
    border-bottom:1px solid #d7e0e5 !important;
}
.mf-page > .mf-news-list {
    width:auto !important;
    margin-left:20px !important;
    margin-right:20px !important;
}
@media (max-width:768px) {
    .mf-news {
        margin:30px 20px 38px !important;
    }
    .mf-page > .mf-news-list {
        margin-left:0 !important;
        margin-right:0 !important;
    }
}


/* ==========================================================
   MEDIFULL SITE Standard 01 v1.0.1
   FINAL: sidebar / SP menu background
   Source: MEDIFULL SITE > サイドバー・SPメニュー背景色
   ========================================================== */
.mf-sidebar {
    background: var(--mf-sidebar-bg, #F1F5F7) !important;
}
@media (max-width:900px) {
    html body #mf-mobile-drawer.mf-drawer,
    #mf-mobile-drawer .mf-drawer__inner,
    #mf-mobile-drawer .mf-mobile-drawer__inner {
        background: var(--mf-sidebar-bg, #F1F5F7) !important;
        background-image:none !important;
    }
}


/* FINAL MASTER: poster + PDF button white card */
.mf-poster-card {
    margin:12px 6px 0;
    padding:10px;
    background:#fff;
    border-radius:4px;
}
.mf-poster-card .mf-side-poster { margin:0 0 10px; }
.mf-poster-card .mf-side-button { display:block; margin:0; }
@media (max-width:900px) {
    #mf-mobile-drawer .mf-poster-card {
        max-width:300px;
        margin:18px auto 0;
        padding:10px;
        background:#fff !important;
        border-radius:4px;
    }
    #mf-mobile-drawer .mf-poster-card .mf-side-poster {
        margin:0 0 10px;
        max-width:none;
    }
    #mf-mobile-drawer .mf-poster-card .mf-side-button {
        color:var(--mf-primary) !important;
        border-color:var(--mf-primary) !important;
        background:#fff !important;
    }
}

/* ==========================================================
   MEDIFULL SITE — final surgical fixes
   1) Keep menu geometry unchanged; draw dotted separator as overlay.
   2) Keep TOP NEWS underline centered under the centered heading.
   ========================================================== */
.mf-sidebar .menu > li,
#mf-mobile-drawer nav .menu > li {
    position: relative !important;
}
.mf-sidebar .menu > li > a,
#mf-mobile-drawer nav .menu > li > a {
    border-bottom: 1px solid transparent !important;
}
.mf-sidebar .menu > li::after,
#mf-mobile-drawer nav .menu > li::after {
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 0 !important;
    border-bottom: 1px dotted rgba(23,33,43,.22) !important;
    pointer-events: none !important;
    z-index: 2 !important;
}

.mf-news-head h2::after {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
}
