@charset "utf-8";
/* ------------------------------
 TOP
------------------------------ */
/* -- メインイメージ　下層 -- */
.contents .headering {
	background: url(../img/heatsealtester_main.jpg) no-repeat center center / cover;
}

.solutionBox {
	background: #303435;
	padding: 30px;
	color: #fff;
}
.solutionBox .point {
	background: #8859d6;
	border-radius: 100%;
	width: 168px;
	height: 168px;
	color: #fff;
	font-size: 3rem;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
}
.solutionBox .image p {
	padding-top: 10px;
}
.btn.pagebtn {
	text-align: center;
}
.btn.pagebtn a {
	background: #4b1e78;
}
.btn.pagebtn a::after {
	transform: rotate(90deg);
	font-size: 3.4rem;
	right: 30px !important;
}

.multiplication {
	margin-bottom: 40px;
	position: relative;
}
.multiplication th {
	background: #e8e8e8;
}
.result th {
	background: #7b47d2;
	color: #fff;
}
.result td {
	font-weight: bold;
}
.multiplication th,
.result th {
	padding: 15px;
}
.multiplication td,
.result td {
	padding: 15px;
}
.multiplication .box,
.result .box {
	width: 90px;
	display: inline-block;
}
.multiplication .box input,
.result .box input {
	background: #e6e8e9;
	width: 100%;
	padding: 3px 8px;
	text-align: right;
}
.multiplication::after {
	content: "";
	display: block;
	margin: auto;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 11px 11px 0 11px;
	border-color: #7b47d2 transparent transparent transparent;
	text-align: center;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -26px;
}

/* ------------------------------
 FAQ
------------------------------ */
.faqDl dt {
	line-height: 21px;
	margin-top: 15px;
	padding: 16px 3.6em 16px 3.4em ;
	background: #e8e8e8;
	display: block;
	position: relative;
	cursor: pointer;
	font-weight: bold;
}
.faqDl dt::before {
	content: "Q";
	font-size: 2.4rem;
	font-weight: bold;
	color: #333;
	position: absolute;
	top: 15px;
	left: 20px;
}
.faqDl dt::after {
	margin-top: -8px;
	width: 15px;
	height: 15px;
	background: url(../img/icon_open.png) no-repeat left top;
	background-size: 15px;
	position: absolute;
	top: 50%;
	right: 25px;
	content: "";
}
.faqDl dt.on {
	margin-bottom: 0;
}
.faqDl dt.on::after {
	background: url(../img/icon_close.png) no-repeat left top;
	background-size: 15px;
}
.faqDl dd {
	margin: 20px 0;
	line-height: 1.4;
	position: relative;
	display: none;
	padding-left: 3.4em;
}
.faqDl dd:before {
	content: "A";
	font-size: 2.4rem;
	font-weight: bold;
	color: #7b47d2;
	margin-right: 10px;
	margin-right: 18px;
	position: absolute;
	top: -5px;
	left: 20px;
}
/* ------------------------------
 ULTRASONICAとは
------------------------------ */
.ultrasonica .cms_image {
	position: relative;
	margin-bottom: 0;
}
.ultrasonica .cms_caption_b {
	position: absolute;
	color: #fff;
	bottom: 60px;
	left: 60px;
	font-size: 3.2rem;
	font-weight: bold;
}
.ultrasonica .cms_text {
	background: #333;
	color: #fff;
	padding: 40px 60px;
}
.ultrasonica .cms_text strong {
	font-size: 2rem;
}
/* ------------------------------
 PC用限定CSS
------------------------------ */
@media print, screen and (min-width: 768px) {
	.solutionBox {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.solutionBox .text {
		width: 330px;
	}
	.solutionBox .image {
		width: 500px;
	}
	.btn.pagebtn a {
		font-size: 2rem;
		padding: 20px 25px;
		min-width: 546px;
	}
	.multiplication th {
		width: 48%;
	}
	.result th {
		width: 48%;
	}
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	.solutionBox {
		padding: 30px 20px;
	}
	.solutionBox .point {
		width: 125px;
		height: 125px;
		font-size: 2.5rem;
		margin: 0 auto 20px;
	}
	.solutionBox .text {
		margin-bottom: 20px;
	}
	.btn.pagebtn a {
		font-size: 1.6rem;
		padding: 15px 10px;
		min-width: 100%;
	}
	.btn.pagebtn a::after {
		right: 20px !important;
	}
	table th {
		width: 35%;
	}
	.multiplication {
		margin-bottom: 25px;
	}
	.multiplication::after {
		bottom: -18px;
	}
	.multiplication th,
	.result th {
		padding: 10px;
		font-size: 1.4rem;
		width: 40%;
	}
	
	.faqDl dt {
		padding: 15px 2.6em 15px 3em;
		margin-top: 10px;
	}
	.faqDl dt::after {
		width: 17px;
		height: 17px;
		background: url(../img/icon_open.png) no-repeat left top;
		background-size: 17px 17px;
		right: 14px;
	}
	.faqDl dt.on::after {
		background-size: 17px 17px;
	}
	.faqDl dt::before {
		font-size: 2rem;
		top: 15px;
		left: 17px;
	}
	.faqDl dd {
		margin: 15px 0;
		padding-left: 3em;
	}
	.faqDl dd:before {
		font-size: 2rem;
		top: -1px;
		left: 17px;
	}
	.ultrasonica .cms_caption_b {
		bottom: 20px;
		left: 20px;
		font-size: 1.8rem;
	}
	.ultrasonica .cms_text {
		padding: 20px;
	}
	.ultrasonica .cms_text strong {
		font-size: 1.7rem;
	}
}
@media screen and (max-width: 420px) {
	.cms_image.w1-4 {
		width: 100%;
	}
	.flexBox .w1-4:not(:nth-child(2n)) {
		margin-right: 0;
	}
}