@charset "utf-8";

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* top
----------------------------------------------- */

.toppage {
    padding: 0 0 70px;
}

@media (max-width: 1024px) {
    .toppage {
        padding: 0 0 170px;
    }
}

.toppage .comcontact {
    margin-top: 0;
}

.topmain {
    background: url("../img/top/bg_topmain.png") 0 bottom no-repeat;
    background-size: cover;
    margin-bottom: 220px;
    position: relative;
}

.topmain .maininner {
    max-width: 1440px;
    margin: 0 auto;
    padding: 200px 120px 280px;
    display: flex;
    align-items: stretch;
    position: relative;
}

.topmain .mainscroll {
    position: absolute;
    left: 120px;
    top: calc(100% + 30px);
    z-index: 2;
}

.topmain .mainscroll a {
    display: flex;
    width: 100px;
    height: 100px;
    align-items: center;
    justify-content: center;
    background: #fff;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%;
    -webkit-box-shadow: 0px 10px 20px #3d40c61c;
    -moz-box-shadow: 0px 10px 20px #3d40c61c;
    -ms-box-shadow: 0px 10px 20px #3d40c61c;
    -o-box-shadow: 0px 10px 20px #3d40c61c;
    box-shadow: 0px 10px 20px #3d40c61c;
}

.topmain .mainscroll a span {
    background: url("../img/top/arrow_down.svg") center bottom no-repeat;
    padding-bottom: 25px;
    text-align: center;
    color: #3c40c6;
    font-weight: 700;
    font-size: 10px;
    line-height: 1.2
}

.topmain .maincont {
    flex-shrink: 0;
    flex: 1;
}

.topmain .mainhd {
    font-size: 49px;
    color: #fff;
    line-height: 1.5;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin-bottom: 30px;
}

.topmain .maintxt {
    color: #fff;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.6;
    margin-bottom: 50px;
}

.topmain .mainbtn {}

.topmain .mainbtn a {
    display: flex;
    width: 270px;
    height: 80px;
    background: #ffaa00;
    font-size: 16px;
    font-weight: 700;
    padding-right: 20px;
    align-items: center;
    justify-content: center;
    position: relative;
}

.topmain .mainbtn a:hover {
    -webkit-box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
    -moz-box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
    -ms-box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
    -o-box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
    box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
}

.topmain .mainbtn a:before {
    position: absolute;
    content: "";
    right: 25px;
    top: 50%;
    width: 7px;
    height: 7px;
    margin-top: -3px;
    border-bottom: 2px #000 solid;
    border-right: 2px #000 solid;
    transform: rotate(-45deg);
    z-index: 2;
}

.topmain .mainpic {
    flex: 1;
    position: relative;
}

.topmain .mainimg {
    position: absolute;
    left: -70px;
    top: 220px;
    width: 986px;
    z-index: 2;
}

@media (max-width: 1200px) {
    .topmain .maininner {
        padding: 200px 40px 280px;
    }

    .topmain .mainscroll {
        left: 40px;
    }
}

@media (max-width: 1024px) {
    .topmain {
        margin-bottom: 350px;
    }

    .topmain .maininner {
        display: block;
        padding: 170px 60px 0;
    }

    .topmain .mainscroll {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        top: calc(100% + 180px);
        z-index: 2;
    }

    .topmain .mainscroll a {
        width: 80px;
        height: 80px;
    }

    .topmain .maincont {
        flex-shrink: 0;
        max-width: 70%;
        margin: 0 auto;
        flex: none;
    }

    .topmain .mainhd {
        font-size: 41px;
        margin-bottom: 15px;
    }

    .topmain .maintxt {
        font-size: 18px;
    }

    .topmain .mainbtn {}

    .topmain .mainbtn a {
        width: 228px;
        height: 67px;
        margin: 0 auto;
        font-size: 15px;
    }

    .topmain .mainpic {
        flex: 1;
        flex-shrink: 0;
        position: relative;
        margin: -100px 0 0;
        transform: translateY(150px);
    }

    .topmain .mainimg {
        position: relative;
        left: auto;
        top: auto;
        width: auto;
    }
}

@media (max-width: 767px) {
    .topmain {
        margin-bottom: 230px;
    }

    .topmain .maininner {
        padding: 120px 40px 0;
    }

    .topmain .mainscroll {
        top: calc(100% + 80px);
    }

    .topmain .maincont {
        max-width: none;
    }

    .topmain .mainhd {
        font-size: 27px;
        margin-bottom: 20px;
    }

    .topmain .maintxt {
        font-size: 12px;
    }

    .topmain .mainpic {
        margin: -10px -20px 0;
        text-align: center;
        transform: translateY(50px);
    }
}

.topres {
    padding: 0 60px 100px;
}

.topres .topresin {
    max-width: 900px;
    margin: 0 auto;
    padding: 60px 40px 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent linear-gradient(80deg, #5a7ee0 0%, #3d40c6 100%) 0% 0% no-repeat;
}

.topres .topresimg {
    max-width: 272px;
    margin-right: 80px;
    flex-shrink: 0;
}

.topres .toprescont {
    color: #fff;
}

.topres .topreshd {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
    padding-bottom: 10px;
    margin-bottom: 30px;
    letter-spacing: 0.1em;
    position: relative;
}

.topres .topreshd:before {
    position: absolute;
    content: "";
    width: 50px;
    height: 1px;
    background: #fff;
    left: 0;
    bottom: 0;
    z-index: 2;
}

.topres .topresdet {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.1em;
    margin-bottom: 35px;
}

.topres .topresbtn a {
    display: flex;
    width: 230px;
    height: 50px;
    background: #ffaa00;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 700;
}

.topres .topresbtn a:hover {
    -webkit-box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
    -moz-box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
    -ms-box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
    -o-box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
    box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
}

@media (max-width: 1024px) {
    .topres .topresin {
        padding: 75px 50px;
    }

    .topres .topresimg {
        max-width: 218px;
        margin-right: 35px;
    }

    .topres .topresdet {
        font-size: 28px;
    }
}

@media (max-width: 767px) {
    .topres {
        padding: 0 20px 80px;
    }

    .topres .topresin {
        padding: 50px 20px 75px;
        display: block;
        text-align: center;
        background: transparent linear-gradient(52deg, #5a7ee0 0%, #3d40c6 100%) 0% 0% no-repeat;
    }

    .topres .topresimg {
        margin: 0 auto 60px;
    }

    .topres .topreshd {
        text-align: center;
    }

    .topres .topreshd:before {
        left: 50%;
        margin-left: -25px;
    }

    .topres .topresdet {
        font-size: 25px;
        margin-bottom: 30px;
        display: inline-block;
        text-align: left;
    }

    .topres .topresbtn a {
        margin: 0 auto;
    }
}

.topabout {
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.topabout .topabimg {
    width: 50%;
    height: 900px;
    background: url("../img/top/img_topabout.png") center center no-repeat;
    background-size: cover;
    position: relative;
}

.topabout .topabimg img {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 2;
}

.topabout .topabcont {
    width: 50%;
    display: flex;
    justify-content: flex-end;
    padding: 0 90px 0 40px;
}

.topabout .topabarea {}

.topabout .topabhd {
    color: #4043c7;
    line-height: 2;
    font-size: 24px;
    font-weight: 700;
    padding-left: 35px;
    border-left: 1px #4245c8 solid;
    letter-spacing: 0.1em;
    margin-bottom: 55px;
}

.topabout .topabbox {
    padding-left: 65px;
}

.topabout .topabdet {
    font-size: 30px;
    font-weight: 700;
    margin-bottom: 40px;
    line-height: 1.5;
}

.topabout .topabtxt {
    max-width: 450px;
}

.topabout .topabtxt li+li {
    margin-top: 30px;
}

.topabout .topabbtn {
    margin-top: 40px;
}

.topabout .topabbtn a {
    width: 175px;
    height: 47px;
    display: flex;
    background: #fff;
    border: 1px #3e41c5 solid;
    align-items: center;
    justify-content: center;
    color: #4043c7;
    font-weight: 700;
    font-size: 16px;
}

.topabout .topabbtn a:hover {
    color: #fff;
    background: #4043c7;
    -webkit-box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.3);
    -moz-box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.3);
    -ms-box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.3);
    -o-box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.3);
    box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.3);
}

@media (max-width: 1200px) {
    .topabout .topabcont {
        padding: 0 40px;
    }
}

@media (max-width: 1024px) {
    .topabout {
        display: block;
    }

    .topabout .topabimg {
        width: auto;
        height: 500px;
    }

    .topabout .topabimg img {
        bottom: auto;
        top: 0;
    }

    .topabout .topabcont {
        width: auto;
        display: block;
        padding: 100px 60px 120px;
    }

    .topabout .topabtxt {
        max-width: 510px;
    }
}

@media (max-width: 767px) {
    .topabout .topabcont {
        padding: 100px 20px;
    }

    .topabout .topabbox {
        padding-left: 0;
    }

    .topabout .topabdet {
        font-size: 25px;
        margin-bottom: 55px;
    }

    .topabout .topabtxt {
        max-width: none;
    }

    .topabout .topabtxt li+li {
        margin-top: 20px;
    }

    .topabout .topabbtn {
        margin-top: 60px;
    }

    .topabout .topabbtn a {
        margin: 0 auto;
    }
}

.topnews {
    padding: 160px 0 140px;
}

.topnews .topnewshd {
    text-align: center;
    font-size: 24px;
    color: #4043c7;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 20px;
    padding-bottom: 10px;
    letter-spacing: 0.1em;
    position: relative;
}

.topnews .topnewshd:before {
    position: absolute;
    content: "";
    background: #4245c8;
    width: 50px;
    height: 1px;
    left: 50%;
    bottom: 0;
    margin-left: -25px;
    z-index: 2;
}

.topnews .topnewsdet {
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: 50px;
}

.topnews .topnewsarea {
    position: relative;
}

.topnews .topnewsen {
    position: absolute;
    left: 0;
    width: 100%;
    top: 100%;
    text-align: center;
    z-index: 1;
}

.topnews .topnewslist {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
}

.topnews .topnewslist a {
    display: block;
    width: 32.5%;
    background: #fff;
    box-shadow: 0px 10px 30px #3d40c614;
}

.topnews .topnewsimg img {
    width: 100%;
}

.topnews .topnewscont {
    padding: 45px 30px 30px;
    position: relative;
}

.topnews .topnewsdate {
    font-size: 16px;
    margin-bottom: 20px;
    letter-spacing: 0;
}

.topnews .topnewstxt {
    font-size: 16px;
}

.topnews .topnewscata {
    position: absolute;
    left: 20px;
    top: 0;
    background: #3c40c6;
    padding: 5px 30px;
    font-size: 12px;
    font-weight: 700;
    color: #fff;
    transform: translateY(-50%);
    z-index: 2;
}

.topnews .topnewsbtn {
    margin-top: 90px;
    position: relative;
    z-index: 2;
}

.topnews .topnewsbtn a {
    display: flex;
    width: 175px;
    color: #fff;
    margin: 0 auto;
    height: 47px;
    font-size: 16px;
    font-weight: 700;
    align-items: center;
    justify-content: center;
    background: transparent linear-gradient(90deg, #5457d9 0%, #3d40c4 100%) 0% 0% no-repeat;
    box-shadow: 0px 10px 20px #3d40c64d;
}

.topnews .topnewsbtn a:hover {
    color: #4043c7;
    border: 1px #4043c7 solid;
    background: #fff;
}

@media (max-width: 1024px) {
    .topnews {
        padding: 160px 0 120px;
    }

    .topnews .topnewslist {
        display: block;
    }

    .topnews .topnewslist a {
        display: block;
        width: auto;
    }

    .topnews .topnewslist a+a {
        margin-top: 25px;
    }

    .topnews .topnewscont {
        padding: 40px 30px;
    }

    .topnews .topnewsbtn {
        margin-top: 80px;
    }
}

@media (max-width: 767px) {
    .topnews .topnewsarea {
        padding-top: 30px;
    }

    .topnews .topnewsdet {
        text-align: left;
        margin-bottom: 0;
    }

    .topnews .topnewscont {
        padding: 40px 30px 50px;
    }

    .topnews .topnewsen {
        width: calc(100% + 40px);
        left: -20px;
    }
}

.topproduct {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
}

.topproduct .topprolink {
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0091ff;
    font-size: 45px;
    font-weight: 700;
    width: 30%;
}

.topproduct .topprolink .topprolinkin {
    text-align: center;
}

.topproduct .topprolinkbtn {
    max-width: 220px;
    margin: 50px auto 0;
}

.topproduct .topprolinkbtn a {
    display: flex;
    width: 100%;
    height: 50px;
    font-size: 16px;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: transparent linear-gradient(90deg, #5457d9 0%, #3d40c4 100%) 0% 0% no-repeat;
    box-shadow: 0px 10px 20px #3d40c64d;
}

.topproduct .topprolinkbtn a:hover {
    color: #4043c7;
    border: 1px #4043c7 solid;
    background: #fff;
}

.topproduct .topprocont {
    width: 38%;
    padding: 90px 50px;
    display: flex;
    justify-content: flex-end;
    background: transparent linear-gradient(72deg, #5a7ee0 0%, #3d40c6 100%) 0% 0% no-repeat;
}

.topproduct .topproin {
    max-width: 330px;
    color: #fff;
}

.topproduct .topprohd {
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    padding-bottom: 10px;
    line-height: 1.5;
    position: relative;
    letter-spacing: 0.1em;
    margin-bottom: 40px;
}

.topproduct .topprohd:before {
    position: absolute;
    content: "";
    background: #fff;
    width: 50px;
    height: 1px;
    left: 0;
    bottom: 0;
    z-index: 2;
}

.topproduct .topprodet {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 15px;
}

.topproduct .topprotxt {}

.topproduct .topprobtn a {
    background: #fff;
    width: 230px;
    height: 47px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 700;
    color: #4043c7;
}

@media (max-width: 1200px) {
    .topproduct {
        justify-content: flex-start;
    }

    .topproduct .topprolink {
        font-size: 35px;
        width: 31.5%;
        margin-left: 1.5%;
        padding: 0 20px;
    }

    .topproduct .topprocont {
        width: 31.5%;
        padding: 90px 20px 90px 40px;
    }
}

@media (max-width: 1024px) {
    .topproduct {
        display: block;
        padding: 0 60px;
    }

    .topproduct .topprolink {
        display: flex;
        font-size: 45px;
        width: 100%;
        margin-top: 20px;
        height: 350px;
    }

    .topproduct .topprocont {
        width: auto;
        padding: 70px 60px;
        margin: 0 -60px;
        display: block;
    }

    .topproduct .topproin {
        max-width: none;
    }

    .topproduct .topprodet {
        margin-bottom: 25px;
    }

    .topproduct .topprobtn a {
        margin: 0 auto;
    }
}

@media (max-width: 767px) {
    .topproduct {
        padding: 0 20px;
    }

    .topproduct .topprolink {
        font-size: 30px;
        height: 300px;
    }

    .topproduct .topprolinkbtn {
        margin: 30px auto 0;
    }

    .topproduct .topprocont {
        padding: 50px 20px;
        margin: 0 -20px;
    }

    .topproduct .topprodet {
        margin-bottom: 40px;
    }
}

.toprecruit {
    margin-bottom: 310px;
    display: flex;
    align-items: flex-end;
}

.toprecruit .toprecimg {
    width: 70%;
    height: 700px;
    background: url("../img/top/img_toprecruit-2.png") center center no-repeat;
    background-size: cover;
}

.toprecruit .toprecarea {
    width: 860px;
    margin: 0 0 -100px -280px;
    position: relative;
}

.toprecruit .topreccont {
    width: 600px;
    height: 600px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent linear-gradient(68deg, #5a7ee0 0%, #3d40c6 100%) 0% 0% no-repeat;
    box-shadow: 0px 10px 30px #3d40c633;
}

.toprecruit .toprecen {
    position: absolute;
    bottom: 100%;
    left: 0;
    width: 100%;
    padding-right: 20px;
    z-index: 2;
}

.toprecruit .toprecinner {
    text-align: center;
    color: #fff;
}

.toprecruit .toprechd {
    font-size: 24px;
    line-height: 1.5;
    font-weight: 700;
    padding-bottom: 10px;
    margin-bottom: 40px;
    letter-spacing: 0.1em;
    position: relative;
}

.toprecruit .toprechd:before {
    position: absolute;
    content: "";
    background: #fff;
    width: 50px;
    height: 1px;
    left: 50%;
    margin-left: -25px;
    bottom: 0;
    z-index: 2;
}

.toprecruit .toprecdet {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 50px;
    letter-spacing: 0.1em;
}

.toprecruit .toprectxt {
    margin-bottom: 50px;
}

.toprecruit .toprecbtn a {
    width: 175px;
    height: 47px;
    display: flex;
    margin: 0 auto;
    align-items: center;
    justify-content: center;
    background: #fff;
    font-size: 16px;
    font-weight: 700;
    color: #4043c7;
    box-shadow: 0px 10px 20px #3d40c64d;
}

.toprecruit .toprecbtn a:hover {
    -webkit-box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
    -moz-box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
    -ms-box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
    -o-box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
    box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
}

@media (max-width: 1200px) {
    .toprecruit {
        margin-bottom: 250px;
    }

    .toprecruit .toprecarea {
        width: 640px;
    }

    .toprecruit .toprecen {
        padding-right: 0;
    }
}

@media (max-width: 1024px) {
    .toprecruit {
        margin-bottom: 200px;
        display: block;
    }

    .toprecruit .toprecimg {
        width: auto;
    }

    .toprecruit .toprecarea {
        width: auto;
        margin: -200px 0 0;
        position: relative;
    }

    .toprecruit .topreccont {
        width: 600px;
        margin: 0 auto;
    }

    .toprecruit .toprecen {
        text-align: center;
    }

    .toprecruit .toprecen img {
        max-width: 600px;
    }

    .toprecruit .toprectxt {
        margin-bottom: 50px;
    }
}

@media (max-width: 767px) {
    .toprecruit {
        margin-bottom: 100px;
    }

    .toprecruit .toprecarea {
        margin: -250px 0 0;
        padding: 0 20px;
    }

    .toprecruit .topreccont {
        width: auto;
        height: 500px;
    }

    .toprecruit .toprecen {
        text-align: center;
    }

    .toprecruit .toprecen img {
        max-width: 100%;
    }

    .toprecruit .toprecinner {
        text-align: center;
        color: #fff;
    }

    .toprecruit .toprectxt {
        margin-bottom: 40px;
    }
}

.topcolumn {
    padding: 130px 0 140px;
}

.topcolumn .topcolarea {
    position: relative;
}

.topcolumn .topcolen {
    position: absolute;
    left: 0;
    top: 100%;
    width: 100%;
    text-align: center;
    z-index: 1;
}

.topcolumn .topcolmess {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 60px;
}

.topcolumn .topcolinner {
    display: flex;
    align-items: center;
}

.topcolumn .topcolhd {
    font-size: 24px;
    color: #4043c7;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.1em;
    margin-right: 100px;
    position: relative;
}

.topcolumn .topcolhd:before {
    position: absolute;
    content: "";
    width: 50px;
    height: 1px;
    left: 0;
    bottom: -10px;
    background: #4245c8;
    z-index: 2;
}

.topcolumn .topcolhdtxt {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
}

.topcolumn .slick-list {
    overflow: visible;
}

.topcolumn .topcolnavi {
    width: 166px;
    height: 57px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: transparent linear-gradient(82deg, #5a7ee0 0%, #3d40c6 100%) 0% 0% no-repeat;
}

.topcolumn .topcolnavi .colnaviin {
    text-align: center;
    width: 110px;
    margin: 0 auto;
    color: #fff;
    font-size: 12px;
    font-weight: 500;
    position: relative;
}

.columnprev,
.columnnext {
    position: absolute;
    top: 50%;
    margin-top: -30px;
    padding: 20px 30px;
    outline: none;
    z-index: 2;
}

.columnprev span,
.columnnext span {
    display: inline-block;
    width: 9px;
    height: 9px;
    border-left: 2px #fff solid;
    border-bottom: 2px #fff solid;
}

.columnprev {
    left: -20px;
}

.columnnext {
    right: -20px;
}

.columnprev span {
    transform: rotate(45deg);
}

.columnnext span {
    transform: rotate(-135deg);
}

.topcolumn .topcolbtn {
    margin-top: 80px;
    position: relative;
    z-index: 2;
}

.topcolumn .topcolbtn a {
    width: 175px;
    height: 47px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    background: transparent linear-gradient(90deg, #5457d9 0%, #3d40c4 100%) 0% 0% no-repeat;
    box-shadow: 0px 10px 20px #3d40c64d;
}

.topcolumn .topcolbtn a:hover {
    color: #4043c7;
    border: 1px #4043c7 solid;
    background: #fff;
}

.columnslider {
    margin: 0 -30px;
}

.columnsliderin {}

.columnsliderin .sliderbox {
    background: #fff;
}

.columnsliderin .slick-slide {
    margin: 0 30px;
}

.columnsliderin .sliderbox a {
    display: block;
}

.columnsliderin .sliderboximg {
    position: relative;
    overflow: hidden;
    height: 350px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.columnsliderin .sliderboximg img {
    width: 100%;
}

.columnsliderin .sliderboxcont {
    padding: 40px 30px 30px;
}

.columnsliderin .sliderboxdate {
    font-size: 16px;
    letter-spacing: 0;
    margin-bottom: 15px;
}

.columnsliderin .sliderboxtxt {
    font-size: 18px;
    line-height: 1.5;
    font-weight: 500;
}

.columnsliderin .sliderboxcata {
    margin-top: 10px;
    font-size: 14px;
    color: #fff;
    line-height: 1.5;
    padding: 5px 20px;
    display: inline-block;
    background: #2c2e79;
}

@media (max-width: 1200px) {}

@media (max-width: 1024px) {
    .topcolumn .topcolmess {
        margin: 0 -60px 10px 0;
        display: block;
        overflow: hidden;
    }

    .topcolumn .topcolnavi {
        float: right;
        margin-top: 35px;
        width: 166px;
        height: 57px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        background: transparent linear-gradient(82deg, #5a7ee0 0%, #3d40c6 100%) 0% 0% no-repeat;
    }
}

@media (max-width: 767px) {
    .columnsliderin .sliderboximg {
        height: 250px;
    }

    .topcolumn .topcolmess {
        margin: 0 -20px 25px 0;
    }

    .topcolumn .topcolnavi {
        margin-top: 25px;
    }

    .topcolumn .topcolinner {
        display: block;
        padding-right: 20px;
    }

    .topcolumn .topcolhd {
        margin: 0 0 30px;
    }

    .columnsliderin .sliderboxcont {
        padding: 50px 30px 70px;
    }

    .columnsliderin .sliderboxdate {
        font-size: 14px;
    }

    .columnsliderin .sliderboxtxt {
        font-size: 16px;
    }

    .topcolumn .topcolbtn {
        margin-top: 40px;
    }

    .topcolumn .topcolen {
        left: -20px;
        width: calc(100% + 40px);
    }
}


/* form
----------------------------------------------- */

.forminner {
    max-width: 1480px;
    margin: 0 auto;
    padding: 0 40px;
}

@media (max-width: 1024px) {
    .forminner {
        padding: 0 60px;
    }
}

@media (max-width: 767px) {
    .forminner {
        padding: 0 20px;
    }
}

.teaserform {
    background: url("../img/common/bg_teaser.png") center center no-repeat;
    width: 100%;
    height: 300px;
    padding: 0 100px;
    display: flex;
    align-items: center;
    color: #fff;
    line-height: 1.5;
}

.teaserform .teaserin {
    display: flex;
    align-items: center;
}

.teaserform .teaseren {
    font-family: 'Mulish', sans-serif;
    font-weight: 600;
    font-size: 40px;
    margin-right: 40px;
    letter-spacing: 0.2rem;
}

.teaserform .teaserjp {
    border-left: 1px #fff7f7 solid;
    padding-left: 40px;
    font-weight: 500;
    font-size: 20px;
}

@media (max-width: 1024px) {
    .teaserform {
        padding: 0 45px;
    }
}

@media (max-width: 767px) {
    .teaserform {
        padding: 0 25px;
        height: 200px;
    }

    .teaserform .teaserin {
        display: block;
    }

    .teaserform .teaseren {
        margin: 0 0 20px;
        word-break: break-all;
    }
}

.formarea {
    max-width: 1050px;
    margin: 0 auto;
    padding: 100px 0 0;
}

.formarea .hdl {
    margin-bottom: 30px;
}

.formarea .desc {
    margin-bottom: 100px;
    font-size: 15px;
}

.formarea .formcont {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
}

.formarea .formstep li {
    display: flex;
    color: rgba(0, 0, 0, 0.5);
    font-size: 16px;
    align-items: center;
    position: relative;
}

.formarea .formstep li.arrow {
    width: 100%;
    height: 10px;
    position: relative;
}

.formarea .formstep li.arrow:before {
    position: absolute;
    content: "";
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    border-top: 10px solid #000;
    border-bottom: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    z-index: 2;
}

.formarea .formstep li+li {
    margin-top: 30px;
}

.formarea .formstep li span {
    margin-right: 25px;
}

.formarea .formstep li.current {
    color: rgba(0, 0, 0, 1);
}

.formarea .formstep li.current:before {
    position: absolute;
    content: "";
    left: 0;
    width: 100%;
    height: 1px;
    background: #000;
    bottom: -6px;
    z-index: 2;
}

@media (max-width: 1200px) {}

@media (max-width: 1024px) {
    .formarea {
        padding: 70px 0 0;
    }

    .formarea .hdl {
        margin-bottom: 70px;
    }

    .formarea .formcont {
        display: block;
    }

    .formarea .formstep {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 60px;
    }

    .formarea .formstep li {
        display: flex;
        justify-content: center;
        color: rgba(0, 0, 0, 0.5);
        font-size: 16px;
        align-items: center;
        position: relative;
    }

    .formarea .formstep li+li {
        margin-top: 0;
    }

    .formarea .formstep li.arrow {
        width: 10px;
        height: 12px;
        position: relative;
    }

    .formarea .formstep li.arrow:before {
        left: 0;
        top: 0;
        transform: translateX(0);
        border-left: 10px #000 solid;
        border-right: 0;
        border-top: 6px solid transparent;
        border-bottom: 6px solid transparent;
    }
}

@media (max-width: 767px) {
    .formarea .formstep {
        justify-content: center;
        margin-bottom: 35px;
    }

    .formarea .formstep li {
        display: block;
        text-align: center;
        margin: 0 10px;
    }

    .formarea .formstep li span {
        margin-right: 0;
        display: block;
    }
}

.formbox {
    width: 700px;
}

.error {
    color: #ff0000;
}

.formbox .formtab {
    width: 100%;
}

.formbox .formtab th {
    display: block;
    font-size: 16px;
    color: #1c1c1c;
    padding-bottom: 10px;
}

.formbox .formtab td {
    display: block;
    font-size: 16px;
    color: #1c1c1c;
    padding-bottom: 35px;
}

.formbox .must {
    color: #ff0000 !important;
}

.formbox input[type=text],
.formbox input[type=email],
.formbox input[type=tel],
.formbox input[type=number] {
    width: 100%;
    height: 70px;
    border: 1px #bababa solid;
    background: #fff;
    font-size: 16px;
    padding: 10px 25px;
    font-family: 'Noto Sans JP', sans-serif;
}

.formbox input::placeholder {
    color: #b4b4b4;
    font-weight: 400;
}

.formbox textarea {
    font-family: 'Noto Sans JP', sans-serif;
    width: 100%;
    height: 300px;
    border: 1px #bababa solid;
    background: #fff;
    font-size: 16px;
    padding: 20px 25px;
    outline: none;
}

.formbox textarea::placeholder {
    color: #b4b4b4;
}

.formbox .selectbox {
    position: relative;
}

.formbox .selectbox:before {
    position: absolute;
    content: "";
    right: 30px;
    top: 50%;
    width: 8px;
    height: 8px;
    border-bottom: 2px #000 solid;
    border-right: 2px #000 solid;
    transform: rotate(45deg);
    margin-top: -7px;
    z-index: 2;
}

.formbox select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    height: 70px;
    border: 1px #bababa solid;
    background: #fff;
    font-size: 16px;
    padding: 10px 40px 10px 25px;
    outline: none;
    font-family: 'Noto Sans JP', sans-serif;
}

.formbox select:selected {
    color: #b4b4b4;
    font-weight: 400;
}

.formbox .agreetxt {
    text-align: center;
    margin-top: 20px;
}

.formbox .agreetxt a {
    text-decoration: underline;
}

.formbox .agreetxt a:hover {
    text-decoration: none;
}

.formbox .agree {
    text-align: center;
    margin-top: 20px;
}

.formbox input[type=checkbox] {
    margin-right: 20px;
    width: 25px;
    height: 25px;
    background: #fff;
    border: 1px #bababa solid;
    vertical-align: middle;
    position: relative;
    cursor: pointer;
}

.formbox input[type=checkbox]:checked:before {
    position: absolute;
    content: "✔";
    left: 2px;
    top: 2px;
    font-size: 21px;
    line-height: 1;
    width: 25px;
    height: 25px;
    z-index: 2;
}

.formbox .formbtn {
    margin-top: 65px;
    display: flex;
    justify-content: center;
}

.formbox .formbtn li {
    margin: 0 15px;
}

.formbox .formbtn input[type=submit] {
    background: #3c40c6;
    color: #fff;
    cursor: pointer;
    display: flex;
    width: 250px;
    height: 70px;
    text-align: center;
    align-items: center;
    justify-content: center;
    font-weight: 700;
}

.formbox .formbtn input[type=submit]:hover {
    box-shadow: 0 10px 20px rgba(61, 64, 198, 0.3);
    transition: all 0.5s !important;
    -moz-transition: all 0.5s !important;
    -webkit-transition: all 0.5s !important;
}

.formbox .formbtn .wpcf7-previous {
    border: 1px #3c40c6 solid;
    background: #fff;
    color: #3c40c6;
    cursor: pointer;
    display: flex;
    width: 250px;
    height: 70px;
    text-align: center;
    align-items: center;
    justify-content: center;
}

.formbox input[type=date] {
    appearance: none;
    width: 100%;
    height: 70px;
    border: 1px #bababa solid;
    background: #fff;
    font-size: 16px;
    padding: 10px 25px 10px 25px;
    outline: none;
    font-family: 'Noto Sans JP', sans-serif;
}

@media (max-width: 1024px) {
    .formbox {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .formbox .formbtn {
        margin-top: 50px;
        display: block;
    }

    .formbox .formbtn li {
        margin: 0;
        display: flex;
        justify-content: center;
    }

    .formbox .formbtn li+li {
        margin-top: 20px;
    }
}

.formbox .formboxbg {}

.formbox.confirmbox .formboxbg {
    background: #fff;
    padding: 40px 80px 10px;
}

.formbox.confirmbox .formboxbg .formtab th {
    padding-bottom: 35px;
}

.formbox.confirmbox .formboxbg .formtab td {
    padding-bottom: 55px;
}

.formbox.confirmbox .agreetxt,
.formbox.confirmbox .agree {
    display: none;
}

@media (max-width: 767px) {
    .formbox.confirmbox .formboxbg {
        padding: 40px 20px 0;
    }
}

.formbox.confirmbox .selectbox:before {
    display: none;
}

.thanksbox {
    background: #fff;
    padding: 50px 20px;
    text-align: center;
}

.thanksbox .thanksin {
    line-height: 2.5;
}

@media (max-width: 767px) {
    .thanksbox .thanksin {
        line-height: 2;
    }
}


/* online
----------------------------------------------- */

.wishdate {
    display: flex;
    align-items: center;
}

.wishdate .wishtit {
    margin-right: 40px;
}

.wishdate .wishcont {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.wishdate .wishcont .selectbox {
    width: 48%;
}

.wishdate .wishcont .width-date {
    width: 100%;
}

@media (max-width: 767px) {
    .wishdate .wishtit {
        margin-right: 20px;
    }

    .wishdate .wishcont {
        display: block;
    }

    .wishdate .wishcont .selectbox {
        width: 100%;
    }

    .wishdate .wishcont .selectbox+.selectbox {
        margin-top: 10px;
    }

    .wishdate .wishcont .width-date {
        margin-bottom: 30px;
    }
}


/* download
----------------------------------------------- */

.downarea {
    max-width: 1200px;
    margin: 0 auto;
    padding: 100px 0 0;
}

.downarea .downtit {
    text-align: center;
    font-size: 24px;
    font-weight: 500;
    margin-bottom: 50px;
}

.downarea .downcont {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 30px;
}

.downarea .downcont li {
    background: #fff;
    width: 47%;
    justify-content: center;
    text-align: center;
    padding: 30px 20px 90px 20px;
    position: relative;
}

.downarea .downcontimg {
    text-align: center;
    margin-bottom: 10px;
}

.downarea .downcontimg2 {
    text-align: center;
    margin-top: 10px;
    margin-bottom: 30px;
}

.downarea .downcontext-list {
    width: 100%;
    border: 1px #bebebe solid;
    width: calc(100% - 30px * 2);
    margin: 0 auto;
    padding: 12px 22px;
    margin-bottom: 25px;
}

.downarea .downcontext-list li {
    margin: 0;
    padding: 0;
    width: 100%;
    text-align: left;
    padding-left: 35px;
    font-size: 15px;
    margin: 4px 0;
    background: url(../img/download/check_download.svg) 0 8px no-repeat;
}

.downarea .downcontimg img {
    /* max-width: 316px; */
    max-width: 460px;
    width: 460px;
}

.downarea .downcontdet {
    line-height: 1.4;
    font-weight: 700;
    color: #3c40c6;
    font-size: 22px;
    text-align: center;
    margin-bottom: 25px;
}

.downarea .downcontbtn {
    max-width: 200px;
    margin: 0 auto;
}

.downarea .downcontbtn.abs {
    position: absolute;
    bottom: 40px;
    left: calc((100% - 220px) / 2);
}

.downarea .downcontbtn a {
    display: flex;
    width: 100%;
    height: 50px;
    align-items: center;
    justify-content: center;
    background: #ffaa00;
    font-weight: 700;
}

.downarea .downcontbtn.abs a {
    width: 220px;
}

.downarea .downcontbtn a:hover {
    -webkit-box-shadow: 0 10px 20px rgba(61, 64, 198, 0.3);
    -moz-box-shadow: 0 10px 20px rgba(61, 64, 198, 0.3);
    -ms-box-shadow: 0 10px 20px rgba(61, 64, 198, 0.3);
    -o-box-shadow: 0 10px 20px rgba(61, 64, 198, 0.3);
    box-shadow: 0 10px 20px rgba(61, 64, 198, 0.3);
}

.downarea .downcontbtn a img {
    margin-left: 15px;
}

@media (max-width: 1024px) {
    .downarea .downcont {
        display: block;
        max-width: 520px;
        margin: 0 auto;
    }

    .downarea .downcont li {
        width: auto;
    }

    .downarea .downcont li+li {
        margin-top: 50px;
    }
}

@media (max-width: 767px) {
    .downarea {
        padding: 70px 0 0;
    }

    .downarea .downtit {
        text-align: left;
    }

    .downarea .downcontimg img {
        width: 100%;
    }

    .downarea .downcontext-list {
        width: 100%;
        border: 1px #bebebe solid;
        width: calc(100% - 0px * 2);
        margin: 0 auto;
        padding: 12px 22px;
        margin-bottom: 25px;
    }

    .downarea .downcontext-list li {
        margin: 0;
        padding: 0;
        width: 100%;
        text-align: left;
        padding-left: 35px;
        font-size: 15px;
        margin: 4px 0;
        background: url(../img/download/check_download.svg) 0 8px no-repeat;
        margin-top: 1px !important;
    }
}


/* download form
----------------------------------------------- */

.downform {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-direction: row-reverse;
}

.downform .dfcont {
    background: #fff;
    width: 465px;
    padding: 30px 40px 70px;
    margin-right: 20px;
}

.downform .dfcontimg {
    text-align: center;
    margin-bottom: 20px;
}

.downform .dfcontimg img {
    max-width: 316px;
}

.downform .dfcontdet {
    font-size: 20px;
    color: #3c40c6;
    font-weight: 700;
    text-align: center;
    margin-bottom: 30px;
}

.downform .dfcontcheck {
    border: 1px #bebebe solid;
    display: flex;
    justify-content: center;
    padding: 25px 10px;
}

.downform .dfcontcheck ul li {
    padding-left: 35px;
    background: url("../img/download/check_download.svg") 0 8px no-repeat;
}

.downform .dfcontcheck ul li+li {
    margin-top: 20px;
}

.downform .dfconttxt li {
    margin-top: 40px;
    line-height: 2;
}

.downform .formbox {
    width: 600px;
}

.downform .dftit {
    font-size: 24px;
    font-weight: 500;
    margin-bottom: 50px;
}

@media (max-width: 1024px) {
    .downform {
        display: block;
    }

    .downform .dfcont {
        width: auto;
        margin: 60px 0 0;
        padding: 30px 130px 70px;
    }

    .downform .formbox {
        width: auto;
    }
}

@media (max-width: 767px) {
    .downform .dfcont {
        padding: 30px 20px 70px;
    }

    .downform .dfcontimg img {
        max-width: 100%;
    }

    .downform .dfconttxt {
        margin-top: 40px;
    }

    .downform .dfconttxt li {
        margin-top: 0;
    }
}


/* company
----------------------------------------------- */

.teasercompany {
    background: url("../img/company/teaser_company.png") center center no-repeat;
    background-size: cover;
}

.about {
    padding: 0 0 100px;
}

.about .inner {
    display: flex;
    align-items: flex-start;
}

.about .hdl {
    margin-bottom: 50px;
}

.about .aboutbox {
    flex: 1;
}

.about .aboutboxdet {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 50px;
}

.about .aboutboxtxt {
    font-size: 16px;
}

.about .aboutlogo {
    background: #fff;
    width: 540px;
    flex-shrink: 0;
    padding: 90px 50px 50px;
    box-shadow: 0px 10px 20px #3d40c61c;
    margin-left: 60px;
}

.about .aboutlogoimg {
    text-align: center;
    margin-bottom: 70px;
}

.about .aboutlogotxt {
    font-size: 14px;
}

@media (max-width: 1024px) {
    .about .inner {
        display: block;
    }

    .about .aboutlogo {
        width: auto;
        max-width: 540px;
        margin: 50px auto 0;
    }
}

@media (max-width: 767px) {
    .about {
        padding: 0 0 50px;
    }

    .about .aboutlogo {
        padding: 90px 30px 60px;
    }
}

.compser {
    background: #fff;
    box-shadow: 0px 10px 20px #3d40c61c;
    display: flex;
    align-items: center;
}

.compser .hdl {
    margin-bottom: 50px;
}

.compser .compserimg {
    width: 50%;
    height: 659px;
    background: url("../img/company/service_company.png") center center no-repeat;
    background-size: cover;
}

.compser .compsercont {
    width: 50%;
    padding: 0 60px;
}

.compser .compserdet {
    font-size: 24px;
    line-height: 1.5;
    font-weight: 500;
    margin-bottom: 50px;
}

.compser .compsertxt {
    max-width: 534px;
    font-size: 16px;
}

@media (max-width: 1024px) {
    .compser {
        display: block;
        margin: 0 60px;
    }

    .compser .compserimg {
        width: auto;
        height: 630px;
        background: url("../img/company/service_company.png") center center no-repeat;
        ;
        background-size: cover;
    }

    .compser .compsercont {
        width: auto;
        padding: 75px 40px;
    }

    .compser .compsertxt {
        max-width: none;
    }
}

@media (max-width: 767px) {
    .compser {
        margin: 0 20px;
    }

    .compser .compserimg {
        height: 325px;
    }

    .compser .compsercont {
        padding: 55px 30px 75px;
    }
}

.compmess {
    background: #fff;
    box-shadow: 0px 10px 20px #3d40c61c;
    display: flex;
    align-items: center;
    margin-top: 100px;
}

.compmess .compmessimg {
    width: 50%;
    position: relative;
}

.compmess .messimgin {
    background: url("../img/company/message_company.png") center 0 no-repeat;
    background-size: cover;
    height: 630px;
}

.compmess .messimgcont {
    position: absolute;
    right: 75px;
    bottom: 50px;
    max-width: 75%;
    z-index: 2;
}

.compmess .messimgcont .hdl {
    color: #fff;
    margin-bottom: 25px;
}

.compmess .messimgcont .hdl:before {
    background: #fff;
}

.compmess .messimgtxt {
    color: #fff;
    font-size: 30px;
    line-height: 1.5;
    font-weight: 700;
    text-shadow: 0px 1px 5px #000000bf;
    letter-spacing: 0.2rem;
}

.compmess .compmessbox {
    width: 50%;
    padding: 0 60px;
}

.compmess .compmesscap {
    font-size: 16px;
    line-height: 1.5;
    font-weight: 500;
    padding-top: 45px;
    margin-bottom: 15px;
    position: relative;
}

.compmess .compmesscap:before {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    width: 50px;
    height: 1px;
    background: #3c40c6;
    z-index: 2;
}

.compmess .compmessname {
    font-size: 24px;
    line-height: 1.5;
    margin-bottom: 50px;
}

.compmess .compmessname span {
    font-size: 12px;
    display: block;
    font-weight: 500;
    color: #3c40c6;
}

.compmess .compmesstxt {
    max-width: 534px;
    font-size: 16px;
}

@media (max-width: 1024px) {
    .compmess {
        display: block;
        margin: 100px 60px 0;
    }

    .compmess .compmessimg {
        width: auto;
    }

    .compmess .messimgcont {
        right: 0;
        bottom: 40px;
        width: 100%;
        padding: 0 30px;
        max-width: 100%;
    }

    .compmess .compmessbox {
        width: auto;
        padding: 80px 40px;
    }

    .compmess .compmesstxt {
        max-width: 100%;
    }
}

@media (max-width: 767px) {
    .compmess {
        margin: 50px 20px 0;
    }

    .compmess .messimgin {
        height: 325px;
    }

    .compmess .messimgcont {
        position: relative;
        right: auto;
        bottom: auto;
        width: 100%;
        padding: 50px 30px 0;
    }

    .compmess .messimgcont .hdl {
        color: #3c40c6;
        margin-bottom: 20px;
    }

    .compmess .messimgcont .hdl:before {
        background: #3c40c6;
    }

    .compmess .messimgtxt {
        color: #080808;
        text-shadow: none;
    }

    .compmess .compmessbox {
        padding: 80px 30px 60px;
    }
}

.complink {
    max-width: 1480px;
    margin: 100px auto 0;
    padding: 0 40px;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
}

.complink li {
    width: 48%;
    display: flex;
    height: 350px;
    align-items: center;
    justify-content: center;
    background: transparent linear-gradient(78deg, #5a7ee0 0%, #3d40c6 100%) 0% 0% no-repeat;
    box-shadow: 0px 10px 30px #3d40c633;
}

.complink .complinkin {
    text-align: center;
    color: #fff;
}

.complink .complinktit {
    font-size: 24px;
    line-height: 1.5;
    margin-bottom: 55px;
    letter-spacing: 0.2rem;
    position: relative;
}

.complink .complinktit:before {
    position: absolute;
    content: "";
    background: #fff;
    width: 50px;
    height: 1px;
    left: 50%;
    margin-left: -25px;
    bottom: -10px;
    z-index: 2;
}

.complink .complinkdet {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 40px;
}

.complink .complinkbtn {
    max-width: 175px;
    margin: 0 auto;
}

.complink .complinkbtn a {
    display: flex;
    width: 100%;
    height: 47px;
    align-items: center;
    justify-content: center;
    color: #4043c7;
    background: #fff;
    font-weight: 700;
    box-shadow: 0px 10px 20px #3d40c64d;
}

.complink .complinkbtn a:hover {
    -webkit-box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
    -moz-box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
    -ms-box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
    -o-box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
    box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
}

@media (max-width: 1024px) {
    .complink {
        margin: 50px auto 0;
        padding: 0 110px;
        display: block;
    }

    .complink li {
        width: auto;
    }

    .complink li+li {
        margin-top: 30px;
    }
}

@media (max-width: 767px) {
    .complink {
        padding: 0 20px;
    }
}

.compout {
    margin-top: 100px;
}

.compoutin {
    max-width: 800px;
    margin: 0 auto;
}

.compout .compouthd {
    text-align: center;
    font-size: 24px;
    line-height: 1.5;
    font-weight: 700;
    letter-spacing: 0.2rem;
    color: #4043c7;
    margin-bottom: 45px;
    position: relative;
}

.compout .compouthd:before {
    position: absolute;
    content: "";
    background: #4043c7;
    width: 50px;
    height: 1px;
    left: 50%;
    margin-left: -25px;
    bottom: -10px;
    z-index: 2;
}

.compout .compoutdet {
    text-align: center;
    line-height: 1.5;
    font-size: 24px;
    font-weight: 500;
    margin-bottom: 50px;
}

.compout .compoutlist {
    border-top: 1px #bebebe solid;
}

.compout .compoutlist li {
    border-bottom: 1px #bebebe solid;
    padding: 35px 40px;
    display: flex;
    align-items: center;
}

.compout .outlinein {
    width: 50%;
    font-size: 16px;
    line-height: 1.5;
}

@media (max-width: 767px) {
    .compout .compoutlist li {
        padding: 30px 20px;
        display: block;
        text-align: center;
    }

    .compout .outlinein {
        width: auto;
    }

    .compout .outlinein+.outlinein {
        margin-top: 10px;
    }
}

.access {
    margin-top: 160px;
}

.access .hdl {
    margin-bottom: 60px;
}

.access .accessimg {
    background: url("../img/company/access_company.png") center center no-repeat;
    background-size: cover;
    height: 600px;
    width: 100%;
    position: relative;
}

.access .accessin {
    max-width: 1400px;
    margin: -100px auto 0;
    padding: 80px 80px 70px;
    box-shadow: 0px 10px 20px #3d40c61c;
    background: #fff;
    position: relative;
    z-index: 2;
}

.access .accesscont {
    max-width: 1010px;
    margin: 0 auto;
}

.access .accessmap {
    margin-bottom: 40px;
}

.access .accessmap iframe {
    width: 100%;
    height: 520px;
}

.access .accessbox {
    display: flex;
    justify-content: space-between;
    font-size: 16px;
}

.access .accessaddr {
    max-width: 40%;
}

.access .accessaddr .addrcode {
    line-height: 1.5;
    margin-bottom: 15px;
}

.access .accessaddr .addrtxt {
    line-height: 1.8;
    margin-bottom: 25px;
}

.access .accessaddr .addrbtn {
    max-width: 200px;
}

.access .accessaddr .addrbtn a {
    display: flex;
    letter-spacing: 0;
    justify-content: space-between;
    height: 47px;
    border: 1px #3e41c5 solid;
    align-items: center;
    padding: 0 20px 0 40px;
    font-size: 16px;
    color: #4043c7;
    font-weight: 700;
    background: #fff;
    background-image: url("../img/common/arrow_right.svg");
    background-position: right 20px center;
    background-repeat: no-repeat;
}

.access .accessaddr .addrbtn a img {
    display: none;
}

.access .accessaddr .addrbtn a:hover {
    background: #4043c7;
    color: #fff;
    background-image: url("../img/common/arrow_right_on.svg");
    background-position: right 20px center;
    background-repeat: no-repeat;
    -webkit-box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.3);
    -moz-box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.3);
    -ms-box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.3);
    -o-box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.3);
    box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.3);
}

.access .tous {
    max-width: 55%;
}

.access .toustit {
    margin-bottom: 30px;
    position: relative;
}

.access .toustit:before {
    position: absolute;
    content: "";
    width: 50px;
    height: 1px;
    left: 0;
    bottom: -10px;
    background: #000;
    z-index: 2;
}

.access .toustxt {}

@media (max-width: 1200px) {
    .access .accessin {
        margin: -100px 40px 0;
    }
}

@media (max-width: 1024px) {
    .access {
        margin-top: 100px;
    }

    .access .accessin {
        margin: -150px 60px 0;
        padding: 80px 50px 70px;
    }

    .access .accessbox {
        display: block;
    }

    .access .accessaddr {
        max-width: 100%;
    }

    .access .tous {
        max-width: 100%;
        margin-top: 25px;
    }
}

@media (max-width: 767px) {
    .access {
        margin: 100px 20px 0;
    }

    .access .accessin {
        margin: 0;
        padding: 80px 40px 50px;
    }

    .access .accessimg {
        height: 260px;
    }

    .access .accessmap iframe {
        height: 200px;
    }
}

.comppro {
    margin-top: 100px;
}


/* message
----------------------------------------------- */

.messagein .hdl {
    margin-bottom: 35px;
}

.messagein .messagedet {
    font-size: 24px;
    font-weight: 500;
    margin-bottom: 50px;
}

.messagein .messageimg {
    text-align: center;
    margin-bottom: 60px;
}

.messagein .messagetit {
    font-size: 30px;
    font-weight: 700;
    color: #4043c7;
    line-height: 1.5;
    margin-bottom: 60px;
    border-left: 1px #3c40c6 solid;
    padding-left: 50px;
    letter-spacing: 0.2rem;
}

.messagein .messagetxt {
    margin-bottom: 100px;
}

.messagein .messagetxt li {
    font-size: 16px;
}

.messagein .messagetxt li+li {
    margin-top: 20px;
}

.messagein .messageback {}

.messagein .messageback a {
    width: 155px;
    height: 47px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    border: 1px #3e41c5 solid;
    align-items: center;
    padding: 0 10px 0 30px;
    color: #4043c7;
    background: url("../img/common/arrow_left.svg") 18px center no-repeat #fff;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
}


/* release
----------------------------------------------- */

.teaserrele {
    background: url("../img/release/teaser_release.png") center center no-repeat;
    background-size: cover;
}

@media (max-width: 1024px) {
    .teaserrele {
        background: url("../img/release/teaser_release.png") 65% center no-repeat;
        background-size: cover;
    }
}

@media (max-width: 576px) {
    .teaserrele {
        background: url("../img/release/teaser_release.png") 65% center no-repeat;
        background-size: cover;
        background-position: -580px;
    }
}


.relelist {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin-top: -30px;
}

.relelist a {
    display: block;
    background: #fff;
    width: 32.5%;
    margin: 30px 1.25% 0 0;
    box-shadow: 0px 10px 30px #3d40c614;
}

.relelist a:nth-child(3n) {
    margin-right: 0;
}

.relelist .relelistimg {
    position: relative;
    overflow: hidden;
    height: 250px;
    width: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.relelist .relelistimg img {
    width: 100%;
}

.relelist .relelistcont {
    padding: 45px 30px 30px;
    font-size: 16px;
    position: relative;
}

.relelist .relelistcata {
    position: absolute;
    top: 0;
    left: 30px;
    transform: translateY(-50%);
    background: #3c40c6;
    font-size: 12px;
    font-weight: 700;
    color: #fff;
    padding: 8px 30px;
    line-height: 1.5;
    z-index: 2;
}

.relelist .relelistdate {
    line-height: 1.5;
    margin-bottom: 20px;
    font-family: 'Roboto', sans-serif;
}

.relelist .relelisttxt {
    font-weight: 500;
}

@media (max-width: 1200px) {}

@media (max-width: 1024px) {
    .relelist a {
        width: 48%;
        margin: 30px 4% 0 0;
    }

    .relelist a:nth-child(3n) {
        margin-right: auto;
    }

    .relelist a:nth-child(2n) {
        margin-right: 0;
    }
}

@media (max-width: 767px) {
    .relelist {
        display: block;
    }

    .relelist a {
        width: auto;
        margin: 30px 0 0;
    }
}


/* release detail
----------------------------------------------- */

.redetmain {
    margin-bottom: 50px;
}

.redetmain img {
    width: 100%;
}

.redetcont+.redetcont {
    margin-top: 50px;
}

.redettit {
    margin-bottom: 20px;
    border-bottom: 1px #bebebe solid;
    padding-bottom: 25px;
}

.redettit .redettitin {
    border-left: 5px #3c40c6 solid;
    padding-left: 20px;
    font-size: 18px;
    line-height: 1.6;
}

.redetlist li {
    font-size: 16px;
}

.redetlist li+li {
    margin-top: 20px;
}

.redetcase {
    margin-top: 100px;
}

@media (max-width: 767px) {
    .redetcase {
        margin-top: 80px;
    }
}


/* case
----------------------------------------------- */

.teasercase {
    background: url("../img/case/teaser_case.png") center center no-repeat;
    background-size: cover;
    height: 150px !important;
}

.teasercase .teasercont {
    top: 50%;
    bottom: revert !important;
    translate: 0 -50%;
}

@media (max-width: 1024px) {
    .teasercase {
        background: url("../img/case/teaser_case_ts.png") center center no-repeat;
        background-size: cover;
    }
}
.caselist {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin-top: -60px;
}

.caselist a {
    display: block;
    width: 32%;
    margin: 60px 2% 0 0;
}

.caselist a:nth-child(3n) {
    margin-right: 0;
}

.caselist .caselistimg {
    position: relative;
    overflow: hidden;
    height: 270px;
    width: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.caselist .caselistimg img {
    width: 100%;
}

.caselist .caselisttit {
    margin-top: 10px;
    font-size: 16px;
    font-weight: 500;
}

.caselist .caselistcap {
    margin-top: 25px;
    font-size: 14px;
    line-height: 1.5;
}

.caselist .caselistcata {
    display: flex;
    flex-wrap: wrap;
}

.caselist .caselistcata li {
    background: #3c40c6;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: 500;
    color: #fff;
    margin: 15px 15px 0 0;
}

@media (max-width: 1024px) {
    .catalist.casecata li {
        padding: 0 10px;
    }
    .caselist a {
        width: 48%;
        margin: 60px 4% 0 0;
    }
    .caselist a:nth-child(3n) {
        margin-right: auto;
    }
    .caselist a:nth-child(2n) {
        margin-right: 0;
    }
}

@media (max-width: 767px) {
    .catalist.casecata {
        display: block;
    }
    .catalist.casecata li {
        text-align: center;
        margin-right: 0;
    }
    .caselist {
        display: block;
        margin-top: -30px;
    }
    .caselist a {
        display: block;
        width: auto;
        margin: 30px 0 0;
    }
    .caselist a:nth-child(3n) {
        margin-right: 0;
    }
    .caselist a:nth-child(2n) {
        margin-right: 0;
    }
}

/* 202412 導入事例改修
----------------------------------------------- */
.case-section-title {
    font-size: 24px;
    font-weight: 500;
    margin-bottom: 30px;
}

.voice {
    margin-bottom: 100px;
}

@media (min-width: 768px) {
    .voice-cards {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
    }
}

.voice-card-img {
    aspect-ratio: 3 / 2;
    margin-bottom: 10px;
}

.voice-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.voice-card-title {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: 15px;
}

.voice-card-title::after {
    display: inline-block;
    content: "";
    width: 15px;
    aspect-ratio: 1;
    mask-image: url(../img/common/blank.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
    mask-position: center;
    background-color: #3c40c6;
    margin-left: 5px;
}

.voice-card-company {
    font-size: 14px;
}

.voice .swiper-button-prev,
.voice .swiper-button-next {
    display: none;
}

.case-category {
    margin-bottom: 40px;
}

.case-category-title {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    border-left: 1px solid #3c40c6;
    padding-left: 10px;
    margin-bottom: 15px;
}

.case-category-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.case-category-list:first-of-type {
    margin-bottom: 30px;
}

.case-category-link {
    display: inline-block;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
    background-color: #fff;
    border: 1px solid #b6b6b6;
    border-radius: 100vmax;
    padding: 4px 30px;
}

.case-category-link:hover {
    color: #fff !important;
    background-color: #3c40c6;
    border: 1px solid #3c40c6;
}

.case-category-link.-current {
    color: #fff;
    background-color: #3c40c6;
    border: 1px solid #3c40c6;
}

.case-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px 24px;
    margin-bottom: 40px;
}

.case-card-img {
    aspect-ratio: 3 / 2;
    background-color: #fff;
    margin-bottom: 10px;
}

.case-card-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.case-card-company {
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: 10px;
}

.case-card-category {
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 15px;
}

.case-card-category-item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 15px;
}

.case-card-category-item:not(:last-child) {
    margin-bottom: 5px;
}

.case-card-category-term {
    color: #8a8a8a;
}

.case-card-link {
    font-size: 14px;
    font-weight: 500;
    color: #3c40c6;
    text-decoration: underline;
}

.case-card-link::after {
    display: inline-block;
    content: "";
    width: 12px;
    aspect-ratio: 1;
    mask-image: url(../img/common/blank.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
    mask-position: center;
    background-color: currentColor;
    margin-left: 5px;
}

.case-card-link:hover {
    text-decoration: none;
}

.case-note {
    font-size: 12px;
    text-align: right;
}

@media (max-width: 767px) {
    .voice-slider {
        position: relative;
    }

    .voice-card {
        width: 280px;
        opacity: .5;
    }

    .voice-card.swiper-slide-active {
        opacity: 1;
    }

    .voice-card-title {
        font-size: 16px;
    }

    .voice .swiper-button-prev,
    .voice .swiper-button-next {
        display: revert;
        width: 46px;
        height: 46px;
        top: 94px;
        z-index: 1;
    }

    .voice .swiper-button-prev {
        left: calc(50% - 180px);
    }

    .voice .swiper-button-next {
        right: calc(50% - 180px);
    }

    .voice .swiper-button-prev::after,
    .voice .swiper-button-next::after {
        background: url(../img/common/icon_arrow2.svg);
        background-repeat: no-repeat;
        background-size: contain;
        content: "";
        display: block;
        width: 46px;
        height: 46px;
    }

    .voice .swiper-button-next::after {
        rotate: 180deg;
    }

    .case-category-link {
        font-size: 12px;
        padding-inline: 20px;
    }

    .case-cards {
        grid-template-columns: 1fr;
        row-gap: 32px;
    }

    .case-card-company {
        font-size: 16px;
    }
}

/* case detail
----------------------------------------------- */

.cadetmain {
    margin-bottom: 50px;
}

.cadetmain img {
    width: 100%;
}

.cadetin+.cadetin {
    margin-top: 80px;
}

.cadettxt li {
    font-size: 16px;
}

.cadettxt li+li {
    margin-top: 25px;
}

.cadetmess {
    margin-bottom: 80px;
    border-left: 1px #3c40c6 solid;
    padding-left: 50px;
}

.cadetmess .messcont {
    font-size: 30px;
    font-weight: 700;
    color: #4043c7;
    line-height: 1.5;
    margin-bottom: 20px;
}

.cadetmess .messcompany {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 10px;
    line-height: 1.5;
}

.cadetmess .messname {
    font-size: 14px;
    line-height: 1.5;
}

.cadethdm {
    padding-left: 60px;
    line-height: 1.2;
    font-size: 24px;
    font-weight: 700;
    color: #3c40c6;
    margin-bottom: 30px;
    position: relative;
}

.cadethdm:before {
    position: absolute;
    content: "";
    background: #3c40c6;
    width: 30px;
    height: 2px;
    left: 0;
    top: 14px;
    z-index: 2;
}

.cadethds {
    font-size: 20px;
    line-height: 1.5;
    font-weight: 700;
    margin-bottom: 25px;
}

.cadetbox+.cadetbox {
    margin-top: 50px;
}

.cadettwocol {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.cadettwocol li {
    width: 48.5%;
}

.cadetintro {
    border: 1px #bfbfbf solid;
    background: #fff;
    padding: 45px;
    font-size: 16px;
    margin-top: 80px;
}

.cadetintro a {
    color: #000;
}

.cadetintro .introtit {
    margin-bottom: 20px;
}

.cadetintro .introlist li {
    padding: 5px 0;
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    line-height: 1.2;
}

.cadetintro .introth {
    width: 165px;
}

.cadetintro .introtd {
    border-left: 1px #000 solid;
    flex: 1;
    padding-left: 40px;
}

.cadetbtn {
    margin-top: 120px;
    display: flex;
    justify-content: center;
    align-items: stretch;
}

.cadetbtn li {
    margin: 0 10px;
}

.cadetbtn a {
    display: flex;
    background: #fff;
    height: 47px;
    padding: 0 15px;
    line-height: 1.5;
    font-size: 16px;
    color: #4043c7;
    align-items: center;
    font-weight: 700;
    border: 1px #3e41c5 solid;
}

.cadetbtn a img {
    margin-left: 15px;
}

@media (max-width: 767px) {
    .cadettwocol {
        display: block;
    }

    .cadettwocol li {
        width: auto;
    }

    .cadettwocol li+li {
        margin-top: 20px;
    }

    .cadetintro .introlist li {
        display: block;
        padding: 8px 0;
        line-height: 1.5;
    }

    .cadetintro .introth {
        width: auto;
        margin-bottom: 10px;
    }

    .cadetintro .introtd {
        border-left: none;
        padding-left: 0;
    }

    .cadetbtn {
        margin-top: 100px;
        display: block;
    }

    .cadetbtn li {
        margin: 0;
        text-align: center;
    }

    .cadetbtn li+li {
        margin-top: 25px;
    }

    .cadetbtn a {
        display: inline-block;
        padding: 10px 15px;
    }

    .cadetbtn a img {
        margin-left: 20px;
        font-size: 0;
        display: inline-block;
        vertical-align: middle;
    }
}


/* column-seminar
----------------------------------------------- */

.teasercose {
    background: url("../img/column-seminar/teaser_cose.png") center center no-repeat;
    background-size: cover;
}

@media (max-width: 1024px) {
    .teasercose {
        background: url("../img/column-seminar/teaser_cose.png") center center no-repeat;
        background-size: cover;
    }
}

.cose .detailcata {
    margin-bottom: 70px;
}

.cosepick {
    background: #fff;
    margin: 0 -100px;
    box-shadow: 0px 10px 20px #3d40c614;
    padding: 50px 100px;
}

.cosepick .picktit {
    padding-left: 30px;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 600;
    margin-bottom: 45px;
    color: #4043c7;
    position: relative;
}

.cosepick .picktit:before {
    position: absolute;
    content: "";
    width: 6px;
    height: 6px;
    border-bottom: 2px #3c40c6 solid;
    border-right: 2px #3c40c6 solid;
    left: 0;
    top: 5px;
    transform: rotate(-45deg);
    z-index: 2;
}

.cosepick .picklist {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
}

.cosepick .picklist a {
    display: block;
    width: 32%;
    margin-right: 2%;
}

.cosepick .picklist a:nth-child(3n) {
    margin-right: 0;
}

.cosepick .picklisttit {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    color: #3c40c6;
    font-weight: 500;
    margin-bottom: 15px;
}

.cosepick .picktitnum {
    font-size: 14px;
    padding-right: 20px;
    margin-right: 20px;
    line-height: 1.5;
    border-right: 1px #3c40c6 solid;
}

.cosepick .picktittxt {
    line-height: 1.5;
    font-size: 16px;
}

.cosepick .pickimg {
    position: relative;
    overflow: hidden;
    height: 290px;
    width: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    margin-bottom: 25px;
}

.cosepick .pickimg img {
    width: 100%;
}

.cosepick .picktxt {
    font-size: 16px;
    font-weight: 500;
}

.archive-column-seminar .cosepick .picktxt {
    text-decoration: underline;
}

@media (max-width: 1400px) {
    .cosepick {
        margin: 0;
    }
}

@media (max-width: 1200px) {
    .cosepick {
        padding: 50px 40px;
    }
}

@media (max-width: 1024px) {
    .cosepick {
        margin: 0 -60px;
        padding: 50px 60px;
    }

    .cosepick .picklist {
        flex-wrap: wrap;
        margin-top: -40px;
    }

    .cosepick .picklist a {
        width: 48%;
        margin: 40px 4% 0 0;
    }

    .cosepick .picklist a:nth-child(3n) {
        margin-right: auto;
    }

    .cosepick .picklist a:nth-child(2n) {
        margin-right: 0;
    }
}

@media (max-width: 767px) {
    .cosepick {
        margin: 0 -20px;
        padding: 50px 40px;
    }

    .cosepick .picklist {
        display: block;
        margin-top: 0;
    }

    .cosepick .picklist a {
        width: auto;
        margin: 0;
    }

    .cosepick .picklist a+a {
        margin-top: 30px;
    }

    .cosepick .picklist a+li {
        margin-top: 30px;
    }

    .cosepick .picklist a:nth-child(3n) {
        margin-right: auto;
    }

    .cosepick .picklist a:nth-child(2n) {
        margin-right: 0;
    }
}

.cosebox {
    margin-top: 100px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.cosebox .cosesider {
    width: 25%;
}

.cosebox .ranking {
    border: 1px #bebebe solid;
    background: #fff;
    padding: 20px 20px 35px;
}

.cosebox .rankingin+.rankingin {
    margin-top: 25px;
}

.cosebox .rankingtit {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: 16px;
    font-weight: 500;
}

.cosebox .rankingtit img {
    margin-right: 20px;
}

.cosebox .rankinglist {
    margin-top: 25px;
}

.cosebox .rankinglist li+li {
    margin-top: 20px;
}

.cosebox .rankinglist li a {
    display: flex;
    align-items: center;
}

.cosebox .rankingimg {
    max-width: 80px;
    margin-right: 15px;
}

.cosebox .rankingtxt {
    flex: 1;
    font-size: 14px;
    line-height: 1.5;
}

.archive-column-seminar .cosebox .rankingtxt {
    text-decoration: underline;
}

.cosecont {
    width: 70%;
}

.cosecont .cosetab {
    width: 100%;
    background: #fff;
    border: 1px #bebebe solid;
    position: relative;
    z-index: 3;
}

.cosecont .cosetab+.cosetab {}

.cose.detailinner .cosecont .anchor {
    position: relative;
}

.cose.detailinner .cosecont .anchor+.anchor table,
.cose.detailinner .cosecont .anchor+.anchor table th,
.cose.detailinner .cosecont .anchor+.anchor table td {
    border-top: none;
}

.cosecont .cosetab th,
.cosecont .cosetab td {
    vertical-align: middle;
    font-size: 16px;
    font-weight: 500;
    padding: 30px 20px;
    border: 1px #bebebe solid;
}

.cosecont .cosetab th {
    width: 210px;
}

.cosecont .cosewidth01 {
    width: 210px;
}

.cosecont .cosewidth02 {
    width: 420px;
    text-align: center;
}

.cosecont .coselist li {
    font-weight: 400;
    padding-left: 25px;
    line-height: 1.5;
    position: relative;
}

.cosecont .coselist li:before {
    position: absolute;
    content: "";
    background: #3c40c6;
    width: 8px;
    height: 8px;
    left: 0;
    top: 11px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%;
    z-index: 2;
}

.cosecont .coselist li+li {
    margin-top: 20px;
}

.archive-column-seminar .cosecont .coselist li a {
    text-decoration: underline;
}

@media (max-width: 1200px) {
    .cosecont .cosetab th {
        width: 180px;
    }

    .cosecont .cosewidth01 {
        width: 180px;
    }

    .cosecont .cosewidth02 {
        width: 360px;
    }
}

@media (max-width: 1024px) {
    .cosebox {
        margin-top: 70px;
        display: block;
    }

    .cosebox .cosesider {
        width: auto;
        margin-top: 50px;
    }

    .cosebox .ranking {}

    .cosebox .rankinglist {
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
        justify-content: space-between;
        margin-top: 0;
    }

    .cosebox .rankinglist li {
        width: 48%;
        margin-top: 20px;
    }

    .cosebox .rankinglist li+li {
        margin-top: 20px;
    }

    .cosecont {
        width: auto;
    }

    .cosecont .cosetabtit {
        background: #fff;
        text-align: center;
        border: 1px #bebebe solid;
        border-bottom: none;
        padding: 30px 10px;
        font-size: 16px;
        font-weight: 500;
    }

    .cosecont .cosetab+.cosetab {}

    .cose.detailinner .cosecont .anchor+.anchor table {
        margin-top: 20px;
    }

    .cose.detailinner .cosecont .anchor+.anchor table th,
    .cose.detailinner .cosecont .anchor+.anchor table td {
        border-top: 1px #bebebe solid;
    }

    .cosecont .cosetab th,
    .cosecont .cosetab td {
        vertical-align: middle;
        font-size: 16px;
        font-weight: 500;
        padding: 30px 20px;
        border: 1px #bebebe solid;
    }

    .cosecont .cosetab th {
        display: none;
    }

    .cosecont .cosewidth01 {
        width: 250px;
    }

    .cosecont .cosewidth02 {
        width: 250px;
        text-align: left;
    }
}

@media (max-width: 767px) {
    .cosebox .rankinglist {
        display: block;
    }

    .cosebox .rankinglist li {
        width: auto;
    }

    .cosecont .cosetab th,
    .cosecont .cosetab td {
        padding: 20px;
        border: none;
    }

    .cosecont .cosetab td {
        display: block;
    }

    .cosecont .cosetab tr+tr .cosewidth01 {
        border-top: 1px #bebebe solid;
    }

    .cosecont .cosewidth01 {
        width: auto;
        text-align: center;
    }

    .cosecont td.cosewidth02 {
        width: auto;
        text-align: center;
        padding-bottom: 0;
    }

    .cosecont .coselist li+li {
        margin-top: 15px;
    }
}


/* column-seminar detail
----------------------------------------------- */

.cosecate {
    margin-top: 10px;
    padding-left: 45px;
}

.cosecate li {
    padding-left: 20px;
    position: relative;
}

.cosecate li:before {
    position: absolute;
    content: "";
    width: 5px;
    height: 5px;
    border-bottom: 2px #3c40c6 solid;
    border-right: 2px #3c40c6 solid;
    left: 0;
    top: 12px;
    transform: rotate(-45deg);
    z-index: 2;
}

.cosecate li+li {
    margin-top: 10px;
}

.cosecate li a {
    display: inline-block;
    font-size: 14px;
    line-height: 1.5;
}

.cosedetside {
    max-width: 300px;
    background: #fff;
    padding-bottom: 30px;
    margin: 0 auto 50px;
}

.cosedetside .cosebanimg {
    margin-bottom: 20px;
}

.cosedetside .cosebanbtn {
    max-width: 200px;
    margin: 0 auto;
}

.cosedetside .cosebanbtn a {
    display: flex;
    background: #ffaa00;
    width: 100%;
    height: 50px;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 700;
}

.cosedetside .cosebanbtn a img {
    margin-left: 15px;
}

.cosedetmain {
    text-align: center;
    margin-bottom: 30px;
}

.checkpoint {
    border-bottom: 1px #bebebe solid;
    border-top: 1px #bebebe solid;
    padding: 45px 40px;
    color: #3c40c6;
    display: flex;
    line-height: 1.5;
    margin-bottom: 30px;
}

.checkpoint .pointtit {
    font-size: 14px;
    font-weight: 700;
    margin-right: 25px;
    padding-right: 45px;
    position: relative;
    align-self: flex-start;
}

.checkpoint .pointtit:before {
    position: absolute;
    content: "";
    background: #3c40c6;
    width: 20px;
    height: 1px;
    right: 0;
    top: 12px;
    z-index: 2;
}

.checkpoint .pointcont {
    flex: 1;
    align-self: center;
    font-size: 16px;
    font-weight: 500;
}

.cosedetin+.cosedetin {
    margin-top: 50px;
}

.cosedethdm {
    background: #fff;
    padding: 25px 40px;
    margin-bottom: 25px;
}

.cosedethdm .cosedethdmin {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
    color: #3c40c6;
    display: inline-block;
    padding-left: 45px;
    position: relative;
}

.cosedethdm .cosedethdmin:before {
    position: absolute;
    content: "";
    background: #3c40c6;
    width: 20px;
    height: 3px;
    left: 0;
    top: 10px;
    z-index: 2;
}

.cosedettxt>li+li {
    margin-top: 30px;
}

.cosedettxt>li {
    font-size: 16px;
    line-height: 2;
}

.cosedettxt>li span {
    color: #3c40c6;
    font-weight: 500;
}

.cosedettxt>li .fwb {
    font-size: 18px;
}

.cosedettxt .regulation {
    background: #fff;
    padding: 40px;
    font-size: 16px;
    line-height: 2;
    border: 1px #bebebe solid;
    margin-top: 30px;
}

.cosedettxt .regutit {
    margin-bottom: 30px;
}

.cosedettxt .regulist li {
    padding-left: 40px;
    position: relative;
}

.cosedettxt .regulist li+li {
    margin-top: 5px;
}

.cosedettxt .regulist li:before {
    position: absolute;
    content: "";
    width: 10px;
    height: 10px;
    background: #3c40c6;
    left: 0;
    top: 12px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%;
    z-index: 2;
}

.cosedetbtm {
    display: flex;
    align-items: flex-start;
}

.cosedetbtm .photo {
    margin-left: 40px;
}

.cosedetbtm .photo li+li {
    margin-top: 30px;
}

.cosedetbtm .photocont {
    flex: 1;
}

@media (max-width: 1024px) {
    .cosedetbtm .photo {
        max-width: 50%;
    }
}

@media (max-width: 767px) {
    .checkpoint {
        padding: 40px;
        display: block;
    }

    .checkpoint .pointtit {
        padding-right: 50px;
        margin: 0 0 30px;
        display: inline-block;
    }

    .cosedethdm {
        padding: 25px 20px;
    }

    .cosedetbtm {
        display: block;
    }

    .cosedetbtm .photo {
        margin: 30px 0 0;
        max-width: 100%;
        text-align: center;
    }
}


/* .recruite
----------------------------------------------- */

.teaserrec {
    background: url("../img/recruite/teaser_recruite.png") center center no-repeat;
    background-size: cover;
}

@media (max-width: 1024px) {
    .teaserrec {
        background: url("../img/recruite/teaser_recruite_ts.png") center center no-repeat;
        background-size: cover;
    }
}

.recarea+.recarea {
    margin-top: 100px;
}

.recarea .hdmarea {
    margin-bottom: 45px;
}

.recarea .reccol {
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.recarea .reccolimg {
    flex-shrink: 0;
}

.recarea .reccolin {
    padding: 0 60px;
}

.recarea .reccol .hdl {
    margin-bottom: 50px;
}

.recarea .reccoldet {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 40px;
}

.recarea .reccoltxt {
    font-size: 16px;
    max-width: 600px;
}

.recarea .reccol+.reccol {
    margin-top: 200px;
    flex-direction: row-reverse;
}

@media (max-width: 1300px) {
    .recarea .reccolimg {
        flex-shrink: 1;
    }
}

@media (max-width: 1024px) {
    .recarea .reccol {
        display: block;
        padding: 0 60px;
    }

    .recarea .reccolimg {
        text-align: center;
        margin-top: 45px;
    }

    .recarea .reccolin {
        padding: 0;
    }

    .recarea .reccol+.reccol {
        margin-top: 100px;
    }
}

@media (max-width: 767px) {
    .recarea .reccol {
        padding: 0 20px;
    }
}

.benefits {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
}

.benefits li {
    width: 280px;
}

.benefits .benefitsimg {
    text-align: center;
    margin-bottom: 30px;
    position: relative;
}

.benefits .benefitsimg:before {
    position: absolute;
    content: "";
    background: #2c4589;
    opacity: 0.5;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.benefits .benefitstit {
    position: absolute;
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    line-height: 1.5;
    left: 0;
    top: 50%;
    width: 100%;
    padding: 0 10px;
    text-align: center;
    transform: translateY(-50%);
    z-index: 2;
}

.benefits .benefitstxt {
    font-size: 16px;
}

@media (max-width: 1200px) {
    .benefits {
        justify-content: space-between;
        flex-wrap: wrap;
        max-width: 660px;
        margin: 0 auto;
    }

    .benefits li {
        width: 280px;
    }

    .benefits li:nth-child(n+3) {
        margin-top: 50px;
    }
}

@media (max-width: 767px) {
    .benefits {
        display: block;
        max-width: none;
        margin: auto;
    }

    .benefits li {
        width: auto;
    }

    .benefits li img {
        width: 100%;
    }

    .benefits li+li {
        margin-top: 40px;
    }

    .benefits li:nth-child(n+3) {
        margin-top: 40px;
    }
}

.reqlist {
    max-width: 800px;
    margin: 0 auto;
    border-top: 1px #3c40c6 solid;
}

.reqlist li {
    padding: 30px 50px;
    border-bottom: 1px #3c40c6 solid;
}

.reqlist .reqlisttit {
    font-size: 16px;
    font-weight: 500;
    padding-right: 20px;
    cursor: pointer;
    position: relative;
}

.reqlist .reqlisttit:before {
    position: absolute;
    content: "";
    width: 21px;
    height: 1px;
    background: #3c40c6;
    right: 0;
    top: 14px;
    z-index: 2;
}

.reqlist .reqlisttit:after {
    position: absolute;
    content: "";
    width: 1px;
    height: 21px;
    background: #3c40c6;
    right: 10px;
    top: 4px;
    z-index: 2;
}

.reqlist .reqlisttit.on:after {
    opacity: 0;
    -webkit-transition: opacity 0.2s ease-out;
    -moz-transition: opacity 0.2s ease-out;
    -ms-transition: opacity 0.2s ease-out;
    transition: opacity 0.2s ease-out;
    -webkit-backface-visibility: hidden;
    -webkit-transform-style: preserve-3d;
}

.reqlist .reqlistcont {
    padding-top: 30px;
    display: none;
}

.reqlist .reqlistcont table {
    width: 100%;
    background: #fff;
    border-left: 1px #c3c3c3 solid;
    border-top: 1px #c3c3c3 solid;
}

.reqlist .reqlistcont table th,
.reqlist .reqlistcont table td {
    vertical-align: middle;
    padding: 20px 25px;
    font-size: 16px;
    border-right: 1px #c3c3c3 solid;
    border-bottom: 1px #c3c3c3 solid;
}

.reqlist .reqlistcont table th {
    width: 30%;
    text-align: center;
}

@media (max-width: 1024px) {
    .reqlist li {
        padding: 25px;
    }
}

@media (max-width: 767px) {
    .reqlist .reqlistcont {
        margin: 0 -25px;
    }

    .reqlist .reqlistcont table th,
    .reqlist .reqlistcont table td {
        display: block;
        padding: 20px 30px;
        font-size: 16px;
        width: auto;
    }

    .reqlist .reqlistcont table th {
        width: auto;
        text-align: left;
    }
}

.recbtn {
    max-width: 400px;
    margin: 100px auto 0;
}

.recbtn a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 130px;
    color: #fff;
    font-size: 26px;
    font-weight: 700;
    background: transparent -webkit-linear-gradient(352deg, #5a7ee0 0%, #3d40c6 100%) 0% 0% no-repeat padding-box;
    background: transparent -o-linear-gradient(352deg, #5a7ee0 0%, #3d40c6 100%) 0% 0% no-repeat padding-box;
    background: transparent linear-gradient(82deg, #5a7ee0 0%, #3d40c6 100%) 0% 0% no-repeat padding-box;
    /*box-shadow: 0px 10px 30px #3d40c633;*/
    position: relative;
}

.recbtn a:before {
    position: absolute;
    content: "";
    background: url("../img/recruite/arrow_recruite.svg") 0 0 no-repeat;
    width: 26px;
    height: 10px;
    right: 50px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
}

@media (max-width: 767px) {
    .recbtn {
        max-width: none;
        margin: 70px auto 0;
    }
}


/* check
----------------------------------------------- */

.chtr {
    padding: 0 0 120px;
}

@media (max-width: 1024px) {
    .chtr {
        padding: 0 0 100px;
    }
}

@media (max-width: 767px) {
    .chtr {
        padding: 0 0 150px;
    }
}

.chtr .hdmarea {
    margin-bottom: 20px;
}

.chtr .hdm {
    font-size: 20px;
}

.chtr .hdmtxt {
    color: #3c40c6;
}

.chtr .hdmdet {
    text-align: center;
    font-size: 26px;
    line-height: 1.5;
    font-weight: 500;
}

@media (max-width: 767px) {
    .chtr .hdmdet {
        text-align: left;
    }
}

.chtr .chtrarea+.chtrarea {
    margin-top: 100px;
}

.checkmain {
    background: url("../img/check/main_check.png") center bottom no-repeat;
    background-size: cover;
    margin-bottom: 240px;
    position: relative;
}

.checkmain:before {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.no-bg-color:before {
    background: transparent !important;
}

.checkmain .maininner {
    max-width: 1440px;
    margin: 0 auto;
    padding: 320px 120px 280px;
    display: flex;
    align-items: stretch;
    position: relative;
    z-index: 2;
}

.checkmain .maincont {
    flex-shrink: 0;
}

.checkmain .mainhd {
    font-size: 29px;
    color: #fff;
    line-height: 1.5;
    font-weight: 500;
    text-align: center;
    margin-bottom: 40px;
}

.checkmain .mainlogo {
    text-align: center;
    margin-bottom: 60px;
}

.checkmain .mainbtn {
    display: flex;
    align-items: stretch;
    justify-content: center;
}

.checkmain .mainbtn a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 170px;
    height: 50px;
    font-size: 16px;
    font-weight: 700;
    margin: 0 15px;
    background: #ffaa00;
}

.checkmain .mainbtn a:hover {
    -webkit-box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
    -moz-box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
    -ms-box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
    -o-box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
    box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
}

.checkmain .mainbtn a+a {
    color: #fff;
    background: transparent -webkit-linear-gradient(left, #5457d9 0%, #3d40c4 100%) 0% 0% no-repeat padding-box;
    background: transparent -o-linear-gradient(left, #5457d9 0%, #3d40c4 100%) 0% 0% no-repeat padding-box;
    background: transparent linear-gradient(to right, #5457d9 0%, #3d40c4 100%) 0% 0% no-repeat padding-box;
    box-shadow: 0px 10px 20px #36363633;
}

.checkmain .mainpic {
    flex: 1;
    position: relative;
}

.checkmain .mainimg {
    position: absolute;
    left: -70px;
    top: 220px;
    width: 986px;
    z-index: 2;
}

@media (max-width: 1200px) {
    .checkmain .maininner {
        padding: 320px 40px 280px;
    }
}

@media (max-width: 1024px) {
    .checkmain .maininner {
        display: block;
        padding: 150px 0 0;
    }

    .checkmain .maincont {
        flex-shrink: 0;
        max-width: 70%;
        margin: 0 auto;
    }

    .checkmain .mainpic {
        flex: 1;
        flex-shrink: 0;
        position: relative;
        margin: -100px 0 0;
        transform: translateY(150px);
    }

    .checkmain .mainimg {
        position: relative;
        left: auto;
        top: auto;
        width: auto;
    }
}

@media (max-width: 767px) {
    .checkmain {
        margin-bottom: 210px;
    }

    .checkmain .maininner {
        padding: 150px 0 0;
    }

    .checkmain .maincont {
        max-width: 90%;
    }

    .checkmain .mainhd {
        font-size: 23px;
        margin-bottom: 30px;
    }

    .checkmain .mainpic {
        margin: -10px 0 0;
        text-align: center;
        transform: translateY(50px);
    }

    .checkmain .mainlogo {
        padding: 0 20px;
        margin-bottom: 30px;
    }

    .checkmain .mainbtn {
        display: block;
    }

    .checkmain .mainbtn a {
        display: block;
        line-height: 50px;
        margin: 0 auto;
        text-align: center;
    }

    .checkmain .mainbtn a+a {
        margin-top: 20px;
    }
}

.advantages {}

.advantages .advbox {
    display: flex;
    align-items: stretch;
    justify-content: space-around;
    margin-top: 100px;
}

.advantages .advbox li {
    max-width: 320px;
}

.advantages .advboximg {
    width: 200px;
    height: 200px;
    margin: 0 auto 35px;
    display: flex;
    justify-content: center;
    align-items: center;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%;
    background: transparent -webkit-linear-gradient(327deg, #3f44c7 0%, #587ade 100%) 0% 0% no-repeat;
    background: transparent -o-linear-gradient(327deg, #3f44c7 0%, #587ade 100%) 0% 0% no-repeat;
    background: transparent linear-gradient(57deg, #3f44c7 0%, #587ade 100%) 0% 0% no-repeat;
}

.advantages .advboxtit {
    text-align: center;
    font-size: 20px;
    line-height: 1.5;
    font-weight: 500;
    margin-bottom: 20px;
}

.advantages .advboxtxt {
    font-size: 16px;
}

@media (max-width: 1024px) {
    .advantages .advbox {
        display: block;
        margin-top: 80px;
    }

    .advantages .advbox li {
        max-width: 470px;
        margin: 0 auto;
    }

    .advantages .advbox li+li {
        margin-top: 80px;
    }
}

.feature {}

.feature .featurebox {
    display: flex;
    align-items: flex-start;
    flex-direction: row;
    justify-content: center;
    margin-top: 100px;
}

.feature .featurebox+.featurebox {
    margin-top: 140px;
}

.feature .featureimg {
    flex-shrink: 0;
}

.feature .featureimg img {
    -webkit-box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
    -ms-box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
    -o-box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
}

.feature .featurecont {
    padding: 0 100px;
    max-width: 800px;
}

.feature .featuretit {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 30px;
}

.feature .featuredet {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: 70px;
}

.feature .featuretxt li+li {
    margin-top: 40px;
}

.feature .featuretxt li {
    font-size: 16px;
}

.feature .featuretxt li span {
    font-size: 18px;
    display: block;
    margin-bottom: 5px;
    font-weight: 500;
}

.feature .featurebtn {
    margin-top: 50px;
}

.feature .featurebtn a {
    display: flex;
    width: 200px;
    height: 47px;
    border: 1px #3e41c5 solid;
    background: #fff;
    color: #4043c7;
    align-items: center;
    font-weight: 700;
    justify-content: space-between;
    padding: 0 30px 0 30px;
    background-image: url("../img/common/arrow_right.svg");
    background-position: right 20px center;
    background-repeat: no-repeat;
    font-size: 16px;
    line-height: 1.5;
}

.feature .featurebtn a img {
    display: none;
}

.feature .featurebtn a:hover {
    color: #fff;
    background: #4043c7;
    background-image: url("../img/common/arrow_right_on.svg");
    background-position: right 20px center;
    background-repeat: no-repeat;
    -webkit-box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.3);
    -moz-box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.3);
    -ms-box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.3);
    -o-box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.3);
    box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.3);
}

@media (max-width: 1400px) {
    .feature .featureimg {
        flex-shrink: 0;
        margin-right: -200px;
    }

    .feature .featurecont {
        padding: 0 40px;
    }
}

@media (max-width: 1024px) {
    .feature {
        padding: 0 60px;
    }

    .feature .featurebox {
        display: block;
        margin-top: 50px;
    }

    .feature .featurebox+.featurebox {
        margin-top: 50px;
    }

    .feature .featureimg {
        flex-shrink: 0;
        margin: 50px 0 50px;
        text-align: center;
    }

    .feature .featurecont {
        padding: 0;
    }
}

@media (max-width: 767px) {
    .feature {
        padding: 0 20px;
    }
}

.chtrprice {
    background: url("../img/check/price_check.png") center 0 repeat-x;
    padding: 60px 0 0;
}

.chtrprice .hdm {
    color: #fff;
}

.chtrprice .hdm:before {
    background: #fff;
}

.chtrprice .hdmtxt {
    color: #fff;
}

.chtrprice .hdmdet {
    color: #fff;
}

.chtrpribox {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    margin-top: 60px;
    gap: 24px;
    flex-wrap: wrap;
}

.chtrpribox .chtrpriin {
    width: 32%;
    background: #fff;
    box-shadow: 0px 10px 20px #3d40c61c;
}

.chtrpribox .chtrpriin.priceoption {
    width: 100%;
}

.chtrpribox .chtrpricont {
    padding: 0 0 35px;
}

.chtrpribox .chtrprigap {
    padding: 0 40px 25px;
}

.chtrpribox .chtrprigap .hlg02 {
    padding-bottom: 20px;
}

.chtrpribox .chtrprigap .money {
    margin-bottom: 5px;
}

.chtrpribox .chtrprilist {
    margin-top: 35px;
    border-top: 1px #bebebe solid;
    padding: 35px 30px 0;
}

.chtrpribox .chtrprilist li {
    font-size: 16px;
    line-height: 1.5;
    padding-left: 30px;
    position: relative;
}

.chtrpribox .chtrprilist li:before {
    position: absolute;
    content: "";
    width: 6px;
    height: 12px;
    border-bottom: 3px #3c40c6 solid;
    border-right: 3px #3c40c6 solid;
    left: 0;
    top: 4px;
    transform: rotate(45deg);
    z-index: 2;
}

.chtrpribox .chtrprilist li+li {
    margin-top: 20px;
}

.chtrprilist.chtrprilist__option {
    border: none;
    margin: 0;
    padding: 32px 0 30px;
}

.chtrprilist.chtrprilist__option li {}

.chtrprilist.chtrprilist__proofreading {
    margin: 0;
    padding: 0;
    border: none;
    color: #000;
    font-size: 14px;
}

.chtrprilist__proofreading-outer {
    border: 1px solid #4043C7;
    margin: 10px -5px;
    padding: 8px 16px;
    border-radius: 4px;
}

.chtrprilist.chtrprilist__proofreading li {
    margin: 0;
    padding: 0;
    list-style: disc;
}

.chtrprilist.chtrprilist__proofreading li+li {
    margin-top: 8px;
}

.chtrprilist.chtrprilist__proofreading li:before {
    content: none;
}

@media (min-width: 1280px) {
    .chtrprilist-outer {
        text-align: center;
    }

    .chtrprilist.chtrprilist__option {
        display: inline-block;
    }

    .chtrprilist.chtrprilist__option li {
        text-align: left;
    }

    .chtrprilist.chtrprilist__proofreading {
        display: inline-block;
    }

    .chtrprilist.chtrprilist__proofreading li {
        text-align: left;
    }
}

@media (max-width: 1279px) {
    .chtrprilist__proofreading-outer {
        padding: 8px 55px;
    }

    .chtrprilist.chtrprilist__option {
        padding: 35px 30px 0;
    }
}

@media (max-width: 1200px) {
    .chtrprilist__proofreading-outer {
        padding: 8px 35px;
    }

    .chtrpribox .chtrprilist.chtrprilist__option {
        padding: 32px 20px 0;
    }

    .chtrpribox .chtrprilist.chtrprilist__proofreading {
        padding: 0 20px;
    }
}

.chtrpribox .chtrpritit {
    display: flex;
    width: 100%;
    height: 100px;
    align-items: center;
    justify-content: center;
    color: #fff;
    margin-bottom: 25px;
}

.chtrpribox .chtrprititin {
    text-align: center;
    line-height: 1.5;
}

.chtrpribox .chtrpritits {
    font-size: 10px;
    font-weight: 500;
    display: block;
    font-family: 'Mulish', sans-serif;
}

.chtrpribox .chtrprititm {
    font-size: 16px;
    font-weight: 700;
    display: block;
}

.chtrpribox .chtrprititl {
    font-size: 24px;
    font-weight: 700;
    display: block;
}

.chtrpribox .priceblack .chtrpritit {
    background: #2f2f2f;
}

.chtrpribox .pricedark .chtrpritit {
    background: #2f42ac;
}

.chtrpribox .pricelight .chtrpritit {
    background: #546fc9;
}

.chtrpribox .priceoption .chtrpritit {
    background: #4043C7;
}

.chtrpribox .monthly {
    text-align: center;
    margin-bottom: 20px;
}

.chtrpribox .monthly .monthlyin {
    display: inline-block;
    position: relative;
    padding-bottom: 5px;
    line-height: 1.5;
    font-size: 16px;
}

.chtrpribox .monthly .monthlyin:before {
    position: absolute;
    content: "";
    background: #000;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    z-index: 2;
}

.chtrpribox .monthly .monthlyin span {
    font-size: 12px;
}

.chtrpribox .money {
    font-size: 40px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    margin-bottom: 20px;
    font-family: 'Mulish', sans-serif;
}

.chtrpribox .money span {
    font-size: 24px;
}

.chtrpribox .moneyfee {
    max-width: 170px;
    margin: 0 auto;
}

.chtrpribox .moneyfee a {
    display: flex;
    width: 100%;
    height: 50px;
    align-items: center;
    justify-content: center;
    background: #ffaa00;
    font-size: 15px;
    font-weight: 700;
}

.chtrpribox .moneyfee a:hover {
    -webkit-box-shadow: 0 10px 20px rgba(61, 64, 198, 0.3);
    -moz-box-shadow: 0 10px 20px rgba(61, 64, 198, 0.3);
    -ms-box-shadow: 0 10px 20px rgba(61, 64, 198, 0.3);
    -o-box-shadow: 0 10px 20px rgba(61, 64, 198, 0.3);
    box-shadow: 0 10px 20px rgba(61, 64, 198, 0.3);
}

.chtrpribox .moneydemo {
    max-width: 170px;
    margin: 0 auto;
}

.chtrpribox .moneydemo a {
    display: flex;
    width: 100%;
    height: 50px;
    color: #fff;
    align-items: center;
    justify-content: center;
    background: transparent -webkit-linear-gradient(left, #5457d9 0%, #3d40c4 100%) 0% 0% no-repeat;
    background: transparent -o-linear-gradient(left, #5457d9 0%, #3d40c4 100%) 0% 0% no-repeat;
    background: transparent linear-gradient(to right, #5457d9 0%, #3d40c4 100%) 0% 0% no-repeat;
    font-size: 15px;
    font-weight: 700;
}

.chtrpribox .moneydemo a:hover {
    -webkit-box-shadow: 0 10px 20px rgba(61, 64, 198, 0.3);
    -moz-box-shadow: 0 10px 20px rgba(61, 64, 198, 0.3);
    -ms-box-shadow: 0 10px 20px rgba(61, 64, 198, 0.3);
    -o-box-shadow: 0 10px 20px rgba(61, 64, 198, 0.3);
    box-shadow: 0 10px 20px rgba(61, 64, 198, 0.3);
}

.chtrpribox .lowest {
    text-align: center;
    line-height: 1.5;
    font-size: 16px;
}

.chtrpribox .lowest span {
    display: block;
    font-size: 12px;
    margin-top: 3px;
}

.chtrprice .chtrpricebtn {
    max-width: 200px;
    margin: 75px auto 0;
}

.chtrprice .chtrpricebtn a {
    display: flex;
    width: 100%;
    height: 47px;
    border: 1px #3e41c5 solid;
    background: #fff;
    color: #4043c7;
    align-items: center;
    font-weight: 700;
    justify-content: space-between;
    padding: 0 20px 0 30px;
    font-size: 16px;
    line-height: 1.5;
    background-image: url("../img/common/arrow_right.svg");
    background-position: right 20px center;
    background-repeat: no-repeat;
}

.chtrprice .chtrpricebtn a img {
    display: none;
}

.chtrprice .chtrpricebtn a:hover {
    background: #4043c7;
    color: #fff;
    background-image: url("../img/common/arrow_right_on.svg");
    background-position: right 20px center;
    background-repeat: no-repeat;
    -webkit-box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.3);
    -moz-box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.3);
    -ms-box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.3);
    -o-box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.3);
    box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.3);
}

@media (max-width: 1279px) {
    .chtrpribox .chtrpriin {
        width: calc(50% - 12px);
    }

    .chtrpribox .chtrpriin.priceoption {
        width: calc(50% - 12px);
    }
}

@media (max-width: 1200px) {
    .chtrpribox .chtrprigap {
        padding: 0 20px 25px;
    }

    .chtrpribox .chtrprilist {
        padding: 35px 20px 0;
    }
}

/*
@media (max-width: 1024px) {
    .chtrprice {
        padding: 80px 0 0;
    }
    .chtrpribox {
        flex-wrap: wrap;
    }
    .chtrpribox .chtrpriin {
        width: 48%;
    }
    .chtrpribox .priceblack {
        width: 100%;
        background: none;
        box-shadow: none;
    }
    .chtrpribox .priceblack .chtrpricont {
        max-width: 48%;
        margin: 0 auto 80px;
        background: #fff;
        box-shadow: 0px 10px 20px #3d40c61c;
    }
}
*/

@media (max-width: 767px) {
    .chtrpribox {
        display: block;
    }

    .chtrpribox .chtrpriin {
        width: auto;
    }

    .chtrpribox .chtrpriin+.chtrpriin {
        margin-top: 30px;
    }

    .chtrpribox .priceblack {
        width: 100%;
        /*
        background: none;
        box-shadow: none;
*/
    }

    .chtrpribox .chtrpriin.priceoption {
        width: 100%;
    }

    .chtrpribox .priceblack .chtrpricont {
        max-width: none;
        margin: 0;
    }
}

.chtrsec .secin {
    max-width: 1480px;
    margin: 0 auto;
    padding: 0 40px;
}

.chtrsec .hdmtxt {
    color: #000;
}

.chtrsec .secbox {
    background: #fff;
    padding: 70px 60px;
    margin-top: 50px;
}

.chtrsec .secboxin {
    display: flex;
    max-width: 1100px;
    margin: 0 auto;
    justify-content: space-between;
}

.chtrsec .secboxcont {
    width: 40%;
    font-size: 16px;
}

.chtrsec .secboxcont li+li {
    margin-top: 35px;
}

.chtrsec .secboxtit {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: 25px;
}

.chtrsec .secboxtit img {
    align-self: flex-start;
    margin-right: 15px;
    flex-shrink: 0;
}

@media (max-width: 1200px) {
    .chtrsec .secboxcont {
        width: 45%;
    }
}

@media (max-width: 1024px) {
    .chtrsec .secin {
        padding: 0 60px;
    }

    .chtrsec .secboxin {
        display: block;
    }

    .chtrsec .secboxcont {
        width: auto;
    }

    .chtrsec .secboxcont+.secboxcont {
        margin-top: 35px;
    }
}

@media (max-width: 767px) {
    .chtrsec .secin {
        padding: 0 20px;
    }

    .chtrsec .secbox {
        padding: 40px 30px;
    }
}

.chtrcase .hdmtxt {
    color: #000;
}

.chtrcase .caselist {
    margin-top: 0;
}

.chtrfaq .hdmtxt {
    color: #000;
}

.chtrfaq .chtrfaqin {
    max-width: 800px;
    margin: 0 auto;
}

.chtrfaq .chtrfaqin li {
    border-bottom: 1px #bebebe solid;
    padding: 50px 25px;
}

.chtrfaq .faqtit {
    display: flex;
    justify-content: flex-start;
    line-height: 1.5;
    margin-bottom: 25px;
}

.chtrfaq .faqtitq {
    width: 55px;
    flex-shrink: 0;
    align-self: flex-start;
    font-size: 30px;
    font-weight: 700;
    color: #4043c7;
    font-family: 'Mulish', sans-serif;
}

.chtrfaq .faqtittxt {
    font-size: 20px;
    font-weight: 700;
    align-self: center;
}

.chtrfaq .faqcont {
    display: flex;
    justify-content: flex-start;
}

.chtrfaq .faqconta {
    width: 55px;
    flex-shrink: 0;
    line-height: 1.5;
    align-self: flex-start;
    font-size: 20px;
    font-weight: 700;
    color: #4043c7;
    padding-left: 5px;
    font-family: 'Mulish', sans-serif;
}

.chtrfaq .faqconttxt {
    font-size: 16px;
    align-self: center;
}

@media (max-width: 767px) {
    .chtrfaq .chtrfaqin li {
        padding: 50px 0;
    }
}

.chtrsec .secboxhei {
    min-height: 120px;
}

@media (max-width: 1024px) {
    .chtrsec .secboxhei {
        min-height: inherit;
    }
}


/* translation
----------------------------------------------- */

.transmain {
    background: url("../img/translation/main_translation.png") center center no-repeat;
    background-size: cover;
    height: 1080px;
    margin-bottom: 100px;
    padding-top: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.transmain:before {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.transmain .maininner {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    position: relative;
    z-index: 2;
}

.transmain .mainvideo {
    width: 800px;
    margin: 0 25px;
}

.transmain .maincont {
    margin: 0 25px;
    color: #fff;
}

.transmain .mainconttit {
    font-size: 45px;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 70px;
}

.transmain .mainconttxt {
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 70px;
}

.transmain .maincontbtn a {
    display: flex;
    width: 170px;
    height: 50px;
    margin: 0 auto;
    background: #ffaa00;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    font-weight: 700;
}

.transmain .maincontbtn a:hover {
    -webkit-box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
    -moz-box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
    -ms-box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
    -o-box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
    box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
}

@media (max-width: 1024px) {
    .transmain {
        padding: 100px 60px 0;
        height: 100vh;
    }

    .transmain .maininner {
        display: block;
    }

    .transmain .mainvideo {
        width: auto;
        margin: 0;
    }

    .transmain .maincont {
        text-align: center;
        margin: 0 0 60px;
    }

    .transmain .mainconttit {
        margin-bottom: 25px;
    }

    .transmain .mainconttxt {
        margin-bottom: 50px;
    }
}

@media (max-width: 767px) {
    .transmain {
        padding: 30px 20px 0;
    }

    .transmain .maincont {
        text-align: center;
        margin: 0 0 40px;
    }

    .transmain .mainconttit {
        margin-bottom: 30px;
        font-size: 30px;
    }

    .transmain .mainconttxt {
        margin-bottom: 30px;
    }
}

@media (max-width: 767px) {
    .transmain {
        height: 782px;
    }
}


.translation .featuredet {
    margin-bottom: 40px;
}

.translation .featuretit {
    margin-bottom: 50px;
}

.translation .chtrpribox {
    justify-content: center;
}

.translation .chtrpriin {
    width: 600px;
}

.translation .chtrprice {
    background: url("../img/translation/price_translation.png") center 0 repeat-x;
    padding: 60px 0 0;
}

.chtrprice .condition {
    max-width: 400px;
    margin: 25px auto 0;
    border-top: 1px #bebebe solid;
    padding-top: 25px;
    display: flex;
    justify-content: center;
}

.chtrprice .conditionin {
    font-size: 16px;
}

@media (max-width: 767px) {
    .translation .chtrpriin {
        width: 100%;
    }

    .chtrprice .condition {
        max-width: none;
        margin: 25px 20px 0;
        display: block;
    }

    .chtrprice .conditionin {
        font-size: 16px;
    }
}


/* product
----------------------------------------------- */

.product .hdm {
    font-size: 20px;
}

.prodmain {
    max-width: 1480px;
    margin: 0 auto 100px;
    padding: 0 40px;
}

.prodnavi {
    font-size: 14px;
    line-height: 1.5;
    color: #4043c7;
    padding: 20px 0;
}

.prodnavi a {
    color: #4043c7;
}

.prodmain .prodteaser {
    background: url("../img/common/bg_teaser.png") center center no-repeat;
    width: 100%;
    height: 300px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 0 200px;
}

.prodmain .prodteaser .teaserin {
    color: #fff;
    line-height: 1.5;
}

.prodmain .prodteaser .teasercap {
    font-size: 18px;
    font-weight: 700;
}

.prodmain .prodteaser .teasertit {
    font-size: 40px;
    margin-top: 20px;
    font-weight: 700;
    font-family: 'Mulish', sans-serif;
    letter-spacing: 0.2rem;
}

.prodmain .prodteaser .teasertxt {
    font-size: 20px;
    font-weight: 500;
    margin-top: 30px;
}

.prodmain .teaserdet {
    display: none;
}

@media (max-width: 1200px) {
    .prodmain .prodteaser {
        padding: 0 100px;
    }
}

@media (max-width: 1024px) {
    .prodmain {
        margin: 0 auto 50px;
        padding: 0 60px;
    }

    .prodmain .prodteaser {
        padding: 0 30px;
    }
}

@media (max-width: 767px) {
    .prodmain {
        padding: 0 20px;
    }

    .prodmain .prodteaser {
        height: 200px;
    }

    .prodmain .prodteaser .teasercap {
        font-size: 16px;
    }

    .prodmain .prodteaser .teasertxt {
        display: none;
    }

    .prodmain .teaserdet {
        display: block;
        margin-top: 25px;
        font-size: 16px;
        line-height: 1.5;
        font-weight: 500;
    }
}


/* /check/function/
----------------------------------------------- */

.funmain {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    position: relative;
    margin-top: -100px;
}

.funmaincont {
    margin: 0 30px;
}

.funmaintxt {
    max-width: 425px;
    font-size: 20px;
    line-height: 1.5;
    font-weight: 500;
}

.funmainbtn {
    margin-top: 60px;
}

.funmainbtn a {
    display: flex;
    width: 235px;
    height: 50px;
    border: 1px #3e41c5 solid;
    color: #4043c7;
    background: #fff;
    font-size: 16px;
    font-weight: 700;
    align-items: center;
    justify-content: center;
}

.funmainbtn a:hover {
    -webkit-box-shadow: 0 10px 20px rgba(61, 64, 198, 0.3);
    -moz-box-shadow: 0 10px 20px rgba(61, 64, 198, 0.3);
    -ms-box-shadow: 0 10px 20px rgba(61, 64, 198, 0.3);
    -o-box-shadow: 0 10px 20px rgba(61, 64, 198, 0.3);
    box-shadow: 0 10px 20px rgba(61, 64, 198, 0.3);
}

.funmainbtn a img {
    margin-left: 15px;
}

.funmainimg {
    flex-shrink: 0;
    margin: 0 30px;
    position: relative;
}

.funmainimg img {
    -webkit-box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
    -ms-box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
    -o-box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
}

.form-lp .funmain {
    display: block;
    margin-top: 30px;
    padding: 0 20px;
}

.form-lp .funmaincont {
    margin: 0;
}

.form-lp .funmaintxt {
    max-width: none;
}

.form-lp .funmainbtn {
    margin-top: 30px;
}

.form-lp .funmainbtn a {
    margin: 0 auto;
}

.form-lp .funmainimg {
    margin: 30px 0 0;
    text-align: center;
}

@media (max-width: 1024px) {
    .funmain {
        display: block;
        margin-top: 30px;
        padding: 0 20px;
    }

    .funmaincont {
        margin: 0;
    }

    .funmaintxt {
        max-width: none;
    }

    .funmainbtn {
        margin-top: 30px;
    }

    .funmainbtn a {
        margin: 0 auto;
    }

    .funmainimg {
        margin: 30px 0 0;
    }
}

@media (max-width: 767px) {
    .funmain {
        padding: 0;
    }

    .funmaintxt {
        font-size: 16px;
    }
}

.funread {
    background: #fff;
    margin-top: 150px;
    padding: 70px 40px 120px;
}

.funread .funreadin {
    max-width: 1040px;
    margin: 0 auto;
}

.funread .funreadarea {
    margin-top: 20px;
}

.funread .funreadarea+.funreadarea {
    margin-top: 40px;
}

.funread .funreadtit {
    background: #4043c7;
    width: 300px;
    height: 55px;
    text-align: center;
    font-size: 17px;
    padding-top: 14px;
    color: #fff;
    font-weight: 700;
    line-height: 1.5;
}

.funread .pro-appeal {
    font-size: 14px;
    font-weight: 500;
    margin-top: 30px;
}

.funread .funreadbox {
    border: 1px #4043c7 solid;
    padding: 30px 20px 30px 40px;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: flex-start;
}

.funread .funreadbox li {
    width: 33%;
    padding: 10px 0;
}

.funread .funreadbox li.p50 {
    width: 50%;
    padding: 10px 0;
}

.funread .funreadbox li .appeal {
    background-color: red;
    font-size: 12px;
    color: #FFF;
    font-weight: 500;
    letter-spacing: 0.05em;
    padding: 1px 5px 2px 5px;
    margin-top: 1px;
    margin-left: 5px;
}

.funread .funreadbox a {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.funread .funreadbox a img {
    align-self: flex-start;
    margin: 3px 0 0 10px;
}

@media (max-width: 1024px) {
    .funread {
        margin-top: 20px;
        padding: 60px;
    }

    .funread .funreadbox {
        padding: 30px 20px;
    }

    .funread .funreadbox li {
        width: 49%;
    }
}

@media (max-width: 767px) {
    .funread {
        margin-top: 0;
        padding: 60px 20px;
    }

    .funread .funreadtit {
        width: 100%;
    }

    .funread .funreadbox {
        display: block;
    }

    .funread .funreadbox li {
        width: auto;
    }

    .funread .funreadbox li.p50 {
        width: 100%;
    }
}

.funanchor {
    padding-top: 170px;
    margin-top: -170px;
}

@media (max-width: 1024px) {
    .funanchor {
        padding-top: 80px;
        margin-top: -80px;
    }
}

.funone {
    display: flex;
    align-items: flex-start;
    flex-direction: reverse;
    justify-content: center;
    margin-top: 100px;
}

.funone .funoneimg {
    flex-shrink: 0;
}

.funone .funoneimg img {
    -webkit-box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
    -ms-box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
    -o-box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
}

.funone .funonecont {
    padding: 0 100px;
    max-width: 800px;
}

.funone .funonetit {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 50px;
}

.funone .funonetxt {
    font-size: 16px;
}

.funone .funonemerit {
    margin-top: 70px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.funone .funonemerit .meriten {
    width: 62px;
    height: 32px;
    background: #3c40c6;
    font-size: 13px;
    color: #fff;
    font-weight: 700;
    margin-right: 25px;
    font-family: 'Mulish', sans-serif;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.funone .funonemerit .meritjp {
    color: #3c40c6;
    font-size: 16px;
    font-weight: 700;
}

@media (max-width: 1400px) {
    .funone .funoneimg {
        flex-shrink: 0;
        margin-right: -200px;
    }

    .funone .funonecont {
        padding: 0 40px;
    }
}

@media (max-width: 1024px) {
    .funone {
        display: block;
        margin-top: 50px;
        padding: 0 60px;
    }

    .funone .funoneimg {
        flex-shrink: 0;
        margin: 0 0 50px;
        text-align: center;
    }

    .funone .funonecont {
        padding: 0;
    }
}

@media (max-width: 767px) {
    .funone {
        padding: 0 20px;
    }

    .funone .funonemerit {
        margin-top: 40px;
        display: block;
    }

    .funone .funonemerit .meriten {
        margin: 0 0 15px;
    }
}

.funtwo {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    max-width: 1080px;
    margin: 0 auto;
}

.funtwo li {
    width: 46.5%;
    margin-top: 100px;
}

.funtwo .funtwoimg {
    text-align: center;
    margin-bottom: 70px;
}

.funtwo .funtwoimg img {
    -webkit-box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
    -ms-box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
    -o-box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
}

.funtwo .funtwotit {
    text-align: center;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 30px;
}

.funtwo .funtwotxt {
    font-size: 16px;
}

.funtwo .funtwomerit {
    margin-top: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.funtwo .funtwomerit .meriten {
    width: 62px;
    height: 32px;
    background: #3c40c6;
    font-size: 13px;
    color: #fff;
    font-weight: 700;
    margin-right: 25px;
    font-family: 'Mulish', sans-serif;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.funtwo .funtwomerit .meritjp {
    color: #3c40c6;
    font-size: 16px;
    font-weight: 700;
}

@media (max-width: 1024px) {
    .funtwo li {
        width: 48%;
        margin-top: 50px;
    }

    .funtwo .funtwoimg img {
        -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
        -moz-box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
        -ms-box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
        -o-box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
    }

    .funtwo .funtwomerit {
        display: block;
    }

    .funtwo .funtwomerit .meriten {
        margin: 0 0 15px;
    }
}

@media (max-width: 767px) {
    .funtwo {
        display: block;
    }

    .funtwo li {
        width: auto;
    }
}


/* legal
----------------------------------------------- */

.legal {
    padding-bottom: 200px;
}

.legal.form-lp {
    width: calc(100% - 480px);
}

@media (max-width: 1440px) {
    .legal.form-lp {
        width: 100%;
    }
}

.legal .hdm {
    font-size: 20px;
}

.legalnavi {
    background: #2f2f2f;
    padding: 40px 20px;
    margin-bottom: 100px;
}

.legalnavi .innerbox {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    color: #fff;
}

.legalnavi .innerbox li {
    text-align: center;
}

.legalnavi .navicont {
    margin-bottom: 25px;
}

.legalnavi .naviico {
    margin-bottom: 25px;
}

.legalnavi .navitxt {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
    display: flex;
    align-items: center;
    justify-content: center;
}

.legalnavi .percentage {
    font-size: 40px;
    font-weight: 700;
    line-height: 1.2;
    font-family: 'Mulish', sans-serif;
}

@media (max-width: 767px) {
    .legalnavi {
        padding: 50px 20px;
    }

    .legalnavi .innerbox {
        display: block;
    }

    .legalnavi .innerbox li+li {
        margin-top: 60px;
    }

    .legalnavi .navicont {
        margin-bottom: 25px;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .legalnavi .naviico {
        margin: 0 25px 0 0;
    }

    .legalnavi .naviico img {
        max-width: 42px;
    }

    .legalnavi .navitxt {
        font-size: 13px;
        display: block;
    }

    .legalnavi .percentage {
        font-size: 30px;
    }
}

.legal .section+.section {
    margin-top: 150px;
}

@media (max-width: 1024px) {
    .legal .section+.section {
        margin-top: 100px;
    }
}

.legalfree {
    max-width: 696px;
    margin: 0 auto;
    padding: 40px 0;
    color: #fff;
    background: transparent -webkit-linear-gradient(350deg, #5a7ee0 0%, #3d40c6 100%) 0% 0% no-repeat;
    background: transparent -o-linear-gradient(350deg, #5a7ee0 0%, #3d40c6 100%) 0% 0% no-repeat;
    background: transparent linear-gradient(80deg, #5a7ee0 0%, #3d40c6 100%) 0% 0% no-repeat;
    box-shadow: 0px 10px 20px #00000029;
}

.legalfree .freedet {
    text-align: center;
    line-height: 1.5;
    margin-top: 30px;
    font-size: 20px;
    font-weight: 700;
}

.legalfree .freebtn {
    max-width: 300px;
    margin: 10px auto 0;
}

.legalfree .freebtn a {
    display: flex;
    background: #ffaa00;
    justify-content: center;
    align-items: center;
    font-weight: 700;
    width: 100%;
    height: 60px;
    font-size: 16px;
    line-height: 1.5;
}

.legalfree .freebtn a:hover {
    -webkit-box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
    -moz-box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
    -ms-box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
    -o-box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
    box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
}

.legalfree .freelist {
    display: flex;
    align-items: stretch;
    justify-content: center;
}

.legalfree .freelist li {
    width: 220px;
    margin: 0 15px;
    border: 1px #fff solid;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 20px 0;
}

.legalfree .freelist.freethree li {
    width: 180px;
}

.legalfree .freelistin {
    text-align: center;
    line-height: 1.5;
}

.legalfree .freelistimg {
    margin-bottom: 10px;
}

.legalfree .freelisttit {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 5px;
}

.legalfree .freelistcont {
    display: flex;
    align-items: center;
    justify-content: center;
}

.legalfree .freelistcontin {
    font-size: 20px;
    font-weight: 700;
}

.legalfree .freelisttxt {
    font-size: 18px;
    font-weight: 400;
}

.legalfree .freelisttype {
    font-size: 18px;
    font-weight: 400;
}

.legalfree .freelisttype span {
    font-size: 40px;
    font-weight: 700;
    line-height: 1;
    display: inline-block;
}

.legalfree2 .multi-cta {
    width: calc(100% - 30px * 2);
    margin: 40px auto 0 auto;
}

.legalfree2 .multi-cta .appeal {
    font-size: 20px;
    color: #fff;
    font-weight: 600;
    margin-bottom: 10px;
    text-align: left;
}

.legalfree2 .multi-cta .btn-wrapper {
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.legalfree2 .multi-cta .btn-wrapper .freebtn a {
    width: 280px;
}

@media (max-width: 1024px) {
    .fotm-lp .legalfree .freebtn {
        width: fit-content;
        margin: 10px auto 0;
    }

    .form-lp .legalfree2 .multi-cta .appeal {
        text-align: center;
    }

    .form-lp .legalfree2 .multi-cta .btn-wrapper {
        width: 100%;
        display: block;
    }
}

@media (max-width: 767px) {
    .legalfree {
        padding: 40px 10px;
    }

    .legalfree .freelist {
        display: block;
    }

    .legalfree .freelist li {
        width: auto;
        max-width: 220px;
        margin: 0 auto;
    }

    .legalfree .freelist.freethree li {
        width: auto;
    }

    .legalfree .freelist li+li {
        margin-top: 10px;
    }

    .legalfree2 .multi-cta {
        width: calc(100% - 30px * 2);
        margin: 40px auto 0 auto;
    }

    .legalfree.onmargin {
        width: calc(100% - 20px * 2);
        margin: 0px auto 0 auto;
    }

    .legalfree2 .multi-cta .appeal {
        font-size: 17px;
        color: #fff;
        font-weight: 600;
        margin-bottom: 20px;
        text-align: center;
    }

    .legalfree2 .multi-cta .btn-wrapper {
        width: 100%;
        display: block;
    }

    .legalfree2 .multi-cta .btn-wrapper .freebtn a {
        width: 100%;
    }
}

.legalpoint {
    margin-top: 100px;
}

.legalpoint .pointimg {
    max-width: 800px;
    margin: 60px auto 0;
    background: #fff;
    border: 1px #bebebe solid;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    border-radius: 10px;
    padding: 60px;
    -webkit-box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
    -ms-box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
    -o-box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
}

.legalpoint .pointtxt {
    text-align: center;
    margin-top: 50px;
    font-size: 25px;
    line-height: 1.5;
    font-weight: 700;
}

@media (max-width: 767px) {
    .legalpoint .pointimg {
        padding: 25px;
    }

    .legalpoint .pointtxt {
        font-size: 18px;
    }
}

.legalcase .casedet {
    font-size: 30px;
    line-height: 1.5;
    font-weight: 500;
    margin: 50px 0;
}

.legalcase .casetits {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 20px;
    color: #3c40c6;
}

.legalmedia .mediabox {
    margin-top: 120px;
    display: flex;
    align-items: flex-start;
}

.legalmedia .mediabox+.mediabox {
    margin-top: 100px;
    flex-direction: row-reverse;
}

.legalmedia .mediaimg {
    margin: 0 70px 0 0;
}

.legalmedia .mediaimg img {
    -webkit-box-shadow: 0 0 40px rgba(64, 67, 199, 0.1);
    -moz-box-shadow: 0 0 40px rgba(64, 67, 199, 0.1);
    -ms-box-shadow: 0 0 40px rgba(64, 67, 199, 0.1);
    -o-box-shadow: 0 0 40px rgba(64, 67, 199, 0.1);
    box-shadow: 0 0 40px rgba(64, 67, 199, 0.1);
}

.legalmedia .mediabox+.mediabox .mediaimg {
    margin: 0 0 0 70px;
}

.legalmedia .mediacont {
    flex: 1;
}

.legalmedia .mediatit {
    font-size: 26px;
    font-weight: 700;
    margin-bottom: 50px;
}

.legalmedia .mediatxt {
    font-size: 20px;
    line-height: 1.5;
    font-weight: 500;
}

@media (max-width: 1440px) {
    .form-lp .legalmedia .mediabox {
        margin-top: 50px;
        display: block;
    }

    .form-lp .legalmedia .mediabox+.mediabox {
        margin-top: 50px;
    }

    .form-lp .legalmedia .mediaimg {
        margin: 0 0 50px;
        text-align: center;
    }

    .form-lp .legalmedia .mediabox+.mediabox .mediaimg {
        margin: 0 0 50px;
    }
}

@media (max-width: 1024px) {
    .legalmedia .mediabox {
        margin-top: 50px;
        display: block;
    }

    .legalmedia .mediabox+.mediabox {
        margin-top: 50px;
    }

    .legalmedia .mediaimg {
        margin: 0 0 50px;
        text-align: center;
    }

    .legalmedia .mediabox+.mediabox .mediaimg {
        margin: 0 0 50px;
    }
}

.legalreason .reasonbox {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    margin-top: 100px;
}

.form-lp .legalreason .reasonbox {
    flex-direction: column;
    align-items: center;
}

.legalreason .reasonbox.reverse {
    flex-direction: row-reverse;
}

.form-lp .legalreason .reasonbox.reverse {
    flex-direction: column;
    align-items: center;
}

.legalreason .reasonbox .reasonimg {
    flex-shrink: 0;
}

/*.legalreason .reasonbox .reasonimg img {
    -webkit-box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
    -ms-box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
    -o-box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
}*/

.legalreason .reasonbox .reasoncont {
    padding: 0 100px;
    max-width: 800px;
}

.form-lp .legalreason .reasonbox .reasoncont {
    padding: 0;
    max-width: 900px;
}

.legalreason .reasonbox .reasontit {
    font-size: 26px;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 60px;
    display: flex;
    align-items: center;
}

.legalreason .reasonbox .reasontitnum {
    background: #4661ba;
    width: 75px;
    height: 75px;
    border: 1px #707070 solid;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Roboto', sans-serif;
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    margin-right: 30px;
    flex-shrink: 0;
}

.legalreason .reasonbox .reasontxt {
    font-size: 16px;
}

@media (max-width: 1400px) {
    .legalreason .reasonbox .reasonimg {
        flex-shrink: 0;
        margin: 0 -200px 0 0;
    }

    .legalreason .reasonbox.reverse .reasonimg {
        margin: 0 0 0 -200px;
    }

    .legalreason .reasonbox .reasoncont {
        padding: 0 40px;
    }

    .form-lp .legalreason .reasonbox .reasoncont {
        padding: 0;
        max-width: 600px;
    }
}

@media (max-width: 1024px) {
    .legalreason .reasonbox {
        display: block;
        margin-top: 50px;
        padding: 0 60px;
    }

    .legalreason .reasonbox .reasonimg {
        flex-shrink: 0;
        margin: 50px 0 0;
        text-align: center;
    }

    .legalreason .reasonbox.reverse .reasonimg {
        margin: 50px 0 0;
    }

    .legalreason .reasonbox .reasoncont {
        padding: 0;
    }
}

@media (max-width: 767px) {
    .legalreason .reasonbox {
        padding: 0 20px;
    }

    .legalreason .reasonbox .reasontit {
        font-size: 24px;
        display: block;
    }

    .legalreason .reasonbox .reasontitnum {
        margin: 0 auto 20px;
    }
}

.legaluse {}

.legaluse .usestep {
    max-width: 630px;
    margin: 50px auto 0;
}

.legaluse .usesteptit {
    max-width: 100px;
    height: 38px;
    margin: 0 auto 30px;
    border: 1px #707070 solid;
    background: #4661ba;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    font-family: 'Roboto', sans-serif;
}

.legaluse .usestepdet {
    text-align: center;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: 25px;
}

.legaluse .usestepimg {
    text-align: center;
}

.legaluse .usestepimg img {
    -webkit-box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
    -ms-box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
    -o-box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
}

.legalquality .messagein {
    margin-top: 50px;
}

.legalfurther .furtherdot {
    position: relative;
}

.legalfurther .furtherdot:before {
    position: absolute;
    content: "";
    width: 6px;
    height: 6px;
    background: #4661ba;
    border: 1px #707070 solid;
    left: 50%;
    bottom: 100%;
    margin-left: -4px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%;
    z-index: 2;
}

.legalfurther .hdmtxt {
    margin-top: 35px;
}

.legalfurther .furtherlist {
    margin-top: 80px;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
}

.legalfurther .furtherlist li {
    width: 30%;
}

.legalfurther .furthercont {
    background: #4661ba;
    display: flex;
    height: 210px;
    justify-content: center;
    align-items: flex-start;
    padding: 40px 20px 0;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -ms-border-radius: 3px;
    -o-border-radius: 3px;
    border-radius: 3px;
    box-shadow: 0px 10px 20px #4661ba2e;
    margin-bottom: 45px;
}

.legalfurther .furthercontin {
    text-align: center;
    line-height: 1.5;
    font-weight: bold;
    color: #fff;
    font-size: 30px;
}

.legalfurther .furthertxt {
    font-size: 16px;
}

.legalfurther .furthertit {
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 20px;
}

@media (max-width: 1440px) {
    .form-lp .legalfurther .furtherlist {
        display: block;
    }

    .form-lp .legalfurther .furtherlist li {
        width: auto;
        max-width: 320px;
        margin: 0 auto;
    }

    .form-lp .legalfurther .furtherlist li+li {
        margin-top: 50px;
    }
}

@media (max-width: 1024px) {
    .legalfurther .furtherlist {
        display: block;
    }

    .legalfurther .furtherlist li {
        width: auto;
        max-width: 320px;
        margin: 0 auto;
    }

    .legalfurther .furtherlist li+li {
        margin-top: 50px;
    }
}

.legalcontact .hdmarea {
    margin-bottom: 60px;
}

@media (max-width: 1024px) {
    .legalcontact .hdmarea {
        margin-bottom: 40px;
    }
}


/* legal-check
----------------------------------------------- */
.legalmain {
    position: relative;
}

.legalmain .maincont {
    display: flex;
    align-items: stretch;
}

.legalmain .mainblue {
    width: 45%;
    height: 1080px;
    background: #4661ba;
    position: relative;
}

.legalmain2 .mainblue {
    height: 920px;
}

.legalmain .mainblue:before {
    position: absolute;
    content: "";
    width: 300px;
    height: 100%;
    background: #4661ba;
    top: 0;
    right: 0;
    transform: skewX(-10deg);
    transform-origin: right bottom;
    z-index: 2;
}

.legalmain .mainpic {
    width: 55%;
    height: 1080px;
    background: url("../img/legal-check/mainbg_legal.png") center center no-repeat;
    background-size: cover;
    position: relative;
}

.legalmain2 .mainpic {
    height: 920px;
}

.legalmain .mainpic:before {
    position: absolute;
    content: "";
    background: #4661ba;
    opacity: 0.5;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.legalmain .mainlogo {
    position: absolute;
    right: 50px;
    top: 140px;
    z-index: 3;
}

.legalmain .mainbtn {
    margin-top: 50px;
}

.legalmain .mainbtn a {
    display: flex;
    background: #ffaa00;
    width: 170px;
    height: 50px;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 700;
}

.legalmain .mainbtn a:hover {
    -webkit-box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
    -moz-box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
    -ms-box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
    -o-box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
    box-shadow: 0 10px 20px rgba(255, 255, 255, 0.3);
}

@media (max-width: 1024px) {
    .legalmain {
        position: relative;
    }

    .legalmain .maincont {
        display: block;
        position: absolute;
        inset: 0;
        z-index: -1;
    }

    .legalmain3 .maincont {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        height: 1060px;
        z-index: -1;
    }

    .form-lp .maincont {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        height: 1173px;
        z-index: -1;
    }

    .legalmain .mainblue {
        width: 100%;
        height: 50%;
    }

    .legalmain3 .mainblue,
    .form-lp .mainblue {
        height: 50%;
    }

    .legalmain .mainblue:before {
        position: absolute;
        content: "";
        width: 100%;
        height: 200px;
        background: #4661ba;
        top: auto;
        bottom: 0;
        right: 0;
        transform: skewY(-10deg);
        transform-origin: right bottom;
    }

    .legalmain .mainpic {
        width: 100%;
        height: 50vh;
    }

    .legalmain2 .mainpic {
        width: 100%;
        height: 50%;
    }

    .legalmain3 .mainpic {
        height: 100%;
    }

    .form-lp .mainpic {
        height: 50%;
    }

    .legalmain .mainlogo {
        position: relative;
        right: auto;
        top: auto;
        text-align: center;
        margin-bottom: 30px;
        z-index: 3;
    }

    .legalmain .mainbtn a {
        margin: 0 auto;
    }
}

@media (max-width: 767px) {
    .legalmain {
        margin-bottom: 0;
    }

    .legalmain .mainbtn {
        margin-top: 30px;
    }
}

.legalmain .mainjp {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    padding-bottom: 55px;
    align-items: flex-end;
    justify-content: center;
    z-index: 3;
}

.legalmain .mainjpin {
    font-size: 49px;
    color: #fff;
    line-height: 1.4;
    font-weight: 500;
    padding: 0 0 350px 80px;
    flex-shrink: 0;
}

.legalmain .mainjpimg {
    margin: 0 0 0 -50px;
}

@media (max-width: 1200px) {
    .legalmain .mainjpimg {
        margin: 0 -120px 0 -50px;
    }
}

@media (max-width: 1024px) {
    .legalmain .mainjp {
        display: block;
        padding: 150px 0 0;
    }

    .legalmain .mainjpin {
        padding: 0 0 30px;
        text-align: center;
    }

    .legalmain .mainjpimg {
        margin: 0;
        text-align: center;
    }
}

@media (max-width: 767px) {
    .legalmain .mainjp {
        padding: 120px 0 0;
    }

    .legalmain .mainjpin {
        font-size: 30px;
        padding: 0 0 50px;
    }
}


/* legal-check-english
----------------------------------------------- */

.legalmain .mainen {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    padding-bottom: 55px;
    align-items: flex-end;
    justify-content: center;
    z-index: 3;
}

.legalmain3 .mainen {
    align-items: flex-start;
}

.legalmain .mainen .mainbtn {
    margin-top: 20px;
}

.legalmain .mainenbox {
    padding-left: 40px;
}

.legalmain3 .mainenbox {
    padding-top: 250px;
}

.legalmain .mainentit {
    font-size: 50px;
    color: #fff;
    line-height: 1.4;
    font-weight: 600;
    margin-bottom: 60px;
}

.legalmain3 .mainentit {
    font-size: 40px;
    margin-bottom: 0;
}

.legalmain3 .mainentit-lead {
    font-size: 24px;
    color: #fff;
    line-height: 1.4;
    font-weight: 600;
    margin-bottom: 60px;
}

.legalmain .mainenin {
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.legalmain .mainenin .multi-cta {
    width: 480px;
    margin-top: 100px;
}

.legalmain3 .mainenin .multi-cta {
    width: auto;
    margin-top: 0;
}

.legalmain .mainenin .multi-cta .appeal {
    font-size: 20px;
    color: #fff;
    font-weight: 600;
    margin-bottom: -5px;
    text-align: left;
    margin-left: -45px;
}

.legalmain3 .mainenin .multi-cta .appeal {
    position: absolute;
    font-size: 15px;
    margin-left: 0;
    top: -15px;
}

.legalmain3 .mainenin .multi-cta .appeal.left {
    left: -9px;
}

.legalmain3 .mainenin .multi-cta .appeal.right {
    right: -2px;
}

.legalmain .mainenin .multi-cta .btn-wrapper {
    display: flex;
    justify-content: space-between;
}

.legalmain3 .mainenin .multi-cta .btn-wrapper {
    position: relative;
    margin-top: 60px;
}

.legalmain .mainenin .multi-cta .btn-wrapper .mainbtn a {
    width: 220px;
}

.legalmain .mainenimg {
    margin: 0 0 0 65px;
}

.legalmain3 .mainenimg {
    padding-top: 100px;
}

.legalmain .mainenimg img {
    width: 720px;
}

.legalmain3 .mainenimg img {
    object-fit: contain;
}

@media (max-width: 1700px) {
    .form-lp .legalmain .mainen {
        display: flex;
        padding-bottom: 130px;
    }

    .form-lp .legalmain .mainenbox {
        padding-inline: 20px;
    }

    .form-lp .legalmain .mainentit {
        font-size: 40px;
        margin-bottom: 60px;
    }

    .form-lp .legalmain .mainenin .multi-cta .appeal {
        margin-left: 0px;
        text-align: center;
    }

    .form-lp .legalmain .mainenin .multi-cta .btn-wrapper {
        flex-direction: column;
        width: fit-content;
        padding-inline: 40px;
        margin-inline: auto;
    }
}


@media (max-width: 1200px) {
    .legalmain .mainenimg {
        margin: 0 -120px 0 100px;
    }
}

@media (max-width: 1024px) {
    .legalmain .mainen {
        display: block;
        padding: 150px 0 30px;
        position: revert;
    }

    .legalmain3 .mainen {
        position: relative;
    }

    .legalmain .mainenbox {
        padding-left: 0;
        text-align: center;
    }

    .legalmain3 .mainenbox,
    .form-lp .mainenbox {
        padding-top: 0;
    }

    .legalmain .mainenin {
        display: block;
    }

    .legalmain .mainentit {
        font-size: 24px;
        margin-bottom: 20px;
    }

    .legalmain2 .mainentit {
        font-size: 24px;
        margin-bottom: 20px;
        padding: 0 25px;
    }

    .legalmain .mainenimg {
        margin: 0;
        text-align: center;
    }

    .legalmain3 .mainenimg,
    .form-lp .mainenimg {
        padding-top: 0;
    }

    .legalmain .mainen .mainbtn {
        margin-bottom: 50px;
    }

    .legalmain3 .mainenin .multi-cta .btn-wrapper {
        position: relative;
        display: flex;
        justify-content: center;
        column-gap: 50px;
        margin-top: 60px;
    }

    .legalmain3 .mainenin .multi-cta .appeal.left {
        top: -3px;
        left: calc(50% - 135px);
        transform: translate(-50%, -50%);
        text-align: center;
    }

    .legalmain3 .mainenin .multi-cta .appeal.right {
        top: -3px;
        right: calc(50% - 358px);
        transform: translate(-50%, -50%);
        text-align: center;
    }

    .form-lp .legalmain .mainen {
        position: relative;
        display: block;
        height: auto;
        padding: 120px 0 0;
    }

    .legalmain .mainenin .multi-cta {
        width: 480px;
        margin-top: 50px;
        margin-inline: auto;
    }

    .form-lp .legalmain .mainenin .multi-cta .appeal {
        text-align: center;
        margin-left: 0px;
    }

    .form-lp .mainenin .multi-cta .btn-wrapper {
        margin-bottom: 60px;
    }

    .form-lp .legalmain .mainen .mainbtn {
        margin-bottom: 0px;
    }

    .legalmain .mainenimg img {
        width: 70%;
        height: auto;
        max-width: 720px;
    }
}

@media (max-width: 767px) {
    .legalmain .mainen {
        padding: 120px 0 20px;
    }

    .legalmain3 .mainentit-lead {
        font-size: 20px;
        color: #fff;
        line-height: 1.4;
        font-weight: 600;
        margin-bottom: 40px;
    }

    .legalmain3 .mainentit {
        font-size: 28px;
    }

    .legalmain .mainen .mainbtn {
        margin-bottom: 50px;
    }

    .legalmain .mainenin .multi-cta {
        width: 100%;
        margin-top: 20px;
    }

    .legalmain .mainenin .multi-cta .appeal {
        font-size: 18px;
        color: #fff;
        font-weight: 600;
        margin-bottom: 20px;
        text-align: center;
        margin-left: 0;
    }

    .legalmain3 .mainenin .multi-cta .appeal {
        position: absolute;
        font-size: 15px;
    }

    .legalmain3 .mainenin .multi-cta .appeal.left {
        top: -32px;
        right: 0;
        left: 0;
        margin: auto;
        transform: none;
        text-align: center;
    }

    .legalmain3 .mainenin .multi-cta .appeal.right {
        top: 59px;
        right: 0;
        left: 0;
        margin: auto;
        transform: none;
        text-align: center;
    }

    .legalmain .mainenin .multi-cta .btn-wrapper {
        display: block;
    }

    .legalmain .mainenin .multi-cta .btn-wrapper .mainbtn {
        margin-bottom: 10px;
    }

    .legalmain3 .mainenin .multi-cta .btn-wrapper .mainbtn {
        margin-bottom: 40px;
    }

    .legalmain .mainenin .multi-cta .btn-wrapper .mainbtn a {
        width: 300px;
    }

    .legalmain2 .mainenin .mainenimg {
        margin-top: 30px;
    }

    .legalmain3 .mainenin .mainenimg {
        margin-block: 30px;
    }
}


/* legal-check-translation
----------------------------------------------- */

.transpointimg {
    text-align: center;
    margin-top: 50px;
}

.transpointimg img {
    -webkit-box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
    -ms-box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
    -o-box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
}

.transreason .furtherlist {
    margin-top: 50px;
}

.legal .contactushd {
    font-size: 20px;
}

.legal .comcontact {
    margin-top: 150px;
}

.legalsub .subscbox {
    max-width: 600px;
    margin: 50px auto 0;
    background: #fff;
    box-shadow: 0px 10px 20px #3d40c61c;
}

.legalsub .subsctit {
    display: flex;
    height: 100px;
    line-height: 1.5;
    font-size: 24px;
    color: #fff;
    font-weight: 700;
    background: #2f42ac;
    align-items: center;
    justify-content: center;
}

.legalsub .subscin {
    padding: 25px 20px 60px;
}

.legalsub .subscin .monthly {
    text-align: center;
    margin-bottom: 20px;
}

.legalsub .subscin .monthly .monthlyin {
    display: inline-block;
    position: relative;
    padding-bottom: 5px;
    line-height: 1.5;
    font-size: 16px;
}

.legalsub .subscin .monthly .monthlyin:before {
    position: absolute;
    content: "";
    background: #000;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    z-index: 2;
}

.legalsub .subscin .monthly .monthlyin span {
    font-size: 12px;
}

.legalsub .subscin .money {
    font-size: 40px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    margin-bottom: 20px;
    font-family: 'Mulish', sans-serif;
}

.legalsub .subscin .money span {
    font-size: 24px;
}

.legalsub .subscin .lowest {
    text-align: center;
    line-height: 1.5;
    font-size: 16px;
}

.legalsub .subscin .lowest span {
    display: block;
    font-size: 12px;
    margin-top: 3px;
}

.legaltrmain {
    margin-bottom: 0;
}

.legaltrmain .mainconttit {
    margin-bottom: 50px;
}

.legaltrmain .maincontbtn a {
    margin: 0;
}

@media (max-width: 1024px) {
    .legal .comcontact {
        margin-top: 100px;
    }

    .legaltrmain .maincontbtn a {
        margin: 0 auto;
    }
}

@media (max-width: 767px) {}


/* release detail
----------------------------------------------- */

.reledetbox h2,
.reledetbox h3,
.reledetbox h4,
.reledetbox h5,
.reledetbox h6 {
    margin: 50px 0;
    font-size: 18px;
    line-height: 1.6;
    padding-left: 20px;
    border-left: 5px #3c40c6 solid;
    position: relative;
}

.reledetbox h2:before,
.reledetbox h3:before,
.reledetbox h4:before,
.reledetbox h5:before,
.reledetbox h6:before {
    position: absolute;
    content: "";
    background: #bebebe;
    width: calc(100% + 5px);
    height: 1px;
    left: -5px;
    bottom: -25px;
    z-index: 2;
}

.reledetbox p {
    font-size: 16px;
    margin-top: 20px;
}


/* case detail
----------------------------------------------- */

.casedetbox h2 {
    padding-left: 60px;
    line-height: 1.2;
    font-size: 24px;
    font-weight: 700;
    color: #3c40c6;
    margin-top: 50px;
    position: relative;
    margin-bottom: 30px;
}

.casedetbox h2:before {
    position: absolute;
    content: "";
    background: #3c40c6;
    width: 30px;
    height: 2px;
    left: 0;
    top: 14px;
    z-index: 2;
}

.casedetbox h3 {
    font-size: 20px;
    line-height: 1.5;
    font-weight: 700;
    margin-top: 30px;
}

.casedetbox p {
    margin-top: 25px;
    font-size: 16px;
}

.casedetbox img {
    margin-top: 50px;
}


/* column-seminar detail
----------------------------------------------- */

.csdetbox h2 {
    background: #fff;
    padding: 25px 40px 25px 85px;
    margin-top: 50px;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
    color: #3c40c6;
    position: relative;
    margin-bottom: 30px;
}

.csdetbox h2:before {
    position: absolute;
    content: "";
    background: #3c40c6;
    width: 20px;
    height: 3px;
    left: 40px;
    top: 35px;
    z-index: 2;
}

@media (max-width: 767px) {
    .csdetbox h2 {
        padding: 25px 20px 25px 65px;
    }

    .csdetbox h2:before {
        left: 20px;
    }
}

.csdetbox h3 {
    font-size: 18px;
    color: #3c40c6;
    font-weight: 500;
    margin-top: 30px;
}

.csdetbox p {
    margin-top: 30px;
    font-size: 16px;
    line-height: 2;
}

.csdetbox ul {
    background: #fff;
    padding: 40px;
    font-size: 16px;
    line-height: 2;
    border: 1px #bebebe solid;
    margin-top: 30px;
}

.csdetbox ul li {
    padding-left: 40px;
    position: relative;
    word-wrap: break-word;
}

.csdetbox ul li+li {
    margin-top: 5px;
}

.csdetbox ul li:before {
    position: absolute;
    content: "";
    width: 10px;
    height: 10px;
    background: #3c40c6;
    left: 0;
    top: 12px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%;
    z-index: 2;
}

.csdetbox blockquote {
    background: #fff;
    padding: 40px;
    font-size: 16px;
    line-height: 2;
    border: 1px #bebebe solid;
    margin-top: 30px;
}

.csdetbox blockquote p {
    margin-top: 0;
}

.csdetbox blockquote p+p {
    margin-top: 30px;
}

.privacy-policy li {
    list-style: decimal !important;
    margin: 0 0 1rem 2rem;
}

.privacy-policy ol li ol li {
    margin: 0 0 0 2rem;
}

.privacy-policy ol {
    margin-bottom: 2rem;
}

.privacy-policy p {
    margin-bottom: 2rem;
}

.privacy-policy h2 {
    margin: 4rem 0;
}

.privacy-policy a {
    color: #4043c7;
}

.width-date label.error {
    position: absolute;
    width: 100%;
    left: 0;
    bottom: -45px;
}

@media (max-width: 767px) {
    .privacy-policy .hdl {
        padding-left: 55px;
    }

    .privacy-policy .hdl:before {
        width: 30px;
    }

    .privacy-policy h2 {
        margin: 4rem 0 3rem 0;
    }

    .privacy-policy p {
        margin-bottom: 1rem;
    }

    .privacy-policy ol {
        margin-bottom: 1rem;
    }
}

.font-small {
    font-size: 0.75rem;
    margin-top: 0.5rem;
}

.coselist a:hover {
    color: #3d40c6;
}

.translation-height {
    height: 950px;
}

@media (max-width: 1024px) {
    .translation-height {
        height: 937px;
    }
}

@media (max-width: 767px) {
    .translation-height {
        height: 850px;
    }
}

@media (max-width: 576px) {
    .translation-height {
        height: 717px;
    }
}

.mb-0 {
    margin-bottom: 0 !important;
}

@media (min-width: 768px) {
    .mt-35rem {
        margin-top: 3.5rem !important;
    }

    .margin-check-en {
        margin: -0.5rem 0 1.5rem 0 !important;
    }
}

@media (max-width: 576px) {
    .margin-check-en {
        margin-bottom: 1rem !important;
    }
}

.cosepick .picklist a:hover,
.cosebox .rankinglist li a:hover,
.catalist li a:hover,
.relelist a:hover,
.gnavi>li>a:hover,
.gnavi .pulldownmenu a:hover,
.caselist a:hover,
.typeusually a:hover,
.custom-article a,
.typeusually .rankingtxt:hover {
    color: #3c40c6;
}

.custom-article a:hover {
    text-decoration: underline;
}

.recbtn a:hover {
    color: white;
    box-shadow: 0 10px 20px rgba(61, 64, 198, 0.3);
}

.contactusbnr a:hover {
    color: white;
}

.typeusually table {
    margin: 1.5rem 0;
}

.typeusually table td {
    width: auto;
    border: 1px solid #333333;
    padding: 1rem 1.6rem;
}

.casedetbox img {
    height: auto;
}

.formbox input[type=radio] {
    margin-right: 10px;
    width: 25px;
    height: 25px;
    background: #fff;
    border: 1px #bababa solid;
    vertical-align: middle;
    position: relative;
    cursor: pointer;
    border-radius: 15px;
}

.formbox input[type=radio]:focus {
    box-shadow: 0 0 4px #004AA1;
}

.formbox input[type=radio]:checked::after {
    content: "";
    display: block;
    position: absolute;
    top: 3px;
    left: 3px;
    width: 17px;
    height: 17px;
    background: #333333;
    border-radius: 50%;
}

span.wpcf7-list-item {
    display: block;
    margin: 0 0 1em 1em;
}

.typeusually .rankingtxt,
.typeusually .cosebanbtn a,
.relelist a {
    color: black;
    transition: .3s;
}

.relelist a:hover {
    text-decoration: none;
}

.typeusually .cosebanbtn a:hover {
    -webkit-box-shadow: 0 10px 20px rgb(61 64 198 / 30%);
    -moz-box-shadow: 0 10px 20px rgba(61, 64, 198, 0.3);
    -ms-box-shadow: 0 10px 20px rgba(61, 64, 198, 0.3);
    -o-box-shadow: 0 10px 20px rgba(61, 64, 198, 0.3);
    box-shadow: 0 10px 20px rgb(61 64 198 / 30%);
    text-decoration: none;
}

.typeusually .reqlistcont td {
    border-top: none;
}

.custom-article img {
    height: auto;
}

/*404*/
.error-page {
    padding: 100px 0;
    text-align: center;
}

.error-ttl {
    color: #3C40C6;
    font-size: 26px;
}

.error-ttl-big {
    display: block;
    font-size: 100px;
    line-height: 1.2;
}

.error-msg {
    margin: 50px 0 30px;
    font-size: 24px;
}

.error-btn a {
    display: flex;
    width: 200px;
    height: 47px;
    border: 1px #3e41c5 solid;
    background: #fff;
    color: #4043c7;
    align-items: center;
    font-weight: 700;
    justify-content: space-between;
    padding: 0 30px 0 30px;
    background-image: url("../img/common/arrow_right.svg");
    background-position: right 20px center;
    background-repeat: no-repeat;
    font-size: 16px;
    line-height: 1.5;
    margin: 30px auto;
}

.error-btn a img {
    display: none;
}

.error-btn a:hover {
    color: #fff;
    background: #4043c7;
    background-image: url("../img/common/arrow_right_on.svg");
    background-position: right 20px center;
    background-repeat: no-repeat;
    -webkit-box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.3);
    -moz-box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.3);
    -ms-box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.3);
    -o-box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.3);
    box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.3);
}

@media all and (-ms-high-contrast: none) {
    .columnprev {
        left: -40px;
    }

    .columnnext {
        right: 10px;
    }

    .cosebox .rankinglist li a {
        display: -ms-flexbox;
    }

    .formbox .selectbox:before {
        width: 8px;
        height: 8px;
        border-bottom: none;
        border-right: none;
    }

    .cosebox .rankingtxt {
        min-width: 100px;
    }
}

@media screen and (min-width:1025px) and (max-width:1500px) {
    .legalreason .reasonbox .reasoncont {
        flex: 1;
    }

    .legalreason .reasonbox .reasonimg {
        flex: 1;
    }

}

@media (max-width: 576px) {
    .pagetop {
        display: none !important;
    }
}


/*!--20210203--!*/

/*固定ページリーガールチェックの画像と文言を逆にする*/
@media screen and (min-width:1201px) and (max-width: 1600px) {

    .feature .featureimg,
    .funone .funoneimg {
        flex-shrink: unset;
        max-width: 800px;
        margin-right: -150px;
    }

    .feature .featurecont,
    .funone .funonecont {
        flex-shrink: none;
        max-width: 700px;
        padding: 0 70px;
    }

    .form-lp .feature .featureimg,
    .funone .funoneimg {
        margin-right: -120px;
    }

    .form-lp .feature .featurecont,
    .funone .funonecont {
        max-width: 600px;
        padding: 0 40px;
    }

    /*導入理由 和文・和文*/
    .legalreason .reasonbox:nth-child(even) .reasonimg {
        flex-shrink: unset;
        max-width: 800px;
        margin-right: -150px;
    }

    .legalreason .reasonbox:nth-child(odd) .reasonimg {
        flex-shrink: unset;
        max-width: 800px;
        margin-left: -150px;
    }

    .form-lp .legalreason .reasonbox:nth-child(even) .reasonimg {
        margin-right: 0;
    }

    .form-lp .legalreason .reasonbox:nth-child(odd) .reasonimg {
        margin-left: 0;
    }

    .legalreason .reasonbox .reasoncont {
        flex-shrink: none;
        max-width: 700px;
        padding: 0 70px;
    }
}

@media screen and (min-width:769px) and (max-width: 1200px) {

    .feature .featureimg,
    .funone .funoneimg {
        flex-shrink: unset;
        max-width: 800px;
        margin-right: -150px;
    }

    .feature .featurecont,
    .funone .funonecont {
        flex-shrink: none;
        max-width: 600px;
        padding: 0 70px;
    }

    /*導入理由 和文・和文*/
    .legalreason .reasonbox:nth-child(even) .reasonimg {
        flex-shrink: unset;
        max-width: 800px;
        margin-right: -150px;
    }

    .legalreason .reasonbox:nth-child(odd) .reasonimg {
        flex-shrink: unset;
        max-width: 800px;
        margin-left: -150px;
    }

    .form-lp .legalreason .reasonbox:nth-child(even) .reasonimg {
        margin-right: 0;
    }

    .form-lp .legalreason .reasonbox:nth-child(odd) .reasonimg {
        margin-left: 0;
    }

    .legalreason .reasonbox .reasoncont {
        flex-shrink: none;
        max-width: 600px;
        padding: 0 70px;
    }
}

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

    .feature .featureimg,
    .funone .funoneimg,
    .funtwo .funtwoimg {
        margin: 50px 0 50px;
    }
}

/*固定ページリーガールチェック機能の画像と文言を逆にする*/
.funone {
    flex-direction: row;
}

/*固定ページチーガールチェックの横並びセクションにSP版を追加*/
@media screen and (min-width: 769px) {
    .layout-sp {
        display: none;
    }

    .layout-pc {
        display: block;
    }
}

@media screen and (max-width: 768px) {
    .layout-sp {
        display: block;
    }

    .layout-pc {
        display: none;
    }
}

.grecaptcha-badge {
    display: none;
}

/*202008 olリストの装飾追加*/

.csdetbox ol {
    background: #fff;
    padding: 40px 60px;
    font-size: 16px;
    line-height: 2;
    border: 1px #bebebe solid;
    margin-top: 30px;
}

.csdetbox ol li {
    padding-left: 20px;
    position: relative;
    list-style: decimal;
}

/* 20210406 改修
----------------------------------------------- */

/* ロゴ入れ替え */
.topprolinkin .tac img {
    width: 100%;
    height: 61px;
}

.legalmain .mainlogo img {
    width: 100%;
}

.checkmain {
    background: url("../img/check/main_check-2.png") center bottom no-repeat;
}

.transmain {
    background: url(../img/translation/main_translation-2.png) center center no-repeat;
    position: relative;
}

.transmain .mainlogo {
    position: absolute;
    right: 50px;
    top: 140px;
    z-index: 3;
}

.transmain .mainlogo img {
    width: 100%;
}

@media (max-width: 1024px) {
    .transmain .mainlogo {
        position: absolute;
        right: auto;
        top: 125px;
        text-align: center;
        margin-bottom: 30px;
        z-index: 3;
        width: 100%;
    }

    .transmain .mainlogo img {
        width: 60%;
    }
}

@media (max-width: 375px) {
    .transmain .mainlogo {
        top: 100px;
    }
}

.transmain {
    background-size: cover;
}

/* ロゴ入れ替え終了 */
/* チェックページ分化 */
.check-old {
    padding: 0;
}

.check-old .checkmain {
    margin-bottom: 0;
}

.check-old .maininner {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 92vh;
}

/* チェックページ分化終了 */


/*規約系ページ*/
.teaser-commerce .teaseren {
    font-family: unset !important;
}

.teaser-commerce table td {
    white-space: nowrap;
}

@media screen and (max-width: 1024px) {
    .teaser-commerce table td {
        padding: 0.6rem;
        white-space: normal;
    }
}

.privacy-appendix {
    text-align: right !important;
    margin-top: 4rem !important;
}

/*規約系ページ終了*/


/* 20210406 改修終了
----------------------------------------------- */

/* 20210407 修正
----------------------------------------------- */
@media (min-width: 1025px) {
    .transmain .maincont {
        max-width: 351px;
    }
}

.reason-check-box {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 80vw;
}

@media (max-width: 1024px) {
    .reason-check-box {
        flex-direction: column;
        max-width: none;
    }

    .legalmain .mainlogo img {
        width: 50%;
    }
}

@media (max-width: 576px) {
    #hubspot-messages-iframe-container {
        display: none !important;
        visibility: hidden;
    }
}

/* 20220720 改修
----------------------------------------------- */
@media (max-width: 1024px) {
    .d-none-max-w-1024 {
        display: none;
    }
}

.min-w-235 {
    min-width: 235px;
}

.h-50 {
    height: 50px;
}

.funreadtit.option {
    padding-left: 29px
}

.funreadbox.option li {
    width: auto;
    padding-right: 30px;
}

.funonemerit.align-items-center {
    align-items: flex-start;
}

.proofreading-merit-list {
    margin-left: 15px;
    list-style: disc;
}

@media screen and (max-width: 768px) {
    .proofreading-merit-list {
        margin-left: 20px;
    }
}

.notation-fluctuation-example {
    border: 1px solid #4043C7;
    margin: 5px 0;
    padding: 8px 16px;
    border-radius: 4px;
    background: #FFF;
    color: #000;
    font-size: 14px;
}

.logos {

    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    flex-wrap: nowrap;
    margin: 0 calc(50% - 50vw);
}

.logos__item {
    width: calc((100% - 80px) / 6);
    height: 80px;
    background: #FFF;
    margin: 0 8px;
}


/*
@media screen and (max-width: 768px){
    .logos__item {
        width: 200px;
    }
}

@media screen and (max-width: 480px){
    .logos__item {
        width: calc(50% - 8px);
    }
}
*/

.logos__item a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

.logos__item img {
    width: 140px;
    height: 50px;
    object-fit: contain;
}

.mb-60 {
    margin-bottom: 60px;
}

.feature .featurebtn .w-277 {
    width: 277px;
}

.feature .featurebtn .w-267 {
    width: 267px;
}

.funread .funreadtit.bg-option {
    background: #C7A940;
}

.funread .funreadbox.bd-option {
    border-color: #C7A940;
}

.funread .funreadbox .w-option {
    width: 50%;
}

@media (max-width: 767px) {
    .funread .funreadbox .w-option {
        width: 100%;
    }
}

.funone__list {
    list-style: disc;
    margin: 0 0 16px 20px;
    color: #4043C7;
    font-weight: 700;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 0.015em;
}

.mb-30 {
    margin-bottom: 30px;
}

.mb-50 {
    margin-bottom: 50px;
}

.funanchor .featurebtn a {
    display: flex;
    width: 277px;
    height: 47px;
    border: 1px #3e41c5 solid;
    background: #fff;
    color: #4043c7;
    align-items: center;
    font-weight: 700;
    justify-content: space-between;
    padding: 0 30px 0 30px;
    background-image: url(../img/common/arrow_right.svg);
    background-position: right 20px center;
    background-repeat: no-repeat;
    font-size: 16px;
    line-height: 1.5;
}

.funanchor .featurebtn a:hover {
    color: #fff;
    background: #4043c7;
    background-image: url(../img/common/arrow_right_on.svg);
    background-position: right 20px center;
    background-repeat: no-repeat;
    -webkit-box-shadow: 6px 6px 6px rgb(0 0 0 / 30%);
    -moz-box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.3);
    -ms-box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.3);
    -o-box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.3);
    box-shadow: 6px 6px 6px rgb(0 0 0 / 30%);
}

.to-seminar-list-outer {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 30px;
}

.to-seminar-list {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    width: 197px;
    height: 47px;
    margin: 25px 25px 0;
    padding: 0;
    font-weight: 700;
    background: linear-gradient(90deg, #5457D9 0%, #3D40C4 100%);
    box-shadow: 0px 10px 20px rgba(61, 64, 198, 0.3);
}

.to-seminar-list a {
    width: 100%;
    height: 100%;
    padding: 8px 20px;
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    letter-spacing: 0.1em;
    color: #fff;
}

.to-seminar-list a:hover {
    color: #fff;
}


/* フォーム固定　LP
----------------------------------------------- */
.form-wrapper.form-lp {
    position: fixed;
    top: 0;
    right: 0;
    width: 480px;
    height: 100vh;
    overflow-y: scroll;
    overflow-x: hidden;
    z-index: 50;
    padding-bottom: 50px;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.form-wrapper.form-lpe::-webkit-scrollbar {
    display: none;
  }

@media (max-width: 1440px) {
    .form-wrapper.form-lp {
        position: relative;
        width: 100%;
        height: 1500px;
        overflow: visible;
        z-index: 50;
        padding: 0;
        -ms-overflow-style: auto;
        scrollbar-width: auto;
    }
    .form-wrapper.form-lpe::-webkit-scrollbar {
        display: auto;
      }
}

/* 20241008 改修
----------------------------------------------- */
.topmain .maininner {
    padding-bottom: 110px;
}

.topmain .mainpic {
    align-self: center;
}

.topmain .mainimg {
    position: relative;
    left: -60px;
    top: auto;
    width: 120%;
}

@media (max-width: 1024px) {
    .topmain .mainimg {
        position: relative;
        left: auto;
        top: auto;
        width: auto;
    }
}

.checkmain .maininner {
    padding-top: 200px;
    padding-bottom: 110px;
}

.checkmain .mainpic {
    align-self: center;
}

.checkmain .mainimg {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
}

.feature .featureimg {
    align-self: center;
}

.feature .featureimg img {
    max-width: 750px;
    height: auto;
}

@media (max-width: 767px) {
    .feature .featureimg img {
        width: 100%;
    }
}

.funone .funoneimg img {
    max-width: 650px;
    height: auto;
}

@media (max-width: 767px) {
    .funone .funoneimg img {
        width: 100%;
    }
}

/* 20250203 改修
----------------------------------------------- */

.logos__item {
    width: calc((100% - 80px) / 6);
    height: auto;
    aspect-ratio: 3 / 2;
}

.logos__item.is-big img {
    width: 100%;
    height: 100%;
}

/* 20250318 改修
----------------------------------------------- */
#header .headerbtn .is-white a,
#header .header_gnav_btn .is-white a,
#footer .spfix .is-white a{
    color: #4043c7;
    background: #ffffff;
    border: 1px solid #4043c7;
}

.topmain.topmain2 .maincont .mainbtn {
    display: flex;
    gap: 10px;
}

.topmain.topmain2 .maincont .mainbtn a {
    width: 215px;
    height: 65px;
}

.topmain.topmain2 .maincont .mainbtn a.is-white {
    color: #4043c7;
    background: #ffffff;
    border: 1px solid #4043c7;
}

.topmain.topmain2 .maincont .mainbtn a.is-white::before {
    border-bottom: 2px #4043c7 solid;
    border-right: 2px #4043c7 solid;
}

.topmain.topmain2 .mainpic .mainimg {
    left: auto;
}

@media (max-width: 1200px) {
    .topmain.topmain2 .mainpic .mainimg {
        width: 100%;
    }
}

@media (max-width: 1024px) {
    .topmain.topmain2 .mainpic .mainimg {
        left: 50%;
        transform: translateX(-50%);
    }

    .topmain.topmain2 .maincont .mainbtn {
        flex-direction: column;
    }

    .topmain.topmain2 .maincont .mainbtn a {
        width: 100%;
        height: 50px;
    }
}


/* 20250515 改修
----------------------------------------------- */
.legalnavi .naviico.is-large-icon  {
    margin-bottom: 8px;
}

.legalnavi .naviico.is-large-icon img {
    max-width: 100%;
    width: auto;
    height: 70px;
    object-fit: contain;
}

@media (max-width: 767px) {
    .legalnavi .naviico.is-large-icon  {
        margin-bottom: 0px;
    }

    .legalnavi .naviico.is-large-icon img {
        height: 55px;
    }
}