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

.header-frame {
	width:100%;
	margin:0px auto;
}

.in-frame {
	width:1280px;
	margin:0px auto;
}

.out-frame {
	width:100%;
	clear:both;
}
#window-size {
  display: block;
  visibility: visible;
  color: black;
}
main section {
	width:1280px;
	margin:0px auto;
	padding:10px 30px;
	background:#FFF;
	border-radius:30px;
}
footer section {
	width:1280px;
	margin:0px auto;
}
.bg-color-dgreen {
	background:#005b02;
}
.bg-color-dgreen2 {
	background:#425B00;
}
.head-logo figure {
	margin:6px 0px;
	padding:6px 0px;
}
.head-logo {
	margin-left:0px;
	padding-left:0px;
	float:left;
}
.head-logo img {
	
}
.head-address {
	float:right;
	margin-top:30px;
}
.head-title {
	float:right;
	margin-top:20px;
}

/* SP時：ハンバーガーメニューボタン */
.menu-root-icon {
  display: none;
	
}
.menu-item:hover {
	background:#4C8C4D;
}
li.current {
	background:#5E7623;
}

ul.menu-list {
	list-style: none;
}
.inner ul {
	list-style: none;
}

.gnavi li a{
	display: block;
	padding:10px 30px;
	text-decoration: none;
	color: #333;
}

.gnavi li{
	margin-bottom:0px;
}

span.icon {
	color:#FFF;
}
p.icon {
	margin:0px;padding:9px 0px 0px 20px;line-height:1em;
	color:#FFF;
}
.min_button_off {
	border:solid 3px #360;
	background:#360;
	color:#FFF;
	border-radius:10px;
	text-align:center;
}

.min_button_on {
	border:solid 3px #360;
	background:#FFF;
	color:#360;
	border-radius:10px;
	text-align:center;
}
.delete-icon {
	font-size:1.4em;
}

/*==================================================
　5-3-1 中心から外に線が伸びる（下部）
===================================*/

.gnavi li a{
  /*線の基点とするためrelativeを指定*/
  position: relative;
}

.gnavi li a:hover{
	/*
  color:#0481A2;
	*/
	color:#FFF;
}

.gnavi li.current a {
	/*
  color:#0481A2;
	*/
	color:#FFF;
}

.gnavi li a::after {
	content: '';
	/*絶対配置で線の位置を決める*/
	position: absolute;
	bottom: 3px;
	left: 10%;
	/*線の形状*/
	width: 80%;
	height: 3px;
	/*
	background:#0481A2;
	*/
	background:#FFF;
	/*アニメーションの指定*/
	transition: all .3s;
	transform: scale(0, 1);/*X方向0、Y方向1*/
	transform-origin: center top;/*上部中央基点*/
}


/*現在地とhoverの設定*/
.gnavi li a:hover::after {
	transform: scale(1, 1);/*X方向にスケール拡大*/
}

.menu-item:hover {
	background:#4C8C4D;
}
li.current {
	background:#5E7623;
}

.menu-button {
	width:100%;
}

.header-trans-top {
	animation: top-in-basic 1 0.4s 0s;
  -webkit-box-shadow: 0px 0px 2px 2px #ccc;
  box-shadow: 0px 0px 2px 2px #ccc;
}

.header-trans-left {
	animation: left-in-basic 1 0.8s 0s;
}
.menu-trans-top {
	animation: top-in-basic 1 0.4s 0s;
}

/* グローバルメニュー */
.menu-root {
  margin: 0px auto;
  position: relative;
	background:#005b02;

}

.menu-root .menu-list {
  display: flex;
  justify-content: space-between;
  list-style: none;
  margin: 0;
  padding: 0;
}

.menu-root .menu-list .menu-item {
  flex: 1;
}

.menu-root .menu-list .menu-item a {
	/*
  border-right: 1px solid #ccc;
	*/
	border-right: 1px solid #ccc;
  color: #FFF;
  display: block;
	/*
  padding: 0.6em 0.4em;
	*/
	padding:15px 0px;
  text-align: center;
  text-decoration: none;
}
.menu-root .menu-list .menu-item:first-child a {
  border-left: 1px solid #ccc;
}

.menu-root .menu-list .sub-menu-item a {
	/*
  border-right: 1px solid #4C8C4D;
	*/
	padding:6px 0px;
	border-right:none;
}
li sub-menu-item {
	text-align:center;
}
h1.title {
	box-sizing:border-box;
	width:100%;
	padding:16px 0px 16px 1em;
	border-radius:32px;
	background:#005b02;
	color:#FFF;
	text-align:left;
}
h2.title {
	box-sizing:border-box;
	width:100%;
	font-size:1.4em;
	padding:14px 0px 14px 1em;
	border-radius:30px;
	background:#005b02;
	color:#FFF;
	text-align:left;
}
h3.title {
	box-sizing:border-box;
	width:100%;
	font-size:1.4em;
	padding:14px 0px 14px 1em;
	border-radius:30px;
	background:#005b02;
	color:#FFF;
	text-align:left;
}
h4.title {
	box-sizing:border-box;
	width:100%;
	padding:10px 0px 10px 1em;
	border-radius:20px;
	background:#005b02;
	color:#FFF;
	text-align:left;
}
.fixed-frame {
	width:100%;
	clear:both;
}
span.title-icon {
	font-family: FontAwesome;
	font-weight:bold;
	padding:0px 10px;
}
.card-image-container {
  display: flex;
  gap: 10px; /* 画像の間隔 */
  justify-content: space-between;
}

.card-image-container img {
  width: 40px;  /* 例：幅100pxに統一 */
  height: auto;  /* 高さは自動（縦横比を維持） */
  object-fit: contain;
}
/*
####################################################################################
*/
.button_icon {
	margin-left:-183px;
	bottom:-4px;
	font-size:20px;
	z-index:-99999;
}

input#login,input#logout,input#cart,input#join {
	padding:7px 10px 7px 10px;
	border-top:solid 1px #ccc;
	border-right:solid 1px #ccc;
	border-bottom:solid 1px #ccc;
	border-left:solid 0px #ccc;
	
	text-align:center;
	margin:0px;
	font-size:12px;
	color:#444;
	font-family:"ＭＳ ゴシック", "MS Gothic", "Osaka－等幅", Osaka-mono, monospace;
	
	/*
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	border-radius: 6px;
	*/
	
	border-radius: 0px 6px 6px 0px;
	
	text-shadow: 0 1px #fff;
	background:#ececec;
	background: -webkit-gradient(linear, left top, left bottom, from(#ececec), to(#fff));
	background: -moz-linear-gradient(top, #ececec, #fff);
	background: -o-linear-gradient(top, #ececec, #fff);
	background: -ms-linear-gradient(top, #ececec, #fff);
	background: linear-gradient(top, #ececec, #fff);
	filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#ececec', endColorstr='#fff');
	-ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#ececec', endColorstr='#fff)";
	-pie-background: linear-gradient(top, #ececec, #fff);
	z-index:1;
}

div.icon-button {
	padding:5px 0px;
	border:1px solid #ccc;
	width:30px;
	text-align:center;
	margin:0px;
	font-size:16px;
	color:#444;
	font-family: FontAwesome /*FontAwesomeをフォント指定*/;
	float:left;
	/*
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	border-radius: 6px;
	*/
	border-radius: 6px 0px 0px 6px;
	
	text-shadow: 0 1px #fff;
	background:#ececec;
	background: -webkit-gradient(linear, left top, left bottom, from(#ececec), to(#fff));
	background: -moz-linear-gradient(top, #ececec, #fff);
	background: -o-linear-gradient(top, #ececec, #fff);
	background: -ms-linear-gradient(top, #ececec, #fff);
	background: linear-gradient(top, #ececec, #fff);
	filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#ececec', endColorstr='#fff');
	-ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#ececec', endColorstr='#fff)";
	-pie-background: linear-gradient(top, #ececec, #fff);
	z-index:1;
}

i.fa-sign-in {
	color:#666;
}
i.fa-sign-out {
	color:#666;
}
.icon-white {
  color: #fff !important;
}
#writeDateTime {
	float:left;margin-top:0px;padding:8px 0px 6px 15px;z-index:9999;font-size:12px;
	color:#555555;
	vertical-align:baseline;
}

.icon-button i.fa {
	color:#555555;	
}

div.backButton {
	position: fixed;
	top:150px;
	left:0px;
	z-index:99999;
	color: #ffffff;
}
div.nextButton {
	position: fixed;
	top:150px;
	right:0px;
	z-index:99999;
	color: #ffffff;
}
div.backButton a, div.nextButton a {
	background: #005b02;
	font-weight:bold;
	text-shadow:1px 1px #333300;
	padding: 30px;
	text-decoration:none;
	text-align: center;
	display: block;
	width:50px;
	height:50px;
	color: #ffffff;
	border-radius: 100%;
}

div.backButton a:hover, div.nextButton a:hover {
	background: #827717;
	color: #ffffff;
}

/*
####################################################################################
*/
.message-box {
	position:relative;
	margin:0px;
	padding:30px;
	width:920px;
	border-radius:20px;
	box-shadow: 0 0 6px rgba(0, 0, 0, 0.3);
	/*
	background:rgba(255, 255, 255, 0.5);
	*/
}
.newsBox {
	border:1px solid #999;border-radius:10px;padding:0px;
	margin:0px 10px;
	/*
	background:#FF9;
	*/
	background:#FFF;
	text-align:left;
	-webkit-box-shadow: 0px 0px 1px 3px #EEE;
	box-shadow: 0px 0px 1px 3px #EEE;
}
.newsInner {
	width:1140px;
}
.newsHidePictBoxL {
	width:280px;margin:20px;padding:10px;border:1px solid #999;float:left;
	display:none;
}
.newsPictBoxL {
	width:280px;margin:0px 20px;padding:10px;border:1px solid #999;float:left;
}
.newsPictBoxS {
	width:120px;margin:10px;padding:10px;border:1px solid #999;float:left;
}
.newsPictL {
	width:280px;
}
.newsPictS {
	width:120px;
}
.newsTitle {
	max-width:620px;
	padding:0px 10px 0px 10px;float:left;
	font-weight:bold;
	letter-spacing:3px;
	font-size:18px;
	line-height:30px;
	color:#555;
}
.newsTitle2 {
	max-width:900px;
	padding:0px 10px 0px 10px;float:left;
	font-weight:bold;
	letter-spacing:3px;
	font-size:18px;
	line-height:30px;
	color:#555;
}
.newsDate {
	width:140px;
	padding:0px 10px 0px 10px;float:left;
	font-style:italic;
	line-height:30px;
}
.newsDate2 {
	width:140px;
	padding:0px 10px 0px 10px;float:left;
	font-style:italic;
	line-height:30px;
}
.newsDate.ATTENTION {
	width:140px;
	padding:0px 10px 0px 10px;float:left;
	font-style:italic;
	line-height:30px;
	/*
	line-height:1.6em;
	*/
}
.newsLink {
	width:900px;padding:6px 10px;float:left;line-height:1.6em;
	color:#555;
}
.newsLink2 {
	width:1080px;padding:6px 10px 0px 40px;float:left;line-height:1.6em;
	color:#555;
}
.newsMessage {
	width:900px;padding:6px 10px;float:left;line-height:1.6em;
	color:#555;
}
.newsMessage2 {
	/* 1080 -> 780 */
	width:900px;padding:6px 10px 0px 40px;float:left;line-height:1.6em;
	color:#555;
	clear:both;
}
.newsMessage.ATTENTION,.newsMessage2.ATTENTION {
	color:#F00;
}
span.headline {
	font-family:FontAwesome;
	line-height:30px;
	padding-right:10px;
	width:1em;
	color:#005b02;
}
span.headline.ATTENTION {
	color:#F03;
}
.newsSpace {
	height:10px;clear:both;
}
.newsHideSpace {
	height:10px;clear:both;
	display:none;
}
.newsHr {
	margin:10px 10px;align:center;width:95%;
}
p.attention {
	font-family:sans-serif;
	line-height:1.6em;
	padding-top:20px;
	color:#FF0066;
}
.ATTENTION {
	color:#F00;
}
.INFO {
	
}
.NEWS {
	
}
.TOPICS {
	
}
.newsTitle.INFO,.newsTitle2.INFO {
	/*
	color:#006DD9;
	*/
	color:#333
}
.newsTitle.NEWS,.newsTitle2.NEWS {
	/*
	color:#006DD9;
	*/
	color:#333
}
.newsTitle.TOPICS,.newsTitle2.TOPICS {
	/*
	color:#006DD9;
	*/
	color:#333
}
.newsTitle.ATTENTION,.newsTitle2.ATTENTION {
	color:#F00;
	font-weight:bold;
}
.newsDate.INFO,.newsDate2.INFO {
	/*
	color:#006DD9;
	*/
	color:#333
}
.newsDate.NEWS,.newsDate2.NEWS {
	/*
	color:#006DD9;
	*/
	color:#333
}
.newsDate.TOPICS,.newsDate2.TOPICS {
	/*
	color:#006DD9;
	*/
	color:#333
}
.newsDate.ATTENTION,.newsDate2.ATTENTION {
	color:#F00;
}
p.line32 {
	font-size: 16px;
	line-height:1em;
	margin: 0px;
	padding: 0px;
	background-position: left top;
}

.frame {
	margin:0px;
	padding:0px;
}
.item-box {
	/*
	display:inline-block;
	float:left;
	*/
	display:inline-table;
	-webkit-justify-content:center;
	justify-content: center;
	-ms-flex-align: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	text-align:center;
	margin:15px;
	padding:0px;
	max-width:200px;
	/*
	min-height:200px;
	*/
}
.item-box img {
	margin:auto;
	padding:20px;
	max-width:240px;
	max-height:240px;
	background:#EEE;
	border-radius:3px;
	text-align:center;
	vertical-align:top;
}
img.item-box {
	width:240px;
}
.item-box1 {
	width:calc( 100% - 60px );
	display:inline-block;
	vertical-align:top;
}
.item-box2 {
	width:calc( 50% - 60px - 18px );
	display:inline-block;
	vertical-align:top;
}
.item-box3 {
	width:calc( 33.333% - 60px - 24px );
	display:inline-block;
	vertical-align:top;
}
.item-box4 {
	width:calc( 25% - 60px - 27px );
	display:inline-block;
	vertical-align:top;
}
.item-box5 {
	width:calc( 20% - 60px - 29px );
	display:inline-block;
	vertical-align:top;
}
.item-wrap1 {
	padding:50px;
	margin:50px;
}
.item-wrap2 {
	padding:30px;
	margin:30px;
}
.item-wrap3 {
	padding:20px;
	margin:20px;
}
.item-wrap4 {
	padding:15px;
	margin:15px;
}
.item-wrap5 {
	padding:10px;
	margin:10px;
}

.inner {
	padding:30px;
}
.inner1 {
	padding:50px;
}
.inner2 {
	padding:30px;
}
.inner3 {
	padding:20px;
}
.inner4 {
	padding:15px;
}
.inner5 {
	padding:10px;
}
.outer {
	margin:30px 30px 30px 0px;
}
.outer1 {
	margin:50x;
}
.outer2 {
	margin:30px;
}
.outer3 {
	margin:20px;
}
.outer4 {
	margin:15px;
}
.outer5 {
	margin:10px;
}

.outer_last {
	margin:30px 0px 30px 0px;
}

input::placeholder,
textarea::placeholder {
  color: #999;
  opacity: 0.6; /* Safariのために指定 */
}

.bg-color {
	background:#005b02;
}
.bg-color-lightgray {
	background:#F0F0F0;
}
.bg-color-white {
	background:#FFF;
}
.bg-color-1 {
	background:#FFC;
}
.bg-color-2 {
	background:#FCF;
}
.bg-color-3 {
	background:#CFF;
}
.bg-color-4 {
	background:#CCF;
}
.bg-color-5 {
	background:#CCC;
}
.bg-color-6 {
	background:#CFC;
}
.bg-color-7 {
	background:#FCC;
}
.bg-color-8 {
	background:#3CC;
}
.bg-color-9 {
	background:#FFC;
}
.lnumber {
	margin-top:3px;display:inline-block;width:36px;height:36px;line-height:36px;border-radius:100%;
}
.bg-current {
	border:solid 2px #336633;color:#336633;background:#FFFFFF;font-size:1em;
}
.bg-normal {
	border:solid 2px #336633;color:#FFFFFF;background:#336633;font-size:0.9em;
}
input:focus {
	outline:none;
	border-color:#69F;
	-webkit-box-shadow: 0px 0px 1px #387bbe;
	-moz-box-shadow: 0px 0px 1px #387bbe;
	box-shadow: 0px 0px 1px #387bbe;
}

div.listBox3 div.simpleList {
	float:left;width:calc( 100% - 120px - 60px );padding-left:20px;
}
.listBox3 p {
	padding:0px;
	margin:0px;
	overflow-wrap normal;
}
a div.listBox2:hover {
	background:#ECECEC;
	-webkit-transition: all 0.2s ease-out 0s;
	/*
	-webkit-perspective: 1000px;
	perspective: 1000px;
	*/
}
div.listBox3 {
	width:calc( 100% - 20px );
	color:#333;
	height:auto;
	display:inline-block;
	border:solid 1px #FFF;
	padding:10px;
	margin:0px:
}
a div.listBox3:hover {
	background:#E8E8F0;
	border:solid 1px #3D3D5F;
	-webkit-transition: all 0.2s ease-out 0s;
	/*
	-webkit-perspective: 1000px;
	perspective: 1000px;
	*/
}
a div.pictBoxS:hover {
	background:#E8E8F0;
	-webkit-transition: all 0.2s ease-out 0s;
	/*
	-webkit-perspective: 1000px;
	perspective: 1000px;
	*/
}

.button-area {
  text-align: center;
  width: 100%;
  padding: 10px 0;
}


/* モバイルでも li は横並びのまま中央に */
@media screen and (max-width: 639px) {
  ul.form {
    flex-direction: column;
    align-items: center;
  }
  ul.form li {
    width: auto;
    justify-content: center;
  }
}

@media screen and (min-width: 639px) {
  ul.form {
    flex-direction: row;         /* 横並びに変更 */
    justify-content: center;     /* 中央寄せ */
    gap: 16px;                   /* ボタン間の余白を最小限に */
  }

  ul.form li {
    margin-bottom: 0;            /* 横並びなので不要 */
  }
}

.form-section {
	border: 1px solid #ccc;
	margin-bottom: -1px;
	padding: 1em;
}

.form-label {
	width:200px;
	font-weight: bold;
	margin-bottom: 0.5em;
	display: block;
}

.form-fields {

  display: flex;
  flex-direction: column;
	align-items: flex-start;
  gap: 1.5em;
}

/* form-group（各入力項目） */
.form-group {
	flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  border: none;
}

.form-row {
	/* margin-bottom: 1.5em; */
}

/* label */
/*
label {
  font-weight: bold;
  margin-bottom: 0.3em;
}
*/

.form-group label {
	text-align:left;
	width: 100px;
	flex-shrink: 0;
	margin: 0; /* ← デフォルトの余白をリセット */
}


/* input + mm を並べる */
.input-wrap {
  display: flex;
	/*
  align-items: center;
	*/
	align-items: start;
  gap: 0.4em;
  margin-bottom: 0.3em;
}

.contact-data {
  width: 100px;
  padding: 4px;
}

.unit {
  white-space: nowrap;
  font-size: 0.9em;
}

/* コメント */
.note {
  font-size: 0.85em;
  color: #F36;
}

/* --- レスポンシブ対応 --- */
@media (min-width: 639px) {
  .form-fields {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 2em;
  }

  .form-group {
    width: calc(50% - 1em); /* 2列になる */
    flex-direction: row;
    align-items: start;
    flex-wrap: wrap;
  }

  label {
    width: 6em;
    margin-bottom: 0;
    margin-right: 1em;
  }

  .input-wrap {
    margin-bottom: 0;
  }

  .note {
    flex-basis: 100%;
    margin-top: 0.2em;
    /* margin-left: calc(6em + 1em); */
		margin-left:0;
  }
}

.card-list {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.card {
	background-color: #fff;
	border: 1px solid #ddd;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.row {
	display: flex;
	flex-wrap: wrap;
	padding: 0.75rem 1rem;
}

.row:nth-child(odd) {
	background-color: #f2ffe6;
}

.row:nth-child(even) {
	background-color: #ffffff;
}

.label {
	width: 200px;
	font-weight: bold;
	color: #555;
}

.value {
	flex: 1;
	color: #333;
}

.cart-item-list {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	margin-bottom: 20px;
}

table.data {
	width: 100%;
	border-collapse: collapse;
}

table.data th,
table.data td {
	border: 1px solid #ccc;
	padding: 6px;
	text-align: left;
	font-size: 14px;
}

table.data th {
	background-color: #f8f8f8;
}

input.num {
	width: 50px;
	padding: 4px;
	font-size: 14px;
}

.fa-times-circle {
	color: #FF0033;
	font-size: 1.5em;
	cursor: pointer;
}

/* 合計テーブル */
table.total-table {
  width: 640px;
  border-collapse: collapse;
  margin-top: 20px;
}
th.total {
	width:50%;
}
.total-table th {
  border: 1px solid #ccc;
  padding: 8px;
  font-size: 16px; /* ← 商品リストより大きい */
  text-align: left;
}

.total-table .total p {
  font-size: 20px; /* ← 金額をさらに大きく */
  margin: 0;
  text-align: right;
  font-weight: bold;
}

.data .total-table th {
  border: 1px solid #ccc;
  padding: 8px;
  font-size: 26px; /* ← 商品リストより大きい */
  text-align: center;
}
.total-table p.total-label {
	font-size:20px;
	text-align:right;
	padding-right:10px;
}

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;         /* ← 各要素の高さを揃える */
  list-style: none;
  margin: 0;
  padding: 8px 10px;
	/*
  background-color: #f5f5f5;
	*/
  border-radius: 4px;
  font-size: 14px;
  gap: 4px;
}

.breadcrumb li {
  display: flex;
  align-items: center;
}

.breadcrumb li + li::before {
  content: "›";
  font-size: 1em;              /* 通常の文字サイズと同じにする */
  transform: scale(2.2);       /* ← これで見た目だけ大きく */
  margin: 0 6px;
  color: #888;
  display: inline-block;
  line-height: 1;
  vertical-align: middle;
}

.breadcrumb a {
  color: #007BFF;
  text-decoration: none;
  padding: 8px 0px 4px 0px;
  background: #fff;
  border-radius: 4px;
  display: inline-block;
  transition: background 0.3s;
}

.breadcrumb a:hover {
  background: #e0f0ff;
}

.breadcrumb #current a {
	/*
  font-weight: bold;
	*/
  color: #999;
  pointer-events: none;
	/*
  background: #e6e6e6;
	*/
}
.icon-text {
  display: inline-flex;
  align-items: center; /* アイコンとテキストを縦方向中央揃え */
}
/* 必要に応じてアイコンとテキスト間の余白も指定 */
.icon-text i.fa {
  margin-right: 0.5em;
}
.fa-2x {
  vertical-align: middle;
}

/* スマホ対応 */
@media screen and (max-width: 639px) {
	table {
		border-spacing:0px;
	}
  .cart-item-list table,
  .cart-item-list thead,
  .cart-item-list tbody,
  .cart-item-list th,
  .cart-item-list td,
  .cart-item-list tr {
    display: block;
  }

  .cart-item-list thead {
    display: none;
  }

  .cart-item-list tr {
    margin-bottom: 1rem;
    border: 1px solid #ccc;
    padding: 0.5em;
  }

  .cart-item-list td {
    border: none;
    border-bottom: 1px solid #eee;
    position: relative;
    padding-left: 45%;
    font-size: 14px;
  }

  .cart-item-list td::before {
    position: absolute;
    top: 6px;
    left: 8px;
    width: 40%;
    white-space: nowrap;
    font-weight: bold;
    color: #555;
    content: attr(data-label);
  }

  .cart-item-list td[data-label="削除"]::before {
    content: none;
  }

  .cart-item-list td[data-label="番号"]::before {
    text-align: left;
  }
	/* 合計テーブルの左側（ラベル）幅を調整 */
	.total-table th:first-child {
		width: 30%;
		white-space: nowrap;
	}
	
	/* 合計テーブルの右側（金額）幅を自動調整 */
	.total-table th.total {
		width: 70%;
		text-align: right;
	}
}

@media (min-width: 639px) {
	.card-list {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
	}
}

/* もっと広い画面では3列にする */
@media (min-width: 1200px) {
  .form-group {
    width: calc(32% - 1em);
  }
}

@media only screen and (min-width: 1280px) {
	body {
		margin:0px;
		padding:0px;
	}
	main {
		position:relative;
		box-sizing:border-box;
		width:100%;
		margin:30px 0px;
		padding:0px;
		top:100px;
		background:#FFC;
		z-index:1
	}
	footer {
		box-sizing:border-box;
		width:100%;
		margin:0px;
		padding:0px;
		position:relative;
		background:#005b02;
		color:#FFF;
		z-index:4;
	}
	main section {
		width: 1280px;
		margin: 0px auto;
		padding: 10px 30px;
		background: #FFF;
		border-radius: 0px;
		/*
			box-shadow: 左右の向きpx  上下の向きpx ぼかしpx 広がりpx 色 内側指定;
			box-shadow: 0px 5px 10px 1px #999;
		*/
	}
	
	footer section {
		position:relative;
		width:1280px;
		margin:0px auto;
		padding:10px 30px;
		height:300px;	
	}
	.in-frame {
		width:1280px;
		margin:0px auto;
	}
	.header-frame {
		position: fixed;
		width: 100%;
		background-color: white;
		-webkit-transition: all 0.4s linear 0s;
		-webkit-perspective: 1000px;
		perspective: 1000px;
		z-index: 2;
	}
	.parallax-bg {
		padding:0px;
		margin:0px;
		background-attachment: fixed;
		background-position: center;
		background-size: cover;
		background-repeat: no-repeat;
		transition: all 0.1s ease 0s;
	}
	.img-bg-01 {
		background-image: url('../img/bk/01.jpg');
		/*  background-position: left 10px top 10px,center;*/
		background-position:50% - 200px;
		background-size:cover;
		width:100vw;
		height: calc(100vh - 100px);
		position: fixed;
		top: 0px;
		left: 0px;
	}
	.top-image {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,0.1);
	}
	.pg-text {
		box-sizing: border-box;
		color: #FFF;
		font-size: 3vw;
		display: flex;
		align-items: center;
		justify-content: center;
		height: 100%;
		padding: 5%;
		text-align:center;
	}
	.blank_head {
		position: relative;
		height: calc(100vh - 70px);
		margin:0px;
		padding:0px;
	}
	.blank_head2 {
		position: relative;
		height:60px;
		margin:0px;
		padding:0px;
	}
	/* サブナビゲーション */
  .menu-list {
    position: relative;
  }
	
	.gnavi{
		font-size:1em;
	}

  .menu-item-sub {
    background: #4C8C4D;
    left: 0;
    margin: 0 calc(50% - 50vw);
    opacity: 0;
    position: absolute;
    top: 50px;
    transition: all 0.2s ease;
    visibility: hidden;
    width: 100vw;
		
  }
	
  .menu-item-sub .inner {
    display: flex;
		flex-flow: wrap;
		justify-content:left;
    align-items: flex-start;
		text-align:center;
    margin: 0 auto;
    width: 1280px;
		font-size:1em;
	}
	
  .menu-item-sub .inner ul {
		/*
    margin: 20px 20px 20px;
		*/
		margin: 10px 0px 10px 0px;
  }

  .menu-root .menu-list .menu-item-sub a {
    text-align: center;
  }

  .menu-item:hover .menu-item-sub {
    opacity: 1;
    visibility: visible;
  }
	table.total-table {
		width: 640px;
		margin-top: 20px;
	}
}
@media only screen and (min-width: 1024px) and (max-width: 1279px) {
	body {
		margin:0px;
		padding:0px;
	}
	main {
		position:relative;
		box-sizing:border-box;
		width:100%;
		margin:30px 0px;
		padding:0px;
		top:100px;
		background:#FFC;
		z-index:1
	}
	footer {
		box-sizing:border-box;
		width:100%;
		margin:0px;
		padding:0px;
		position:relative;
		background:#005b02;
		color:#FFF;
		z-index:4;
	}
	main section {
		width:960px;
		margin:0px auto;
		padding:10px 10px;
		background:#FFF;
		border-radius:0px;
		/*
		box-shadow: 左右の向きpx  上下の向きpx ぼかしpx 広がりpx 色 内側指定;
		box-shadow: 0px 5px 10px 1px #999;
		*/
		
	}
	
	footer section {
		position:relative;
		width:960px;
		margin:0px auto;
		padding:10px 10px;
		height:300px;	
	}
	.in-frame {
		width:960px;
		margin:0px auto;
	}
	.header-frame {
		position: fixed;
		width: 100%;
		background-color: white;
		-webkit-transition: all 0.4s linear 0s;
		-webkit-perspective: 1000px;
		perspective: 1000px;
		z-index: 2;
	}
	.parallax-bg {
		padding:0px;
		margin:0px;
		background-attachment: fixed;
		background-position: center;
		background-size: cover;
		background-repeat: no-repeat;
		transition: all 0.1s ease 0s;
	}
	.img-bg-01 {
		background-image: url('../img/bk/01.jpg');
		/*  background-position: left 10px top 10px,center;*/
		background-position:50% - 200px;
		background-size:cover;
		width:100vw;
		height: calc(100vh - 100px);
		position: fixed;
		top: 0px;
		left: 0px;
	}
	.top-image {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,0.1);
	}
	.pg-text {
		box-sizing: border-box;
		color: #FFF;
		font-size: 3vw;
		display: flex;
		align-items: center;
		justify-content: center;
		height: 100%;
		padding: 5%;
		text-align:center;
	}
	.blank_head {
		position: relative;
		height: calc(100vh - 70px);
		margin:0px;
		padding:0px;
	}
	.blank_head2 {
		position: relative;
		height:60px;
		margin:0px;
		padding:0px;
	}
	/* サブナビゲーション */
  .menu-list {
    position: relative;
  }
	.gnavi{
		font-size:0.9em;
	}
  .menu-item-sub {
    background: #4C8C4D;
    left: 0;
    margin: 0 calc(50% - 50vw);
    opacity: 0;
    position: absolute;
    top: 50px;
    transition: all 0.2s ease;
    visibility: hidden;
    width: 100vw;
		
  }
  .menu-item-sub .inner {
    display: flex;
		flex-flow: wrap;
		justify-content:left;
    align-items: flex-start;
		text-align:center;
    margin: 0 auto;
		font-size:0.8em;
		width:960px;
	}
	
  .menu-item-sub .inner ul {
		/*
    margin: 20px 20px 20px;
		*/
		margin: 20px 10px 20px;
  }

  .menu-root .menu-list .menu-item-sub a {
    text-align: center;
  }

  .menu-item:hover .menu-item-sub {
    opacity: 1;
    visibility: visible;
  }
	
	/*
	#######################################################################
	*/
	.message-box {
		position:relative;
		margin:0px;
		padding:10px;
		/*
		width:340px;
		*/
		width:630px;
		border-radius:6px;
		box-shadow: 0 0 6px rgba(0, 0, 0, 0.3);
		/*
		background:rgba(255, 255, 255, 0.5);
		*/
	}
	.newsBox {
		border:1px solid #999;border-radius:10px;padding:0px;
		margin:0px 10px;
		/*
		background:#FF9;
		*/
		background:#FFF;
		text-align:left;
		-webkit-box-shadow: 0px 0px 1px 3px #EEE;
		box-shadow: 0px 0px 1px 3px #EEE;
	}
	.newsInner {
		width:650px;
	}
	.newsHidePictBoxL {
		width:570px;margin:20px;padding:10px;border:1px solid #999;float:left;
		display:none;
	}
	.newsPictBoxL {
		width:570px;margin:0px 20px;padding:10px;border:1px solid #999;float:left;
	}
	.newsPictBoxS {
		width:120px;margin:10px;padding:10px;border:1px solid #999;float:left;
	}
	.newsPictL {
		width:570px;
	}
	.newsPictS {
		width:120px;
	}
	.newsTitle {
		max-width:590px;
		padding:0px 10px 0px 10px;float:left;
		font-weight:bold;
		letter-spacing:3px;
		font-size:18px;
		line-height:30px;
		color:#555;
	}
	.newsTitle2 {
		max-width:590px;
		padding:0px 10px 0px 10px;float:left;
		font-weight:bold;
		letter-spacing:3px;
		font-size:18px;
		line-height:30px;
		color:#555;
	}
	.newsDate {
		width:140px;
		padding:0px 10px 0px 10px;float:left;
		font-style:italic;
		line-height:30px;
	}
	.newsDate2 {
		width:140px;
		padding:0px 10px 0px 10px;float:left;
		font-style:italic;
		line-height:30px;
	}
	.newsDate.ATTENTION {
		width:140px;
		padding:0px 10px 0px 10px;float:left;
		font-style:italic;
		line-height:30px;
		/*
		line-height:1.6em;
		*/
	}
	.newsLink {
		width:590px;padding:6px 10px;float:left;line-height:1.6em;
		color:#555;
	}
	.newsLink2 {
		width:590px;padding:6px 10px 0px 40px;float:left;line-height:1.6em;
		color:#555;
	}
	.newsMessage {
		width:590px;padding:6px 10px;float:left;line-height:1.6em;
		color:#555;
	}
	.newsMessage2 {
		/* 1080 -> 780 */
		width:590px;padding:6px 10px 0px 40px;float:left;line-height:1.6em;
		color:#555;
		clear:both;
	}
	.newsMessage.ATTENTION,.newsMessage2.ATTENTION {
		color:#F00;
	}
	.newsSpace {
		height:10px;clear:both;
	}
	.newsHideSpace {
		height:10px;clear:both;
		display:none;
	}
	.newsHr {
		margin:10px 10px;align:center;width:95%;
	}
	p.attention {
		font-family:sans-serif;
		line-height:1.6em;
		padding-top:20px;
		color:#FF0066;
	}
	
	p.explain {
		font-size:1.4em;line-height:1.8em;color:#333;letter-spacing:0.05em;
	}
	.letter-space01 {
		letter-spacing:0.1em;
	}
	h1.title {
		box-sizing:border-box;
		width:100%;
		font-size:1.4em;
		padding:16px 0px 16px 1em;
		margin:0px;
		border-radius:24px;
		background:#005b02;
		color:#FFF;
		text-align:left;
		white-space: nowrap;
	}
	h2.title {
		box-sizing:border-box;
		width:100%;
		font-size:1.2em;
		padding:14px 0px 14px 1em;
		border-radius:24px;
		background:#005b02;
		color:#FFF;
		text-align:left;
	}
	h3.title {
		box-sizing:border-box;
		width:100%;
		padding:12px 0px 12px 1em;
		border-radius:24px;
		background:#005b02;
		color:#FFF;
		text-align:left;
	}
	h4.title {
		box-sizing:border-box;
		width:100%;
		padding:10px 0px 10px 1em;
		border-radius:20px;
		background:#005b02;
		color:#FFF;
		text-align:left;
	}
	table.total-table {
		width: 640px;
		margin-top: 20px;
	}
}

@media only screen and (min-width: 640px) and (max-width: 1023px) {
	body {
		width:640px;
		margin:0px auto;
		padding:10px;
	}
	main {
		position:relative;
		box-sizing:border-box;
		width:100%;
		margin:10px 0px;
		padding:0px;
		top:80px;
		background:#FFC;
		z-index:1;
	}
	footer {
		box-sizing:border-box;
		width:100%;
		margin:0px;
		padding:0px;
		position:relative;
		background:#005b02;
		color:#FFF;
		z-index:4;
	}
	main section {
		width:640px;
		margin:0px auto;
		padding:10px 10px;
		background:#FFF;
		z-index:2;
	}
	
	footer section {
		position:relative;
		width:640px;
		margin:0px auto;
		padding:10px;
		height:300px;
	}
	.in-frame {
		width:640px;
		margin:0px auto;
	}
	.header-frame {
		margin:0xp auto;
		height:auto;
	}
	.head-logo img {
		width:120px;
		height:auto;
	}
	.head-address {
		clear:both;
		float:right;
		font-size:0.8em;
		margin-top:0px;
	}
	.head-title {
		float:left;
		font-size:0.8em;
		margin-top:0px;
	}
	.parallax-bg {
		display:none;
	}
	.blank_head {
		display:none;
	}
	
	.img-bg-01 {
		display:none;
	}
  .menu-item-sub {
    display: none;
  }
  .menu-root {
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
		z-index:99998;
		background-color: rgba(255,255,255,0.0);
  }

  .menu-list {
    height: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
	.scroll-down {
		display:none;
  }
	
	.menu-root-header {
		height: 50px;
		
		top: 0;
		left: 0;
		width: 100%;
		z-index: 9999; /* 他の要素より前に出すため */
		background-color: #fff; /* 背景色は必ず指定（透けるのを防止） */
		box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* お好みで影を付けても */
	}

  .menu-root .menu-list {
    background: rgba(0, 0, 0, 0.8);
    display: none;
    left: 50%;
    padding: 10px;
    position: absolute;
    transform: translate(-50%, 0%);
    width: 100%;
  }

  .menu-root .menu-list .menu-item a {
    border-bottom: 1px solid #ccc;
    border-right: none;
    color: #fff;
    padding: 1rem 1rem;
    text-align: left;
  }

  .menu-root .menu-list .menu-item:last-child a {
    border-bottom: none;
  }	
  .menu-root-icon {
    color: #999;
    cursor: pointer;
    display: inline-block;
    font-size: 28px;
    position: absolute;
    right: 5px;
    top: 15px;
    z-index:99999;
  }
	.menu-root-icon {
    color: #999;
    cursor: pointer;
    display: inline-block;
    font-size: 28px;
    position: absolute;
    right: 5px;
    top: 15px;
    z-index:99999;
  }
	/* */
	.menu-root-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 0px;
    z-index: 10000; /* 十分に高く */
    
  }
  .menu-root {
    position: fixed;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none; /* ←ここを無効にするのが原因だった */
    z-index: 9998;
  }

  .menu-root.active {
    pointer-events: auto;
  }

  .menu-root-icon {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 1; /* .menu-root-header より前に */
    font-size: 28px;
    color: #333;
    cursor: pointer;
  }
	
	/*
	#######################################################################
	*/
	.message-box {
		position:relative;
		margin:0px;
		padding:10px;
		width:300px;
		border-radius:6px;
		box-shadow: 0 0 6px rgba(0, 0, 0, 0.3);
		/*
		background:rgba(255, 255, 255, 0.5);
		*/
	}
	.newsBox {
		border:1px solid #999;border-radius:10px;padding:0px;
		margin:0px 10px;
		/*
		background:#FF9;
		*/
		background:#FFF;
		text-align:left;
		-webkit-box-shadow: 0px 0px 1px 3px #EEE;
		box-shadow: 0px 0px 1px 3px #EEE;
	}
	.newsInner {
		width:320px;
	}
	.newsHidePictBoxL {
		width:280px;margin:20px;padding:10px;border:1px solid #999;float:left;
		display:none;
	}
	.newsPictBoxL {
		width:280px;margin:0px 20px;padding:10px;border:1px solid #999;float:left;
	}
	.newsPictBoxS {
		width:120px;margin:10px;padding:10px;border:1px solid #999;float:left;
	}
	.newsPictL {
		width:280px;
	}
	.newsPictS {
		width:120px;
	}
	.newsTitle {
		max-width:300px;
		padding:0px 10px 0px 10px;float:left;
		font-weight:bold;
		letter-spacing:3px;
		font-size:18px;
		line-height:30px;
		color:#555;
	}
	.newsTitle2 {
		max-width:300px;
		padding:0px 10px 0px 10px;float:left;
		font-weight:bold;
		letter-spacing:3px;
		font-size:18px;
		line-height:30px;
		color:#555;
	}
	.newsDate {
		width:140px;
		padding:0px 10px 0px 10px;float:left;
		font-style:italic;
		line-height:30px;
	}
	.newsDate2 {
		width:140px;
		padding:0px 10px 0px 10px;float:left;
		font-style:italic;
		line-height:30px;
	}
	.newsDate.ATTENTION {
		width:140px;
		padding:0px 10px 0px 10px;float:left;
		font-style:italic;
		line-height:30px;
		/*
		line-height:1.6em;
		*/
	}
	.newsLink {
		width:300px;padding:6px 10px;float:left;line-height:1.6em;
		color:#555;
	}
	.newsLink2 {
		width:300px;padding:6px 10px 0px 40px;float:left;line-height:1.6em;
		color:#555;
	}
	.newsMessage {
		width:300px;padding:6px 10px;float:left;line-height:1.6em;
		color:#555;
	}
	.newsMessage2 {
		/* 1080 -> 780 */
		width:300px;padding:6px 10px 0px 40px;float:left;line-height:1.6em;
		color:#555;
		clear:both;
	}
	.newsMessage.ATTENTION,.newsMessage2.ATTENTION {
		color:#F00;
	}
	span.headline {
		font-family:FontAwesome;
		line-height:30px;
		padding-right:10px;
		width:1em;
		color:#005b02;
	}
	span.headline.ATTENTION{
		font-family:FontAwesome;
		/*
		font-size:1.6em;
		*/
		line-height:30px;
		padding-right:10px;
	}
	.newsSpace {
		height:10px;clear:both;
	}
	.newsHideSpace {
		height:10px;clear:both;
		display:none;
	}
	.newsHr {
		margin:10px 10px;align:center;width:95%;
	}
	p.attention {
		font-family:sans-serif;
		line-height:1.6em;
		padding-top:20px;
		color:#FF0066;
	}
	p.explain {
	font-size:1em;line-height:1.8em;color:#333;letter-spacing:0.05em;
	}
	.letter-space01 {
		letter-spacing:0.1em;
	}
	h1.title {
		box-sizing:border-box;
		width:100%;
		font-size:1em;
		padding:16px 0px 16px 1em;
		margin:0px;
		border-radius:24px;
		background:#005b02;
		color:#FFF;
		text-align:left;
		white-space: nowrap;
	}
	h2.title {
		box-sizing:border-box;
		width:100%;
		font-size:1em;
		padding:14px 0px 14px 1em;
		border-radius:24px;
		background:#005b02;
		color:#FFF;
		text-align:left;
	}
	h3.title {
		box-sizing:border-box;
		width:100%;
		padding:12px 0px 12px 1em;
		border-radius:24px;
		background:#005b02;
		color:#FFF;
		text-align:left;
	}
	h4.title {
		box-sizing:border-box;
		width:100%;
		padding:10px 0px 10px 1em;
		border-radius:20px;
		background:#005b02;
		color:#FFF;
		text-align:left;
	}
	table.total-table {
		width: 640px;
		margin-top: 20px;
	}
	.item-box1 {
		width: 600px;
		display:inline-block;
		vertical-align:top;
	}
	.item-box2 {
		width:280px;
		display:inline-block;
		vertical-align:top;
	}
	.item-box3 {
		width:240px;
		display:inline-block;
		vertical-align:top;
	}
	.item-box4 {
		width:140px;
		display:inline-block;
		vertical-align:top;
	}
	.item-box5 {
		width:160px;
		display:inline-block;
		vertical-align:top;
	}
}
@media only screen and (max-width: 639px) {
	body {
		width:360px;
		margin:0px auto;
		padding:10px;
	}
	main {
		position:relative;
		box-sizing:border-box;
		width:100%;
		margin:10px 0px;
		padding:0px;
		top:80px;
		background:#FFC;
		z-index:1
	}
	footer {
		box-sizing:border-box;
		width:100%;
		margin:0px;
		padding:0px;
		position:relative;
		background:#005b02;
		color:#FFF;
		z-index:4;
	}
	main section {
		width:360px;
		margin:0px auto;
		padding:10px 10px;
		background:#FFF;
	}
	
	footer section {
		position:relative;
		width:360px;
		margin:0px auto;
		padding:10px;
		height:300px;
	}
	.in-frame {
		width:360px;
		margin:0px auto;
	}
	.header-frame {
		margin:0xp auto;
		height:auto;
	}
	.head-logo img {
		width:120px;
		height:auto;
	}
	.head-address {
		clear:both;
		float:right;
		font-size:0.8em;
		margin-top:0px;
	}
	.head-title {
		float:left;
		font-size:0.8em;
		margin-top:0px;
	}
	.parallax-bg {
		display:none;
	}
	.blank_head {
		display:none;
	}
	
	.img-bg-01 {
		display:none;
	}
  .menu-item-sub {
    display: none;
  }
  .menu-root {
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
		z-index:99998;
		background-color: rgba(255,255,255,0.0);
  }

  .menu-list {
    height: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
	.scroll-down {
		display:none;
  }
	
	.menu-root-header {
    height: 50px;
  }

  .menu-root .menu-list {
    background: rgba(0, 0, 0, 0.8);
    display: none;
    left: 50%;
    padding: 10px;
    position: absolute;
    transform: translate(-50%, 0%);
    width: 100%;
  }

  .menu-root .menu-list .menu-item a {
    border-bottom: 1px solid #ccc;
    border-right: none;
    color: #fff;
    padding: 1rem 1rem;
    text-align: left;
  }

  .menu-root .menu-list .menu-item:last-child a {
    border-bottom: none;
  }	
  .menu-root-icon {
    color: #999;
    cursor: pointer;
    display: inline-block;
    font-size: 28px;
    position: absolute;
    right: 5px;
    top: 15px;
    z-index:99999;
  }
	/* */
	.menu-root-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 0px;
    z-index: 10000; /* 十分に高く */
    
  }
  .menu-root {
    position: fixed;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none; /* ←ここを無効にするのが原因だった */
    z-index: 9998;
  }

  .menu-root.active {
    pointer-events: auto;
  }

  .menu-root-icon {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 1; /* .menu-root-header より前に */
    font-size: 28px;
    color: #333;
    cursor: pointer;
  }
	
	.card-image-container img {
		width: 20px;  /* 例：幅100pxに統一 */
		height: auto;  /* 高さは自動（縦横比を維持） */
		object-fit: contain;
	}

	/*
	#######################################################################
	*/
	.message-box {
		position:relative;
		margin:0px;
		padding:10px;
		width:340px;
		border-radius:6px;
		box-shadow: 0 0 6px rgba(0, 0, 0, 0.3);
		/*
		background:rgba(255, 255, 255, 0.5);
		*/
	}
	.newsBox {
		border:1px solid #999;border-radius:10px;padding:0px;
		margin:0px 10px;
		/*
		background:#FF9;
		*/
		background:#FFF;
		text-align:left;
		-webkit-box-shadow: 0px 0px 1px 3px #EEE;
		box-shadow: 0px 0px 1px 3px #EEE;
	}
	.newsInner {
		width:360px;
	}
	.newsHidePictBoxL {
		width:280px;margin:20px;padding:10px;border:1px solid #999;float:left;
		display:none;
	}
	.newsPictBoxL {
		width:280px;margin:0px 20px;padding:10px;border:1px solid #999;float:left;
	}
	.newsPictBoxS {
		width:120px;margin:10px;padding:10px;border:1px solid #999;float:left;
	}
	.newsPictL {
		width:280px;
	}
	.newsPictS {
		width:120px;
	}
	.newsTitle {
		max-width:300px;
		padding:0px 10px 0px 10px;float:left;
		font-weight:bold;
		letter-spacing:3px;
		font-size:18px;
		line-height:30px;
		color:#555;
	}
	.newsTitle2 {
		max-width:300px;
		padding:0px 10px 0px 10px;float:left;
		font-weight:bold;
		letter-spacing:3px;
		font-size:18px;
		line-height:30px;
		color:#555;
	}
	.newsDate {
		width:140px;
		padding:0px 10px 0px 10px;float:left;
		font-style:italic;
		line-height:30px;
	}
	.newsDate2 {
		width:140px;
		padding:0px 10px 0px 10px;float:left;
		font-style:italic;
		line-height:30px;
	}
	.newsDate.ATTENTION {
		width:140px;
		padding:0px 10px 0px 10px;float:left;
		font-style:italic;
		line-height:30px;
		/*
		line-height:1.6em;
		*/
	}
	.newsLink {
		width:300px;padding:6px 10px;float:left;line-height:1.6em;
		color:#555;
	}
	.newsLink2 {
		width:300px;padding:6px 10px 0px 40px;float:left;line-height:1.6em;
		color:#555;
	}
	.newsMessage {
		width:300px;padding:6px 10px;float:left;line-height:1.6em;
		color:#555;
	}
	.newsMessage2 {
		/* 1080 -> 780 */
		width:300px;padding:6px 10px 0px 40px;float:left;line-height:1.6em;
		color:#555;
		clear:both;
	}
	.newsMessage.ATTENTION,.newsMessage2.ATTENTION {
		color:#F00;
	}
	span.headline {
		font-family:FontAwesome;
		line-height:30px;
		padding-right:10px;
		width:1em;
		color:#005b02;
	}
	span.headline.ATTENTION{
		font-family:FontAwesome;
		/*
		font-size:1.6em;
		*/
		line-height:30px;
		padding-right:10px;
	}
	.newsSpace {
		height:10px;clear:both;
	}
	.newsHideSpace {
		height:10px;clear:both;
		display:none;
	}
	.newsHr {
		margin:10px 10px;align:center;width:95%;
	}
	p.attention {
		font-family:sans-serif;
		line-height:1.6em;
		padding-top:20px;
		color:#FF0066;
	}
	p.explain {
	font-size:1em;line-height:1.8em;color:#333;letter-spacing:0.05em;
	}
	.letter-space01 {
		letter-spacing:0.1em;
	}
	h1.title {
		box-sizing:border-box;
		width:100%;
		font-size:1em;
		padding:16px 0px 16px 1em;
		margin:0px;
		border-radius:24px;
		background:#005b02;
		color:#FFF;
		text-align:left;
		white-space: nowrap;
	}
	h2.title {
		box-sizing:border-box;
		width:100%;
		font-size:1em;
		padding:14px 0px 14px 1em;
		border-radius:24px;
		background:#005b02;
		color:#FFF;
		text-align:left;
	}
	h3.title {
		box-sizing:border-box;
		width:100%;
		padding:12px 0px 12px 1em;
		border-radius:24px;
		background:#005b02;
		color:#FFF;
		text-align:left;
	}
	h4.title {
		box-sizing:border-box;
		width:100%;
		padding:10px 0px 10px 1em;
		border-radius:20px;
		background:#005b02;
		color:#FFF;
		text-align:left;
	}
	.menu-root {
		pointer-events: none;
	}
	.menu-root.active {
		pointer-events: auto;
	}
	table.total-table {
		width: 360px;
		margin-top: 20px;
		
	}
	th.total {
		width:328px;
		margin-top:-1px;
	}
	#writeDateTime {
		margin-top:0px;padding:8px 0px 6px 15px;z-index:9999;font-size:12px;
		color:#555555;
		vertical-align:baseline;
		display:none;
	}
	.item-box1 {
		width:320px;
		display:inline-block;
		vertical-align:top;
	}
	.item-box2 {
		width:320px;
		display:inline-block;
		vertical-align:top;
	}
	.item-box3 {
		width:320px;
		display:inline-block;
		vertical-align:top;
	}
	.item-box4 {
		width:140px;
		display:inline-block;
		vertical-align:top;
	}
	.item-box5 {
		width:120px;
		display:inline-block;
		vertical-align:top;
	}
}