/* =========================================================
   Home overrides (GeneratePress spacing reset)
========================================================= */
.home .main-navigation,
.home .main-navigation ul ul{
  background-color: transparent;
}

.home.separate-containers .inside-article,
.home.separate-containers .site-main{
  padding-top: 0;
}

.home .entry-header{ display: none; }
.home .entry-content:not(:first-child){ margin-top: 0; }

.separate-containers .site-main{ margin: 0; }

/* サイト名テキストは非表示（ロゴ画像運用のため） */
.site-branding .main-title {
  display: none;
}

/* =========================================================
    Post title size
========================================================= */
h1.entry-title {
    font-size: 28px;
  }

h2 {
  font-size: var(--font-size-medium-heading);
}
/* =========================================================
   Page 
========================================================= */
/*header title*/
div#page{
    margin-top: 120px;
}
/**/
.page-id-2 div#page,
.page-id-24 div#page{
    margin-top: 0;
}

/*back to top *********************************************/
/*もとを非表示に*/
a.generate-back-to-top.generate-back-to-top__show {
    display: none;
}

a.backtotop {
    position: fixed;
    bottom: 16px;
    right: 16px;
    display: block;
    width: 48px;
    height: 48px;
    line-height: 48px;
    color: #a8a8a8;
    background: rgba(255, 255, 255, 0.5);
    border-radius: 4px;
}
/* =========================================================
   Top header text color switching
========================================================= */
/*nav texit size*/
.main-navigation .main-nav ul li a {
  font-size: var(--font-size-link2);
  padding-left: 10px;
  padding-right: 15px;
}

/* Top（ヒーロー上）時：ヘッダー文字を白に */
.is-top .site-header a,
.is-top .site-header .main-navigation a{
  color: #fff;
}

.is-top.is-scrolled .site-header a,
.is-top.is-scrolled .main-navigation a{
  color: #111;
}

.is-top.is-scrolled .main-navigation a:hover{ color: #000; }

/* Topでヘッダーが重なるぶんの余白（必要な時だけ） */
.is-top .p-hero{ padding-top: calc(var(--header-h) + 24px); }

/* Top（暗背景）時：ナビゲーション文字を強制的に白 */
.is-top:not(.is-scrolled) .main-navigation .main-nav ul li > a,
.is-top:not(.is-scrolled) .main-navigation .main-nav ul li > a:visited {
  color: #fff;
}

/* Top：スクロール後（白背景）ナビ文字を黒に固定 */
.is-top.is-scrolled .main-navigation .main-nav ul li > a,
.is-top.is-scrolled .main-navigation .main-nav ul li > a:visited {
  color: #111;
}

/* hover */
.is-top.is-scrolled .main-navigation .main-nav ul li > a:hover {
  color: #000;
}

/* SP：Topのヘッダーが読みにくいときだけ薄背景 */
@media (max-width: 768px){
  .is-top .site-header{
    /* background: rgba(255,255,255,0.5)!important;  */
    backdrop-filter: blur(10px);
  }
  .main-navigation .main-nav ul li a {
    font-size: 16px;
    line-height: 48px;
  }
  .is-scrolled #menu-item-37 a {
    margin-left: 5px;
    padding-left: 10px;
    margin-right: 5px;
    margin-top: 10px;
  }
}
/* Top（ヒーロー上）ではハンバーガーを白に */
.is-top:not(.is-scrolled) .main-navigation .menu-toggle,
.is-top:not(.is-scrolled) .main-navigation .menu-bar-items{
  color: #fff;
}

/* ついでにアイコン線が別要素の場合も拾う（GP環境差吸収） */
.is-top:not(.is-scrolled) .main-navigation .menu-toggle *{
  color: #fff;
  fill: #fff;
}

/* 見失わないようにフォーカス */
.is-top:not(.is-scrolled) .main-navigation .menu-toggle:focus-visible{
  outline: 2px solid rgba(255,255,255,.9);
  outline-offset: 4px;
}

/* =========================================================
   navigation
========================================================= */
/*ホームの初期値は白、それ以外のページは黒*/
.home #menu-item-37 a {
  border: #fff 1px solid;
    padding: 0 17px;
    line-height: 32px;
    margin-left: 15px;
}
#menu-item-37 a {
  border: #2e2e2e 1px solid;
    padding: 0 17px;
    line-height: 32px;
    margin-left: 15px;
}
.is-scrolled #menu-item-37 a{
    border: #2e2e2e 1px solid;
  }
@media (max-width: 768px){
  #menu-item-37 a {
      margin-left: 10px;
      margin-top: 12px;
  }
}
/*ハンバーガーメニュー切り替え*/
/* 1140px以下をモバイル扱い */
@media (max-width: 1140px) {
  /* .main-navigation .menu-toggle {
    display: block;
  }

  .main-navigation .main-nav>ul {
    display: none;
  }

  .main-navigation.toggled ul {
    display: block;
  } */
}

@media (min-width: 1141px) {
  /* .main-navigation .menu-toggle {
    display: none;
  }

  .main-navigation ul {
    display: flex;
  } */
}

/* =========================================================
   DC behavior
========================================================= */

/* スクロールしたらDCブランド表示 */
.is-scrolled .dc-subnav__brand{ display: block; }
.is-scrolled .dc-subnav__brand img{ max-width: 260px; }

/* ①が上に抜けたら②を固定（JSが is-dc-subnav-fixed を付与） */
body.is-dc.is-dc-subnav-fixed .dc-subnav{
  position: fixed;
  top: var(--header-h);
  left: 0;
  right: 0;
  background: #0071B4;
  background: linear-gradient(90deg, rgba(0, 113, 180, 1) 0%, rgba(7, 95, 152, 1) 25%, rgba(20, 67, 109, 1) 75%, rgba(25, 57, 93, 1) 100%);
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
}

/* 固定化時だけ本文が潜らないように */
body.is-dc.is-dc-subnav-fixed .site-content{
  padding-top: var(--subnav-h);
}

/* DC以外で site-content を flex にしたい等があるならここでページ限定にする */
.page-id-24 .site-content{
  display: initial;
}

/*sp*/
@media (max-width: 768px){
.is-scrolled .dc-subnav__brand img{ max-width: 120px; }
}
/*temp*/
body.page-id-24 {
    /* background: #EDEDED; */
}

body.page-id-24 .inside-article {
  padding:0;
}

/* =========================================================
   reCAPTCHA*/
p.info-recapcha {
    font-size: 80%;
    color: #999;
}
.grecaptcha-badge { visibility: hidden; }