/* サイドナビ開閉UI */
#btn-trigger {
    display: none;
}

/* 画像透過用 */

img.opa-05 {
    opacity: 0.5;
}

/* m-grid m-box併用 バナー＋テキスト並列配置用 */

.m-grid.m-grid_bnr .m-box_inner {
    border: none;
    padding: 0;
}

.m-image.m-image_left {
    align-items: flex-start;
}

.m-grid.m-grid_bnr .m-box_inner:hover {
    box-shadow: none;
}

/* アンカーリストから下矢印を消す処理 */

.m-link-list-anchor.hide-anchor>li>a:before {
    border: none;
    width: 0px;
}

.m-link-list-anchor.hide-anchor>li>a:after {
    background: none;
    width: 0px;
}

.m-link-list-anchor.hide-anchor>li>a {
    padding-left: 0;
}

/* m-related-menu_list カレント表示用aタグをdivに置き換え */
.m-related-menu_list li .m-related-menu_box {
    display: flex;
    padding: 20px;
    text-decoration: none;
    transition: color 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

/* 背景：グレー */
.bg-gray {
    background: #525b5c;
}

@media screen and (min-width: 1535px) {

    /* 製品詳細ページ用アンカーリンクリスト サイドナビ配置 */
    .side-nav {
        display: block;
        position: fixed;
        right: 0;
        z-index: 1600;
        top: 35%;
    }

    .side-nav .side-nav_inner {
        max-width: 240px;
        background: #f6f6f7;
        border: 1px solid #525b5c;
        border-right: 0;
        border-radius: 8px 0 0 8px;
        padding: 15px;
    }

    .side-nav .side-nav_inner .m-link-list-anchor>li>a {
        font-size: 1.4rem;
    }

    .side-nav .side-nav_inner .m-link-list-anchor>li>a:before {
        border-bottom: 2px solid #ea002a;
        border-left-width: 0;
        border-right: 2px solid #ea002a;
        border-top-width: 0;
        height: 10px;
        left: 2px;
        top: 5px;
        transform: rotate(45deg);
        width: 10px;
    }

    .side-nav .side-nav_inner .m-link-list-anchor>li>a:after {
        background-color: #ea002a;
        height: 12px;
        left: 6px;
        top: 10px;
        transform: translateY(-50%);
        width: 2px;
    }

    .side-nav .side-nav_inner .m-link-list-anchor:after,
    .side-nav .side-nav_inner .m-link-list-anchor:before {
        background-color: #525b5c;
    }
}

@media screen and (min-width:769px) and (max-width:1534px) {

    /* 製品詳細ページ用アンカーリンクリスト サイドナビ見切れ対応js連動 */
    #m-slidenav-right {
        display: flex;
        position: fixed;
        right: -130px;
        z-index: 1600;
        top: 35%;
        transition:1.0s;
    }
    #m-slidenav-right.active{
        margin-right:130px;
        transition:1.0s;
    }

    #m-slidenav-right .side-nav_inner {
        max-width: 240px;
        background: #f6f6f7;
        border: 1px solid #525b5c;
        border-right: 0;
        border-radius: 8px 0 0 8px;
        padding: 15px;
    }

    #m-slidenav-right .side-nav_inner .m-link-list-anchor>li>a {
        font-size: 1.4rem;
    }

    #m-slidenav-right .side-nav_inner .m-link-list-anchor>li>a:before {
        border-bottom: 2px solid #ea002a;
        border-left-width: 0;
        border-right: 2px solid #ea002a;
        border-top-width: 0;
        height: 10px;
        left: 2px;
        top: 5px;
        transform: rotate(45deg);
        width: 10px;
    }

    #m-slidenav-right .side-nav_inner .m-link-list-anchor>li>a:after {
        background-color: #ea002a;
        height: 12px;
        left: 6px;
        top: 10px;
        transform: translateY(-50%);
        width: 2px;
    }
    #m-slidenav-right .side-nav_inner .m-link-list-anchor:after, .m-link-list-anchor:before {
        background-color: #525b5c;
    }

    /* サイドナビ開閉用 */
    #btn-trigger {
        display:block;
        position: relative;
        top: 10px;
        width: 40px;
        height: 40px;
        cursor: pointer;
        background: #525b5c;
        border-radius: 4px 0 0 4px;
    }
    #btn-trigger span {
        position: absolute;
        left: 25%;
        width: 55%;
        height: 4px;
        background-color: #fff;
        border-radius: 4px;
    }
    #btn-trigger, #btn-trigger span {
        display: inline-block;
        transition: all .5s;
        box-sizing: border-box;
    }
    #btn-trigger span:nth-of-type(1) {
        top: 20%;
    }
    #btn-trigger span:nth-of-type(2) {
        top: 45%;
    }
    #btn-trigger span:nth-of-type(3) {
        bottom: 20%;
    }
    #btn-trigger.active {
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
        border-radius: 0 0 4px 4px;
    }

}

@media screen and (min-width: 769px) {

    /* [製品詳細ページ] PC時の製品画像の突き抜け回避（縦幅100%で枠内に留める） */

    .m-heading-layout_image .img-h_fit{
        height:100%;
    }

    /* PC時のみ横幅900pxのボックスを適用させる */

    .box900-pc {
        max-width: 850px;
        margin: 0 auto;
    }

    .box900-pc .m-text-lead_text {
        font-size: 2.5rem;
    }

    /* PC時のみ横幅850pxのボックスを適用させる */

    .box850-pc {
        max-width: 850px;
        margin: 0 auto;
    }

    .box850-pc .m-text-lead_text {
        font-size: 2.5rem;
    }

    /* PC時のみ横幅800pxのボックスを適用させる */

    .box800-pc {
        max-width: 800px;
        margin: 0 auto;
    }

    .box800-pc .m-text-lead_text {
        font-size: 2.5rem;
    }

    /* PC時のみ横幅750pxのボックスを適用させる */

    .box750-pc {
        max-width: 750px;
        margin: 0 auto;
    }

    .box750-pc .m-text-lead_text {
        font-size: 2.5rem;
    }

    /* PC時のみ横幅700pxのボックスを適用させる */

    .box700-pc {
        max-width: 700px;
        margin: 0 auto;
    }

    .box700-pc .m-text-lead_text {
        font-size: 2.5rem;
    }

    /* PC時のみ横幅700pxのボックスを適用させる */

    .box700-pc {
        max-width: 700px;
        margin: 0 auto;
    }

    .box700-pc .m-text-lead_text {
        font-size: 2.5rem;
    }

    /* PC時のみ横幅650pxのボックスを適用させる */

    .box650-pc {
        max-width: 650px;
        margin: 0 auto;
    }

    .box650-pc .m-text-lead_text {
        font-size: 2.5rem;
    }

    /* PC時のみ横幅600pxのボックスを適用させる */

    .box600-pc {
        max-width: 600px;
        margin: 0 auto;
    }

    .box600-pc .m-text-lead_text {
        font-size: 2.5rem;
    }

    /* PC時のみ横幅550pxのボックスを適用させる */

    .box550-pc {
        max-width: 550px;
        margin: auto;
    }

    .box550-pc .m-grid {
        margin-top: 0;
    }

    .box550-pc .m-grid.column5 .m-image {
        height: 50px;
    }

    /* PC時のみ横幅500pxのボックスを適用させる */

    .box500-pc {
        max-width: 500px;
        margin: 0 auto;
    }

    .box500-pc .m-text-lead_text {
        font-size: 2.5rem;
    }

    /* PC時のみ横幅450pxのボックスを適用させる */

    .box450-pc {
        max-width: 450px;
        margin: 0 auto;
    }

    .box450-pc .m-text-lead_text {
        font-size: 2.5rem;
    }

    /* PC時のみ横幅400pxのボックスを適用させる */

    .box400-pc {
        max-width: 400px;
        margin: 0 auto;
    }

    .box400-pc .m-text-lead_text {
        font-size: 2.5rem;
    }

    /* PC時のみ横幅350pxのボックスを適用させる */

    .box350-pc {
        max-width: 350px;
        margin: 0 auto;
    }

    .box350-pc .m-text-lead_text {
        font-size: 2.5rem;
    }

    /* PC時のみ横幅300pxのボックスを適用させる */

    .box300-pc {
        max-width: 300px;
        margin: 0 auto;
    }

    .box300-pc .m-text-lead_text {
        font-size: 2.5rem;
    }

    /* m-related-menu_list PC時のみ3カラム適用 */
    .m-related-menu_list.column3 {
        flex-wrap: wrap;
    }

    .m-related-menu_list.column3 li {
        max-width: calc(100% / 3 - 1.7%);
        width: calc(100% / 3 - 1.7%);
        margin-left: 2.5%;
        margin-bottom: 2.5%;
    }

    _:-ms-lang(x)::-ms-backdrop, .m-related-menu_list.column3 li {
        max-width: calc(100% / 3 - 1.666%);
        width: calc(100% / 3 - 1.666%);
        margin-left: 2.49%;
        margin-bottom: 2.5%;
    }

    .m-related-menu_list.column3 li:first-child {
        margin-left: 0;
    }

    .m-related-menu_list.column3 li:nth-child(3n+1) {
        margin-left: 0;
    }

    .m-related-menu_list.column3 li:nth-child(4+n) {
        margin-bottom: 0;
    }

    /* m-related-menu_list PC時のみ4カラム適用 */
    .m-related-menu_list.column4 {
        flex-wrap: wrap;
    }

    .m-related-menu_list.column4 li {
        max-width: calc(100% / 4 - 1.874%);
        width: calc(100% / 4 - 1.874%);
        margin-left: 2.5%;
        margin-bottom: 2.5%;
    }

    .m-related-menu_list.column4 li:first-child {
        margin-left: 0;
    }

    .m-related-menu_list.column4 li:nth-child(4n+1) {
        margin-left: 0;
    }

    .m-related-menu_list.column4 li:nth-child(5+n) {
        margin-bottom: 0;
    }

    /* ダイアログ用：アイコンサイズ調整 */
    .m-table-collapse.-connectivitymodule .m-table-collapse_item>dt {
        flex-basis: initial;
    }

    /* ダイアログ用：説明テキスト欄調整 */
    .m-table-collapse.-connectivitymodule .m-table-collapse_item .m-table-collapse_content {
        padding: 10px;
    }

    .m-table-collapse.-connectivitymodule .m-table-collapse_item>dd {
        display: flex;
        align-items: center;
    }
}

@media screen and (max-width: 768px) {

    /* 製品詳細ページ用：アンカーリンクリスト SP時は非表示 */
    .side-nav {
        display: none;
    }

    /* ダイアログ用：after要素非表示 */
    .m-table-collapse.-connectivitymodule .m-table-collapse_button:after {
        display: none;
    }
}

@media screen and (max-width: 480px) {

    /* SP時アンカーリンクは縦並びに変更 */
    .m-link-list-anchor {
        display: flex;
        flex-wrap: wrap;
        margin-left: -20px;
        margin-top: 30px;
        padding-bottom: 20px;
        padding-top: 6px;
        position: relative;
        flex-direction: column;
    }

    /* m-related-menu_list カレント表示用aタグをdivに置き換え */
    .m-related-menu_list li .m-related-menu_box {
        display: block;
    }

    .m-related-menu_list li a {
        display: block;
    }

    .m-related-menu_image {
        display: block;
        margin-top: 10px;
    }

    .m-related-menu_image img {
        display: block;
        margin-left: auto;
    }

    /* SP時製品詳細ページのスペックテーブルの幅を狭める */
    div.m-app-spec-table table.main-table {
        width: 550px;
    }
    div.m-app-spec-table table.main-table .main-table__tr--td.fixed-table table.sub-table tr:nth-child(1) {
        width: 45%;
    }
    div.m-app-spec-table table.main-table .main-table__tr--td.fixed-table table.sub-table tr:nth-child(2) {
        width: 55%;
    }
    div.m-app-spec-table table.main-table .main-table__tr--td.scroll-table table.sub-table tr:nth-child(1) {
        width: 45%;
    }
    div.m-app-spec-table table.main-table .main-table__tr--td.scroll-table table.sub-table tr:nth-child(2) {
        width: 55%;
    }
    div.m-app-spec-table .table-scroll .table-scroll_pictograph {
        left: 42.5%;
    }
}