@charset "UTF-8";

/* ------------------------- common-pc ------------------------- */


/* ------------------ basic ------------------ */
*, *::before, *::after {
    box-sizing: border-box;
}

html {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  background: #fff;
  line-height: 1.5;
}

body {
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
  padding: 0;
  min-height: 100vh;
}


h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd {
    margin: 0;
}

ul, ol {
    margin: 0;
    padding: 0;
}

img {
    vertical-align: bottom;
    max-width: 100%;
    height: auto;
}

a {
    text-decoration: none;
    color: inherit;
    transition: opacity 0.3s ease;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 600;
}
p:empty {
  display: none;
}

/* ========================================
   Utility & Components
   ======================================== */

/* アンカーリンクの位置ズレ対策 */
[id] {
    scroll-margin-top: 90px; /* 固定ヘッダーの高さ分 */
}

a img:hover {
    opacity: 0.8;
}

#wrap {
    width: 100%;
    background: #fff;
}

.fadein {
  opacity : 0;
  transform : translate(0, 60px);
  transition : all 1s;
} 
  .fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0);
  }


/* ------------------ header ------------------ */
	  
header#global-header {
  position: fixed;
  width: 100%;
  height: 80px;
  background: #fff;
  z-index: 100;
}
  header#global-header .inner {
    margin: 0 auto;
    width: 100%;
    max-width: 1200px;
    position: relative;
    height: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #fff;
  }
  #company-logo {
    display: flex;
  }
    #company-logo a img {
      width: 50%;
    }

header#global-header .inner a.contact {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 260px;
  height: 40px;
  font-size: 1rem;
  font-weight: 400;
  color: #0081C2;
  border: 1px solid #0081C2;
  background: #fff;
  border-radius: 30px;
  transition: all 0.3s ease;
}

header#global-header .inner a.contact:hover {
  background: #0081C2;
  color: #fff;
  font-weight: 800;
}


/* transition */
  header#global-header,
  header#global-header:after,
  header#global-header img.logo {
    transition: all 0.3s ease;
  }

/* Fixed */
  header#global-header.fixed {
    height: 60px;
  }
    header#global-header.fixed img.logo {
      width: 40%;
      height: auto;
    }
      header#global-header.fixed:after {
        width: 100%;
        margin-top: 40px;
      }


/* ------------ body ------------ */

body {
    overflow-x:scroll !important
}


/* ------------ article ------------ */

body.home article {
  margin: 0 auto;
  padding: 0;
  max-width: 100%;
}

.page-template article,
.page-template-default article,
.archive article,
.search article,
.single article {
  margin: 0 auto;
  padding: 114px 0;
  max-width: 1200px;
  color: #2B2B2B;
}
.page-template-default article p {
/*
  font-size: 16px;
  line-height: 1.8;
*/
}




/* --- for home and other page --- */
/* --- Whatsnew List --- */

.whats-new-list {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	height: auto;
	margin: 0 auto;
	padding: 0;
	max-width: 980px;
}
  .whats-new-list ul {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    width: 100%;
    height: auto;
    margin: 0 auto;
    padding: 0;
  }
.whats-new-list ul li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 1rem;
	margin: 0 auto 1.4rem;
    background: #fff;
	border-radius: 4px;
    list-style: none;
    position: relative;
}

.whats-new-list ul li span {
    flex-shrink: 0;
}

span.news-date {
	flex: 2;
  font-size: 0.9rem;
}
span.news-cate {
	flex: 2;
  font-size: 0.9rem;
	text-align: center;
}

p.news-title {
	flex: 6;
  font-size: 1rem;
  line-height: 1.5;
  color: #262626;
	overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

    .whats-new-list p.news-title a:hover {
        text-decoration: underline;
        color: blue;
    } 

.whats-new-list em.new-mark {
  position: absolute;
  top: -10px;
  right: -28px;
  font-size: 10px;
  font-style: normal;
  color: #fff;
  background: #e53935;
  margin: 0 0.7rem 0 0;
  border-radius: 50%;
  width: 28px;
  height: 28px;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

      .whats-new-list ul li a {
        display: inline;
        text-decoration: none;
      } 



/* ------- Contact Us -------- */

#contact-us {
  padding: 6rem 0;
  min-height: 30rem;
  color: #fff;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
}

.bg-contact01 {
  background: url("https://tsukubakinenqq.com/wp-content/uploads/2025/12/bg-contactus-scaled.avif") no-repeat center;
  background-size: cover;
}
.bg-contact02 {
  background: url("https://tsukubakinenqq.com/wp-content/uploads/2026/01/bg-contactus02-scaled.avif") no-repeat center;
  background-size: cover;
}
.full-width {
  width: 100vw;
  margin-inline: calc(50% - 50vw);
}

  



#contact-us .inner {
  margin: 0 auto;
  width: 1000px;
  display: flex;
	justify-content: space-between;
	align-items: center;
}

#contact-us {

  & .section-title {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 0 2rem;
    line-height: 1;
  }

  & .section-title .title-en {
    font-family: 'Impact', 'Arial Black', sans-serif;
    font-weight: 900;
    font-style: italic;
    font-size: 3rem;
    line-height: 1;
    letter-spacing: 0.1rem;
    color: #fff;
    text-shadow: 0 0 3px #000;
    position: relative; 
    margin-bottom: 15px; 
    padding-bottom: 10px; 
  }

  & .section-title .accent {
    color: #e53935;
  }

  & .underline {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 180%;
    height: 4px;
    background: #fff;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    display: block;
  }

  & .section-title .title-jp {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-style: italic;
    font-size: 20px;
    color: #fff;
    text-shadow: 0 0 3px #000;
  }

  & .section-text {
    text-align: left;
    max-width: 70%;
    margin: 0 auto 3rem;
  }

  & .section-text p {
    font-size: 1rem;
    line-height: 1.8;
  }
}


  #contact-us .inner div.primary {
    display: flex;
    flex-direction: column;
    width: 50%;
    margin: 0;
    order: 1;
    border-right: 1px solid #fff;
  }

  #contact-us .inner div.secondary {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    margin: 0;
    order: 2;
  }


/* popup base */


.pum-theme-451 .pum-container,
.pum-theme-default-theme .pum-container {
  padding: 0;
  border-radius: 0;
  border: none;
  box-shadow: none;
  background-color: none;
}

.pum-theme-451 .pum-content + .pum-close,
.pum-theme-default-theme .pum-content + .pum-close {
  position: absolute;
  height: auto;
  width: auto;
  top: 4px;
  left: auto;
  right: 4px;
  bottom: auto;
  padding: 10px 14px;
  color: #2b2b2b;
  font-family: inherit;
  font-weight: 400;
  font-size: 1.4rem;
  font-style: inherit;
  line-height: 1.4rem;
  border: none;
  border-radius: 0;
  box-shadow: none;
  text-shadow: none;
  background-color: #fff;
}





/* ------ お電話でのお問い合わせ ------ */
.tel-contact-wrapper {
  color: #fff;
	text-align: left;
	max-width: 440px;
	margin: 0 0 3rem;
}

/* --- タイトル --- */
.tel-contact-title {
  font-size: 1.2rem;
  font-weight: normal;
  margin: 0 0 1rem 0; /* 下の余白 */
  letter-spacing: 0.05rem;
}

/* --- コンテンツエリア（アイコンと番号の横並び） --- */
.tel-contact-container {
  display: flex;
  align-items: center; /* 上下中央揃え */
  gap: 30px; /* アイコンと文字の間隔 */
}

/* --- アイコンエリア --- */
.tel-contact-icon {
  width: 80px;  /* アイコンの幅（画像に合わせて調整） */
  height: 80px; /* 高さ */
  flex-shrink: 0; /* 縮まないように固定 */
  background-color: #fff;
  display: flex; align-items: center; justify-content: center;
}

/* --- 電話番号エリア --- */
.tel-contact-info {
  display: flex;
  flex-direction: column; /* 縦並び */
  gap: 10px; /* 上の番号と下の番号の間隔 */
}


/* 個別の電話番号行 */
.tel-row {
  color: #fff; /* 文字色 */
  text-decoration: none; /* 下線を消す */
  display: flex;
  align-items: baseline; /* 数字と（直通）の下のラインを揃える */
  line-height: 1;
  transition: opacity 0.3s;
}

.tel-row:hover {
  opacity: 0.7; /* ホバー時の動き */
}

/* 電話番号（大文字） */
.tel-number {
 font-size: 2.2rem; /* 文字サイズ（大きく） */
  font-weight: 700; /* 太文字 */
  letter-spacing: 0.02em;
  margin-right: 10px; /* （直通）との間隔 */
}

/* （直通）（代表）の文字 */
.tel-desc {
  font-size: 1rem;
  font-weight: normal;
}





/* ------ メールでのお問い合わせ------ */
.mail-contact-wrapper {
  color: #fff;
	text-align: left;
}

/* --- タイトル --- */
.mail-contact-title {
  font-size: 1.2rem;
  font-weight: normal;
  margin: 0 0 1rem 0;
  letter-spacing: 0.05em;
}

/* --- リンクボタン全体 --- */
.btn-mail-contact {
display: flex;
justify-content: center;
align-items: center;
position: relative;
width: 420px;
padding: 1.2rem 2rem;
border: 1px solid #fff;
color: #fff;
text-decoration: none;
background-color: transparent;
transition: background-color 0.3s ease;
}

.btn-mail-contact:hover {
  background-color: rgba(255, 255, 255, 0.1);
}

/* --- テキストグループ --- */
.mail-text-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0 40px; 
}

/* メインテキスト（問い合わせフォーム） */
.mail-main-text {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.05rem;
  margin-bottom: 10px;
  line-height: 1.2;
}

/* サブテキスト（病院名など） */
.mail-sub-text {
  font-size: 1rem;
  font-weight: normal;
  opacity: 0.9;
}

/* --- SVGアイコン --- */
.outlink-icon {
  position: absolute; /* ボタン内で絶対配置 */
  right: 20px;        /* 右端からの距離 */
  top: 50%;
  transform: translateY(-50%); /* 上下中央補正 */
  width: 30px;
  height: 30px;
  display: flex; /* SVGのズレ防止 */
}





/* ------救急科の募集要項------ */
.recruit-contact-wrapper {
  color: #fff;
	text-align: left;
}

/* --- タイトル --- */
.recruit-contact-title {
  font-size: 1.2rem;
  font-weight: normal;
  margin: 0 0 1rem 0;
  letter-spacing: 0.05em;
}



/* --- リクルートサイト　リンクボタン --- */
.btn-recruit-contact {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 420px;
  padding: 1.2rem 2rem;
  color: #fff;
  text-decoration: none;
  background-color: #fff;
  transition: background-color 0.3s ease;
}
  .btn-recruit-contact:hover {
    background-color: rgba(255, 255, 255, 0.8);
  }

  /* --- テキストグループ --- */
  .recruit-text-group {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 0 40px; 
    color: #095073;
  }

  /* メインテキスト（問い合わせフォーム） */
  .recruit-main-text {
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 0.05rem;
    margin-bottom: 10px;
    line-height: 1.2;
  }

  /* サブテキスト（病院名など） */
  .recruit-sub-text {
    font-size: 1rem;
    font-weight: normal;
    opacity: 0.9;
  }






/* ------------------ edit ------------------ */

div.edit {
  text-align: center;
  padding: 16px 0;
}






/* ------------------ footer ------------------ */

#global-footer {
  position: relative;
}

/* ------- footer-banner -------- */

.footer-banner {
  display: flex;
  width: 100%;
  background: #fff;
}

.footer-banner .inner {
  display: flex;
  width: 1000px;
  justify-content: space-between;
  align-items: center;
  padding: 50px;
  margin: 0 auto;
}

.footer-banner .inner a img {
  width: 300px;
}


/* ------- footer-links -------- */

.footer-links {
  display: flex;
  width: 100%;
  background: #F6F6F6;
}

.footer-links .inner {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
  padding: 50px 0;
  margin: 0 auto;
}


/* ------- footer-copyright -------- */

.footer-copyright {
  padding: 1rem;
  color: #fff;
  font-size: 0.8rem;
  background: url(https://tsukubakinenqq.com/wp-content/uploads/2025/12/bg-nav.png) repeat;
}

.footer-copyright .inner {
  display: flex;
  width: 80%;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
}

.footer-copyright a {
  color: #fff;
}





/* ---------- for page ---------- */

body.achievement #wrap,
body.clinical-research #wrap,
body.training-program #wrap,
body.recruitment-flow #wrap,
body.recruitment #wrap,
body.archive #wrap,
body.single #wrap {
  background: #F7F7F6;
}

body .entry {
  background: #fff;
  padding: 80px 50px;
}

body .entry-archive {
  padding: 80px 50px;
}

/* ---------- header for page ---------- */

header#pagetitle {
  display: flex;
  justify-content: center;
  align-items:center;

  width: 100vw;
  margin-inline: calc(50% - 50vw);
  height: auto;
  
  background-size: 100% auto;
  background-repeat: no-repeat;
  
  aspect-ratio: 2560 / 491;
}

      header#pagetitle h1 {
        display:block;
        width: 1200px;
        color: #fff;
        font-size: 1.6rem;
        font-weight: 600;
        letter-spacing: 1px; 
        margin: 3rem 0 0;
        text-shadow: 
           1px  1px 4px rgba(0, 0, 0, 0.46),
          -1px  1px 4px rgba(0, 0, 0, 0.46),
           1px -1px 4px rgba(0, 0, 0, 0.46),
          -1px -1px 4px rgba(0, 0, 0, 0.46),
           1px  0px 4px rgba(0, 0, 0, 0.46),
           0px  1px 4px rgba(0, 0, 0, 0.46),
          -1px  0px 4px rgba(0, 0, 0, 0.46),
           0px -1px 4px rgba(0, 0, 0, 0.46); 
      }

      body.single header#pagetitle,
      body.page header#pagetitle {
        background-image: url('https://tsukubakinenqq.com/wp-content/uploads/2026/01/tit-other-scaled.avif');
      }

      body.about header#pagetitle,
      body.staff header#pagetitle {
        background-image: url('https://tsukubakinenqq.com/wp-content/uploads/2026/01/tit-about-scaled.avif');
      }
      body.achievement header#pagetitle,
      body.clinical-research header#pagetitle {
        background-image: url('https://tsukubakinenqq.com/wp-content/uploads/2026/01/tit-research-scaled.avif');
      }
      body.training-program header#pagetitle {
        background-image: url('https://tsukubakinenqq.com/wp-content/uploads/2026/01/tit-program01-scaled.avif');
        min-height: 230px;
        
      }
      body.recruitment-flow header#pagetitle,
      body.recruitment header#pagetitle {
        background-image: url('https://tsukubakinenqq.com/wp-content/uploads/2026/01/tit-program02-scaled.avif');
      }
      body.archive header#pagetitle {
        background-image: url('https://tsukubakinenqq.com/wp-content/uploads/2026/01/tit-news-scaled.avif');
      }
      body.sns header#pagetitle {
        background-image: url('https://tsukubakinenqq.com/wp-content/uploads/2026/01/tit-sns-scaled.avif');
      }
      body.search header#pagetitle {
        background-image: url('https://tsukubakinenqq.com/wp-content/uploads/2026/01/tit-other-scaled.avif');
      }

/* --- meta --- */

.metadeta {
	margin:4rem 0 0;
  text-align: center;
}
    .metadeta span {
      display: inline-block;
      font-size: 0.6rem;
      line-height:1;
      color:#aaa;
      margin: 0 2rem 0 0;
    }





/*--------- pagination ----------*/

.pagination {
    margin-top: 40px;
    width: 100%;
    display: flex;
    justify-content: center;
}

.pagination .nav-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

.pagination .page-numbers {
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 40px;
    height: 40px;
    margin: 0 5px;
    padding: 0 5px;
    background-color: #e6e6e6;
    color: #2B2B2B;
    text-decoration: none;
    font-size: 16px;
    border-radius: 2px;
    transition: background-color 0.3s;
    box-sizing: border-box;
}

.pagination a.page-numbers:hover {
    background-color: #d4d4d4;
}

.pagination .current {
    background-color: #0088cc;
    color: #fff;
    font-weight: bold;
}

.pagination .dots {
    background-color: transparent;
    border: none;
    color: #2B2B2B;
}

.pagination .prev,
.pagination .next {
    background-color: transparent;
    font-size: 20px;
}


/*--------- prev-next ----------*/

.prev-next {
	width:100%;
	margin: 0 auto;
	padding: 0;
	display: flex;
}
.prev-next a.prev {
  display: flex;
  justify-content: space-between;
	width: 50%;
	padding: 20px 30px 20px 20px;
	border-top:#efefef 1px solid;
	border-bottom:#efefef 1px solid;
	text-decoration:none;
	position:relative;
}
.prev-next a.next {
  display: flex;
  justify-content: space-between;
	width: 50%;
	padding: 20px 20px 20px 30px;
	border-top:#efefef 1px solid;
	border-bottom:#efefef 1px solid;
	text-decoration:none;
	position:relative;
}

.prev-next a:hover {
	background: #f2f2f2;
}

.prev-next a.prev{
  border-right: #efefef 1px dotted;
}

  .prev-next-body {
		width: 80%;
	}

	.prev-next span {
		display: block;
		font-size: 10px;
		line-height:1;
		color: #aaa;
		margin: 4px 0 16px;
	}
	.prev-next p {
		font-size: 12px;
		line-height:1.4;
		margin: 0;
	}

  /* for avif on common post */
	.prev-next img {
		width: 100px!important;
		height: auto;
		padding: 0 0 4px 0;
	}
    .prev-next .prev img,
    .prev-next .next img {
      margin-right: 20px;
    }

  /* for svg on journal-club */
	.prev-next .report-icon-box svg {
		margin: 0 auto;
	}



/* ---------------------------------------- */
/* ------------- flex layout -------------- */
/* ---------------------------------------- */

.flexLayout {
    display: flex;
    width:100%;
    height: auto;
}

  /* --justify-content-- */
    .jc-c { justify-content: center; }
    .jc-fs { justify-content: flex-start; }
    .jc-fe { justify-content: flex-end; }
    .jc-sa { justify-content: space-around; }
    .jc-sb { justify-content: space-between; }

  /* --align-items-- Align to the column*/
    .ai-b { align-items: baseline; }
    .ai-c { align-items: center; }
    .ai-fe { align-items: flex-end; }
    .ai-fs { align-items: flex-start; }
    .ai-s { align-items: stretch; }

  /* --align-content-- Align to the row*/
    .ac-c { align-content: center; }
    .ac-fe { align-content: flex-end; }
    .ac-fs { align-content: flex-start; }
    .ac-sa { align-content: space-around; }
    .ac-sb { align-content: space-between; }
    .ac-s { align-content: stretch; }

  /* --flex-direction-- */
    .fd-c { flex-direction: column; }
    .fd-cr { flex-direction: column-reverse; }
    .fd-r { flex-direction: row; }
    .fd-rr { flex-direction: row-reverse; }

 .flexLayout div img,
 .flexLayout figure img {
        display: block;
        width:100%;
        height: auto;
        margin :0;
        padding: 0;
    }


	  
        .item100 {
            width:100%;
        }
        .item64 {
            width:64%;
        }
        .item60 {
            width:60%;
        }
        .item48 {
            width:48%;
        }
        .item44 {
             width:44%;
        }
        .item40 {
             width:40%;
        }
        .item34 {
             width:34%;
        }
        .item30 {
             width:30%;
        }



/* ---------------------------------------- */
/* ------------ margin padding ------------ */
/* ---------------------------------------- */

.m20 { margin:20px !important;}
.m30 { margin:30px !important;}
.m40 { margin:40px !important;}
.m50 { margin:50px !important;}

.mt20 { margin-top:20px !important;}
.mt30 { margin-top:30px !important;}
.mt40 { margin-top:40px !important;}
.mt50 { margin-top:50px !important;}
.mt80 { margin-top:80px !important;}


.p10 { padding:10px !important;}
.p20 { padding:20px !important;}
.p30 { padding:30px !important;}
.p40 { padding:40px !important;}
.p50 { padding:50px !important;}
.p60 { padding:60px !important;}
.p70 { padding:70px !important;}
.p80 { padding:80px !important;}
.p90 { padding:90px !important;}
.p100 { padding:100px !important;}
.p110 { padding:110px !important;}
.p120 { padding:120px !important;}

/* ---------- color ---------- */

.col-blue { color: #3155a4!important; }
.col-red { color: #cf001b !important; }
.col-orange { color:#FF8139 !important; }
.col-green { color:#ededed !important; }
.col-indblue { color: #2b4e76 !important; }
.col-white { color: #fff !important; }


/* ---------- text ---------- */

.mid { font-size: 2rem!important; }
.mid3rem { font-size: 3rem!important; }



/* ---------- align ---------- */

.tal { text-align:left;}
.tar { text-align:right;}
.tac { text-align:center;}



/* ---------- break ---------- */

    .brsp { display: none; }
		.brpc { display: block; }










/* ------------------------- nav-pc ------------------------- */


/* hamburger */

.hamburger,
.sp-contact {
  display: none;
}


/* ------------ nav(pulldown) ------------ */

.nav-wrapper {
}

  nav ul,
  nav ul li {
    list-style: none;
    display: block;
  }

    nav#global-nav {
      width: auto;
      height: 56px;
      padding: 0;
      background: url(https://tsukubakinenqq.com/wp-content/uploads/2025/12/bg-nav.png);
    }
        nav#global-nav ul {
          display: flex;
          flex-wrap: wrap;
          justify-content: space-around;
          list-style-type: none;
          width: 1200px;
          height: 56px;
          margin: 0 auto;
          padding: 0;
          background-size: 100% 100%;
        }

        nav#global-nav ul li {
            flex: 1 0 0%;
            height: 56px;
            position: relative;
        }

          nav#global-nav > ul li::before {
            content: "";
            position: absolute;
            left: 0;
            top: 10px;
            bottom: 10px;
            width: 1px;
            background-color: #fff;
          }
          nav#global-nav > ul li:last-child::after {
            content: "";
            position: absolute;
            right: 0;
            top: 10px;
            bottom: 10px;
            width: 1px;
            background-color: #fff;
          }

    nav#global-nav ul li a {
      margin: 0;
      padding: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1rem;
      line-height: 1;
      height: 56px;
      color: #fff;
      font-weight: 600;
      list-style: none;
      text-decoration: none; 
      text-align: center;
      position: relative;
      transition: background-size 0.3s ease;
    }
      nav#global-nav > ul > li > a::after {
        content: "";
        position: absolute;
        bottom: 10px; 
        left: 35%;
        width: 30%;
        height: 1px; /* 線の太さ */
        background-color: #fff;
        transform: scaleX(0);
        transform-origin: center;
        transition: transform 0.3s ease;
      }
        nav#global-nav > ul > li > a:hover::after {
          transform: scaleX(1);
        }



    /* ul.sub-menu */	  
      nav#global-nav ul li ul.sub-menu {
          height: 0; /* necessary : hover action done just size */
      }

        nav#global-nav ul li ul.sub-menu li.current-menu-item {
          background-size: 100% 100%;
          color: #fff;
        }
        nav#global-nav ul li ul li.current-menu-item { /*  exsist on current page  */
          color: #fff;
        }
            nav#global-nav ul li ul.sub-menu li.current-menu-item a {
              color: #fff;
              background-size: 100% 100%;
            }

            nav#global-nav li.current_page_item a {
              color: #fff;
              background-size: 100% 100%;

            }




    /* dropDown */

   nav#global-nav ul li ul {
      display: block;
      list-style: none;
      position: absolute;
/*      z-index: 1000;*/
      top: 100%;
      left: 0;
      width: 100%;
      margin: 0 0 0 0;
      padding: 0;
    }
      nav#global-nav ul li ul li {
        position: relative;
        overflow: hidden;
        width: 100%;
        height: 0;
        color: #2B2B2B;
        transition: .2s;
      }
        /* 2. 3階層目のulの位置を上書き */
        /* 親の右側に配置し、高さを親の上端に合わせ */
        nav#global-nav ul li ul li ul {
            top: 0;
            left: 100%; /* 親の幅分だけ右にずらす */
            margin: 0;  /* 元のmargin指定をリセット */
        }

          /* 「一番最後のli」の中にある「3階層目ul」は左に出す */
          nav#global-nav ul > li:last-child ul li ul {
              left: auto;
              right: 100%;
          }

          /* もし右から2番目も左に出したい場合は以下も追加 */
          nav#global-nav ul > li:nth-last-child(2) ul li ul {
              left: auto;
              right: 100%;
          }


        nav#global-nav ul li ul li a {
          padding: 0 15px;
          color: #fff;
          background: #1A4961;
          text-align: left;
          font-size: 14px;
          font-weight: 600;
          border-top: 1px solid #fff;
          border-left: 1px solid #fff;
          border-right: 1px solid #fff;
        }
          nav#global-nav ul li ul li:last-child a {
            border-bottom: 1px solid #fff;
          }

          nav#global-nav ul li ul li a:hover {
            color: #2B2B2B!important;
            background: #fff;
          }


          nav#global-nav .sub-menu li:hover > a { color:#2B2B2B;}
          nav#global-nav .sub-menu li:hover li:hover > a { color:#2B2B2B; }
          nav#global-nav ul > li:hover > ul > li {
            overflow: visible;
            height: 56px;
          }




/*--------- footer-nav ---------*/

#global-footer nav {
  display: block;
  width: 100%;
}

#footer-nav a {
  position: relative;
  color: #262626;
  text-decoration: none;
}

#footer-nav a::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: currentColor;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.3s ease-out;
}

#footer-nav a:hover::after {
  transform: scaleX(1);
}

#footer-nav ul {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  padding: 0;
}


#footer-nav > ul > li {
  flex: 1;
  text-align: center;
  position: relative;
	font-size: 0.8rem;
}

#footer-nav > ul > li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 10px;
  transform: translateY(-50%);
  right: 0;
  height: 1em;
  border-right: 1px dotted #262626;
}

#footer-nav > ul > li.menu-item-has-children > a,
#footer-nav > ul > li.menu-item-object-page > a {
}

/* Child */
#footer-nav ul.sub-menu {
  font-size: 0.8rem;
  flex-direction: column;
  margin: 0;
  padding: 0;
  text-align: center;
}

#footer-nav ul.sub-menu li {
  margin: 1rem 0 0 0;
}


#footer-nav > ul > li:nth-child(3) ul.sub-menu {
  text-align: center;
}





/*--- footer-sub-nav ---*/

nav#footer-sub-nav {
  width: 300px;
}

#footer-sub-nav ul {
  display: flex;
  justify-content: space-between;
  padding: 0;
}

#footer-sub-nav ul li a {
  position: relative;
  color: #fff;
  font-size: 0.8rem;
  text-decoration: none;
}

#footer-sub-nav ul li a::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: currentColor;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.3s ease-out;
}

#footer-sub-nav ul li a:hover::after {
  transform: scaleX(1);
}







/* ==============================================================
記事本文エリア限定のデザイン（表裏共通）
公開画面(.entry) と 編集画面(.wp-block-post-content) の両方を指定
============================================================== */


/* h* */

.entry h2,
.wp-block-post-content h2 {
    font-size: 1.25rem;
    font-weight: bold;
    padding: 0.25rem 1rem;
    border-left: 5px solid #00A0E9;
    margin-top: 40px;
    margin-bottom: 1.2rem;
    border-bottom: none;
}

.entry-journal-club h2 {
    font-size: 1.25rem;
    font-weight: bold;
    margin-top: 40px;
    margin-bottom: 1.25rem;
    background: none;
    border-left: none;
    padding: 0;
}


.entry h2:first-child,
.wp-block-post-content h2:first-child {
    margin-top: 0;
}


.entry h3,
.entry h4,
.entry h5,
.entry h6 {
    margin-bottom: 1rem;
}


/* p */

.entry p {
  font-size: 1rem;
  margin-bottom: 1.25rem;
}

.entry figure + p {
    margin-top: 1.25rem;
}



/* list */

.entry ul,
.wp-block-post-content ul,
.entry ol,
.wp-block-post-content ol {
    margin-bottom: 20px;
    padding-left: 20px;         /* 左のインデント */
}

.entry li,
.wp-block-post-content li {
    margin-bottom: 5px;
}



/* a */

.entry a,
.wp-block-post-content a {
    color: #00A0E9;
    text-decoration: none;
}

.entry a:hover,
.wp-block-post-content a:hover {
    text-decoration: underline;
}