@media only screen and (min-width: 1280px) {}

@media only screen and (min-width: 1200px) {}

@media only screen and (min-width: 1024px) {}

@media only screen and (min-width: 991px) {
    .openbtn {
        display: none;
    }

}

@media only screen and (min-width: 769px) {}


@media only screen and (min-width: 468px) {}






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

    .flex_wrap.outline_content {
        gap: 0rem;
    }

}



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


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



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


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

    h2 {
        font-size: 2.8rem;
        line-height: 3.2rem;
    }

    
    h4,
    .heading-size-4 {
        font-size: 1.6rem;
    }


    .flex_wrap {
        flex-flow: column;
    }


    .sec_cnt_v_wrap {
        width: 100%;
    }



    
    .sec_title_v_wrap {
        width: 100%;
    }


.company-menu {
    position: relative;
    top:0;
    width: 100%;
    max-width: 990px;
    margin-left: 0px;
    z-index: 100;
    margin-top: 5rem;
    margin-bottom:2rem;
    
}

.company-menu ul {
    display:flex;
    flex-wrap: wrap;
    align-items: flex-start;
    flex-direction: column;
    margin-left:2rem;
}


.company-menu li {
    
    border-bottom: none;
    padding-bottom: 1.2rem;
    padding-top: 0;
    margin-left:1rem;
    margin-right:1rem;
    background-position: 5px 5px;

}






}


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

    .rightbnr {
        display: none;
    }

    .mailon {
        padding: 8px;
    }

    .mailon:after {
        display: none;

    }

    .mailoff {
        border-bottom: 1px solid #aaa;
        padding: 8px;
    }

    .mailoff:after {
        display: none;
    }

    .mailoffcenter {
        padding: 8px;
    }

    .mailoffcenter:after {
        display: none;
    }

    .mailend {
        padding: 8px;
    }

    .mailcomplete {
        padding: 8px;
    }

    .navbar,
    .navbar .container {
        height: auto;
    }

    #navbarNavDropdown ul li,
    #navbarNavDropdown ul li a {
        border: none !important;
    }

    #navbarNavDropdown ul li a:hover {
        background: #ddd;
    }

    #formarea .submit {

        font-size: 1.4rem;
        letter-spacing: 1px;
        padding: 8px 5px;

    }


    #pagetitle .titlecontact h2 {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        color: #fff;
        margin: 0;
        padding: 0;
        font-size: 2.5rem;

    }


.swiper-wrap {
    padding-left: 1rem;
    padding-bottom: 1rem;
}

    .service-txt {
        width: 100%;
        margin-bottom:5rem;
    }


    #top-main {
        width: 100%;
        min-width: auto;
        margin-bottom:5rem;
    }



.main-area {
    width: 100%;
    
    min-width: auto;
    
}

.service-btn{
    width:100%;
}


.top-catch span {
    font-size: 1.8rem;
}

.top-catch {
    margin-left: 1rem;
}


.top-catch span:nth-of-type(1) {
    padding-right: 0;
}
.top-catch span:nth-of-type(2) {
    padding-left: 0;
}
.top-catch span:nth-of-type(3) {
    padding-left: 0;
}

.top-catch span.en {
    
    margin-top:1rem;
    
}


.footlogo {
    margin-bottom: 2rem;
}




.service-area:before{
    position:absolute;
    content:"";
    background:#efefee;
    width:100%;
    height:100%;
    z-index:-1;
    bottom:5rem;
    
}

.support-box{
    margin-left:0px;
    margin-bottom:8rem;
}

.support-title h3{
    font-size:2rem;
    letter-spacing: 0;
}

.support-title img{
    width:100%;
    max-width: 90px;
    border-radius: 50%;
    margin-bottom:-30px;
}

.sec-btn {
    padding: 0 50px 0 20px;
}


.product_wrap{
    gap:1rem;
    margin:5rem auto 6rem auto;
    
}

.product_box{
    width:calc(50% - 1rem);
    padding:.5rem;
}
.product_name{
    font-size:2.1rem;
    font-weight:500;
    
}
.product_name_jp{
    font-size:1.2rem;
}
.Prose-splash {
    padding-bottom:4rem;
  }

  .guide_box{
    width:100%;
    
  }

  .guide_wrap{
    
    padding:2rem 2rem;
  }




  .ol_detail {
    width: 100%;
    padding-left:0;
    font-size: 14px;
}

.ol_subject {
    width: auto;
    margin-left:0;
    margin-bottom: 0rem;
    font-size: 13px;
    font-weight:700;
    color:#3862ac;
}


.ol_line::before {
    width:0;
}
.ol_line::after {
    left: 0;
    width: 100%;
}



.ceo-img {
    width:100%;
    max-width:250px;
}


.option_box{
    width:calc(50% - 3rem);

}


.product_detail_box{
    width:100%;
}

.product_detail{
    width:100%;
}
.flow_img{
    width:100%;
    max-width:300px;
    margin-left:auto;
    margin-right:auto;
}


.product_detail_left{

    width:100%;
}


form input.halfinput {
    width: 100%;
    max-width: 800px;
}


.access-text{
    margin-bottom:6rem;
}

.gaikan-img {
    margin-bottom: 2rem;
}



}




@media screen and (max-width: 736px) {
    .cd-fixed-bg {
        background-size: cover;
        background-attachment: scroll;
    }
}



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

    #top-main {
        flex-direction: column;
        align-items: center;
    }

    .swiper-wrap {
        width: 100%;
    }

    .top-catch {
        margin-left: 0rem;
        margin-top:5rem;
    }


    .top-catch span {
        font-size: 2.4rem;
        font-weight:400;
    }

    


}



@media only screen and (max-width: 500px) {
.main-area {
    width: 100%;
    margin: 0 auto;
    padding: 3rem 15px;
}

.service-txt{
    padding:0 2rem;
}

.service-wrap {
    margin-top: 5rem;
    margin-bottom:3rem;
}
.service-txt {
    margin-bottom: 3rem;
}


.recfctitle img {
    width: 150px;

}


.option_box{
    width:90%;
    margin:0 auto 5rem auto;

}



}



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

    h2 {
        font-size: 1.8rem;

        line-height: 2.4rem;
        margin-bottom: 1rem;
    }



    .content-wrapper {
        padding-top: 75px;
    }

    .swiper-slide img{
 width: calc(100% - 10px);
}


    .service-area-dark .inner::before {
        content: "";
        position: absolute;

        top: 0;
        left: 0;
        z-index: -1;
        width: 100%;
        height: 100vh;
        background-repeat: no-repeat;
        background-position: 50% 100%;
        background-image: url(../imgs/bg_06.jpg);
        background-size: cover;
        padding: 200px 0;
    }


    .no-bg {
        padding: 0;
    }

    .service-area-dark .inner {
        padding: 200px 0;
    }


    .service-area-dark {
        position: relative;
        display: block;
        justify-content: space-between;
        flex-wrap: wrap;
        margin: 0 0 300px 0;
        z-index: 2;
        background: none !important;
        background-size: none !important;
        background-attachment: none !important;

    }



    .content-wrapper.philosohpy_bg {
        background: none !important;
        background-size: none;
        background-attachment: none;
    }



    .content-wrapper.philosohpy_bg::before {
        content: "";
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        z-index: -1;
        width: 100%;
        height: 100vh;
        background-repeat: no-repeat;
        background-position: 50% 100%;
        background-image: url(../imgs/philo_bg02.jpg);
        background-size: cover;
    }


    



}






@media only screen and (min-width:769px) and (max-width:1000px) {
    #navbarNavDropdown ul li a {
        display: block;

        font-size: 1.2rem;
        padding: .1em .3em;
        letter-spacing: 0.08rem;

    }

    .rightbnr {
        font-size: 0;
        margin-left: 8px;
    }

    .entrybtn {
        text-align: center;

        width: auto;
        margin: 0 0 0 0;
        display: inline-block;
        height: 100px;
        width: 100px;
        position: relative;
    }

    .entrybtn a {
        white-space: nowrap;
        color: #fff;
        padding: 0 0px;
        font-size: 1.2rem;
        letter-spacing: 0;
        text-decoration: none;
        display: block;
        transition: 0.5s;
        background: linear-gradient(90deg, #a0dccc, #a0dccc 150px, #a0dccc 350px, #0080cd);
        background-position: 100% 0;
        background-size: 500px 100px;
    }


}