@charset "UTF-8";
/* ============================================================
   OUTLAWER STRENGTH ── サイト固有の見た目
   skin/reli/layout1/main.css

   base.css（共通の土台）のあとに読み込む。
   ここで決めているのは「このサイトらしさ」の部分だけ。

   方針
     - 値はpxのまま。Bootstrapがpxで組まれているため、remにすると端数でずれる
     - 文字は太らせない。見出しも本文も font-weight は normal
     - 色は無彩色（白・黒・グレー）だけ。差し色は本文側の画像に任せる
     - 行間は広め（本文2em、見出し1.7em）。字間も0.1em空ける
   ============================================================ */

:root {
  --os-ink:        rgba(0, 0, 0, 0.8);  /* 本文の文字色 */
  --os-black:      #000;
  --os-grey-pale:  #bdc3c7;   /* ナビの通常色 */
  --os-grey-line:  #eee;      /* メニュー項目の下線 */
  --os-grey-mid:   #ababab;   /* メニューを触ったとき */
  --os-grey-sub:   #aaa;      /* 入れ子メニューの文字 */
  --os-grey-deep:  #555;      /* 入れ子メニューを触ったとき */
  --os-grey-text:  #666;      /* フッターと記事メニューの文字 */
  --os-grey-dim:   #999;      /* 見出しリンクを触ったとき */
  --os-grey-fine:  #6d6d6d;   /* 3階層目のメニュー */
  --os-bg-white:   #fff;
  --os-bg-active:  #e7e7e7;   /* いま開いている項目の背景 */
  --os-bg-hover:   #f5f5f5;
  --os-border:     #ddd;      /* 表の罫線 */
  --os-space:      15px;
}

/* ------------------------------------------------------------
   1. 文字の基本
   ------------------------------------------------------------ */
html,
body {
  color: var(--os-ink);
  letter-spacing: 0.1em;
  line-height: 2em;
}

h1,
h2,
h3,
h4 {
  font-weight: normal;
  letter-spacing: 0.1em;
  line-height: 1.7em;
}

/* 見出しは画面幅で3段階。狭い画面では小さく始める */
h1 { font-size: 37px; }
h2 { font-size: 32px; }
h3 { font-size: 27px; }
h4 { font-size: 23px; }

p  { font-size: 16px; }

@media (min-width: 768px) {
  h1 { font-size: 42px; }
  h2 { font-size: 34px; }
  h3 { font-size: 27px; }
  h4 { font-size: 23px; }
}

@media (min-width: 992px) {
  h1 { font-size: 48px; }
  h2 { font-size: 37px; }
  h3 { font-size: 29px; }
  h4 { font-size: 23px; }
}

/* ------------------------------------------------------------
   2. 本文のまとまり
   ------------------------------------------------------------ */
.haik-default,
.haik-article {
  margin: 80px 0;
}

@media (max-width: 768px) {
  /* スマホでは左右の余白を外し、上下だけ空ける。
     長い英数字は折り返す（はみ出して横スクロールが出るのを防ぐ） */
  .haik-container {
    margin: 30px 0;
    padding: 0;
    word-wrap: break-word;
  }
}

.haik-content p,
.haik-article p {
  font-weight: normal;
}

.haik-container ul > li {
  padding: 3px 0;
}

.haik-container ul > li > ul {
  margin: 5px 0;
  padding-left: 20px;
}

.haik-fullpage.haik-container {
  padding: 0;
}

/* ------------------------------------------------------------
   3. 上部のナビゲーション
   ------------------------------------------------------------ */
.navbar-default {
  background-color: var(--os-bg-white);
  color: var(--os-grey-pale);
  text-shadow: none;
}

.navbar-default .navbar-brand {
  font-weight: normal;
}

.navbar-default .navbar-brand,
.navbar-default .navbar-nav > li > a {
  color: var(--os-grey-pale);
}

/* いま見ているページだけ黒くする */
.navbar-default .navbar-nav > li.active > a {
  background-color: transparent;
  color: var(--os-black);
}

.navbar-default .navbar-header .navbar-brand:hover,
.navbar-default .navbar-nav > li.active > a:hover {
  background-color: transparent;
  color: var(--os-grey-text);
  text-shadow: none;
}

.navbar-default .navbar-nav > li > a:hover {
  color: var(--os-black);
}

.nav .open > a,
.nav .open > a:focus,
.nav .open > a:hover {
  border-color: transparent;
}

.dropdown-menu > li > a {
  padding: 5px 20px;
  color: #000000;
  font-size: 13px;
}

/* 開いている項目。下の「4. メニュー」で背景だけ上書きされる（順番に意味あり） */
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:focus {
  background-color: var(--os-bg-active);
  color: var(--os-grey-deep);
}

/* bs_navプラグインを使わない場合のナビ */
.navbar-default .list1 {
  float: right;
  margin: 0;
  padding-left: 0;
  list-style: none;
}

.navbar-default .list1 > li {
  display: block;
  position: relative;
  float: left;
}

.navbar-default .list1,
.navbar-default .list1 > li > a,
.navbar-default .list1 > li.active > a,
.navbar-default .list1 > li.active > a:hover {
  color: #000000;
}

.navbar-default .list1 > li > a {
  display: block;
  position: relative;
  padding: var(--os-space);
}

.navbar-default .list1 > li > a:hover {
  color: var(--os-grey-pale);
  text-decoration: none;
}

.navbar-default .list1 > li.active > a,
.navbar-default .list1 > li.active > a:hover,
.navbar-default .list1 > li.active > a:focus {
  background-color: var(--os-bg-active);
}

/* ------------------------------------------------------------
   4. メニュー（本文横・下の一覧）
   ------------------------------------------------------------ */
.haik-menu:before,
.haik-menu:after {
  content: " ";
  display: table;
}

.haik-menu .list1 {
  margin-top: 50px;
  list-style: none;
}

@media (max-width: 768px) {
  .haik-menu .list1 {
    margin-top: 20px;
  }
}

.haik-menu .list1 > li,
.haik-menu .list1 > li.active {
  display: inline-block;
  margin: 10px;
  border-radius: 0;
}

/* 触ったときだけ下線を濃くする。背景は変えない */
.haik-menu .list1 > li > a:hover,
.haik-menu .list1 > li > a:focus,
.haik-menu .list1 > li.active > a,
.haik-menu .list1 > li.focus > a {
  background-color: transparent;
  border-bottom: 1px solid var(--os-grey-mid);
  color: var(--os-grey-mid);
  text-decoration: none;
}

.haik-menu .list1 > li > a {
  display: block;
  padding: 5px var(--os-space);
  border-bottom: 1px solid var(--os-grey-line);
  color: var(--os-black);
  font-size: 14px;
}

.haik-menu .list-group-item,
.haik-menu .list-group-item:first-child,
.haik-menu .list-group-item:last-child {
  padding: 0;
  background-color: transparent;
  border: none;
  border-radius: 0;
}

.dropdown-menu {
  border-radius: 0;
  box-shadow: none;
}

/* 上の「3.」の指定より後に置くこと。背景だけこちらが勝つ */
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover {
  background-color: var(--os-bg-hover);
}

.haik-menu .list1 > li.open > a.dropdown-toggle,
.haik-menu .list1 > li.open > a.dropdown-toggle:hover,
.haik-menu .list1 > li.open > a.dropdown-toggle:focus {
  border: none;
}

/* 入れ子のメニュー。階層が下がるほど文字を小さく、薄くする */
.haik-menu .list1 > li > ul {
  list-style: none;
}

.haik-menu .list1 > li > ul > li {
  padding: 5px;
}

.haik-menu .list1 > li > ul > li > ul {
  padding-right: 20px;
  padding-left: 40px;
  list-style: none;
}

.haik-menu .list1 > li > ul > li a {
  color: #aaaaaa;
}

.haik-menu .list1 > li > ul > li > ul > li a {
  color: var(--os-grey-fine);
  font-size: 12px;
  font-weight: normal;
}

.haik-menu .list1 > li > ul > li a:hover,
.haik-menu .list1 > li > ul > li a:focus,
.haik-menu .list1 > li > ul > li.active a {
  padding-bottom: 2px;
  color: #555555;
  text-decoration: none;
}

/* ------------------------------------------------------------
   5. メニューを見出しで書いた場合
   ------------------------------------------------------------ */
.haik-menu h2 {
  float: left;
  margin: 0;
  padding: 13px 8px;
  font-size: 16px;
}

.haik-menu h3 {
  float: left;
  margin: 0;
  padding: 13px 8px;
  font-size: 14px;
  font-weight: normal;
}

.haik-menu h4 {
  float: left;
  margin: 0;
  padding: 13px 8px;
  font-size: 13px;
  font-weight: normal;
}

.haik-menu h2 > a,
.haik-menu h3 > a,
.haik-menu h4 > a {
  color: #000000;
}

.haik-menu h2 > a:hover,
.haik-menu h2 > a:focus {
  color: inherit;
  text-decoration: none;
}

.haik-menu h3 > a:hover,
.haik-menu h4 > a:hover,
.haik-menu h3 > a:focus,
.haik-menu h4 > a:focus {
  color: #999999;
  text-decoration: none;
}

.haik-menu h2:hover,
.haik-menu h2:focus,
.haik-menu h2.focus {
  background-color: transparent;
  text-decoration: none;
}

.haik-menu h3.focus > a,
.haik-menu h4.focus > a {
  color: #999999;
  text-decoration: none;
}

/* ------------------------------------------------------------
   6. アイキャッチ（ページ最上部の大きな写真）
   ------------------------------------------------------------ */
.haik-eyecatch-main > .qhm-eyecatch > .qhm-section,
.haik-eyecatch-top > .qhm-eyecatch > .qhm-section {
  height: 474px;
  margin-bottom: 0;
  padding: 0;
}

.haik-eyecatch-top > .qhm-eyecatch > .qhm-section > div > div > h1,
.haik-eyecatch-main > .qhm-eyecatch > .qhm-section > div > div > h1 {
  margin: var(--os-space) 0;
  color: inherit;
  font-size: 39px;
  font-weight: normal;
  line-height: 1.7em;
}

@media (min-width: 768px) {
  .haik-eyecatch-top > .qhm-eyecatch > .qhm-section > div > div > h1,
  .haik-eyecatch-main > .qhm-eyecatch > .qhm-section > div > div > h1 {
    font-size: 44px;
  }
}

@media (min-width: 992px) {
  .haik-eyecatch-top > .qhm-eyecatch > .qhm-section > div > div > h1,
  .haik-eyecatch-main > .qhm-eyecatch > .qhm-section > div > div > h1 {
    font-size: 50px;
  }
}

.haik-eyecatch-top > .qhm-eyecatch > .qhm-section > div > div > h2,
.haik-eyecatch-main > .qhm-eyecatch > .qhm-section > div > div > h2 {
  margin: var(--os-space) 0;
  color: inherit;
  font-size: 34px;
  font-weight: normal;
  line-height: 1.7em;
}

@media (min-width: 992px) {
  .haik-eyecatch-top > .qhm-eyecatch > .qhm-section > div > div > h2,
  .haik-eyecatch-main > .qhm-eyecatch > .qhm-section > div > div > h2 {
    font-size: 37px;
  }
}

.haik-eyecatch-top > .qhm-eyecatch > .qhm-section > div > div > h3,
.haik-eyecatch-main > .qhm-eyecatch > .qhm-section > div > div > h3 {
  margin: var(--os-space) 0;
  color: inherit;
  font-size: 29px;
  font-weight: normal;
  line-height: 1.7em;
}

/* 見出しの中の小さい字（<small>）。大きさは親に任せる */
.haik-eyecatch-top > .qhm-eyecatch > .qhm-section > div > div > h1 > small,
.haik-eyecatch-main > .qhm-eyecatch > .qhm-section > div > div > h1 > small,
.haik-eyecatch-top > .qhm-eyecatch > .qhm-section > div > div > h2 > small,
.haik-eyecatch-main > .qhm-eyecatch > .qhm-section > div > div > h2 > small,
.haik-eyecatch-top > .qhm-eyecatch > .qhm-section > div > div > h3 > small,
.haik-eyecatch-main > .qhm-eyecatch > .qhm-section > div > div > h3 > small {
  margin: var(--os-space) 0;
  color: inherit;
  font-weight: normal;
  line-height: 1.7em;
}

.haik-eyecatch-top > .qhm-eyecatch > .qhm-section > div > div > p,
.haik-eyecatch-main > .qhm-eyecatch > .qhm-section > div > div > p {
  font-size: 18px;
}

/* アイキャッチの中身の寄せ幅。画面が広いほど左右を大きく空ける */
.haik-eyecatch-top > .qhm-eyecatch > .qhm-section > div > .container-fluid,
.haik-eyecatch-main > .qhm-eyecatch > .qhm-section > div > .container-fluid {
  padding: 30px var(--os-space);
}

@media (min-width: 768px) {
  .haik-eyecatch-top > .qhm-eyecatch > .qhm-section > div > .container-fluid,
  .haik-eyecatch-main > .qhm-eyecatch > .qhm-section > div > .container-fluid {
    padding: 30px 100px;
  }
}

@media (min-width: 992px) {
  .haik-eyecatch-top > .qhm-eyecatch > .qhm-section > div > .container-fluid,
  .haik-eyecatch-main > .qhm-eyecatch > .qhm-section > div > .container-fluid {
    padding: 30px 150px;
  }
}

/* ------------------------------------------------------------
   7. ブログの記事メニュー
   ------------------------------------------------------------ */
.haik-article-menu {
  padding: 35px 10%;
  background-color: var(--os-bg-white);
}

@media (max-width: 768px) {
  .haik-article-menu {
    padding: 0;
  }
}

.haik-article-menu .list-group-item {
  margin-bottom: 30px;
  padding: 5px 0;
  background-color: transparent;
  border: none;
  border-radius: 0;
}

.haik-article-menu .list-group-item a {
  color: var(--os-grey-text);
}

.haik-article-menu .list1 li > ul {
  list-style: none;
}

/* 見出しで書いても箇条書きで書いても、同じ大きさに揃える */
.haik-article-menu h2,
.haik-article-menu .list1 > li {
  font-size: 20px;
}

.haik-article-menu h3,
.haik-article-menu .list1 > li > ul > li {
  font-size: 16px;
}

.haik-article-menu h4,
.haik-article-menu .list1 > li > ul > li > ul > li {
  font-size: 14px;
}

.haik-article-menu h3 { padding-left: var(--os-space); }
.haik-article-menu h4 { padding-left: 30px; }

.haik-article-menu h2 > a,
.haik-article-menu h3 > a,
.haik-article-menu h4 > a {
  color: #000000;
}

.haik-article-menu h2 > a:hover,
.haik-article-menu h2 > a:focus {
  color: inherit;
  text-decoration: none;
}

.haik-article-menu h3 > a:hover,
.haik-article-menu h4 > a:hover,
.haik-article-menu h3 > a:focus,
.haik-article-menu h4 > a:focus {
  color: #999999;
  text-decoration: none;
}

.haik-article-menu h3.focus > a,
.haik-article-menu h4.focus > a {
  padding-bottom: 2px;
  border-bottom: 1px solid var(--os-grey-dim);
  color: #999999;
  text-decoration: none;
}

/* ------------------------------------------------------------
   8. フッター
   ------------------------------------------------------------ */
.haik-footer {
  padding: 50px 0;
  background-color: #ffffff;
}

.haik-footer p {
  color: #666666;
  font-size: 13px;
}

/* ------------------------------------------------------------
   9. 入力欄（角を丸めず、影も付けない）
   ------------------------------------------------------------ */
.input-group .form-control {
  height: 40px;
  border-radius: 0;
  box-shadow: none;
  -webkit-box-shadow: none;
}

.input-group .input-sm {
  height: 38px;
  border-radius: 0;
}

.input-group .input-lg {
  height: 57px;
  border-radius: 0;
}

.input-group .input-xs {
  height: 38px;
}

/* ------------------------------------------------------------
   10. 本文の中で使う部品
   ------------------------------------------------------------ */
table.style_table {
  width: 100%;
  margin-bottom: 20px;
}

.style_td,
.style_th {
  padding: 8px;
  background-color: var(--os-bg-white);
  border: 1px solid var(--os-border);
  line-height: 1.5;
  vertical-align: top;
}

.qhm-section > div > .container-fluid {
  padding: var(--os-space);
}

.clear {
  clear: both;
}

ul.list1 {
  font-size: 16px;
}

.qblog_date {
  line-height: normal;
}
