
/********************************      Basic Structure      ********************************/

html {
                font-size: 100%;
                height: 100%;
                margin-bottom: 1px; /* Always show a scrollbar to avoid jumping when the scrollbar appears  */
                }

body {
                /*font-family: Arial, Helvetica, sans-serif;*/
				font-family: "メイリオ", Meiryo, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
                color: #555;
                /*background: #f0f0f0 url('../img/bg-body.gif') top left repeat-y;*/
                background: #f0f0f0 ;
                font-size: 12px;
                }

#body-wrapper {
                background: url('../img/bg-radial-gradient.gif') fixed 230px top no-repeat;
                }

/********************************      Elements styling      ********************************/

h1, h2, h3, h4, h5, h6 {
                /*font-family: Helvetica, Arial, sans-serif;*/
                color: #222;
                font-weight: bold;
                }

h1            {
				/*font-family: Calibri, Helvetica, Arial, sans-serif; font-size: 31px; font-weight: bold; color: #fff; */
				  position: absolute; top: -1000px;  /* Remove this line and delete the logo (in the HTML) if you don't want an image as a logo */
				}

h2            {
  font-size: 26px; padding: 0 0 20px 0;
  display:none;
}
h3            { font-size: 17px; padding: 0 0 10px 0; }
h4            { font-size: 16px; padding: 0 0 5px 0; }
h5            { font-size: 14px; padding: 0 0 5px 0; }
h6            { font-size: 12px; padding: 0 0 5px 0; }


a              { color: #57a000; text-decoration: none; }
a:hover     { color: #000; }
a:active     { color: #777; }
a:focus     { outline: 1px; }

strong       { font-weight: bold; color: #333; }

small   		{ font-size: 0.85em; }

pre           { /*font-family: monospace;*/ }

p,dl {
                padding: 5px 0 10px 0;
                line-height: 1.6em;
                }

p.lead {
				margin-bottom:1em;
				}

strike {
				color:#999;
				text-decoration:none;
				}

/********************************      General Classes      ********************************/

.clear {
                clear: both;
                }

.align-left {
                float: left;
                }

.align-right {
                float: right;
                }

span.must {
				color:#B41111;
				font-size:1.2em;
				font-weight:bold;
				}


.more-link {
  cursor: pointer;
  color: #007bff; /* 青色 */
  font-weight: bold;
  margin-left: 4px;
}

.more-link:hover {
  text-decoration: underline;
}

/* .is-collapsedクラスを持つ要素内のbrタグを非表示にする */
.expand-text.is-collapsed br {
  display: none;
}
/************ Button ************/
.button {
				/*font-family: Verdana, Arial, sans-serif;*/
                display: inline-block;
                /*background: #3f580f url('../img/bg-button-green.gif') top left repeat-x !important;*/
                background: #3f580f !important;
                border: 1px solid #3f580f !important;
                padding: 7px 7px 7px 7px !important;
                color: #fff !important;
                font-size: 12px !important;
                cursor: pointer;
                line-height: 1em;
                 border-radius: 4px;
                 white-space: nowrap;
                }
                .button_up {
                  /*font-family: Verdana, Arial, sans-serif;*/
                          display: inline-block;
                          /*background: #3f580f url('../img/bg-button-green.gif') top left repeat-x !important;*/
                          /*background: #3f580f !important;*/
                          border: 1px solid #bebebe !important;
                          padding: 4px 7px 4px 7px !important;
                          color: #fff !important;
                          font-size: 22px !important;
                          cursor: pointer;
                          border-radius: 10px;
                          }

                .button_down {
                  /*font-family: Verdana, Arial, sans-serif;*/
                          display: inline-block;
                          /*background: #3f580f url('../img/bg-button-green.gif') top left repeat-x !important;*/
                          /*background: #3f580f !important;*/
                          border: 1px solid #bebebe !important;
                          padding: 4px 7px 4px 7px !important;
                          color: #fff !important;
                          font-size: 14px !important;
                          cursor: pointer;
                          border-radius: 10px;
                          } 
                          .button_up2 {
                            /*font-family: Verdana, Arial, sans-serif;*/
                                    display: inline-block;
                                    /*background: #3f580f url('../img/bg-button-green.gif') top left repeat-x !important;*/
                                    /*background: #3f580f !important;*/
                                    border: 1px solid #bebebe !important;
                                    padding: 4px 7px 4px 7px !important;
                                    color: #fff !important;
                                    font-size: 17px !important;
                                    cursor: pointer;
                                    border-radius: 5px;

                                    }
          
                          .button_down2 {
                            /*font-family: Verdana, Arial, sans-serif;*/
                                    display: inline-block;
                                    /*background: #3f580f url('../img/bg-button-green.gif') top left repeat-x !important;*/
                                    /*background: #3f580f !important;*/
                                    border: 1px solid #bebebe !important;
                                    padding: 4px 7px 4px 7px !important;
                                    color: #fff !important;
                                    font-size: 12px !important;
                                    cursor: pointer;
                                    border-radius: 5px;
                                    } 
.button:hover {
                text-decoration: underline;
                }

.button.back {
                background: #888 url('../img/bg-button-gray.gif') top left repeat-x !important;
				color:#4c4c4c !important;
                border: 1px solid #666 !important;
				}

.button:active {
                /* padding: 5px 7px 3px 7px !important;*/
                }

a.remove-link {
				color: #bb0000;
				}

a.remove-link:hover {
				color: #000;
				}

/********************************      Sidebar      ********************************/

#sidebar {
                /*background: url('../img/bg-sidebar.gif') top left no-repeat;*/
                background: #E1E3E4;
                width: 230px;
                height: 100%;
                position: absolute;
                position: fixed;
                left: 0;
                top: 0;
                color: #888;
                font-size: 11px;
                }

#sidebar #sidebar-wrapper {
                margin: 0 0 0 9px;
                }

#sidebar a,
#sidebar a:active {
                color:#ccc;
                }

#sidebar a:hover {
                color:#fff;
                }

#sidebar #sidebar-title {
                margin: 40px 0 40px 15px;
                }

#sidebar #logo {
                margin: 40px 0 40px 0;
                }

#sidebar #profile-links {
                padding: 0 15px 20px 15px;
                text-align: right;
                line-height: 1.5em;
                }

/************ Sidebar Accordion Menu ************/

#sidebar #main-nav {

                width: 206px;
                padding: 0;
                margin: 0 0 0 15px;
                /*font-family: Helvetica, Arial, sans-serif;*/
                }

#sidebar #main-nav li {
                list-style: none;
                padding-bottom: 10px;
                text-align: left;
                }

#sidebar #main-nav li a.nav-top-item {
                background: transparent url('../img/bg-menu-item-green.gif') right center no-repeat; /* Background image for default color scheme - green */
                padding: 10px 15px;
                color: #fff;
                font-size: 14px;
                cursor: pointer;
                display: block;
                text-decoration: none;
                }

#sidebar #main-nav li a.current {
                /*background-image: url('../img/bg-menu-item-current.gif') !important;*/
                color: #333;
                font-weight: normal;

                }

#sidebar #main-nav li a.current:hover {
                color: #333;

                }

#sidebar #main-nav ul {
                padding: 0;
                font-size: 16px;
                margin: 0;
                }

#sidebar #main-nav ul li {
                list-style: none;
                margin: 0;
                text-align: left;
				            padding: 0;
                margin-bottom: 2px;
                background-color: #fff;
                 border-radius: 5px 0px 0px 5px;
                }

#sidebar #main-nav ul li a {
                padding: 8px 15px;
                display: block;
                color: #666;
                font-size: 13px;
                line-height: 1.2em;
                background-color: #eee;
                border-radius: 5px 0px 0px 5px;
                }

#sidebar #main-nav ul li a:hover,
#sidebar #main-nav ul li a.current,
#sidebar #main-nav ul li a.current:hover {
                color: #000;
                }

#sidebar #main-nav ul li a.current {
                background-color: #fff;
                /*background: transparent url('../img/menu-current-arrow.gif') right center no-repeat !important;*/
                }


/************ Messages ************/

#messages p,
#messages form {
                border-top: 1px solid #ddd;
                padding: 10px 0;
                }

#messages h4 {
                padding: 10px 0;
                }

#messages fieldset {
                margin: 0;
                }

#messages textarea {
                margin: 0 0 15px 0;
                }

/********************************      Main Content      ********************************/

/************ Layout ************/

/* --- #main-content のスタイルを修正 --- */
#main-content {
    margin-left: 0; /* サイドバーの幅 + 余白 */
    padding-bottom: 80px; /* フッターナビゲーション分の余白 */
}
/* 2. 新しく追加した .content-wrapper で中央寄せを実現します */
.content-wrapper {
    max-width: 1000px; /* コンテンツの最大幅 */
    margin: 0 auto;    /* 上下は0, 左右は自動で中央寄せ */
    padding: 40px 30px 0 30px; /* コンテンツの内側の余白 */
}
.column-left {
                width: 46%;
                float: left;
                }

.column-right {
                width: 46%;
                float: right;
                }

#page-intro {
                font-size: 17px;
                padding: 0 0 20px 0;
                }


#footer {
				border-top: 1px solid #ccc;
				margin: 40px 0 0 0;
				padding: 20px 0;
				font-size: 12px;
        text-align: center;
                }
p.pagetop{
  margin:  0;
  font-size: 12px;
  text-align: right;
  width:140px;
  float: right;
  }
/************ Lists ************/

#main-content ul,
#main-content ol {
                padding: 10px 0;
                }

/* Unordered List */

#main-content ul li {
                background: url('../img/icons/bullet_black.png') center left no-repeat;
                padding: 4px 0 4px 20px;
                }

/* Ordered List */

#main-content ol {
                padding: 0 0 0 24px;
                }

#main-content ol li {
                list-style: decimal;
                padding: 4px 0;
                }

/*************** Content Box ***************/

.content-box {
                border: 1px solid #ccc;
                margin: 0 0 20px 0;
                background: #fff;
                }
.content-box h4{
                font-weight: normal;
                }
.content-box-header {
                margin-top: 0px;
                height: 40px;
                }

.content-box-header h3 {
                padding: 12px 15px 10px;
                font-weight: normal;
                float: left;
                }

.hg1 {
                background:#4DADA1;
                color:#fff;
}
.hg1 h3{
color:#fff;
}

.hp1 {
                background:#F7C9CE;
                color:#666;
}
.hp1 h3{
color:#666;
}

.hy1 {
                background:#ffe4c4;
                color:#fff;
}
.hy1 h3{
color:#000;
}

.hb1 {
                background:#83BAD6;
                color:#fff;
}
.hb1 h3{
color:#fff;
}

.ho1 {
                background:#1c3c66;
                color:#fff;
}
.ho1 h3{
color:#fff;
}

.hw1 {
                background:#ECD070;
                color:#666;
}
.hw1 h3{
color:#666;
}

ul.content-box-tabs {
                float: left;
                padding: 12px 15px 0 0 !important;
				        margin: 0 !important;
                margin-top: -30px !important;
                }

ul.content-box-tabs li {
                float: left;
                margin: 0;
                padding: 0 !important;
                background-image: none !important;
                }

ul.content-box-tabs li a {
                font-size: 15px;
                padding: 8px 10px;
                display: block;
                margin: 1px;
                border-left:1px solid #ccc;
                border-bottom: 0;
                }

ul.content-box-tabs li a:hover {
                color: #57a000;
                }

ul.content-box-tabs li a.current {
                background: #fff;
                border: 1px solid #ccc;
                border-bottom: 0;
                margin: 0;
                }

.content-box-header p {
				padding-top:10px;
				}

.content-box-content {
                padding: 20px;
                font-size: 13px;
                border-top: 1px solid #ccc;
                }

/************ 顧客画面のタブ ************/
                ul.content-box-tabs2 {
                                float: left;
                                padding: 12px 15px 0 0 !important;
                				            margin: 0 !important;
                                }

                ul.content-box-tabs2 li {
                                float: left;
                                margin: 0;
                                padding: 0 !important;
                                background-image: none !important;
                                }

                ul.content-box-tabs2 li a {
                                /*color: #333;*/
                                background: #eee;
                                padding: 8px 10px;
                                display: block;
                                margin: 1px;
                                border: 1px solid #ccc;
                                border-bottom: 0;

                                }

                ul.content-box-tabs2 li a:hover {
                                color: #57a000;
                                }

                ul.content-box-tabs2 li a.current {
                                color: #333;
                                background: #fff;
                                font-weight: bold;
                                border: 1px solid #ccc;
                                border-bottom: 0;
                                margin: 1px;
                                padding: 8px 10px;
                                }
/************ Table ************/

#main-content table {
				        margin-bottom:1em;
                width: 100%;
                border-collapse: collapse;
                }

#main-content table thead th {
                font-weight: bold;
                font-size: 15px;
                border-bottom: 1px solid #ddd;
                }

#main-content tbody {
                border-bottom: 1px solid #ddd;
                }

#main-content tbody tr {
                background: #fff;
                }

#main-content tbody tr.alt-row {
                background: #f3f3f3;
                }

#main-content table td,
#main-content table th {
                padding: 10px;
                line-height: 1.3em;
                border: 1px solid #ddd;
                }

#main-content table .actions {
				white-space:nowrap;
				}

#main-content table tfoot td .bulk-actions {
                padding: 15px 0 5px 0;
                }

#main-content table tfoot td .bulk-actions select {
                padding: 4px;
				border: 1px solid #ccc;
                }

#main-content table img {
				vertical-align:middle;
				}

#main-content table#homemate{

}
#main-content table#homemate td,
#main-content table#homemate th {
                padding: 4px;
                line-height: 1.3em;
                border: 1px solid #ddd;
                height: 1.3em;
                }
#main-content table#homemate th {
  text-align: center;
  line-height: 1.3em;
}
/*************** Pagination ***************/

#main-content .pagination {
                text-align: right;
                padding: 20px 0 5px 0;
                /*font-family: Verdana, Arial, Helvetica, sans-serif;*/
                font-size: 10px;
                }
#main-content .pagination.bottom {
				padding-bottom:20px;
				}
.pagination a {
                padding: 3px 6px;
                }

.pagination span {
                margin: 0 2px;
				color:#aaa;
				}

.pagination .number {
				border: 1px solid #ddd;
                }

.pagination a.current {
                background: #469400 url('../img/bg-button-green.gif') top left repeat-x !important;
                border-color: #3f580f !important;
                color: #fff !important;
                }

.pagination a.current:hover {
				text-decoration: underline;
                }

.pagination span.current {
                padding: 3px 6px;
                background: #469400 url('../img/bg-button-green.gif') top left repeat-x !important;
				border: 1px solid #3f580f;
                color: #fff !important;
				border-radius:4px;
                }

.pagination a.first,
.pagination a.prev,
.pagination a.next,
.pagination a.last {
				padding:0;
				}
/************ Shortcut Buttons ************/

.shortcut-button {
                border: 1px solid #ccc;
                background: #f7f7f7 url('../img/shortcut-button-bg.gif') top left no-repeat;
                display: block;
                width: 150px;
                margin: 0 0 20px 0;
                }

.shortcut-button span {
                border: 1px solid #fff;
                display:block;
                padding: 15px 10px 15px 10px;
                text-align: center;
                color: #555;
                font-size: 12px;
                line-height: 1.3em;
                }

.shortcut-button span img {
                margin-bottom: 10px;
                }

.shortcut-button:hover {
                background: #fff;

                }

.shortcut-button span:hover {
				color: #57a000;
                }

ul.shortcut-buttons-set li {
                float: left;
                margin: 0 15px 0 0;
				padding: 0 !important;
				background: 0;
                }

/*************** Forms ***************/

form label {
                display: block;
                padding: 0 0 5px;
                font-weight: bold;
                }

form div.input label.radio,
form div.input label.checkbox,
form div.checkbox label {
				display: inline;
				font-weight:normal;
				padding:0;
				cursor:pointer;
				}

form div.input label.radio:hover,
form div.input label.checkbox:hover,
form div.checkbox label:hover {
				color:#c00;
				}
form div.checkbox {
				display: inline-block;
				margin-right: 1em;
				margin: 0 1em 0.5em 0;
}

form fieldset legend {
                font-weight: bold;
                margin-bottom: 10px;
                padding-top: 10px;
                }

form small {
                font-size: 0.75em;
                color: #777;
                }


form input.text-input,
form select,
form textarea,
form .wysiwyg {
                padding: 6px !important;
                font-size: 13px;
                background: #fff url('../img/bg-form-field.gif') top left repeat-x;
                border: 1px solid #d5d5d5;
				color: #333;
                }

form .very-small-input {
                width: 10% !important;
                }

form .small-input {
                width: 25% !important;
                }

form .medium-input {
                width: 50% !important;
                }

form .large-input {
                width: 97.5% !important;
				font-size: 16px !important;
				padding: 8px !important;
                }

form textarea {
				margin-bottom:3px;
                width: 97.5% !important;
                /*font-family: Arial, Helvetica, sans-serif;*/
                }

form textarea,
form input {
				font-family: "メイリオ", Meiryo, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
				}

form select {
                padding: 4px;
                background: #fff;
                }

form input[type="checkbox"],
form input[type="radio"] {
				margin-left:0;
				padding: 0;
                background: none;
				border: 0;
                }

form div.input {
                padding: 5px 0 10px 0;
                line-height: 1.6em;
				}

form div.input.error {
				background:none;
				}

form div.input.file {
				padding-bottom:0;
				}

form .form-error {
				border-color:#B41111 !important;
}


form div.submit {
				margin-top:1em;
				}

div.form-confirm {
				background:url("../img/bg-form-field.gif") repeat-x scroll left top #FFFFFF;
				border:1px solid #D5D5D5;
				border-radius:4px;
				margin:0 0 20px;
				padding:15px 15px 0;
}

div.form-confirm dt {
                display: block;
				margin:0 0 10px;
				padding: 0 0 6px;
                font-weight: bold;
				border-bottom:1px dotted #ccc;
                }

div.form-confirm dd {
				margin:0 0 20px;
                padding: 0 0 6px;
                font-size: 15px;
				color: #333;
				line-height: 1.3em;
}
div.form-confirm dd strong {
				font-size: 0.85em;
}
div.submit form {
				display:inline;
				}


/*************** sorting ***************/
.sorting {
				background:#ccc;
                border-top: 1px solid #ddd;
				}
.sorting thead tr {
				background:#fff;
				}
.sorting th {
				white-space:nowrap;
				}
.sorting td.handle {
				width:20px;
				vertical-align:middle;
				}
.sorting tr.newRecord td {
				vertical-align:middle;
				}
.sorting .termField {
				width:12em;
				}
.sorting td.handle img {
				cursor:move;
				}
.sorting td.actions {
				width:20px;
				padding-left:0;
				padding-right:0;
				vertical-align:middle;
				}
.sorting tr.ui-state-highlight {
				height:120px;
				border:0;
				}
.sorting.connected tr.ui-state-highlight {
				height:70px;
}
.sorting textarea {
				height:3em;
				}
.sorting.connected input {
				width:90%;
				}
.connectedParent {
				float:left;
				}

/*
#sorting {
	 background:#eee;
}
#sorting tr {
	background:#ccc !important;
}
#sorting th,
#sorting td {
	background:#fff;
}
#sorting td {
	border:solid #aaa;
	border-width:1px 0;
}
#sorting td:first-child {
	border-left-width:1px;
}
#sorting td:last-child {
	border-right-width:1px;
}
#sorting td.handle {
	background:#aaa;
	border:1px solid black;
	width:20px;
	padding:0;
}
#sorting textarea {
	height:3em;
}
#sorting tr.ui-state-highlight {
	background:pink !important;
	height:100px;
	border:1px solid #999;
}
#sorting .dummy {
	display:none;
}
*/

/*************** Notifications ***************/

.notification {
                position: relative;
                margin: 0 0 30px 0;
                padding: 0;
                border: 1px solid;
                background-position: 10px 11px !important;
                background-repeat: no-repeat !important;
                font-size: 13px;
                width: 99.8%;
                }


.attention {
                background: #fffbcc url('../img/icons/exclamation.png') 10px 11px no-repeat;
                border-color: #e6db55;
                color: #666452;
                }

.information {
                background: #dbe3ff url('../img/icons/information.png');
                border-color: #a2b4ee;
                color: #585b66;
                }

.success {
                background: #d5ffce url('../img/icons/tick_circle.png');
                border-color: #9adf8f;
                color: #556652;
                }

.error {
                background: #ffcece url('../img/icons/cross_circle.png');
                border-color: #df8f8f;
                color: #665252;
                }

p.error {
				background:none;
				}

.notification div {
                display:block;
                font-style:normal;
                padding: 10px 10px 10px 36px;
                line-height: 1.5em;
                }

.notification .close {
                color:#990000;
                font-size:9px;
                position:absolute;
                right:5px;
                top:5px;
                }

/* Notification for form inputs */

.input-notification {
				background-position: left 2px;
				background-repeat: no-repeat;
				padding: 2px 0 2px 20px;
				background-color: transparent;
				margin: 0 0 0 5px;
				font-weight:bold;
				color:#B41111;
				}

/* Notification for login page */

#login-wrapper #login-content .notification {
				border: 0;
				background-color: #141414;
				color: #fff !important;
				}

/********************************      Login Page      ********************************/

body#login {
                color: #fff;
                background: #222 url('../img/bg-login.gif');
				}

#login-wrapper {
                background: url('../img/bg-login-top.png') top left repeat-x;
				}

#login-wrapper #login-top {
				width: 100%;
				/*padding: 140px 0 50px 0;*/
				padding: 95px 0 50px 0;
				text-align: center;
				}

#login-wrapper #login-top img {
				}

#login-wrapper #login-content {
				text-align: left;
				width: 300px;
				margin: 0 auto;
				}

#login-wrapper #login-content label {
				color: #fff;
				font-weight: normal;
				font-size: 14px;
				/*font-family: Helvetica, Arial, sans-serif;*/
				float: left;
				width: 70px;
				padding: 3px 0 0;
				text-align:right;
				}

#login-wrapper #login-content input {
				width: 200px;
				float: right;
				margin: 0 0 20px 0;
				border: 0;
				background: #fff;
				}

#login-wrapper #login-content p {
				padding: 0;
				}

#login-wrapper #login-content p#remember-password {
				float: right;
				}

#login-wrapper #login-content p#remember-password input {
				float: none;
				width: auto;
				border: 0;
				background: none;
				margin: 0 10px 0 5px;
				}
#login-wrapper #login-content p#remember-password label {
				padding:0;
				width:auto;
				line-height:normal;
				}

#login-wrapper #login-content div .button {
				width: auto;
				margin-top: 20px;
				}

/********************************      jQuery plugins styles      ********************************/

/*************** Facebox ***************/

#facebox .b {
  background:url(../img/b.png);
}

#facebox .tl {
  background:url(../img/tl.png);
}

#facebox .tr {
  background:url(../img/tr.png);
}

#facebox .bl {
  background:url(../img/bl.png);
}

#facebox .br {
  background:url(../img/br.png);
}

#facebox {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  text-align: left;
}

#facebox .popup {
  position: relative;
}

#facebox table {
  border-collapse: collapse;
}

#facebox td {
  border-bottom: 0;
  padding: 0;
}

#facebox .body {
  padding: 10px;
  background: #fff;
  width: 370px;
}

#facebox .loading {
  text-align: center;
}

#facebox .image {
  text-align: center;
}

#facebox img {
  border: 0;
  margin: 0;
}

#facebox .footer {
  border-top: 1px solid #DDDDDD;
  padding-top: 5px;
  margin-top: 10px;
  text-align: center;
}

#facebox .tl, #facebox .tr, #facebox .bl, #facebox .br {
  height: 10px;
  width: 10px;
  overflow: hidden;
  padding: 0;
}

#facebox_overlay {
  position: fixed;
  top: 0px;
  left: 0px;
  height:100%;
  width:100%;
}

.facebox_hide {
  z-index:-100;
}

.facebox_overlayBG {
  background-color: #000;
  z-index: 99;
}

/*************** jQuery WYSIWYG ***************/

div.wysiwyg { border: 1px solid #cccccc; padding: 5px; background-color: #ffffff; width: 97.5% !important; }
div.wysiwyg * { margin: 0; padding: 0; }

div.wysiwyg ul.panel { border-bottom: 1px solid #cccccc; float: left; width: 100%; padding: 0 0 5px 0; }
div.wysiwyg ul.panel li { list-style-type: none; float: left; margin: 0 2px; padding: 0 !important;  background: #ffffff; background-image: none !important;}
div.wysiwyg ul.panel li.separator { height: 16px; margin: 0 4px; border-left: 1px solid #cccccc; }
div.wysiwyg ul.panel li a { display: block; padding: 0 !important; width: 16px; height: 16px; background: url('../img/icons/jquery.wysiwyg.gif') no-repeat -64px -80px; border: 0; cursor: pointer; padding: 1px; }
div.wysiwyg ul.panel li a:hover, div.wysiwyg ul.panel li a.active {  }
div.wysiwyg ul.panel li a.active { background-color: #f9f9f9; border: 1px solid #cccccc; border-left-color: #aaaaaa; border-top-color: #aaaaaa; padding: 0; }

div.wysiwyg ul.panel li a.bold { background-position: 0 -16px; }
div.wysiwyg ul.panel li a.italic { background-position: -16px -16px; }
div.wysiwyg ul.panel li a.strikeThrough { background-position: -32px -16px; }
div.wysiwyg ul.panel li a.underline { background-position: -48px -16px; }

div.wysiwyg ul.panel li a.justifyLeft { background-position: 0 0; }
div.wysiwyg ul.panel li a.justifyCenter { background-position: -16px 0; }
div.wysiwyg ul.panel li a.justifyRight { background-position: -32px 0; }
div.wysiwyg ul.panel li a.justifyFull { background-position: -48px 0; }

div.wysiwyg ul.panel li a.indent { background-position: -64px 0; }
div.wysiwyg ul.panel li a.outdent { background-position: -80px 0; }

div.wysiwyg ul.panel li a.subscript { background-position: -64px -16px; }
div.wysiwyg ul.panel li a.superscript { background-position: -80px -16px; }

div.wysiwyg ul.panel li a.undo { background-position: 0 -64px; }
div.wysiwyg ul.panel li a.redo { background-position: -16px -64px; }

div.wysiwyg ul.panel li a.insertOrderedList { background-position: -32px -48px; }
div.wysiwyg ul.panel li a.insertUnorderedList { background-position: -16px -48px; }
div.wysiwyg ul.panel li a.insertHorizontalRule { background-position: 0 -48px; }

div.wysiwyg ul.panel li a.h1 { background-position: 0 -32px; }
div.wysiwyg ul.panel li a.h2 { background-position: -16px -32px; }
div.wysiwyg ul.panel li a.h3 { background-position: -32px -32px; }
div.wysiwyg ul.panel li a.h4 { background-position: -48px -32px; }
div.wysiwyg ul.panel li a.h5 { background-position: -64px -32px; }
div.wysiwyg ul.panel li a.h6 { background-position: -80px -32px; }

div.wysiwyg ul.panel li a.cut { background-position: -32px -64px; }
div.wysiwyg ul.panel li a.copy { background-position: -48px -64px; }
div.wysiwyg ul.panel li a.paste { background-position: -64px -64px; }

div.wysiwyg ul.panel li a.increaseFontSize { background-position: -16px -80px; }
div.wysiwyg ul.panel li a.decreaseFontSize { background-position: -32px -80px; }

div.wysiwyg ul.panel li a.createLink { background-position: -80px -48px; }
div.wysiwyg ul.panel li a.insertImage { background-position: -80px -80px; }

div.wysiwyg ul.panel li a.html { background-position: -48px -48px; }
div.wysiwyg ul.panel li a.removeFormat { background-position: -80px -64px; }

div.wysiwyg ul.panel li a.empty { background-position: -64px -80px; }

div.wysiwyg iframe { border: 0; margin: 5px 0 0 0; clear: left; width: 97.5% !important; }




/* #product_photos_wrapper */
#product_photos_wrapper {
	overflow: hidden;
	width: 100%;
}
#product_photos_wrapper .product_photo_box {
	width: 150px;
	min-height: 150px;
	margin: 0 20px 20px 0;
	float: left;
	text-align: center;
}

/* .product_photos_thumbs */
.product_photos_thumbs {
}
.product_photos_thumbs img {
				margin-bottom: 15px;
}

/* .equipments_list */
.equipments_list {
				width: 100%;
				overflow: hidden;
				margin: 1em -3% 0 0;
}
.equipments_list .input {
				width: 30%;
				margin-right: 3%;
				margin-bottom: 1.5em;
				float: left;
}
.form-confirm .equipments_list .input:nth-child(3n) {
				border-right: 0;
				margin-right: 0;
}
.form-confirm .equipments_list .input:nth-child(3n+1) {
				clear: left;
}
.form-confirm .equipments_list .input label {
				display: block;
				/*margin-bottom: 0.5em;*/
				font-size: 13px;
				font-weight: bold;
				color: #555;
}
.form-confirm .equipments_list .input p {
				border: 1px dotted #ccc;
				padding: 5px;
				line-height: inherit;
}

/* リクエスト一覧テーブルのレイアウト調整 */
.request-table {
  /* これが最も重要！列幅の計算方法を固定レイアウトに変更します */
  table-layout: fixed;
  width: 100%; /* テーブル全体の幅を親要素いっぱいに広げる */
}

/* 各列のクラスに幅を指定していく */
.request-table .col-date {
  width: 10%; /* 投稿日時 */
  white-space: nowrap; /* 日付が改行されるのを防ぐ */
}

.request-table .col-submitter {
  width: 12%; /* 投稿者名 */
}

.request-table .col-song {
  width: 15%; /* リクエスト曲 */
}

.request-table .col-links {
  width: 90px; /* リンク (固定幅) */
  text-align: center;
}

/* メッセージ列は一番幅を広く取る */
.request-table .col-message {
  width: auto; /* 残りの幅をすべて使う */
}

.request-table .col-memo {
  width: 15%; /* 管理者メモ */
}

.request-table .col-status {
  width: 100px; /* 状態 (固定幅) */
  text-align: center;
}


/* --- ▼▼▼ 管理画面フッターナビゲーション用CSS ▼▼▼ --- */

/* ナビゲーションバー全体のスタイル */
.navbar {
    background-color: #343a40; /* ダークグレーの背景 */
    box-shadow: 0 -2px 5px rgba(0,0,0,0.15); /* 上側に影を付ける */
    overflow: hidden;
    position: fixed; /* 画面下部に固定 */
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1000; /* 他の要素より手前に表示 */
}

/* リンクのリスト(<ul class="nav-menu">)のスタイル */
.navbar .nav-menu {
    list-style-type: none;
    margin: 0;
    padding: 0;
    display: flex; /* リンクを横並びに */
    justify-content: center; /* リンクを中央揃えに */
}

/* 各リンク(<li class="nav-item">)のスタイル */
.navbar .nav-item a {
    display: block;
    color: #f8f9fa; /* 明るいグレーの文字色 */
    text-align: center;
    padding: 14px 20px;
    text-decoration: none;
    font-size: 14px;
    transition: background-color 0.3s, color 0.3s; /* ホバー時のアニメーション */
}

/* リンクにマウスを乗せた時のスタイル */
.navbar .nav-item a:hover {
    background-color: #495057; /* 少し明るいグレーの背景 */
    color: #ffffff; /* 白色の文字 */
}

/* --- ▲▲▲ CSSここまで ▲▲▲ --- */


/* --- ▼▼▼ bodyタグへの追記 ▼▼▼ --- */
/* フッターナビゲーションがコンテンツに重ならないように、ページ最下部に余白を追加 */
body {
    padding-bottom: 50px; /* .navbarの高さに合わせて調整 */
}

/* style2.css */

/* --- bodyタグのスタイルを修正 --- */
body {
    font-family: "メイリオ", Meiryo, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
    color: #555;
    background: #f0f0f0;
    font-size: 12px;
    /* padding-bottom: 50px; を削除、またはコメントアウト */
}



/* --- フッターナビゲーションがコンテンツに重ならないように、ページ最下部に余白を追加 --- */
/* ★body ではなく #main-content に padding-bottom を設定する方が確実 */
#main-content {
    padding-bottom: 80px; /* .navbarの高さ(約50px) + α の余白 */
}


/* --- ▼▼▼ 管理表の角を丸めるCSS ▼▼▼ --- */

/* 1. テーブル全体を囲む .content-box に角丸を設定 */
.content-box {
    border-radius: 8px; /* 角の丸み（お好みで調整） */
    overflow: hidden;   /* はみ出る中身を隠す（重要） */
}

/* 2. テーブルヘッダーのスタイル調整 */
#main-content table thead th {
    font-weight: bold;
    font-size: 15px;
    border: none; /* 既存の線を消す */
}

/* 3. テーブルの左右の境界線を消す */
#main-content table td,
#main-content table th {
    border-left: none;
    border-right: none;
}

/* --- ▼▼▼ スマートフォン表示用のスタイル (ここから追記) ▼▼▼ --- */

/* 画面幅が768px以下の場合に適用 */
@media (max-width: 768px) {

    /* --- ① ログインページの調整 --- */
    body#login #login-wrapper {
        padding-top: 20px;
    }
    body#login #login-content {
        width: 90%; /* 幅を画面に合わせて可変に */
    }
    body#login #login-content label {
        width: 100%;
        text-align: left;
        margin-bottom: 5px;
    }
    body#login #login-content input {
        width: 100%;
        float: none;
        box-sizing: border-box; /* paddingを含めて幅100%に */
    }

    /* --- ② 管理画面の基本レイアウト調整 --- */
    #sidebar {
        display: none; /* スマホではサイドバーを非表示 */
    }
    #main-content {
        margin-left: 0; /* サイドバーが消えた分、マージンを0に */
    }
    .content-wrapper {
        padding: 10px; /* スマホでは内側の余白を小さく */
    }
    
    /* ボタンなどの全体的な調整 */
    .button {
        padding: 10px 15px !important; /* ボタンを押しやすくする */
    }
    
    /* --- ③ 管理画面テーブルのカードUI化 --- */
    .pc-only {
        display: none; /* PC用のテーブル行を非表示 */
    }
    .mobile-only {
        display: table-row; /* スマホ用カードを表示 */
    }


    /* 1. 親ボックスの余白を !important で強制的に削除 */
    div.content-box-content {
        padding: 0 !important;
    }

    /* 2. カード本体(td)のスタイルを再定義 */
    tr.mobile-card-row > td {
        display: block;
        width: 100%;
        box-sizing: border-box;
        padding: 10px 15px; /* カードの内側の余白 */
        border: none;
    }

    /* 3. カードの行(tr)に枠線と背景、下の余白を設定 */
    tr.mobile-card-row {
        display: block;
        background-color: #ffffff;
        border: 1px solid #ddd;
        border-radius: 8px;
        margin-bottom: 15px;
    }

       /* ボタンを囲むコンテナのスタイル */
    .mobile-card-row .card-buttons {
        display: flex;
        gap: 10px; /* ボタン間の隙間 */
        flex-grow: 1; /* 右側にスペースを確保 */
        justify-content: flex-end; /* ボタンを右揃えに */
    }

    /* +/- ボタン共通のスタイル */
    .mobile-card-row .button_up2,
    .mobile-card-row .button_down2 {
        padding: 10px 16px !important; /* 上下左右の余白を広げる */
        font-size: 18px !important;   /* 文字(+)や(-)のサイズを大きくする */
        line-height: 1;              /* 行の高さを調整 */
        min-width: 50px;             /* ボタンの最小幅を確保 */
        text-align: center;
    }

    .mobile-card-row .card-buttons {
        gap: 15px; /* ボタン間の隙間を少し広げる */
    }

    .mobile-card-row .button_up2,
    .mobile-card-row .button_down2 {
        padding: 12px 20px !important; /* 上下左右の余白をさらに広げる */
        font-size: 22px !important;   /* 文字(+)や(-)のサイズを大きくする */
        min-width: 60px;             /* ボタンの最小幅を確保 */
    }
    /* ▲▲▲ 追加ここまで ▲▲▲ */ 
      /* 検索フォームのテキスト入力欄とセレクトボックス */
    .search_box input[type="text"],
    .search_box select {
        padding: 12px; /* 内側の余白を大きくする */
        font-size: 16px; /* 文字サイズを大きくする */
    }

    /* 検索・解除ボタン */
    .search_box .button {
        padding-top: 12px;
        padding-bottom: 12px;
        text-align: center;
        display: block;
        width: 100%;
        box-sizing: border-box; /* ★この一行を追加 */
    }
   /* ▼▼▼ 設定ページのフォーム最適化 (ここから追記) ▼▼▼ */


    /* ▲▲▲ 追加ここまで ▲▲▲ */
}

/* --- ▼▼▼ ログインページのフォームスタイル ▼▼▼ --- */

/* フォームを囲む .content-box のスタイル */
#login-page .content-box {
    max-width: 500px; /* フォームの最大幅を指定 */
    margin: 30px auto;  /* 上下に余白、左右は自動で中央寄せ */
    background-color: #f8f9fa;
    border: none;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    overflow: hidden;
}

/* 説明文エリアのスタイル */
#login-page .form-description {
    padding: 0 20px 10px 20px;
    color: #555;
}

/* フォーム要素のレイアウト */
#login-page form {
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding: 20px;
}
#login-page .form-row {
    display: flex;
    align-items: center;
}
#login-page .form-row label {
    flex-basis: 100px;
    flex-shrink: 0;
    text-align: right;
    margin-right: 20px;
    font-weight: bold;
}
#login-page .form-row input[type="password"] {
    flex-grow: 1;
    padding: 12px 15px;
    font-size: 16px;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-sizing: border-box;
}

/* 認証ボタンのスタイル */
#login-page .button {
    width: auto;
    align-self: flex-end; /* 右寄せ */
    padding: 12px 30px;
    font-size: 16px;
    font-weight: bold;
}

/* スマホ表示用の調整 */
@media (max-width: 768px) {
    #login-page .form-row {
        flex-direction: column;
        align-items: flex-start;
    }
    #login-page .form-row label {
        text-align: left;
        margin-bottom: 5px;
    }
    #login-page .button {
        width: 100%;
    }
}

/* --- ▼▼▼ ログインページのパスワード表示切り替えスタイル ▼▼▼ --- */

/* 入力欄とアイコンを囲むラッパー */
#login-page .password-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    flex-grow: 1; /* ★幅をコンテナいっぱいに広げる */
}

/* パスワード入力欄本体のスタイル */
#login-page .password-wrapper input {
    flex-grow: 1;
    /* 高さを固定するためのスタイル */
    height: 42px;           /* 高さを42pxに固定 */
    padding: 10px 45px 10px 15px; /* 上下の余白を固定 (右はアイコン分45px空ける) */
    font-size: 16px;        /* フォントサイズを固定 */
    border: 1px solid #ddd; /* 枠線を固定 */
    border-radius: 8px;
    box-sizing: border-box; /* paddingとborderを高さの内側に含める */
}


/* アイコンの位置 */
#login-page .password-toggle-icon {
    position: absolute;
    right: 15px;
    cursor: pointer;
    color: #888;
}


/* --- ▼▼▼ 初回訪問モーダルのスタイル ▼▼▼ --- */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6); /* 半透明の黒い背景 */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2000; /* 最前面に表示 */
}
.modal-content {
    background-color: #fff;
    padding: 30px;
    border-radius: 12px;
    width: 90%;
    max-width: 600px;
    text-align: center;
}
.modal-content h2 {
    color: #459300;
    margin-top: 0;
}
.modal-content .button {
    margin-top: 20px;
    padding: 12px 30px;
    font-size: 16px;
}

