@charset "UTF-8";
/* ++++++++++++++++++++++++++++++++++++++++++++
 *
 * 変数
 *
 * +++++++++++++++++++++++++++++++++++++++++ */
/* カラー */
/* デフォルトリンクテキストカラー */
/* 最大幅 */
/* 基準幅 */
/* スマホ時 左右のマージン */
/* ブレークポイント */
/* ++++++++++++++++++++++++++++++++++++++++++++
 *
 * mixin
 *
 * +++++++++++++++++++++++++++++++++++++++++ */
/* テキスト飛ばし */
/* サイレントオブジェ */
/* クリア */
/* リンク文字 黒色 */
/* ネストフォント初期化 ie8にも対応させるため メディアクエリ内に記述*/
/* 背景画像 高解像度設定 */
/* テキスト量揃え */
/* フォント 明朝設定 */
/* フォント ゴシック設定 */
/* テキストサイズセット */
/* フォームテキストサイズセット */
/* calc ウィンドウサイズ（VW）に連動した、最低値と最高値の設定 */
/* calc ウィンドウサイズ（VW）に連動した、最低値と最高値の設定（フォントサイズ）*/
/* ++++++++++++++++++++++++++++++++++++++++++++
 *
 * 各セレクタの初期設定 CSS
 *
 * +++++++++++++++++++++++++++++++++++++++++ */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  margin: 0;
  padding: 0;
  display: block;
}

/* テキスト
++++++++++++++++++++++++++++++++++++++++++++ */
* {
  -ms-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
}

body {
  font-size: 1rem;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: subpixel-antialiased;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

h1, h2, h3, h4, h5, h6 {
  clear: both;
  line-height: 1.5;
  text-align: left;
}

p, address {
  line-height: 2;
}

figcaption {
  margin: 0.25em 0;
}

th, td, ul, dl, ol {
  line-height: 1.4;
}

li {
  margin-top: 0.1em;
}

li.first-child {
  margin-top: 0px;
}

/* リンクカラー */
a {
  color: blue;
  text-decoration: none;
}
a:hover, a:active {
  color: red;
  text-decoration: underline;
}

/* 罫線 */
hr {
  height: 1px;
  border: none;
  background: #ccc;
}

/* 画像
++++++++++++++++++++++++++++++++++++++++++++ */
img {
  max-width: 100%;
  height: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* フォーム
++++++++++++++++++++++++++++++++++++++++++++ */
input[type=button],
input[type=submit],
input[type=reset] {
  padding: 6px 1em;
  color: #fff;
  border-radius: 5px;
  border: none;
  background-color: #64c3b0;
}

input[type=text],
input[type=tel],
input[type=email],
input[type=number],
input[type=password],
input[type=url],
input[type=date],
input[type=time],
input[type=datetime],
input[type=datetime-local],
input[type=month],
input[type=week],
input[type=search],
textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

input[type=text],
input[type=tel],
input[type=email],
input[type=number],
input[type=password],
input[type=url],
input[type=date],
input[type=time],
input[type=datetime],
input[type=datetime-local],
input[type=month],
input[type=week],
input[type=search],
textarea,
select {
  margin: 0;
  font-family: sans-serif !important;
  font-weight: normal !important;
  border: solid 1px #ccc;
  border-radius: 5px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

input[type=text],
input[type=tel],
input[type=email],
input[type=number],
input[type=password],
input[type=url],
input[type=date],
input[type=time],
input[type=datetime],
input[type=datetime-local],
input[type=month],
input[type=week],
input[type=search],
textarea {
  padding: 5px;
}

input[type=color] {
  padding: 0;
}

input[type=radio],
input[type=checkbox] {
  margin: 0 5px;
  line-height: 1.5;
  display: inline-block;
}

textarea {
  min-height: 100px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

select {
  line-height: 1;
}
.lteIE8 select {
  padding: 4px;
}

@media screen {
  select {
    border: solid 1px #ccc;
  }
}
/* テーブル
++++++++++++++++++++++++++++++++++++++++++++ */
table {
  margin: 0.5rem 0px;
  border-collapse: collapse;
  border: solid 1px #cccccc;
}
table th, table td {
  padding: 5px;
  border: solid 1px #ccc;
  text-align: left;
}

/* 凡庸 floatblocks
++++++++++++++++++++++++++++++++++++++++++++ */
/* クリア */
.clearfix {
  overflow: visible !important;
}
.clearfix::before, .clearfix::after {
  content: " ";
  display: table;
}
.clearfix::after {
  clear: both;
}
*:first-child + html .clearfix {
  zoom: 1;
}

/* テキスト飛ばし
++++++++++++++++++++++++++++++++++++++++++++ */
.txt_hide {
  text-indent: 120%;
  overflow: hidden;
  white-space: nowrap;
  display: block;
}

/* 実質的非表示
++++++++++++++++++++++++++++++++++++++++++++ */
.silent_obj {
  width: 0;
  height: 0;
  margin: 0;
  padding: 0;
  display: block;
  overflow: hidden;
  white-space: nowrap;
}

/* 画像
++++++++++++++++++++++++++++++++++++++++++++ */
/* ロールオーバーで透明度変化 */
img {
  border: 0;
  vertical-align: bottom;
}

.no-touchevents a:hover img, .no-touchevents a:focus img {
  opacity: 0.8;
}

a:hover img, a:focus img {
  opacity: 0.8;
}

/* 画像フロート */
img.left {
  margin: 0px 10px 5px 0px;
  float: left;
}

img.right {
  margin: 0px 0px 5px 10px;
  float: right;
}

/* 凡庸 text-align
++++++++++++++++++++++++++++++++++++++++++++ */
.alignleft,
.align_left {
  text-align: left;
}

.al_center {
  text-align: center;
}

.alignright,
.al_right {
  text-align: right;
}

/* 凡庸ブロックマージン
++++++++++++++++++++++++++++++++++++++++++++ */
.mrgt_xxxxlarge {
  margin-top: 40px !important;
}

.mrgt_xxxlarge {
  margin-top: 30px !important;
}

.mrgt_xxlarge {
  margin-top: 25px !important;
}

.mrgt_xlarge {
  margin-top: 20px !important;
}

.mrgt_large {
  margin-top: 15px !important;
}

.mrgt_middle {
  margin-top: 10px !important;
}

.mrgt_small {
  margin-top: 5px !important;
}

.mrgt_none {
  margin-top: 0px !important;
}

.mrgr_xxxxlarge {
  margin-right: 40px !important;
}

.mrgr_xxxlarge {
  margin-right: 30px !important;
}

.mrgr_xxlarge {
  margin-right: 25px !important;
}

.mrgr_xlarge {
  margin-right: 20px !important;
}

.mrgr_large {
  margin-right: 15px !important;
}

.mrgr_middle {
  margin-right: 10px !important;
}

.mrgr_small {
  margin-right: 5px !important;
}

.mrgr_none {
  margin-right: 0px !important;
}

.mrgb_xxxxlarge {
  margin-bottom: 40px !important;
}

.mrgb_xxxlarge {
  margin-bottom: 30px !important;
}

.mrgb_xxlarge {
  margin-bottom: 25px !important;
}

.mrgb_xlarge {
  margin-bottom: 20px !important;
}

.mrgb_large {
  margin-bottom: 15px !important;
}

.mrgb_middle {
  margin-bottom: 10px !important;
}

.mrgb_small {
  margin-bottom: 5px !important;
}

.mrgb_none {
  margin-bottom: 0px !important;
}

.mrgl_xxxxlarge {
  margin-left: 40px !important;
}

.mrgl_xxxlarge {
  margin-left: 30px !important;
}

.mrgl_xxlarge {
  margin-left: 25px !important;
}

.mrgl_xlarge {
  margin-left: 20px !important;
}

.mrgl_large {
  margin-left: 15px !important;
}

.mrgl_middle {
  margin-left: 10px !important;
}

.mrgl_small {
  margin-left: 5px !important;
}

.mrgl_none {
  margin-left: 0px !important;
}

/* 凡庸ブロックパッディング
++++++++++++++++++++++++++++++++++++++++++++ */
.pddt_xxxxlarge {
  padding-top: 40px !important;
}

.pddt_xxxlarge {
  padding-top: 30px !important;
}

.pddt_xxlarge {
  padding-top: 25px !important;
}

.pddt_xlarge {
  padding-top: 20px !important;
}

.pddt_large {
  padding-top: 15px !important;
}

.pddt_middle {
  padding-top: 10px !important;
}

.pddt_small {
  padding-top: 5px !important;
}

.pddt_none {
  padding-top: 0px !important;
}

.pddr_xxxxlarge {
  padding-right: 40px !important;
}

.pddr_xxxlarge {
  padding-right: 30px !important;
}

.pddr_xxlarge {
  padding-right: 25px !important;
}

.pddr_xlarge {
  padding-right: 20px !important;
}

.pddr_large {
  padding-right: 15px !important;
}

.pddr_middle {
  padding-right: 10px !important;
}

.pddr_small {
  padding-right: 5px !important;
}

.pddr_none {
  padding-right: 0px !important;
}

.pddb_xxxxlarge {
  padding-bottom: 40px !important;
}

.pddb_xxxlarge {
  padding-bottom: 30px !important;
}

.pddb_xxlarge {
  padding-bottom: 25px !important;
}

.pddb_xlarge {
  padding-bottom: 20px !important;
}

.pddb_large {
  padding-bottom: 15px !important;
}

.pddb_middle {
  padding-bottom: 10px !important;
}

.pddb_small {
  padding-bottom: 5px !important;
}

.pddb_none {
  padding-bottom: 0px !important;
}

.pddl_xxxxlarge {
  padding-left: 40px !important;
}

.pddl_xxxlarge {
  padding-left: 30px !important;
}

.pddl_xxlarge {
  padding-left: 25px !important;
}

.pddl_xlarge {
  padding-left: 20px !important;
}

.pddl_large {
  padding-left: 15px !important;
}

.pddl_middle {
  padding-left: 10px !important;
}

.pddl_small {
  padding-left: 5px !important;
}

.pddl_none {
  padding-left: 0px !important;
}

/* -webkit—用スクロールバー
++++++++++++++++++++++++++++++++++++++++++++ */
body ::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
body ::-webkit-scrollbar-button:start:increment, body ::-webkit-scrollbar-button:end:decrement {
  display: none;
}
body ::-webkit-scrollbar-track-piece {
  background-color: #efefef;
}
body ::-webkit-scrollbar-thumb {
  background-color: #a7a7a7;
  -webkit-border-radius: 5px;
  cursor: pointer;
}
body ::-webkit-scrollbar-thumb:hover {
  background-color: #999;
  cursor: pointer;
}

/* 汎用スマートフォン専用タグ
++++++++++++++++++++++++++++++++++++++++++++ */
.show_xs, .show_s, .show_s-l, .show_-s, .show_m-l {
  display: none;
}

/* ++++++++++++++++++++++++++++++++++++++++++++
 *
 * その他のメディアクエリごとの指定
 *
 * +++++++++++++++++++++++++++++++++++++++++++ */
@media screen and (max-width:540px) {
  .show_xs {
    display: inline-block;
  }
}
@media screen and (min-width:541px) {
  .show_s-l {
    display: inline-block;
  }
}
@media screen and (min-width:541px) and (max-width:800px) {
  .show_s {
    display: inline-block;
  }
}
@media screen and (max-width:800px) {
  p, address, caption, th, td, li, dt, dd, blockquote, figcaption, code, kbd, pre, samp, div.txt {
    word-break: break-all;
  }
  .show_-s {
    display: inline-block;
  }
  h1 {
    font-size: 2rem;
  }
  h2 {
    font-size: 1.9rem;
  }
  h3 {
    font-size: 1.8rem;
  }
  h4 {
    font-size: 1.7rem;
  }
  h5 {
    font-size: 1.6rem;
  }
  h6 {
    font-size: 1.5rem;
  }
  p, address, caption, th, td, li, dt, dd, blockquote, figcaption, code, kbd, pre, samp, div.txt {
    font-size: 1.5rem;
    line-height: 1.6;
  }
  /* ネストフォント初期化 ie8にも対応させるため メディアクエリ内に記述*/
  ul ul, ol ol {
    font-size: 0.93em;
  }
  ul ul ul, ol ol ol {
    font-size: 1em;
  }
  p *, address *, caption *, th *, td *, li *, dt *, dd *, blockquote *, figcaption *, code *, kbd *, pre *, samp *, div.txt * {
    font-size: inherit;
  }
  /* フォーム
  ++++++++++++++++++++++++++++++++++++++++++++ */
  input[type=text],
input[type=tel],
input[type=email],
input[type=number],
input[type=password],
input[type=url],
input[type=date],
input[type=time],
input[type=datetime],
input[type=datetime-local],
input[type=month],
input[type=week],
input[type=search],
textarea,
select {
    width: 100%;
  }
  input[type=radio],
input[type=checkbox],
input[type=file],
input[type=button],
input[type=submit],
input[type=reset],
input[type=text],
input[type=tel],
input[type=email],
input[type=number],
input[type=password],
input[type=url],
input[type=date],
input[type=time],
input[type=datetime],
input[type=datetime-local],
input[type=month],
input[type=week],
input[type=search],
textarea,
select {
    font-size: 1.6rem;
  }
}
@media print, screen and (min-width:801px) {
  .show_m-l {
    display: inline-block;
  }
  h1 {
    font-size: 2.1rem;
  }
  h2 {
    font-size: 2rem;
  }
  h3 {
    font-size: 1.9rem;
  }
  h4 {
    font-size: 1.8rem;
  }
  h5 {
    font-size: 1.7rem;
  }
  h6 {
    font-size: 1.6rem;
  }
  p, address, caption, th, td, li, dt, dd, blockquote, figcaption, code, kbd, pre, samp, div.txt {
    font-size: 1.6rem;
    line-height: 2;
  }
  /* フォーム
  ++++++++++++++++++++++++++++++++++++++++++++ */
  input[type=radio],
input[type=checkbox],
input[type=file],
input[type=button],
input[type=submit],
input[type=reset],
input[type=text],
input[type=tel],
input[type=email],
input[type=number],
input[type=password],
input[type=url],
input[type=date],
input[type=time],
input[type=datetime],
input[type=datetime-local],
input[type=month],
input[type=week],
input[type=search],
textarea,
select {
    font-size: 1.6rem;
  }
  /* ネストフォント初期化 ie8にも対応させるため メディアクエリ内に記述*/
  ul ul, ol ol {
    font-size: 0.93em;
  }
  ul ul ul, ol ol ol {
    font-size: 1em;
  }
  p *, address *, caption *, th *, td *, li *, dt *, dd *, blockquote *, figcaption *, code *, kbd *, pre *, samp *, div.txt * {
    font-size: inherit;
  }
}