@charset "UTF-8";
/* CSS Document */

body {
    margin: 0;
    padding:0 5px 20px 0;
}

.tree-menu {
    margin: 0;
    padding: 0;
    _font-family: "Hiragino Sans", "HiraginoSans", "ヒラギノ角ゴシック", "Hiragino Kaku Gothic ProN", "HiraKakuProN", "ヒラギノ角ゴ Pro", "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "Meiryo", "メイリオ", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
    font-family:osaka, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Verdana;
    font-size: 13px;
    line-height: 1.8;
    color: #000;
}

.tree-menu a, .tree-menu a:active{
    color: #333;
    text-decoration:underline;
}
.tree-menu a:hover, .tree-menu a:focus{
    color: #000;
}
.tree-menu a:visited{
    color: #647;
}

.tree-menu ul {
    /*display: none;*/
    height: 0;
    opacity: 0;
    transition: none;
}

.tree-menu li {
    list-style-type: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    margin: 2px 0;
    padding: 0;
}

.tree-menu input[type=checkbox] {
    position: absolute;
    opacity: 0;
    display: none;
}

/* 通常リンク */
.tree-menu .rlink{
    display:block;
    margin: 0 0 0 4px;
    padding: 0;
}
.tree-menu .plink{
    margin: 0 0 4px 0;
    padding: 0;
}
.tree-menu .plink li, .tree-menu .rlink li{
    min-height:20px;
    line-height: 1.2;
    padding-left:20px;
    background: url(../img/arrows/linkarrow-14.png) no-repeat left top;
}


/* 第1階層 */
.tree-menu label, .tree-menu a { 
    position: relative;
    /* display: block; */
    height: auto;
    opacity: 1;
    padding: 0 0;
}
.tree-menu label {
    cursor: pointer;
    padding-left:23px;
}
.tree-menu label:before {
    content: '';
    display: inline-block;
    width: 13px;
    height: 13px;
    position: absolute;
    top: 2px;
    left: 4px;
    background: url(../img/micon_plus.png) no-repeat left center;
    transform:rotate(-90deg);
    transition: all .3s ease-out;
}
.tree-menu input[type=checkbox]:checked + label:before { 
    background: url(../img/micon_minus.png) no-repeat left center;
    transform:rotate(0deg);   
    transition: all .3s ease-out;
}
.tree-menu input[type=checkbox]:checked + label + ul,
.tree-menu input[type=checkbox]:checked + label:nth-of-type(n) + ul {
/* display: block; */
    height: auto;
    opacity: 1;
    transition: all .8s ease-out;
}

/* 第2階層 */
.tree-menu ul label,
.tree-menu ul a { 
    padding-left:0;
}
.tree-menu ul label:before {
    left: -20px;
}

/* 第3階層 */
.tree-menu ul ul label,
.tree-menu ul ul a { 
    padding-left: 0;
}
.tree-menu ul ul label:before {
    left: -20px;
}



