/*================================================
 *  common
 ================================================*/

@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);

body {
	/* font-size: 14px;
    line-height: 1; */
	/* font-family: 'Noto Sans Japanese',   sans-serif; */
}

a {
	color: #09F;
}

a:hover {
	transition: 0.3s;
	color: #5fbcfa;
}

.red {
	color: #ff0000;
}

a:hover img {
	transition: 0.5s;
	opacity: 0.7;
}

img {
	max-width: 100%;
	height: auto;
}


section {
	line-height: 1.5;
}


@-moz-document url-prefix() {
	section {
		font-family: "Noto Sans Japanese";
	}
}

main#hardware {
	font-size: 18px;
	color: #202020;
	line-height: 1.5;
}

@media screen and (max-width:728px) {
	main#hardware {
		font-size: 16px;
	}
}

/*================================================
 section hero
 ================================================*/

section {
	width: 100%;
	max-width: 960px;
	padding: 20px 0;
	margin: 0 auto;
	text-align: left;
}
section + section {
    padding: 20px 20px;
}

section.hero {
	max-width: 960px;
	color: #000;
	padding: 20px 0 20px 0;
	margin: 0 auto;
	text-align: center;
}

.heroinner {
	margin: 0 auto;
	max-width: 960px;
	border-bottom: 1px solid #ccc;
	padding-bottom: 15px;
}

.heroinner h2 {
	font-size: 26px;
	text-align: center;
	font-weight: 800;
	padding-top: 40px;
	padding-bottom: 15px;
}

.heroinner h3 {
	font-size: 22px;
	text-align: center;
	font-weight: 800;
	margin: 0 0 10px;
}

.heroinner h5 {
	font-size: 16px;
	/* color: #000; */
	font-weight: bold;
}

.red {
	color: #C30;
	text-align: center !important;
}


.iconlayout {
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
}

.icon {
	max-width: 220px;
	height: 144px;
	flex-basis: 220px;
	border: 2px solid #ccc;
	border-radius: 5px;
	padding: 10px;
	text-align: center;
	font-size: 14px;
	color: #333;
	margin-bottom: 15px;
}

h4 {
	color: #65ab31;
	font-weight: bold;
}

p {
	color: #666;
}

.hero_box {
	height: 295px;
	margin: 0 0 20px;
}

.hardware_box {
	display: flex;
	justify-content: space-between;
}

.hardware_box div {
	width: 100%;
	max-width: calc(94%/3);
	margin: 0 0 30px;
}

.hardware_box h3,
.handy_box h3 {
	color: #C30;
	font-size: 16px;
}

.hardware_box img {
	width: 100%;
	height: 210px;
	object-fit: contain;
	margin: 0 auto 10px;
}

.tokuchou_box {
	display: flex;
	justify-content: space-between;
}

.tokuchou_box > div {
	display: flex;
	flex-flow: column;
	justify-content: space-between;
	width: calc(97%/2);
}

.tokuchou_box > div > div {
	border: 1px solid #ccc;
	border-radius: 5px;
	padding: 20px;
	margin: 0 0 10px;
}

.tokuchou_box > div:first-of-type > div:first-of-type {
	min-height: 279px;
}

.tokuchou_box h4 {
	font-size: 3rem;
	color: #65ab31;
	position: relative;
	margin: 0 0 10px 60px;
}

.tokuchou_box > div:first-of-type > div:first-of-type h4::after {
	content: '';
	width: 100%;
	height: 50px;
	background: url(/product/hdpos/images/tokuchou_icon_dengen.svg) no-repeat;
	background-size: contain;
	position: absolute;
	top: -4px;
	left: -60px;
}

.tokuchou_box > div:first-of-type > div:last-of-type h4::after {
	content: '';
	width: 100%;
	height: 40px;
	background: url(/product/hdpos/images/tokuchou_icon_zaiko.svg) no-repeat;
	background-size: contain;
	position: absolute;
	top: 4px;
	left: -60px;
}

.tokuchou_box > div:last-of-type > div:first-of-type h4::after {
	content: '';
	width: 100%;
	height: 50px;
	background: url(/product/hdpos/images/tokuchou_icon_sechi.svg) no-repeat;
	background-size: contain;
	position: absolute;
	top: -4px;
	left: -60px;
}

.tokuchou_box > div:last-of-type > div:nth-of-type(2) h4::after {
	content: '';
	width: 100%;
	height: 50px;
	background: url(/product/hdpos/images/tokuchou_icon_uriage.svg) no-repeat;
	background-size: contain;
	position: absolute;
	top: -4px;
	left: -60px;
}

.tokuchou_box > div:last-of-type > div:last-of-type h4::after {
	content: '';
	width: 100%;
	height: 50px;
	background: url(/product/hdpos/images/tokuchou_icon_receipt.svg) no-repeat;
	background-size: contain;
	position: absolute;
	top: -4px;
	left: -45px;
}

.feat_layout {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

.feat {
	width: 100%;
	max-width: calc(97%/2);
	margin: 0 0 30px;
}

.feat img {
	width: 100%;
}

.feat h4 {
	font-size: 17px;
	color: #65ab31;
	margin-bottom: 10px;
}

.feat h5 {
	font-size: 16px;
	color: #C30;
	margin-bottom: 10px;
}


.hero table {
	width: 95%;
    margin: 0 auto;
}

.hero th {
	width: 158px;
	color: #666;
	font-size: 14px;
	background: #eef8e7;
	font-weight: bold;
	text-align: right;
	border: solid 1px #ccc;
	padding: 10px;
}

.hero th.table-head {
	text-align: center;
	background: #dbf0ce;
}

.hero td {
	width: 368px;
	padding: 10px;
}

.table table th {
	text-align: left;
	font-weight: 300;
	padding: 30px 5px 5px;
}

td:nth-child(1) {
	width: 30%;
}

td {
	font-size: 14px;
	border: solid 1px #ccc;
	padding: 9px 5px 0px;
}

.icon img {
	height: 80px;
	object-fit: contain;
}

.benri_box {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 0 30px;
}

.benri_box div {
	width: calc(97%/3);
}

.benri_box div:nth-of-type(odd) {
	min-height: 202px;
	border: 1px solid #ccc;
	border-radius: 5px;
	padding: 20px;
}

.benri_box div:first-of-type p:first-of-type {
	color: #d1df4c;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
	margin: 0 0 10px;
}

.benri_box div:last-of-type p:first-of-type {
	color: #64ab30;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
	margin: 0 0 10px;
}

.handy_box {
	display: flex;
	justify-content: space-evenly;
}

.handy_box div {
	width: 100%;
	max-width: 350px;
	text-align: center;
	margin: 0 0 30px;
}

.handy_box img {
	width: 100%;
	max-height: 170px;
	object-fit: contain;
}

.annotation_box {
	display: flex;
	justify-content: flex-end;
	width: 100%;
}

.annotation_box div {
	width: fit-content;
}

.text_small {
	font-size: 1.1rem;
}


/*************************************************************************************/
/*Tablet Layout*/
/*************************************************************************************/

@media screen and (max-width: 896px) and (min-width: 729px) {}


/*************************************************************************************/
/*Sp Layout*/
/*************************************************************************************/


@media screen and (max-width:767px) {
	.hero_box {
		height: 150px;
	}

	section {
		width: 96%;
		margin: 0 auto;
	}

	section.hero {
		width: 100%;
		color: #000;
		padding: 20px 0 10px 0;
		margin: 0 auto;
		text-align: center;
	}

	.heroinner {
		margin: 0 auto;
		width: 96%;
		/* max-height: 540px; */
		text-align: center;
		margin-bottom: 15px !important;
	}

	.heroinner h2 {
		font-size: 22px;
		text-align: left;
		font-weight: 800;
		padding-top: 10px;
		margin-bottom: 0px;
	}

	.heroinner h5 {
		font-size: 16px;
		/* color: #000; */
		font-weight: bold;
		text-align: left;
	}

	.heroinner p {
		text-align: left;
	}


	.red {
		color: #C30;
		text-align: center !important;
	}


	.iconlayout {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}

	.icon {
		max-width: 48%;
		flex-basis: 48%;
		border: 2px solid #ccc;
		border-radius: 5px;
		padding: 10px;
		text-align: center;
		font-size: 14px;
		color: #333;
		margin-bottom: 10px;
	}

	.icon p {
		text-align: center !important;
	}

	h4 {
		font-size: 18px;
		color: #65ab31;
		font-weight: bold;
		text-align: left;
	}

	.hardware_box {
		flex-direction: column;
	}

	.hardware_box div {
		max-width: 100%;
		text-align: center;
	}

	.hardware_box h3 {
		color: #C30;
		font-size: 18px;
		font-weight: bold;
		margin-bottom: 10px;
		text-align: center;
		padding: 0;
	}

	.tokuchou_box {
		flex-flow: column;
	}

	.tokuchou_box > div {
		width: 100%;
	}

	.tokuchou_box > div > div {
		padding: 20px 20px 10px;
	}

	.tokuchou_box > div:first-of-type > div:first-of-type {
		min-height: auto;
	}
	
	.tokuchou_box h4 {
		font-size: 2rem;
		margin: 0 0 20px 60px;
	}

	.tokuchou_box > div:first-of-type > div:first-of-type h4::after,
	.tokuchou_box > div:last-of-type > div:first-of-type h4::after,
	.tokuchou_box > div:last-of-type > div:nth-of-type(2) h4::after,
	.tokuchou_box > div:last-of-type > div:last-of-type h4::after {
		top: -10px;
	}

	.tokuchou_box > div:first-of-type > div:last-of-type h4::after {
		top: -4px;
	}

	.feat_layout {
		flex-direction: column;
	}

	.feat {
		max-width: 100%;
	}

	.feat:nth-of-type(odd) {
		margin: 0;
	}

	.feat h4 {
		font-size: 18px;
		color: #65ab31;
		margin-bottom: 10px;
	}

	.feat h5 {
		font-size: 16px;
		color: #C30;
		margin-bottom: 10px;
	}


	.hero table {
		width: 100%;
		max-width: 100%;
		table-layout: fixed;
		word-break: break-all;
		word-wrap: break-word;
	}

	.hero th {
		width: 30%;
		font-size: 1.2rem;
	}

	.hero td {
		width: 35%;
	}

	.table table th {
		text-align: left;
		padding: 30px 5px 5px;
		font-weight: 300;
	}

	td:nth-child(1) {
		width: 35%;
	}

	td {
		font-size: 1.2rem;
	}

	.benri_box {
		flex-flow: column;
	}

	.benri_box div {
		width: 100%;
		margin: 0 0 30px;
	}

	.benri_box div:last-of-type {
		margin: 0;
	}

	.benri_box div:nth-of-type(odd) {
		min-height: auto;
	}

	.handy_box {
		flex-flow: column;
		align-items: center;
	}

}
