@charset "utf-8";
@import url("https://use.fontawesome.com/releases/v5.6.4/css/all.css");
/*============================================================
	1: 共通 module
============================================================*/
* {
  box-sizing: border-box;
}
body {
  background-color: #F4F4F4;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body.preload * {
  transition: none !important;
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -ms-transition: none !important;
  -o-transition: none !important;
}
dd {
  -webkit-margin-start: 0px;
}
dd dt {
  margin: 0;
  margin-start: 0;
}
#container {
  position: relative;
  width: 94%;
  margin: 10px 0px 10px 15px;
  padding: 0;
}
/*-----------行間------------*/
body, table, tr, td, p, ul, ol, li {
  line-height: 1.6em;
}
a:hover {
  opacity: .5;
  transition: .2s;
}
/*============================================================
	2: text module
============================================================*/
p {
  margin: 0, 30px, 0, 10px;
}
.li, p, body, tr, td, th, br {
  font-size: 14px;
  /*line-height: 1.4em;*/
}
.a {
  text-decoration: none;
  display: block;
}
.normal {
  font-size: 13px;
  line-height: 1.5em;
  padding: 3px;
}
.color1 {
  color: #fff;
}
.tx80 {
  font-size: 0.8em;
}
.tx90 {
  font-size: 0.9em;
}
.tx110 {
  font-size: 110%;
}
.tx120 {
  font-size: 120%;
}
.b {
  font-weight: bold;
}
.red {
  color: #C7171A;
}
.linear {
  background: linear-gradient(transparent 0%, #ffff66 0%);
}
/*============================================================
	5: 註釈書き部分 module
============================================================*/
ul#news {
  display: block;
  width: 100%;
  list-style: none;
  margin: 0;
  padding: 0;
}
ul#news > li:hover {}
ul#news a {
  text-decoration: none;
  color: #1F92E5;
}
ul#news > li > dl {
  position: relative;
  overflow: hidden;
}
ul#news > li > dl::after {
  content: '';
  display: block;
  clear: both;
}
ul#news > li > dl > dt {
  font-size: 14px;
  color: #666;
  font-weight: bold;
  padding-left: 10px;
  margin: 0px;
  text-indent: 0;
  border-left: 12px solid #2d6ecf;
  position: relative;
  background: #E6EFFB;
  z-index: 2;
}
ul#news > li > dl > dt::after {
  content: "\f067";
  font-family: "Font Awesome 5 Free";
  position: absolute;
  display: inline-block;
  margin-right: 1rem;
  font-weight: 900;
  text-indent: 0;
  top: 50%;
  transform: translateY(-50%);
  right: 1%;
}
ul#news > li > dl > dt:hover {
  cursor: pointer;
}
ul#news > li > dl > dd {
  background: #fff;
  position: relative;
  transition: all 0.3s ease-in-out;
  /*display: none;*/
  opacity: 0;
  margin: 0;
  padding: 0 1.5rem;
  transform: translateY(-200px);
  z-index: 1;
  font-size: 12px;
  color: #666;
  transition: .2s;
  /*
  margin-left: 2em;
  margin-top: 4px;
  margin-bottom: 15px;
  padding-bottom: 4px;
  */
}
ul#news > li > dl > dd > p {
  margin: 0;
}
ul#news > li > dl > dd > * {
  display: none;
}
ul#news > li > dl.open_news > dt::after {
  content: "\f068";
}
ul#news > li > dl.open_news > dd {
  /*display: block !important;*/
  opacity: 1 !important;
  transform: translateY(0px) !important;
 /* height: 200px !important;*/
  padding: 1.2rem 1.5rem !important;
}

ul#news > li > dl.open_news > dd::after {
  content: '';
  display: block;
  clear: both;
}

ul#news > li > dl.open_news > dd > * {
  display: block !important;
}
ul#news details {
  height: 2em;
  transition: .5s;
  margin-bottom: 30px;
  color: #666;
}
ul#news details[open] {
  height: 350px;
  margin-bottom: 30px;
  background: 002200;
  color: #666;
  overflow: hidden;
}
ul#news summary {
  display: block;
  font-size: 14px;
  color: #666;
  font-weight: bold;
  padding-left: 10px;
  margin: 0 0 20px;
  text-indent: 0;
  cursor: pointer;
}
.upd {
  font-size: 0.84em;
  color: #2d6ecf;
}
/*============================================================
	6: toppage list module
============================================================*/
#mid00 .ul03 {
  text-indent: -30px;
  margin: 0;
  padding-top: 0px;
}
#mid00 .li03 {
  font-size: 12px;
  padding-left: 20px;
  padding-top: 0px;
  padding-bottom: 28px; /*===筆と本文の縦のズレ===*/
  margin-bottom: 0px;
  text-indent: -12px;
  line-height: 1.2;
  list-style-type: none;
  background-image: url(../img/top/listmark.png);
  background-position: left center;
  background-repeat: no-repeat;
}
#mid00 .li03 a {
  display: block;
  color: #666;
  text-decoration: none;
}
#mid00 .li03 a:hover {
  color: #ff8800;
}
.fleft {
  float: left;
}
.fright {
  float: right;
}
.clearfix {
  clear: both;
}
.clearfix::after {
  content: "";
  clear: both;
}
/*===== margin-left =====*/
.ml10 {
  margin-left: 10px;
}
.ml20 {
  margin-left: 20px;
}
.ml30 {
  margin-left: 30px;
}
.ml40 {
  margin-left: 40px;
}
/*===== margin-right =====*/
.mr10 {
  margin-right: 10px;
}
.mr20 {
  margin-right: 20px;
}
.mr30 {
  margin-right: 30px;
}
.mr40 {
  margin-right: 40px;
}
.mr50 {
  margin-right: 50px;
}
/*===== margin-bottom =====*/
.mb10 {
  margin-bottom: 10px;
}
.mb20 {
  margin-bottom: 20px;
}
.mb30 {
  margin-bottom: 30px;
}
.mb40 {
  margin-bottom: 40px;
}
.mb50 {
  margin-bottom: 50px;
}
.mb60 {
  margin-bottom: 60px;
}
.mb70 {
  margin-bottom: 70px;
}
.mb80 {
  margin-bottom: 80px;
}
.mb90 {
  margin-bottom: 90px;
}
.mb100 {
  margin-bottom: 100px;
}
/*===== padding-left =====*/
.pl2em {
  padding-left: 2em;
}