@import url(https://googleapis.com);

/*=======================================
リセット
=======================================*/
html,body,h1,h2,h3,h4,ul,ol,dl,li,dt,dd,p,div,span,img,a,table,tr,th,td {
  border: 0;
  font-size: 100%;
  font-weight: normal;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

article, header, footer, aside, figure, figcaption, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
  list-style-type: none;
}

li {
  display: block;
}

main {
  display: block;
}

/*=======================================
共通部分
=======================================*/
.clearfix:after {
  clear: both;
  content: "";
  display: block;
  height: auto;
}

body {
  background-color: #e5e5e5;
  font-family: 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

/* PC時のベース幅設定 */
header, #GNAVI_PC, main {
  margin: 0 auto;
  width: 1170px;
  max-width: 100%;
}

/* ヘッダー */
header {
  background-color: #0000ff;
  height: 100px;
  margin-top: 30px;
}

header .logo {
  float: left;
  padding: 0px 0 0 0px;
}

header .address {
  float: right;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif;
  font-size: 14px;
  color: #ffffff;
  line-height: 1.5;
  padding: 15px 30px 0px 0px;
}

/* グローバルメニュー */
nav.gNavi {
  padding: 30px 0 30px;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif;
  font-size: 18px;
}

nav.gNavi ul {
  width: 100%;
  text-align: center;
}

nav.gNavi ul li {
  display: inline-block;
}

nav.gNavi ul li a {
  border-bottom: 3px solid #9e9e9e;
  color: #333;
  display: block;
  font-size: 18px;
  font-weight: bold;
  margin-left: 45px;
  padding-bottom: 8px;
  text-align: center;
  text-decoration: none;
  width: 110px;
}

nav.gNavi ul li a:hover, nav.gNavi ul .current a {
  border-bottom-color: #0000ff;
}

/* フッター */
/*=======================================
フッター（高さを半分以下にスリム化＋完全レイアウト調整）
=======================================*/
*=======================================
フッター最終レイアウト調整
=======================================*/
footer {
  background-color: #0000ff !important;
  padding: 20px 0 !important;   /* 上下の無駄な余白を限界まで削りスリム化 */
  margin: 0 auto !important;
  width: 1170px !important;     /* メインコンテンツと幅を合わせます */
  max-width: 100% !important;
  clear: both !important;
  box-sizing: border-box !important;
}

/* ナビゲーションメニュー全体を中央寄せ */
/* フッターナビ全体の配置を真ん中寄せにする */
#FOOTER_NAV {
  width: 100% !important;
  text-align: center !important;
  display: block !important;
  clear: both !important;
  margin: 0 0 15px 0 !important;
  padding: 0 !important;
}

#FOOTER_NAV nav {
  display: block !important;
  text-align: center !important;
}

/* リンク文字のデザイン（色・フォント・並び） */
#FOOTER_NAV nav a,
#FOOTER_NAV nav a:link,
#FOOTER_NAV nav a:visited {
  color: #ffffff !important; /* 訪問後（ロード済）でも絶対に白を維持 */
  display: inline-block !important; /* 横一列に並べる */
  font-size: 14px !important;
  font-family: "Hiragino Mincho ProN", "BIZ UDPMincho", "游明朝", YuMincho, "Hiragino Mincho Pro", "ＭＳ 明朝", serif !important;
  text-decoration: none !important; /* 下線を消す */
  padding: 5px 15px !important;     /* リンク同士の間隔 */
  margin: 0 !important;
}

/* マウスを乗せたときの設定 */
#FOOTER_NAV nav a:hover {
  color: #ffffff !important;
  text-decoration: underline !important;
}

#FOOTER_NAV nav {
  display: block !important;
  text-align: center !important;
}

/* 各メニューリンクを横一列に並べて余白を設定 */
#FOOTER_NAV nav a {
  color: #ffffff !important;
  display: inline-block !important; /* 横一列に並ぶようにします */
  font-size: 14px !important;
  /* スマホ対応を含めた最適な明朝体の指定順 */
  font-family: "Hiragino Mincho ProN", "BIZ UDPMincho", "游明朝", YuMincho, "Hiragino Mincho Pro", "ＭＳ 明朝", serif !important;
  text-decoration: none !important;
  padding: 5px 15px !important;     /* リンク同士の間隔を作ります */
}

#FOOTER_NAV nav a:hover {
  text-decoration: underline !important;
}

/* 【右寄せ】コピーライトの配置設定 */
footer .copyright {
  display: block !important;
  width: 100% !important;
  text-align: right !important; /* 確実に文字を一番右端に寄せます */
  box-sizing: border-box !important;
  padding-right: 20px !important;
  margin-top: 15px !important;
  margin-bottom: 0 !important;
  font-size: 13px !important;
  color: #ffffff !important;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif !important;
}

footer p {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.footer-logo {
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  margin: 10px auto 0 auto !important;
}

footer::after {
  content: "" !important;
  display: block !important;
  clear: both !important;
}

/* メインコンテンツ共通 */
main {
  margin-bottom: 80px;    
}

main p {
  line-height: 1.5;
  color: #000;
  font-weight: bold;
  margin-bottom: 15px;
  padding: 15px 15px 15px 50px;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif;
  font-size: 18px;
}

main a:link {
  color: #1d297f;
}

main li {
  line-height: 1.5;
}

main h2 {
  background: #0000ff;
  color: #ffffff;
  font-size: 20px !important;
  font-weight: bold;
  margin-bottom: 15px;
  padding: 15px 15px 15px 15px;
  /* 【全幅・明朝体一括適用】これですべてのページのh2が1170px幅に完全統一されます */
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif !important;
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

main h3 {
  background: #e5e5e5;
  color: #000000;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 0px;
}

main h4 {
  background: #0000ff;
  color: #ffffff;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 0px;
  padding: 15px 15px 15px 50px;
}

table {
  border: 1px solid #999;
  width: 100%;
}

tr, th, td {
  border: 1px solid #999;
  border-collapse: collapse;
  padding: 20px;
}

/* ページトップへ戻る */
#pagetop {
  border-radius: 0px;
  padding: 1px;
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 9999;
}

#pagetop a img {
  width: 50px;
  height: 50px;
}

/*=======================================
トップページ レイアウト
=======================================*/
#topMainVisual {
  margin-bottom: 30px;
}
#topMainVisual img {
  max-width: 100%;
  height: auto;
}

.slick-dots { bottom: 5px; }
.slick-dots li { padding: 0 5px; }
.slick-dots li button:before { font-size: 14px; color: #fff; opacity: 1; }
.slick-dots li.slick-active button:before { color: #0000ff; opacity: 1; }

.topContentsBox {
  padding-top: 20px;   
  position: relative;
  width: 1170px;
  max-width: 100%;
}

/* 【重要】2段組みPC用レイアウト設定 */
.topInfoBox { 
  float: left; 
  width: 680px; 
}
.topNewsBox { 
  overflow: auto; 
  float: right; 
  width: 450px; 
  height: 300px; 
  background: #ffffff;
  padding: 15px;
  border: 1px solid #ccc;
}

.topNewsBox h2, .topInfoBox h2 {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif;
  font-size: 24px;
  font-weight: bold;
  margin-top: 0px;
  margin-bottom: 20px;
}
.topInfoBox h2 { text-align: center; }
.topInfoBox p { margin-left: 0px; padding-left: 0px; }
.topInfoBox .accessLink { text-align: right; }

.topNews { margin: 0; padding: 0; }
.topNews li {
  padding: 10px 0;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif;
  list-style: none;
  border-bottom: 1px dotted #ccc; 
  font-size: 14px; 
}

/* Twitter枠 */
.toptwitterBox { 
  clear: both;
  margin-top: 40px;
  margin-bottom: 20px;
  width: 1170px;     /* 上のメインコンテンツ（1170px）と横幅をぴったり揃えます */
  max-width: 100%;    /* スマホ画面で見たときにはみ出さないようにします */
  margin-left: auto;  /* 画面の中央に配置するための設定です */
  margin-right: auto; /* 画面の中央に配置するための設定です */
}

/* 【重要】3段組みPC用レイアウトバナー設定 */
.topLinkBox { 
  clear: both; 
  margin-top: 50px; 
  width: 1170px;
}
.topLink { 
  float: left; 
  line-height: 0; 
  margin-right: 35px; 
  width: 366px; /* 1170pxに3等分で美しく収まる幅に計算し直しました */
}
.topLink:last-child { 
  margin-right: 0; 
}
.topLink a { display: block; text-align: center; color: #ffffff; text-decoration: none; }
.topLink a:hover { opacity: 0.8; }
.topLink a img { border-radius: 10px 10px 0 0; width: 100%; height: auto; }
.topLink a span { background-color: #0000ff; border-radius: 0 0 10px 10px; display: block; padding: 20px 0; font-weight: bold;}

/*=======================================
スマホ画面（画面幅767px以下）の切り替え設定
=======================================*/
@media screen and (max-width: 767px) {
  header, #GNAVI_PC, main, .topLinkBox, footer, .topContentsBox {
    width: 100% !important;
    height: auto !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    box-sizing: border-box !important;
  }
  
  /* スマホの時は縦一列に並べる指定 */
  .topInfoBox, .topNewsBox, .topLink {
    float: none !important;
    width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    height: auto !important;
    margin-bottom: 30px;
  }
.ultimate-wide-container {
    width: 1170px !important;
    max-width: 100% !important;
    min-width: 100% !important;
    display: block !important;
    float: none !important;
    clear: both !important;
    box-sizing: border-box !important;
    margin: 0 auto 40px auto !important;
    padding: 0 !important;
}
    
/* ===================================================
     スマホ用ハンバーガーメニューの表示・制御設定
     =================================================== */
     
  /* スマホ時はPC用のメニューを完全に非表示にする */
  #GNAVI_PC {
    display: none !important;
  }

  /* スマホ用メニュー全体の配置 */
  #GNAVI_SP {
    display: block !important;
    position: relative;
    width: 100%;
    background: #0000ff; /* 尼金様のイメージカラー（青） */
    box-sizing: border-box;
    margin-bottom: 20px;
  }

  /* チェックボックスは隠す */
  #nav-toggle-cbox {
    display: none;
  }

  /* 三本線ボタンの見た目と位置 */
  .nav-toggle-btn {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 30px;
    height: 22px;
    padding: 15px;
    cursor: pointer;
    margin-left: auto; /* 右寄せ */
  }

  .nav-toggle-btn span {
    display: block;
    width: 100%;
    height: 3px;
    background-color: #ffffff; /* 白色の三本線 */
    transition: all 0.3s;
  }

  /* メニューの中身（初期状態は非表示） */
  .gNavi_SP {
    display: none;
    width: 100%;
    background: #0000d0; /* 少し濃い青 */
    padding: 10px 0;
  }

  .gNavi_SP ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .gNavi_SP ul li a {
    display: block;
    padding: 12px 20px;
    color: #ffffff;
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    font-size: 16px;
  }

  /* チェックボックスが入ったら（ボタンが押されたら）メニューを表示 */
  #nav-toggle-cbox:checked ~ .gNavi_SP {
    display: block !important;
  }

  /* ボタンが押されたら三本線を「✕」印に変形 */
  #nav-toggle-cbox:checked ~ .nav-toggle-btn span:nth-child(1) {
    transform: translateY(9px) rotate(-45deg);
  }
  #nav-toggle-cbox:checked ~ .nav-toggle-btn span:nth-child(2) {
    opacity: 0;
  }
  #nav-toggle-cbox:checked ~ .nav-toggle-btn span:nth-child(3) {
    transform: translateY(-10px) rotate(45deg);
  }
    
    
    /* ===================================================
   すべての見出し看板（topCopy）を1170pxに完全固定する最終優先令
   =================================================== */
main h2.topCopy, 
main .topCopy {
    display: block !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
    box-sizing: border-box !important;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif !important;
}
}