body {
    margin: 70px 0 0 0;
    padding: 0;
    font-weight: 300;
}
ul.breadcrumb {
    font-size: .8rem;
    padding: .3rem 1rem;
    border-radius: 0;
    margin-bottom: .5rem;
}

div.contents {
}
a.navbar-brand {
    font-weight: bold;
    color: #c62929 !important;
}
a.navbar-brand span {
    font-size: .8em;
    padding-left: .5em;
    color: #837777;
}
nav#footer {
    border-top: 1px solid #e0e0e0;
    margin-top: 5em;
    padding: 1em 0 10em 0;
}

h1 {
    font-size: 2rem;
    font-weight: normal;
    margin-left: -2rem;
    margin-bottom: 1rem;
    padding: .3rem 0 .3rem .5rem;
    border-left: 1.5rem solid #c62929;
    background: linear-gradient(90deg, #f7f0ef 0%, #f0f4f8 30%, #f0f4f8 100%);
    color: #440d0d;
}
h1 .help {
    font-size: 1rem;
    font-weight: normal;
    color: #666666;
}
h2 {
    font-size:1.5rem;
    font-weight: normal;
    background: rgb(235,175,163);
    background: linear-gradient(90deg, rgb(234, 190, 181) 0%, rgba(252,244,240,1) 37%, rgba(255,243,240,1) 100%);
    border-left: .5em solid #c62929;
    margin: .5em 0 .5em -.8em;
    padding: .2em .2em .2em .3em;
    color: #440d0d;
}
h3 {
    font-size:1.2rem;
    font-weight: bold;
    border-bottom: 2px solid #EABEB5FF;
    margin-top: 1em;
    margin-bottom: .5em;
    padding: .2rem;
    color: #440d0d;
    background-color: #FFF3F0FF;
}
h4 {
    font-size:1.2rem;
    font-weight:bold;
}
h5 {
    font-size:1.1rem;
    font-weight:bold;
}
div.contents a {
    font-weight: bold;
}
div.contents a.btn {
    font-weight: normal;
}
table.table thead tr {
    background-color: #cdd8e1;
}
.text-strong {
    font-weight: bold;
}
fieldset.side {
    font-size:.85rem;
    padding: .5rem;
    border-radius: .5rem;
    border: 2px solid #ddc7c0;
    margin: 1rem 0 0 0;
}
fieldset.side legend {
    font-size: 1rem;
    font-weight:bold;
    padding: 0 .5rem 0 .5rem;
    width: auto;
}
fieldset.side h3 {
    font-size: 1.2em;
    margin: 0 -.5rem .5em 0;
    padding: .2rem .5rem .2rem 0;
    border-bottom: 2px solid #ddc7c0;
}

/*
 * form
 */
div.form-group > label {
    color: #598c9d;
    font-weight: bold;
    font-size: .9rem;
}
legend.col-form-label {
    color: #598c9d;
    font-weight: bold;
    font-size: .9rem;
}
div.form-group > label.required::before {
    white-space: nowrap;
    content: "Req";
    font-size: 0.7em;
    vertical-align: top;
    top: -0.1em;
    background-color: rgb(221, 172, 183);
    font-weight: normal;
    color: rgb(255, 255, 255);
    border-width: 1px;
    border-style: solid;
    border-color: rgb(221, 125, 140);
    border-image: initial;
    border-radius: 0.4em;
    padding: 0.1em 0.3em;
    margin: 0.1em 0.5em;
}
legend.col-form-label.required::before {
    white-space: nowrap;
    content: "Req";
    font-size: 0.7em;
    vertical-align: top;
    top: -0.1em;
    background-color: rgb(221, 172, 183);
    font-weight: normal;
    color: rgb(255, 255, 255);
    border-width: 1px;
    border-style: solid;
    border-color: rgb(221, 125, 140);
    border-image: initial;
    border-radius: 0.4em;
    padding: 0.1em 0.3em;
    margin: 0.1em 0.5em;
}

/* for jumbotron */
div.top {
    border-radius: .5rem;
    padding: 2rem;
}
div.top h1 {
    font-size: 40px;
    font-weight: 300;
    border: none;
    margin: 0;
}

/* サイドメニューのCSS */
fieldset.sideMenu {
    margin-top: .5em;
    padding: .5em;
    border: 2px solid #b0c0c5;
    border-radius: .5em;
    font-size: .8rem;
}

fieldset.sideMenu legend {
    font-size: 1em;
    font-weight: bold;
    margin-bottom: 0;
    padding: .2em;
    border: 1px solid #b0c0c5;
    background-color: #f8f8f8;
    border-radius: .2em;
    color: #314d55;
}

fieldset.sideMenu h4 {
    font-size: 1em;
    font-weight: bold;
    background-color: #f8f8f8;
    border: 1px solid #b0c0c5;
    padding: .2em;
}
/*
 * ol, numbered list
 */
ol.numbered {
    counter-reset:number;
    list-style-type: none!important;
    padding:0;
}
ol.numbered li {
    position: relative;
    padding: 0.5em 0 0.5em 1.2em;
    line-height: 1.25em;
}
ol.numbered li:before{
    counter-increment: number;
    content: counter(number) ":";
    position: absolute;
    left: 0;
    font-family: 'Arial',sans-serif;
    font-size: .8em;
    font-weight: bold;
}
ol.numbered p.title {
    line-height: 1.2em;
    margin: 0 0 .2em 0;
    padding: 0;
    color: #7c1c0e;
    font-weight: bold;
    font-size: 1em;
}
/*
 * ul, unordered list
 */
ul {
    padding-left: 1.2em;
}