@charset "UTF-8";

/* ---------------------------------------------------------
   行政書士法人オールスター - gyosyo.allstar.or.jp
   静的1枚ページ。ビルドツールなし・生CSSを直接編集する。
   ブレークポイントは本体サイトに合わせて 768px。
   --------------------------------------------------------- */

/* reset */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
  color: #000;
  background: #fff;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

#container {
  overflow: hidden;
}

/* header --------------------------------------------------- */

#site-header {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
}

#site-header .logo {
  line-height: 0;
}

#site-header .logo img {
  width: 156px;
  height: 178px;
}

/* main ----------------------------------------------------- */

#site-main {
  padding: 40px 20px;
  text-align: center;
}

#site-main .page-title h2 {
  color: #00307b;
  font-size: 28px;
  line-height: 1.4;
  font-weight: bold;
}

/* 見出し下のバー（Figma: 50 x 5px） */
#site-main .page-title h2:after {
  content: '';
  display: block;
  width: 50px;
  height: 5px;
  margin: 24px auto 0;
  background: #00307b;
}

#site-main .lead {
  margin-top: 56px;
  font-size: 16px;
  line-height: 1.75;
}

/* 本文エリア -------------------------------------------------
   本体サイト（テーマの main.css）のテーブル表現に合わせている。
   幅は本体の .l-inner 相当（1000px）を上限にして中央寄せ。 */

#site-main .inner {
  max-width: 1000px;
  margin: 0 auto;
  text-align: left;
  text-justify: inter-ideograph;
  font-size: 16px;
}

#site-main a {
  color: #1677B7;
}

#site-main a:hover {
  opacity: 0.85;
}

#site-main table {
  width: 100%;
  border-collapse: collapse;
  margin: 40px 0;
  text-align: justify;
  text-justify: inter-ideograph;
}

#site-main table th {
  background: #CFEAF8;
  font-weight: bold;
  color: #525252;
  text-align: left;
  white-space: nowrap;
}

#site-main table th,
#site-main table td {
  padding: 10px;
  border: 1px solid #fff;
  color: #525252;
  line-height: 1.7;
}

/* 行の交互塗り分け（本体サイトと同じ） */
#site-main table tbody tr:nth-child(odd) td {
  background: #F2F2F2;
}

#site-main table tbody tr:nth-child(even) td {
  background: #E8E8E8;
}

#site-main table ul {
  margin: 1em 0;
  padding-left: 20px;
}

#site-main table ul li {
  line-height: 1.4375;
  margin-bottom: 8px;
}

/* 「※」で始まる注釈のぶら下げインデント */
#site-main li.indent-1 {
  text-indent: -1em;
  list-style: none;
}

/* footer --------------------------------------------------- */

#site-footer {
  background: #005ea5;
  color: #fff;
  text-align: center;
  padding: 19px 20px 15px;
}

#site-footer h2 {
  font-size: 16px;
  line-height: 1.4;
  font-weight: bold;
}

#site-footer .address {
  margin: 12px 0 14px;
  font-size: 14px;
  line-height: 1.4;
}

#site-footer .pp {
  font-size: 14px;
  line-height: 1.4;
}

/* Font Awesome は読み込んでいないため、矢印はCSSの三角形で表現する */
#site-footer .pp-link {
  color: #fff;
  text-decoration: underline;
}

#site-footer .pp-link:before {
  content: '';
  display: inline-block;
  width: 0;
  height: 0;
  margin-right: 7px;
  vertical-align: middle;
  border-style: solid;
  border-width: 4px 0 4px 6px;
  border-color: transparent transparent transparent #fff;
}

#site-footer .pp-link:hover {
  text-decoration: none;
}

#site-footer small {
  display: block;
  margin-top: 9px;
  font-size: 11.2px;
  line-height: 1.4;
  /* 英文が長いため、狭い画面では単語単位で折り返す */
  overflow-wrap: break-word;
}

/* sp ------------------------------------------------------- */

@media screen and (max-width: 768px) {

  #site-header {
    padding: 30px 20px;
  }

  #site-header .logo img {
    width: 117px;
    height: 134px;
  }

  #site-main {
    padding: 30px 20px;
  }

  #site-main .page-title h2 {
    font-size: 22px;
  }

  #site-main .page-title h2:after {
    margin-top: 18px;
  }

  #site-main .lead {
    margin-top: 40px;
  }

  #site-main .inner {
    font-size: 15px;
  }

  /* table-layout: fixed が無いと th の 25% 指定が中身の文字数で上書きされる */
  #site-main table {
    margin: 30px 0;
    table-layout: fixed;
  }

  #site-main table th,
  #site-main table td {
    padding: 8px;
    /* 本文列が狭くなるため、長い語はセル内で折り返す */
    overflow-wrap: break-word;
  }

  /* 見出し列を25%に固定して横並びを維持する。
     nowrap のままだと「営業時間」等で25%を超えてしまうため折り返しを許可する */
  #site-main table th {
    width: 25%;
    white-space: normal;
  }

  #site-footer .address {
    font-size: 13px;
  }

  /* 英文が長く1行に収まらないため、スマホでは折り返す */
  #site-footer small {
    font-size: 10px;
    line-height: 1.6;
  }

}
