.inner {
  display: block;
  margin: 0px auto; }
  @media screen and (min-width: 992px) {
    .inner {
      max-width: 960px; } }
  @media screen and (max-width: 991px) {
    .inner {
      padding: 0px 10px; } }

.center {
  text-align: center; }

.right {
  text-align: right; }

img {
  width: 100%; }

*, h1, h2, h3, h4, h5, h6, div, p, a, span, small, input, th, td, li {
  font-family: 'Noto Serif JP', 'Sawarabi Mincho', serif; }

div, p, a, span, small {
  line-height: 200%; }

input[type=text],
input[type=number],
input[type=tel],
input[type=email],
input[type=url],
input[type=password],
select,
textarea {
  padding: 8px 12px;
  width: 100%;
  border: 1px solid #777;
  border-radius: 5px; }
  input[type=text].error,
  input[type=number].error,
  input[type=tel].error,
  input[type=email].error,
  input[type=url].error,
  input[type=password].error,
  select.error,
  textarea.error {
    background: #ffdfdf;
    border: 1px solid pink; }

.btn {
  display: block;
  padding: 10px;
  width: 100%;
  color: #777;
  font-size: 14px;
  text-decoration: none;
  background: white;
  border-radius: 5px;
  -webkit-box-shadow: 0px 5px 15px -5px #555;
  box-shadow: 0px 5px 15px -5px #555;
  -webkit-transition: -webkit-box-shadow 0.5s ease;
  transition: -webkit-box-shadow 0.5s ease;
  -o-transition: box-shadow 0.5s ease;
  transition: box-shadow 0.5s ease;
  transition: box-shadow 0.5s ease, -webkit-box-shadow 0.5s ease; }
  .btn:hover {
    color: #777;
    border: 1px solid lightgray;
    -webkit-box-shadow: 0px 2px 5px -3px #555;
    box-shadow: 0px 2px 5px -3px #555; }

.error_msg {
  display: none;
  padding: 10px;
  color: red;
  font-size: 14px;
  border: double 4px red;
  border-radius: 5px; }
  .error_msg label {
    display: block;
    padding: 5px 15px;
    color: red;
    font-size: 18px;
    font-weight: bold;
    border-bottom: 1px solid red; }

.tips {
  padding: 15px;
  color: #777;
  font-size: 14px;
  background: #cfcfff;
  border-radius: 5px;
  -webkit-box-shadow: 5px 5px 10px -5px #555;
  box-shadow: 5px 5px 10px -5px #555; }
  .tips label {
    display: block;
    font-size: 16px; }

header {
  padding: 10px 0px;
  background: white; }
  header h1 {
    display: inline-block;
    margin: 0px;
    color: #777;
    font-size: 28px; }
  header .hamburger {
    display: none; }
  header ul.menu {
    display: block;
    float: right; }
    header ul.menu > li {
      list-style-type: none;
      display: inline-block; }
      header ul.menu > li > a {
        display: block;
        padding: 5px;
        color: #777;
        font-size: 13px;
        text-decoration: none; }
        header ul.menu > li > a.btn {
          -webkit-transform: skewX(-20deg);
          -ms-transform: skewX(-20deg);
          transform: skewX(-20deg); }
          header ul.menu > li > a.btn.signin {
            background: #dfdfdf; }
            header ul.menu > li > a.btn.signin:hover {
              background: #bfbfbf; }
          header ul.menu > li > a.btn.signup {
            background: #ffbf9f; }
            header ul.menu > li > a.btn.signup:hover {
              background: #ffaf8f; }
          header ul.menu > li > a.btn span {
            display: block;
            -webkit-transform: skewX(20deg);
            -ms-transform: skewX(20deg);
            transform: skewX(20deg); }

#bottom-area {
  text-align: right; }
  #bottom-area .footer-menu {
    display: block;
    margin: 0px;
    padding: 0px; }
    #bottom-area .footer-menu > li {
      list-style-type: none;
      display: inline-block;
      border-right: 1px solid gray; }
      #bottom-area .footer-menu > li:last-child {
        border: none; }
      #bottom-area .footer-menu > li > a {
        padding: 0px 5px;
        color: gray;
        font-size: 12px;
        line-height: 100%; }

footer {
  display: block;
  padding: 10px 0px;
  text-align: center;
  color: #777;
  font-size: 12px;
  background: #dfdfdf; }

#home {
  width: 100%;
  padding: 30px 0px; }
  #home .news {
    margin: 10px;
    padding: 15px 20px;
    background: white;
    border-radius: 10px; }
    #home .news h5 {
      font-size: 18px;
      font-weight: bold; }
    #home .news ul {
      margin: 0px;
      padding: 0px; }
      #home .news ul li {
        list-style-type: none;
        display: block;
        padding: 5px 15px;
        border-bottom: 1px solid #aaa; }
  #home .column {
    margin: 10px;
    padding: 15px 20px;
    background: white;
    border-radius: 10px; }
    #home .column h5 {
      font-size: 18px;
      font-weight: bold; }
    #home .column ul {
      margin: 0px;
      padding: 0px; }
      #home .column ul li {
        list-style-type: none;
        display: block;
        padding: 5px 15px;
        border-bottom: 1px solid #aaa; }

#about {
  padding: 30px 0px; }

#faq {
  padding: 30px 0px; }
  #faq ol li {
    list-style-type: none;
    display: block;
    padding: 10px 0px; }

#contact {
  padding: 30px 0px; }
  #contact table {
    width: 100%; }
    #contact table th, #contact table td {
      padding: 5px 10px;
      position: relative; }
      #contact table th .need, #contact table td .need {
        display: block;
        margin-top: -10px;
        padding: 5px 10px;
        position: absolute;
        top: 50%;
        right: 10px;
        color: red;
        font-size: 12px;
        line-height: 100%;
        border: 1px solid red;
        border-radius: 5px; }

#privacy_policy .policy > li {
  list-style-type: none; }

#signin {
  width: 100%;
  padding: 30px 0px; }
  #signin table {
    width: 100%; }
    #signin table th, #signin table td {
      padding: 10px; }
    #signin table th {
      width: 200px;
      text-align: right;
      font-size: 16px; }

#signup {
  width: 100%;
  padding: 30px 0px; }
  #signup table {
    width: 100%; }
    #signup table th, #signup table td {
      padding: 10px; }
    #signup table th {
      width: 200px;
      text-align: right;
      font-size: 16px; }
  #signup .rule {
    display: block;
    padding: 15px;
    height: 250px;
    overflow-y: scroll;
    border: 1px solid #ccc; }
    #signup .rule h3 {
      display: block;
      text-align: center;
      font-size: 18px;
      font-weight: bold; }
