@charset "UTF-8";
/*
 * "IPA明朝（Ver.003.02）" licensed under the IPA Font License Agreement v1.0
 * https://osdn.jp/projects/ipafonts/ (配布元のURL）
 * http://ipafont.ipa.go.jp/（IPAフォントのURL）
 * http://ipafont.ipa.go.jp/ipa_font_license_v1.html（IPAフォントライセンスv1.0のURL）
 */
@font-face {
  font-family: 'ipam';
  src: url("font/ipam.eot"), url("font/ipam.woff") format("woff"), url("font/ipam.ttf") format("truetype"); }
#main section table th:after,
#main article table th:after, #main section .movie-list:after,
#main article .movie-list:after, #main section .movie-list > li .info:after,
#main article .movie-list > li .info:after, #main .info-list ul:after {
  content: "";
  clear: both;
  display: block; }

#main section .btn-beige,
#main article .btn-beige, #main section .btn-white,
#main article .btn-white, #main section .btn-blue,
#main article .btn-blue {
  background: url(../img/common/bg-button.png) no-repeat 15px center;
  background-size: 15px;
  border-radius: 4px;
  padding: 5px 15px 5px 40px;
  display: inline-block; }

a {
  color: #3d4478; }
  a:hover {
    color: #ffa300; }

#header {
  border-top: 10px solid #3d4478;
  background: white;
  box-shadow: 0 1px 10px rgba(0, 0, 0, 0.4);
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100; }
  @media only screen and (max-width: 480px) {
    #header {
      border-top: 2px solid #3d4478; } }
  #header .container {
    padding: 10px 0; }
    @media only screen and (max-width: 480px) {
      #header .container {
        padding: 5px 2% 0;
        width: 96%; } }
    #header .container #logo {
      float: left;
      width: 240px;
      color: #3d4478;
      font-weight: bold; }
      #header .container #logo span {
        font-weight: bold;
        color: #3d4478;
        font-size: 12px;
        display: block; }
        @media only screen and (max-width: 480px) {
          #header .container #logo span {
            display: none; } }
    #header .container .accordion {
      display: none;
      float: right;
      width: 40px; }
      @media only screen and (max-width: 480px) {
        #header .container .accordion {
          display: block; } }
    #header .container .right-box {
      float: right;
      width: 75%; }
      @media only screen and (max-width: 480px) {
        #header .container .right-box {
          width: 100%;
          display: none; } }
      @media only screen and (max-width: 480px) {
        #header .container .right-box #info-nav {
          display: none; } }
      #header .container .right-box #info-nav ul {
        text-align: right;
        margin-bottom: 10px;
        vertical-align: middle; }
        #header .container .right-box #info-nav ul li {
          display: inline-block;
          padding-left: 28px;
          margin-left: 20px;
          background-size: 20px;
          background-repeat: no-repeat;
          background-position: left center;
          vertical-align: middle; }
          #header .container .right-box #info-nav ul li.ec {
            background-image: url(../img/common/bg-ec.png); }
          #header .container .right-box #info-nav ul li.login {
            background-image: url(../img/common/bg-login.png); }
          #header .container .right-box #info-nav ul li.contact {
            background-image: url(../img/common/bg-inquiry.png); }
          #header .container .right-box #info-nav ul li.catalog {
            background-image: url(../img/common/bg-doc.png); }
          #header .container .right-box #info-nav ul li.fb {
            width: 30px;
            padding-left: 0; }
            #header .container .right-box #info-nav ul li.fb img {
              vertical-align: middle; }
          #header .container .right-box #info-nav ul li.ig {
            width: 30px;
            padding-left: 0; }
            #header .container .right-box #info-nav ul li.ig img {
              vertical-align: middle; }
      #header .container .right-box #g-nav > ul {
        text-align: right;
        font-weight: bold; }
        @media only screen and (max-width: 480px) {
          #header .container .right-box #g-nav > ul {
            text-align: center; } }
        #header .container .right-box #g-nav > ul > li {
          display: inline-block;
          border-left: 1px solid black;
          padding-left: 11px;
          margin-left: 8px; }
          @media only screen and (max-width: 480px) {
            #header .container .right-box #g-nav > ul > li {
              width: 49%;
              padding: 5px 0;
              margin: 0 0 5px;
              border: none;
              text-align: left;
              border-top: 1px solid #3d4478; } }
          #header .container .right-box #g-nav > ul > li:first-child {
            border-left: none;
            padding-left: 0;
            margin-left: 0; }
          @media only screen and (max-width: 480px) {
            #header .container .right-box #g-nav > ul > li:nth-child(odd) {
              border-right: 1px solid #3d4478; } }
          #header .container .right-box #g-nav > ul > li.parent {
            color: #3d4478;
            text-decoration: underline;
            position: relative; }
            @media only screen and (max-width: 480px) {
              #header .container .right-box #g-nav > ul > li.parent {
                display: none; } }
            #header .container .right-box #g-nav > ul > li.parent .nest {
              position: absolute;
              background: white;
              display: none;
              padding: 10px;
              width: 320px;
              left: 0; }
              @media only screen and (min-width: 481px) and (max-width: 1040px) {
                #header .container .right-box #g-nav > ul > li.parent .nest {
                  position: fixed;
                  left: inherit;
                  right: 0; } }
              #header .container .right-box #g-nav > ul > li.parent .nest li {
                display: list-item;
                text-align: left;
                border-left: none; }
                #header .container .right-box #g-nav > ul > li.parent .nest li a {
                  display: block;
                  padding-left: 20px;
                  background: url(../img/common/bg-arrow.png) no-repeat left center;
                  background-size: 10px; }
          #header .container .right-box #g-nav > ul > li.sp-view {
            display: none; }
            @media only screen and (max-width: 480px) {
              #header .container .right-box #g-nav > ul > li.sp-view {
                display: inline-block; } }
          #header .container .right-box #g-nav > ul > li a {
            display: block; }
            @media only screen and (max-width: 480px) {
              #header .container .right-box #g-nav > ul > li a {
                padding: 0 10px; } }

#path {
  margin-top: 100px;
  margin-bottom: 20px; }
  @media only screen and (max-width: 480px) {
    #path {
      margin-top: 55px; } }
  #path ul.container {
    padding: 7px 0;
    font-size: 14px; }
    #path ul.container li {
      display: inline-block;
      margin-right: 5px; }
      #path ul.container li:not(:last-child):after {
        content: '>';
        margin-left: 5px; }

#main h1 {
  font-weight: bold;
  color: #3d4478;
  font-size: 35px;
  text-align: center;
  position: relative;
  background: url(../img/common/bg-h1.png) no-repeat center center;
  background-size: 75px;
  padding: 20px 0;
  margin-bottom: 30px; }
  @media only screen and (max-width: 480px) {
    #main h1 {
      font-size: 26px;
      background-size: contain; } }
#main section h1,
#main article h1 {
  text-align: left;
  font-size: 25px;
  padding: 0 0 5px;
  margin: 40px 0 15px;
  background: none; }
  #main section h1:before,
  #main article h1:before {
    border-bottom: 3px solid #3d4478;
    width: 30%;
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: 0;
    content: ""; }
  #main section h1:after,
  #main article h1:after {
    border-bottom: 3px solid #d8dae4;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    content: ""; }
#main section h2,
#main article h2 {
  margin: 40px 0 15px;
  background: #3d4478;
  color: white;
  font-weight: bold;
  font-size: 20px;
  padding: 3px 10px; }
#main section h3,
#main article h3 {
  font-weight: bold;
  font-size: 20px;
  margin: 30px 0 10px;
  padding-left: 10px;
  border-left: 8px solid #3d4478; }
#main section h4,
#main article h4 {
  font-weight: bold;
  font-size: 18px;
  margin: 30px 0 10px;
  border-bottom: 2px solid #3d4478; }
#main section h5,
#main article h5 {
  font-weight: bold;
  font-size: 18px;
  margin: 20px 0 5px; }
  #main section h5:before,
  #main article h5:before {
    display: inline-block;
    content: "";
    background: #3d4478;
    /* 上の□の色 */
    height: 10px;
    width: 10px;
    margin-right: 10px;
    transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -ms-transform: rotate(45deg); }
#main section h6,
#main article h6 {
  font-weight: bold;
  font-size: 16px;
  margin: 20px 0 5px; }
#main section p,
#main article p {
  margin-bottom: 15px; }
#main section em, #main section i,
#main article em,
#main article i {
  font-style: italic; }
#main section strong, #main section b,
#main article strong,
#main article b {
  font-weight: bold; }
#main section ul,
#main article ul {
  list-style: disc;
  list-style-position: outside;
  margin-left: 25px;
  margin-bottom: 30px; }
  #main section ul li,
  #main article ul li {
    margin-bottom: 5px; }
#main section ol,
#main article ol {
  list-style: decimal;
  list-style-position: outside;
  margin-left: 25px;
  margin-bottom: 30px; }
  #main section ol li,
  #main article ol li {
    margin-bottom: 5px; }
    #main section ol li ol,
    #main article ol li ol {
      list-style: cjk-ideographic; }
      #main section ol li ol ol,
      #main article ol li ol ol {
        list-style: katakana-iroha; }
#main section table,
#main article table {
  border-bottom: 1px solid #ccc;
  border-right: 1px solid #ccc;
  margin-bottom: 30px;
  width: 100%; }
  #main section table th, #main section table td,
  #main article table th,
  #main article table td {
    padding: 10px;
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc; }
  #main section table th,
  #main article table th {
    background: #eee;
    position: relative;
    vertical-align: middle; }
    #main section table th span.req,
    #main article table th span.req {
      color: white;
      background: #3d4478;
      border-radius: 3px;
      padding: 2px 10px;
      font-size: 12px;
      float: right;
      vertical-align: middle; }
#main section blockquote,
#main article blockquote {
  background: #eee;
  color: black;
  padding: 3%;
  font-style: italic;
  display: block;
  margin-bottom: 25px;
  border-radius: 5px;
  position: relative; }
  @media only screen and (max-width: 480px) {
    #main section blockquote,
    #main article blockquote {
      padding: 5% 3%; } }
  #main section blockquote:before,
  #main article blockquote:before {
    color: #C8C8C8;
    content: "“";
    font-family: serif;
    font-size: 600%;
    left: -2%;
    line-height: 1em;
    position: absolute;
    top: -10%; }
  #main section blockquote:after,
  #main article blockquote:after {
    bottom: 0;
    color: #C8C8C8;
    content: "”";
    font-family: serif;
    font-size: 600%;
    line-height: 0;
    position: absolute;
    right: 2%;
    bottom: -12%; }
  #main section blockquote h1, #main section blockquote h2, #main section blockquote h3, #main section blockquote h4, #main section blockquote h5,
  #main article blockquote h1,
  #main article blockquote h2,
  #main article blockquote h3,
  #main article blockquote h4,
  #main article blockquote h5 {
    background: none;
    padding: 0;
    border: none;
    color: #999;
    margin-top: 10px; }
  #main section blockquote p:last-child,
  #main article blockquote p:last-child {
    margin-bottom: 0; }
#main section iframe,
#main article iframe {
  width: 100%; }
#main section .btn-beige,
#main article .btn-beige {
  background-color: #fff0c8;
  border: 2px solid #fff0c8; }
#main section .btn-white,
#main article .btn-white {
  background-color: white;
  border: 2px solid #3d4478; }
#main section .btn-blue,
#main article .btn-blue {
  background-color: #3d4478;
  color: white;
  border: 2px solid #3d4478;
  background-image: url(../img/common/bg-arrow.png); }
  #main section .btn-blue:hover,
  #main article .btn-blue:hover {
    color: #ffa300; }
#main section .btn-white-small,
#main article .btn-white-small {
  background: url(../img/common/bg-button.png) no-repeat 10px center;
  background-size: 10px;
  padding: 0px 10px 0px 25px;
  display: inline-block;
  border: 2px solid #3d4478; }
#main section .a-arrow,
#main article .a-arrow {
  background: url(../img/common/bg-arrow.png) no-repeat left center;
  background-size: 10px;
  padding-left: 15px; }
#main section .movie-list,
#main article .movie-list {
  margin-left: 0 !important; }
  #main section .movie-list > li,
  #main article .movie-list > li {
    width: 32%;
    display: block;
    float: left;
    margin-bottom: 40px; }
    @media only screen and (max-width: 480px) {
      #main section .movie-list > li,
      #main article .movie-list > li {
        width: 49%; } }
    #main section .movie-list > li:nth-child(3n + 1),
    #main article .movie-list > li:nth-child(3n + 1) {
      clear: both; }
      @media only screen and (max-width: 480px) {
        #main section .movie-list > li:nth-child(3n + 1),
        #main article .movie-list > li:nth-child(3n + 1) {
          clear: none; } }
    #main section .movie-list > li:nth-child(3n + 2),
    #main article .movie-list > li:nth-child(3n + 2) {
      margin: 0 2% 10px; }
      @media only screen and (max-width: 480px) {
        #main section .movie-list > li:nth-child(3n + 2),
        #main article .movie-list > li:nth-child(3n + 2) {
          margin: 0 0 10px; } }
    @media only screen and (max-width: 480px) {
      #main section .movie-list > li:nth-child(odd),
      #main article .movie-list > li:nth-child(odd) {
        clear: both;
        float: left; } }
    @media only screen and (max-width: 480px) {
      #main section .movie-list > li:nth-child(even),
      #main article .movie-list > li:nth-child(even) {
        float: right; } }
    #main section .movie-list > li p,
    #main article .movie-list > li p {
      margin-bottom: 0; }
    #main section .movie-list > li .info,
    #main article .movie-list > li .info {
      font-size: 14px; }
      #main section .movie-list > li .info .free,
      #main section .movie-list > li .info .trial,
      #main article .movie-list > li .info .free,
      #main article .movie-list > li .info .trial {
        float: left;
        padding: 0 8px;
        color: white; }
      #main section .movie-list > li .info .free,
      #main article .movie-list > li .info .free {
        background: #3d4478; }
      #main section .movie-list > li .info .trial,
      #main article .movie-list > li .info .trial {
        background: #ff6c97; }
      #main section .movie-list > li .info .date,
      #main article .movie-list > li .info .date {
        float: right; }
    #main section .movie-list > li h2,
    #main article .movie-list > li h2 {
      margin: 10px 0 0;
      background: none;
      color: black;
      font-size: 16px;
      padding: 0;
      font-weight: normal; }
#main section .seminar-list,
#main article .seminar-list {
  list-style: inside;
  margin-left: 0; }
  @media only screen and (max-width: 480px) {
    #main section .seminar-list,
    #main article .seminar-list {
      list-style: none; } }
  #main section .seminar-list li,
  #main article .seminar-list li {
    border-bottom: 1px dotted #ccc;
    padding: 10px; }
    #main section .seminar-list li a .date,
    #main article .seminar-list li a .date {
      margin-right: 10px; }
    #main section .seminar-list li a .cate,
    #main article .seminar-list li a .cate {
      margin-right: 20px;
      display: inline-block;
      width: 100px;
      text-align: center;
      padding: 0 5px;
      color: white; }
      #main section .seminar-list li a .cate.teirei,
      #main article .seminar-list li a .cate.teirei {
        background: #ff6c97; }
      #main section .seminar-list li a .cate.tiku,
      #main article .seminar-list li a .cate.tiku {
        background: #64be32; }
      #main section .seminar-list li a .cate.seminar,
      #main article .seminar-list li a .cate.seminar {
        background: #3cbef5; }
#main #contents {
  float: left;
  width: 700px; }
  @media only screen and (max-width: 480px) {
    #main #contents {
      float: none;
      width: auto; } }
  #main #contents h1:nth-of-type(1) {
    margin-top: 0; }
  #main #contents #page-nav {
    margin-top: 50px;
    margin-bottom: 30px; }
    #main #contents #page-nav ul {
      list-style: none;
      margin: 0;
      text-align: center; }
      #main #contents #page-nav ul li {
        display: inline-block;
        margin: 0 5px 10px; }
        #main #contents #page-nav ul li span {
          display: block;
          padding: 5px 10px;
          border: 1px solid #ccc;
          box-sizing: border-box; }
        #main #contents #page-nav ul li a {
          background: #fff0c8;
          color: #3d4478;
          display: block;
          padding: 5px 10px; }
          #main #contents #page-nav ul li a:hover {
            opacity: 0.7; }
#main .info-list {
  margin-bottom: 20px; }
  #main .info-list ul {
    list-style: none;
    margin: 0;
    font-size: 14px; }
    #main .info-list ul li {
      float: left;
      margin-right: 20px; }
      #main .info-list ul li:not(:last-child):after {
        content: ',';
        margin-left: 5px; }
#main #sidemenu {
  float: right;
  width: 300px; }
  @media only screen and (max-width: 480px) {
    #main #sidemenu {
      width: auto;
      float: none; } }
  #main #sidemenu section h1 {
    background: #fff0c8;
    color: #3d4478;
    padding: 5px 10px;
    margin: 0;
    font-size: 18px; }
  #main #sidemenu section ul {
    border: 1px solid #ccc;
    list-style: none;
    margin-left: 0; }
    #main #sidemenu section ul li {
      border-top: 1px solid #ccc;
      margin: 0; }
      #main #sidemenu section ul li:first-child {
        border-top: none; }
      #main #sidemenu section ul li a {
        display: block;
        background: url(../img/common/bg-arrow.png) no-repeat 10px center;
        background-size: 15px;
        padding: 10px 0 10px 35px; }

#sec-adsense {
  margin-top: 40px; }
  #sec-adsense .left-box {
    float: left;
    width: 48%; }
    @media only screen and (max-width: 480px) {
      #sec-adsense .left-box {
        width: auto;
        float: none;
        margin-bottom: 30px; } }
  #sec-adsense .right-box {
    float: right;
    width: 48%; }
    @media only screen and (max-width: 480px) {
      #sec-adsense .right-box {
        width: auto;
        float: none; } }

#footer {
  border-top: 3px solid #3d4478;
  padding-top: 30px;
  margin-top: 40px; }
  #footer .left-box {
    float: left;
    width: 30%; }
    @media only screen and (max-width: 480px) {
      #footer .left-box {
        float: none;
        width: auto;
        text-align: center; } }
    #footer .left-box .logo-box {
      color: #3d4478;
      font-weight: bold; }
    #footer .left-box address {
      line-height: 1.4;
      font-size: 14px;
      margin-bottom: 10px; }
    #footer .left-box .inquiry-list li {
      background: #fff0c8;
      margin-bottom: 10px; }
      #footer .left-box .inquiry-list li a {
        background-size: 20px;
        background-position: 15px center;
        background-repeat: no-repeat;
        display: block;
        padding: 5px 0 5px 50px; }
      #footer .left-box .inquiry-list li.mail a {
        background-image: url(../img/common/icon-mail.png); }
      #footer .left-box .inquiry-list li.admission a {
        background-image: url(../img/common/icon-doc.png); }
	  #footer .left-box .inquiry-list li.ec a {
        background-image: url(../img/common/icon-shop.png); }
  #footer .right-box {
    float: right;
    width: 65%; }
    @media only screen and (max-width: 480px) {
      #footer .right-box {
        float: none;
        width: auto; } }
    #footer .right-box #f-nav > ul > li:nth-child(3n + 1) {
      clear: none;
      float: left; }
    #footer .right-box #f-nav > ul > li p {
      border-bottom: 1px dotted #999;
      color: #3d4478;
      padding-bottom: 5px;
      margin-bottom: 10px;
      font-weight: bold; }
    #footer .right-box #f-nav > ul > li ul {
      margin-bottom: 20px; }
      #footer .right-box #f-nav > ul > li ul li {
        font-size: 14px;
        line-height: 1.4;
        margin-bottom: 10px; }
        #footer .right-box #f-nav > ul > li ul li .blank {
          padding-right: 25px;
          background: url(../img/common/bg-blank.png) no-repeat right center;
          background-size: 16px; }
    #footer .right-box > ul {
      width: 80%;
      padding-left: 20%; }
      @media only screen and (max-width: 480px) {
        #footer .right-box > ul {
          padding: 0;
          width: auto; } }
  #footer #copy {
    margin-top: 20px;
    color: #999;
    text-align: center;
    font-size: 14px; }
