/*
Theme Name: fma-theme
Template: blockbase
Version: 1.7
*/

/* =========================================================
   Import
   ========================================================= */
@import 'styles/core.css';
@import 'styles/parts.css';
@import 'styles/responsive.css';
@import 'styles/main.css';


/* =========================================================
   0) カスタムプロパティ / ベース
   ========================================================= */
:root{
    --fdma-blue:#0055aa;
    --fdma-blue-90:#1e70c1;
    --fdma-gray-900:#333;
    --fdma-gray:#333;
    --fdma-font:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP","Segoe UI","Meiryo",sans-serif;
}


.fma-fullbleed {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;  /* 左端へ吐き出す */
    margin-right: calc(50% - 50vw) !important; /* 右端へ吐き出す */
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow: visible; /* 念のため */
}
/* Group/Columns など “中身” に自動で入る余白を殺す */
.fma-fullbleed:is(.wp-block-group, .is-layout-constrained) {
    --wp--style--root--padding-left: 0;
    --wp--style--root--padding-right: 0;
}

.wp-site-blocks {
    padding-left: 0 !important;
    padding-right: 0 !important;
}



html{font-size:16px;}
html,body{overflow-x:clip;}


body{
    font-family:var(--fdma-font);
    color:var(--fdma-gray);
    font-size:16px;
    line-height:1.75;
    margin:0;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}

/* タイポ基本 */
p{margin:0 0 1.3rem;}
ul,ol{margin:0 0 1.6rem 1.6rem; padding:0;}
li{margin:.45rem 0;}
a{color:var(--fdma-blue); text-decoration:underline; transition:opacity .2s;}
a:hover{opacity:.7;}


/* =========================================================
   1) レイアウト共通
   ========================================================= */
.header-contents{max-width:1200px; width:100%; margin:0 auto;}
.main-contents{margin:0 auto; max-width:100vw;}
.main-contents-outer{margin-top:0;}
.main-contents-wrapper .entry-content{background:#fff; padding:2rem; margin-top:2rem;}
.main-contents-wrapper.single-page{max-width:1200px; margin:0 auto;}

.main-contents-outer {
    max-width: 1200px;
    margin: 0 auto;
    background: #fff;
    padding: 2rem;
    margin-top: 2rem;
}

.wp-block-group.taxonomy-wrapper{
    padding: 2rem 2rem 3rem;
}

.single-content-wrapper{
    overflow:auto;
}



@media (max-width:767px){
  .main-contents-outer {
      padding: 0.5rem;
  }

}



/* =========================================================
   2) 見出し
   ========================================================= */
.page-title-main{
    font-size:2.375rem; font-weight:700; text-align:center; color:#fff;
    background:var(--fdma-blue); padding:3rem 0; margin:0 0 2.5rem; position:static;
}
.page-title-main::after{display:none;}

h2{
    display:block; font-size:1.5rem; font-weight:700; color:#fff;
    background:#1e6fd9; padding:.6em 1em; margin:2.5em 0 1em; border-radius:4px;
}
h3{font-size:1.2rem; font-weight:600; padding-left:.75rem; margin:1.5rem 0 1rem; color:#333;}
h4{font-size:1.05rem; font-weight:600; border-bottom:2px solid #eee; padding-bottom:.25rem; margin:1.5rem 0 .75rem; color:#444;}
h5{font-size:1rem; font-weight:500; color:#666; margin:1rem 0 .5rem;}
h6{font-size:.95rem; font-weight:500; font-style:italic; color:#999; margin:.75rem 0 .5rem;}

/* 固定ページテンプレート h3 飾り */
.main-contents-wrapper h3{
    font-size:1.375rem; font-weight:600; margin:2rem 0 1rem; position:relative; padding-left:1rem;
}
.main-contents-wrapper h3::before{
    content:''; position:absolute; left:0; top:.15em; bottom:.15em; width:6px; background:var(--fdma-blue); border-radius:3px;
}
/* =========================================================
   3) トップバー / 検索（PC=通常, モバイル=固定）
   ========================================================= */
:root{
    --topbar-h: 65px;
}

.topbar-wrapper{ background:#fff; }
#topbar.wp-block-group.topbar{
    display:flex; align-items:center; justify-content:space-between;
    gap:16px; padding:10px 16px; height:var(--topbar-h);
}
.topbar{ background:#fff; padding:6px 16px; font-size:.875rem; line-height:1.4; color:#333; width:100%; }

/* ロゴ／右側 */
.topbar-logo{ flex:0 0 auto; }
.topbar-logo img{ display:block; height:auto; }
.topbar-right{ display:flex; align-items:center; gap:16px; }

.topbar a{ text-decoration:none; }
.topbar-inquiry a{ text-decoration:none; color:gray; }
.topbar-sitemap a{ color:gray; }

/* 検索（共通化） */
.topbar-search,
#topbar .topbar-search{ display:flex; align-items:center; }
.topbar-search .wp-block-search__inside-wrapper,
#topbar .topbar-search .wp-block-search__inside-wrapper{
    display:flex; border:1px solid #aaa; border-radius:4px; overflow:hidden;
}
.topbar-search input[type="search"],
#topbar .topbar-search input[type="search"]{
    padding:6px 8px; border:none; min-width:160px; font-size:.875rem;
}
.topbar-search button{
    position:relative; width:40px; padding:6px 12px; border:none;
    background:#0072C6; color:#fff; cursor:pointer; transition:background .2s; font-size:0;
}
.topbar-search button::before{
    content:"\f002"; font-family:"Font Awesome 6 Free"; font-weight:900; font-size:14px;
    position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
}
.topbar-search button:hover{ background:#00579F; }
.topbar-search .wp-block-search__label,
#topbar .topbar-search .wp-block-search__label{
    position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
    clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0;
}

/* モバイルアクション（検索/メニュー/SNS） */
.icon-btn{ display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.icon-btn .wp-block-button__link{
    display:inline-flex; flex-direction:column; justify-content:center;
    width:44px; height:44px; padding:0; border:none; background:none; color:#333;
    line-height:1; text-decoration:none; border-radius:12px;
}
.icon-btn .wp-block-button__link:hover{ box-shadow:0 2px 10px rgba(0,0,0,.06); }
.icon-btn .wp-block-button__link:active{ transform:translateY(1px); }
.icon-btn .wp-block-button__link:focus-visible{ outline:2px solid transparent; box-shadow:0 0 0 3px rgba(62,150,219,.35); }
.responsive-menu-label{ display:block; margin-top:2px; font-size:.7rem; color:#333; }
.topbar-mobile-actions{ display:none; align-items:center; gap:10px; }
.topbar-mobile-sns{ display:flex; align-items:center; gap:8px; }
.topbar-mobile-sns .sns-btn .wp-block-button__link{ width:36px; height:36px; border:1px solid #e5e7eb; border-radius:10px; background:#fff; }
.topbar-mobile-actions .icon-btn .responsive-menu-label{ display:block; margin-top:2px; font-size:11px; line-height:1.2; writing-mode:horizontal-tb; }
.topbar-mobile-actions .icon-btn .icon{ display:block; }
.wp-block-button.icon-btn.sns-btn.facebook-btn{ display:none; } /* 要件に合わせて非表示 */

/* ===== レイアウト切替 ===== */

/* PC（通常: 固定しない/余白付けない） */
@media (min-width:768px){
    #topbar{
        position:static; top:auto; left:auto; right:auto;
        box-shadow:none;
    }
    .wp-site-blocks{ padding-top:0; }
    .meta-slider-outer-container{ margin-top:0; }
    .navbar-centered-wrapper{ display:block; } /* PCで必要なら表示 */
}

@media (max-width:767px){
    .topbar-right{ display:none; }
    #topbar{
        position:fixed; top:0; left:0; right:0; z-index:1000;
        background:#fff; box-shadow:0 2px 4px rgba(0,0,0,.05);
    }
    /*.wp-site-blocks{ padding-top:var(--topbar-h) !important; }*/
    .wp-site-blocks{ padding-top:20px !important; }
    .meta-slider-outer-container{ margin-top:0; } /* 以前の 70px 付与は不要 */
    .navbar-centered-wrapper{ display:none; }     /* モバイルで不要なら非表示 */
}

/* 管理バー（ログイン時）の補正（モバイルのみ） */
@media (max-width:767px){
    /*body.admin-bar .wp-site-blocks{ padding-top:calc(var(--topbar-h) + 32px); }*/
}

/* タップ時の装飾抑止 */
.icon-btn a, .topbar-search button, .search-drawer__submit, .search-drawer__close{
    outline:none; -webkit-tap-highlight-color:transparent;
}
.icon-btn a:focus, .icon-btn a:focus-visible, .topbar-search button:focus, .search-drawer__submit:focus, .search-drawer__close:focus{
    outline:none; box-shadow:none;
}

/* 検索ドロワー＋オーバーレイ（topは変数参照のまま） */
.search-drawer{
    position:fixed; top:var(--topbar-h); left:0; right:0; background:rgba(255,255,255,.98);
    backdrop-filter:blur(6px); box-shadow:0 2px 8px rgba(0,0,0,.15); padding:1rem; z-index:2000;
    transform:translateY(-100%); opacity:0; visibility:hidden;
    transition:transform .3s ease, opacity .3s ease, visibility .3s ease;
}
.search-drawer.js-open{ transform:translateY(0); opacity:1; visibility:visible; }
.search-drawer__form{ display:flex; align-items:center; gap:.5rem; max-width:600px; margin:0 auto; }
.search-drawer__input{ flex:1; padding:.6rem .8rem; font-size:1rem; border:1px solid #ccc; border-radius:6px; outline:none; }
.search-drawer__submit{ padding:.6rem 1rem; font-size:1rem; background:#3e96db; color:#fff; border:0; border-radius:6px; cursor:pointer; }
.search-drawer__close{ position:absolute; top:.4rem; right:.8rem; background:none; border:0; font-size:1.5rem; color:#333; cursor:pointer; }

.search-overlay, #menuOverlay{
    position:fixed; inset:0; background:rgba(0,0,0,.4); z-index:1500;
    opacity:0; visibility:hidden; transition:opacity .3s, visibility .3s;
}
.search-overlay.active, #menuOverlay.active{ opacity:1; visibility:visible; }
/* =========================================================
   4) モバイル・オフキャンバス（Slide Menu）
   ========================================================= */

.mobile-slide-menu{
    position:fixed; top:0; right:0; width:90%; max-width:380px; height:100vh; background:#f1f4f8;
    box-shadow:-4px 0 10px rgba(0,0,0,.2); transform:translateX(100%); transition:transform .3s ease; z-index:10000;
    overflow-y:auto; font-family:sans-serif;
}
.mobile-slide-menu.js-open{transform:translateX(0);}
/*.mobile-slide-menu__inner{padding:1.5rem 1rem;}*/
/*.mobile-slide-menu__header{display:flex; justify-content:space-between; align-items:center; margin-bottom:1.5rem;}*/
/*.mobile-slide-menu__title{font-size:1.3rem; font-weight:bold; color:#333; margin:0; background:none; padding:0;}*/
/*.mobile-slide-menu__close{background:none; border:none; font-size:26px; cursor:pointer; color:#666;}*/
/*.mobile-slide-menu .wp-block-navigation,*/
/*.mobile-slide-menu .wp-block-navigation__container{*/
/*    display:flex !important; flex-direction:column !important; align-items:stretch !important; text-align:left !important; padding:0; margin:0;*/
/*}*/
/*.mobile-slide-menu .wp-block-navigation-item{border-bottom:1px solid #ddd; position:relative; list-style:none;}*/
/*.mobile-slide-menu .wp-block-navigation-item__content{*/
/*    display:flex; align-items:center; width:100%; box-sizing:border-box;*/
/*    padding:12px 16px 12px 44px; text-decoration:none; color:#333; font-size:1rem; text-align:left;*/
/*    transition:background .2s ease,color .2s ease;*/
/*}*/
/*.mobile-slide-menu .wp-block-navigation-item__label{flex:1; text-align:left;}*/
/*.mobile-slide-menu .wp-block-navigation-item__content:hover{color:#0072c6; background:#e0ecf5;}*/
/*.mobile-slide-menu .wp-block-navigation-item::before{*/
/*    position:absolute; left:16px; top:50%; transform:translateY(-50%);*/
/*    font-family:"Font Awesome 6 Free"; font-weight:900; font-size:1rem; color:#0072c6; width:1.2em; text-align:center; content:"";*/
/*}*/
/*!* アイコン割当 *!*/
/*.mobile-slide-menu .menu-item-home::before,*/
/*.mobile-slide-menu .home::before{content:"\f015";}*/
/*.mobile-slide-menu .menu-item-civic::before{content:"\f0c0";}*/
/*.mobile-slide-menu .menu-item-medic::before{content:"\f0f0";}*/
/*mobile-slide-menu .menu-item-about::before{content:"\f19c";}*/
/*.mobile-slide-menu .menu-item-type-custom::before,*/
/*.mobile-slide-menu .menu-item-members::before{content:"\f023";}*/

@media (min-width:768px){ .mobile-slide-menu{display:none !important;} }


/* =========================================================
   5) センターナビ（.navbar-centered）
   ========================================================= */
.navbar-centered{background:#f8f8f8; height:110px; display:flex; align-items:center; padding:0 24px; font-size:1rem; font-weight:bold;}
.navbar-centered .wp-block-navigation__container{
    display:flex; justify-content:center; align-items:center; gap:32px; margin:0; padding:0; list-style:none; height:100%;
}
.navbar-centered .wp-block-navigation-item > a{
    color:#7561a2 !important; line-height:110px; text-decoration:none; transition:color .2s ease, background .2s ease; padding:0 20px; display:inline-block; height:100%;
}
.navbar-centered .wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content:hover{color:#3e96db;}
.navbar-centered li.current-menu-item > a.wp-block-navigation-item__content{background:#3e96db; color:#fff !important;}
.navbar-centered .wp-block-navigation-item > a:hover{color:#3e96db !important;}
.navbar-centered .current-menu-item > a,
.navbar-centered .wp-block-navigation-item > a:focus-visible{background:#3e96db; color:#fff; padding:0 20px;}
/* サブメニュー */
.navbar-centered .wp-block-navigation__submenu-container{background:#f8f8f8; padding:4px 0;}
.navbar-centered .wp-block-navigation__submenu-container a{color:#7561a2; padding:6px 16px; display:block;}
.navbar-centered .wp-block-navigation__submenu-container a:hover{background:#e9e9e9; color:#3e96db;}
/* 均等幅（固定） */
.navbar-centered .wp-block-navigation__container > li{width:220px; text-align:center; height:100%; margin:0;}
.navbar-centered li > a.wp-block-navigation-item__content{
    display:block; width:100%; padding:0 20px; line-height:110px; text-decoration:none; color:#7561a2; background:transparent; transition:background .2s, color .2s;
}
/* ホバー/アクティブ強調 */
.navbar-centered li > a.wp-block-navigation-item__content:hover,
.navbar-centered li > a.wp-block-navigation-item__content:focus-visible,
.navbar-centered li.current-menu-item > a.wp-block-navigation-item__content{background:#3e96db; color:#fff;}
.navbar-centered .wp-block-navigation__responsive-container{height:110px !important;}
/* スマホ縦積み */
@media (max-width:600px){
    .navbar-centered .wp-block-navigation__container{flex-direction:column; align-items:flex-start; gap:16px;}
}


/* =========================================================
   6) ニュース（カード/リスト/ラベル）
   ========================================================= */

.news-list-box{margin:2rem auto;}
div.news-list-box{padding:0 !important;}
h1.news-list-wrapper-title{font-weight:bold; margin-bottom:.5rem; border-left:none; padding-top:1em;}
h1.news-list-wrapper-title:after{display:none;}
h3.news-list-heading{font-size:1.5rem; font-weight:bold; margin-bottom:.5rem; border-left:none; border-top:2px solid #2983df; padding-top:1em;}
h3.news-list-heading::before{display:none;}

/* ラベル */
.news-label a{color:#000; padding:.2rem .6rem; text-decoration:none; font-size:.85rem; font-weight:700; border-radius:2px;}
.news-label a:hover{color:#fff !important;}
.news-label a.t1_cat-term-01,
.news-label a.t2_cat-term-01{background:#21c67f;}
.news-label a.t1_cat-term-02,
.news-label a.t2_cat-term-02,
.news-label a.t2_cat-term-seminar_m{background:#038bff; color:#fff;}
.news-label a.t1_cat-term-04,
.news-label a.t2_cat-term-04{background:#cc0000;}
.news-label a.t1_cat-term-99,
.news-label a.t2_cat-term-99{background:rgba(159,159,159,.58);}
.wp-block-post-terms__separator{font-size:.2rem; visibility:hidden;}
.wp-block-post-terms__separator::after{content:" "; visibility:visible;}
.term-uncategorized{background:#e8bd2e; color:#fff !important;}
.term-oshirase{background:#637ed1; color:#fff !important;}

/* カード */
.news-card{padding:0 1em; box-sizing:border-box; border-bottom:1px dashed #ccc; margin-bottom:0;}
.news-card:hover{background:rgba(227,227,227,.24);}
.news-card .news-date,
.news-card .news-label{display:inline-block; vertical-align:middle; margin:0;}
.news-card .news-date{margin-right:12px; color:#333;}
.news-card .news-date time{display:inline; font-size:.9rem !important;}
.news-card .news-title{margin-top:.5rem; color:#333; font-size:1rem; line-height:1.5; border:none; font-weight:500; margin-bottom:.8rem;}
.news-title a{color:#333; font-size:1rem; line-height:1.5; min-height:4.5em; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; margin:0; text-decoration:none;}
.news-title a:hover{color:#000;}
/* アクセシビリティ：フォーカス */
.news-card .wp-block-post-title a:focus:not(:focus-visible){outline:none; box-shadow:none;}
.news-card .wp-block-post-title a:focus-visible{outline:2px solid #1e6fd9; outline-offset:2px; box-shadow:none; border-radius:4px;}
/* 抜粋 */
.news-card .news-excerpt,
.news-card .wp-block-post-excerpt,
.news-card p{margin:0 0 12px; font-size:.95rem; color:#555;}
/* 一覧の区切り線 */
.wp-block-query .wp-block-post-template li{border-bottom:1px dashed #ccc; margin-bottom:16px;}
.wp-block-buttons.is-content-justification-center{margin:2rem 0;}
.news-more-btn{margin-top:2rem;}
.news-more-btn .wp-block-button__link{padding:.6rem 1.5rem; font-weight:bold; border-radius:4px;}

p.wp-block-post-excerpt__more-text {
    margin: 2rem 0 1rem 0.5rem;
}



/* =========================================================
   7) アーカイブ系（index-main / archive-main / view1）
   ========================================================= */

/* index-main */
.index-main{padding-left:24px; padding-right:24px;}
.index-main h1, .index-main h5{margin:0; font-size:revert-layer; font-weight:revert-layer; line-height:revert-layer; color:inherit;}
.index-main .single-item{display:flex; gap:24px; align-items:flex-start;}
.index-main .wp-block-post-featured-image{width:160px; flex-shrink:0;}
.index-main .wp-block-post-title{font-size:1rem; font-weight:600; margin:4px 0 8px;}
.index-main .wp-block-post-date{font-size:.8rem; letter-spacing:.02em; color:#666;}
.index-main .wp-block-separator{border-top:1px solid #d8d8d8; margin:32px 0;}
@media(max-width:768px){
    .index-main .single-item{flex-direction:column; gap:12px;}
    .index-main .wp-block-post-featured-image{width:100%;}
}

/* archive-main */
.archive-main{padding-left:24px; padding-right:24px;}
.archive-main .single-item{display:flex; gap:32px; align-items:flex-start; padding-block:24px;}
.archive-main .wp-block-post-featured-image{width:200px; flex-shrink:0; border-radius:4px; overflow:hidden;}
.archive-main .wp-block-post-date{font-size:.8rem; color:#959595; letter-spacing:.03em; margin-bottom:6px;}
.archive-main .wp-block-post-title{font-size:1.125rem; font-weight:700; line-height:1.5; margin:0 0 8px;}
.archive-main .wp-block-post-terms{font-size:.8rem; color:#3e96db;}
.archive-main .wp-block-separator{border-top:1px solid #e4e4e4; margin:0;}
@media(max-width:768px){
    .archive-main .single-item{flex-direction:column; gap:16px;}
    .archive-main .wp-block-post-featured-image{width:100%;}
}

.archive-date.wp-block-post-date {
    margin: 1rem 0;
}

/* view1（PDF風カード） */
.fma-pdf-thumb{display:block; max-width:100%; height:auto; border:1px solid #ddd; border-radius:8px; box-shadow:0 2px 4px rgba(0,0,0,.08); background:#fff; padding:4px;}
.view1-main-contents-wrapper h2{all:unset; display:block;}
.view1-main-contents-wrapper .wp-block-query .wp-block-post-template li{border:none;}
.view1-main-contents-wrapper .archive-title-view1{ text-align:center; font-size:clamp(1.25rem,2.5vw,1.6rem); margin:1rem auto 1.25rem; line-height:1.3; font-weight:800; letter-spacing:.02em;}
.view1-main-contents-wrapper .archive-title-view1::after{content:""; display:block; width:72px; height:4px; margin:.5rem auto 0; border-radius:999px; background:linear-gradient(90deg,#2563eb,#7c3aed);}
.view1-main-contents-wrapper .archive-term-nav.wp-block-categories{display:flex; flex-wrap:wrap; gap:.5rem; justify-content:center; margin:0 auto 1rem; padding:0; max-width:1200px;}
.view1-main-contents-wrapper .archive-term-nav.wp-block-categories li{list-style:none;}
.view1-main-contents-wrapper .archive-term-nav.wp-block-categories a{display:inline-block; padding:.35rem .6rem; border:1px solid #e5e7eb; border-radius:999px; background:#fff; text-decoration:none; color:#111; font-size:.9rem; transition:background .2s, color .2s, border-color .2s;}
.view1-main-contents-wrapper .archive-term-nav.wp-block-categories a:hover{background:#111; color:#fff; border-color:#111;}
.view1-main-contents-wrapper .archive-post-template-view1.wp-block-post-template{
    list-style:none; margin:1rem auto 2rem; padding:0; display:grid; gap:16px; max-width:1200px;
    grid-template-columns:repeat(auto-fill, minmax(240px,240px)); justify-content:center;
}
@media (max-width:640px){
    .view1-main-contents-wrapper .archive-post-template-view1.wp-block-post-template{grid-template-columns:repeat(auto-fill, minmax(220px,220px));}
}
@media (max-width:480px){
    .view1-main-contents-wrapper .archive-post-template-view1.wp-block-post-template{grid-template-columns:1fr;}
}
.view1-main-contents-wrapper .archive-view1-card{
    position:relative; display:flex; flex-direction:column; gap:.6rem; height:100%;
    padding:12px; background:linear-gradient(#fff,#fafafa); border:1px solid #e5e7eb; border-radius:14px;
    box-shadow:0 1px 2px rgba(0,0,0,.04); transition:transform .18s, box-shadow .18s, border-color .18s;
}
.view1-main-contents-wrapper .archive-view1-card:hover{transform:translateY(-3px); box-shadow:0 8px 22px rgba(0,0,0,.1); border-color:#d1d5db;}
.view1-main-contents-wrapper .view1-item-image.wp-block-post-featured-image{
    width:100%; aspect-ratio:210/297; overflow:hidden; margin:0 0 .25rem;
    border-radius:10px; background:#f5f7fb; border:1px solid #e5e7eb; box-shadow:0 1px 6px rgba(0,0,0,.06) inset;
}
.view1-main-contents-wrapper .view1-item-image a,
.view1-main-contents-wrapper .view1-item-image img{display:block; width:100%; height:100%; object-fit:cover !important;}
.view1-main-contents-wrapper .archive-item-title-view1.wp-block-post-title{
    font-size:1.12rem; font-weight:700; line-height:1.5; letter-spacing:.02em; margin:.4rem 0 .35rem; color:#111827; position:relative;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.view1-main-contents-wrapper .archive-item-title-view1.wp-block-post-title::after{
    content:""; position:absolute; left:0; bottom:-.25rem; width:48px; height:3px; border-radius:999px; background:linear-gradient(90deg,#2563eb,#7c3aed); opacity:.85;
}
.view1-main-contents-wrapper .archive-item-title-view1.wp-block-post-title a{color:inherit; text-decoration:none; transition:color .2s;}
.view1-main-contents-wrapper .archive-item-title-view1.wp-block-post-title a:hover{color:#2563eb; text-decoration:underline;}
.view1-main-contents-wrapper .archive-view1-card > p,
.view1-main-contents-wrapper .archive-excerpt{
    font-size:.94rem; line-height:1.7; color:#4b5563; margin:.5rem 0 0; min-height:3.2em; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.view1-main-contents-wrapper .archive-view1-card .archive-item-title-view1 + p,
.view1-main-contents-wrapper .archive-view1-card .archive-item-title-view1 + .archive-excerpt{padding-top:.6rem; border-top:1px dashed #e5e7eb;}
.view1-main-contents-wrapper .archive-pagination.wp-block-query-pagination{max-width:1200px; margin:1rem auto 0; gap:.5rem;}
.view1-main-contents-wrapper .archive-pagination .page-numbers{display:inline-block; padding:.35rem .55rem; border:1px solid #e5e7eb; border-radius:8px; text-decoration:none; color:#111;}
.view1-main-contents-wrapper .archive-pagination .page-numbers.current,
.view1-main-contents-wrapper .archive-pagination .page-numbers:hover{color:#fff; border-color:#111;}


/* =========================================================
   8) パンくず / タクソノミーメニュー / アーカイブタイトル
   ========================================================= */
.page-title-wrapper{padding:1rem 0; background:#0255b3; margin-top:0;}


.breadcrumb{font-size:.75rem; color:#666; margin:1rem 0;}
nav.breadcrumb{max-width:1200px; margin:0 auto;}
.breadcrumb a{color:#666; text-decoration:none;}
.breadcrumb a:hover{text-decoration:underline;}
.breadcrumb a::after{content:" >"; margin:0 .25em; color:#aaa;}
.breadcrumb a:last-of-type::after{content:"";}
.breadcrumb-wrapper{padding:1em; background:#e7edf7; margin-top:0;}

.custom-taxo-list-menu{display:flex; gap:1rem; list-style:none; padding-left:0; margin:1rem 0; flex-wrap:wrap; justify-content:center;}
.custom-taxo-list-menu li a{
    display:block; padding:.5rem 1rem; font-size:1rem; font-weight:600; color:#0044cc; background:#f2f2f2; border-radius:4px; text-decoration:none; transition:.2s;
}
.custom-taxo-list-menu li a:hover{background:#0044cc; color:#fff; text-decoration:none;}
.custom-taxo-list-menu .current-cat > a{background:#0044cc; color:#fff; text-decoration:none; font-weight:bold;}

.archive-title,
.wp-block-heading.archive-title,
.wp-block-post-title.archive-title,
.page-title,
h1.archive-title{
    font-size:2em; font-weight:bold; color:#fff; background:#0255b3; padding:1.8em 1em; margin:auto; line-height:1.4; box-sizing:border-box; text-align:center;
}
.archive-title-wrapper,
.single-topics1-page-title-wrapper{background:#0255b3; margin-top:0;}
h1.single-page-title{
    font-size:2em; font-weight:bold; color:#fff; background:#0255b3; padding:1.8em 1em; margin:auto; line-height:1.4; box-sizing:border-box; text-align:center;
}


/* ===== NavXT 出力を既存の .breadcrumb と同じ見た目に ===== */
.breadcrumbs.wp-block-bcn-breadcrumb-trail {
    font-size: .75rem;
    color: #666;
    margin: 1rem auto;
    max-width: 1200px;       /* nav.breadcrumb と揃える */
    background: transparent; /* .breadcrumb-wrapper に背景があるので透明に */
    padding: 0;              /* 余白は .breadcrumb-wrapper 側で管理 */
}

/* リンク色とホバー */
.breadcrumbs.wp-block-bcn-breadcrumb-trail a {
    color: #666;
    text-decoration: none;
}
.breadcrumbs.wp-block-bcn-breadcrumb-trail a:hover {
    text-decoration: underline;
}

/* 区切り（テキストノードの > を想定）に合わせてcolorだけ薄くする */
.breadcrumbs.wp-block-bcn-breadcrumb-trail {
    --crumb-sep-color: #aaa;
}
.breadcrumbs.wp-block-bcn-breadcrumb-trail span[property="itemListElement"] {
    color: inherit; /* 通常の文字色は継承 */
}
.breadcrumbs.wp-block-bcn-breadcrumb-trail span[property="itemListElement"] + span[property="itemListElement"] {
    /* 直前の「 > 」はテキストノードなので個別に触れない。左右の余白はspan側で吸収 */
    margin-left: .25em;
}

/* 先頭（ホーム）アイコン風（任意） */
.breadcrumbs.wp-block-bcn-breadcrumb-trail a.home span[property="name"]::before {
    /*content: "🏠";*/
    margin-right: .35em;
}



.wp-block-group.single-topics2-page-title-wrapper {
    padding: 0;
    margin-top: 0;
}



@media (max-width:768px){
    .archive-title-wrapper,
    .single-topics1-page-title-wrapper{background:#0255b3; margin-top:0;}
    h1.single-page-title{
        font-size:1.5rem; font-weight:bold; color:#fff; background:#0255b3; padding:1.8em 1em; margin:auto; line-height:1.4; box-sizing:border-box; text-align:center;
    }

    h1.archive-title{
        font-size:1.5rem !important;
    }

}



/* =========================================================
   9) med-exa（医療機関カード）
   ========================================================= */
.med-exa-item{
    background:#fff; border:1px solid #ddd; border-radius:8px; box-shadow:0 2px 4px rgba(0,0,0,.05);
    padding:1.5rem; margin-bottom:.5rem; transition:box-shadow .3s ease;
}
.med-exa-item:hover{box-shadow:0 8px 16px rgba(0,0,0,.15), 0 4px 8px rgba(62,150,219,.2);}
h2.wp-block-post-title{
    font-size:1.3rem; font-weight:bold; color:#002b5e; padding-left:1rem; border-left:6px solid #007acc; margin-bottom:1rem; line-height:1.3;
}
.med-exa-code,.med-exa-address,.med-exa-tel,.med-exa-kensa{font-size:1rem; margin:.3rem 0; color:#333; line-height:1.6;}
.med-exa-code strong,.med-exa-address strong,.med-exa-tel strong,.med-exa-kensa strong{display:inline-block; min-width:6em; font-weight:600; color:#555;}
.med-exa-map{margin-top:1rem; font-size:.95rem;}
.med-exa-map iframe{width:100%; height:280px; border:1px solid #ccc; border-radius:6px;}
.wp-block-columns{gap:2rem;}
.wp-block-column{flex:1;}
@media (max-width:768px){
    .wp-block-columns{flex-direction:column;}
    .wp-block-post-title{font-size:1.3rem;}
    h2.wp-block-post-title{font-size:1.3rem;}

}

/*medアーカイブ*/
ul.wp-block-create-block-custom-query-exa-med {
    padding-left: 2rem;
}

/* === 全体の1施設ブロック（カード風） === */
.med-exa-item {
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    padding: 1.5rem;
    margin-bottom:0.5rem;
    transition: box-shadow 0.3s ease;
}
/*.med-exa-item:hover {*/
/*    box-shadow: 0 4px 8px rgba(0,0,0,0.08);*/
/*}*/

.med-exa-item:hover {
    box-shadow: 0 8px 16px rgba(0,0,0,0.15),
    0 4px 8px rgba(62,150,219,0.2);
    /*transform: translateY(-2px);*/
    /*transition: all 0.3s ease;*/
}

/* === 医療機関名（タイトル） === */
h2.wp-block-post-title {
    font-size: 1.5rem;
    font-weight: bold;
    color: #002b5e;
    padding-left: 1rem;
    border-left: 6px solid #007acc;
    margin-bottom: 1rem;
    line-height: 1.3;
}

/* === 情報のラベル付きテキスト === */
.med-exa-code,
.med-exa-address,
.med-exa-tel,
.med-exa-kensa {
    font-size: 1rem;
    margin: 0.3rem 0;
    color: #333;
    line-height: 1.6;
}

.med-exa-code strong,
.med-exa-address strong,
.med-exa-tel strong,
.med-exa-kensa strong {
    display: inline-block;
    min-width: 6em;
    font-weight: 600;
    color: #555;
}

/* === MAPエリア === */
.med-exa-map {
    margin-top: 1rem;
    font-size: 0.95rem;
}

.med-exa-map iframe {
    width: 100%;
    height: 280px;
    border: 1px solid #ccc;
    border-radius: 6px;
}

/* ページネーション（共通） */
.archive-pagination{
    display:flex; justify-content:center; align-items:center; padding:2rem; background:#fff; border-radius:8px; box-shadow:0 2px 4px rgba(0,0,0,.05); margin:2rem 0;
}
.wp-block-query-pagination-numbers{display:flex; gap:.5rem; align-items:center; margin:0 1rem;}
.archive-pagination .page-numbers{
    display:inline-flex; align-items:center; justify-content:center; min-width:40px; height:40px; padding:0 8px; border-radius:4px; background:#fff; border:1px solid #e0e0e0; color:#333; text-decoration:none; font-weight:500; transition:.3s;
}
.archive-pagination .page-numbers.current{background:var(--fdma-blue,#0056a6); color:#fff; border-color:var(--fdma-blue,#0056a6);}
.archive-pagination .page-numbers:hover:not(.current):not(.dots){background:#f5f5f5; border-color:#ccc;}
.archive-pagination .dots{border:none; padding:0 4px;}
.archive-pagination .wp-block-query-pagination-next{
    padding:8px 16px; border-radius:4px; background:#fff; border:1px solid #e0e0e0; color:#333; text-decoration:none; font-weight:500; transition:.3s;
}
.archive-pagination .wp-block-query-pagination-next:hover{background:#f5f5f5; border-color:#ccc;}


/* =========================================================
   10) バナー（共通/スタック/YouTube風）
   ========================================================= */
/*.banner-grid-outer .banner-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}*/
/*.banner-item{background:#eee; text-align:center;}*/

/*.banner-container{display:flex; flex-wrap:wrap; gap:40px;}*/
/*.banner-card{*/
/*    width:280px; height:130px; background:#fff; border:1px solid #e2e5e9; display:flex; align-items:center; justify-content:center; gap:12px;*/
/*    font-size:1rem; font-weight:600; color:#1b1b1b; cursor:pointer; position:relative; transition:background .25s ease, color .25s ease;*/
/*}*/
/*.banner-card.custom-banner-card{font-size:.8rem;}*/
/*.banner-card::after{content:''; position:absolute; right:0; bottom:0; width:0; height:0; border-left:22px solid transparent; border-top:22px solid #3e96db; transition:border-top-color .25s ease;}*/
/*.banner-card i{font-size:32px; color:#3e96db; transition:color .25s ease;}*/
/*.banner-card:hover{background:#3e96db; color:#fff;}*/
/*.banner-card:hover i{color:#fff;}*/
/*.banner-card:hover::after{border-top-color:#fff;}*/
/*!* stacked *!*/
/*.banner-card--stacked{padding:0;}*/
/*.banner-card-upper{background:var(--accent-color,#3e96db); color:#fff; font-size:.8rem; font-weight:600; padding:8px 0;}*/
/*.banner-card-lower{flex:1; display:flex; align-items:center; justify-content:center; padding:16px 8px;}*/
/*.banner-card-title{font-size:1.1rem; font-weight:700; color:#1b1b1b; line-height:1.5;}*/
/*.banner-card--stacked:hover{background:var(--accent-color,#3e96db); color:#fff;}*/
/*.banner-card--stacked:hover .banner-card-title{color:#fff;}*/
/*.banner-card--stacked:hover::after{border-top-color:#fff;}*/





    /* ==============================
       Sticky Nav (FMA)
       ============================== */

.wp-block-fma-sticky-nav{
    /* sticky自体はstyle.cssにある前提。ここでは見た目だけ */
    --nav-h: 110px;                 /* バーの高さ */
    --link-xpad: 20px;              /* 横の余白 */
    --link-color: #7561a2;          /* 通常文字色（紫） */
    --hover-bg: #3e96db;            /* ホバー/アクティブの背景 */
    --hover-color: #fff;            /* ホバー/アクティブの文字色 */

    background: #f6f7fb;            /* バーの地（薄グレー） */
    box-shadow: inset 0 -1px 0 rgba(0,0,0,.06);
}

    /* 親ブロック */
.wp-block-fma-sticky-nav {
    position: sticky;
    top: 0;
    z-index: 900;
    box-shadow: inset 0 -1px 0 rgba(0,0,0,.06);
    background: #f6f7fb;
    margin-top: 0;
}

/* ナビ全体 */
.fma-sticky-nav__inner {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* ULレベル */
.fma-sticky-nav__menu {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    justify-content: center;
    gap: 0;
    min-height: 110px;
    font-weight: 700;
    background: inherit;
}

/* LI（均等幅） */
.fma-sticky-nav__menu > li {
    width: 220px;
    text-align: center;
    margin: 0;
}

/* Aタグ（リンク本体） */
.fma-sticky-nav__menu > li > a {
    display: block;
    width: 100%;
    padding: 0 20px;
    line-height: 110px;
    color: #7561a2;
    text-decoration: none;
    background: transparent;
    transition: background .2s, color .2s;
}

/* hover / active */
.fma-sticky-nav__menu > li > a:hover,
.fma-sticky-nav__menu > li > a:focus-visible,
.fma-sticky-nav__menu > li.current-menu-item > a {
    background: #3e96db;
    color: #fff;
}

/* 固定時の重なり防止 */
.centered-nav-block-wrapper,
.centered-nav-block {
    overflow: visible !important;
    transform: none !important;
    contain: none !important;
}



.sticky-nav-wrapper{
    position: sticky;
    top: 0;
    z-index: 900;
    box-shadow: inset 0 -1px 0 rgba(0,0,0,.06);
    background: #f6f7fb;
    margin-top: 0;
}


/* スマホ時 */
@media (max-width: 767px) {
    .wp-block-fma-sticky-nav {
     display: none;
    }

    .sticky-nav-wrapper {
        display: none;
    }
}

/* =========================================================
   重要なお知らせ (topics3 / t3_cat)
   ========================================================= */

/* 全体枠 */

.topics3.type-topics3 h2 {
    font-size: 1.5rem;
    font-weight: 600;
    color: #000;
    padding: 0;
    border: none;
    margin: 0;
    background: #ffffff;
}

.topics3.type-topics3.t3_cat_color_tag-blue h2{
    color: #007acc;
    border: solid thin #007acc;
    text-align: center;
    padding: 0.5rem;
    margin: 0;
}
.topics3.type-topics3.t3_cat_color_tag-blue h2 a {
    color: #007acc;
}

.topics3.type-topics3.t3_cat_color_tag-purple h2{
    color: #512eff;
    border: solid thin #512eff;
    text-align: center;
    padding: 0.5rem;
    margin: 0;
}
.topics3.type-topics3.t3_cat_color_tag-purple h2 a{
    color: #512eff;
}

.topics3.type-topics3.t3_cat_color_tag-red h2 {
    color: #f30e0e;
    border: solid thin #f30e0e;
    text-align: center;
    padding: 0.5rem;
    margin: 0;
}
.topics3.type-topics3.t3_cat_color_tag-red h2 a{
    color: #f30e0e;
}


/* Purple (既存のコード) */
.topics3.type-topics3.t3_cat_color_tag-purple h2{
    color: #512eff;
    border: solid thin #512eff;
    text-align: center;
    padding: 0.5rem;
    margin: 0;
}



/* White-Black */
.topics3.type-topics3.t3_cat_color_tag-white-black h2{
    color: #000000;
    border: solid thin #000000;
    text-align: center;
    padding: 0.5rem;
    margin: 0;
}

.topics3.type-topics3.t3_cat_color_tag-white-black h2 a{
    color: #000000;}

/* Yellow */
.topics3.type-topics3.t3_cat_color_tag-yellow h2{
    color: #FFD700;
    border: solid thin #FFD700;
    text-align: center;
    padding: 0.5rem;
    margin: 0;
}

.topics3.type-topics3.t3_cat_color_tag-yellow h2 a {
    color: #FFD700;
}
/* Green */
.topics3.type-topics3.t3_cat_color_tag-green h2{
    color: #008000;
    border: solid thin #008000;
    text-align: center;
    padding: 0.5rem;
    margin: 0;
}

.topics3.type-topics3.t3_cat_color_tag-green h2 a {
    color: #008000;
}

li.topics3.type-topics3 {
    border: none;
    margin: 0;

}

li.topics3.type-topics3:not(:last-child) {
    border: none;
    margin-bottom: 0.8rem;

}


/* Blue hover */
.topics3.type-topics3.t3_cat_color_tag-blue h2:hover {
    background-color: rgba(0, 122, 204, 0.03);
    box-shadow: 0 0 8px rgba(0, 122, 204, 0.15);
    transition: all 0.3s ease;
}

/* Purple hover */
.topics3.type-topics3.t3_cat_color_tag-purple h2:hover {
    background-color: rgba(81, 46, 255, 0.03);
    box-shadow: 0 0 8px rgba(81, 46, 255, 0.15);
    transition: all 0.3s ease;
}

/* Red hover */
.topics3.type-topics3.t3_cat_color_tag-red h2:hover {
    background-color: rgba(243, 14, 14, 0.03);
    box-shadow: 0 0 8px rgba(243, 14, 14, 0.15);
    transition: all 0.3s ease;
}

/* White-Black hover */
.topics3.type-topics3.t3_cat_color_tag-white-black h2:hover {
    background-color: rgba(0, 0, 0, 0.02);
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

/* Yellow hover */
.topics3.type-topics3.t3_cat_color_tag-yellow h2:hover {
    background-color: rgba(255, 215, 0, 0.03);
    box-shadow: 0 0 8px rgba(255, 215, 0, 0.15);
    transition: all 0.3s ease;
}

/* Green hover */
.topics3.type-topics3.t3_cat_color_tag-green h2:hover {
    background-color: rgba(0, 128, 0, 0.03);
    box-shadow: 0 0 8px rgba(0, 128, 0, 0.15);
    transition: all 0.3s ease;
}


/* メディア対応 */
@media (max-width: 767px) {
    .wp-block-group.important-notice {
        padding: 1rem;
    }
    .important-notice h2.wp-block-post-title {
        font-size: 1.1rem;
    }
}

/* =========================================================
   Footer（共通 / ナビ / コピーライト）
   ========================================================= */

/* 全体 */
.site-footer,
.wp-block-template-part.footer {
    background: #f4f5f8;
    color: #333;
    font-size: .9rem;
    line-height: 1.7;
    margin-top: 4rem;
}

/* 上部4カラム（情報・リンクなど） */
.footer-cols-4 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 32px;
    padding: 3rem 1.5rem;
    max-width: 1200px;
    margin: 0 auto;
    line-height: 1rem;
}

.footer-cols-4 p {
    line-height: 1.5rem;
}

.footer-cols-4 h3 {
    font-size: 1.1rem;
    font-weight: 700;
    color: #0055aa;
    margin-bottom: .75rem;
}

.footer-cols-4 ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-cols-4 ul li {
    margin: .4rem 0;
}

.footer-cols-4 ul li a {
    color: #333;
    text-decoration: none;
    transition: color .2s;
}

.footer-cols-4 ul li a:hover {
    color: #0055aa;
    text-decoration: underline;
}

/* 下部ナビバー */
.footer-bottom-nav-outer {
    background: #e8ebf0;
    padding: .75rem 1rem;
    text-align: center;
}

.footer-bottom-nav-outer nav.bottom-bar-menu ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer-bottom-nav-outer nav.bottom-bar-menu ul li {
    font-size: .9rem;
}

.footer-bottom-nav-outer nav.bottom-bar-menu ul li a {
    color: #333;
    text-decoration: none;
    transition: color .2s;
}

.footer-bottom-nav-outer nav.bottom-bar-menu ul li a:hover {
    color: #0055aa;
}

/* コピーライト行 */
.footer-copy {
    background: #dce0e5;
    color: #555;
    text-align: center;
    font-size: .85rem;
    padding: .6rem 1rem;
    border-top: 1px solid #c8ccd2;
}

.footer-copy a {
    color: inherit;
    text-decoration: none;
}

.footer-copy a:hover {
    text-decoration: underline;
}

/* レスポンシブ */
@media (max-width: 768px) {
    .footer-cols-4 {
        grid-template-columns: 1fr;
        padding: 2rem 1rem;
    }
    .footer-bottom-nav-outer nav.bottom-bar-menu ul {
        gap: .75rem;
    }
}




