@charset "UTF-8";

/* http://meyerweb.com/eric/tools/css/reset/ 
v2.0 | 20110126
License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}

body {
    font-size: 14px;
    color: #555;
    line-height: 22px;
    font-family: "Sawarabi Gothic", 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
}

img {
    width: 100%;
}

a {
    text-decoration: none;
    color: #555;
}

header {
    overflow: hidden;
    padding: 10px 0;
    position: fixed;
    width: 100%;
    background: #fff;
    z-index: 10;
    border-bottom: solid 1px #eee;
}

#main {
    padding: 62px 0 0 0;
}

.site-ttl {
    width: 200px;
    float: left;
}

.btn-app {
    float: right;
}

.btn-app a {
    color: #fff;
    background: #91a84c;
    display: inline-block;
    padding: 10px;
    border-radius: 5px;
    font-size: 13px;
}

.site-main {
        background: url(images/bt_bg02.png)no-repeat, url(images/bt_bg01.jpg);
        background-position: bottom;
}

.contents-width {
    overflow: hidden;
}

.bg01 {
    background: #d6ddc1;
    padding: 0 0 70px 0;
}

.contents01{
    background: url(images/bt_img20.png) no-repeat;
    background-size: 10%;
    background-position: top center;
    padding: 50px 0;
}

.contents03 {
    background: url(images/bt_img20.png) no-repeat;
    background-size: 10%;
    background-position: top center;
    padding: 50px 0 0 0;
    position: relative;
    top: 5px;
    margin: -5px 0 0 0;
}

.color-gr {
    color: #91a84c;
}

.ttl-text {
    font-size: 24px;
    font-weight: bold;
    line-height: 38px;
    letter-spacing: 1px;
}

.font-l {
    font-size: 34px;
}

.font-m {
    color: #91a84c;
    font-size: 18px;
    font-weight: bold;
}

.bg-gray p {
    margin: 0 0 20px 0;
}

.bg02 {
    padding: 30px 0!important;
}

.point-list {
    border: dashed 3px #91a84c;
    background: #fff;
}

.point-list dt {
    width: 12%;
    display: inline-block;
    padding: 2%;
    vertical-align: middle;
}

.point-list dd {
    width: 80%;
    display: inline-block;
    padding: 2% 2% 2% 0;
    vertical-align: top;
    color: #91a84c;
    vertical-align: middle;
    border-bottom: solid 1px #eee;
}

.point-list dd:last-child {
    border-bottom: none;
}

.point-list dd span {
    color: #979797;
    display: block;
}

.point-box p {
    margin: 0 0 20px 0;
}

.point-box {
    border: dashed 3px #91a84c;
    padding: 20px 20px 0 20px;
    margin: -5px 0 0 0;
    display: inline-block;
}

.contents-img06 {
    width: 280px;
    float: left;
    padding: 140px 0 0 0;
}

.contents-img07 {
    width: 388px;
    float: right;
}

.contents04 {
    padding: 50px 0 20px 0;
}

.font-under {
    background: linear-gradient(transparent 60%, #ffdd5c 60%);
    line-height: 28px;
}

.contents06 {
    background: none;
    padding: 0;
}

.app-list {
    background: #91a84c;
    color: #fff;
    font-weight: bold;
    border-radius: 10px;
    text-align: center;
    padding: 5% 1.5%!important;
    margin: 2%;
}

.contents06 .point-list dd {
    width: 78%;
    border-bottom: none;
    font-size: 18px;
    padding: 3% 0;
    font-weight: bold;
}

.line {
    width: 140px;
    display: block;
    margin: 5px 0 0 0;
}

.contents06 .point-list {
    width: 45%;
}

.app-box {
    background: #d6ddc1;
    padding: 20px;
    border-radius: 10px;
    width: 70%;
    margin: 0 auto 50px auto;
}

.app-box .font-m {
    text-align: center;
    margin: 0 0 20px 0;
}

footer {
    background: #555555;
    padding: 30px 0;
    text-align: center;
    color: #fff;
    font-size: 12px;
}

footer .site-ttl {
    float: none;
    margin: 0 auto 10px auto;
}


@media screen and (min-width:1111px) {
    .contents-width {
        width: 960px;
        margin: 0 auto;
    }

    .site-main .contents-width {
        padding: 50px 50px 100px 50px;
        position: relative;
    }

    .fukidashi {
        right: 0;
        width: 620px;
        position: absolute;
        top: 30px;
    }

    .main-img {
        float: left;
        width: 480px;
    }

    .ttl-head {
        height: 130px;
        text-align: center;
    }

    .contents01,
    .contents02 {
        position: relative;
    }

    .contents-img01 {
        width: 418px;
        right: 0;
        top: 50px;
        position: absolute;
    }

    .contents-img02 {
        position: absolute;
        width: 638px;
        top: 0;
    }

    .contents-img03 {
        position: absolute;
        width: 396px;
        right: 0;
        top: 0;
    }

    .contents01 .bg-gray {
        width: 80%;
        margin: 20px 0 0 0;
    }

    .contents02 {
        padding: 250px 0 50px 0;
        overflow: hidden;
    }

    .contents02 .bg-gray {
        width: 80%;
        float: right;
    }

    .contents02 .bg-gray p.s-width {
        width: 70%;
        margin: 0 0 20px 30%;
    }

    .contents-img04 {
        width: 50%;
    }

    .point-list {
        position: absolute;
        top: 140px;
        right: 0;
        width: 64%;
    }

    .contents01 .bg-gray p.s-width {
        width: 75%;
    }

    .contents-img05 {
        position: absolute;
        width: 318px;
        right: 0;
        top: 50px;
    }

    .point-contents-box {
        width: 70%;
        margin: 0 auto;
    }

    .contents05 {
        padding: 50px 0;
        margin: 50px 0 0 0;
    }

    .contents-img08 {
        width: 378px;
        position: absolute;
        top: 0;
    }

    .contents05 .ttl-text {
        padding: 0 0 20px 400px;
    }

    .contents-img09 {
        width: 368px;
        right: 0;
        top: 50px;
        position: absolute;
    }

    .m-width {
        width: 70%;
    }

    .ttl-head img {
        height: 100%;
        width: auto;
    }

    .bg-gray {
        background: #eee;
        padding: 20px 20px 0 20px;
        overflow: hidden;
    }


}

@media screen and (max-width:1110px) {
    .contents-width {
        width: 94%;
        margin: 0 auto;
    }

    .fukidashi {
        position: relative;
        top: 20px;
    }

    .main-img {
        margin: -12px 0 0 0;
    }

    .site-main {
        padding: 0 0 20px 0;
    }

    .bg01,
    .contents02 {
        padding: 0 0 50px 0;
    }

    .contents-img01,
    .contents-img05,
    .contents-img08,
    .contents-img09 {
        padding: 20px 20px 30px 20px;
    }

    .contents01 {
        padding: 50px 0 30px 0;
    }

    .contents-img03 {
        margin: -90px 20px -5px 20px;
    }

    .bg02 .ttl-head {
        padding: 0 30px;
    }

    .contents03 {
        padding: 30px 0 50px 0;
    }

    .contents-img04 {
        width: 70%;
        margin: 0 auto -5px auto;
    }

    .point-list dt {
        width: 18%;
    }

    .point-list dd {
        width: 71%;
        padding: 5% 2%;
    }

    .contents-img06 {
        padding: 0;
    }

    .contents-img07 {
        width: 90%;
        margin: -20px 0 0 0;
    }

    .contents05 .bg-gray {
        margin: 20px 0 0 0;
    }

    .point-list,
    .app-box {
        width: auto!important;
    }

    .contents06 .point-list dt {
        padding: 20px 0!important;
    }

    .contents06 .point-list dd {
        width: 76%;
        padding: 5% 0;
    }

    .font-l {
        font-size: 26px;
    }

    .point-list {
        border: dashed 2px #91a84c;
    }

    .ttl-text {
        font-size: 20px;
    }

    .bg-none {
        background: #fff!important;
        padding: 0!improtant;
    }

    .sp-bg {
        background: #eee;
        padding: 20px 20px 0 20px;
        overflow: hidden;
    }

    #app {
        padding: 80px 0 0 0;
        margin: -80px 0 0 0;
    }



}