@charset "utf-8";

/* CSS Document */

/* スマホ・タブレット時のみ適用ハンバーガーメニュー */
@media (max-width: 960px) {
    .atago-sp-logo-img {
        display: block;
        width: 80%;
        height: auto;
        margin: 5px auto 0;
    }

    img.atago-sp-logo-img-phrase {
        width: 110px;
        height: auto;
    }

    img.atago-sp-logo-img-phrase-ja {
        width: 150px;
        height: auto;
    }

    /* 開いたとき背面のhtmlを固定 */
    html.is-fixed,
    html.is-fixed body {
        /* height: 100%; */
        overflow: hidden;
    }

    /* menu-triggerクリック後開く領域 */
    header nav {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 200 !important;
        display: none;
        width: 100%;
        height: auto;
        margin-top: 70px;
        overflow: auto;
        color: #666;
        text-align: left;
        background-color: #fff;
        box-shadow: 2px 3px 6px rgb(0 0 0 / 20%);
    }

    /* ２階層目メニュー部分の折りたたみ　inputとlavelで対応 */
    header nav .acd-check {
        display: none;
    }

    header nav input {
        padding: 0;
        margin: 0;
        vertical-align: bottom;
    }
}

@media (max-width: 960px) {
    html {
        scroll-padding-top: 70px;
    }

    /* ハンバーガーの三本線部分 */
    header #header-main-sp-top {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 300;
        box-sizing: border-box;
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        height: 70px;
        padding: 0 4%;
        background-color: #fff;
        border-bottom: 1px solid #b9b9b9;
    }

    /* ハンバーガーライン開閉 */
    header .menu-trigger {
        position: relative;
        width: 30px;
        height: 22px;
        cursor: pointer;
    }

    header .menu-trigger span {
        position: absolute;
        left: 0;
        box-sizing: border-box;
        width: 100%;
        height: 3px;
        background-color: #666;
        border-radius: 3px;
        transition: all 0.5s 0.2s;
    }

    header .menu-trigger span:nth-of-type(1) {
        top: 2;
    }

    header .menu-trigger.active span:nth-of-type(1) {
        transform: translateY(6px) rotate(-45deg);
    }

    header .menu-trigger span:nth-of-type(2) {
        top: 9px;
    }

    header .menu-trigger.active span:nth-of-type(2) {
        opacity: 0;
    }

    header .menu-trigger span:nth-of-type(3) {
        bottom: 0;
    }

    header .menu-trigger.active span:nth-of-type(3) {
        transform: translateY(-12px) rotate(45deg);
    }

    header .headBTN {
        width: 30px;
        margin: 6px 12px 0 0;
        text-align: center;
    }

    header .headBTN:lang(ar) {
        margin: 6px 0 0 12px;
    }

    header .headBTN:last-child {
        margin-right: 0;
    }

    header .headBTN:last-child:lang(ar) {
        margin-left: 0;
    }

    /* 言語アイコン */
    header .globalBTN {
        width: 80px;
        height: auto;
        margin: 0 0 0 7px;
    }

    header .globalBTN:lang(ar) {
        margin: 0 7px 0 0;
    }

    header .head-BTN-img {
        width: 100%;
        height: auto;
    }

    /* ATAGOロゴ＋フレーズ */
    header .atago-sp-logo-phrase {
        display: inline-block;
        width: 175px;
        margin: 0 auto;
        font-family: Rubik, sans-serif;
        font-size: 14px;
        line-height: 1.3;
        color: #0b419a;
        text-align: center;
        text-decoration: none;
    }

    header .ssmenu {
        border-bottom: 1px solid #e9e9e9;
    }

    header .acd-label {
        position: relative;
        box-sizing: border-box;
        display: block;
        width: 100%;
        height: auto;
        padding-left: 4%;
        margin: 0;
        font-size: 15px;
        font-weight: bold;
        line-height: 60px;
        color: #666;
        cursor: pointer;
        background-color: #fff;
    }

    header .acd-label:lang(ar) {
        padding-right: 4%;
        padding-left: 0;
        text-align: right;
    }

    header .acd-label::after {
        position: absolute;
        top: 5px;
        right: 4%;
        padding: 0 0;
        font-family: FontAwesome;
        font-size: 18px;
        color: #666;
        content: "\f067";
    }

    header .acd-check:checked + .acd-label::after {
        color: #0b419a;
        content: "\f068";
    }

    header .acd-label:lang(ar)::after {
        right: auto;
        left: 4%;
    }

    header .acd-label.singlelink {
        text-decoration: none;
        border-bottom: 1px solid #e9e9e9;
    }

    header .acd-label.singlelink:hover {
        color: #0b419a;
        text-decoration: underline;
        text-decoration-thickness: 2px;
        text-underline-offset: 4px;
    }

    header .acd-label.singlelink::after {
        content: "\f054";
    }

    header .acd-label.singlelink:hover::after {
        color: #0b419a;
    }

    header .acd-check:checked + .acd-label {
        color: #0b419a;
        text-decoration: underline;
        text-decoration-thickness: 2px;
        text-underline-offset: 4px;
    }

    header .acd-content {
        display: none;
        visibility: hidden;
        opacity: 0;
        transition: 0.5s;
    }

    header .acd-check:checked + .acd-label + .acd-content {
        display: inline;
        visibility: visible;
        padding: 0;
        color: #0b419a;
        opacity: 1;
    }

    header .acd-content .acd-content__link {
        box-sizing: border-box;
        display: block;
        width: 100%;
        height: 52px;
        padding-left: 4%;
        font-size: 14px;
        line-height: 52px;
        color: #666;
        text-decoration: none;
        background-color: #f0f0f0;
        border-bottom: 1px solid #e9e9e9;
    }

    header .acd-content .acd-content__link:hover {
        color: #0b419a;
        text-decoration: underline;
        text-decoration-thickness: 2px;
        text-underline-offset: 4px;
    }

    header .acd-content .acd-content__link:lang(ar) {
        padding-right: 4%;
        padding-left: 0;
        text-align: right;
    }

    header .acd-content .acd-content__link--haccp,
    header .acd-content .acd-content__link--impacts {
        position: relative;
        padding: 0 0 0 14%;
    }

    header .acd-content .acd-content__link--haccp:lang(ar),
    header .acd-content .acd-content__link--impacts:lang(ar) {
        padding: 0 14% 0 0;
    }

    header .acd-content .acd-content__link--haccp::before {
        background: url("/images/megamenu_sma/menu_haccp_img_mm.png") no-repeat;
    }

    header .acd-content .acd-content__link--impacts::before {
        background: url("/images/megamenu_sma/menu_impacts_img_mm.png") no-repeat;
    }

    header .acd-content .acd-content__link--haccp::before,
    header .acd-content .acd-content__link--impacts::before {
        position: absolute;
        top: 50%;
        left: 4%;
        width: 28px;
        height: 26px;
        content: "";
        background-size: 28px 26px;
        translate: 0 -50%;
    }

    header .acd-content .acd-content__link--haccp:lang(ar)::before,
    header .acd-content .acd-content__link--impacts:lang(ar)::before {
        right: 4%;
        left: auto;
    }

    header .acd-content .acd-content__quot_button {
        padding: 0;
        font-size: 14px;
        font-weight: normal;
        color: #666;
        background-color: transparent; /* iOSはデフォルト値が違うのでその対策 */
        border: none;
    }
}

@media (max-width: 499px) {
    html {
        scroll-padding-top: 60px;
    }

    header nav {
        height: 100%;
        margin-top: 60px;
    }

    header #header-main-sp-top {
        height: 60px;
    }

    header .headBTN {
        width: 24px;
        margin: 0 12px 0 0;
    }

    header .headBTN:lang(ar) {
        margin: 0 0 0 12px;
    }

    header .globalBTN {
        width: 64px;
        margin: 0 2px 0 8px;
    }

    header .globalBTN:lang(ar) {
        margin: 0 8px 0 2px;
    }

    header .globalBTN:lang(ja) {
        width: 50px;
        margin: 0 12px 0 5px;
    }

    header .menu-trigger {
        width: 27px;
        height: 20px;
        margin: 8px 0 0 0;
    }

    header .menu-trigger span:nth-of-type(2) {
        top: 8px;
    }

    header .atago-sp-logo-phrase {
        width: 130px;
        font-size: 11px;
    }

    header .atago-sp-logo-img-phrase {
        width: 92px;
    }

    header .atago-sp-logo-img-phrase-ja {
        width: 130px;
    }
}
