@charset "utf-8";

/* reset */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* for old browsers */
header, footer, main, aside, section {
  display: block;
}

/* common styles */
body {
  background: url(http://imlab.jp/image/back1.gif);
  font-size: 100%;
  font-family: sans-serif;
  color: #000;
}

a {
  text-decoration: none;
}

a:link    { color: #03f; }
a:visited { color: #70f; }
a:hover   { color: #f30; }
a:active  { color: #03f; }

h1 {
  clear: both;
  margin-top: 1em;
  margin-bottom: 0.5em;
  font-size: 150%;
  font-weight: bold;
  line-height: 1.5em;
}

h2 {
  clear: both;
  margin-top: 0em;
  margin-bottom: 0.5em;
  padding: 0.3em 0.3em;
  border-left: #360 10px solid;
  background: #ff9;
  font-size: 120%;
  font-weight: bold;
  line-height: 1.5em;
}

h3 {
  clear: both;
  margin-top: 1em;
  margin-bottom: 0.5em;
  padding: 0.3em 0.6em;
  border-left: #090 10px solid;
  background: #dec;
  font-size: 110%;
  font-weight: bold;
  line-height: 1.5em;
}

h4 {
  clear: both;
  margin-top: 1em;
  margin-bottom: 0.5em;
  padding: 0.3em 0.9em;
  border-left: #fc3 10px solid;
  background: #eeb;
  font-size: 100%;
  font-weight: bold;
  line-height: 1.5em;
}

img {
    max-width: 100%;
    height: auto
}

/* for mobile */
#contents {
  min-width: 320px;
}

/* header */
header {
  padding: 0.5em;
  text-align: center;
}

#container {
  flaot: none;
  padding: 0.5em;
}

/* main */
main {
  float: none;
  padding: 0.5em;
  border: #ddd 2px solid;
}

/* left sidebar */
#left {
  float: none;
  padding: 0.5em;
  border: #ddd 2px solid;
}

/* MENU */
#menu {
  margin-bottom: 2em;
}

#menu li {
  list-style: none;
  margin: 0.8em 0.5em;
  padding: 0.4em 0.5em;
  border-left: #9cf 10px solid;
  background: #cef;
  font-size: 90%;
}

#menu a {
  font-weight: bold;
}

/* LINK */
#links ul {
  padding-left: 0.5em;
}

#links li {
  padding: 0.2em 0;
  list-style: none;
  font-size: 90%;
}

/* footer */
footer {
    clear: both;
    padding: 0.5em 0;
    text-align: center;
}

/* for Desktop */
@media (min-width: 960px) {
  #contents {
    max-width: 1080px;
    margin: 0 auto;
  }

  header {
    width: 960px;
    margin: 0 auto;
    overflow: hidden;
  }

  #container {
    clear: both;
    overflow: hidden;
  }

  main {
    float: right;
    width: 80%;
  }

  #left {
    float: left;
    width: 18%;
  }
}
