.clearfix {
  *zoom: 1; }
  .clearfix:after {
    content: "";
    display: table;
    clear: both; }

/* ------------------------------
button
------------------------------ */
/* ------------------------------
contact
------------------------------ */
article#contact #section01 {
  width: 1000px;
  padding: 35px 0 80px;
  margin: 0 auto; }
  @media only screen and (max-width: 480px) {
    article#contact #section01 {
      box-sizing: border-box;
      width: 100%;
      padding: 30px 10px; } }
  article#contact #section01 h2 {
    font-size: 26px;
    color: #87ABD1;
    font-weight: normal;
    margin: 0 0 20px; }
  article#contact #section01 .tx01 {
    line-height: 150%;
    margin: 0 0 20px; }
    article#contact #section01 .tx01 span {
      color: #c00; }
  article#contact #section01 .tx02 {
    font-weight: bold;
    margin: 0 0 20px; }
  article#contact #section01 .tx03 {
    margin: 0 0 20px; }
    article#contact #section01 .tx03 span {
      font-weight: bold; }
  article#contact #section01 dl {
    box-sizing: border-box;
    width: 100%;
    display: table;
    border: 1px solid #ccc;
    border-bottom: none; }
    @media only screen and (max-width: 480px) {
      article#contact #section01 dl {
        display: block; } }
    article#contact #section01 dl:last-of-type {
      border-bottom: 1px solid #ccc;
      margin: 0 0 40px; }
      @media only screen and (max-width: 480px) {
        article#contact #section01 dl:last-of-type {
          margin: 0 0 20px; } }
    article#contact #section01 dl dt {
      box-sizing: border-box;
      width: 15%;
      display: table-cell;
      border-right: 1px solid #ccc;
      padding: 10px 15px;
      line-height: 135%;
      background: #eee;
      vertical-align: top; }
      @media only screen and (max-width: 480px) {
        article#contact #section01 dl dt {
          width: 100%;
          display: block;
          padding: 10px;
          border-right: none;
          border-bottom: 1px solid #ccc;
          font-weight: bold; } }
      article#contact #section01 dl dt span {
        color: #c00; }
    article#contact #section01 dl dd {
      box-sizing: border-box;
      width: 85%;
      display: table-cell;
      padding: 10px 15px;
      line-height: 135%; }
      @media only screen and (max-width: 480px) {
        article#contact #section01 dl dd {
          width: 100%;
          display: block;
          padding: 10px; } }
      article#contact #section01 dl dd span {
        color: #c00; }
  article#contact #section01 .btn_block {
    text-align: center; }
  article#contact #section01 .txt_block {
    margin: 40px 0 0; }
    article#contact #section01 .txt_block h3 {
      font-size: 20px;
      color: #87ABD1;
      font-weight: normal;
      margin: 0 0 15px; }
    article#contact #section01 .txt_block p {
      line-height: 135%; }
  article#contact #section01 .thanks_txt h3 {
    font-size: 16px;
    font-weight: bold;
    margin: 0 0 15px; }
    article#contact #section01 .thanks_txt h3:nth-of-type(2) {
      padding: 30px 0 0; }
  article#contact #section01 .thanks_txt p {
    line-height: 150%;
    margin: 0 0 15px; }

/* ------------------------------
form
------------------------------ */
select {
  padding: 3px; }

textarea {
  width: 600px;
  height: 150px; }
  @media only screen and (max-width: 480px) {
    textarea {
      width: 100%;
      height: 150px; } }
