/* ALL
-------------------------------------------------- */
body {
  font-family: 'Meiryo';
  margin: 0;
  padding: 0;
  font-size: 88%;
  line-height: 160%; }

ul {
  list-style: none; }

textarea {
  resize: vertical; }

table {
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }
  table tr:first-child th, table tr:first-child td {
    border-top: 1px dotted #666; }
  table tr th {
    text-align: left;
    border-bottom: 1px dotted #666;
    padding: 10px;
    vertical-align: middle; }
  table tr td {
    vertical-align: middle;
    text-align: left;
    font-weight: normal;
    border-bottom: 1px dotted #666;
    padding: 10px; }
    table tr td .notes {
      font-size: 93%;
      display: block; }

.mgT20 {
  margin-top: 20px; }

.mgT40 {
  margin-top: 40px; }

.mgB0 {
  margin-bottom: 0 !important; }

.wrapper {
  position: relative;
  z-index: 1; }
  .wrapper hr {
    border-top: 1px dotted #666; }

#top {
  background-color: #E5E7EC;
  position: relative;
  /**/ }
  #top .particles-js-canvas-el {
    position: absolute;
    top: 0;
    left: 0; }
  #top nav ul {
    display: table;
    width: 400px;
    margin: 40px auto; }
    #top nav ul li {
      display: table-cell;
      width: 25%; }
      #top nav ul li a {
        color: #666; }
        #top nav ul li a:hover {
          text-decoration: none; }

.logoArea {
  padding: 20px 20px 80px; }

.content section {
  padding: 20px;
  background-color: rgba(255, 255, 255, 0.55);
  min-height: 300px;
  margin-top: 60px;
  border: 1px solid #85B0D1;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  border-radius: 10px; }
  .content section p {
    margin-bottom: 10px; }
  .content section h2 {
    margin-bottom: 20px; }
    .content section h2 span {
      font-weight: normal;
      padding-left: 10px; }
.content .about ul li {
  padding: 10px;
  border-bottom: 1px dotted #666; }
  .content .about ul li:first-child {
    border-top: 1px dotted #666; }
  .content .about ul li span {
    font-weight: bold;
    width: 100px;
    display: inline-block; }
    .content .about ul li span.notes {
      width: auto;
      font-weight: normal;
      padding-left: 10px; }
.content .estimate table th {
  width: 180px; }
.content .estimate table td.col1 {
  width: 180px; }
.content .estimate table td.price {
  width: 80px; }
.content .estimate dl dt {
  margin-top: 40px;
  margin-bottom: 10px; }
  .content .estimate dl dt:first-child {
    margin-top: 20px; }

.form table {
  margin-top: 20px; }
  .form table tr:first-child {
    border-top: 1px dotted #666; }
  .form table th {
    width: 180px;
    border-bottom: 1px dotted #666; }
  .form table td input, .form table td textarea {
    width: 400px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 5px; }
  .form table td textarea {
    height: 150px; }
.form p {
  margin-top: 10px; }

.button li {
  display: block;
  text-align: center; }
  .button li a {
    display: inline-block;
    padding: 10px;
    min-width: 200px;
    border: 1px solid #666; }

footer {
  background: #333;
  color: #fff;
  padding: 15px 20px; }

/*top*/
footer.top {
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

section.top_about, section.top_schedule {
  background: rgba(255, 255, 255, 0.6);
  padding: 20px 20px;
  margin-bottom: 40px; }

h2 {
  font-size: 134%;
  font-weight: bold;
  position: relative;
  padding-bottom: .5em;
  border-bottom: 4px solid #ccc;
  display: inline-block; }
  h2:after {
    position: absolute;
    bottom: -4px;
    left: 0;
    z-index: 2;
    content: '';
    width: 20%;
    height: 4px;
    background-color: #3498db; }

.category {
  text-align: center;
  margin-bottom: 40px; }

/* SP
-------------------------------------------------- */
@media only screen and (max-width: 767px) {
  /*top*/ }
/* TAB
-------------------------------------------------- */
@media only screen and (min-width: 768px) and (max-width: 1023px) {
  /*top*/ }
/* PC
-------------------------------------------------- */
@media only screen and (min-width: 1024px) {
  /*top*/ }
