@charset "UTF-8";
#main {
    padding-top: 180px;
    min-width: 1100px;
}

section .inner {
    padding: 100px 0px;
    max-width: 980px;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

section h2 {
    display: inline-block;
    font-size: 36px;
    line-height: 1.6em;
    position: relative;
    padding-bottom: 20px;
    margin-bottom: 20px;
}

section h2:before {
    content: "";
    display: block;
    width: 45px;
    height: 5px;
    background-color: #eee;
    position: absolute;
    left: calc(50% - 22px);
    bottom: 0px;
}

section h3 {
    font-size: 24px;
    line-height: 1.6em;
}

table {
    margin-bottom: 20px;
    border: solid 1px #dee9e9;
    width: 100%;
    box-sizing: border-box;
}

table tr th {
    background-color: #1db2da;
    color: #fff;
    padding: 10px 10px;
    font-size: 16px;
    width: 160px;
    border-bottom: solid 1px #fff;
    vertical-align: middle;
}

table tr td {
    padding: 10px 30px;
    font-size: 18px;
    text-align: left;
    border-bottom: solid 1px #dee9e9;
}

table tr th span.hisu {
    color: #fff;
    font-weight: bold;
    font-size: 0.8em;
    padding-left: 5px;
}

#mv {
    position: relative;
    z-index: 100;
    padding-top: 0px;
}

#mv .inner {
    width: 1196px;
    height: 513px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}

#mv .inner h1 {
    display: block;
    width: 100%;
    height: auto;
    overflow: hidden;
}

#mv .inner h1 img {
    width: 100%;
}


/*#mv .inner h1:before{ content: ""; display: block; width: 1196px; height: 696px; background-image: url(../img/2x/main@2x.png); background-size: 100% auto;  }*/

#intro {
    background-color: #f2f9f1;
    margin-top: -15px;
    position: relative;
    z-index: 60;
}

#intro .inner {
    position: relative;
    padding-bottom: 150px;
}

#intro h2 {
    padding-bottom: 0px;
    background-image: url(../img/intro_obi.svg);
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: center bottom;
    margin-bottom: 30px;
}

#intro h2:before {
    display: none;
}

#intro p {
    font-size: 16px;
}

.i01 {
    position: absolute;
    left: -100px;
    bottom: -60px;
    width: 168px;
    height: auto;
}

.i02 {
    position: absolute;
    right: -193px;
    bottom: -131px;
    width: 462px;
    height: auto;
}

#outline .inner {
    position: relative;
    padding-bottom: 150px;
}

#outline h2:before {
    background-color: #1db2da;
}

#outline .line-ttl {
    display: block;
}

#outline .line-ttl h3 {
    display: inline-block;
    font-size: 28px;
}

#outline .line-ttl #hcp {
    display: inline-block;
    padding-bottom: 0px;
    background-image: url(../img/outline_obi.png);
    background-repeat: no-repeat;
    background-size: 100% 18px;
    background-position: center bottom;
    margin-bottom: 40px;
    padding-left: 5px;
    padding-right: 5px;
}

#outline .line-ttl #transfer {
    display: inline-block;
    padding-bottom: 0px;
    background-image: url(../img/outline_obi.png);
    background-repeat: no-repeat;
    background-size: 100% 18px;
    background-position: center bottom;
    margin-bottom: 40px;
    padding-left: 5px;
    padding-right: 5px;
}

#outline table {
    width: 870px;
    margin-left: auto;
    margin-right: auto;
}

.note {
    max-width: 870px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 80px;
}

.note a {
    color: #1db2da;
}

.note ul {
    list-style: none;
}

.note ul li {
    text-align: left;
    font-size: 14px;
    line-height: 1.8em;
    text-indent: -1em;
    margin-left: 1em;
}

.note ul li:before {
    content: "・";
}

.note p {
    text-align: left;
}

.note p small {
    display: inline-block;
    font-size: 14px;
    line-height: 1.8em;
}

#outline .note {
    max-width: 870px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 80px;
}

#outline .note ul {
    list-style: none;
}

#outline .note ul li {
    text-align: left;
    font-size: 14px;
    line-height: 1.8em;
    text-indent: -1em;
    margin-left: 1em;
}

#outline .note ul li:before {
    content: "・";
}

#outline .note p {
    text-align: left;
}

#outline .note p small {
    display: inline-block;
    font-size: 14px;
    line-height: 1.8em;
}

#outline .box {
    background-color: #1db2da;
    color: #fff;
    padding: 40px 0px;
    font-size: 24px;
    line-height: 1.6em;
    font-weight: bold;
    width: 870px;
    margin-left: auto;
    margin-right: auto;
}

#outline a {
    color: #1db2da;
}

#outline a:hover {
    text-decoration: none;
}

#outline a.label {
    background-color: #1db2da;
    color: #fff;
    text-decoration: none;
    margin-left: 6px;
    font-weight: bold;
}

#outline .entryBtn {
    width: 395px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 15px;
}

#outline .entryBtn a {
    font-size: 28px;
    padding: 25px 40px;
    color: #fff;
}

#outline .entryBtn a .label {
    font-size: 18px;
}

.i04 {
    position: absolute;
    left: -80px;
    bottom: -133px;
    width: 434px;
    height: auto;
}

.i03 {
    position: absolute;
    right: -100px;
    bottom: -54px;
    width: 157px;
    height: auto;
}

#purpose {
    background-color: #f2f9f1;
}

#purpose h2:before {
    background-color: #29b401;
}

#purpose h3 {
    display: inline-block;
    padding-bottom: 0px;
    background-image: url(../img/purpose_obi.png);
    background-repeat: no-repeat;
    background-size: 100% 16px;
    background-position: center bottom;
    margin-bottom: 40px;
    padding-left: 5px;
    padding-right: 5px;
}

#purpose .purpose {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 40px;
    position: relative;
}

#purpose .purpose:before {
    position: absolute;
    content: "";
    left: calc(50% - 110px);
    top: 80%;
    display: block;
    width: 249px;
    height: 164px;
    background-image: url(../img/ashiato_0.png);
    background-repeat: no-repeat;
    background-size: 100%;
}

#purpose .purpose.ri:before {
    position: absolute;
    left: calc(50% - 110px);
    content: "";
    top: 70%;
    display: block;
    width: 249px;
    height: 164px;
    background-image: url(../img/ashiato_1.png);
    background-repeat: no-repeat;
    background-size: 100%;
}

#purpose .purpose.end:before {
    display: none !important;
}

#purpose .thumb {
    width: 310px;
}

#purpose .thumb img {
    width: 100%;
}

#purpose .txt {
    width: 600px;
    text-align: left;
    padding-left: 30px;
}

#purpose .txt h3 {
    margin-bottom: 10px;
}

#purpose .txt h4,
#purpose .txt p {
    padding-left: 5px;
}

#purpose .txt h4 {
    font-size: 18px;
}

#purpose .ri {
    flex-direction: row-reverse;
}

#purpose .ri .txt {
    width: 600px;
    text-align: left;
    padding-left: 0px;
    padding-right: 30px;
}

#purpose .inner {
    position: relative;
}

#purpose .illust_03 {
    position: absolute;
    right: -80px;
    bottom: calc(50% - 99px);
    width: 196px;
    height: auto;
}

#contents {
    background-color: #fff;
}

#contents h2:before {
    background-color: #fe1d7b;
}

#contents .inner {
    min-height: 500px;
}

#contents .inner>p {
    margin-bottom: 56px;
    background-color: #efefef;
    padding-top: 150px;
    padding-bottom: 150px;
}

#contents .inner>p .big {
    font-size: 24px;
    display: inline-block;
    padding-top: 20px;
    font-weight: bold;
}

#contents .items {
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 60px;
}

#contents .item {
    width: 195px;
    margin: 0px 22px 25px;
}

#contents .thumb {
    width: 195px;
    margin-bottom: 16px;
}

#contents .thumb img {
    width: 100%;
}

#contents .txt p {
    font-size: 14px;
    line-height: 1.4em;
    font-weight: 700;
}

#contents .txt span {
    display: inline;
    padding-bottom: 0px;
    background-image: url(../img/content_obi.png);
    background-repeat: repeat-x;
    background-size: 100% 10px;
    background-position: center bottom;
    margin-bottom: 40px;
    padding-left: 5px;
    padding-right: 5px;
}

#contents .entryBtn {
    width: 395px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 15px;
}

#contents .entryBtn a {
    font-size: 28px;
    padding: 25px 40px;
}

#contents .entryBtn a .label {
    font-size: 18px;
}

#contents .inner {
    position: relative;
}

#contents .flag_01 {
    position: absolute;
    left: -80px;
    top: -20px;
    width: 310px;
    height: auto;
}

#contents .flag_02 {
    position: absolute;
    right: -80px;
    top: -20px;
    width: 310px;
    height: auto;
}

#contents .illust_04 {
    position: absolute;
    left: -80px;
    bottom: -40px;
    width: 99px;
    height: auto;
}

#contents .illust_05 {
    position: absolute;
    right: -80px;
    bottom: -40px;
    width: 198px;
    height: auto;
}

#access {
    background-image: url(../img/shiba.gif);
    padding-top: 90px;
    padding-bottom: 90px;
}

#access .inner {
    background-color: #fff;
    padding: 60px;
}

#access h2:before {
    background-color: #ffdb0d;
}

#access .line-ttl h3 {
    display: inline-block;
    padding-bottom: 0px;
    background-image: url(../img/access_obi.png);
    background-repeat: no-repeat;
    background-size: 100% 18px;
    background-position: center bottom;
    margin-bottom: 40px;
    padding-left: 5px;
    padding-right: 5px;
}

#access .line-ttl {
    margin-bottom: 30px;
}

.embed-map {}

#map {
    height: 450px;
    max-width: 835px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 40px;
}

#access .inner {
    position: relative;
}

#access .illust_04 {
    position: absolute;
    left: -80px;
    top: -20px;
    width: 99px;
    height: auto;
}

#access .illust_05 {
    position: absolute;
    right: -80px;
    top: -20px;
    width: 198px;
    height: auto;
}

#post-243 .inner,
#post-2 .inner {
    position: relative;
}

#post-243 .entry-content p,
#post-2 .entry-content p {
    margin-bottom: 50px;
    text-align: left;
}

#post-243 h1,
#post-2 h1 {
    display: inline-block;
    font-size: 36px;
    line-height: 1.6em;
    position: relative;
    padding-bottom: 20px;
    margin-bottom: 20px;
}

#post-243 h1:before,
#post-2 h1:before {
    content: "";
    display: block;
    width: 45px;
    height: 5px;
    background-color: #29b401;
    position: absolute;
    left: calc(50% - 22px);
    bottom: 0px;
}

#post-243 .note,
#post-2 .note {
    max-width: 100%;
    width: 100%;
}

#post-243 table,
#post-2 table {
    margin-bottom: 20px;
    border: solid 1px #dee9e9;
    width: 100%;
    box-sizing: border-box;
}

#post-243 table tr th,
#post-2 table tr th {
    background-color: #29b401;
    color: #fff;
    padding: 10px 10px;
    font-size: 16px;
    width: 160px;
    border-bottom: solid 1px #fff;
    vertical-align: middle;
}

#post-243 table tr td,
#post-2 table tr td {
    padding: 10px 30px;
    font-size: 18px;
    text-align: left;
    border-bottom: solid 1px #dee9e9;
}

#post-243 table tr td input[type="text"],
#post-243 table tr td input[type="email"],
#post-2 table tr td input[type="text"],
#post-2 table tr td input[type="email"] {
    font-size: 18px;
    background-color: #efefef;
    border: none;
    padding: 5px;
}

#post-243 table tr td input.address,
#post-2 table tr td input.address {
    margin-bottom: 10px;
}

.error {
    color: #ff6600;
    padding-left: 10px;
    font-size: 13px;
}

#errorlist {
    padding: 20px 30px;
    border: solid 1px #ff6600;
    margin-bottom: 30px;
    display: none;
}

#errorli {
    padding: 10px 30px;
    text-align: left;
}

#errorli li {
    color: #ff6600;
}

#errorli li .error {
    color: #ff6600;
    font-size: 15px;
    font-weight: bold;
}

.tablet_view #mv .inner {
    width: calc(100% - 60px);
    height: auto;
    margin-left: 30px;
    margin-right: 30px;
    position: relative;
}

.tablet_view #mv .inner h1 {
    display: block;
    width: 100%;
    height: auto;
    overflow: hidden;
}

.tablet_view #main {
    overflow: hidden;
    width: 100%;
}

.tablet_view .i01 {
    left: -60px;
}

.tablet_view .i02 {
    right: -110px;
}

.tablet_view .i03 {
    right: -65px;
}

.tablet_view #contents .illust_04 {
    left: -50px;
}

.tablet_view #contents .illust_05 {
    right: -45px;
}

.tablet_view #access .inner {
    width: 860px;
}

button {
    width: 260px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 22px;
    font-weight: 700;
    text-decoration: none;
    color: #fff;
    background-color: #0ba90b;
    padding: 15px 20px;
    text-align: center;
    border-radius: 100px;
    box-shadow: 2px 2px 0px rgba(0, 0, 0, 0.2);
    border: none;
}

#archives {
    background-color: #f2f9f1;
    margin-top: -15px;
    position: relative;
    z-index: 60;
}

#archives .inner {
    position: relative;
    padding-bottom: 150px;
}

#archives h2:before {
    background-color: #29b401;
}

#archives .inner dl {
    display: flex;
    flex-wrap: wrap;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
}

#archives .inner dl dt {
    width: 180px;
    text-align: left;
}

#archives .inner dl dd {
    width: calc(100% - 180px);
    text-align: left;
}

#archives .inner a {
    color: #1db2da;
}

.mw_wp_form_complete {
    background-color: #eaf6f6;
    text-align: center;
    margin-bottom: 40px;
    padding: 20px;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

#post-243 .entry-content .mw_wp_form_complete p,
#post-2 .entry-content .mw_wp_form_complete p {
    margin-bottom: 0px;
    text-align: center;
}

@media screen and (max-width:740px) {
    section .inner {
        padding: 40px 0px;
        margin-left: 20px;
        margin-right: 20px;
    }
    section h2 {
        font-size: 20px;
        line-height: 1.6em;
    }
    section h3 {
        font-size: 16px;
        line-height: 1.6em;
    }
    #main {
        padding-top: 50px;
        min-width: inherit;
    }
    #mv .inner {
        width: calc(100% - 30px);
        height: auto;
        margin-left: 15px;
        margin-right: 15px;
        position: relative;
    }
    #mv .inner h1 {
        display: block;
        width: 100%;
        height: auto;
        overflow: hidden;
    }
    #main {
        overflow: hidden;
        width: 100%;
    }
    #mv {
        padding-top: 50px;
    }
    #intro .inner {}
    #intro h2 {
        margin-bottom: 15px;
    }
    #intro .inner {
        padding-bottom: 60px;
    }
    #intro .inner p {
        text-align: left;
        font-size: 14px;
        line-height: 1.6em;
    }
    .i01 {
        width: 46px;
        height: auto;
        left: -15px;
        bottom: -10px;
    }
    .i02 {
        width: 150px;
        height: auto;
        right: -33px;
        bottom: -31px;
    }
    #outline .inner {
        padding-bottom: 60px;
    }
    #outline .line-ttl h3 {
        font-size: 20px;
    }
    #outline .line-ttl #hcp {
        background-size: 100% 12px;
        margin-bottom: 25px;
        background-image: none;
    }
    #outline .line-ttl #hcp span {
        display: inline-block;
        padding-bottom: 0px;
        background-image: url(../img/outline_obi.png);
        background-repeat: no-repeat;
        background-size: 100% 12px;
        background-position: center bottom;
        padding-left: 5px;
        padding-right: 5px;
    }
    #outline .line-ttl #transfer {
        background-size: 100% 12px;
        margin-bottom: 25px;
    }
    #outline table {
        width: auto;
        margin-bottom: 40px;
    }
    #outline table tr th {
        width: 60px;
        padding: 5px 5px;
        font-size: 13px;
        line-height: 1.6em;
    }
    #outline table tr td {
        font-size: 14px;
        line-height: 1.6em;
        padding: 5px 15px;
        word-break: break-all;
    }
    #outline .box {
        width: calc(100% - 20px);
        margin-left: 0px;
        margin-right: 0px;
        font-size: 16px;
        padding: 20px 10px;
    }
    #outline .entry {
        padding-bottom: 15px;
    }
    #outline .entry .entryBtn {
        width: 220px;
    }
    #outline .entry p {
        font-size: 14px;
        line-height: 1.6em;
    }
    #outline .entry .entryBtn a {
        font-size: 18px;
        padding: 15px 5px;
    }
    #outline .entry .entryBtn a .label {
        font-size: 14px;
    }
    .i04 {
        left: -30px;
        bottom: -38px;
        width: 144px;
        height: auto;
    }
    .i03 {
        right: -6px;
        bottom: -10px;
        width: 47px;
        height: auto;
    }
    #purpose .purpose {
        flex-wrap: wrap;
        padding-bottom: 20px;
    }
    #purpose .thumb {
        width: 100%;
    }
    #purpose .thumb img {
        width: 60%;
    }
    #purpose .txt {
        padding-left: 0px;
        width: 100%;
        padding-bottom: 20px;
    }
    #purpose .txt h3 {}
    #purpose .txt h4 {
        font-size: 14px;
    }
    #purpose .txt h4,
    #purpose .txt p {
        font-size: 14px;
        line-height: 1.6em;
    }
    #purpose .illust_03 {
        display: none;
    }
    #purpose .purpose.ri:before,
    #purpose .purpose:before {
        display: none;
    }
    #contents .flag_01 {
        width: 110px;
        left: -40px;
    }
    #contents .flag_02 {
        width: 110px;
        right: -40px;
    }
    #contents .inner {
        min-height: 200px;
    }
    #contents .inner>p {
        font-size: 14px;
        line-height: 1.6em;
        padding-top: 40px;
        padding-bottom: 100px;
        padding-left: 20px;
        padding-right: 20px;
    }
    #contents .inner>p .big {
        font-size: 22px;
    }
    #contents .items {
        margin-bottom: 30px;
        max-width: 300px;
        margin-left: auto;
        margin-right: auto;
    }
    #contents .item {
        width: calc(50% - 20px);
        margin-left: 10px;
        margin-right: 10px;
    }
    #contents .thumb {
        width: 100%;
    }
    #contents .txt {
        width: 100%;
    }
    #contents .entryBtn {
        width: 220px;
    }
    #contents .entryBtn a {
        font-size: 18px;
        padding: 15px 5px;
    }
    #contents .entryBtn a .label {
        font-size: 14px;
    }
    #contents .illust_04 {
        width: 40px;
        left: -10px;
        bottom: -20px;
    }
    #contents .illust_05 {
        width: 70px;
        right: -30px;
        bottom: -20px;
    }
    #access {
        padding-top: 40px;
        padding-bottom: 40px;
    }
    #access .inner {
        padding: 30px 20px;
    }
    #access .line-ttl h3 {
        margin-bottom: 20px;
    }
    #map {
        height: 250px;
        margin-bottom: 20px;
    }
    #post-243,
    #post-2 {
        padding-top: 30px;
    }
    #post-243 .inner,
    #post-2 .inner {
        position: relative;
    }
    #post-243 .entry-content p,
    #post-2 .entry-content p {
        margin-bottom: 50px;
        text-align: left;
        font-size: 14px;
        line-height: 1.6em;
    }
    #post-243 h1,
    #post-2 h1 {
        display: inline-block;
        font-size: 20px;
        line-height: 1.6em;
        position: relative;
        padding-bottom: 20px;
        margin-bottom: 20px;
    }
    #post-243 h1:before,
    #post-2 h1:before {
        content: "";
        display: block;
        width: 45px;
        height: 5px;
        background-color: #29b401;
        position: absolute;
        left: calc(50% - 22px);
        bottom: 0px;
    }
    #mw_wp_form_mw-wp-form-7 {
        width: 100%;
    }
    #post-243 table,
    #post-2 table {
        margin-bottom: 30px;
        border: solid 1px #dee9e9;
        width: auto;
        box-sizing: border-box;
        display: block;
    }
    #post-243 table tbody,
    #post-243 table tr #post-2 table tbody,
    #post-2 table tr {
        display: block;
    }
    #post-243 table tr th,
    #post-2 table tr th {
        background-color: #29b401;
        color: #fff;
        padding: 5px 10px;
        font-size: 14px;
        line-height: 1.6em;
        border-bottom: solid 1px #fff;
        vertical-align: middle;
        box-sizing: border-box;
        display: block;
        width: 100%;
        text-align: left;
    }
    #post-243 table tr td,
    #post-2 table tr td {
        padding: 5px 5px;
        font-size: 14px;
        line-height: 1.6em;
        text-align: left;
        border-bottom: solid 1px #dee9e9;
        box-sizing: border-box;
        display: block;
        width: 100%;
    }
    #post-243 table tr td:last-child,
    #post-2 table tr td:last-child {
        border-bottom: none;
    }
    #post-243 table tr td input[type="text"].wide,
    #post-243 table tr td input[type="email"].wide,
    #post-2 table tr td input[type="text"].wide,
    #post-2 table tr td input[type="email"].wide {
        width: calc(100% - 10px);
    }
    #post-243 table tr td input.address,
    #post-2 table tr td input.address {
        margin-bottom: 10px;
    }
    #post-243 table tr td input[type="text"],
    #post-243 table tr td input[type="email"],
    #post-2 table tr td input[type="text"],
    #post-2 table tr td input[type="email"] {
        font-size: 18px;
        background-color: #efefef;
        border: none;
        padding: 5px;
    }
    button {
        font-size: 16px;
    }
    #archives .inner {
        padding-bottom: 60px;
    }
    #archives .inner dl {
        display: block;
        flex-wrap: nowrap;
        max-width: 500px;
        margin-left: auto;
        margin-right: auto;
    }
    #archives .inner dl dt {
        width: 100%;
        text-align: left;
        font-size: 14px;
    }
    #archives .inner dl dd {
        width: 100%;
        text-align: left;
        font-size: 14px;
    }
    .note {
        width: auto;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 40px;
    }
    .note ul li {
        text-align: left;
        font-size: 12px;
        line-height: 1.8em;
    }
    .note p {
        text-align: left;
    }
    .note p small {
        display: inline-block;
        font-size: 12px;
        line-height: 1.8em;
    }
    #outline .note {
        width: auto;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 40px;
    }
    #outline .note ul li {
        text-align: left;
        font-size: 12px;
        line-height: 1.8em;
    }
    #outline .note p {
        text-align: left;
    }
    #outline .note p small {
        display: inline-block;
        font-size: 12px;
        line-height: 1.8em;
    }
}

@media screen and (max-width:320px) {}

.schedule {
    padding-top: 40px;
    margin-bottom: 40px;
}

@media screen and (max-width:740px) {
    .schedule {
        padding-top: 20px;
        margin-bottom: 20px;
    }
    .schedule img {
        width: 100%;
    }
}

form table tr td {
    padding-top: 15px;
    padding-bottom: 15px;
}

form table tr td .mwform-zip-field {
    display: inline-block;
    margin-bottom: 15px;
}

form table tr td input[type="text"],
form table tr td input[type="email"] {
    padding: 5px;
    font-size: 14px;
    max-width: 100%;
}

form table tr td .rei {
    font-size: 13px;
}

#promo {
    margin-bottom: 30px;
}

@media screen and (max-width:740px) {
    #promo {
        margin-bottom: 10px;
    }
    #promo-video {
        width: 100%;
    }
}

.facebook i {
    color: #29487d;
    margin-right: 5px;
}