@charset "utf-8";

/* -------------------------------------- *
 * 共通
 * -------------------------------------- */
.clearfix:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
}
.clearfix {
    min-height: 1px;
}
* html .clearfix {
    height: 1px;
    /*\*//*/
    height: auto;
    overflow: hidden;
    /**/
}

.main-contents {
    margin:0 0 0 190px;
    padding: 20px 0 0 0;
}
.main-contents p {
    line-height:180%;
    font-size:12px;
}
h1 {
    color: #333333;
    font-size: 22px;
    font-weight: bold;
    margin: 0 18px 7px 0;
}

#crumbs {
    border-bottom: 1px solid #E5E5E5;
    height: 19px;
    margin: 0 20px 30px 0;
}
#crumbs li {
    float:left;
    margin:0 0 0 7px;
}
#crumbs li em{
    padding: 3px 10px 3px 10px;
    display: block;
}
#crumbs li:first-child{
    margin:0;
}
#crumbs li:first-child a{
    background-image:none;
}

#crumbs li a{
    background: url("../img/crumb_top.png") no-repeat scroll -1px center #E5E5E5;
    font-size: 13px;
    padding: 3px 10px 3px 20px;
    text-decoration: none;
    display: block;
    position:relative;
}

#crumbs li a:after{
    background: url("../img/crumb_bottom.png") no-repeat scroll left center transparent;
    content: ".";
    display: block;
    height: 20px !important;
    right: -7px;
    top:0;
    text-indent: -9999px;
    overflow:hidden;
    width: 7px;
    position:absolute;
    z-index: 0;
    float:right;
}

p.update_message {
    background: url("../img/accept.png") no-repeat scroll 7px center #EDFEED;
    border: 1px solid #82EE95;
    font-size: 15px;
    margin: 0 0 14px;
    padding: 7px 0 4px 31px;
    width: 50%;
}

p.err_message {
    background: url("../img/exclamation.png") no-repeat scroll 7px center #FEEDED;
    border: 1px solid #EF8184;
    font-size: 15px;
    margin: 0 0 14px;
    padding: 7px 0 4px 31px;
    width: 50%;
}

a:link {
    color:#3366FF;
}
a:visited {
    color:#3366FF;
}

/* -------------------------------------- *
 * フォームコントール
 * -------------------------------------- */

input[type="text"], input[type="file"], input[type="password"], textarea, select {
    border: 1px solid #999999;
}
input[type="text"], input[type="file"], input[type="password"], textarea {
    margin: 4px 5px;
    padding: 4px;
}

input[type="text"]:focus, textarea[type="text"]:focus {
    background-color:#ECFFFF;
}
th {
    vertical-align: middle;
}

/* -------------------------------------- *
 * ヘッダー
 * -------------------------------------- */
.header {
    background:url("../img/bg_sprite.png") repeat-x scroll 0 bottom #171717;
    border-bottom:solid 1px #CCC;
    position:relative;
}

.header span {
    position:relative;
    float:left;
}

.header span.authUser{
    float:right;
} 
.header span a{
    border-right: 1px solid #000000;
    border-left: 1px solid #252525;
    color: #AAAAAA;
    display: block;
    font-size: 11px;
    text-decoration: none;
    padding: 7px 0 7px 28px;
    text-shadow: 1px 1px 0px #000;
}

.header span > ul {
    display:none;
    background: none repeat scroll 0 0 #171717;
    position: absolute;
    top: 25px;
    right:0px;
    z-index: 3;
}

.header .goHome a{
    background: url("../img/icon_gear.png") no-repeat scroll 0 0 transparent;
    width: 43px;
    float:left;
}

.header .viewSite > a{
    background: url("../img/icon_view.png") no-repeat scroll 1px 3px transparent;
    float: left;
    width: 100px;
}
.header .goSupport a{
    background: url("../img/icon_mail.png") no-repeat scroll 2px 4px transparent;
    float:left;
    width: 120px;
}

.header .authUser > a{
    background: url("../img/icon_user.png") no-repeat scroll 5px 3px transparent;
    float: left;
}
.header span > a:hover{
    background-color:#444;
}

.header .viewSite > ul a{
    width:110px;
}

.header .authUser > a{
    float: right;
}

.header span > ul a {
    color: #AAAAAA;
    text-shadow: 1px 1px 0 #000000;
    display: block;
    text-decoration: none;
    border-bottom:dotted 1px #666;
    font-size:10px;
    padding:10px 5px;
}

.header span > ul a:hover {
    background:#444444;
}

/* -------------------------------------- *
 * フッター
 * -------------------------------------- */
.footer {
    /* border-top:solid 1px #CCC; */
    padding:40px 0;
/*	margin:40px 0 0;*/
    text-align:center;
}

.footer address {
    color:#666;
    font-size: 8px;
    letter-spacing: 0.15rem;
}
.footer .footer-official-link {
    display: block;
    margin: 10px 0 0;
    color:#666;
    font-size: 8px;
}

.error {
    color:#FF0000;
    font-size:13px;
    font-weight:bold;
}


/* -------------------------------------- *
 * ログイン
 * -------------------------------------- */
#login h1,
#logout h1 {
    text-align:center;
    margin:20px 0;
    font-size:16px;
    color:#666;
}

#login h1 strong,
#logout h1 strong {
    font-size:20px;
    font-weight:bold;
    margin:0 3px;
    color:#333;
}

#login .container,
#logout .container {
    text-align:center;
}
#login .header span,
#logout .header span {
    float:none;
    color:#FFF;
}

.login {
    width: 280px;
    margin: 30px auto;
    padding:20px 60px;
    border:solid 1px #CCC;
    background:#F5F5F5;
    text-align:left;
}

.login p{
    margin:10px 0 20px;
}

.login p label{
    font-size:13px;
}

.login input {
    font-size:15px;
    width:100%;
    height:30px;
}

.login p.submit input{
    margin: 26px 0 0;
    padding: 5px;
    width: 135px;
}



/* -------------------------------------- *
 * メニュー
 * -------------------------------------- */
.menu:not(.menu2) {
    position: fixed;
    left: 0;
    width:160px;
    float: left;
    height: 100vh;
    overflow: scroll;
    /* scroll-behavior: smooth; */
}
.menu::-webkit-scrollbar {
    width: 10px;
}


.menu a {
    color:#333;
    text-decoration:none;
}

.menu:not(.menu2) > ul:not(#book-list) {
padding-bottom: 300px;
}

.menu > ul > li {
    background-color:#FFF;
    font-size:12px;
    border-right:solid 1px #CCC;
}
.menu > ul > li.subheading {
    font-size: 11px;
    background-color:#EEEEEE;
}

.menu > ul > li.subheading img{
    width:15px;
    margin:7px 7px 0;
    float:left;
}

.menu > ul > li > a{
    border-bottom:solid 1px #CCC;
    display:block;
    width:149px;
    padding:5px 0 5px 10px;
    /*font-weight:bold;*/
}

/*
.menu > ul > li:last-child > a{
    border-bottom:none;
}
*/
.menu > ul > li.home {
    height:60px;
}
.menu > ul > li.home a{
    padding:16px 0 20px 10px;
}

.menu > ul > li > a span{
    display: block;
    padding: 8px 0 7px 7px;
}
.menu > ul > li > span{
    display: block;
    padding: 10px 0 10px 7px;
    font-weight:bold;
    letter-spacing: 0.075rem;
}

.menu ul.child-menu {
    background: url("../img/menu-selected.png") no-repeat scroll 0 0 #FFF;
    border-bottom: 1px solid #CCCCCC;
    border-right: 1px solid #CCCCCC;
    border-top: 1px solid #E5E5E5;
    left: 160px;
    position: absolute;
    top: 0;
    width: 135px;
    z-index: 2;
    padding: 8px 0;
}

.menu ul.child-menu li a{
    display:block;
    padding:5px 0 5px 30px;
}
.menu ul.child-menu li a:hover{
    background: url("../img/allow.png") no-repeat scroll 20px center transparent;
}

.closed {
    display:none;
}

.opened {
    display:block;
}

.selected > a {
    background-color:#e5e5e5 !important;
}
.selected > a.active {
    background-color: #09adec !important;
    pointer-events: none;
} 

.have-child.selected {
    border-right:solid 1px  #F0F0F0 !important;
}

#container{
    clear:both;
}

/* -------------------------------------- *
 * 女の子管理
 * -------------------------------------- */
h2#gal_title {

}

/* -------------------------------------- *
 * テーブル
 * -------------------------------------- */
table.basic {
    border: 1px solid #DDDDDD;
    border-collapse: separate;
    margin: 5px;
    padding: 1px;
}

table.basic tr{
    background:#FFFFFF;
}

table.basic tr:nth-child(even){
    background:#f8f8f8;
}

table.basic td, table.basic th {
    border-top: solid 1px #E0E0E0;
    border-left: solid 1px #F5F5F5;
    border-right: solid 1px #E0E0E0;
    border-bottom: solid 1px #F5F5F5;
    padding:6px 6px;
    font-size:13px;
    background:transparent;
}

table.basic th {
    text-align:center;
    background:/* url("../img/header-bg.gif") repeat-x scroll 0 0 */ #666;
    color:#FFF;
    font-size: 11px;
}
table.basic td {
    vertical-align:top;
}

table.basic td em {
    font-size:15px;
    font-weight:bold;
    line-height:160%;
}
table.basic td a.action {
    margin:2px 10px;
    color:#006699;
}

.clickable{
    cursor:pointer;
}

.sch_input_box{
    cursor:pointer;
    height:116px;
    text-align:center;
}

.add_link{
    margin:10px 0
}

.add_link a{
    background: none repeat scroll 0 0 #979797;
    border-radius: 4px 4px 4px 4px;
    color: #F9F9F9;
    cursor: pointer;
    margin-left: 4px;
    padding: 5px 10px 5px 25px;
    text-decoration:none;
    position: relative;
}
.add_link a img{
    position: absolute;
    top:4px;
    left:4px;
    z-index:1;
}
.add_link a:hover {
    background: none repeat scroll 0 0 #22769D;
    box-shadow: 1px 1px 4px #777777;
    color: #FFFFFF;
    text-decoration: none;
}
.submit_btn{
    padding:10px 15px;
}

.disabled_row {
    /* background-color:#CCCCCC !important; */
    color: #DDD;
}

.disabled_row a {
    color: #DDD !important;
}

.disabled_row a img {
    opacity: 0.3 !important;
}

/* -------------------------------------- *
 * ホーム
 * -------------------------------------- */

#home h2{
    background: #EEEEEE;
    font-size: 13px;
    margin: 20px 0 0;
    padding: 9px 10px 7px;
    width: 90%;
}

#home h2 + p {
    font-size: 0.55rem;
}

#home p {
    margin: 5px;
    /* text-indent: 16px; */
}
#home .main-contents div{
    margin:0 0 45px;
}
#home .main-contents li{
    font-size:13px;
    line-height:160%;
    text-indent:16px;
}


/* -------------------------------------- *
 * トップページ
 * -------------------------------------- */

#top h2{
    background: none repeat scroll 0 0 #F5F5F5;
    border: 2px solid #E5E5E5;
    font-size: 13px;
    margin: 20px 0 0;
    padding: 6px;
    width: 200px;
}

#top .main-contents p {
    margin: 5px;
    text-indent: 16px;
}
#top .main-contents div{
    margin:0 0 45px;
}


#icp_color1 {
    display: inline-table;
    vertical-align: middle;
}
#icp_color2 {
    display: inline-table;
    vertical-align: middle;
}

.gal_type_list {
    max-width:880px;
}
.gal_type_list li{
    border: 1px solid #CCCCCC;
    display: inline-block;
    margin: 0 0 8px;
    width: 170px;
    padding:4px 0;
}

.gal_type_list label{
    font-size: 13px;
    position:relative;
    display:block;
}

.gal_type_list label img{
    position:absolute;
    right:3px;
    top:0;
}

    .image_item {
    display:none;
}

.box_list li{
    float:left;
    width:150px;
    text-align:center;
    display:block;
    border:solid 1px #CCC;
    padding:10px 0 10px 0;
    font-size:15px;
}

.box_list li em{
    display:block;
    margin:5px 0;
}

table.basic td.on_sch {
    background: #FFFFCC;
}
.sortable_item {
    border: 1px solid #CCCCCC;
    float: left;
    margin: 3px;
    padding: 10px;
    text-align: center;
}

.review i,
.recruit-form i,
.contact-form i,
.reserve-form i,
.enquete-form i {
    display:inline-block;
    width:22px;
    height:10px;
    margin-right:2px;
    padding-bottom:1px;
    text-align:center;
    font-size:10px;
    border-radius:2px;
}
#version {
    font-size:12px;
    color:#ccc;
    margin-top:8px;
}
.menu > ul > li > a.active {
    color: #ffffff;
    background:#09adec;
    position:relative;
    pointer-events: none;
}

.menu > ul > li > a.active:after {
    position: absolute;
    content: '';
    border-right: 3px solid #72d7ff;
    bottom: 0;
    right: 0;
    transform: translateX(-10px);
    width: 5px;
    height: 100%;
    display: block;
}

/* Target Firefox */
@-moz-document url-prefix() {
    .menu > ul > li > a.active:after {
        transform: translateX(0);
    }
}
  

.main-contents p.sub_con{
    font-size: 10px;
    color: #666;
}
.menu > ul > li > a.active:hover:after {
    border-left-color: transparent;
}

table.basic2 {
    border: 1px solid #DDDDDD;
    border-collapse: separate;
    margin: 5px;
    padding: 1px;
}

table.basic2 tr{
    background:#FFFFFF;
}

table.basic2 td, table.basic2 th {
    border-top: solid 1px #E0E0E0;
    border-left: solid 1px #F5F5F5;
    border-right: solid 1px #E0E0E0;
    border-bottom: solid 1px #F5F5F5;
    padding:6px 6px;
    font-size:13px;
    background:transparent;
}

table.basic2 th {
    text-align:center;
    background:/* url("../img/header-bg.gif") repeat-x scroll 0 0 */ #666;
    color:#FFF;
    font-size: 11px;
}

/* グローバルナビ */
table.basic3 {
    width: 100%;
    margin: 0;
}

table.basic3 td {
    max-width: 200px;
    text-wrap: wrap;
    word-break: break-word;
    overflow-wrap: break-word;
    vertical-align: middle;
}

/* フリースペース */
#link table.basic {
    margin: 5px 5px 20px;
}