body {
   font-family: sans-serif;
   font-size: 90%;
   text-align: center;
   background: #FFF;
}

h1 {
   font-size: 1.6em;
}

hr {
   border-top: solid #000;
}

#contain {
   width: 1000px;
   margin: 0 auto;
}

#block {
   display: table;
   margin: 0;
}
#main, #navi {
   display: table-cell;
   vertical-align: top;
   padding: 0.9em;
}
#main {
   width: 700px;
   text-align: left;
}
#navi {
   width: 300px;
   text-align: left;
}
#head {
   width: 100%;
   padding-top: 10px;
}
#foot {
   font-size: 1em;
   padding: .5em;
}
.article {
   text-align: justify;
   margin: 0 0 1em 0;
   padding: .7em;
   border-bottom: 1px dotted #000;
}
.art-ttl {
   color: #000;
   font-weight: bold;
   font-size: 1.2em;
   margin-bottom: 1em;
   text-align: justify;
}
.art-foot {
   font-size: 0.9em;
   margin-top: 1em;
   text-align: right;
}
#pager {
   width: 100%;
   text-align: center;
   padding: .5em 0;
}
#pager ul li {
   display: inline;
   padding: 6px 12px;
   border: 1px #ccc solid;
   color: #000053;
   border-radius: 5px / 5px;
}
.com-art {
   margin: .7em .5em;
   font-size: smaller;
}
.com-art p {
   margin: .7em 1em;
}
.com-form {
   margin: 1em 0;
   border-top: 1px dotted #008b8b;
   padding: .7em 0;
   font-size: smaller;
}
.com-form p {
   margin: 1em 0;
}
.com-navi {
   margin-bottom: 1.5em;
   color: #666;
}
.fm-m {
   width: 15em;
}
.fm-t {
   width: 30em;
   height: 7em;
}
.continue {
   padding: 6px 12px;
   border: 1px #ccc solid;
   color: #000053;
   width: 80px;
   text-align: center;
   margin: 1em auto;
   border-radius: 5px / 5px;
}
.message {
   margin: 1em 0;
}
.menu {
   text-align: left;
   background: #fff;
   margin: 0 0 1em 0;
   padding: .7em;
   border-radius: 6px;
}
.menu-ttl {
   color: #000;
   font-weight: bold;
   font-size: 1.2em;
}
.menu ul {
   margin: 6px 0 6px 14px;
   padding: 5px;
}
#calen-tbl {
   width: 100%;
   margin: 0 auto;
   border-collapse: separate;
   table-layout: fixed;
}
#calen-tbl th, #calen-tbl td {
   width: 20px;
   padding: 3px 0;
   text-align: center;
}
#calen-tbl th {
   background: #fff;
   font-weight: normal;
}
#calen-tbl td {
   background: #fff;
}
#calen-tbl a {
   text-decoration: underline;
}
#calen-arrow {
   text-align: center;
   margin: 1em auto;
}
#calen-arrow span {
   margin: 0 1.2em;
}
.prof {
   width: 100%;
   text-align: center;
}
.red {
   color: #dd0000;
}
.blue {
   color: #0000dd;
}
#com-conf {
   width: 600px;
   margin: 2em auto;
   text-align: left;
   background: #fff;
   padding: 1.5em;
   border-radius: 6px;
}
.com-conf-ttl {
   font-size: large;
   color: navy;
   font-weight: bold;
}
#com-conf input[type="tel"] {
   padding: 6px;
   width: 20em;
}
#err-box {
   width: 600px;
   margin: 2em auto;
   text-align: center;
   background: #fff;
   padding: 1em;
   border-radius: 6px;
   color: #dd0000;
}
#msg-box {
   width: 600px;
   margin: 2em auto;
   text-align: center;
   background: #fff;
   padding: 1em;
   border-radius: 6px;
   color: #006400;
}
.small {
}
.ta-l {
   text-align: left;
}
.ta-c {
   text-align: center;
}
.ta-r {
   text-align: right;
}


/* for smart-phone */
@media only screen and (max-width: 480px) {
   body {
      font-family: sans-serif;
      font-size: 90%;
      text-align: center;
      background: #FFF;
   }
   #err-box, #msg-box, #com-conf {
      width: 96%;
      margin: 1em auto;
   }
   #contain {
      width: 100%;
   }
   #head {
   }
   h1 {
      font-size: 1.6em;
   }
   #block, #main, #navi {
      width: 96%;
      display: block;
      margin: .5em auto;
   }
   .fm-t {
      width: 80%;
      height: 5em;
   }
}