@media screen and (min-width: 768px) {
    .hidden-pc {
        display: none;
    }

    .hidden-phone {
        display: block;
    }
}

@media screen and (max-width: 768px) {
    .hidden-phone {
        display: none;
    }

    .hidden-pc {
        display: block;
    }
}

@media screen and (max-width: 956px) {
    html, body {
        overflow-x: hidden;
    }


    #header {
        height: 100vh;
    }

    header {
        height: 60px;
        padding: 0 16px;
    }

    header .wrap {
        width: 100% !important;
        height: 60px;
    }

    header .wrap h1 {
        width: 74px;
        height: 20px;
    }

    header .wrap .gnb {
        display: none;
    }

    header .wrap .slide-menu {
        width: 30px;
        height: 30px;
        background: url("../images/ic-menu-black.svg") center center no-repeat;
    }

    header .wrap .close {
        width: 30px;
        height: 30px;
        background: url("../images/ic-close-black.svg") center center no-repeat;

    }

    /*side-menu*/
    .side-menu {
        background: rgba(0, 0, 0, 0.9);
        background-size: contain;
        color: #fff;
        position: fixed;
        width: 100%;
        height: 100vh;
        left: 0;
        top: 60px;
        z-index: 99999;
        padding: 0 16px;

    }

    .side-menu nav a {
        display: block;
        color: #fff;
        font-size: 14px;
        font-weight: 400;
        padding: 20px 0;
        border-bottom: 1px solid #666;
    }

    .side-menu nav a.on {
        color: #FF7CAA;
    }

    .side-menu .bottom {
        margin-top: 30px;
        clear: both;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .side-menu .bottom button.ic-member {
        border: 1px solid #666;
        border-radius: 4px;
        width: 118px;
        height: 40px;
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: center;
        color: #fff;
        font-size: 14px;
    }

    .side-menu .bottom button.ic-member i {
        width: 20px;
        height: 20px;
        background: url("../images/ic-link-white.svg") center center no-repeat;
        margin-left: 11px;
        color: #fff;
    }

    .side-menu .language button {
        width: auto;
        height: 26px;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        color: #fff;
        font-size: 14px;
        border-radius: 0;
        margin-left: 16px;
        font-weight: 300;
    }
    .side-menu .language button:first-child:after{
        content: '';
        display: inline-block;
        width: 1px ;
        height: 14px;
        background-color: #ddd;
        margin-left: 20px;
    }


    .side-menu .close {
        width: 30px;
        height: 30px;
        background: url("../images/ic-close.svg") center center no-repeat;
        position: absolute;
        right: 16px;
        top: -46px;
    }

    /*main-visual*/
    .main-visual {
        margin-top: 0;
        height: 100vh;
    }



    .main-visual .wrapper {
        height: 100vh;
    }

    .main-visual .slider {
        padding: 0 16px;
    }

    .main-visual .slider .wrap {
        display: block;
        height: auto;

        position: absolute;
        top: 107px;
        left: 27px;
        right: 16px;
    }

    .main-visual .slider-main {
        justify-content: start;

    }

    .main-visual .main-title {
        width: 90%;
        font-size: 24px;
        line-height: 40px;
        text-align: left;
        font-weight: 300;
        text-shadow: 1px 2px 1px black;
    }

    .main-visual .main-title b {
        font-size: 26px;
        line-height: 30px;
    }

    .main-visual .main-title span {
        font-size: 10px;
        line-height: 16px;
        text-shadow: none;
    }

    .main-visual .main-title small{
        font-size: 10px;
        font-weight: 300;
        width: 100%;
        margin-top: 20px;
        word-break: break-all;
    }

    .main-visual .slider .wrap {
        width: auto;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .main-visual .slider .wrap .main-title {
        width: auto;
        margin-right: 0;
        margin-bottom: 80px;
    }

    .main-visual .slider .wrap .description {
        width: auto;
        font-size: 12px;
        font-weight: 400;
    }

    .main-visual .slider .wrap .description br {
        display: none;
    }

    .main-visual .slider .wrap .pagination {
        width: 100%;
        display: block;
        height: 10px;
    }

    .main-visual .slider .wrap .pagination button {
        width: 54px;
        height: 2px;
        border-radius: 2px;
        display: inline-block;
        flex: none;
        margin-left: 3px;

    }

    /*container*/
    .container {
        padding-top: 40px;
    }

    .container .wrap,.container .wrapper{
        width: auto;
    }

    .container section {
        width: auto;
        padding: 0 0;
    }

    .container h2.title {
        font-size: 24px;
        margin-bottom: 20px;
        line-height: 20px;
    }
    .container h2.title:before{
        min-width: 60px;
        height: 20px;
        background-size: auto 20px;
    }
    .container .solution-container h2.title:before{
        background-size: auto 20px;
    }
    .container h2.title small{
        font-size: 14px;
    }

    /*business-container*/
    .business-container {
        height: auto;
    }
    .business-container .description{
        width: auto;
        font-size: 14px;
        line-height: 18px;
    }
    .business-container .wrapper{
        background-size: auto 30px;
        background: none;
    }
    .business-container .wrap {
        padding-bottom: 0;
        margin-bottom: 0;
        width: auto;
        flex-direction: column;
        justify-content: start;

    }

    .business-container .wrap .cont {
        width: 100%;
        /*height: 480px;*/
        height: 280px;
        margin-bottom: 40px;
        margin-right:0;
        flex: none;
    }
    .business-container .wrap .cont .img img{
        object-fit: cover;
    }


    .business-container .wrap .cont dl dt {
        font-size: 18px;
        line-height: 27px;
    }

    .business-container .wrap .cont dl dd {
        font-size: 12px;
        line-height: 18px;
        margin-bottom: 20px;
    }

    .business-container .wrap .cont .btn button {
        /*width: 124px;*/
        height: 34px;
        font-size: 12px;
    }

    .business-container .wrap .cont .btn button i {
        width: 20px;
        height: 20px;
        margin-left: 10px;
    }

    /*solution-container*/
    section.solution-container {
        padding-top: 50px;
        padding-bottom: 30px;
    }
    .solution-container .description{
        width: auto;
        font-size: 14px;
        line-height: 18px;
    }
    .solution-container .wrapper{
        background: none;
    }
    .solution-container .wrap {
        flex-direction: column;
        box-shadow: none;
        margin-bottom: 0;
        height: auto;
    }

    .solution-container  .cont {
        flex-direction: row;
        justify-content: start;
        align-items: end;
        flex: none;
        width: 100%;
        height: 280px;
        margin-bottom: 40px;
    }



    .solution-container  .cont dl dt {
        font-size: 18px;
        line-height: 27px !important;
        text-align: center;
    }


    .solution-container  .cont dl dt br {
        display: none;
    }

    .solution-container .cont dl dd {
        font-size: 12px !important;
        line-height: 18px;
        margin-top: 10px;
        text-align: center;
    }

    /*news-container*/
    section.news-container {
        height: auto;
    }

    .news-container .wrap {
        width: auto;

        padding: 50px 0;
    }

    .news-container .wrap .news-wrap {
        height: auto;
    }

    .news-container .wrap .news-wrap .img-cont {
        width: 160px;
        margin-right: 10px;
    }

    .news-container .wrap .news-wrap .img-cont .img {
        width: 160px;
        height: auto;
        margin-bottom: 10px;
    }

    .news-container .wrap .news-wrap .img-cont dl dt {
        font-size: 12px;
        line-height: 18px;
        overflow: hidden;
        text-overflow: ellipsis;
        word-wrap: break-word;
        display: -webkit-box;
        -webkit-line-clamp: 2; /* ellipsis line */
        -webkit-box-orient: vertical;
        height: 37px;
    }

    .news-container .wrap .news-wrap dl dd {
        font-size: 8px;
    }

    .news-container .wrap .news-wrap span.label {
        font-size: 8px;
        width: 45px;
        height: 18px;
        border-radius: 8px;
        border: 1px solid rgba(255, 255, 255, 0.5);
        line-height: 8px;
        font-weight: 300;
        margin-right: 5px;
    }

    .news-container .wrap .news-wrap span.date {
        font-size: 10px;
        letter-spacing: 0;
    }

    .news-container .wrap .news-wrap .list-cont {
        flex: 1;
        width: auto;
    }

    .news-container .wrap .news-wrap .list-cont ul li {
        padding: 10px 0;
        border-bottom: 0.5px solid rgb(158, 158, 158, 0.5);
    }

    .news-container .wrap .news-wrap .list-cont ul li button {
        font-size: 12px;
        margin-bottom: 0;
        white-space: break-spaces;
        overflow: hidden;
        text-overflow: ellipsis;
        word-wrap: break-word;
        display: -webkit-box;
        -webkit-line-clamp: 1; /* ellipsis line */
        -webkit-box-orient: vertical;
        height: 16px;
        letter-spacing: 0;
    }

    /*.partner-container*/
    section.partner-container {
        padding: 50px 0;
    }

    .partner-container .wrap {
        height: 90px;
        display: flex;
        justify-content: center;
        align-items: center;
    }


    /*address-container*/
    section.address-container {
        height: auto;
        padding: 0;
    }

    section.address-container .wrap {
        flex-direction: column;
        width: 100% !important;
    }

    .address-container .img {
        width: auto;
        margin-right: 0;
        height: auto;
    }
    .address-container .img img{
        height: auto;
    }

    .address-container .cont {
        margin-top: 20px;
        margin-bottom: 50px;
        padding: 0 16px;
    }

    .address-container h3.title {
        font-size: 18px;
        margin-bottom: 20px;
        line-height: 23px;
    }

    .address-container dl dt {
        font-size: 12px;
        margin-bottom: 0px;
    }

    .address-container dl dd {
        font-size: 12px;
        line-height: 18px;
    }

    .address-container .ic-mail {
        width: 16px;
        height: 16px;
        background-size: contain;
    }


    /*footer .wrap*/

    #footer{
        height: 330px;
    }


    footer .wrap {
        width: auto;
        padding: 50px 0;
        position: relative;
        height: 100%;
    }

    footer .wrap .fnb {
        width: auto;
        flex-direction:column;
        justify-content: start;
        align-items: start;
    }

    footer .wrap .fnb h6 {
        width: 60px;
        height: 20px;
    }

    footer address {
        font-size: 8px;
        font-weight: 300;
        line-height: 15px;
        flex-direction: column;
    }


    footer .wrap .fnb .logo-wrap {
        position: initial;
        margin-right: 0;
        margin-bottom: 20px;
    }

    footer .dropdown {
        position: absolute;
        top: 39px;
        right: 0;
        z-index: 10;
    }

    footer .dropdown ul {
        /*left: auto !important;*/
        /*right: -2px;*/
        top: calc(100% - 30px);
        width: 117px;
        padding: 7px 0;
    }

    footer .dropdown li a {
        padding: 0 9.5px;
        height: 30px;
        line-height: 34px;
        vertical-align: middle;
        font-size: 10px;
        background-size: 5px;
    }


    footer .dropdown button {
        width: 117px;
        height: 30px;
        border-radius: 2px;
        border: 0.5px solid rgb(158, 158, 158, 0.9);
    }

    footer .dropdown button span {
        font-size: 12px;
        line-height: 18px;
        font-weight: 400;
    }

    /*en common*/
    body.en header .wrap h1{
        height: 20px;
    }
    body.en,.main-visual .main-title small{
        word-break: break-word;
    }
    body.en br{
        border: 1px solid red;
        display: none;

    }
    body.en .main-visual .main-title{
        font-size: 16px;
    }
    body.en .main-visual .main-title small{
        width: auto;
    }

    body.en .container h2.title:before{
        min-width: 80px;
        background-size: auto 20px
    }
    body.en .container .solution-container h2.title:before{
        background-size: auto 20px
    }
    body.en .description{
        width: auto;
    }

    body.en .business-container .wrap .cont dl{
        height: 127px;
        padding: 10px 5px 0 5px;
    }

    body.en footer .wrap .fnb h6{
        background-size: contain;
    }




}

/*end*/

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


    .wrapper,.wrap,.main-title{
        width: 90% !important;
    }

    .business-container .wrapper,.solution-container .wrapper{
        background-size: auto 80px;
        background-position: right center;

    }

    section.address-container .wrap{
        width: 100% !important;
    }
}

