body {
    background: url(../img/main-bg.png) no-repeat top center scroll;
    background-color: #fff;
    -webkit-background-size: contain;
    -moz-background-size: contain;
    background-size: contain;
    -o-background-size: contain;
}

body#page {
    background: url(../img/page-bg.png) no-repeat fixed bottom center;
    background-color: #fff;
    -webkit-background-size: contain;
    -moz-background-size: contain;
    background-size: contain;
    -o-background-size: contain;
}

@media screen and (max-width:767px) {
    body {
        background: url(../img/main-bg-sp.png) no-repeat top center scroll;
    }
    body#page {
        background: url(../img/page-bg-sp.png) no-repeat top center scroll;
    }
}

pre,
.txt-homelogo,
.nav-item {
    font-family: 'Noto Sans JP', sans-serif !important;
    font-size: 95%;
}

.nav-item {
    font-weight: bold;
}

pre {
    white-space: -moz-pre-wrap;
    white-space: -pre-wrap;
    white-space: -o-pre-wrap;
    white-space: pre-wrap;
    word-wrap: break-word;
    margin-top: 20px;
}

.homemain {
    padding-top: 10rem;
    padding-bottom: 10rem;
    margin-bottom: 0;
}

.homemain .container {
    max-width: 40rem;
}

@media screen and (max-width:767px) {
    .homemain {
        padding-top: 0rem;
        padding-bottom: 2rem;
        margin-bottom: 0;
    }
    .homemain .container {
        max-width: 40rem;
    }
}

.blue-stripe {
    font-size: 110%;
    font-weight: bolder;
    padding-bottom: .5em;
    position: relative;
    padding-left: 1.2em;
}

.blue-stripe:after {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: '';
    height: 4px;
    width: 100%;
    background: -webkit-repeating-linear-gradient(45deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0) 2px, #1d2088 2px, #1d2088 4px);
    background: repeating-linear-gradient(45deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0) 2px, #1d2088 2px, #1d2088 4px);
}

.blue-stripe:before {
    font-family: 'FontAwesome';
    content: "\f0a9";
    font-size: 1em;
    position: absolute;
    left: 0;
    top: 0.1em;
    color: #1d2088;
}

.blue-underb {
    font-size: 110%;
    padding: 0 5px;
    margin-bottom: 0;
    border-bottom: 3px solid #1d2088;
}

.blue-underb:first-letter {
    font-size: 2em;
    color: #1d2088;
}

.blue-tag {
    font-size: 100%;
    font-weight: bold;
    color: #fff;
    padding: 0.5em;
    display: inline-block;
    line-height: 1.3;
    background: #1d2088;
    vertical-align: middle;
    border-radius: 25px 0px 0px 25px;
}

.blue-tag:before {
    content: '●';
    color: white;
    margin-right: 8px;
}

.blue-line {
    font-size: 100%;
    font-weight: bold;
    padding: 0.5em;
    line-height: 1.3;
    border-top: 1px solid #1d2088;
    border-bottom: 1px solid #1d2088;
}

.yellow-flat {
    font-size: 110%;
    position: relative;
    color: white;
    background: #fd9b00;
    line-height: 1.4;
    padding: 0.5em 0.5em 0.3em 1.8em;
}

.green-flat {
    font-size: 110%;
    position: relative;
    color: white;
    background: #329b41;
    line-height: 1.4;
    padding: 0.5em 0.5em 0.3em 1.8em;
}

.blue-flat {
    font-size: 110%;
    position: relative;
    color: white;
    background: #4992cf;
    line-height: 1.4;
    padding: 0.5em 0.5em 0.3em 1.8em;
}

.grey-flat {
    font-size: 110%;
    position: relative;
    color: white;
    background: #666666;
    line-height: 1.4;
    padding: 0.5em 0.5em 0.3em 1.8em;
}

.yellow-flat:before,
.green-flat:before,
.blue-flat:before,
.grey-flat:before {
    font-family: FontAwesome;
    content: "\f14a";
    position: absolute;
    left: 0.5em;
}

.txt-homelogo {
    margin: 10px 5px;
}

footer p {
    font-size: 90%;
    margin: 20px;
}

.access-txt {
    padding: 10px;
}

table#table-blue01 {
    width: 95%;
    border-collapse: collapse;
    margin: 20px 0 30px 0;
}

table#table-blue01 th.t_top {
    border-top: #1d2088 4px solid;
    width:25%;
}

table#table-blue01 th {
    border-bottom: #e3e3e3 1px solid;
    border-left: #e3e3e3 1px solid;
    text-align: center;
    background: #c4c6ff;
    padding: 10px;
    font-weight: bold;
}

table#table-blue01 td.t_top {
    border-top: #b3b3b3 4px solid;
}

table#table-blue01 td {
    border-bottom: #e3e3e3 1px solid;
    border-right: #e3e3e3 1px solid;
    text-align: left;
    padding: 10px;
    background: #fff;
}

.about-innerbox {
    margin-top: 20px;
}

.about-msg {
    padding: 10px 10px 10px 20px;
}

.activities-inner {
    margin: 30px 20px;
    padding-top: 20px;
    border-bottom: 1px dashed #1d2088;
    background: #fff;
}

.activities-mt01 {
    font-size: 110%;
    font-weight: bold;
    color: #1d2088;
    padding-left: .8em;
    border-left: double #1d2088;
}

.activities-mt02 {
    font-size: 105%;
    font-weight: bold;
    padding: 0 0 5px 10px;
}

.detail-link {
    padding-left: 10px;
    font-size: 90%;
}

.office-txt {
    margin: 20px;
}

.form-box {
    padding: 20px;
}

table#table-orange01 {
    width: 95%;
    border-collapse: collapse;
    margin: 20px 0 30px 0;
}

table#table-orange01 th.t_top {
    border-top: #fd9b00 4px solid;
    width:25%;
}

table#table-orange01 th {
    border-bottom: #e3e3e3 1px solid;
    border-left: #e3e3e3 1px solid;
    text-align: center;
    background: #fdcd88;
    padding: 10px;
    font-weight: bold;
}

table#table-orange01 td.t_top {
    border-top: #b3b3b3 4px solid;
}

table#table-orange01 td {
    border-bottom: #e3e3e3 1px solid;
    border-right: #e3e3e3 1px solid;
    text-align: left;
    padding: 10px;
    background: #fff;
}

.b-txt {
    font-weight: bold;
}

.treatment-inner {
    margin: 0px 20px;
    padding: 20px 10px 10px 20px;
    background: #fff;
}

.treatment-mt01 {
    font-size: 110%;
    font-weight: bold;
    color: #4d7426;
    padding-left: .8em;
    border-left: double #4d7426;
    margin-left: 20px;
}

.treatment-mt02 {
    font-size: 110%;
    position: relative;
    color: white;
    background: #666666;
    line-height: 1.4;
    padding: 0.5em 0.5em 0.3em 1.8em;
    margin: 10px 20px;
}

.treatment-mt03 {
    font-size: 110%;
    font-weight: bold;
    color: #2f3c0a;
    padding-left: .8em;
    margin-left: 20px;
}

.mgl-20 {
    margin: 20px 30px;
}