@charset "utf-8";
/* CSS Document */

/* Ci support
-----------------------------------------------------*/

/* ==============================================
    pagetitle
============================================== */
#pagetitle {
	background: #d5efdd;
	padding: 120px 0 40px;
	text-align: center;
}
#pagetitle .inner {
	position: relative;
}
#pagetitle h1 {
	font-size: 3.000em;
    font-weight: 800;
    color: rgb(44, 175, 84, 1);
}


#pagetitle strong {
	position: absolute;
	top: -1.5em;
	right: 0;
	background: #fff;
	color: #172e59;
	font-size: 0.875em;
	font-weight: 400;
	padding: 5px 10px;
}

#pagetitle h1 span {
	font-size: 15px;
	display: block;
}
#pagetitle h1 span a {
	color: #fff;
}

@media screen and (max-width: 700px) {
	#pagetitle {
		padding: 40px 0 40px;
	}
	#pagetitle h1 {
		font-size: 2em;
	}
	#pagetitle strong {
		top: -2.5em;
	}
}



/* ==============================================
    
============================================== */
#contents {
	margin-top:50px;
	margin-bottom: 150px;
}
a:hover {
	text-decoration: none;
}
a.icon-link{
	display: block;
    color: #fff;
	padding: 20px;
	background: url("image/icon_link.svg") rgb(44, 175, 84, 1) no-repeat center right 15px;
	background-size: 14px 15px;
	border-radius: 5px;
	/*box-shadow: 0px 2px #02912e;*/
}

/* ==============================================
   
============================================== */
.archive-list {
	margin: 80px 0;
}
.archive-list h2 {
	font-size: 1.500em;
	margin: 40px 0 30px;
	font-family: 'Noto Sans JP', sans-serif;
}
@media screen and (max-width: 700px) {
	.archive-list {
		margin: 50px 0;
	}
}

.contact_block a {
	font-size: 2em;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgb(44, 175, 84, 1);
	color: #fff;
	font-weight: bold;
	height: 100px;
	margin: 80px 0;
	padding: 0 10px;
}
.contact_block a::before {
	content: "";
	display: inline-block;
	background: url("image/icon_mail.svg") no-repeat 0 0 / contain;
	width: 60px;
	height: 60px;
	vertical-align: middle;
	margin-right: 20px;
}

.contact_block a:hover {
	text-decoration: none;
}

@media screen and (max-width: 700px) {
	.contact_block a {
		font-size: 1.5em;
	}
	.contact_block a::before {
		width: 50px;
		height: 50px;
	}
}

/* ==============================================
   news single
============================================== */

.entry-header {
	margin-bottom: 10px;
}
.entry-header .entrytitle,
.entry-header .entrytitle_news {
	font-size: 2.2em;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
	color: #2f2f2f;
	padding-bottom: 15px;
	margin: 5px 0;
	border-bottom: 3px solid rgb(44, 175, 84, 1);
}
.entry-header .entrytitle {
	display: flex;
    align-items: center;
}
.entry-header .entrytitle:before {
	content:  "";
    width: 20%;
    max-width: 40px;
    height: 40px;
    display: block;
    position: relative;
    margin-right: 15px;
    background-image: url(image/question-icon.svg);
    background-size: contain;
    background-repeat: no-repeat;
	vertical-align: -6px;
}
.entry-header .entrytitle a {
	text-decoration: none;
	color: #2f2f2f;
}
.entry-content:before {
	content:  "";
    width: 40px; 
    height: 40px;
    display: inline-block;
    position: relative;
	margin-bottom: 20px;
    background-image: url(image/answer-icon.svg);
    background-size: contain;
    background-repeat: no-repeat;
	vertical-align: -6px;	
}
.entry-meta {
	margin-bottom: 50px;
}
.entry-meta a {
	text-decoration: none;
	color: #6c6c6c;
}
.entry-category {
	background: #eee;
	padding: 10px;
	margin-bottom:30px;
	border-radius: 10px;
}
.entry-category a{
	font-weight: bold;
	display:inline-block;
	color: rgb(44, 175, 84, 1);
}
.entry-category .entry-cat{
	font-size: 0.9em;
	display:inline-block;
	padding:1px 5px;
	margin: 5px 10px 5px 0;
	border-radius: 2px;
}
.entry-meta .entry-products{
	border: 1px solid #eee;
	padding: 15px;
	border-radius: 10px;
}
.entry-meta .entry-products h2{
	margin-bottom: 15px;
}
.entry-meta .entry-products span {
	display: inline-block;
	width: fit-content;
	border-radius: 1px;
	margin: 5px 10px 5px 0;
}
.entry-meta .entry-products a{
	padding: 10px 50px 10px 20px;
	color: #fff;
}
@media screen and (max-width: 700px) {
	.entry-header .entrytitle,
	.entry-header .entrytitle_news {
		font-size: 1.76em;
	}
	.entry-meta {
	padding: 10px 10px;
	}
}


.search-result {
	display: flex;
	padding: 15px 20px;
	border-bottom: 2px solid #cbe5e5;
}
.search-result a {
	flex: 1;
    font-size: 1.4em;
    color: rgb(68,68,68,1);
	line-height: 1.4;
}
.search-result:before {
	content:  "";
    width: 30px; 
    height: 30px;
    display: inline-block;
    position: relative;
    margin-right: 15px;
    background-image: url(image/question-icon.svg);
    background-size: contain;
    background-repeat: no-repeat;
	vertical-align: -6px;
}
.search-result .products_name{
	font-size: 0.6em;
	color: #666;
}
.search-result a span{
	display: inline-block;
	background: #aaa;
	color: #fff;
	font-weight: normal;
	border-radius: 5px;
	margin-right: 5px;
	padding: 0 5px;
}
/* ==============================================
   products
============================================== */
#products_area section {
	margin-bottom: 30px;
}
body.products.single {
	padding-top: 120px;
}
.products-entry section {
	margin-bottom: 50px;
}
.products-entry .flexbox {
	display: flex;
	justify-content: space-between;
}
.products-entry .flexbox figure {
	width: 48%;
	margin-right: 5%;
	text-align: left;
}
.products-entry .flexbox .text {
	flex: 1;
}
@media screen and (max-width: 700px) {
	body.products.single {
		padding-top: 0px;
	}
	.products-entry section {
		margin-bottom: 20px;
	}
	.products-entry .flexbox {
		display: block;
	}
	.products-entry .flexbox figure {
		width: 80%;
		margin: 20px auto;
		text-align: center;
	}
	.products-entry .flexbox .text {
		width: 100%;
		margin-bottom: 30px;
	}
}
.products-entry .products-head figure {
	width: 100%;
	text-align: center;
}
.products-head .pagetitle {
	margin-bottom: 10px;
}
.products-head .pagetitle span {
	display: block;
	font-weight: 400;
}
.products-head .pagetitle span a {
	color: #999;
}
.products-head .pagetitle strong {
	font-size: 2.400em;
	font-weight: 400;
}
@media screen and (max-width: 700px) {
	.products-head .pagetitle strong {
		font-size: 1.600em;
	}
}
section.products-nav {}
section.products-nav h2 {
	font-size: 1.6em;
	color: rgb(68, 68, 68, 1);
	/*margin-bottom: 60px;*/
	text-align: center;
	padding: 40px;
}
section.products-nav h2 span{
	display: block;
	font-size: 0.5em;
	font-weight: normal;
}
section.products-nav .zero_posts{
	background: #eee;
	padding: 20px;
	text-align: center;
	border-radius: 10px;
}
section.products-nav ul{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
}
section.products-nav ul li{
	text-align: center;
	width:98%;
}
section.products-nav ul li a{
	display: block;
	width: 100%;
	border: 1px solid #999;
	padding: 20px;
	border-radius: 5px;
	color:#333;
	/*box-shadow: 0px 2px #999;*/
}
section.products-nav ul li a:hover{
	background: #eee;
	opacity: 1;
}
section.products-nav ul li span{
	display: block;
	font-size:1.4vw;
}
.products-entry section.products-faq {
	margin-bottom: 100px;
}
section.products-faq h2.title {
	/*margin: 0 calc(50% - 50vw);*/
	width: 100%;
	font-size: 1.6em;
	color: rgb(68, 68, 68, 1);
	margin-bottom: 60px;
	text-align: center;
	padding: 30px 40px;
	background: #d5efdd;
}
section.products-faq li h2,
section.products-faq details summary {
	display: flex;
	padding: 15px 20px;
	border-bottom: 1px solid #cdcdcd;
}

section.products-faq li h2 a,
section.products-faq details summary {
	flex: 1;
    font-size: 1.12em;
    color: rgb(68, 68, 68, 1);
	line-height: 1.4;
}
section.products-faq details summary span {
	font-weight: bold;
	cursor: pointer;
	transition: all .4s;
}
section.products-faq li h2:before,
section.products-faq details summary:before {
	content:  "";
    width: 20%;
    max-width: 30px;
    height: 30px;
    display: inline-block;
    position: relative;
    margin-right: 15px;
    background-image: url(image/question-icon.svg);
    background-size: contain;
    background-repeat: no-repeat;
	vertical-align: -6px;
}
section.products-faq details .answer{
	padding: 15px 20px 70px;	
}
section.products-faq details .answer:before{
	content:  "";
    width: 30px; 
    height: 30px;
    display: inline-block;
    position: relative;
    margin-right: 15px;
    background-image: url(image/answer-icon.svg);
    background-size: contain;
    background-repeat: no-repeat;
	vertical-align: -6px;	
}
section.products-faq details .answer p{}

@media screen and (min-width: 1000px) {
	section.products-nav ul li span{
		font-size: 0.9em;
	}
}
@media screen and (max-width: 880px) and (min-width:701px){
	section.products-nav ul li a {	
		font-size: 1.8vw;
	}
}
@media screen and (max-width: 700px) {
	section.products-faq h2.title {
		line-height: 1.5;
	}
	section.products-faq li h2 {
		padding: 5px 5px;
	}
	section.products-faq li h2 a {	
		font-size: 1.125em;
	}
	section.products-faq li h2:before {
		width: 25px; 
		height: 25px;
		margin-right: 10px;
	}
	section.products-nav ul {
		display: block;
	}
	section.products-nav ul li {
		width: 100%;
	}
	section.products-nav ul li a {
		padding: 10px 20px;
	}
	section.products-nav ul li span{
		font-size: 0.9em;
	}
}
@media screen and (min-width: 701px) {
	section.products-faq details summary span:hover {
		opacity: 0.7;
	}
}
.products-faq .btn_down{
	margin: 30px auto 0;
	width: 180px;
	border-radius: 5px;
	border: none;
	color:#fff;
	background: rgb(44,175,84,1);
	cursor: pointer;
	display: block;
	font-size: .9em;
	padding: 5px;
	text-align:center;
	/*box-shadow: 0px 2px #02912e;*/
}
.products-faq .btn_down:after {
	content:"";
	width: 20px;
	height: 20px;
	display: inline-block;
    position: relative;
	background-image: url(image/down.svg);
	background-size: contain;
    background-repeat: no-repeat;
	margin-left:10px;
	padding:0;
	vertical-align:-4px
}
.products-faq .btn_down:hover::after {
	transition: 0.6s;
	transform: translate(0px,6px);
}
.products-faq .btn_up{
	margin: 30px auto 0;
	width: 180px;
	border-radius: 5px;
	border: none;
	color:#fff;
	background: rgb(44,175,84,1);
	cursor: pointer;
	display: block;
	font-size: .9em;
	padding: 5px;
	text-align:center;
}
.products-faq .btn_up:after {
	content:"";
	width: 20px;
	height: 20px;
	display: inline-block;
    position: relative;
	background-image: url(image/up.svg);
	background-size: contain;
    background-repeat: no-repeat;
	margin-left:10px;
	padding:0;
	vertical-align:-4px
}
.products-faq .btn_up:hover::after {
	transition: 0.6s;
	transform: translate(0px,-6px);
}

@media screen and (max-width: 700px){
	.products-faq .btn_down{
		font-size: 1.2em;
		margin: 20px auto 0;
		padding: 0px 5px;
		}
	.products-faq .btn_down:after {
		width: 20px;
		height: 20px;
		margin-left:5px;
		padding:0;
		}
	.products-faq .btn_down:hover::after {
		transition: 0.6s;
		transform: translate(0px,4px);
		}
		.products-faq .btn_up{
		font-size: 1.2em;
		margin: 20px auto 0;
		padding: 0px 5px;
		}
	.products-faq .btn_up:after {
		width: 20px;
		height: 20px;
		margin-left:5px;
		padding:0;
		}
	.products-faq .btn_up:hover::after {
		transition: 0.6s;
		transform: translate(0px,4px);
		}
}
.products-flow h2,
.products-estimated h2,
.products-inquery h2{
	font-size: 1.6em;
}
.products-estimated h3{
	margin:20px 0 30px;
	color:#f00;
}
.products-estimated table{
	width: 100%;
}
.products-estimated th.estimated-1{
	width:40%;
}
.products-estimated th.estimated-2{
	width:30%;
}
.products-estimated th.estimated-3{
	width:30%;
}
.products-estimated th,
.products-estimated td {
	padding: 12px;
	border: 1px solid #ccc;
	text-align: left;
}
.products-estimated th{
	color:#fff;
	background:rgb(44,175,84,1);
}
.products-inquery{
	margin-top:80px;
}
.repairflow_wrap{
	line-height:1;
}
.repairflow{
	position: relative;
	display: grid;
	grid-template-columns: 15% 75% 10%;
	gap: 0;
	width: 60%;
	margin-bottom: 50px;
	border-radius: 5px;    	
}
.repairflow > div {
	padding: 10px;  	
}
.repairflow_left{}
.repairflow_icon{
	display: flex;
	justify-content: center;
	align-items: center;
}
.repairflow_detail{
	display: grid;
	grid-template-columns: 20% 80%;
	gap: 0;
}
.repairflow_step{
	font-size: 1.2em;
	font-weight: 500;
}
.repairflow_txt{}
h3.repairflow_ttl{
	font-size: 1.2em;	
}
p.repairflow_read{
	display: block;
	margin-top: 10px;
	font-size: 0.8em;		
}
.repairflow_img{
	display: flex;
	justify-content: center;
	align-items: center;
}
.repairflow_img img{
	width: 100%;
	height: auto;
}


.repairflow_left{
	border:3px solid #33a6ff;
}
.repairflow_left::after {
	content: "";
	position: absolute;
	left: 92.5%;
	bottom: -35px;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
	border-top: 35px solid #33a6ff;
}
.repairflow_left .repairflow_icon{
	background: #33a6ff;
}
.repairflow_left .repairflow_step{
	color: #33a6ff;
}
.repairflow_right{
	margin-left:40%;
	border:3px solid #56bf76;
}
.repairflow_right::after {
	content: "";
	position: absolute;
	left: 7.5%;
	bottom: -35px;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
	border-top: 35px solid #56bf76;
}
.repairflow_right:last-child::after {
	content: none;
}
.repairflow_right .repairflow_icon{
	background: #56bf76;
}
.repairflow_right .repairflow_step{
	color: #56bf76;
}

@media screen and (max-width: 700px){
	.repairflow{
		grid-template-columns: 15% 65% 20%;
		width: 80%;   	
	}
	.repairflow_detail{
		display: block;
	}
	.repairflow_step{
		margin-bottom:10px;
	}
	.repairflow_right{
		margin-left:20%;
	}

}

.repair_wrap{
	margin-bottom: 60px;
}
.repair_step{
	display: grid;
	grid-template-columns: 8% 90%;
    gap: 2%;
	margin-bottom:40px;
}
.repair_step_ttl,
.repair_step_det h3{
	font-size: 1.2em;
	font-weight: 500;
}
.repair_step_ttl{
	text-align: center;
	border-radius: 5px;
	color:#fff;
}
.repair_step_det h3{
	margin-bottom:10px;
}
.customer .repair_step_ttl{
	background: #33a6ff;
}
.cimed .repair_step_ttl{
	background: #56bf76;
}
.repair_step_det{}
.repair_step .send_wrap{
	padding:20px;
	background: #f5f5f5;
	border-radius: 5px;
}
@media screen and (max-width: 700px){
	.repair_step{
		grid-template-columns: 18% 80%;
	}
}

.products-entry {
	line-height: 2;
}

.products-entry ul {
	list-style: none;
}

.products-entry li {
	margin-bottom: 10px;
}

.products-entry li div {
	margin: 10px 30px 10px 0px;
}

@media screen and (max-width: 700px) {
	.products-entry li div {
		margin: 10px 0px;
	}
}

.products-feature .feature {
	align-items: center;
	margin-bottom: 50px;
}
.products-feature .feature .text h2 {
	font-size: 1.25em;
	margin-bottom: 10px;
}

.products-spec h2 {
	text-align: center;
	font-size: 2.000em;
	margin-bottom: 30px;
}
.products-spec .text {
	font-size: 0.938em;
	line-height: 1.8;
}

/* ==============================================
   FAQ
============================================== */
h3.guide{
	color: #f00;
	text-align: center;
	font-size: 1em;
	font-weight: normal;
}
.sales_parts_wrap{
	display: grid;
	grid-template-columns: repeat(2, 1fr); /* 2列 */
	gap: 20px; /* 行間・列間 */
	margin-bottom: 50px;
}
.sales_parts{
	box-sizing: border-box;
}
.sales_parts a{
	margin: 30px auto 0;
	width: 80%;
	padding-right:40px;
}
.sales_offparts_wrap{
	text-align: center;
	font-weight: bold;
}
.sales_offparts_wrap a{
	margin: 30px auto;
	width: 430px;
    max-width: 100%;
}
.sales_offparts_info{
	border: 1px solid #eee;
	background: #eee;
	padding: 20px;
	border-radius: 10px;
}
.entry-content div.repairinfo_wrap{
	margin-top: 60px;
}
.repairinfo_wrap a{
	margin: 30px auto;
	width: 100%;
	text-align: center;
	font-weight: bold;
}
.serial_wrap h3{
	text-align: center;
	font-size: 1em;
}
.serial_area{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.serial_area_img{
	width: 48%;
	border: 1px solid #eee;
}
.serial_area_img:nth-child(1),
.serial_area_img:nth-child(2){
	margin-bottom: 4%;
}
@media screen and (max-width: 1000px) {
	.sales_parts a{
		width: 100%;
	}
}
@media screen and (max-width: 700px) {
	.sales_parts_wrap{
		display: block;
	}
	.sales_parts a{
		width: 90%;
	}
}