
/********************************      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: 16px;
                }

#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;
				}

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

                .button_up {
                  /*font-family: Verdana, Arial, sans-serif;*/
                          display: inline-block;
                          /*background: #459300 url('../img/bg-button-green.gif') top left repeat-x !important;*/
                          /*background: #459300 !important;
                          border: 1px solid #459300 !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: #459300 url('../img/bg-button-green.gif') top left repeat-x !important;*/
                          /*background: #459300 !important;
                          border: 1px solid #459300 !important;*/
                          padding: 4px 7px 4px 7px !important;
                          color: #fff !important;
                          font-size: 24px !important;
                          cursor: pointer;
                          border-radius: 10px;
                          }           
.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;
				}


        .rounded-image {
          width: 98%; /* 任意の幅 */
          height: auto; /* アスペクト比を保つ */
          border-radius: 15px; /* 半径15pxで角を丸める */
      }

      .circle-image {
          width: 200px; /* 幅と高さを同じにする */
          height: 200px;
          border-radius: 50%; /* 完全な円にする */
          object-fit: cover; /* 画像をコンテナにフィット */
      }  
/* styles.css */
.rounded-paragraph {
  border: 1px solid #f08080; /* You can change the border color and width */
  border-radius: 15px; /* Adjust the radius to your preference */
  padding: 10px; /* Add some padding for better appearance */
  background-color: #f5f2f2; /* Optional: Add a background color */
}    
/********************************      Sidebar      ********************************/

#sidebar {
                width: 100%;
                height: 100%;
                /*position: absolute;
                left: 0;
                top: 0;*/
                color: #888;
                font-size: 15px;
                }


.navbar {
  background-color: #333;
  overflow: hidden;
}

.nav-menu {
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
}

.nav-item {
  margin: 0 15px;
}

.nav-item a {
  color: white;
  text-decoration: none;
  padding: 14px 14px;
  display: block;
}

.nav-item a:hover {
  background-color: #575757
}

/* レスポンシブ対応 */
@media (max-width: 400px) {
  .nav-menu {
      flex-direction: column;
      align-items: center;
  }

  .nav-item {
      margin: 5px 0;
  }
}

/* --- PC表示時のナビゲーションバースタイル (例: 768px以上) --- */
@media screen and (min-width: 768px) { /* このブレークポイントはサイト全体のデザインに合わせて調整してください */

    .navbar {
        display: flex; /* navbar内のul要素を横並びにするため */
        justify-content: center; /* ul要素を中央寄せにする場合 (任意) */
        /* justify-content: flex-start; */ /* 左寄せにする場合 */
        /* background-color: #333; */ /* 既存のスタイルを維持 */
        /* overflow: hidden; */ /* 既存のスタイルを維持 */
    }

    .nav-menu {
        display: flex; /* 各ul内のli要素を横並びにする */
        flex-direction: row; /* 横並びを明示 (デフォルト) */
        align-items: center; /* li要素を垂直方向に中央揃え */
        /* list-style-type: none; */ /* 既存のスタイルを維持 */
        /* margin: 0; */ /* 必要であれば調整 */
        /* padding: 0; */ /* 既存のスタイルを維持 */
        /* justify-content: center; */ /* これはnavbar側で制御した方が良いかも */
    }

    /* 2つのnav-menu間のマージンを調整する場合 (任意) */
    .nav-menu + .nav-menu {
        margin-left: 20px; /* 例: 2つのリストグループ間に少しスペースを空ける */
    }

    .nav-item {
        margin: 0 10px; /* PC表示時の各アイテム間のマージン (既存の15pxから調整する例) */
        /* margin: 5px 0; */ /* これはmax-width: 400pxのスタイルなので、ここでは上書きまたはPC用の値を設定 */
    }

    .nav-item a {
        /* padding: 14px 14px; */ /* 既存のスタイルを維持 */
        /* display: block; */ /* 既存のスタイルを維持 */
        /* color: white; */ /* 既存のスタイルを維持 */
        /* text-decoration: none; */ /* 既存のスタイルを維持 */
    }

    /* .nav-item a:hover { background-color: #575757; } */ /* 既存のスタイルを維持 */
}
/************ 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 {
                margin: 0 10px 0 10px;
                padding: 16px 0 0 0;
                /*background: url('../img/vanimg.png') fixed 230px top no-repeat;*/
                }

.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: 16px;
        text-align: center;
                }

                p.pagetop{
                  margin:  0;
                  font-size: 18px;
                  text-align: right;
                  width:200px;
                  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-header {
                background: #e5e5e5 url('/img/bg-content-box.gif') top left repeat-x;
                margin-top: 1px;
                height: 40px;
                }

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

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

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

ul.content-box-tabs li a {
                color: #333;
                padding: 8px 10px;
                display: block;
                margin: 1px;
                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: 18px;
                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;
                                padding: 8px 10px;
                                display: block;
                                margin: 1px;
                                border-bottom: 0;
                                }

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

                ul.content-box-tabs2 li a.current {
                                background: #fff;
                                border: 1px solid #ccc;
                                border-bottom: 0;
                                margin: 0;
                                }
/************ 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;
                }

#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;
                }

/*************** 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: #459300 !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 #459300;
                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: right;
}

#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;
}


/* 追記してみる　20250426 */
/*
既存のモバイルファーストのスタイルはここにあります
（変更する必要はありません。この新しいCSSの下に追記します）
*/

/* --- PC/タブレット向けスタイル (画面幅が1024px以上の場合に適用) --- */
@media screen and (min-width: 1024px) {

  /* 全体のレイアウトコンテナ調整 */
  /* 現在のサイト構造では、body 直下にある最初の <div> がコンテンツ全体を囲んでいるようです。 */
  /* もし別のセレクタ（例: <main>, <div class="container"> など）を使っている場合は、 */
  /* body > div:first-of-type や .container など、適切なセレクタに置き換えてください。 */
  body > div:first-of-type {
      max-width: 1000px; /* PC画面でのコンテンツの最大幅を指定 */
      margin: 20px auto; /* コンテンツ全体を中央寄せにし、上下に余白を追加 */
      padding: 0 20px; /* 左右のパディングを調整 (中央寄せと組み合わせて) */
      box-sizing: border-box; /* パディングを幅の内側に含める */
  }

  /* ヘッダーの調整 */
  header {
      max-width: 1000px; /* コンテンツの幅に合わせる */
      margin: 0 auto; /* 中央寄せ */
      padding: 10px 20px; /* 上下のパディングや左右のパディングを調整 */
      box-sizing: border-box;
  }

  /* フッターの調整 */
   footer {
      max-width: 1000px; /* コンテンツの幅に合わせる */
      margin: 20px auto 0 auto; /* 中央寄せ */
      padding: 10px 20px; /* パディングを調整 */
      box-sizing: border-box;
      text-align: center; /* フッターの内容を中央寄せする場合など */
  }

  /* フォントサイズの調整 */
  body {
      font-size: 16px; /* PCでの一般的な本文フォントサイズ */
      line-height: 1.6; /* 行の高さを調整し、読みやすくする */
  }

  /* 見出しなどのフォントサイズも必要に応じて調整 */
  /*
  h1 { font-size: 2em; }
  h2 { font-size: 1.7em; }
  h3 { font-size: 1.4em; }
  */
  /* 他の見出しタグや特定の要素のフォントサイズも調整 */


  /* フォーム要素の調整 (検索フォームなど) */
  /* ラベルと入力フィールドを横並びにしたり、幅を調整します。 */
  /* サイトのフォームのHTML構造に合わせてセレクタを調整してください。 */
  /* 例: <form> タグや、フォーム内の各行を囲む要素に対してスタイルを適用 */
  form div { /* form内の直接の子要素のdivなどを想定 */
       display: flex; /* Flexboxを使い、子要素（ラベル、入力欄など）を横並びに */
       align-items: center; /* 子要素を垂直方向の中央に揃える */
       margin-bottom: 15px; /* 各フォーム行の下に余白 */
       gap: 10px; /* 要素間の隙間 */
       flex-wrap: wrap; /* 要素が収まらない場合に折り返す */
  }

  form div label {
      flex-basis: 120px; /* ラベルに固定幅を与える（必要に応じて調整） */
      flex-shrink: 0; /* ラベルが縮小しないように */
      text-align: right; /* ラベルのテキストを右寄せに（任意） */
  }

  form div input[type="text"],
  form div input[type="email"], /* 他の input タイプも必要なら追加 */
  form div select,
  form div textarea { /* textarea なども考慮 */
      flex-grow: 1; /* 残りのスペースを占めるように要素を伸ばす */
      /* max-width: 400px; */ /* 必要に応じて入力欄の最大幅を制限 */
  }

  form div input[type="submit"],
  form div button { /* ボタンのスタイル */
      width: auto; /* 幅を内容に合わせる */
      padding: 8px 20px; /* ボタンのパディング */
      /* flex-grow: 0; */ /* ボタンは伸ばさない */
  }

  /* チェックボックスやラジオボタンの行など、Flexboxレイアウトにしたくない場合は */
  /* その要素に個別のクラスを付けて flex を解除するなどの対応が必要 */


  /* リスト表示の調整 (歌リストなど) */
  /* 現在縦一列のリストを、PCでは複数列で表示するようにします。 */
  /* リスト全体を囲む ul, ol, div など、適切なコンテナ要素にスタイルを適用します。 */
  /* 例: 歌リスト全体を囲む要素に class="song-list" が付いていると仮定 */
  
/* 前回の @media screen and (min-width: 1024px) { ... } ブロックの中に追記 */

/* ---------------------------------------------- */
/* 楽曲リスト全体を囲むコンテナ (.song-list に適用) */
/* ---------------------------------------------- */
.song-list {
  display: grid; /* これを Grid コンテナにします */

  /* 列の定義: 画面幅に応じて自動で列を調整します */
  /* 最小幅 280px の列を、可能なだけ横に並べます。 */
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));

  gap: 20px; /* グリッドアイテム（各楽曲項目）間の縦方向・横方向の隙間を指定 */

  /* <ul> のデフォルトのスタイルをリセット（通常必要です） */
  padding: 0;
  margin: 0;
  list-style: none; /* リストのマーカー（黒丸など）を非表示 */
}

/* -------------------------------------------- */
/* 各リスト項目 (li.song-item に適用) のスタイル */
/* -------------------------------------------- */
.song-item {
  /* ここに各リスト項目（Gridアイテムの一つ一つ）のスタイルを記述 */
  border: 1px solid #eee; /* 例: 項目の周りに薄い線を表示 */
  padding: 15px;          /* 例: 項目内の余白 */
  box-sizing: border-box; /* パディングとボーダーを要素の幅と高さの内側に含める */
  background-color: #fff; /* 例: 項目の背景色 */
  border-radius: 5px;     /* 例: 角を少し丸くする */
  overflow: hidden;       /* 内容がはみ出ないように */

  /* 必要に応じて、テキストの折り返し設定などもここに追加 */
  /* white-space: normal; */
  /* word-break: break-word; */
}

/* ---------------------------------------------------- */
/* リスト項目内の詳細要素 (.song-title, .song-artist など) のスタイル */
/* ---------------------------------------------------- */
/* HTML修正案で追加した要素（div.song-title など）にスタイルを適用します。 */
/* これらのクラス名はHTMLに合わせて修正してください。 */
/*
.song-item .song-title {
  font-weight: bold;
  margin-bottom: 5px;
  color: #333;
}

.song-item .song-artist {
  font-size: 0.9em;
  color: #555;
  margin-bottom: 10px;
}

.song-item .song-info {
  font-size: 0.8em;
  color: #777;
}
*/

/* ---------------------------------------------------- */
/* 必要に応じて、リンクなどクリック可能な要素のスタイル調整 */
/* ---------------------------------------------------- */
/* 各項目全体をリンクにしたい場合などは、li の中に <a> を配置し、その <a> にスタイルを適用します。 */
/*
.song-item a {
  display: block; // <a> 要素をブロック要素にして、li全体に広げる
  text-decoration: none; // 下線を消す
  color: inherit; // 親要素（li）の文字色を継承
  // 他のスタイル (ホバーエフェクトなど)
}

.song-item a:hover {
  background-color: #f9f9f9; // ホバー時の背景色
}
*/

/* --- メディアクエリブロックここまで --- */

}

/*
必要に応じて、より広い画面（例: 1440px以上や1920px以上）向けに
さらに細かくスタイルを調整することも可能です。
例: @media screen and (min-width: 1440px) { ... }
*/