#back-button,#next-button,#reset-button,#submit-button,#login-button,#join-button,#home-button,#close-button,#delete-button,#update-button,#add-button,#up_button,#reset_button,#upload-button,#btn_go_to_confirm_page {
	width:200px;
	font-size:16px;
	line-height:36px;
	font-weight: bold;
	text-shadow: 0 2px 0 #444444;
	color: #ffffff /*{a-bar-color}*/;
	border:1px solid #336633;
	border-radius:17px;
	background: #005B02;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(10%, #689A43), color-stop(90%, #005B02));
	background: -moz-linear-gradient(top, #689A43 10%,#005B02 90%);
	background: -o-linear-gradient(top, #689A43 10%,#005B02 90%);
	background: -ms-linear-gradient(top, #689A43 10%, #005B02 90%);
	background: linear-gradient(top, #689A43 10%, #005B02 90%);
	filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#689A43 10%', endColorstr='#005B02 90%');
	-ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#689A43 10%', endColorstr='#005B02 90%)";
	-pie-background: linear-gradient(top, #689A43 10%, #005B02 90%);

	-webkit-box-shadow:inset 1px 1px 0px 0px #D2E9BC;
	-moz-box-shadow:inset 1px 1px 0px 0px #D2E9BC;
	box-shadow:inset 1px 1px 0px 0px #D2E9BC;
}

#back-button:hover, #next-button:hover, #reset-button:hover, #submit-button:hover, #login-button:hover, #join-button:hover, #home-button:hover, #close-button:hover, #delete-button:hover, #update-button:hover, #add-button:hover, #up_button:hover, #reset_button:hover, #upload-button:hover,#btn_go_to_confirm_page:hover {
	border: 1px solid #bbbbbb /*{a-bhover-border}*/;
	background: #dfdfdf /*{a-bhover-background-color}*/;
	font-weight: bold;
	color: #2f3e46 /*{a-bhover-color}*/;
	text-shadow: 0 /*{a-bhover-shadow-x}*/ 1px /*{a-bhover-shadow-y}*/ 0 /*{a-bhover-shadow-radius}*/ #ffffff /*{a-bhover-shadow-color}*/;
	background-image: -webkit-gradient(linear, left top, left bottom, from( #f6f6f6 /*{a-bhover-background-start}*/), to( #e0e0e0 /*{a-bhover-background-end}*/)); /* Saf4 , Chrome */
	background-image: -webkit-linear-gradient( #f6f6f6 /*{a-bhover-background-start}*/, #e0e0e0 /*{a-bhover-background-end}*/); /* Chrome 10 , Saf5.1  */
	background-image:    -moz-linear-gradient( #f6f6f6 /*{a-bhover-background-start}*/, #e0e0e0 /*{a-bhover-background-end}*/); /* FF3.6 */
	background-image:     -ms-linear-gradient( #f6f6f6 /*{a-bhover-background-start}*/, #e0e0e0 /*{a-bhover-background-end}*/); /* IE10 */
	background-image:      -o-linear-gradient( #f6f6f6 /*{a-bhover-background-start}*/, #e0e0e0 /*{a-bhover-background-end}*/); /* Opera 11.10  */
	background-image:         linear-gradient( #f6f6f6 /*{a-bhover-background-start}*/, #e0e0e0 /*{a-bhover-background-end}*/);
}

#back-button:focus, #next-button:focus, #reset-button:focus, #submit-button:focus, #login-button:focus, #join-button:focus, #home-button:focus ,#close-button:focus,  #delete-button:focus, #update-button:focus, #add-button:focus, #up_button:focus, #reset_button:focus, #upload-button:focus,#btn_go_to_confirm_page:focus {
	-moz-box-shadow: inset 0 0 3px #387bbe /*{global-active-background-color}*/, 0 0 9px #387bbe /*{global-active-background-color}*/;
	-webkit-box-shadow: inset 0 0 3px #387bbe /*{global-active-background-color}*/, 0 0 9px #387bbe /*{global-active-background-color}*/;
	box-shadow: inset 0 0 3px #387bbe /*{global-active-background-color}*/, 0 0 9px #387bbe /*{global-active-background-color}*/;
}

/* ボタン共通スタイル */
input[type="submit"],
input[type="reset"] {
  padding: 6px 12px;
  font-size: 1rem;
  cursor: pointer;
  border: 1px solid #ccc;
  background: linear-gradient(to bottom, #689A43 10%, #005B02 90%);
  color: #fff;
  border-radius: 4px;
  text-shadow: 1px 1px 2px #000;
  transition: background 0.3s ease;
}

input[type="submit"]:hover,
input[type="reset"]:hover {
  background: linear-gradient(to bottom, #005B02 10%, #689A43 90%);
}

.button-group {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
}

/* 修正済みボタンスタイル */
.button-group button {
  position: relative;
  padding: 3px 16px 3px 20px; /* 左側余白でアイコンスペース確保 */
  font-size: 1rem;
  color: #fff;
  background: linear-gradient(to bottom, #689A43 10%, #005B02 90%);
  border: 1px solid #ccc;
  border-radius: 4px;
  cursor: pointer;
  text-shadow: 1px 1px 2px #000;
  transition: background 0.3s ease;
  min-width: 150px;
  text-align: center;
}

/* ボタンホバー時 */
.button-group button:hover {
  background: linear-gradient(to bottom, #005B02 10%, #689A43 90%);
}

/* ボタン内のアイコン：左端に絶対配置 */
.button-group button i {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.2em;
}

/* ホバー時：色変更を明示かつ確実に */
.button-group button:hover {
  background: #f0f0f0;
  color: #005b02 !important;
  text-shadow: none;
}

.button-group button:hover i {
  color: #005b02 !important;
}

.contact-type input[type=radio],
.contact-type input[type=checkbox] {
    display: inline-block;
    margin-right: 0px;
}
.contact-type input[type=radio] + label,
.contact-type input[type=checkbox] + label {
    position: relative;
     
    display: inline-block;
    margin-right: 8px;
	/*font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;*/
    /*font-family:"ＭＳ ゴシック", "MS Gothic", "Osaka－等幅", Osaka-mono, monospace;*/
	font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
    font-size: 16px;
    line-height: 32px;
     
    cursor: pointer;
}

@media (min-width: 1px) {
    .contact-type input[type=radio],
    .contact-type input[type=checkbox] {
        display: none;
        margin: 0;
    }
    .contact-type input[type=radio] + label,
    .contact-type input[type=checkbox] + label {
        padding: 0 0 0 44px;
    }
    .contact-type input[type=radio] + label::before,
    .contact-type input[type=checkbox] + label::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
         
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        display: block;
        width: 26px;
        height: 26px;
        margin-top: -12px;
         
        background: #FFF;
    }
    .contact-type input[type=radio] + label::before {
        border: 3px solid #ccc;
        border-radius: 60px;
    }
    .contact-type input[type=checkbox] + label::before {
        border: 3px solid #ccc;
    }
    .contact-type input[type=radio]:checked + label::after,
    .contact-type input[type=checkbox]:checked + label::after {
        content: "";
        position: absolute;
        top: 50%;
         
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        display: block;
    }
    .contact-type input[type=radio]:checked + label::after {
        left: 6px;
         
        width: 14px;
        height: 14px;
        margin-top: -6px;
         
        background: #E71063;
        border-radius: 8px;
    }
    .contact-type input[type=checkbox]:checked + label::after {
        left: 3px;
         
        width: 26px;
        height: 16px;
        margin-top: -11px;
         
        border-left: 5px solid #E71063;
        border-bottom: 5px solid #E71063;
         
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }
		
}

input.num-data {
	border-style: none;
	border:solid 1px #999999;
	border-radius:4px;
	font-size:16px;
	line-height:28px;
	height:30px;
	color:#666;
	text-align:right;
}

input.num-data:focus {
	border-color:#69F;
	-webkit-box-shadow: 0px 0px 6px #387bbe;
	-moz-box-shadow: 0px 0px 6px #387bbe;
	box-shadow: 0px 0px 6px #387bbe
}

input.contact-data {
	border-style: none;
	border:solid 1px #999999;
	border-radius:4px;
	font-size:16px;
	line-height:28px;
	padding-left:10px;
	padding-right:10px;
	height:30px;
	color:#666;
	width:97%;
}

input.contact-data2 {
	border-style: none;
	border:solid 1px #999999;
	border-radius:4px;
	font-size:16px;
	line-height:28px;
	padding-left:3px;
	padding-right:3px;
	height:30px;
	color:#666;
}

input.contact-data:focus {
	
	border-color:#69F;
	-webkit-box-shadow: 0px 0px 6px #387bbe;
	-moz-box-shadow: 0px 0px 6px #387bbe;
	box-shadow: 0px 0px 6px #387bbe;
	
	/*
	border-color:#69F;
	-moz-box-shadow: inset 0 0 2px 		#387bbe, 0 0 9px #387bbe;
	-webkit-box-shadow: inset 0 0 2px 	#387bbe, 0 0 9px #387bbe;
	box-shadow: inset 0 0 2px 			#387bbe, 0 0 9px #387bbe;
	*/
}

textarea.contact-text {
	border-style: none;
	border:solid 1px #999999;
	border-radius:4px;
	font-size:16px;
	padding:10px;
	height:30px;
	color:#666;
	width:97%;
	height:8em;
}

textarea.contact-text:focus {
	border-color:#69F;
	-webkit-box-shadow: 0px 0px 6px #387bbe;
	-moz-box-shadow: 0px 0px 6px #387bbe;
	box-shadow: 0px 0px 6px #387bbe;
	
}

select.contact-data {
	border-style: none;
	border:solid 1px #999999;
	border-radius:4px;
	font-size:16px;
	line-height:28px;
	padding-left:10px;
	padding-right:0px;
	height:36px;
	color:#666;
	width:99%;
}

select.contact-data:focus{
	border-color:#69F;
	-webkit-box-shadow: 0px 0px 6px #387bbe;
	-moz-box-shadow: 0px 0px 6px #387bbe;
	box-shadow: 0px 0px 6px #387bbe;
}

#height_slider {
     margin: 0 10px;
     height: 300px;
}

#width_slider {
     margin: 0px 10px 0px 10px;
     width: 300px;
	 /*
	-moz-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	*/
}

#length_slider {
     margin: 0px 10px 0px 10px;
     width: 300px;
}
#height_slider .ui-slider-range { background: #90CAF9; }
#width_slider .ui-slider-range { background: #90CAF9; }
#length_slider .ui-slider-range { background: #90CAF9; }

/*
#height_slider .ui-slider-handle {
	width:15px;
	height:15px;
	border-color: #c0c0c0; 
	background: #E38692; 
	border-radius: 10px; 
	
	moz-border-radius: 10px; 
	-webkit-border-radius: 10px; 
}          
*/

input.contact-data::-webkit-input-placeholder {
    color:    #AAAAAA;
}
input.contact-data:-ms-input-placeholder {
    color:    #AAAAAA;
}
/*for Firefox*/
input.contact-data:-moz-placeholder {
    color:    #AAAAAA;
}

p#sub_total {
	font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
	font-weight:bold;
	text-align:right;
}
p#tax {
	font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
	font-weight:bold;
	text-align:right;
}
p#total {
	font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
	font-weight:bold;
	text-align:right;
	color:#FF0033;
}

input#num {
	font-size:28px;
	text-align:right;
	width:4em;
	height:32px;
}
input.num {
	font-size:28px;
	text-align:right;
	width:4em;
	height:32px;
}
label.num {
	font-size:20px;
	text-height:36px;
	vertical-align:middle;
	letter-spacing:10px;
}
label.input {
	font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
    font-size: 16px;
    line-height: 32px;
}
input.min_icon_button {
	font-family: FontAwesome;
	font-size:26px;
	text-shadow: 0 2px 0 #444444;
	color: #ffffff /*{a-bar-color}*/;
	border:1px solid #336633;
	border-radius:10%;
	background: #005B02;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(10%, #689A43), color-stop(90%, #005B02));
	background: -moz-linear-gradient(top, #689A43 10%,#005B02 90%);
	background: -o-linear-gradient(top, #689A43 10%,#005B02 90%);
	background: -ms-linear-gradient(top, #689A43 10%, #005B02 90%);
	background: linear-gradient(top, #689A43 10%, #005B02 90%);
	filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#689A43 10%', endColorstr='#005B02 90%');
	-ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#689A43 10%', endColorstr='#005B02 90%)";
	-pie-background: linear-gradient(top, #689A43 10%, #005B02 90%);

	-webkit-box-shadow:inset 1px 1px 0px 0px #D2E9BC;
	-moz-box-shadow:inset 1px 1px 0px 0px #D2E9BC;
	box-shadow:inset 1px 1px 0px 0px #D2E9BC;
}
input.min_button {
	font-size:14px;
	text-align:center;
	font-weight:bold;
	padding:4px 8px 3px 8px;
	text-shadow: 0 2px 0 #444444;
	color: #ffffff /*{a-bar-color}*/;
	border:1px solid #336633;
	border-radius:3px;
	background: #005B02;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(10%, #689A43), color-stop(90%, #005B02));
	background: -moz-linear-gradient(top, #689A43 10%,#005B02 90%);
	background: -o-linear-gradient(top, #689A43 10%,#005B02 90%);
	background: -ms-linear-gradient(top, #689A43 10%, #005B02 90%);
	background: linear-gradient(top, #689A43 10%, #005B02 90%);
	filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#689A43 10%', endColorstr='#005B02 90%');
	-ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#689A43 10%', endColorstr='#005B02 90%)";
	-pie-background: linear-gradient(top, #689A43 10%, #005B02 90%);

	-webkit-box-shadow:inset 1px 1px 0px 0px #D2E9BC;
	-moz-box-shadow:inset 1px 1px 0px 0px #D2E9BC;
	box-shadow:inset 1px 1px 0px 0px #D2E9BC;
}

/*************************************************************************/
#upload_area {
  width: 100%;
  padding: 10px;
  box-sizing: border-box;
  text-align: center;
}

#drop_area {
  width: 100%;
  max-width: 680px;
  height: 300px; /* ← 固定高さに */
  margin: 0 auto 20px auto;
  padding: 10px;
  border: 2px dashed #999;
  background: #fafafa;
  overflow-y: auto; /* ← 内容が多くなったら中でスクロール */
  box-sizing: border-box;
  font-size: 16px;
  text-align: center;
}

#file_list {
  margin-top: 10px;
  padding: 0;
  width: 100%;
  text-align: left;
  box-sizing: border-box;
}

.file-entry {
  overflow: hidden;
  margin-bottom: 0px;
  clear: both;
  display: block;
}

div.fname {
  width: calc(100% - 160px);
  float: left;
  font-size: 14px;
  line-height: 1.2em;
  margin: 3px 0 0 0;
  padding: 0;
  text-align: left;
  word-wrap: break-word;
  word-break: break-all;
  box-sizing: border-box;
}

div.fsize {
  width: 80px;
  float: right;
  font-size: 14px;
  margin: 3px 10px 0 10px;
  text-align: right;
  box-sizing: border-box;
}


.del_button {
  float: right;
  margin: 0 10px 0 0;
}

div.progress_frame {
  width: 100%;
  clear: both;
  height: 18px;
  margin-bottom: 10px;
  box-sizing: border-box;
}

.button-area {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}

.button-area input[type="reset"],
.button-area input[type="submit"] {
  padding: 8px 20px;
  font-size: 16px;
  min-width: 120px;
  border-radius: 5px;
  border: none;
  background: linear-gradient(to bottom, #689A43 10%, #005B02 90%);
  color: white;
  cursor: pointer;
}

/* レスポンシブ対応（スマホ〜タブレット） */
@media screen and (max-width: 768px) {
  #drop_area {
    width: 95%;
    font-size: 15px;
    padding: 10px;
  }

  div.fname,
  div.fsize,
  .del_button,
  div.progress_frame {
    float: none !important;
    width: 100% !important;
    margin: 5px 0 !important;
    text-align: left;
  }

  .del_button {
    display: block;
    width: 100%;
    text-align: center;
    padding: 5px 0;
    font-size: 16px;
  }

  .button-area {
    flex-direction: column;
    align-items: center;
  }

  .button-area input {
    width: 90%;
  }
}