@charset 'UTF-8';
/*==================================================================*/
/* common */

h1, h2, h3, h4, h5, h6, p, ol, ul, dl, blockquote {
    margin: 0 0 20px 0;
}

h1 { font: bold 32px/48px sans-serif; }
h2 { font: bold 28px/42px sans-serif; }
h3 { font: bold 26px/38px sans-serif; }
h4 { font: bold 22px/32px sans-serif; }
h5 { font: bold 18px/26px sans-serif; }
h6 { font: bold 14px/20px sans-serif; }

pre {
    white-space:      pre-wrap; /* Chrome & Safari */
    white-space: -moz-pre-wrap; /* Mozilla since 1999 */
    white-space:     -pre-wrap; /* Opera 4-6 */
    white-space:   -o-pre-wrap; /* Opera 7 */
    word-wrap:      break-word; /* Internet Explorer 5.5+ */
}

a, a:link, a:active, a:visited {
    outline: none;
    border: none;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

code {
    padding: 3px;
    border: 2px solid #ccc;
    border-radius: 3px;
    color: #009;
}

.clearfix:before, .clearfix:after {
    content: ""; display: table;
}
.clearfix:after { clear: both; }
.clearfix       { *zoom:    1; } /* IE6/7 support */

.visuallyhidden {
    position: absolute;
    width: 1px;  /* 0にしてしまうとダメ */
    height: 1px; /* 0にしてしまうとダメ */
    padding: 0;
    margin: -1px;
    border: 0;
    clip: rect(0 0 0 0);
    overflow: hidden;  
}

.ir {
    text-indent: 200%;
    white-space: nowrap;
    overflow: hidden;
}

.pull-left  { float: left;  }
.pull-right { float: right; }

.margin-none   { margin-bottom:  0  ; }
.margin-half   { margin-bottom: 10px; }
.margin-full   { margin-bottom: 20px; }
.margin-double { margin-bottom: 40px; }

.font10 { font: normal 10px/16px sans-serif; }
.font12 { font: normal 12px/18px sans-serif; }
.font14 { font: normal 14px/20px sans-serif; }
.font16 { font: normal 16px/22px sans-serif; }
.font18 { font: normal 18px/24px sans-serif; }
.font20 { font: normal 20px/26px sans-serif; }
.font22 { font: normal 22px/28px sans-serif; }
.font24 { font: normal 24px/30px sans-serif; }
.font26 { font: normal 26px/32px sans-serif; }
.font28 { font: normal 28px/34px sans-serif; }
.font30 { font: normal 30px/36px sans-serif; }
.font32 { font: normal 32px/38px sans-serif; }
.font34 { font: normal 34px/40px sans-serif; }
.font36 { font: normal 36px/42px sans-serif; }
.font38 { font: normal 38px/44px sans-serif; }
.font40 { font: normal 40px/46px sans-serif; }

.font-normal { font-weight: normal; }
.font-bold   { font-weight: bold;   }

.text-left   { text-align: left;   }
.text-center { text-align: center; }
.text-right  { text-align: right;  }

.hide  { display: none;  }
.show  { display: block; }
.muted { color: #999;    }

.disabled {
    pointer-events: none;
    opacity: 0.5;
}

.break {
    -ms-word-break: break-all;
        word-break: break-all;
        word-break: break-word;
    -webkit-hyphens: auto;
       -moz-hyphens: auto;
            hyphens: auto;
}

.ellipsis {
    width: 250px;
    white-space: nowrap;
    overflow: hidden;
    -ms-text-overflow: ellipsis; /* Required for IE8 */
     -o-text-overflow: ellipsis; /* Required for Opera */
        text-overflow: ellipsis;
}
