/* -------------------- */
/* ▼メニューバーの装飾 */
/* -------------------- */
ul.ddmenu {
   margin: 0px;               /* メニューバー外側の余白(ゼロ) */
   padding: 0px 0px 0px 15px; /* メニューバー内側の余白(左に15px) */
   background-color: #141414; /* バーの背景色(濃い黒色) */
}

/* -------------------------- */
/* ▼メインメニュー項目の装飾 */
/* -------------------------- */
ul.ddmenu li {
   width: 195px;          /* メニュー項目の横幅(185px) */
   display: inline-block; /* ★横並びに配置する */
   list-style-type: none; /* ★リストの先頭記号を消す */
   position: relative;    /* ★サブメニュー表示の基準位置にする */
   border-left: 1px solid #888888; /* 項目左側の枠線(灰色で1pxの実線) */
}
ul.ddmenu a {
   background-color: #141414; /* メニュー項目の背景色(濃い黒色) */
   color: white;              /* メニュー項目の文字色(白色) */
   line-height: 40px;         /* メニュー項目のリンクの高さ(40px) */
   text-align: center;        /* メインメニューの文字列の配置(中央寄せ) */
   text-decoration: none;     /* メニュー項目の装飾(下線を消す) */
   font-weight: none;         /* 太字に：しない: none, する: bold; */
   display: block;            /* ★項目内全域をリンク可能にする */
}
ul.ddmenu a:hover {
   background-color: #555555;  /* メニュー項目にマウスが載ったときの背景色(淡い黒) */
   color: white  ;            /* メニュー項目にマウスが載ったときの文字色(白色) */
}

/* ---------------------------------- */
/* ▼サブメニューがある場合に開く処理 */   /* ※サブメニューが1階層しか存在しない場合の記述 */
/* ---------------------------------- */
ul.ddmenu li:hover ul {
   display: block;      /* ★マウスポインタが載っている項目の内部にあるリストを表示する */
}

/* -------------------- */
/* ▼サブメニューの装飾 */
/* -------------------- */
ul.ddmenu ul {
   margin: 0px;         /* ★サブメニュー外側の余白(ゼロ) */
   padding: 0px;        /* ★サブメニュー内側の余白(ゼロ) */
   display: none;       /* ★標準では非表示にする */
   position: absolute;  /* ★絶対配置にする */
}

/* ------------------------ */
/* ▼サブメニュー項目の装飾 */
/* ------------------------ */
ul.ddmenu ul li {
   width: 235px;               /* サブメニュー1項目の横幅(235px) */
/* border-top: 1px solid #666666; 項目上側の枠線(薄い灰色で1pxの実線) */
   border-right: 2px solid #666666 ; /* 項目上側の枠線(薄い灰色で1pxの実線) */
   border-left: 2px solid #666666 ; /* 項目上側の枠線(薄い灰色で1pxの実線) */
   border-bottom: 2px solid #666666 ; /* 項目上側の枠線(薄い灰色で1pxの実線) */
}
ul.ddmenu ul li a {
   background-color: white; /* メニュー項目の背景色(白色) */
   color: #555555;              /* メニュー項目の文字色(白色) */
   line-height: 35px;     /* サブメニュー1項目の高さ(35px) */
   text-align: left;      /* 文字列の配置(左寄せ) */
   padding-left: 5px;     /* 文字列前方の余白(5px) */
   font-weight: normal;   /* 太字にはしない */
}
ul.ddmenu ul li a:hover {
   background-color: #ffff80; /* サブメニュー項目にマウスが載ったときの背景色(淡い黄色) */
   color: #005500;            /* サブメニュー項目にマウスが載ったときの文字色(濃い緑色) */
}

/* ------------------------ */
/*  フッターの装飾          */
/* ------------------------ */

#footer {
  position: relative;
  margin-top: 40px;
  color: #fff;
}
#footer a {
  text-decoration: none;
  color: #fff;
}
#footer a:hover {
  text-decoration: underline;
}
#footer .primary {
  padding: 40px 20px;
  background: #333;
}
#footer .secondary {
  display: flex;
  padding: 40px 20px;
  background: #222;
}

@media screen and (max-width: 767px) {
  #footer .primary {
    padding: 20px 20px;
    background: #333;
  }
  #footer .secondary {
    display: block;
    padding: 20px 20px;
  }
}

/* footer-logo */

#footer .logo {
  position: relative;
  padding: 0;
  margin: 0;
  width: 100%;
  font-size: 26px;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  #footer .logo {
    font-size: 16px;
  }
}

/* address */

.address {
  margin: 10px 0 0;
  padding: 0;
}

@media screen and (max-width: 767px) {
  .address {
    font-size: 12px;
  }
}

/* navi */

.navi-row {
  display: flex;
  margin-top: 40px;
}
#footer .navi {
  margin: 0;
  padding: 0;
  list-style: none;
}
#footer .navi li {
  display: inline-block;
  margin: 0 20px 0 0;
  padding: 0;
}
#footer .navi li:first-child {
  margin-left: 0;
}

@media screen and (max-width: 767px) {
  .navi-row {
    display: block;
    margin-top: 15px;
  }
  #footer .navi {
    font-size: 12px;
  }
  #footer .navi li {
    margin-top: 5px;
    font-size: 12px;
  }
}

/* sns-navi */

#footer .sns-navi {
  margin: 0 0 0 auto;
  padding: 0;
}
#footer .sns-navi li {
  display: inline-block;
  margin: 0 20px 0 0;
  padding: 0;
  font-size: 20px;
}
#footer .sns-navi li:last-child {
  margin-right: 0;
}

@media screen and (max-width: 767px) {
  #footer .sns-navi {
    margin: 20px 0 0;
    padding: 0;
  }
  #footer .sns-navi li {
    margin: 0 20px 0 0;
    padding: 0;
    font-size: 18px;
  }
}

/* sitenavi */

#footer .sitenavi {
  width: 50%;
  margin: 0;
  padding: 0;
  list-style: none;
}
#footer .sitenavi li {
  display: inline-block;
  margin: 0 0 0 20px;
  padding: 0;
}
#footer .sitenavi li:first-child {
  margin-left: 0;
}

@media screen and (max-width: 767px) {
  #footer .sitenavi {
    width: 100%;
    text-align: center;
    font-size: 12px;
  }
}

/* copyright */

#footer .copyright {
  width: 50%;
  margin: 0;
  padding: 0;
  text-align: right;
}
@media screen and (max-width: 767px) {
  #footer .copyright {
    width: 100%;
    margin: 20px 0 0;
    text-align: center;
    font-size: 12px;
  }
}

body {
  margin: 0;
  padding: 0;
}