/* ************************************************ 
 *  全般
 * ************************************************ */
* {
  margin: 0px;
  padding: 0px;
}
:root {
  --base-color: #666;
  --font-color: #000;
  --bg-color: #fff;
  --link-color: #27acd9;
  --base-dispsize: 1280px;
  --sub-dispsize: 1080px;
  --sp-dispsize: 520px;
}
html {
  height: 100%;
  overflow: scroll;
}
body {
  background-color: #fff;
  color: var(--base-color);
  font-size: 16px;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
body {
  /* chromeの印刷設定対応 */
  -webkit-print-color-adjust: exact;
}
a {
  color: var(--link-color);
  text-decoration: none;
}
a:hover {
  opacity: 0.9;
  text-decoration: none;
}
.clearfix:after {
  clear: both;
  content: ".";
  display: block;
  height: 0;
  visibility: hidden;
}

/* ************************************************ 
 *  ヘッダー
 * ************************************************ */
header {
  max-width: 100%;
  background-color: var(--bg-color);
  border-bottom: 3px solid var(--font-color);
}
.header {
  margin: 0 auto;
  max-width: var(--base-dispsize);
}
.header .logo {
  padding: 0;
}
.header .logo img {
  width: 200px;
}

/* SP対応 */
@media (max-width: 769px) {
  .header .logo img {
    margin: auto;
    display: block;
  }
}

/* ************************************************ 
 *  メニュー
 * ************************************************ */
/* 全体調整CSS */
.hamburger-menubox h2 {
  font-size: 18px;
  background-color: var(--base-color);
  color: #fff;
  padding: 10px;
}
.hamburger-menubox li {
  font-size: 16px;
  border-left: 5px solid var(--base-color);
  padding-left: 5px;
  margin: 1px 0;
}
/* inputを非表示 */
.input-hidden {
  display: none;
}
/* label */
.hamburger-switch {
  cursor: pointer;
  position: absolute;
  right: 2%;
  top: 14px; /* ハンバーガーアイコンの位置（上から） */
  z-index: 9999;
  width: 4em; /* アイコン（クリック可能領域）の幅 */
  height: 4em; /* アイコン（クリック可能領域の）高さ */
}
/* メニュー展開時にハンバーガーアイコンを固定 */
#hamburger-1:checked ~ .hamburger-switch {
  position: fixed;
}
/* ハンバーガーアイコン */
.hamburger-switch-line1, .hamburger-switch-line1:before, .hamburger-switch-line1:after {
  width: 25px;
  height: 3px;
  background: #333; /* ハンバーガーアイコンの色 */
  position: absolute;
  top: 50%;
  left: 50%;
  transition: .3s;
  content: "";
}
.hamburger-switch-line1 {
  transform: translate(-50%, -50%);
}
.hamburger-switch-line1:before {
  transform: translate(-50%, -300%);
}
.hamburger-switch-line1:after {
  transform: translate(-50%, 200%);
}
/* ハンバーガーアイコン･アニメーション */
#hamburger-1:checked ~ .hamburger-switch .hamburger-switch-line1 {
  width: 0;
}
#hamburger-1:checked ~ .hamburger-switch .hamburger-switch-line1:before {
  transform: rotate(45deg) translate(-40%, 325%);
}
#hamburger-1:checked ~ .hamburger-switch .hamburger-switch-line1:after {
  transform: rotate(-45deg) translate(-40%, -325%);
}
/* メニューエリア */
.hamburger-menuwrap {
  position: fixed;
  height: 100%;
  background: #fafafa; /* メニューエリアの背景色 */
  padding: 5em 3% 2em;
  z-index: 9998;
  transition: .3s;
  overflow-y: scroll; /* メニュー内容が多い場合に縦スクロールする */
  top: 0;
  left: 100%;
  width: 70%;
}
/* メニューリスト */
.hamburger-menulist {
  margin-right: 3%;
  padding-left: 4% !important; /* !important不要な場合もあり */
  list-style: none;
  margin-bottom: 5%;
}
.hamburger-menulist li a {
  text-decoration: none;
  color: #333; /* メニューリストの文字色 */
  display: block;
  padding: .5em 0;
}
/* メニューエリア･アニメーション */
/* 右から */
#hamburger-1:checked ~ .hamburger-menuwrap {
  left: 50%;
}
/* コンテンツカバー */
#hamburger-1:checked ~ .hamburger-cover {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 9997;
  background: rgba(3,3,3,.5);
  display: block;
}

/* SP対応 */
@media (max-width: 769px) {
  .hamburger-switch {
    right: 1%;
  }
  .hamburger-menuwrap {
    width: 90%;
  }
  #hamburger-1:checked ~ .hamburger-menuwrap {
    left: 10%;
  }
}

/* ************************************************ 
 *  コンテンツ（全般）
 * ************************************************ */
main {

}
main .warn {
  color: #C00 !important;
  font-size: 12px !important;
}
main .chk {
  color: #36F !important;
  font-size: 12px !important;
}
main .info {
  color: #FF0 !important;
  font-size: 12px !important;
  padding: 0 0 0 10px;
}

/* ************************************************ 
 *  トップスライドショー
 * ************************************************ */
.slider {/*横幅94%で左右に余白を持たせて中央寄せ*/
  width: 100%;
  margin: 0 auto;
}
.slider img {
  width: 100%;/*スライダー内の画像を横幅100%に*/
  height: auto;
}
/*slickのJSで書かれるタグ内、スライド左右の余白調整*/
.slider .slick-slide {
  margin: 0;
}

/* ************************************************ 
 *  トップ画面
 * ************************************************ */
main .top-banner {
}
main .top-news {
  background-color: var(--bg-color);
  opacity: 0.6;
}
main .top-menu {
  margin: 50px 0;
}

main .top-contact {
  opacity: 0.6;
}

/* SP対応 */
@media (max-width: 769px) {
  main .top-menu {
    margin: 30px 0;
  }
}

/* ************************************************ 
 *  フッター
 * ************************************************ */
footer {
  clear: both;
  max-width: 100%;
  height: auto;
  background-color: var(--bg-color);
  border-top: 3px solid var(--font-color);
  padding: 10px 0 20px;
}
.footer {
  margin: 0 auto;
  max-width: var(--base-dispsize);
}
.footer p {
  font-size: 12px;
  text-align: center;
  padding-top: 15px;
}

@media screen and (max-width: 769px) {
  .sitemap-footer {
    padding: 20px 10px;
  }
}

/* ************************************************ 
 *  PCのみ
 * ************************************************ */
@media screen and (min-width: 770px) {

}

/* ************************************************ 
 *  SPのみ
 * ************************************************ */
@media screen and (max-width: 769px) {

}

