@charset 'UTF-8';


@media screen and (min-width: 1024px) {
    #site_footer .foot-inner-02 ul {
        width: 880px;
    }
}

#pageup {
    z-index: 99;
    transition: bottom 0.3s ease;
    display: block;
}

.superscript {
    font-size: 0.5em;
    vertical-align: super;
}



@media screen and (min-width: 1024px) {
    #pageup {
        width: 1000px;
    }

    #pageup a {
        bottom: 10px;
        right: -10px;
    }

    #site_footer .foot-inner-02 li a {
        color: #000;
        transition: all 0.3s ease-out;
    }

    #site_footer .foot-inner-02 li a:before {
        transition: all 0.3s ease-out;
    }

    #site_footer .foot-inner-02 li a:hover {
        color: #fff;
    }

    #site_footer .foot-inner-02 li a:hover:before {
        background-image: url(../img/accent_circle_roll.png);
    }
}

@media screen and (max-width: 1023px) {
    #pageup {
        position: relative;
        bottom: 0;
        right: 0;
    }

    #pageup a {
        position: absolute;
        right: 20px;
        bottom: 20px;
    }
}

/* 右上文字 */
span.va-super {
    vertical-align: super;
    font-size: 0.6em;
}

/* ボタン色変更 */
.pt04 a {
    background: #FFE262;
    color: #000;
}

.pt04 a span:after {
    color: #fff;
}

.pt04 a:hover {
    background: #F4A652;
    color: #000;
    border: none;
}

/*---------- ヘッダー ----------*/
#header {
    position: fixed;
    width: 100%;
    background-color: #fff;
    z-index: 100;
    top: 0;
}

.br_sp {
    display: none !important;
}

.br_pc {
    display: block !important;
}

.block_sp {
    display: none !important;
}

.block_pc {
    display: block !important;
}

/*---------- フレックス ----------*/

.flex {
    display: flex;
    justify-content: space-between;
}

.d_column {
    flex-direction: column;
}

.ai_center {
    align-items: center;
}

.ai_end {
    align-items: end;
}

/*---------- img ----------*/

img {
    max-width: 100%;
}

/*---------- a:hover ----------*/

a:hover {
    text-decoration: none;
}

/*---------- テキスト ----------*/

.color_red {
    color: #E50012;
}

.align-c {
    text-align: center;
}

.align-r {
    text-align: right;
}

.align-l {
    text-align: left;
}

.lh-2 {
    line-height: 2;
}



@media screen and (max-width: 1023px) {
    .br_sp {
        display: block !important;
    }

    .br_pc {
        display: none !important;
    }

    .block_sp {
        display: block !important;
    }

    .block_pc {
        display: none !important;
    }
}


@media screen and (max-width: 1023px) {
    body {
        padding-top: 60px;
    }

    /*---------- ヘッダー ----------*/

    #header {
        height: 60px;
    }

    #nav_box {
        z-index: 99999;
        background-color: #F0F0F0;
        padding: 20px 20px;
    }

    #header>.flex,
    #header>.flex>.left,
    h1.logo {
        height: 100%;
    }

    h1.logo {
        display: flex;
        align-items: center;
        width: 90%;
        margin: 0 auto;
    }

    h1.logo img.pc {
        display: block;
        width: 237.5px;
    }

    h1.logo img.sp {
        display: none;
    }

    /* #header .right .tm_logo_link {
        display: none;
    } */

    .g_nav {
        font-size: 1.4em;
        font-weight: 400;
        margin: 0 0 50px;
    }

    .g_nav li {
        position: relative;
    }

    .g_nav a {
        color: #000;
        display: block;
        padding: 12px 0;
        width: 100%;
        border-bottom: 1px dotted #ccc;
        line-height: 1.6;
    }

    .h_nav li {
        margin: 0 0 20px;
    }


}

@media screen and (min-width: 1024px) {
    body {
        padding-top: 125px;
    }

    #header>.flex {
        display: flex;
        justify-content: space-between;
        align-items: center;
        max-width: 1440px;
        margin: 0 auto;
        padding: 20px 40px;
        transition: all 0.3s ease-out;
        height: 85px;
    }

    /*---------- ヘッダーロゴ ----------*/

    h1.logo {
        width: 394px;
        /* margin-top: 25px; */
        transition: all 0.3s ease-out;
    }

    h1.logo a {
        width: 100%;
        display: block;
        height: 100%;
    }

    h1.logo img {
        max-width: 100%;
    }

    h1.logo img.pc {
        animation: show .3s ease-out;
    }

    h1.logo img.sp {
        display: none;
        animation: show .3s ease-out;
    }


    /*---------- トレンドマイクロロゴ ----------*/

    #header .right {
        position: absolute;
        top: -60px;
        max-width: 1360px;
        left: 50%;
        transform: translateX(-50%);
        width: 100%;
        transition: all 0.3s ease-out;
    }

    #header .right .tm_logo_link {
        display: block;
        width: 126px;
        height: 28px;
        position: absolute;
        /* bottom: 0; */
        right: 40px;
        top: 6px;
        background: url(../img/TM_Logo_wff.png) center center no-repeat;
        background-size: contain;
        animation: show .3s ease-out;
    }

    #header .right .tm_logo_link img {
        width: 126px;
        height: 28px;
    }

    /*---------- Hナビ ----------*/

    .h_nav {
        transition: all 0.3s ease-out;
        position: absolute;
        right: 180px;
    }

    .h_nav ul {
        display: flex;
        width: 415px;
        justify-content: space-between;
    }

    .h_nav li {
        width: 200px;
    }

    /*---------- Gナビ ----------*/

    .g_nav {
        background-color: #000000;
        height: 40px;
    }

    .g_nav ul {
        display: flex;
        justify-content: space-between;
        max-width: 1080px;
        margin: 0 auto;
        padding: 10px 0 0px;
    }

    .g_nav>ul {
        height: 100%;
    }

    .g_nav ul li {
        text-align: center;
        width: calc(100% / 5);
    }

    .g_nav>ul>li {
        height: 100%;
    }

    .g_nav ul li.current>a {
        color: #D71920;
        border-color: #D71920;
    }

    .g_nav ul li:not(:last-of-type) {
        margin-right: 30px;
    }

    .g_nav ul li a {
        font-size: 1.5rem;
        color: #fff;
        display: block;
        padding-bottom: 4px;
        border-bottom: 2px solid #fff;
    }

    .g_nav .a_down.a_up {
        color: #D71920;
        border-color: #D71920;
    }

    .g_nav ul li a:hover {
        text-decoration: none;
        color: #D71920;
        border-color: #D71920;
        transition: all .3s ease-out;
    }

    .g_nav ul li a.current {
        color: #D71920;
        border-color: #D71920;
    }

    .g_nav .sp {
        display: none;
    }

    .g_nav .link_button_wrapper {
        pointer-events: none;
    }

    /*---------- スモールヘッダー ----------*/

    #header.small_nav>.flex {
        height: 30px;
        padding: 0 40px;
    }

    #header.small_nav .right {
        top: -30px;
    }

    #header.small_nav .right .tm_logo_link {
        display: none;
    }

    #header.small_nav h1.logo {
        width: 326px;
        margin-top: 0px;
    }

    #header.small_nav h1.logo img.pc {
        display: none;
    }

    #header.small_nav h1.logo img.sp {
        display: block;
    }

    #header.small_nav .pt04 a {
        height: 30px;
    }
}


.g_nav li {
    position: relative;
}

.g_nav .a_down {
    position: relative;
}

.g_nav .sub {
    background-color: #e70012;
    position: absolute;
    top: 30px;
    left: 0;
    display: none;
    padding: 0;
    width: auto;
}

.g_nav .sub li {
    width: 100%;
    text-align: left;
    margin-right: 0 !important;
}

.g_nav .sub a {
    color: #fff;
    padding: 15px;
    border-bottom: none;
    line-height: 1.6;
    font-size: 1.4rem;
    white-space: nowrap;
    /* display: inline-block; */
}

.g_nav .sub a:hover {
    background-color: #fff;
}

@media screen and (max-width: 1023px) {
    .g_nav .sub {
        position: static;
        width: 100%;
        background-color: transparent;

    }

    .g_nav .sub a {
        color: #e70012;
        border-bottom: 1px dotted #ccc;
        transition: all .3s ease-out;
        /* padding: 12px 0; */
        font-size: 13px;
        white-space: wrap;
        line-height: 1.5;
    }

    .g_nav .a_down {
        position: relative;
    }

    .g_nav .a_down:after {
        content: '';
        width: 17px;
        height: 17px;
        background: url(../img/button_S_off.png) center center no-repeat;
        background-size: contain;
        display: inline-block;
        position: absolute;
        top: 50%;
        transform: translateY(-50%) rotate(90deg);
        right: 0;
    }

    .g_nav .a_down.a_up:after {
        transform: translateY(-50%) rotate(-90deg);
    }

    .link_button_wrapper {
        display: flex;
        gap: 15px;
    }

    .g_nav li.link_button {
        width: 100%;
    }


    .g_nav li.link_button a {
        display: flex;
        border-bottom: none;
        background-color: #FFE262;
        height: 42px;
        justify-content: center;
        align-items: center;
        margin: 15px 0;
    }

    #nav_box>.right {
        display: none;
    }

    #top_section02 .content .item:after {
        background-position: center center !important;
        background-size: cover !important;
    }
}

/* Tipsの非表示 */

/* .g_nav > ul li:nth-of-type(4) ul.sub li:nth-of-type(2) {
    display: none;
} */


/*----------------------------------------*/

/* 製品ラインナップ */

/*----------------------------------------*/

.line-up {
    padding: 100px 0;
}

.line-up-inner {
    max-width: 900px;
    margin: 0 auto;
}

.line-up .ttl {
    font-size: 3.2rem;
    color: #D71920;
    text-align: center;
    margin-bottom: 2em;
}

.line-up .flex {
    display: flex;
    justify-content: space-between;
}

.line-up .card {
    width: calc(100% / 3 - 15px);
}

.line-up .card>p {
    font-size: 1.6rem;
    color: #231815;
    text-align: center;
    margin-bottom: 1em !important;
    line-height: 1 !important;
    width: initial !important;
}

.line-up .card>img {
    width: 100%;
    transition: all 0.3s ease-out;
}

.line-up .card:hover {
    text-decoration: none;
}

/* .line-up .card:hover>img {
    transform: scale(1.15);
} */

.line-up .ttl .br_sp {
    display: none;
}

@media screen and (max-width: 1023px) {
    .line-up {
        padding: 125px 0 100px;
    }

    .line-up .ttl .br_sp {
        display: block;
    }

    .line-up .ttl {
        font-size: 2.6rem;
        line-height: 1.6;
        margin-bottom: 3.85em;
    }

    .line-up .flex {
        flex-direction: column;
    }

    .line-up .card {
        width: 280px;
        margin: 0 auto 50px;
    }

    .line-up .card:last-of-type {
        margin-bottom: 0;
    }
}

/*----------------------------------------*/

/* WorryーFreeファミリー */

/*----------------------------------------*/

.tel_wrapper {
    z-index: 99;
    position: relative;
}

.tel_wrapper.section {
    padding: 90px 0;
}

.tel_inner {
    background-color: #FFE262;
    border-radius: 10px;
    max-width: 1000px;
    margin: 0 auto;
    padding: 30px 85px 30px 50px;
}

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

.tel_inner>.flex .left {
    width: calc(100% - 520px);
    min-width: 260px;
}



.tel_inner p.ttl {
    text-align: center;
    font-size: 2.4rem !important;
    margin-bottom: 30px !important;
    letter-spacing: 0.03em;
    width: initial !important;
    line-height: 1 !important;
}

.tel_inner .left p.support-info__heading {
    font-size: 1.4em !important;
    margin-bottom: 0.7em !important;
    color: #3c3c3c;
    width: initial !important;
    line-height: 1 !important;
}

.tel_inner .left p.support-info__store {
    font-size: 1.6rem !important;
    color: #3c3c3c;
    margin-bottom: 0.4em;
}

.tel_inner .left p.support-info__tel {
    font-size: 3.6em !important;
    line-height: 1 !important;
    margin-bottom: 0.25em !important;
    position: relative;
    color: #3c3c3c;
    width: initial !important;
}

.tel_inner .left p.support-info__tel:before {
    content: '';
    background: url(../img/img_tel_blc.png) center center no-repeat;
    background-size: contain;
    width: 0.6666em;
    height: 0.6666em;
    margin-right: 2px;
    display: inline-block;
    color: #3c3c3c;
}


.tel_inner .left p.support-info__hours {
    font-size: 1.1em !important;
    line-height: 1.45 !important;
    width: initial;
}

.tel_inner>.flex .right {
    width: 520px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    max-width: 100%;
}

.tel_inner .right a {
    font-size: 1.6em;
    display: block;
    border: 1px solid #000;
    background-color: #fff;
    width: 250px;
    max-width: calc(50% - 10px);
    padding: 10px 0;
    text-align: center;
    color: #000000;
    height: 42px;
    transition: all 0.3s ease-out;
}

.tel_inner .right a:first-of-type {
    margin-bottom: 1em;
}

.tel_inner .right a:hover {
    text-decoration: none;
    border-color: #fff;
    background-color: #f4a652;
    color: #fff;
}

.col-common-01 h3 {
    color: #fff;
    font-size: 2.4rem;
}

.tel_wrapper.padding_t {
    padding-top: 100px;
}


@media screen and (max-width: 1023px) {
    /* .tel_inner {
        padding: 30px;
        width: 90%;
        margin-right: auto;
        margin-left: auto;
    }

    .tel_inner > .flex {
        flex-direction: column;

    } */

    .tel_wrapper.section {
        padding: 50px 0 75px;
    }


    .tel_inner {
        width: 90%;
        margin-right: auto;
        margin-left: auto;
        padding: 45px 0;
    }

    .tel_inner>.flex {
        flex-direction: column;
    }

    .tel_inner p.ttl {
        font-size: 1.8rem !important;
        margin-bottom: 2em !important;
        line-height: 1.5 !important;
    }

    .tel_inner .left p.support-info__heading {
        text-align: center;
        font-size: 1.6rem !important;
        margin-bottom: 1em !important;
        text-align: left;
    }

    .tel_inner .left p.support-info__store {
        font-size: 1.4rem !important;
    }

    .tel_inner .left p.support-info__tel {
        font-size: 3.2rem !important;
        text-align: center;
    }

    .tel_inner .left p.support-info__hours {
        line-height: 1.5 !important;
        font-size: 1.1rem !important;
    }

    .tel_inner>.flex .right {
        width: 100%;
        padding: 0 35px;
    }

    .tel_inner .right {
        margin-top: 35px;
    }

    .tel_inner .right a {
        width: 100%;
        max-width: 100%;
        font-size: 1.4rem;
        padding: 0.75em 0;
        height: 38px;
    }

    .tel_inner .right a:first-of-type,
    .tel_inner .right a:not(:last-of-type) {
        margin-bottom: 0.875em;
    }

    .tel_inner .left p:nth-of-type(2):before {
        display: inline-block;
        position: static;
        margin-right: 0.125em;
    }

}