@charset "utf-8";

/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
button,hr,input{overflow:visible}progress,sub,sup{vertical-align:baseline}[type=checkbox],[type=radio],legend{box-sizing:border-box;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}fieldset{padding:.35em .75em .625em}legend{color:inherit;display:table;max-width:100%;white-space:normal}textarea{overflow:auto}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}

.cf:before, .cf:after
{
    content: " ";
    display: table;
}

.cf:after
{
    clear: both;
}

*
{
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    -webkit-text-size-adjust: 100%;
    box-sizing: border-box;
    color: #333333;
    font-family: 'Trebuchet MS', 'Droid Sans', Roboto, Verdana, 'Lucida Grande', 'Hiragino Maru Gothic ProN', Meiryo, sans-serif !important;
    font-size: 14px;
    line-height: 24px;
}

html
{
    height: 100%;
}

body
{
    background-color: #eeeeee;
    height: 100%;
    position: relative;
}

a
{
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    border: 0;
    color: #536d79;
    outline: none;
}

img
{
    border: 0;
    display: block;
    outline: none;
}

table
{
    border-collapse: collapse;
}

/* input fields */

input:-webkit-autofill
{
    -webkit-box-shadow: 0 0 0 100px white inset;
}

input[type=date], input[type=email], input[type=number], input[type=password], input[type=text]
{
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    border: 1px solid #999999;
    border-radius: 5px;
    font-size: 16px;
    height: 40px;
    line-height: 20px;
    outline: none;
    padding: 10px;
    width: 100%;
}

::-webkit-input-placeholder
{
    color: #aaaaaa;
}

::-ms-input-placeholder
{
    color: #aaaaaa;
}

::-moz-placeholder
{
    color: #aaaaaa;
}

input[type=checkbox]
{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: #ffffff;
    border: 1px solid #999999;
    border-radius: 2px;
    box-sizing: border-box;
    height: 16px;
    outline: none;
    overflow: hidden;
    padding: 3px;
    vertical-align: middle;
    width: 16px;
}

input[type=checkbox]:checked
{
    background-color: #536d79;
    box-shadow: 0 0 0 4px #ffffff inset;
}

input[type=radio]
{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: #ffffff;
    border: 1px solid #999999;
    border-radius: 50em;
    box-sizing: border-box;
    height: 16px;
    outline: none;
    overflow: hidden;
    padding: 3px;
    vertical-align: middle;
    width: 16px;
}

input[type=radio]:checked
{
    background-color: #666666;
    box-shadow: 0 0 0 4px #ffffff inset;
}

select
{
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-color: #ffffff;
    background-image: url('/img/select-arrow.png');
    background-position: right 10px center;
    background-repeat: no-repeat;
    background-size: 16px 10px;
    border: 1px solid #999999;
    border-radius: 5px;
    font-size: 16px;
    height: 40px;
    line-height: 40px;
    outline: none;
    padding: 0 30px 0 10px;
    width: 100%;
}

select::-ms-expand
{
    display: none;
}

select:-moz-focusring
{
    color: transparent;
    text-shadow: 0 0 0 #000000;
}

textarea
{
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    border: 1px solid #999999;
    border-radius: 5px;
    display: block;
    font-size: 16px;
    height: 200px;
    line-height: 26px;
    outline: none;
    padding: 10px;
    resize: none;
    width: 100%;
}

/* radio group */

.radio-group .radio
{
    background-color: #ffffff;
    border: 1px solid #999999;
    border-top: 0;
}

.radio-group .radio:first-child
{
    border-top: 1px solid #999999;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}

.radio-group .radio:last-child
{
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
}

.radio-group .radio label
{
    display: block;
    line-height: 40px;
    padding: 0 15px;
}

.radio-group .radio label input[type=radio]
{
    margin: 0 10px 0 0;
}

/* buttons */

.button
{
    margin: 20px auto;
    padding: 0 10px;
}

.button a, .button button
{
    background-color: #536d79;
    border: 0;
    border-radius: 3px;
    color: #ffffff;
    cursor: pointer;
    display: block;
    font-size: 18px;
    font-weight: bold;
    height: 40px;
    line-height: 40px;
    outline: none;
    text-align: center;
    text-decoration: none;
    width: 100%;
}

.button.edit a, .button.edit button
{
    background-color: #ffffff;
    border: 2px solid #536d79;
    color: #536d79;
    line-height: 36px;
}

.button.disabled a, .button.disabled button
{
    background-color: #dddddd;
    border: 2px solid #cccccc;
    color: #ffffff;
    line-height: 36px;
}

/* field */

.field
{
    margin: 15px 0 0 0;
    padding: 0 10px;
}

.field .label
{
    font-weight: bold;
    margin: 0 0 5px 0;
}

.field .label .required
{
    color: #ff3a31;
    margin: 0 0 0 5px;
}

.field .text
{
    background-color: #ffffff;
    border: 1px solid #999999;
    border-radius: 5px;
    font-size: 16px;
    line-height: 26px;
    padding: 7px 10px;
    word-wrap: break-word;
}

.field .error
{
    color: #ff3a31;
    margin: 5px 0 0 0;
}

.field .description
{
    margin: 5px 0 0 0;
}

/* form */

.form.confirm
{
    margin: 20px auto;
}

.form.confirm .field .input
{
    background-color: #ffffff;
    border: 1px solid #999999;
    border-radius: 5px;
    height: auto;
    line-height: 24px;
    padding: 10px;
}

.form.confirm .field .textarea
{
    background-color: #ffffff;
    border: 1px solid #999999;
    border-radius: 5px;
    height: auto;
    line-height: 24px;
    padding: 10px;
    white-space: pre-wrap;
}

/* header */

header
{
    height: 44px;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 9999;
}

header h1
{
    background-color: #cddc39;
    background-image: url('/img/header-logo.png');
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 145px 16px;
    color: #ffffff;
    display: block;
    font-size: 18px;
    height: 44px;
    line-height: 44px;
    margin: 0;
    text-indent: -9999px;
    width: 100%;
}

header .home
{
    background-image: url('/img/header-home.png');
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 23px 20px;
    display: block;
    height: 20px;
    left: 12px;
    position: absolute;
    top: 12px;
    width: 20px;
}

.header
{
    height: 44px;
}

/* footer */

footer
{
    background-color: #ffffff;
    border-top: 1px solid #cccccc;
    bottom: 0;
    height: 61px;
    left: 0;
    padding: 8px 0 0 0;
    position: fixed;
    width: 100%;
    z-index: 8000;
}

footer nav
{
    display: block;
    margin: 0 auto;
    width: 99%;
}

footer nav div
{
    float: left;
    position: relative;
    width: 33%;
}

footer nav div a
{
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 25px 25px;
    color: #999999;
    display: block;
    font-size: 12px;
    line-height: 20px;
    padding: 30px 0 0 0;
    text-align: center;
    text-decoration: none;
}

footer nav div.selected a
{
    color: #cddc39;
}

footer nav div.kantan a
{
    background-image: url('/img/navigation-kantan.png');
}

footer nav div.kantan.selected a
{
    background-image: url('/img/navigation-kantan-selected.png');
}

footer nav div.gattsuri a
{
    background-image: url('/img/navigation-gattsuri.png');
}

footer nav div.gattsuri.selected a
{
    background-image: url('/img/navigation-gattsuri-selected.png');
}

footer nav div.settings a
{
    background-image: url('/img/navigation-settings.png');
}

footer nav div.settings.selected a
{
    background-image: url('/img/navigation-settings-selected.png');
}

footer nav div .badge
{
    background-color: #ff3a31;
    border-radius: 50em;
    color: #ffffff;
    font-size: 12px;
    height: 22px;
    left: 55%;
    line-height: 22px;
    position: absolute;
    text-align: center;
    top: -12px;
    width: 22px;
    z-index: 9000;
}

.footer
{
    height: 80px;
}

/* heading */

.heading h2
{
    background-color: #e6eda2;
    font-size: 18px;
    height: 50px;
    line-height: 50px;
    margin: 0;
    padding: 0 10px;
}

.heading h3
{
    font-size: 18px;
    line-height: 28px;
    margin: 0;
}

/* content */

.content
{
    background-color: #ffffff;
    padding: 20px 10px;
}

.content p:last-child
{
    margin-bottom: 0;
}

.red
{
    color: #ff3a31;
}

.green
{
    color: #afbc00;
}

.log
{
    border: 1px solid #dddddd;
    margin: 20px 0 0 0;
    padding: 10px;
}

.back
{
    border-bottom: 1px solid #cccccc;
}

.back a
{
    background-color: #ffffff;
    background-image: url('/img/arrow-left.png');
    background-position: left 15px center;
    background-repeat: no-repeat;
    background-size: 11px 17px;
    border-top: 1px dotted #cccccc;
    display: block;
    padding: 10px 10px 10px 40px;
    text-decoration: none;
}

.page-top
{
    bottom: 80px;
    position: fixed;
    right: 20px;
}

.page-top a
{
    background-color: #444444;
    border-radius: 4px;
    color: #ffffff;
    display: block;
    font-size: 16px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    text-decoration: none;
    width: 40px;
}

/* terms */

body#terms
{
    background-color: #ffffff;
}

#terms .content
{
    white-space: pre-wrap;
}

/* license */

body#license
{
    background-color: #ffffff;
}

#license .content
{
    font-family: Courier !important;
    font-size: 12px;
    line-height: 22px;
    white-space: pre-wrap;
}

/* error */

#error .content .trace
{
    border: 1px solid #dddddd;
    font-family: Courier;
    margin: 20px 0 0 0;
    overflow: scroll;
    padding: 10px;
    white-space: pre;
}

/* debug */

.debug
{
    margin: 20px;
}

.debug *
{
    font-size: 12px;
    line-height: 22px;
}

.debug .heading
{
    font-weight: bold;
    margin: 0 0 5px 0;
}

.debug table
{
    background-color: #ffffff;
    width: 100%;
}

.debug table tbody tr th
{
    background-color: #f5f5f5;
    background: linear-gradient(to bottom, #ffffff, #f5f5f5);
    border: 1px solid #cccccc;
    padding: 10px;
    text-align: left;
}

.debug table tbody tr td
{
    background-color: #ffffff;
    border: 1px solid #cccccc;
    padding: 10px;
    word-break: break-all;
}

.debug table tbody tr td p
{
    border-top: 1px dotted #cccccc;
    font-family: Courier !important;
    margin: 5px 0 0 0;
    padding: 5px 0 0 0;
}

.debug table tbody tr td.field,
.debug table tbody tr td.time
{
    word-break: normal;
}

.debug table tbody tr td.query
{
    font-family: Courier !important;
}

.debug table tbody tr td div.query
{
    font-family: Courier !important;
    margin: 0 0 5px 0;
}

.debug table tbody tr td .explain tbody tr th,
.debug table tbody tr td .explain tbody tr td
{
    max-width: auto;
    min-width: auto;
    width: auto;
}
