@charset "utf-8";

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* ボックス関連
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

/* @ フロート操作
----------------------------------------------------------------------------- */
.clearfix:before,
.clearfix:after{
  content: " ";
  display: table;
}
.clearfix:after{
  clear: both;
}
.clearfix {
  *zoom: 1;
}
.clear { clear: both !important; }
.floatL, .alignleft { float: left !important; }
.floatR, .alignright { float: right !important; }

/* @ マージン指定
----------------------------------------------------------------------------- */
.mgn_none { margin: 0 !important; }
.mgnT_none { margin-top: 0 !important; }
.mgnR_none { margin-right: 0 !important; }
.mgnB_none { margin-bottom: 0 !important; }
.mgnL_none { margin-left: 0 !important; }
.mgn_S { margin: 1em !important; }
.mgnT_S { margin-top: 1em !important; }
.mgnR_S { margin-right: 1em !important; }
.mgnB_S { margin-bottom: 1em !important; }
.mgnL_S { margin-left: 1em !important; }
.mgn_M { margin: 2em !important; }
.mgnT_M { margin-top: 2em !important; }
.mgnR_M { margin-right: 2em !important; }
.mgnB_M { margin-bottom: 2em !important; }
.mgnL_M { margin-left: 2em !important; }
.mgn_L { margin: 3em !important; }
.mgnT_L { margin-top: 3em !important; }
.mgnR_L { margin-right: 3em !important; }
.mgnB_L { margin-bottom: 3em !important; }
.mgnL_L { margin-left: 3em !important; }


/* @ パディング指定
----------------------------------------------------------------------------- */
.pad_none { padding: 0 !important; }
.padT_none { padding-top: 0 !important; }
.padR_none { padding-right: 0 !important; }
.padB_none { padding-bottom: 0 !important; }
.padL_none { padding-left: 0 !important; }
.pad_S { padding: 1em !important; }
.padT_S { padding-top: 1em !important; }
.padR_S { padding-right: 1em !important; }
.padB_S { padding-bottom: 1em !important; }
.padL_S { padding-left: 1em !important; }
.pad_M { padding: 2em !important; }
.padT_M { padding-top: 2em !important; }
.padR_M { padding-right: 2em !important; }
.padB_M { padding-bottom: 2em !important; }
.padL_M { padding-left: 2em !important; }
.pad_L { padding: 3em !important; }
.padT_L { padding-top: 3em !important; }
.padR_L { padding-right: 3em !important; }
.padB_L { padding-bottom: 3em !important; }
.padL_L { padding-left: 3em !important; }

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* テキスト関連
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

/* @ 文字装飾除去
----------------------------------------------------------------------------- */
.cleanfont {
  font-weight: normal;
  font-style: normal;
}

/* @ 明朝体指定
----------------------------------------------------------------------------- */
.serif {
  font-family: "YuMincho", "Yu Mincho", "Hiragino Mincho Pro", "MS PMincho", serif;
}


/* @ 改行禁止
----------------------------------------------------------------------------- */
.nowrap { white-space: nowrap !important; }


/* @ マーカー（ディスカッション・ペーパーなどで使用）
----------------------------------------------------------------------------- */
.marker_green {
  font-size: 0.857rem;
  background: #0097a7;
  padding: 5px 0;
  color: #fff;
  font-weight: bold;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.marker_red {
  font-size: 0.857rem;
  background: #cc3333;
  padding: 5px 0;
  color: #fff;
  font-weight: bold;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* リスト関連
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

/* @ リストなし
----------------------------------------------------------------------------- */
.list_none li {
  list-style: none outside !important;
}
li.list_none {
  list-style: none outside !important;
}

/* @ ファイルアイコン用リスト
----------------------------------------------------------------------------- */
.list_icon li {
  list-style: none outside !important;
  margin-left: -40px !important;
}
li.list_icon {
  list-style: none outside !important;
  margin-left: -40px !important;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* テーブル関連
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

/* @ 枠なし
----------------------------------------------------------------------------- */
table.table_none,
table.table_none th,
table.table_none td {
  border: none !important;
  background-color: transparent !important;
  padding: 0 !important;
}

/* @ 標準
----------------------------------------------------------------------------- */
table.table_default {
  background-color: #ccc;
  border-spacing: 1px;
  border-collapse: separate;
  border: none;
  width: 100%;
  max-width: 100%;
}
table.table_default th,
table.table_default td {
  border: 1px solid #fff;
  padding: 10px;
  text-align: left;
}
table.table_default th {
  background-color: #f6f6f6;
  white-space: nowrap;
}
table.table_default td {
  background-color: #fff;
}

/* @ 交差
----------------------------------------------------------------------------- */
table.table_stripe {
  width: 100%;
  max-width: 100%;
}
table.table_stripe thead th {
  background: #ddd !important;
}
table.table_stripe th,
table.table_stripe td {
  border: 1px solid #ccc;
  padding: 10px;
  text-align: left;
}
table.table_stripe th {
  font-weight: bold;
  white-space: nowrap;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
table.table_stripe tr:nth-of-type(even) th,
table.table_stripe tr:nth-of-type(even) td {
  background: #fff;
}
table.table_stripe tr:nth-of-type(odd) th,
table.table_stripe tr:nth-of-type(odd) td {
  background: #eee;
}

/* @ 交差・点線（2016/12/16　追加）
----------------------------------------------------------------------------- */
table.table_stripe_dot {
  width: 100%;
  max-width: 100%;
}
table.table_stripe_dot thead th {
  background: #ddd !important;
}
table.table_stripe_dot th,
table.table_stripe_dot td {
  border-bottom: 1px dotted #ccc;
  padding: 15px;
  text-align: left;
}
table.table_stripe_dot th {
  font-weight: bold;
  white-space: nowrap;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
table.table_stripe_dot tr:nth-of-type(even) th,
table.table_stripe_dot tr:nth-of-type(even) td {
  background: #fff;
}
table.table_stripe_dot tr:nth-of-type(odd) th,
table.table_stripe_dot tr:nth-of-type(odd) td {
  background: #eee;
}
table.table_stripe_dot tr th p:first-of-type,
table.table_stripe_dot tr td p:first-of-type {
  margin-top: 0;
}
table.table_stripe_dot tr th p:last-of-type,
table.table_stripe_dot tr td p:last-of-type {
  margin-bottom: 0;
}

/* @ 横型
----------------------------------------------------------------------------- */
table.table_horizon {
  width: 100%;
  max-width: 100%;
}
table.table_horizon thead th {
  background-color: #eee;
}
table.table_horizon th,
table.table_horizon td {
  border: 1px solid #ccc;
  padding: 10px;
  text-align: left;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* リスト関連
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

/* @ 日時リスト（カレンダーアイコン付きリンク）
----------------------------------------------------------------------------- */
ul.list_seireki,
ul.list_seireki_col3 {
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
  overflow: hidden;
}
ul.list_seireki li,
ul.list_seireki_col3 li {
  list-style-type: none;
  float: left;
  width: 20%;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 1em;
  padding-left: 0;
  padding-right: 0;
}
ul.list_seireki li a,
ul.list_seireki_col3 li a {
  position: relative;
  display: inline-block;
  margin-right: 1em;
  padding-left: 28px;
}
ul.list_seireki li a:before,
ul.list_seireki_col3 li a:before {
  position: absolute;
  display: block;
  top: 50%;
  left: 0;
  width: 40px;
  font-family: 'FontAwesome';
  font-weight: normal;
  content: "\f073";
  margin-top: -11px;
  line-height: 20px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* @ カラムが3つの場合 */
ul.list_seireki_col3 li {
width: 30%;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* ボタン
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
.btn_L {
  text-align: center;
}
.btn_L a {
  display: inline-block;
  background-color: #b83d79;
  padding: 20px 30px;
  font-size: 1.143rem;
  color: #FFF;
  font-weight: bold;
  border-radius: 5px;
  text-decoration: none;
}
.btn_L a:hover {
  color: #FFF;
}
.btn_M a {
  display: inline-block;
  background-color: #b83d79;
  padding: 10px 20px;
  font-size: 1rem;
  color: #FFF;
  font-weight: bold;
  border-radius: 5px;
  text-decoration: none;
}
.btn_M a:hover {
  color: #FFF;
}
.btn_S a {
  display: inline-block;
  background-color: #f3f3f3;
  border: solid 1px #ccc;
  padding: 10px;
  font-size: 0.857rem;
  color: #444;
  border-radius: 5px;
  text-decoration: none;
}
.btn_S a:hover {
  background-color: #ccc;
  text-decoration: none;
  color: #444;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* その他
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

.disp_none {
  display: none;
}
.attention {
  margin: 30px 0;
  padding: 20px;
  border: solid 3px #666;
}
.attention_red {
  margin: 30px 0;
  padding: 20px;
  border: solid 3px #ee3333;
}
.attention p:first-of-type,
.attention_red p:first-of-type {
  margin-top: 0;
}
.attention p:last-of-type,
.attention_red p:last-of-type {
  margin-bottom: 0;
}
.ico-none-b {
  background-image: none !important;
}
.ico-none-b:after {
  content: '' !important;
  margin-left: 0 !important;
}

/* @ 透過処理
----------------------------------------------------------------------------- */
.alpha:hover,
.alpha img:hover{
  -ms-filter: "alpha(opacity=60)";
  filter: alpha(opacity=60);
  opacity: 0.6;
}

/* @ マーク付きリンク
----------------------------------------------------------------------------- */
.mark_link:before {
  display: inline-block;
  margin-right: 7px;
  content: '\f138';
  font-family: 'FontAwesome';
  font-weight: normal;
  -webkit-font-smoothing: antialiased;
}



