body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td, figure, figcaption {
  margin: 0;
  padding: 0; }

main {
  display: block; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

fieldset, img {
  border: 0;
  vertical-align: top; }

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: 400; }

ol, ul {
  list-style: none; }

caption, th {
  text-align: left; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: 400; }

q:before, q:after {
  content: ''; }

abbr, acronym {
  border: 0; }

/*
 * Fonts
 */
html {
  background: #fff;
  font-family: "Rounded Mplus 1c";
  font-size: 17px;
  font-weight: 400;
  line-height: 1.7em; }

input, textarea, select, button {
  font-family: "Rounded Mplus 1c";
  font-size: 14px;
  font-weight: 400; }

.container {
  width: 960px;
  margin: auto;
  position: relative; }

#header {
  /*background-image: url(../img/header/eigo_syogatsu2018.jpg);*/
  border-bottom: #ddd 1px solid;
  width: 100%;
  padding-top: 122px;
  position: relative; }
  #header::before {
    content: "";
    background: #ddd;
    width: 100%;
    height: 1px;
    position: absolute;
    /*top: 120px;*/
    left: 0; }
  #header .logo {
    position: absolute;
    top: 15px;
    left: 50%;
    margin-left: -310px; }
    #header .logo .logo-tagline {
      color: #fcca00;
      font-size: 0.93rem;
      font-weight: bold;
      line-height: 1em;
      letter-spacing: -.1em;
      text-shadow: 2px 2px 0 #fff,
             -2px 2px 0 #fff,
             2px -2px 0 #fff,
             -2px -2px 0 #fff;
      margin-bottom: 5px; }
    #header .logo .logo-main {
      background: url(../img/header/logo2.png) no-repeat;
      background-size: contain;
      width: 275px;
      height: 36px;
      text-indent: -9999px; }
      #header .logo .logo-main a {
        display: block;
        width: 100%;
        height: 100%; }

  .link_text {
    position: absolute;
    width:400px;
    top: 90px;
    left: 50%;
    margin-left: 197px;
  }

  .link_text p {
    float: left;
    margin: 0 7px;
    font-size: 12px;
  }

  #header .logo-sub {
    background: url(../img/header/logo1.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: 6px;
    left: 50%;
    margin-left: -485px;
    width: 165px;
    height: 121px;
    text-indent: -9999px; }
  #header .tel {
    background: url(../img/header/tel.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: 11px;
    left: 50%;
    margin-left: 163px;
    width: 316px;
    height: 25px;
    text-indent: -9999px; }
  #header .links {
    position: absolute;
    width:400px;
    top: 44px;
    left: 50%;
    margin-left: 150px; }
    #header .links li {
      float: left;
      margin-left: 10px;
      margin-bottom: 10px;
      font-size:15px; }
    #header .links a {
      background: #009e41;
      border-radius: 6px;
      box-shadow: 0 5px 0 0 #77905c;
      display: block;
      width: 153px;
      height: 40px; }
      #header .links a:hover {
        margin-top: 3px;
        box-shadow: 0 -3px 0 0 #77905c;
        height: 42px; }
      #header .links a img {
        width: 100%; }
#header .teacher a {
    background: #009e41;
    border-radius: 6px;
    box-shadow: 0 5px 0 0 #77905c;
    display: block;
    width: 153px;
    height: 40px;
}
    
  #header .nav {
    margin: auto;
    width: 970px;
    height: 100px;
    border-left: #ddd 1px solid; }
    #header .nav li {
      background: #fff;
      border-right: #ddd 1px solid;
      border-top: #ddd 1px solid;
      width: 319px;
      width: 318px\9;
      height: 49px;
      float: left; }
      #header .nav li a {
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center center;
        display: block;
        width: 100%;
        height: 100%;
        position: relative;
        overflow: hidden;
        text-indent: -9999px; }
        #header .nav li a::before {
          content: "";
          background: #009e41;
          display: block;
          width: 100%;
          height: 5px;
          position: absolute;
          bottom: 0;
          left: 0; }
        #header .nav li a::after {
          content: "";
          background: url(../img/header/icons.png) no-repeat;
          background-size: 182px 105px;
          position: absolute;
          bottom: -10px;
          -webkit-transition: all .25s;
          transition: all .25s; }
        #header .nav li a:hover::after {
          bottom: 0; }
        #header .nav li a img {
          width: 100%; }
      #header .nav li.menu1 a {
        background-image: url(../img/header/menu-1.png); }
        #header .nav li.menu1 a::after {
          width: 55px;
          height: 41px;
          background-position: -3px -3px;
          right: 4px; }
      #header .nav li.menu2 a {
        background-image: url(../img/header/menu-2.png); }
        #header .nav li.menu2 a::after {
          width: 44px;
          height: 48px;
          background-position: -63px -3px;
          right: 10px; }
      #header .nav li.menu3 a {
        background-image: url(../img/header/menu-3.png); }
        #header .nav li.menu3 a::after {
          width: 61px;
          height: 40px;
          background-position: -3px -56px;
          right: 0; }
      #header .nav li.menu4 a {
        background-image: url(../img/header/menu-4.png); }
        #header .nav li.menu4 a::after {
          width: 42px;
          height: 47px;
          background-position: -69px -56px;
          right: 9px; }
      #header .nav li.menu5 a {
        background-image: url(../img/header/menu-5.png); }
        #header .nav li.menu5 a::after {
          width: 64px;
          height: 43px;
          background-position: -111px -3px;
          right: 0; }
      #header .nav li.menu6 a {
        background-image: url(../img/header/menu-6.png); }
        #header .nav li.menu6 a::after {
          width: 64px;
          height: 32px;
          background-position: -115px -51px;
          right: 0; }

#footer {
  background: #dddddd;
  /*padding-bottom: 730px;*/
  margin-top: 190px;
  position: relative; }
  #footer:before {
    content: "";
    background: url(../img/footer/street.png) repeat-x center top;
    width: 100%;
    height: 205px;
    position: absolute;
    top: -190px;
    left: 0; }
  #footer .nav {
    background: #aaaaaa;
    padding: 35px 0 50px 0;
    margin: auto;
    width: 100%; }
    #footer .nav::after {
      content: "";
      clear: both;
      display: table; }
    #footer .nav a {
      background: url(../img/footer/arrow.png) no-repeat left center;
      background-size: 7px 8px;
      color: #fff;
      text-decoration: none;
      padding-left: 10px;
      font-size: 0.86rem;
      font-weight: 800; }
    #footer .nav .primary {
      float: left;
      display: block; }
      #footer .nav .primary.menu-1 {
        width: 235px; }
      #footer .nav .primary.menu-2 {
        width: 160px; }
      #footer .nav .primary.menu-3 {
        width: 205px; }
      #footer .nav .primary.menu-4 {
        width: 200px; }
      #footer .nav .primary.menu-5 {
        width: 155px; }
    #footer .nav .secondary {
      padding-left: 10px; }
      #footer .nav .secondary a {
        font-weight: 400; }
  #footer .sitemap {
    padding: 20px 0 0 0;
    font-size: 0.72rem;
    font-weight: 800;
	text-align:center }
    #footer .sitemap li {
      display: inline;
      padding-right: 1em; }
      #footer .sitemap li a {
        color: #666;
        text-decoration: underline; }
  #footer .copyright {
    font-size: 0.72rem;
    line-height: 1.2em;
    color: #666;
	text-align:center }
  #footer .animation {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 800px;
    height: 737px;
    margin-left: -400px;
    overflow: hidden; }
    #footer .animation iframe {
      border: none;
      width: 100%;
      height: 100%; }
