/*--------bace--------*/

body {
    color: #333333;
    background-color: #f5f6f7;
}


:root {
    --main-black: #333333;
}

:root {
    --titlesize: 32px;
}

:root: {
    --base-shadow: 0px 0px 30px 0px rgba(204, 204, 204, 0.35);
}

a:link {
    text-decoration: none;
    color: #1a8acc;
    transition: color 0.3s ease;
}

a:hover {
    text-decoration: underline;
    color: #1a8acc;
}

/* クリック後（訪問済み）・クリック中も水色のまま */
a:visited,
a:active,
a:focus {
    color: #1a8acc;
}

.c-section {
    padding-top: 0;
    padding-bottom: 0;
}

.c-fluid-container {
    padding-top: 16px;
}

.l-header__content .c-row--middle {
    align-items: inherit;
}
.c-page-header[data-has-image=true] {
    height: 200px;
    margin-top:10rem
}

@media screen and (max-width: 1025px) {
    .c-page-header[data-has-image=true] {
    height: 200px;
    margin-top:0rem
}
 }   

.c-page-header__title {
    color: #333333;
}

.p-global-nav .c-navbar__item.sm-nav-menu-item-highlight {
    margin-top: -60px;   /* 数字を大きくするほど上端が上へ伸びる（padding-topと同じ量を増減する） */
}

/* ★2026-09-14 整理：申込ボタンを1つに統合したため、マイページ(menu-item-347)専用の
   緑背景は不要になったので無効化。戻したいときは、このコメント記号を外す。
.p-global-nav .c-navbar__item.sm-nav-menu-item-highlight.menu-item-347 {
    background-color: #50b882;
}
*/

.p-global-nav .c-navbar__item.sm-nav-menu-item-highlight a {
    padding-top: 80px;   /* margin-topを増減したら、この値も同じだけ増減する */
    transition: all .3s;
    /* ★2026-10-06 固定幅215pxをやめ、文字数に合わせて伸びるようにした。
       PCでは折り返さず常に1行。文言を変えても幅が自動で合う。
       （スマホはハンバーガーメニュー内に出るため、この指定の影響を受けない） */
    width: auto;
    white-space: nowrap;
}

.p-global-nav .c-navbar__item.sm-nav-menu-item-highlight a:hover {
    opacity: 0.7;
}

/* 申込ボタン（1つに統合）：テキストとアイコンを横並びにし、文字は2行で収める */
.p-global-nav .c-navbar__item.sm-nav-menu-item-highlight a[target="_blank"] {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    /* ↓★2026-09-14 追加：長い文言を2行にきれいに収めるための指定 */
    text-align: center;
    font-size: 0.95em;        /* 少しだけ小さく。0.9em にするともっと余裕が出る */
    line-height: 1.45;        /* 2行の行間 */
    word-break: keep-all;     /* 単語の途中で切らず「・」の位置で折り返す */
    overflow-wrap: anywhere;  /* それでも収まらない時の保険（はみ出し防止） */
}

/* 申込ボタンの外部リンクアイコン：文字のすぐ右に、白で、縦中央に置く
   ★2026-09-14 1行に収まったのでアイコンを復活。
   　大きさは width/height、文字との間隔は margin-left で調整できる */
.p-global-nav .c-navbar__item.sm-nav-menu-item-highlight a[target="_blank"]::after {
    position: static;          /* 右端への絶対配置を解除して文字の直後に置く */
    right: auto;
    top: auto;
    transform: none;
    padding-right: 0;          /* 元指定の 4.5rem を打ち消す */
    flex: 0 0 auto;            /* アイコンがつぶれないようにする */
    width: 0.85em;             /* アイコンの大きさ（大きくしたいときは数字を上げる） */
    height: 0.85em;
    margin-left: 0.45em;       /* 文字との間隔 */
    filter: brightness(0) invert(1);   /* 青いボタン用に白アイコンへ */
}

.p-global-nav .c-navbar__submenu {
background: rgba(255, 255, 255, 0.7);
z-index: 1;
}

/* ===== メニューを2段に（グリッド不使用・上下段は互いに独立） =====
   flexの折り返しで2段にする。flexは「行ごとに独立」して幅が決まるので、
   上段（強調ボタン）の幅と、下段（白文字リンク）の幅は互いに影響しない。 */
.l-header .p-global-nav .c-navbar {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: flex-end;   /* 右寄せ */
    align-items: center;
    column-gap: 0.75rem;         /* 横（メニュー同士）の間隔 */
    row-gap: 0;
}
/* 上段＝強調ボタン（上のすき間を詰めてヘッダー上部にピッタリ付ける）
   数字を大きくするほど上へ。行き過ぎたら小さく／足りなければ大きく */
.l-header .p-global-nav .c-navbar__item.sm-nav-menu-item-highlight {
    order: 1;
    margin-top: -16px;
}
/* 上段と下段の間で必ず折り返すための「見えない改行」。高さ＝上下段の間隔 */
.l-header .p-global-nav .c-navbar::after {
    content: "";
    flex-basis: 100%;
    height: 0.5rem;
    order: 2;
}
/* 下段＝白文字リンク */
.l-header .p-global-nav .c-navbar__item:not(.sm-nav-menu-item-highlight) {
    order: 3;
}
/* 強調ボタンの高さを通常に戻す（上付け用の余白を解除） */
.l-header .p-global-nav .c-navbar__item.sm-nav-menu-item-highlight a {
    padding-top: 16px;
}
.p-global-nav .c-navbar__item>a {
    padding-left:0.7rem;
    padding-right:0.7rem;
}


/* ハンバーガーメニュー*/

.c-drawer {
    background-image: none;
    background-color: #ffffff;
    color: #333333;
}

.c-drawer__menu {
    font-size: 16px;
    text-align: left;
}

/* 各項目を下線で区切る */
.c-drawer li {
    border-bottom: 1px solid #ececec;
}

/* リンク：左寄せ・余白・黒文字・下線なし */
.c-drawer a,
.c-drawer a:link,
.c-drawer a:visited,
.c-drawer a:hover,
.c-drawer a:active,
.c-drawer a:focus {
    color: #333333;
    text-decoration: none;
    font-weight: bold;
    display: block;
    padding: 1rem 1.25rem;
    text-align: left;
}

/* ホバー時うっすら背景 */
.c-drawer a:hover {
    background-color: #f5f6f7;
}

.c-hamburger-btn__bar  {
    background-color: #231815;
}

.p-global-nav .c-navbar__subitem {
    color:#231815;
}

.p-global-nav .c-navbar__subitem:hover>a {
    color: var(--main-color) ;
}

.wp-block-snow-monkey-blocks-btn a {
    padding-top: 16px;
    padding-bottom: 16px;
}

.wp-block-snow-monkey-blocks-btn img {
    max-width: 40px;
}

.p-global-nav {
    color: var(--main-black)
}

.p-global-nav  a:hover {
    text-decoration: none;
}

/* トップページ＋追従前（オーバーレイ表示）：ナビの通常メニュー文字を白に（PC=1024px以上・子メニュー/ボタン除く） */
@media screen and (min-width: 1024px) {
    .home .l-header--sticky-overlay-colored-lg .p-global-nav .c-navbar__item:not(.sm-nav-menu-item-highlight) > a {
        color: #ffffff;
    }
    /* スクロールして追従（白背景／data-scrolled=true）に切り替わったら黒文字に戻す
       ※色付きボタン（講演会申込・参加申込・マイページ）は白のまま維持 */
    [data-scrolled="true"] .l-header--sticky-overlay-colored-lg .p-global-nav .c-navbar__item:not(.sm-nav-menu-item-highlight) > a {
        color: var(--main-black);
    }
    /* ホバー：通常メニューはメインの青に（追従前後どちらでも／ボタンは除く） */
    .l-header--sticky-overlay-colored-lg .p-global-nav .c-navbar__item:not(.sm-nav-menu-item-highlight) > a:hover {
        color: #1a8acc;
    }
}

.l-header {
    box-shadow: none;
}
.l-1row-header__branding {
    max-width: 400px !important;
}

/* 左上ロゴを原寸（423×78px）まで表示 */
.c-site-branding__title img.custom-logo {
    max-width: 300px !important;
    width: 300px !important;
    height: auto;
}
/* ロゴのリンク範囲をロゴ全体（縦も）に合わせる */
.c-site-branding__title a.custom-logo-link {
    display: inline-block;   /* インライン→箱にして画像の高さを反映 */
    line-height: 0;          /* 余分な行の隙間をなくす */
}
.c-site-branding__title img.custom-logo {
    display: block;          /* 画像を箱にぴったり収める（はみ出し解消） */
}

/* スマホ（〜767px）はロゴを200pxに */
@media screen and (max-width: 767px) {
    .c-site-branding__title img.custom-logo {
        max-width: 240px !important;
        width: 240px !important;
        height: auto;
    }
}

/* スマホ（SP）用ロゴ：logo1.png */
.custom-logo {
  content: url(https://adps13.hiroshima-u.ac.jp/wp-content/uploads/2026/06/logo1.png);
}

/* パソコン（PC）用ロゴ：白ロゴ logo_2_wh.png */
@media (min-width: 1025px) {
  .custom-logo {
    content: url(https://adps13.hiroshima-u.ac.jp/wp-content/uploads/2026/07/logo_2_wh.png);
  }
}

/* スクロールして背景が白になったとき（data-scrolled=true）は、黒（カラー）ロゴに戻す */
[data-scrolled="true"] .custom-logo {
  content: url(https://adps13.hiroshima-u.ac.jp/wp-content/uploads/2026/06/logo1.png) !important;
}

/* 下層ページ（トップページ以外）は、白背景なので黒（カラー）ロゴにする */
@media (min-width: 1025px) {
  body:not(.home) .custom-logo {
    content: url(https://adps13.hiroshima-u.ac.jp/wp-content/uploads/2026/06/logo1.png) !important;
  }
}



.ek-linked-block a.editorskit-block-link {
    margin-top: 0;
}


h1,h2,h3 {
    font-weight: normal;
}


.l-header--sticky-overlay-sm .c-hamburger-btn__bar {
    background-color: #ffffff;
}

.c-hamburger-btn__label {
    color: var(--main-black);
    font-size: 12px !important;
}

.img-hover {
    transition-duration: .4s;
}

.img-hover:hover {
    transform: scale(1.01, 1.01);

}

.home .c-page-header__title {
    display: none;
}

.mt-0 {
	margin-top:0 !important;
}

.mt-1 {
	margin-top:1rem !important;
}
.mt-2 {
	margin-top:2rem !important;
}
.mt-3 {
	margin-top:3rem !important;
}
.mt-4 {
	margin-top:4rem !important;
}
.mt-5 {
	margin-top:5rem !important;
}

.mt-10 {
	margin-top:10rem !important;
}

.mb-0 {
	margin-bottom:0 !important;
}

.mb-1 {
	margin-bottom:1rem !important;
}

.mb-2 {
	margin-bottom:2rem !important;
}

.mb-3 {
	margin-bottom:3rem !important;
}

.mb-4 {
	margin-bottom:4rem !important;
}

.mb-5 {
	margin-bottom:5rem !important;
}

.mb-10 {
	margin-bottom:10rem !important;
}

.pt-0 {
	padding-top:0 !important;
}
.pt-5 {
	padding-top:5rem !important;
}

.pt-10 {
	padding-top:10rem !important;
}


.pb-2 {
	padding-bottom:2rem !important;
}

.pb-5 {
	padding-bottom:5rem !important;
}

.pb-0 {
	padding-bottom:0 !important;
}

.pb-10 {
	padding-bottom:10rem !important;
}

@media screen and (max-width: 1024px) {

.sp-mt-0 {
        margin-top: 0;
}
.mt-1 {
	margin-top:0.5rem !important;
}

.mt-2 {
	margin-top:1rem !important;
}

.mt-3 {
	margin-top:1.5rem !important;
}

.mt-4 {
	margin-top:2rem !important;
}

.mt-5 {
	margin-top:2.5rem !important;
}

.mt-10 {
	margin-top:5rem !important;
}


.mb-0 {
	margin-bottom:0 !important;
}

.mb-1 {
	margin-bottom:0.5rem !important;
}

.mb-2 {
	margin-bottom:1rem !important;
}

.mb-3 {
	margin-bottom:1.5rem !important;
}

.mb-4 {
	margin-bottom:2rem !important;
}

.mb-5 {
	margin-bottom:2.5rem !important;
}

.mb-10 {
	margin-bottom:5rem !important;
}

.pt-0 {
	padding-top:0 !important;
}

.pt-10 {
	padding-top:5rem !important;
}

.pb-5 {
	padding-bottom:2.5rem !important;
}

.pb-0 {
	padding-bottom:0 !important;
}

.pb-10 {
	padding-bottom:5rem !important;
}
}

.gap-1{
    gap: 1rem;
}
.gap-2 {
    gap: 2rem;
}
.gap-3{
    gap: 3rem;
}
.w_20 {
    width: 20% ;
    flex-basis: 20%;
}
.w_30 {
    width: 30% ;
    flex-basis: 30%;
}
.w_35 {
    width: 35% ;
    flex-basis: 35%;
}
.w_40 {
    width: 40% ;
    flex-basis: 40%;
}
.w_50 {
   width: 50%;
   flex-basis: 50%;
}
.w_80 {
   width: 80%;
   flex-basis: 80%;
}
.w_85 {
   width: 85%;
   flex-basis: 85%;
}
.w_350 {
    width: 350px;
}

.no_border .c-row {
    border: none !important;
}

/* 「edge_row」を付けたエリアだけ、アイテムの両端をコンテナ端に揃える
   （テーマの .c-row>.c-row__col に勝つよう詳細度を上げている） */
.edge_row .c-row {
    justify-content: space-between;
    margin-left: 0;
    margin-right: 0;
}
.edge_row > .c-row__col {
    padding-left: 0;
    padding-right: 0;
}

/* タブレット・スマホ（〜1024px）は両端揃えをやめて左揃え＋通常の間隔に戻す */
@media screen and (max-width: 1024px) {
    .edge_row .c-row {
        justify-content: flex-start;
    }
    .edge_row > .c-row__col {
        padding-left: calc(var(--_gap) * 0.5);
        padding-right: calc(var(--_gap) * 0.5);
    }
}

/*-お問い合わせフォーム（Snow Monkey Forms）レイアウト-*/

/* フォーム全体：中央寄せの白カード */
.smf-form {
    margin-left: auto;
    margin-right: auto;
    padding: 3rem 2.5rem;
}

/* 各項目：ラベル左・入力欄右の2カラム */
.smf-item {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    column-gap: 1.5rem;
    row-gap: 0.4rem;
    padding: 1.25rem 0;
    margin: 0;
    border-bottom: 1px solid #eeeeee;
}

/* ラベル（左・固定幅） */
.smf-item__col--label {
    width: 25%;
}
.smf-item__col--controls {
    width: 71%;
}
.smf-item__label {
    flex: 0 0 25%;
    font-weight: bold;
    padding-top: 0.6em;
}

/* 入力欄エリア（右・可変） */
.smf-item__controls {
    flex: 1 1 75%;
    min-width: 0;
}

/* 入力欄の見た目：うすいグレー背景 */
.smf-text-control__control,
.smf-email-control__control,
.smf-tel-control__control,
.smf-url-control__control,
.smf-textarea-control__control,
.smf-select-control__control {
    width: 100%;
    background: #f2f4f7;
    border: none;
    border-radius: 3px;
    padding: 0.75em 1em;
    font-size: 1rem;
    box-sizing: border-box;
}
.smf-textarea-control__control {
    min-height: 160px;
}

/* ボタン（確認する・送信・戻る） */
.smf-button-control__control {
    background: #1a8acc;
    color: #ffffff;
    border: none;
    border-radius: 3px;
    padding: 0.9em 3em;
    font-size: 1rem;
    cursor: pointer;
    transition: opacity 0.3s ease;
}
.smf-button-control__control:hover {
    opacity: 0.85;
}
/* ボタンの並びを中央に */
.smf-action {
    text-align: center;
    margin-top: 2rem;
}

/* スマホは縦積み（ラベル上・入力欄下） */
@media screen and (max-width: 767px) {
    .smf-form {
        padding: 1.5rem 1.25rem;
    }
    .smf-item {
        display: block;
    }
    .smf-item__label {
        padding-top: 0;
        margin-bottom: 0.4rem;
    }
}

@media screen and (max-width: 767px) {
.w_30 {
    width: 100% ;
    flex-basis: inherit;
}
.w_35 {
    width: 100% ;
    flex-basis: inherit;
}
.w_40 {
    width: 100% ;
    flex-basis: inherit;
}
.w_50 {
   width: 100%;
    flex-basis: inherit;
}
.w_80 {
   width: 100%;
    flex-basis: inherit;
}
.w_85 {
   width: 100%;
    flex-basis: inherit;
}
.w_350 {
    width: 100%;
}
}

@media screen and (min-width: 767px) {
  .sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}

/*-画像表示-*/
.img-top img {
    object-position:top center;
}

/**2カラム表**/

.graph_2col .smb-section__inner[class*=is-content-justification-]>.c-container {
    display: inline-block;
}
.graph_2col .c-row {
    align-items:stretch;
    --_item-width:100%;
    border-bottom: 1px #707070 solid;
    margin-bottom: 1rem;
    margin-left: 0;
    margin-right: 0;
    padding-bottom: 0.5rem;

}
.graph_2col .c-row[data-lg-columns="2"] .c-row__col:first-child {
    flex-basis: 25%;
    padding-left: 0;
}
.graph_2col .c-row[data-lg-columns="2"] .c-row__col:last-child {
    flex-basis: 75%;
    padding-top: 1rem;
    text-align: left;
}
/* 列の青背景を縦全域に広げる */
.graph_2col .c-row[data-lg-columns="2"] .c-row__col:first-child {
    background-image: linear-gradient(50deg, #1a8acc, #91d3e8);
    color: #ffffff;
}
.graph_2col .c-row[data-lg-columns="2"] .c-row__col:first-child h4 {
    background: none;   /* h4個別の青背景は消す（カラム側で塗るため） */
}
.graph_2col .wp-block-snow-monkey-blocks-items-item-free {
    margin-bottom:1.5rem;
}
.graph_2col .wp-block-snow-monkey-blocks-items {
    margin-top: 1.5rem;
}

.graph_2col h4 {
    background-image: linear-gradient(50deg, #1a8acc, #91d3e8);
    padding: 1rem;
    color: #ffffff;
    font-size: 1.14rem;
}



@media screen and (min-width: 768px) and (max-width: 1277px) {
    .graph_2col .c-row {
    gap: 0;
    justify-content: space-between;
}
}

@media screen and (max-width: 767px) {
    .graph_2col .c-container .c-row>.c-row__col {
        padding-left: 0;
        padding-right: 0;
    }
    .graph_2col .c-row {
display: block;
border: none;
    }
    .graph_2col .wp-block-snow-monkey-blocks-items-item-free {
        margin-bottom: 1.5rem;
    }
    .graph_2col .c-row[data-lg-columns="2"] .c-row__col:last-child {
        padding-top: 0;
    }

}

/**3カラム表**/

.graph_3col .smb-section__inner[class*=is-content-justification-]>.c-container {
    display: inline-block;
}
.graph_3col .c-row {
    align-items:stretch;
    --_item-width:100%;
    margin-left: 0;
    margin-right: 0;
    vertical-align: center;
    margin-bottom: 1rem;

}
.graph_3col .c-row[data-lg-columns="3"] .c-row__col:first-child {
    flex-basis: 25%;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    padding-top: 1rem;
    padding-right: 2rem;
}
/* 時間を青いピル型ラベルに */
.graph_3col .c-row[data-lg-columns="3"] .c-row__col:first-child {
    padding: 0.1em 2.5em 0 0;
}
.graph_3col .c-row[data-lg-columns="3"] .c-row__col:nth-child(2) {
    flex-basis: 50%;
    background-color: #ffffff;
    padding: 1rem;
}

.graph_3col .c-row[data-lg-columns="3"] .c-row__col:last-child {
    flex-basis: 25%;
    text-align: left;
    padding: 1rem;
    background-color: #ffffff;
}
.graph_3col .wp-block-snow-monkey-blocks-items-item-free {
    margin-bottom:1rem;
}
.graph_3col .wp-block-snow-monkey-blocks-items {
    margin-top: 1.5rem;
}

.graph_3col h4 {
    color: #1a8acc;
    font-size: 1.5rem;
    font-weight: bold;
}

/* タイムラインの縦線と丸い点（内容ボックスの左端を基準に配置） */
.graph_3col .c-row[data-lg-columns="3"] .c-row__col:nth-child(2) {
    position: relative;
}
/* 縦線：次の行まで伸ばして途切れさせない */
.graph_3col .c-row[data-lg-columns="3"] .c-row__col:nth-child(2)::before {
    content: "";
    position: absolute;
    left: -1.25rem;
    top: 0;
    height: calc(100% + 2.5rem);
    width: 2px;
    background: #cbd8ec;
    transform: translateX(-50%);
    z-index: 0;
}
/* 最後の行は下に飛び出さないよう線を止める */
.graph_3col .wp-block-snow-monkey-blocks-items:last-child .c-row[data-lg-columns="3"] .c-row__col:nth-child(2)::before {
    height: 100%;
}
/* 丸い点：時間の高さに合わせて線の上に置く */
.graph_3col .c-row[data-lg-columns="3"] .c-row__col:nth-child(2)::after {
    content: "";
    position: absolute;
    left: -1.25rem;
    top: 1.5rem;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #1a8acc;
    transform: translate(-50%, -50%);
    z-index: 1;
}

@media screen and (min-width: 768px) and (max-width: 1277px) {
    .graph_3col .c-row {
    gap: 0;
    justify-content: space-between;
}
}

@media screen and (max-width: 767px) {
    .graph_3col .c-container .c-row>.c-row__col {
        padding-left: 0;
        padding-right: 0;
    }
    .graph_3col .c-row {
display: block;
border: none;
border-bottom: 1px solid #cccccc;
padding-bottom: 1rem;
    }
    /* スマホ：白枠と余白をなくす */
    .graph_3col .c-row[data-lg-columns="3"] .c-row__col:nth-child(2),
    .graph_3col .c-row[data-lg-columns="3"] .c-row__col:last-child {
        background-color: transparent;
        padding: 0;
    }
    .graph_3col .wp-block-snow-monkey-blocks-items-item-free {
        margin-bottom: 0.75rem;
    }
    .graph_3col .c-row[data-lg-columns="3"] .c-row__col:last-child {
        padding-top: 0;
    }
    /* スマホでは縦線・丸を非表示に */
    .graph_3col .c-row[data-lg-columns="3"] .c-row__col:nth-child(2)::before,
    .graph_3col .c-row[data-lg-columns="3"] .c-row__col:nth-child(2)::after {
        display: none;
    }
    .graph_3col .c-row[data-lg-columns="3"] .c-row__col:first-child {
        justify-content: flex-start;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

}





/*-英字タイトル-*/


.smb-section__subtitle {
	font-family: "Roboto", sans-serif;
	font-size:2.8rem;
	font-weight:normal;
	line-height:1;
    margin-top:0 !important;
}


@media screen and (max-width: 767px) {
    .smb-section__header {
    display: block;
}
.smb-section__subtitle {
	font-size:2rem;
}
}



/*-全幅用英字タイトル-*/



.smb-section__title {
    font-size:0.9rem;
    font-weight: bold;
}

.smb-section__title:after {
    margin-top: 0.5rem;
}

.l-contents__inner:last-child {
    margin-bottom: 0;
    padding-bottom: var(--_padding3);
}



/*-下層ページタイトル-*/

.title_icon .smb-section__subtitle {
	font-family: "Roboto", sans-serif;
	font-size:3rem;
	font-weight:bold;
	line-height:1;
    margin-top:0 !important;
    text-align: left;
    color: #1a8acc;
}
.title_icon .smb-section__header {
    text-align: left;
}
.title_icon .smb-section__inner:before {
    content: "";
    display: inline-block;
    width: 49px;
    height: 39px;
    background-size: contain;
    position: absolute;
    top: 0.2rem;
    left: -0.2rem;
    z-index: 1;
}


.title_icon .smb-section__inner .smb-section__title:after {
    display: none;
}

@media screen and (max-width: 767px) {
    .smb-section__header {
    display: block;
}
.title_icon {
	font-size:2rem;
}
.title_icon .smb-section__inner .c-container {
    padding-left: 0rem;
    padding-right: 0rem;
}
}

/*-2色の下線付き見出し-*/

.line_title .smb-section__title {
    display: flex;
    align-items: center;   /* 文字とラインを縦中央で揃える */
    gap: 1rem;
    font-size: var(--titlesize);   /* 32px */
    font-weight: bold;
    line-height: 1.4;
    text-align: left;
    margin-bottom: 4rem;
}

/* 文字の左に伸びる2色の横ライン */
.line_title .smb-section__title::before {
    content: "";
    flex: 0 0 5%;         /* 左ラインの横幅を10%に固定 */
    height: 4px;
    border-radius: 4px;
    background: linear-gradient(90deg,
        #1a8acc 0%, #80D2E5 30%,    /* 左側：青グラデーション */
        #dcdcdc 30%, #dcdcdc 100%   /* 右側：薄いグレー */
    );
}

    .line_title .smb-section__title::after {
        display: none;
    }

/* スマホ（〜767px）は「文字の下に下線」に戻す */
@media screen and (max-width: 767px) {
    .line_title .smb-section__title {
        display: block;
        position: relative;
        padding-bottom: 0.6rem;
        margin-bottom: 2rem;
    }
    .line_title .smb-section__title::before {
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        flex: none;   /* 横並び用のflexを解除 */
    }

}


/*-背景ベタ塗り見出し-*/

.bg_title .smb-section__title {
    display: block;
    border: 2px solid;
    border-left-width: 10px;   /* 左だけ太い枠 */
    /* 枠線をグラデーションに（左=青→右=緑） */
    border-image: linear-gradient(90deg, rgb(26, 138, 204, 0.9), rgb(21, 214, 142, 0.9)) 1;
    color: #1a8acc;
    font-size: var(--titlesize); /* 32px */
    font-weight: bold;
    line-height: 1.4;
    text-align: left;
    padding: 0.6em 1em;          /* 内側の余白（上下0.6em・左右1em） */
    margin-bottom: 2rem;
}

/* 余計な下線などの装飾を消す */
.bg_title .smb-section__title::before,
.bg_title .smb-section__title::after {
    display: none;
}

/*-サイド追従アイコン-*/

#page-top {
    display: none;
}

/*-ボタン類-*/

.smb-btn-wrapper.is-style-text .smb-btn {
    font-weight: bold;
}

.link-shikaku .smb-btn {
    background: none;
    color:#333333;
    border: 1px solid #333333;
    transition: color 0.3s ease;
    padding: 1rem 2rem 1rem 1.5rem;
    border-radius: 0;
}

.link-shikaku .smb-btn:hover {
    color:#1a8acc;
}

.link-shikaku {
	position: relative;
}

.btn_external .smb-btn {
    padding-right: 3rem !important;
}

.btn_external::before {
    content: '';
    display: inline-block;
    width: 1em;
    height: 1em;
    background-image: url('https://adps13.hiroshima-u.ac.jp/wp-content/plugins/my-snow-monkey/assets/icon_link_blank.svg');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    position: absolute;
    right: 0;
    padding-right: 4.5rem;
    top: 50%;
    transform: translateY(-50%);
}

/*-外部リンク-*/

a[target="_blank"]:not(:has(img))::after {
  content: '';
  display: inline-block;
  width: 1em;
  height: 1em;
  background-image: url('https://adps13.hiroshima-u.ac.jp/wp-content/plugins/my-snow-monkey/assets/icon_link_blank.svg');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    position: absolute;
    right: 0;
    padding-right: 4.5rem;
    top: 50%;
    transform: translateY(-50%);
}

/* コンテンツ内のSMBボタンは、外部リンクアイコンをボタン内に収める */
.l-contents a.smb-btn[target="_blank"] {
    position: relative;
    padding-left: 3rem;    /* 右と同じ余白を足して文字を中央に戻す */
    padding-right: 4rem;   /* アイコン用のスペースを確保 */
}
.l-contents a.smb-btn[target="_blank"]::after {
    right: 1.2rem;         /* ボタン右端の内側に配置 */
    padding-right: 0;
    filter: brightness(0) invert(1);   /* 濃い色ボタン用に白アイコン */
}
#access .is-style-ghost a.smb-btn[target="_blank"]::after,
#access .is-style-ghost .smb-btn::after {
	background-image: none;                 /* 元の画像を消す */
	filter: none;                           /* 白フィルタ(1118行)を打ち消す */
	background-color: #1a8acc;              /* ← メインカラーのブルー */
	-webkit-mask-image: url('https://adps13.hiroshima-u.ac.jp/wp-content/plugins/my-snow-monkey/assets/icon_link_blank.svg');
	        mask-image: url('https://adps13.hiroshima-u.ac.jp/wp-content/plugins/my-snow-monkey/assets/icon_link_blank.svg');
	-webkit-mask-repeat: no-repeat;   mask-repeat: no-repeat;
	-webkit-mask-size: contain;       mask-size: contain;
	-webkit-mask-position: center;    mask-position: center;
}

/* コンテンツ内の「テキストリンク」（ボタン以外）は、アイコンをテキストのすぐ後ろにインライン表示 */
.l-contents a[target="_blank"]:not(.smb-btn):not(:has(img))::after {
    position: static;
    right: auto;
    top: auto;
    transform: none;
    padding-right: 0;
    margin-left: 0.25em;   /* テキストとの間隔 */
    vertical-align: -0.1em;
}


/* ★2026-09-14 整理：「9月14日以降開始」の2行ボタン指定。
   ・講演会申込(407)／参加申込(33)／マイページ(347) はボタン統合でなくなったので無効化
   ・統合後のボタン(939)は ::after を外部リンクアイコンに使っているため対象から外した
   （文言を復活させたい場合は、このコメント記号を外して番号を指定し直す）
.menu-item-407 > a,
.menu-item-33 > a {
    flex-direction: column !important;
    line-height: 1.3;
}
.menu-item-407 > a::after,
.menu-item-33 > a::after,
.menu-item-939 > a::after {
    content: "9月14日以降開始";
    display: block;
    font-size: 0.8em;
    font-weight: normal;
    margin-top: 0.15em;
    opacity: 0.9;
}
*/
/* menu-item-938 が残っている場合のみ、これまで通り2行目を表示 */
.menu-item-938 > a::after {
    content: "9月14日以降開始";
    display: block;
    font-size: 0.8em;      /* 2行目を小さく */
    font-weight: normal;
    margin-top: 0.15em;
    opacity: 0.9;
}

/* 強調ボタンの上端をヘッダー上部に揃える
   ※★2026-09-14 申込ボタンは1つに統合済み */
.l-header .p-global-nav .c-navbar__item.sm-nav-menu-item-highlight {
    align-self: flex-start;
}


/*-グリッド2カラムへ-*/
@media screen and (max-width: 480px) {

    .wp-block-snow-monkey-blocks-grid {
        --smb-grid--columns: 2 !Important;
    }
}

/*-料金表（TablePress #tablepress-1 / #tablepress-3）-*/
#tablepress-1,
#tablepress-3 {
    width: 100%;
    border-collapse: separate;   /* 列ごとに余白を作るため separate に */
    border-spacing: 0;           /* 表全体の余白は0（余白は本文セルだけに付ける） */
    background: #f5f6f7;
}

/* セル共通：余白・行区切り線 */
#tablepress-1 th,
#tablepress-1 td,
#tablepress-3 th,
#tablepress-3 td {
    padding: 1.1em 1.5em;
    border: none;
    border-bottom: 1px dashed #e5e5e5;   /* 行の区切り線 */
    vertical-align: middle;
}

caption {
    display: none;
}

/* 本文セルだけ左右に余白を作って列（ボックス）を分ける
   （ヘッダーの吹き出し行には付けないので、吹き出し行に余白は入らない） */
#tablepress-1 tbody td,
#tablepress-3 tbody td {
    position: relative;
    border-left: 8px solid #f5f6f7;
    border-right: 8px solid #f5f6f7;
    border-bottom: none;   /* 区切り線は::afterで描く（角のはみ出し防止） */
}

/* 行の区切り線（点線）：疑似要素で列の内側だけに引く（最終行以外） */
#tablepress-1 tbody tr:not(:last-child) td::after,
#tablepress-3 tbody tr:not(:last-child) td::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    border-top: 1px dashed #dcdcdc;   /* 白の列 → 薄いグレー */
}
/* 点線の色：各列の背景より少し濃いめに */
#tablepress-1 tbody tr:not(:last-child) td.column-2::after,
#tablepress-3 tbody tr:not(:last-child) td.column-2::after {
    border-top-color: #a3d0b5;   /* 緑の列 → 少し濃いめの緑 */
}
#tablepress-1 tbody tr:not(:last-child) td.column-3::after,
#tablepress-3 tbody tr:not(:last-child) td.column-3::after {
    border-top-color: #aad3ef;   /* 青の列 → 少し濃いめの青 */
}

/* 列ごとの背景色（ヘッダー・本文共通） */
#tablepress-1 .column-2,
#tablepress-3 .column-2 {
    background-color: #bfe1cd;   /* 薄いgreen（〜まで） */
}
#tablepress-1 .column-3,
#tablepress-3 .column-3 {
    background-color: #cee9f9;   /* 薄いブルー（以降） */
}

/* 1列目（区分）：左寄せ・太字 */
#tablepress-1 .column-1,
#tablepress-3 .column-1 {
    text-align: left;
    font-weight: bold;
    background: #f5f6f7;
}

/* ヘッダー行：中央寄せ・通常の太さ */
#tablepress-1 thead th,
#tablepress-3 thead th {
    text-align: center;
    font-weight: bold;
    font-size: 1.25rem;
    color: #333333;
}

/* 金額列（本文）：中央寄せ・太字・大きめ */
#tablepress-1 tbody td.column-2,
#tablepress-1 tbody td.column-3,
#tablepress-3 tbody td.column-2,
#tablepress-3 tbody td.column-3 {
    text-align: center;
    font-weight: bold;
    font-size: 1.25rem;
}

/* ヘッダー行のテーマ由来の背景色を消す */
#tablepress-1 thead,
#tablepress-1 thead tr,
#tablepress-3 thead,
#tablepress-3 thead tr {
    background: transparent !important;
}

/* ヘッダーの日付セルを「吹き出し」風に（角丸ボックス＋下向き三角） */
#tablepress-1 thead th.column-2,
#tablepress-1 thead th.column-3,
#tablepress-3 thead th.column-2,
#tablepress-3 thead th.column-3 {
    position: relative;
    z-index: 0;                 /* 重なり順の基準 */
    background: transparent !important;  /* 列の淡色・テーマ色を消す（吹き出しは疑似要素で描く） */
    color: #ffffff;
    border-bottom: none;
    padding-top: 1em;
    padding-bottom: 1.6em;      /* しっぽ分の余白 */
}

/* 吹き出し本体（角丸の四角） */
#tablepress-1 thead th.column-2::before,
#tablepress-1 thead th.column-3::before,
#tablepress-3 thead th.column-2::before,
#tablepress-3 thead th.column-3::before {
    content: "";
    position: absolute;
    left: 8px;
    right: 8px;
    top: 8px;
    bottom: 18px;               /* しっぽのための下スペース */
    border-radius: 3px;
    z-index: -1;
}

/* 吹き出しのしっぽ（下向き三角） */
#tablepress-1 thead th.column-2::after,
#tablepress-1 thead th.column-3::after,
#tablepress-3 thead th.column-2::after,
#tablepress-3 thead th.column-3::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 6px;
    transform: translateX(-50%);
    border: 10px solid transparent;
    border-top-width: 12px;
    border-bottom-width: 0;      /* 下向きの三角 */
    z-index: -1;
}

/* 吹き出しの色（緑：〜まで） */
#tablepress-1 thead th.column-2::before,
#tablepress-3 thead th.column-2::before {
    background: #6fbf93;
}
#tablepress-1 thead th.column-2::after,
#tablepress-3 thead th.column-2::after {
    border-top-color: #6fbf93;
}

/* 吹き出しの色（青：以降） */
#tablepress-1 thead th.column-3::before,
#tablepress-3 thead th.column-3::before {
    background: #6ba6da;
}
#tablepress-1 thead th.column-3::after,
#tablepress-3 thead th.column-3::after {
    border-top-color: #6ba6da;
}

/*-tableレスポンシブ（スマホのみ横スクロール／タブレット・PCは横幅いっぱい）-*/
@media only screen and (max-width: 767px) {
    #tablepress-1,
    #tablepress-3 {
        display: block;
        overflow-x: scroll;
        white-space: nowrap;
    }
}



#btn-cta .c-row {
    align-items: center;
    justify-content: center;
}

#btn-cta {
    position: relative;
}

#btn-cta::before {
    content: "";
    display: block;
    height: 50%;
background-image: linear-gradient(45deg, #ffe6d74d 30%, #70b3de4d 100%);
    width: 40%;
  left: 0%;
  transform: translateX(-50%);
  top:-2rem;
   position:absolute;
}

#btn-cta a {
    margin-top: 2rem !important;
}


#btn-cta .frame-box::before, .frame-box::after {
	content: '';
	width: 30px;
	height: 30px;
	position: absolute;
}

#btn-cta .frame-box::before {
	border-left: solid 2px #000000;
	border-top: solid 2px #000000;
	top: 0;
	left: 0;
}

#btn-cta .frame-box::after {
	border-right: solid 2px #000000;
	border-bottom: solid 2px #000000;
	bottom: 0;
	right: 0;
}





.sns-icon img {
    max-width: 20px;
}

.footer-menu .sns-icon {
    margin-top: 0;
    margin-left: 16px;
}

.footer-menu {
    margin-bottom: 40px;
    font-size: 14px;
}

.footer-menu ul {
    display: flex;
    flex-wrap: wrap;
}

.footer-menu ul li {
    width: 50%;
}

.footer-menu ul li:first-child {
    margin-top: var(--_margin-2);
}

.c-container:has(.mv) {
    margin-left: 0 !important;
    margin-right: 0 !important;
}



/**グラデ**/
.gradation_back {
  background-image: linear-gradient(0deg, #DEF2F8, #ffffff);
}


/**メインビジュアル**/
#mv .c-container {
    margin-left: 0;
    margin-right: 0;
    max-width: 100%;
}

/**ナビゲーション**/

#g-menu .smb-section__contents-wrapper {
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
    width: 100%;
}

#g-menu .wp-block-snow-monkey-blocks-items-item-block-link {
    border-right: 1px solid #231815;
    padding-top: 1rem;
    position: relative;
    transition : 0.5s;
}
#g-menu .wp-block-snow-monkey-blocks-items-item-block-link:last-child {
    border-right: none;
}

#g-menu .wp-block-snow-monkey-blocks-items-item-block-link::after {
  background-color: #231815;
  width: 14px;
  height: 10px;
  clip-path: polygon(0 0,100% 0, 50% 100%);
  content: "";
  position: absolute;
  right: 18%;
    top: 50%;
    transition : 0.5s;
}
#g-menu .wp-block-snow-monkey-blocks-items-item-block-link:hover {
 color:#1a8acc;
 transition : 0.5s;
}
#g-menu .wp-block-snow-monkey-blocks-items-item-block-link:hover::after {
  background-color: #1a8acc;
  top: 54%;
  transition : 0.5s;
}


@media screen and (max-width: 767px) {#g-menu .wp-block-snow-monkey-blocks-items-item-block-link {
    border-bottom: 1px solid #333333;
    border-right: 0;
    padding-top: 0.5rem;
    margin-bottom: 0;
}
}


.home #main-visual {
    position: relative;
    min-height: 680px;
    margin-top: -6rem !important;
}
.home #main-visual .hero {
    position: absolute;
    left: 0;
    z-index: 2;
    padding-top: 0;
}
.home #main-visual .catch {
    color: #ffffff;
    font-size: 32px;
    font-weight: bold;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    padding: 0 1rem;
    line-height: 2;
    display: inline-block !important;
    background: linear-gradient(90deg, rgb(26, 138, 204, 0.9), rgb(21, 214, 142, 0.9));
}
    #main-visual .sub_text {
        padding-left: 1rem;
    }
@media screen and (max-width: 767px) {
    .home #main-visual .catch {
        padding-top: 1rem;
        padding-bottom: 1rem;
    line-height: 1.2;}
    /* スマホではPC用見出しを隠す */
    .home #main-visual .catch.pc {
        display: none !important;
    }

    /* スマホ：メインビジュアルの見出しは絶対配置をやめて通常配置にする
       （絶対配置 + min-height 固定だと、文字が増えて行数が伸びたときに
         親の高さが広がらず、下のセクションに重なってしまうため）
       左端ぴったりの見た目は、外側コンテナの左右余白をゼロにして維持する */

    .home #main-visual {
        min-height: 0;
    }
    .home #main-visual .hero {
        position: static;
        /* 上からの表示位置。数値を増やすと下がる（2rem ≒ 32px） */
        margin-top: 13rem;
    }
    .home #main-visual > .smb-section__inner > .c-container {
        padding-left: 0;
        padding-right: 0;
    }
    /* ポスター講演申し込み期間の行間を詰める */
   .catch_sub strong {
        padding-bottom: 1rem !important;
        padding-top: 1rem !important;
        line-height: 1.5 !important;
    }
    
}
/* PCではスマホ用見出しを隠す */
@media screen and (min-width: 768px) {
    .home #main-visual .catch.sp {
        display: none !important;
    }
}


.home #main-visual .catch_sub strong {
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    padding: 0 1rem;
    line-height: 2;
    display: inline-block !important;
    background: #ffffff;
}


.home #main-visual .catch_sub {
    margin-bottom: 1rem;
}

/**写真スライド**/



#photo_slide {
    position: relative;
}

#photo_slide .smb-section__inner {
    position: absolute;
}

/* カルーセルコンテナの幅と隠れる部分の解除 */
.carousel-container {
  width: 100% !important;
  max-width: none !important;
}

/* 枠線からはみ出た画像を見せるための設定 */
#photo_slide > .smb-section__inner,
#photo_slide .c-container,
#photo_slide .smb-section__contents-wrapper,
#photo_slide .smb-section__body {
  overflow: visible !important;
}

/* 画像を横一列に並べるコンテナ */
.carousel-container .c-container .smb-section__body {
  display: flex !important;
  align-items: center;
  width: max-content !important;
  max-width: none !important;
  /* アニメーションの設定：1枚あたり15秒（2枚で30秒） */
  animation: loop 100s linear infinite; 
}

/* 各画像サイズを1920pxに固定（縮ませない） */
.carousel-container .c-container figure {
  flex: 0 0 1920px !important;
  width: 1920px !important;
  max-width: none !important;
  height: auto;
  margin: 0 !important; /* 画像の隙間をゼロにする */
}

.carousel-container .c-container figure img {
  width: 100% !important;
  display: block;
}

/* 無限ループのアニメーション定義 */
@keyframes loop {
  0% {
    transform: translateX(0);
  }
  100% {
    /* 最初にある「画像2枚分（1920px × 2 ＝ 3840px）」が左にハケきった瞬間に0%に戻す */
    transform: translateX(-3840px);
  }
}

/* スマホ（〜767px）：写真スライドを70%に縮小 */
@media screen and (max-width: 767px) {
  /* 画像サイズを70%（1920 × 0.7 = 1344px）に */
  .carousel-container .c-container figure {
    flex: 0 0 1344px !important;
    width: 1344px !important;
  }
  /* ループ移動距離も70%に合わせた専用アニメーションに差し替え */
  .carousel-container .c-container .smb-section__body {
    animation: loop-sp 100s linear infinite;
  }
}

/* スマホ用ループ（画像2枚分 1344px × 2 ＝ 2688px） */
@keyframes loop-sp {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-2688px);
  }
}

/**概要**/

#overview .smb-section__inner[class*=is-content-justification-]>.c-container {
    display: inline-block;
}
#overview .c-row {
    align-items:stretch;
    --_item-width:100%;
    gap: 3.9rem;
    border-bottom: 1px #707070 solid;
    margin-bottom: 1rem;
    margin-left: 0;
    margin-right: 0;

}
#overview .c-row[data-lg-columns="2"] .c-row__col:first-child {
    flex-basis: 25%;
    padding-left: 0;
}
#overview .c-row[data-lg-columns="2"] .c-row__col:last-child {
    flex-basis: 70%;
    padding-top: 1rem;
    text-align: left;
}
#overview .wp-block-snow-monkey-blocks-items-item-free {
    margin-bottom:1.5rem;
}
#overview .wp-block-snow-monkey-blocks-items {
    margin-top: 1.5rem;
}

#overview h4 {
    background-image: linear-gradient(50deg, #1a8acc, #91d3e8);
    padding: 1rem;
    color: #ffffff;
    font-size: 1.14rem;
}

@media screen and (min-width: 768px) and (max-width: 1277px) {
    #overview .c-row {
    gap: 0;
    justify-content: space-between;
}
}

@media screen and (max-width: 767px) {
    #overview .c-container .c-row>.c-row__col {
        padding-left: 0;
        padding-right: 0;
    }
    #overview .c-row {
display: block;
border: none;
    }
    #overview .wp-block-snow-monkey-blocks-items-item-free {
        margin-bottom: 1.5rem;
    }
    #overview .c-row[data-lg-columns="2"] .c-row__col:last-child {
        padding-top: 0;
    }

}


/**広告**/

#thanks {
  background: rgba(209, 232, 245, 0.2);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255,255,255,.15);
  box-shadow: 0px 0px 20px 0px rgba(26, 138, 205, 0.3);
  padding: 4rem 4rem;
  margin-top: 5rem;
  box-shadow:0 2px 32px rgba(0,0,0,.08),inset 0 1px 0 rgba(255,255,255,0.2);
  border-radius: 0.5rem;
  position: relative;
  
    }

#thanks::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.4),
      rgba(255,255,255,0)
    );
  pointer-events: none;
}

#thanks::after {
    content: "";
    display: inline-block;
    width: 192px;
    height: 280px;
    background: url(https://adps13.hiroshima-u.ac.jp/wp-content/plugins/my-snow-monkey/assets/back_line_3.png) no-repeat;
    background-size: contain;
    position: absolute;
    left: -100px;
    bottom: -12rem;
    z-index: -1;
}

#thanks .smb-section__inner::after {
    content: "";
    display: inline-block;
    width: 192px;
    height: 280px;
    background: url(https://adps13.hiroshima-u.ac.jp/wp-content/plugins/my-snow-monkey/assets/back_line_2.png) no-repeat;
    background-size: contain;
    position: absolute;
    right: -100px;
    top: -12rem;
    z-index: -5;
}

@media screen and (max-width: 767px) {
    #thanks {
  padding: var(--_container-margin-left);
  
    }
}


/*-委員会-*/
#committee {
    background-color: #F0F9FC;
    }

#committee .c-row {
    position: relative;
    margin-bottom: 1rem;
}

#committee .c-row .c-row__col:nth-child(2) , #committee .c-row__col:nth-child(3) {
    border-bottom: 1px #707070 solid;

    padding-bottom: 1rem;
}
#committee .c-row .c-row__col {
    margin-bottom: 1rem;
}
#committee .c-row .c-row__col.color_line::after {
content: "";
    display: block;
    height: 10px;
    background: -webkit-linear-gradient(90deg, #1a8acc 0%, #80D2E5 87.96%);
    background: linear-gradient(90deg, #1a8acc 0%, #80D2E5 87.96%);
    width: 33%;
    left: 0;
    bottom: 0.7rem;
    z-index: 1;
    position: absolute;
}

@media screen and (max-width: 767px) {
    #committee {
        padding-top: 4rem;
        margin-top: 0;
    }
.sp-mt-0 h4 {
    margin-top: 0 !important;
}
    #committee h4 {
        margin-top: 3rem;
        margin-bottom: 1rem;
          padding: 0.25em 0.5em;
  background: transparent;
  border-left: solid 5px #1a8acc;
    }
    #committee .c-row {
        margin-bottom: 0;
        width: 100%;
        margin: 0 auto;
    }
        #committee .c-row .c-row__col.color_line::after {
content: "";
    display: block;
    height: 0px;
}
    #committee .c-row .c-row__col.wp-block-snow-monkey-blocks-items-item-free:nth-child(2)  {
        border-bottom: 0;
        margin-bottom: 0;
        padding-bottom: 0;
}
    #committee .c-row .c-row__col.wp-block-snow-monkey-blocks-items-item-free {
        padding-left: 0;
    }
    #committee .wp-block-snow-monkey-blocks-items , #committee .wp-block-snow-monkey-blocks-items-item-free {
        margin-top: 0;
    }
    #committee .c-row .wp-block-snow-monkey-blocks-items-item-free:last-child {
        margin-bottom: 0rem;
    }
    #committee .c-container .c-container {
padding-left: 0;
padding-right: 0;
}
}


/**アクセス**/

#access iframe {
    width: 100%;
}


/**フッター**/

.l-footer-widget-area {
    margin-top: 5rem;
}
.l-footer-widget-area__item #block-9 .smb-section {
    padding-top: 0;
    padding-bottom: 0;
}

.c-fluid-container:has(.l-footer-widget-area__item) {
    padding-left: 0;
    padding-right: 0;
}

.l-footer {
    border: none;
}

.footer-info .wp-block-snow-monkey-blocks-btn a {
  font-size: 16px;
  transition: color 0.3s ease;
  display: inline-block;
  width: 300px;
  text-align: center;
  text-decoration: none;
  line-height: 60px;
  outline: none;
  position: relative;
  transition: color 0.5s ease;
}

.footer-info .wp-block-snow-monkey-blocks-btn a:hover {
    color: #ffffff;
}
.footer-info .wp-block-snow-monkey-blocks-btn a:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}
.footer-info .wp-block-snow-monkey-blocks-btn a::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: #1a8acc;
  transform: scaleX(0);
  transform-origin: right;
  transition: all 0.5s ease;
  transition-property: transform;
  z-index: -1;
}

.l-footer a[target="_blank"]::after {
    right: inherit;
    padding-right: 2rem;
    }

@media screen and (max-width: 767px) {
    .l-footer-widget-area {
    margin-top: 0rem;
}
  .smb-buttons,
  .wp-block-snow-monkey-blocks-buttons {
    flex-direction: column;
  }

  /* フッターのボタンだけ中央揃え */
  .l-footer .smb-buttons,
  .l-footer .wp-block-snow-monkey-blocks-buttons {
    align-items: center;
  }

}

/*コピーライト*/

.c-copyright--inverse {
    background-color: #1a8acc;
}
.c-copyright--inverse .c-fluid-container {
    padding-top: 0;
}



/*-プログラムページの表（TablePress）-*/
/* 使い方：TablePressの各表の設定「追加のCSSクラス」欄に program-table と入力すると
   この見た目になります。色はサイトのメインカラー（--accent-color / #1a8acc）。 */

.tablepress.program-table {
    --program-table-color: var(--accent-color, #1a8acc);
    width: 100%;
    border-collapse: collapse;
    border: 2px solid var(--program-table-color);
    background: #ffffff;
    font-size: 1rem;
    line-height: 1.6;
}

/* セル共通：メインカラーの罫線で囲む */
.tablepress.program-table th,
.tablepress.program-table td {
    border: 1px solid var(--program-table-color);
    padding: 0.9em 1em;
    vertical-align: middle;
    background: #ffffff;
    color: #333333;
}

/* 見出し行：メインカラーの背景＋白文字 */
.tablepress.program-table thead th {
    background: var(--program-table-color) !important;
    color: #ffffff;
    text-align: center;
    font-weight: 700;
    letter-spacing: 0.05em;
    padding-top: 0.6em;
    padding-bottom: 0.6em;
}

/* 縞模様（TablePressの標準機能）を消して全行白に */
.tablepress.program-table tbody tr.odd td,
.tablepress.program-table tbody tr.even td {
    background: #ffffff;
}

/* 1列目（時間）：中央寄せ・太字・折り返さない */
.tablepress.program-table .column-1 {
    width: 7em;
    text-align: center;
    font-weight: 700;
    white-space: nowrap;
}

/* 横につながったセル（休憩・昼食休憩など）：中央寄せ・太字・薄い水色背景 */
.tablepress.program-table td[colspan] {
    text-align: center;
    font-weight: 700;
    background: #eaf4fb;
}

/* セル内の「招待講演 SiCデバイス」などの見出しラベル。
   セルに <span class="ses-label">招待講演 SiCデバイス</span> と入れると枠付きになります。 */
.tablepress.program-table .ses-label {
    display: inline-block;
    margin-bottom: 0.5em;
    padding: 0.15em 0.7em;
    border: 1px solid var(--program-table-color);
    border-radius: 2px;
    color: var(--program-table-color);
    font-weight: 700;
    font-size: 0.95em;
    line-height: 1.5;
}

/* スマホは横スクロール */
@media only screen and (max-width: 767px) {
    .tablepress.program-table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }
}


/* 招待講演一覧（TablePress ID 6） */
.tablepress.invited-table{--invited-color:var(--accent-color,#1a8acc);width:100%;border-collapse:collapse;border:2px solid var(--invited-color);background:#fff;font-size:1rem;line-height:1.6}
.tablepress.invited-table td{border:none;padding:.25em 1.2em;background:#fff!important;color:#333;vertical-align:top}
/* 区分の始まりに横線 */
.tablepress.invited-table tbody tr:has(>td.column-1:not(:empty)) td{border-top:1px solid var(--invited-color);padding-top:1.1em}
.tablepress.invited-table tbody tr:first-child td{border-top:none}
.tablepress.invited-table tbody tr:has(+tr>td.column-1:not(:empty)) td,
.tablepress.invited-table tbody tr:last-child td{padding-bottom:1.1em}
/* 区分名の列 */
.tablepress.invited-table .column-1{width:9em;white-space:nowrap;text-align:center;font-weight:700;color:var(--invited-color);background:#eaf4fb!important;border-right:1px solid var(--invited-color)}
/* 演題（奇数行）・講演者（偶数行） */
.tablepress.invited-table tbody tr:nth-child(odd) td.column-2{font-weight:700}
.tablepress.invited-table tbody tr:nth-child(even) td.column-2{padding-left:2.2em;padding-bottom:.7em;color:#555}
/* スマホ */
@media only screen and (max-width:767px){
  .tablepress.invited-table,.tablepress.invited-table tbody,.tablepress.invited-table tr,.tablepress.invited-table td{display:block;width:auto}
  .tablepress.invited-table .column-1:empty{display:none}
  .tablepress.invited-table .column-1{text-align:left;border-right:none;padding:.5em 1em}
  .tablepress.invited-table tbody tr:has(>td.column-1:not(:empty)) td.column-2{border-top:none}
  .tablepress.invited-table tbody tr:nth-child(even) td.column-2{padding-left:1.2em}
}