@media screen and (min-width: 769px) {
    .sp_vis{
        display: none;
    }
    #faq {
        width: 980px;
        margin: 0 auto 80px;
        font-size: 16px;
    }
    #faq .faq_top_outer {
        margin-bottom: 100px;
    }
    #faq .faq_top_inner ul {
        display: flex;
    }
    #faq .box_ {
        margin-bottom: 50px;
        width: 100%;
    }
    #faq .common_headline2_ {
        margin: 0 0 10px 0;
        padding: 10px;
        border-bottom: 1px solid #ddd;
        color: #330000;
        font-size: 20px;
        font-weight: normal;
        line-height: 1;
    }
    #faq .comment_ {
        padding: 0;
        margin: 15px 0;
    }
    #faq .qa_open {
        width: 960px;
        margin: 10px auto 0 auto;
    }
    #faq .qa_open dt span {
        display: block;
        padding: 15px 55px 15px;
    }
    #faq .qa_open dt {
        width: 960px;
        height: 51px;
        display: block;
        background: url(../../../img/usr/freepage/faq/vis07_bg_q_close.gif) no-repeat;
        color: #000000;
        text-decoration: none;
        cursor: pointer;
    }
    #faq .qa_open dt.open {
        background: url(../../../img/usr/freepage/faq/vis07_bg_q_open.gif) no-repeat;
    }
    
    #faq .qa_open dd {
        display: none;
        background: url(../../../img/usr/freepage/faq/vis07_bg_a_btm.gif) left bottom no-repeat;
        padding-bottom: 5px;
    }
    #faq .qa_open dd p {
        border-left: 1px #cfcfcf solid;
        border-right: 1px #cfcfcf solid;
        background: url(../../../img/usr/freepage/faq/vis07_logo_a.gif) 20px 12px no-repeat;
        padding: 15px 55px;
    }
    .faq_keyword_search {
        border: 5px solid #333;
        display: block;
        width: 300px;
        font-size: 19px;
        font-weight: bold;
        text-align: center;
        padding: 10px 10px 10px 45px;
        border-radius: 6px;
        background-image: url(../../../img/usr/freepage/faq/glass.png);
        background-repeat: no-repeat;
        background-size: 33px 33px;
        background-position: 40px center;
        margin: 75px auto 75px;
        color: #333;
        transition: 0.3s ease;
        background-color: #fff;
    }
    .faq_keyword_search:hover{
        text-decoration: none;
        color: #c8102e;
    }
    .faq_top_title {
        text-align: center;
        font-size: 21px;
        letter-spacing: 1px;
        text-indent: 60px;
        background-image: url(../../../img/usr/freepage/faq/cart.png);
        background-repeat: no-repeat;
        background-size: 50px 52px;
        background-position: 230px center;
        padding: 15px 0;
        margin-bottom: 35px;
    }
    .faq_top_list li {
        width: calc((100% - 160px) / 4);
    }
    ul.faq_top_list li:first-of-type {
        margin-left: 50px;
    }
    ul.faq_top_list li {
        margin-right: 20px;
    }
    ul.faq_top_list li:last-of-type{
        margin-right: 0;
    }
    .faq_top_list li a {
        width: 100%;
        display: block;
        border: 2px solid #ccc;
        border-radius: 5px;
        font-size: 18px;
        color: #333;
        transition: 0.3s ease;
        text-align: center;
        padding: 15px 0;
    }
    .faq_top_list li a:hover{
        text-decoration: none;
        opacity: 0.6;
    }
    .faq_top_outer {
        margin-bottom: 100px;
    }
}
@media only screen and (max-width: 768px){
	.pc_vis {
        display: none;
    }
    #faq {
        margin-bottom: calc((50 / 375) * 100vw);
    }
    #faq p.comment_ {
        padding: calc((10 / 375) * 100vw);
    }
    .faq_top_outer {
        margin-bottom: calc((100 / 375) * 100vw);
        width: 90%;
        margin-left: auto;
        margin-right: auto;
    }
    .faq_keyword_search {
        display: block;
        width: calc((282 / 375) * 100vw);
        margin: calc((75 / 375) * 100vw) auto;
        padding: calc((20 / 375) * 100vw) 0 calc((20 / 375) * 100vw) calc((25 / 375) * 100vw);
        font-size: calc((15 / 375) * 100vw);
        font-weight: bold;
        text-align: center;
        border-radius: 6px;
        background-image: url(../../../img/usr/freepage/faq/glass.png);
        background-repeat: no-repeat;
        background-position: calc((7 / 375) * 100vw) center;
        background-size: calc((23 / 375) * 100vw) calc((23 / 375) * 100vw);
        color: #333;
        transition: 0.3s ease;
        background-color: #fff;
        border: 3px solid #333;
        text-decoration: none;
        box-sizing: border-box;
    }
    h2.faq_top_title {
        text-align: left;
        text-indent: 0;
        width: calc((330 / 375) * 100vw);
        padding: calc((15 / 375) * 100vw) 0 calc((15 / 375) * 100vw) calc((70 / 375) * 100vw);
        margin: 0 auto calc((35 / 375) * 100vw);
        background-position: 5px center;
        box-sizing: border-box;
        font-size: calc((17 / 375) * 100vw);
        letter-spacing: 1px;
        background-image: url(../../../img/usr/freepage/faq/cart.png);
        background-repeat: no-repeat;
        background-size: calc((50 / 375) * 100vw) calc((52 / 375) * 100vw);
    }
    .faq_top_list {
        display: flex;
        flex-wrap: wrap;
        width: 87%;
        margin: 0 auto;
    }
    ul.faq_top_list li {
        width: calc((100% - 10px) / 2);
        margin-bottom: calc((20 / 375) * 100vw);
        margin-right: calc((10 / 375) * 100vw);
    }
    ul.faq_top_list li:first-of-type {
        margin-left: 0;
    }
    ul.faq_top_list li:nth-of-type(even) {
        margin-right: 0;
    }
    .faq_top_list li a{
        width: 100%;
        display: block;
        text-decoration: none;
        padding: calc((20 / 375) * 100vw) 0;
        box-sizing: border-box;
        font-size: calc((16 / 375) * 100vw);
        font-weight: bold;
        border: 2px solid #ccc;
        border-radius: 5px;
        color: #333;
        transition: 0.3s ease;
        text-align: center;
    }
    div.freepage_ .box_ {
        padding: 0;
    }
    .common_headline2_ {
        padding: calc((10 / 375) * 100vw) 0 calc((10 / 375) * 100vw) calc((20 / 375) * 100vw);
        margin: calc((20 / 375) * 100vw) calc((10 / 375) * 100vw) calc((10 / 375) * 100vw);
        color: #333333;
        font-size: calc((16 / 375) * 100vw);
        font-weight: bold;
        line-height: 1.4;
        position: relative;
    }
    .common_headline2_::after {
        width: calc((5 / 375) * 100vw);
        height: 60%;
        -moz-border-radius: 5px;
        -webkit-border-radius: 5px;
        border-radius: 5px;
        content: "";
        position: absolute;
        bottom: 20%;
        left: 0;
        background: #E60019;
    }
    div.freepage_ .box_ .inner_ {
        overflow: hidden;
        padding: 0 calc((10 / 375) * 100vw) calc((10 / 375) * 100vw);
    }
    #faq .qa_open {
        margin-bottom: 2px;
    }
    #faq .qa_open dt {
        padding: calc((13 / 375) * 100vw) 0 calc((13 / 375) * 100vw) calc((30 / 375) * 100vw);
        background: #f9f9f9 url(../../../img/usr/freepage/faq/vis07_logo_q.gif) left center no-repeat;
    }
    #faq .qa_open dd {
        display: none;
        padding: calc((10 / 375) * 100vw) 0 calc((10 / 375) * 100vw) calc((30 / 375) * 100vw);
        background: url(../../../img/usr/freepage/faq/vis07_logo_a.gif) left calc((6 / 375) * 100vw) no-repeat;
    }
}