/**
 * SymBrowser レスポンシブ用
 */
/**
 * 共通
 */
.root{
    --sb-top-width: 1400px;
    --sb-doc-width: 1200px;
}

#slide_menu::after {
    content: none;
}
/*
  カテゴリメニュー
---------------------------------*/
#nav_toggle {
    display: none;
    position: fixed;
    top: 55px;
    height: 25px;
    margin: 5px 0;
}
#nav_toggle::after {
    clear: both;
}
#nav_toggle > div {
    position: relative;
    width: 25px;
}
#nav_toggle span {
    width: 100%;
    height: 2px;
    left: 0;
    display: block;
    background: #033560;
    position: absolute;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
}
#nav_toggle span:nth-child(1) {
    top: 0;
}
#nav_toggle span:nth-child(2) {
    top: 8px;
}
#nav_toggle span:nth-child(3) {
    top: 16px;
}
.search_group_h2 {
    position: relative;
}
#search_box .icon_clear {
    top: 10px;
    right: 0;
}
ul.fancytree-container > li > span.root_node {
    padding: 10px 4px;
}
/* フォルダ階層メニュー */
[role=group] > li[role=treeitem] {
    margin: 8px 0;
}

/*
  目次メニュー
---------------------------------*/
.index_menu-btn {
    margin: 5px 0;
}
#index_slide_menu .div_slide_menu {
    padding-top: 0px;
}

/*
  ドキュメントナビゲーション
---------------------------------*/
/* ドキュメント上部 */
.mag_documant_top .nav_page:first-child {
    padding: 0 5px;
    margin-top: 0;
}
.mag_documant_top .next_btn,
.mag_documant_top .prev_btn {
    width: auto;
}
/* ドキュメント下部 */
#document_content .next_btn {
    float: right;
}

/*
  右メニュー
---------------------------------*/
.menu_right .container.open {
    width: calc(100% - 270px);
}
/* カテゴリメニュー */
.menu_right #nav_toggle {
    right: 5px;
}
.menu_right #nav_toggle > div {
    float: right;
}
.nav_box_help{
    position: absolute;
    margin: auto;
    width: 260px;
    top: 100px;
    right: 0;
}
.nav_box_help .btn_edit {
    height: 32px;
    width: 32px;
}

.help_search_box {
    width: auto;
    top: 100px;
}

/*
  左メニュー
---------------------------------*/
.menu_left .container {
    left: 260px;
    width: calc(100% - 280px);
}
.menu_left .div_main {
    padding: 25px 16px 45px 60px;
}
/* カテゴリメニュー */
.menu_left #nav_toggle {
    left: 5px;
}
.menu_left .nav_box {
    right: auto;
    left: 0;
}
.menu_left ul.fancytree-container {
    width: 100%;
}

/*
  目次メニュー
---------------------------------*/
.menu_left .index_menu {
    transform: translateX(-100vw);
}
.menu_left .index_menu.is-active {
    transform: translateX(1px);
}
@media screen and (max-width: 1024px) and (orientation: portrait) {
    .index_menu {
        transform: translateX(100vw);
        transition: all .3s linear;
    }
}

@media screen and (max-width: 1023px) {
    body {
        min-width: 100%;
    }
    /* ヘッダー */
    #hd #headmenu {
        right: 5px;
        left: 0!important;
        width: auto;
    }

    .menu_right .container.open,
    .menu_left .container.open {
        width: 100%;
    }

    .div_main {
        min-height: auto;
        padding: 24px 60px 45px 15px
    }

    /*
      カテゴリメニュー
    ---------------------------------*/
    #slide_menu {
        height: calc(100vh - 120px);
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }

    #nav_toggle {
        display: block;
        z-index: 21;
    }

    #nav_toggle > div {
        width: 45px;
    }

    #nav_toggle span:nth-child(2) {
        top: 10px;
    }
    #nav_toggle span:nth-child(3) {
        top: 20px;
    }

    .nav_box {
        position: fixed;
/* sagano del 検索パネルが切れてしまうため一旦削除。スクロールに問題ないか要確認 */
/*        overflow-y: scroll; */
        top: 90px;
        height: 90%;
        width: 280px;
        color: #333;
        background: #fff;
        -webkit-transition: .35s ease-in-out;
        transition: .35s ease-in-out;
        z-index: 300;
        -webkit-overflow-scrolling: touch;
    }

    /* #nav_toggle close */
    .open #nav_toggle,
    .open#nav_toggle {
        z-index: 400;
    }

    .open #nav_toggle span:nth-child(1),
    .open#nav_toggle span:nth-child(1) {
        top: 8px;
        transform: rotate(45deg);
    }
    .open #nav_toggle span:nth-child(2),
    .open#nav_toggle span:nth-child(2) {
        width: 0;
        left: 50%;
    }
    .open #nav_toggle span:nth-child(3),
    .open#nav_toggle span:nth-child(3) {
        top: 8px;
        transform: rotate(-45deg);
    }

    ul.fancytree-container > li > span.root_node {
        font-size: 15px;
    }

    ul.fancytree-container > li.fancytree-lastsib {
        padding-bottom:50px;
        margin-bottom:50px;
    }

    /*
      右メニュー
    ---------------------------------*/
    .menu_right .nav_box {
        right: -768px;
        padding-left: 20px;
    }
    .menu_right .open .nav_box {
        -webkit-transform: translate3d(-768px,0,0);
        transform: translate3d(-768px,0,0);
    }

    /*
      左メニュー
    ---------------------------------*/
    .menu_left .container {
        width: 100%;
        left: 0;
    }
    .menu_left .nav_box {
        left: -768px;
        padding-right: 20px;
    }
    .menu_left .open .nav_box {
        -webkit-transform: translate3d(768px,0,0);
        transform: translate3d(768px,0,0);
    }

    .pager {
        width: auto;
        max-width: 80%;
    }

    .index_menu {
        transform: translateX(100vw);
    }

    .icon_search {
        width: 200px;
    }

}

@media screen and (max-width: 414px) {
    /* ヘッダー */
    div#hd {
        height: auto;
    }

    #hd h1 {
        display: block;
        float: none;
    }
    #hd #selected_lang {
        margin-bottom: 0;
    }
    /*
      カテゴリメニュー
    ---------------------------------*/
    #slide_menu {
        height: calc(100vh - 160px);
    }
    #nav_toggle {
        top: 85px;
    }
    .nav_box {
        top: 115px;
        overflow: scroll;
    }
}
/**
 * Sbtop/Sbcontent：画面幅固定用
 */
@media screen and (min-width: 1024px) and (max-width: 1199px) {
    body {
        min-width: auto;
    }
    .index_menu {
        width: 0;
    }
}
@media screen and (min-width: 1400px) {
    #sb_top{
        width: 1400px;
        margin: 0 auto;
        position: relative;
    }
}

@media screen and (min-width: 1200px) {
    /*#sb_top,*/
    #document_list {
        width: 1200px;
        margin: 0 auto;
        position: relative;
    }

    #sb_menu .div_fixed {
        width: 1200px;
        right: auto;
    }
    #sb_menu .div_fixed_top {
        /*position: fixed;*/
        width: var(--sb-top-width);
        background-color: #FFFFFF;
        z-index: 20;
        padding: 0;
        right: auto;

    }

    #overlay_sb_index {
        width: inherit;
    }

    .index_menu {
        width: 0;
        /*transform: none;*/
    }

    #hd {
        width: 1200px!important;
        margin: 0 auto;
        right: 0
    }
    /* ドキュメントTOP のみ広げる */
    #hd.SBTop{
        width: 1400px!important;
        margin: 0 auto;
        right: 0
    }

    /*
      左メニュー
    ---------------------------------*/
    .menu_left .index_menu {
        transform: none;
    }
}

/**
 * Sbtop
 */
.menu_right .sbdoc_list_padding {
    padding: 0 25px 0 16px;
    margin-top: 0;
}
.menu_left .sbdoc_list_padding {
    padding: 10px 15px 0 25px;
    margin-top: 0;
}
#doc_list_table tr.tr_folder td:last-child img {
    display: none;
}
@media screen and (max-width: 1023px) {
    /*
      左メニュー
    ---------------------------------*/
    .menu_left .sbdoc_list_padding {
        padding: 10px 15px 0 40px;
    }
}
@media only screen and (max-width: 559px) {
    #doc_list_table {
        border-collapse: collapse;
        border-top: none;
        vertical-align: middle;
        width: 100%;
    }
    #doc_list_table thead {
        display: none;
    }
    #doc_list_table tr,
    #doc_list_table td {
        display: block;
        width: auto;
        border: 1px solid #dbe1e8;
        padding: 5px;
    }
    #doc_list_table tr {
        border: 1px solid #dbe1e8;
        border-radius: 5px;
        margin-bottom: 20px;
        padding: 8px 8px 0;
        height: auto;
    }
    #doc_list_table tr:nth-child(even) {
        background-color: #f5f5f5;
    }
    #doc_list_table td {
        border: none;
        border-bottom: 1px solid #dbe1e8;
        display: flex;
        justify-content: space-between;
        text-align: right;
    }
    #doc_list_table td:first-child {
        justify-content: left;
    }
    #doc_list_table td:last-child {
        border-bottom: none;
    }
    #doc_list_table tr:not(.tr_folder) td::before {
        content: attr(aria-label);
        display: inline-block;
        font-weight: bold;
        float: left;
        text-align: left;
        padding-right: 20px;
        white-space: nowrap;
    }
    #doc_list_table tr:not(.tr_folder) td:not([aria-label])::before {
        padding-right: 0;
    }
    #doc_list_table tr:not(.tr_folder) .favorite_doc {
        margin: 0;
    }

    /*
      フォルダ行
    ---------------------------------*/
    #doc_list_table tr.tr_folder {
        padding: 8px;
    }
    #doc_list_table tr.tr_folder td {
        justify-content: left;
    }
    #doc_list_table tr.tr_folder td:first-child {
        display: none;
    }
    #doc_list_table tr.tr_folder td a {
        display: inherit;
    }
    #doc_list_table tr.tr_folder td:last-child img {
        display: inline-block;
        margin-right: 3px;
    }
}
@media screen and (max-width: 414px) {
    .menu_right .sbdoc_list_padding {
        padding-top: 30px;
    }
}

/**
 * Sbcontent
 */
#document_content {
    width: 100%!important;
    padding-top: 0;
}
.index_menu-btn {
    width: 45px;
}
.index_menu {
    height: calc(100vh - 95px);
}
#index_slide_menu {
    height: inherit;
    position: static;
}
.block_movie video {
    max-width: 100%;
}
.block_table .inline_img.inline_only {
    bottom: 0;
}
@media screen and (max-width: 1023px) {
    /*
      目次メニュー
    ---------------------------------*/
    #overlay_sb_index {
        z-index: 22;
    }
    .index_menu-btn {
        height: 50px;
        width: 50px;
        right: 0;
    }
    .index_menu-btn i {
        font-size: 25px;
    }
    .index_menu {
        width: calc(100% / 2);
        height: calc(100vh - 95px);
        top: 90px;
    }
    .tree_root .fancytree-title {
        font-size: 14px;
        margin-bottom: 8px;
    }
    .tree_root .root_title_link {
        font-size: 15px;
    }
    #index_slide_menu .div_slide_menu {
        padding: 0px 0 20px 0;
    }

    /*
      検索結果一覧
    ---------------------------------*/
    #slide_search {
        height: calc(100vh - 140px);
        top: 95px;
    }

    /*
      ドキュメント内容
    ---------------------------------*/
    .block_movie video {
        width: 100%;
    }
    .block_table table {
        font-size: 14px;
    }
    .nav_div {
        height: 30px;
        margin-bottom: 20px;
        margin-left: 50px;
        margin-right: 50px;
    }

    /*
      モーダル：コメント
    ---------------------------------*/
    #overlay_comment > div {
        width: 90%!important;
        max-width: 720px;
        margin: 20px auto!important;
    }
    #overlay_comment .overlayHead,
    #overlay_comment .overlayBody {
        min-width: auto;
    }
    #overlay_comment .div_title {
        width: 100%;
        float: none;
    }
    #overlay_comment #overlay_comment_text {
        width: 100%!important;
    }
}
@media screen and (max-width: 414px) {
    .div_main {
        margin-top: 80px;
    }
    /*
      目次メニュー
    ---------------------------------*/
    .index_menu-btn {
        top: 125px;
    }
    .index_menu {
        width: 70%;
        height: calc(100vh - 130px);
        top: 125px;
    }
    .help_top {
        top: 110px;
    }

    /*
      検索結果一覧
    ---------------------------------*/
    #slide_search {
        height: calc(100vh - 165px);
        top: 85px;
    }

    .nav_box_help{
        position: absolute;
        margin: auto;
        width: 260px;
        top: 160px;
        right: 0;
    }
    .nav_box_help .btn_edit {
        height: 32px;
        width: 32px;
    }

}

/**
 * Sbsearch
 */
@media screen and (max-width: 1023px) {
    .search_group {
        width: calc(100% - 40px)
    }
}

.interaction_select {
    width: 100%;
}
@media screen and (min-width: 600px) and (max-height: 960px)  and (-webkit-device-pixel-ratio: 2)  {
    .nav_box_help{
        position: absolute;
        margin: auto;
        width: 260px;
        top: 130px;
        right: 0;
    }
    .nav_box_help .btn_edit {
        height: 32px;
        width: 32px;
    }

    .help_top {
        top: 80px;
    }
}
@media screen and (max-width: 449px) {
    .nav_box_help{
        position: absolute;
        margin: auto;
        width: 260px;
        top: 130px;
        right: 0;
    }
    .nav_box_help .btn_edit {
        height: 32px;
        width: 32px;
    }

    .help_top {
        top: 120px;
    }
}
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
    .nav_box_help{
        position: absolute;
        margin: auto;
        width: 260px;
        top: 130px;
        right: 0;
    }
    .nav_box_help .btn_edit {
        height: 32px;
        width: 32px;
    }

    .help_top {
        top: 80px;
    }
}

/**
 * ヘルプページ
 */
/*
  カテゴリメニュー
---------------------------------*/
.helpview #nav_toggle {
    top: 100px;
}
@media screen and (max-width: 1023px) {
    /*
      カテゴリメニュー
    ---------------------------------*/
    .helpview .nav_box {
        top: 135px;
    }

    /*
      目次メニュー
    ---------------------------------*/
    .helpview .index_menu {
        height: calc(100vh - 175px);
        top: 88px;
    }
}
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
    .helpview .help_top {
        top: 88px;
    }
}
@media screen and (max-width: 414px) {
    /*
      カテゴリメニュー
    ---------------------------------*/
    .helpview #nav_toggle {
        top: 130px;
    }
    .helpview .nav_box {
        top: 160px;
    }

    /*
      目次メニュー
    ---------------------------------*/
    .helpview .index_menu {
        height: calc(100vh - 180px);
        top: 125px;
    }
}
