article.visual {
    width:100%;
}

article.visual video {
    width:100%;
    height:calc(100vh - 80px);
    object-fit:cover;
}


article.sec_1 {
    padding:150px 0 130px;
    text-align:center;
}

article.sec_1 h2 {
    font-size:50px;
    font-weight:700;
    color:#7EB443;
    margin-bottom:30px;
    word-break:keep-all;
}

article.sec_1 p.txt {
    font-size:24px;
    font-weight:500;
    color:#898989;
    line-height:170%;
    margin-bottom:90px;
}

article.sec_1 ol.carefor {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:316px;
}

article.sec_1 ol.carefor .icon {
    width:170px;
    height:170px;
    border-radius:50%;
    margin-bottom:15px;
    transition:all 0.2s ease;
}

article.sec_1 ol.carefor .caretxt {
    font-size:20px;
    color:#9fa0a0;
    font-weight:500;
    cursor:default;
}

article.sec_1 ol.carefor .round0 {
    background:#F3F3F3 url('/img/sec1_care0.svg') 50% 50% no-repeat;
    background-size:90px;
}

article.sec_1 ol.carefor .round1 {
    background:#F3F3F3 url('/img/sec1_care1.svg') 50% 50% no-repeat;
    background-size:88px;
}

article.sec_1 ol.carefor .round2 {
    background:#F3F3F3 url('/img/sec1_care2.svg') 50% 55% no-repeat;
    background-size:120px;
}

article.sec_1 ol.carefor li:hover .round0,
article.sec_1 ol.carefor li:active .round0,
article.sec_1 ol.carefor li:focus .round0 {
    background:#87C246 url('/img/sec1_care0_c.svg') 50% 50% no-repeat;
    background-size:95px;
}

article.sec_1 ol.carefor li:hover .round1,
article.sec_1 ol.carefor li:active .round1,
article.sec_1 ol.carefor li:focus .round1 {
    background:#B47E58 url('/img/sec1_care1_c.svg') 50% 50% no-repeat;
    background-size:94px;
}

article.sec_1 ol.carefor li:hover .round2,
article.sec_1 ol.carefor li:active .round2,
article.sec_1 ol.carefor li:focus .round2 {
    background:#D7BD8B url('/img/sec1_care2_c.svg') 50% 55% no-repeat;
    background-size:128px;
}

article.sec_2 {
    background-color:#F8F8F8;
    padding:72px 0;
}

article.sec_2 ol.about {
    display:flex;
    justify-content:center;
    gap:52px;
}

article.sec_2 ol.about li {
    overflow:visible;
}

article.sec_2 ol.about li .a {
    display:flex;
    justify-content:center;
    align-items:center;
    flex-direction:column;
    gap:5px;
    color:#fff;
    width:385px;
    height:505px;
    border-radius:30px;
    overflow:hidden;
    box-shadow:4px 4px 4px 0 rgba(0,0,0,0.3);
    transition:all 0.2s ease;
}

article.sec_2 ol.about li p.big {
    font-size:40px;
    font-weight:700;
    margin-bottom:10px;
}

article.sec_2 ol.about li a.small {
    font-weight:500;
    font-size:30px;
    color:#fff;
}

article.sec_2 ol.about li:first-of-type .a {
    background:url('/img/sec2_bg0.png') 50% 50% no-repeat;
    background-size:cover;
}

article.sec_2 ol.about li:nth-of-type(2) .a {
    background:url('/img/sec2_bg1.png') 50% 50% no-repeat;
    background-size:cover;
}

article.sec_2 ol.about li:nth-of-type(3) .a {
    background:url('/img/sec2_bg2.png') 50% 50% no-repeat;
    background-size:cover;
}

article.sec_2 ol.about li:hover .a,
article.sec_2 ol.about li:active .a,
article.sec_2 ol.about li:focus .a {
    transform:scale3d(1.1, 1.1, 1.1);
    transition:all 0.2s ease;
}

article.sec_3 {
    padding:136px 0;
}

article.sec_3 .wrap_title {
    margin-bottom:70px;
}

article.sec_3 .wrap_title h3 {
    font-size:50px;
    font-weight:700;
    margin-bottom:4px;
}

article.sec_3 .wrap_title p.txt {
    font-size:20px;
}

article.sec_3 .part_0 {
    margin-bottom:100px;
}

article.sec_3 .part_0 a.viewbtn {
    display:block;
    padding:0 52px 4px 12px;
    border-bottom:1px solid #6c6c6c;
    right:0;
    top:68px;
}

article.sec_3 .part_0 a.viewbtn::after {
    content:'';
    display:block;
    width:43px;
    height:1px;
    background-color:#6c6c6c;
    position:absolute;
    right:-3px;
    transform:rotate(37deg);
    bottom:12px;
}

article.sec_3 ol.news {
    display:flex;
    justify-content:center;
    gap:22px;
}

article.sec_3 ol.news a {
    display:block;
    width:405px;
    height:296px;
    border-radius:30px;
    overflow:hidden;
    box-shadow:5px 4px 6px rgba(0,0,0,0.3);
}

article.sec_3 ol.news a:hover,
article.sec_3 ol.news a:active,
article.sec_3 ol.news a:focus {
    transform:scale3d(1.1, 1.1, 1.1);
    transition:all 0.2s ease;
}

article.sec_3 ol.news a .info {
    padding:20px 36px;
    background-color:#fff;
}

article.sec_3 ol.news a .info p.sub {
    width:100%;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    font-size:18px;
    font-weight:500;
    margin-bottom:6px;
    letter-spacing:-0.5px;
    color:#222;
}

article.sec_3 ol.news a .info span.date {
    font-size:14px;
}

article.sec_3 ol.news a .img {
    height:206px;
}

article.sec_3 .part_1 a {
    display:grid;
    grid-template-columns:1fr 170px;
    align-items:center;
    justify-items:center;
    width:100%;
    height:130px;
    padding:0 50px;
    border-top:1px solid #898989;
}

article.sec_3 .part_1 a button {
    border:0;
    width:48px;
    height:48px;
    background:url('/img/sec3_btn.svg') 50% 50% no-repeat;
    background-size:cover;
}

article.sec_3 .part_1 a .content {
    width:100%;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

article.sec_3 .part_1 a h4 {
    font-size:30px;
    font-weight:500;
}

article.sec_3 .part_1 a:last-of-type {
    border-bottom:1px solid #898989;
}

@media all and (max-width:1329px) {
    article.sec_2 ol.about {
        gap:3vw;
    }

    article.sec_2 ol.about li .a {
        width:29vw;
        height:40vw;
    }

    article.sec_2 ol.about li p.big {
        font-size:3.5vw;
    }

    article.sec_2 ol.about li a.small {
        font-size:2.3vw;
    }
}

@media all and (max-width:1309px) {
    article.sec_3 ol.news {
        width:100%;
        gap:12px;
        justify-content:space-between;
    }

    article.sec_3 ol.news li {
        width:32%;
    }

    article.sec_3 ol.news a {
        width:100%;
        height:auto;
    }

    article.sec_3 ol.news a .img {
        width:100%;
        height:16vw;
    }
}

@media all and (max-width:1219px) {
    article.sec_1 ol.carefor {
        gap:10px;
        justify-content:space-between;
    }

    article.sec_3 .part_1 a {
        padding:0 30px;
    }
}

@media all and (max-width:1024px) {

    article.visual video {
        height:auto;
    }


    article.sec_1 {
        padding:120px 0 90px;
    }

    article.sec_1 p.txt {
        margin-bottom:70px;
    }

    article.sec_1 h2 {
        font-size:5vw;
    }

    article.sec_1 p.txt .br_m {
        display:block;
    }

    article.sec_1 p.txt {
        font-weight:400;
        font-size:2.3vw;
    }

    article.sec_1 ol.carefor .caretxt {
        font-size:17px;
    }

    article.sec_1 ol.carefor .icon {
        width:150px;
        height:150px;
    }

    article.sec_1 ol.carefor .round0 {
        background-size:85px;
    }

    article.sec_1 ol.carefor li:hover .round0, 
    article.sec_1 ol.carefor li:active .round0, 
    article.sec_1 ol.carefor li:focus .round0 {
        background-size:90px;
    }

    article.sec_1 ol.carefor .round1 {
        background-size:82px;
    }

    article.sec_1 ol.carefor li:hover .round1,
    article.sec_1 ol.carefor li:active .round1,
    article.sec_1 ol.carefor li:focus .round1 {
        background-size:91px;
    }

    article.sec_1 ol.carefor .round2 {
        background-size:110px;
    }

    article.sec_1 ol.carefor li:hover .round2,
    article.sec_1 ol.carefor li:active .round2,
    article.sec_1 ol.carefor li:focus .round2 {
        background-size:118px;
    }

    article.sec_3 ol.news a .info {
        padding:15px 28px;
    }

    article.sec_3 ol.news a .info p.sub {
        font-size:16px;
        margin-bottom:2px;
    }

    article.sec_3 ol.news a .info span.date {
        font-size:13px;
    }

    article.sec_3 {
        padding:90px 0;
    }

    article.sec_3 .wrap_title h3 {
        font-size:5vw;
    }

    article.sec_3 .wrap_title p.txt {
        font-size:2vw;
    }

    article.sec_3 .part_1 a {
        grid-template-columns: 1fr 60px;
    }
}

@media all and (max-width:768px) {
    article.sec_3 ol.news {
        flex-direction:column;
    }

    article.sec_3 ol.news li {
        width:100%;
    }

    article.sec_3 ol.news a:hover, 
    article.sec_3 ol.news a:active, 
    article.sec_3 ol.news a:focus {
        transform:none;
    }

    article.sec_3 ol.news a {
        box-shadow:0 4px 10px rgba(0,0,0,0.1);
    }

    article.sec_3 ol.news a .img {
        height:50vw;
    }

    article.sec_3 ol.news a .info {
        padding: 30px 36px;
    }

    article.sec_3 .part_0 a.viewbtn.pos_ab {
        position:relative;
        top:0;
        left:50%;
        transform:translateX(-50%);
    }

    article.sec_3 .part_0 a.viewbtn {
        display:inline-block;
        padding:0 10px;
        margin: 40px auto 0;
    }

    article.sec_3 .part_0 a.viewbtn::after {
        display:none;
    }

    article.sec_3 {
        padding:50px 0;
    }

    article.sec_3 .wrap_title {
        margin-bottom:4vw;
    }

    article.sec_3 .wrap_title h3 {
        font-size:6vw;
    }

    article.sec_3 .wrap_title p.txt {
        font-size:2.7vw;
    }

    article.sec_3 .part_1 a .content {
        flex-direction:column;
        align-items:start;
        gap:4px;
    }

    article.sec_3 .part_1 a h4 {
        font-size:4vw;
    }

    article.sec_3 .part_1 a p {
        font-size:2.3vw;
    }

    article.sec_3 .part_1 a {
        height:auto;
        padding:18px 20px;
    }

    article.sec_3 .part_1 a button {
        width:6vw;
        height:6vw;
        background-size:contain;
    }

    article.sec_3 .part_0 {
        margin-bottom:12vw;
    }
}

@media all and (max-width:560px) {

    article.sec_1 {
        padding:16vw 0 14vw;
    }

    article.sec_1 p.txt {
        margin-bottom:14vw;
    }

    article.sec_1 h2 {
        font-size:6.3vw;
        letter-spacing:-0.5px;
        font-weight:500;
    }

    article.sec_1 p.txt {
        font-size:4vw;
    }

    article.sec_1 ol.carefor .icon {
        width:28vw;
        height:28vw;
    }

    article.sec_1 ol.carefor .round0 {
        background-size:16vw;
    }

    article.sec_1 ol.carefor li:hover .round0, 
    article.sec_1 ol.carefor li:active .round0, 
    article.sec_1 ol.carefor li:focus .round0 {
        background-size:17vw;
    }

    article.sec_1 ol.carefor .round1 {
        background-size:15vw;
    }

    article.sec_1 ol.carefor li:hover .round1,
    article.sec_1 ol.carefor li:active .round1,
    article.sec_1 ol.carefor li:focus .round1 {
        background-size:16vw;
    }

    article.sec_1 ol.carefor .round2 {
        background-size:19vw;
    }

    article.sec_1 ol.carefor li:hover .round2,
    article.sec_1 ol.carefor li:active .round2,
    article.sec_1 ol.carefor li:focus .round2 {
        background-size:20vw;
    }

    article.sec_1 ol.carefor .caretxt {
        font-size:3vw;
    }

    article.sec_1 ol.carefor .icon {
        margin-bottom:1vw;
    }

    article.sec_2 {
        padding:30px 0;
    }

    article.sec_2 ol.about {
        flex-direction:column;
    }

    article.sec_2 ol.about li .a {
        width:100%;
        height:55vw;
        box-shadow:0 5px 4px rgba(0,0,0,0.2);
    }

    article.sec_2 ol.about li p.big {
        font-size:7vw;
    }

    article.sec_2 ol.about li a.small {
        font-size:5vw;
    }

    article.sec_2 ol.about li:hover .a,
    article.sec_2 ol.about li:active .a,
    article.sec_2 ol.about li:focus .a {
        transform:none;
    }

    article.sec_3 ol.news a .info {
        padding: 15px 28px;
    }

    article.sec_3 {
        padding:30px 0;
    }

    article.sec_3 .wrap_title p.txt {
        font-size:3.5vw;
    }

    article.sec_3 .part_1 a {
        padding:30px 0;
    }

    article.sec_3 .part_1 a button {
        width:7vw;
        height:7vw;
        background-size:contain;
    }

    article.sec_3 .part_1 a p {
        font-size:3.5vw;
        word-break:keep-all;
    }

    article.sec_3 .part_0 a.viewbtn {
        margin:24px auto 0;
    }
}