@charset "utf-8";

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

    .pop {
        margin: 20px auto 70px;
    }

    .lb-outerContainer {
        width: 100%!important;
        height: auto!important;
    }

    .lb-container img {
        width: 100%!important;
        height: auto!important;
    }

    .firstview {
        background: url(../images/index/index.jpg);
        height: 795px;
        background-size: 700px;
        margin-top: 0px;
        background-position: right 56% top 170px;
        background-repeat: no-repeat;
    }

    .firstview .text {
        position: relative;
        max-width: 375px;
    }

    .firstview .text p {
        width: 375px;
    }

    .firstview .text p img {
        position: absolute;
        top: 260px;
        left: 70px;
    }

    .firstview .text #kensyuu img {
        position: absolute;
        top: 350px;
        left: auto;
        right: 0;
        width: 200px;
        height: 200px;
    }

    .sec0 {
        background: url(../images/index/top_back.png);
        background-size: cover;
        margin-top: -290px;
        background-position: center;
        padding-top: 50px;
    }

    .sec0 .kensyuu {
        width: 90%;
        padding: 10px;
        border: 2px solid #9ACC6D;
        margin: 0 auto 30px;
        box-sizing: border-box;
        background: #fff;
    }

    .sec0 .recruit_banner {
        width: 92%;
        margin: 0 auto 30px;
        img {
            width: 92vw;
        }
    }

    .kidspace .img {
        width: 90%;
        margin: 0 auto;
    }

    .banner {
        width: 100%;
        margin: 20px auto 0;
        padding: 0 10px;
        box-sizing: border-box;
    }


    .sec0 .info {
        padding-top: 30px;
        display: flex;
        justify-content: center;
        flex-direction: column;
        align-items: center;
    }

    .sec0 .info .left p:nth-child(1) {
        margin-bottom: -5px;
        margin-left: 40px;
    }

    .sec0 .info .left .top {
        display: flex;
        align-items: center;
    }

    .sec0 .info .left .top p:nth-child(2) {
        font-size: 40px;
        margin-left: 15px;
    }


    .sec0 .info .left .bottom {
        border-top: 1px solid #3c250e;
        width: auto;
    }

    .sec0 .info .left .bottom p {
        margin-left: 18px;
        font-size: 20px;
        letter-spacing: 3px;
    }

    .sec0 .info .left .bottom p:nth-child(1) {
        padding-top: 10px;
    }

    .sec0 .info .right {
        width: auto;
        margin: 15px 20px 0;
    }
    .sec0 .info .right .top {
        text-align: center;
        margin-bottom: 10px;
    }

    .table {
        width: 100%;
        margin: 0 0 5px;
    }

    .tbody .ander {
        border-bottom: 1px dashed #3c250e;
    }

    .table .row {
        height: 33px;
    }

    .table .tbody {
        background: rgba(255,255,255,0.7);
    }

    .table .time {
        width: 130px;
        vertical-align: middle;
    }

    .thead .time {
        letter-spacing: 0.05em;
    }

    .table .youbi {
        vertical-align: middle;
    }

    .table .data {
        /* vertical-align: middle; */
        text-align: center;
    }

    .holiday {
        letter-spacing: 0.05em;
    }

    .holiday .space {
        padding: 0 0 0 1em;
    }

    .table .thead {
        background: #3c250e;
        color: #fff;
    }

    .sec0 .info .right .bottom {
        margin-left: 7px;
        font-size: 15px;
    }

    .blog {
        margin-top: 80px;
    }

    .blog .title {
        text-align: center;
        font-size: 24px;
    }

    .blog .contents p:nth-child(2) {
        text-align: center;
    }

    .blog .contents .illust {
        width: 90%;
        margin: 0 auto 120px;
        display: flex;
        justify-content: space-between;
        position: relative;
    }

    .blog .contents .illust p:nth-child(1) img {
        position: absolute;
        top: -85px;
        left: 0;
        width: 20%;
    }

    .blog .contents .illust p:nth-child(2) img {
        position: absolute;
        top: -80px;
        right: -5px;
        width: 25%;
    }

    .blog .content p:nth-child(1) {
        text-align: center;
    }

    .blog .content .boxs {
        display: flex;
        justify-content: center;
        margin: -65px auto 0px;
        padding-bottom: 50px;
        flex-wrap: wrap;
    }

    .blog .content .boxs .box {
        margin: 20px 10px 0;
        text-align: center;
    }

    .blog .content .boxs .box02 {
        margin: 20px 10px 0;
        text-align: center;
    }


    .bannerbox {
        width: 100%;
        margin: 0 auto;
        padding: 0 10px;
        box-sizing: border-box;
    }

    .sec01 {
        height: 350px;
        background: url(../images/index/consept_back.jpg) top -30px left;
        background-size: cover;
    }

    .sec01 .contents {
        background: url(../images/index/concept_in.png);
        height: 350px;
        background-position: right;
        background-repeat: no-repeat;
    }

    .sec01 .inner {
        width: 100%;
        margin: 0 auto;
        position: relative;
        max-width: 375px;
    }

    .sec01 .contents .box {
        width: 265px;
        position: absolute;
        right: 11%;
        top: 25px;
    }

    .sec01 .contents .box p:nth-child(1) {
        font-size: 25px;
    }

    .sec01 .contents .box .text {
        font-size: 20px;
        line-height: 2;
    }

    .size32 {
        font-size: 28px;
    }

    .colorgreen {
        color: #009e3c;
    }

    .coloryellow {
        color: #d29d13;
    }

    .sec02 {
        background: url(../images/index/top_back.png);
        background-size: cover;
        background-position: center;
        margin-top: -35px;
    }

    .sec02 .point01,.sec02 .point03 {
        background: url(../images/index/point01_back.png);
        background-repeat: no-repeat;
        background-position: right 0;
    }

    .sec02 .top {
        text-align: center;
        padding-top: 80px;
        font-size: 25px;
        letter-spacing: 3px;
    }

    .sec02 .top p:nth-child(3) {
        margin-top: -20px;
        margin-left: 35px;
    }

    .sec02 .top p:nth-child(3) img {
        width: 90%;
    }

    .sec02 .point01 .top .left {
        margin-top: 0;
    }

    .sec02 .point01 .top,.sec02 .point03 .top {
        display: flex;
        justify-content: center;
        flex-wrap: wrap-reverse;
    }

    .sec02 .point01 .bottom {
        margin-top: 30px;
    }

    .sec02 .point01 .top .right,.sec02 .point03 .top .right {
        width: 100%;
        margin: 50px 20px 0;
    }

    .sec02 .point01 .top .right .colorglay,.sec02 .point03 .top .right .pointyellow {
        font-size: 18px;
        text-align: left;
        font-weight: bold;
        margin: 30px 0 0;
        line-height: 1.7;
    }

    .sec02 .point01 .top .right .bottom ,.sec02 .point03 .top .right .bottom {
        font-size: 16px;
        text-align: left;
        margin: 20px 0;
        line-height: 2;
    }

    .sec02 .point01 .bottom .boxs{
        display: flex;
        justify-content: center;
        margin: -10px auto 0;
        flex-wrap: wrap;
    }

    .sec02 .point01 .bottom .boxs .box {
        position: relative;
        margin: 0 10px;
    }

    .sec02 .point01 .bottom .boxs .box p:nth-child(2) {
        position: absolute;
        top: 71px;
        left: 20px;
        line-height: 1.8;
        width: 260px;
        letter-spacing: 2px;
        font-size: 17px;
    }

    .green20 {
        font-size: 20px;
        color: #d29d13;
        letter-spacing: 4px;
    }

    .sec02 .point02 {
        background: url(../images/index/point02_back.png);
        background-repeat: no-repeat;
        background-position: left 0;
    }

    .sec02 .point02 .top {
        display: flex;
        justify-content: center;
        margin-top: 0px;
        padding-bottom: 0px;
        flex-wrap: wrap;
    }

    .sec02 .point02 .top .left {
        width: 100%;
        margin: 50px 40px 0;
    }

    .sec02 .point02 .top .left .pointgreen {
        font-size: 20px;
        text-align: left;
        font-weight: bold;
        margin: 20px 0;
        line-height: 1.7;
    }

    .sec02 .point02 .top .left .bottom {
        font-size: 16px;
        text-align: left;
        margin: 20px 0;
        line-height: 2;
    }

    .sec02 .point01 .top .left p ,.sec02 .point02 .top .right p ,.sec02 .point03 .top .left p {
        height: 351px;
    }

    .sec02 .point01 .top .left p img ,.sec02 .point02 .top .right p img ,.sec02 .point03 .top .left p img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .sec02 .point02 .top .right {
        margin-top: 0px;
    }

    .sec02 .point03 .top {
        padding-bottom: 50px;
    }

    .sec02 .bottom .inner {
        width: 100%;
        margin: 0 auto;
    }

    .sec02 .bottom .inner p:nth-child(1){
        margin: 0 0 15px 50px;
    }

    .sec02 .bottom .inner .boxs {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        width: 78%;
        padding: 0px;
        margin: 0px auto;
    }

    .sec02 .bottom .inner .box {
        width: 100%;
        padding-bottom: 30px;
    }

    .sec02 .bottom .inner .box .top {
        width: 100%;
        height: 238px;
        background: rgba(249,246,243,0.62);
        padding: 0;
    }

    .sec02 .bottom .inner .box p:nth-child(2) {
        font-size: 19px;
        font-weight: 700;
        margin: 15px 0;
    }

    .sec02 .bottom .inner .box p:nth-child(3) {
        font-size: 14px;
    }

    .sec02 .bottom .bottom_last {
        position: relative;
    }

    .sec02 .bottom .bottom_last .top {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        padding-top: 30px;
    }

    .sec02 .bottom .bottom_last .top p:nth-child(1) img {
        position: relative;
        right: 15px;
        top: -25px;
    }

    .sec02 .bottom .bottom_last .top p:nth-child(2) {
        width: 90%;
        border-bottom: 2px solid #3c250e;
        padding-bottom: 15px;
        letter-spacing: 0px;
    }

    .sec02 .bottom .bottom_last .top p:nth-child(3) img {
        position: absolute;
        top: 550px;
        width: 30%;
        right: 20px;
    }

    .sec02 .bottom .bottom_last .center {
        display: flex;
        flex-direction: column;
        margin-top: 60px;
    }

    .sec02 .bottom .bottom_last .bottom {
        display: flex;
        flex-wrap: wrap-reverse;
        margin-top: 60px;
        padding-bottom: 30px;
    }

    .sec02 .bottom .bottom_last .center .left ,.sec02 .bottom .bottom_last .bottom .right {
        width: 90%;
        height: 333px;
        /* background: rgba(249,246,243,0.62); */
        margin: 0 auto;
    }

    .sec02 .bottom .bottom_last .center .right ,.sec02 .bottom .bottom_last .bottom .left {
        width: 100%;
    }

    .sec02 .bottom .bottom_last .center .right .box {
        width: 330px;
        margin: 30px auto 0 25px;
    }

    .sec02 .bottom .bottom_last .center .right .box p:nth-child(1) ,.sec02 .bottom .bottom_last .bottom .left .box p:nth-child(1) {
        font-size: 20px;
        font-weight: 700;
        margin: 15px 0;
        line-height: 2;
    }

    .sec02 .bottom .bottom_last .bottom .left .box {
        width: 317px;
        margin: 40px auto 0 32px;
        position: relative;
    }

    .sec02 .bottom .bottom_last .bottom .left .box p:nth-child(3) img {
        position: absolute;
        top: -15px;
        right: -10px;
        width: 45%;
    }

    .sec03 .message {
        display: flex;
        justify-content: center;
        margin-top: 50px;
        align-items: unset;
        flex-wrap: wrap-reverse;
    }

    .sec03 .message .left {
        width: 81%;
        margin-top: 30px;
    }

    .sec03 .message .left p:nth-child(2) {
        margin-top: 30px;
        line-height: 1.7;
    }

    .sec03 .message .right {
        width: auto;
        text-align: center;
        border-bottom: 2px solid #3c250e;
        margin-left: 0px;
        padding-bottom: 8px;
    }

    .sec03 .message .right .top {
        padding: 0 20px;
        box-sizing: border-box;
    }

    .sec03 .message .right .bottom p:nth-child(1) {
        font-size: 18px;
    }

    .sec03 .message .right .bottom p:nth-child(2) {
        font-size: 35px;
    }

    .sec03 .message .right .bottom p:nth-child(3) {
        font-size: 15px;
        color: #00a63c;
    }

    .sec03 .treatment {
        margin-top: 40px;
        background: url(../images/index/all_back.jpg);
        padding: 40px 0 0;
    }

    .sec03 .treatment .contents {
        width: 100%;
        margin: 0 auto;
    }

    .sec03 .treatment .center {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        padding-bottom: 50px
    }

    .sec03 .treatment .center .box,.sec03 .treatment .center .box02 {
        position: relative;
        margin: 5px;
    }

    .sec03 .treatment .center .box p:nth-child(2) {
        position: absolute;
        top: 45px;
        left: 40px;
        font-size: 21px;
    }

    .sec03 .treatment .center .box02 p:nth-child(2) {
        position: absolute;
        top: 45px;
        left: 20px;
        font-size: 21px;
    }
    .sec03 .treatment .bottom {
        width: 100%;
        height: 222px;
        display: flex;
        justify-content: center;
        margin-top: 80px;
    }

    .sec03 .treatment .bottom p {
        width: 341px;
        height: 222px;
        background: #f6f6f6;
        border: 1px solid #d3d3d4;
    }

    #blog ul li {
        width: 170px;
        height: 227px;
        margin: 15px 5px;
    }

    .rss_l {
        text-align: center;
        height: 127px;
        overflow: auto;
    }

    .anzentaisakukasan {
        width: 100%;
        padding: 8vw 5.5vw;
        margin: 0 auto;
        border-radius: 0;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
      }
      .anzentaisakukasan .anzen_title {
        margin-bottom: 8vw;
        font-size: 4.8vw;
        text-align: center;
      }
      .anzentaisakukasan .anzen_item {
        position: relative;
        padding-left: 1.5em;
        font-size: 4vw;
      }
      .anzentaisakukasan .anzen_item:not(:last-of-type) {
        margin-bottom: 4vw;
      }

}