/*---------------------------------
	newsPickup start
---------------------------------*/
.newsPickup{
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
}

.newsPickupItem{
	margin-bottom: 0;
	border-bottom: 2px solid #CCC;
}

.newsPickupItem_link,
.newsPickupItem_link:hover{
	color: inherit;
	text-decoration: none;
}

.newsPickupItem_link:hover{
	text-decoration: underline;
}

.newsPickupItem_inner{
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	flex-wrap: nowrap;
}

.newsPickupItem_date{
	flex-grow: 0;
	flex-shrink: 0;
	width: 8em;
	padding: 0.75em 0.5em;
	margin: 0;
	color: #000000;
}

.newsPickupItem_title{
	flex-grow: 1;
	flex-shrink: 1;
	padding: 0.75em 0.5em;
	margin: 0;
}

@media(max-width: 600px){
	.newsPickupItem_inner{
		flex-direction: column;
		padding: 0.5em 0.5em;
	}
	
	.newsPickupItem_date,
	.newsPickupItem_title{
		width: 100%;
		padding: 0;
		margin-bottom: 0.5em;
		
	}
}

/*---------------------------------
	newsPickup end
---------------------------------*/

/*---------------------------------
	serviceOtherItems start
---------------------------------*/
.serviceOtherItems{
	display: flex;
	align-items: stretch;
	flex-wrap: nowrap;
	padding: 1.5em;
	background-color: rgba(31,78,121,0.1);
}

@media(max-width: 1024px){
	.serviceOtherItems{
		flex-direction: column;
		width: 100%;
		max-width: 500px;
		margin: 0 auto;
	}
}

.serviceOtherItems_container{
	flex-grow: 0;
	flex-shrink: 0;
	width: calc(100% / 4);
	padding: 0.5em;
}

@media(min-width: 1025px){
	.serviceOtherItems_container{
		border-right: 1px solid rgba(0,0,0,0.25);
	}
	
	.serviceOtherItems_container:first-of-type{
		border-left: 1px solid rgba(0,0,0,0.25);
	}
}

@media(max-width: 1024px){
	.serviceOtherItems_container{
		width: 100%;
		padding: 1em 0.5em;
		border-bottom: 1px solid rgba(0,0,0,0.25);
	}
	
	.serviceOtherItems_container:last-of-type{
		border-bottom: none;
	}
}

.serviceOtherItems_list{
	margin: 0;
	padding: 0;
}

.serviceOtherItems_listItem{
	position: relative;
	list-style: none;
	padding-left: 1em;
}

.serviceOtherItems_listItem:before{
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
}

/*---------------------------------
	serviceOtherItems start
---------------------------------*/

/*---------------------------------
	serviceAzbilBannar start
---------------------------------*/
.serviceAzbilBannar{
	display: flex;
	justify-content: center;
}

.serviceAzbilBannar_link{
	transition: opacity 0.25s;
}

.serviceAzbilBannar_link:hover{
	opacity: 0.5;
}

.serviceAzbilBannar_image{
	display: block;
	width: auto;
	max-width: 100%;
}

/*---------------------------------
	serviceAzbilBannar end
---------------------------------*/


/*---------------------------------
	flow start
---------------------------------*/
.flow{
	--gap: 7rem;
	--arrowColor: var(--flowArrowColor);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--gap);
}

@media(max-width: 600px){
	.flow{
		--gap: 5rem;
	}
}

.flow_item{
	position: relative;
	width: 100%;
	padding: 1em;
	border: 3px solid #a4d4ed;
	background-color: var(--flowBackgroundColor);
}

.flow_item:not(:last-of-type):after{
	content: "▼";
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	height: var(--gap);
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 200%;
	color: #a4d4ed;
}

/*---------------------------------
	flow end
---------------------------------*/

/*---------------------------------
	reworkMerit start
---------------------------------*/
.reworkMerit{
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	flex-wrap: nowrap;
}

@media(max-width: 1024px){
	.reworkMerit{
		flex-direction: column;
	}
}

.reworkMerit_arrow{
	align-self: center;
}

.reworkMerit_arrow:before{
	content: "right";
	font-size: 300%;
	color: #1F4E79;
	font-family: 'LigatureSymbols' !important;
	-webkit-text-rendering: optimizeLegibility;
	-moz-text-rendering: optimizeLegibility;
	-ms-text-rendering: optimizeLegibility;
	-o-text-rendering: optimizeLegibility;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	-ms-font-smoothing: antialiased;
	-o-font-smoothing: antialiased;
	font-smoothing: antialiased;
	-webkit-font-feature-settings: "liga" 1, "dlig" 1;
	-moz-font-feature-settings: "liga=1, dlig=1";
	-ms-font-feature-settings: "liga" 1, "dlig" 1;
	-o-font-feature-settings: "liga" 1, "dlig" 1;
	font-feature-settings: "liga" 1, "dlig" 1;
}

@media(max-width: 1024px){
	.reworkMerit_arrow:before{
		content: "down";
	}
}

.reworkMerit_item{
	width: calc((100% - 6em) / 2);
	padding: 3em 2em 3em;
}

@media(max-width: 1024px){
	.reworkMerit_item{
		width: 100%;
	}
}

.reworkMerit_item--before{
	background-color: rgba(31,78,121,0.1);
}

.reworkMerit_item--after{
	color: #FFF;
	background-color: rgba(31,78,121,0.7);
}

.reworkMerit_title{
	font-size: 125%;
	text-align: center;
	margin-bottom: 2em;
}

.reworkMerit_list{
	list-style: none;
	padding: 0;
	margin: 0 0 3em
}

.reworkMerit_list li{
	position: relative;
	padding-left: 2em;
	margin-bottom: 1.5em;
}

.reworkMerit_list li:before{
	content: "checkbox";
	position: absolute;
	top: 0;
	left: 0;
	font-size: 200%;
	line-height: 100%;
	font-family: 'LigatureSymbols' !important;
	-webkit-text-rendering: optimizeLegibility;
	-moz-text-rendering: optimizeLegibility;
	-ms-text-rendering: optimizeLegibility;
	-o-text-rendering: optimizeLegibility;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	-ms-font-smoothing: antialiased;
	-o-font-smoothing: antialiased;
	font-smoothing: antialiased;
	-webkit-font-feature-settings: "liga" 1, "dlig" 1;
	-moz-font-feature-settings: "liga=1, dlig=1";
	-ms-font-feature-settings: "liga" 1, "dlig" 1;
	-o-font-feature-settings: "liga" 1, "dlig" 1;
	font-feature-settings: "liga" 1, "dlig" 1;
}

.reworkMerit_item--before .reworkMerit_list li:before{
	color: #888;
}

.reworkMerit_item--after .reworkMerit_list li:before{
	color: #FF9E42;
}

.reworkMerit_notice{
	font-size: 95%;
}

.reworkMerit_noticeTitle{
	position: relative;
	margin: 0 0 0.25em;
	padding-left: 1em;
}

.reworkMerit_noticeTitle:before{
	content: "※";
	position: absolute;
	top: 0;
	left: 0;
}

.reworkMerit_noticeText{
	margin: 0 0 0.25em;
	padding-left: 1em;
}

/*---------------------------------
	reworkMerit end
---------------------------------*/

/*---------------------------------
	reworkMeritTextsPSE start
---------------------------------*/
.reworkMeritTextsPSE{
	display: inline-block;
	width: 2em;
	margin: 0 0.25em;
}

/*---------------------------------
	reworkMeritTextsPSE end
---------------------------------*/

/*---------------------------------
	manufacturersList start
---------------------------------*/
.manufacturersList{
	list-style: none;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
}

@media(max-width: 600px){
	.manufacturersList{
		flex-direction: column;
	}
}

.manufacturersList li{
	position: relative;
	padding: 0.75em 1em 0.75em 2.5em;
	border-bottom: 1px solid #000;
}

@media(min-width: 601px){
	.manufacturersList li{
		width: calc(100% / 2 - 2em - 1px);
		margin: 0 1em 1em;
	}
}

@media(max-width: 600px){
	.manufacturersList li{
		width: 100%;
		margin: 0 0 1em;
	}
}

.manufacturersList li:before{
	content: "check";
	position: absolute;
	top: 0.125em;
	left: 0.25em;
	font-size: 200%;
	line-height: 100%;
	color: #1F4E79;
	font-family: 'LigatureSymbols' !important;
	-webkit-text-rendering: optimizeLegibility;
	-moz-text-rendering: optimizeLegibility;
	-ms-text-rendering: optimizeLegibility;
	-o-text-rendering: optimizeLegibility;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	-ms-font-smoothing: antialiased;
	-o-font-smoothing: antialiased;
	font-smoothing: antialiased;
	-webkit-font-feature-settings: "liga" 1, "dlig" 1;
	-moz-font-feature-settings: "liga=1, dlig=1";
	-ms-font-feature-settings: "liga" 1, "dlig" 1;
	-o-font-feature-settings: "liga" 1, "dlig" 1;
	font-feature-settings: "liga" 1, "dlig" 1;
}

.manufacturersList_products{
	display: block;
	margin: 0.75em 0 0;
	font-size: 75%;
}

/*---------------------------------
	manufacturersList end
---------------------------------*/

/*---------------------------------
	companyOverviewTable start
---------------------------------*/
.companyOverviewTable{
	width: 100%;
}

.companyOverviewTable tr{
	border-bottom: 1px solid #CCC;
}

.companyOverviewTable th,
.companyOverviewTable td{
	padding: 1.5em 1em;
	vertical-align: top;
}

.companyOverviewTable th{
	font-weight: var(--fontWeightBold);
}

@media(min-width: 601px){
	.companyOverviewTable th{
		width: 25%;
	}
}

@media(max-width: 600px){
	.companyOverviewTable tr{
		display: block;
		padding: 0.5em 0;
	}
	.companyOverviewTable th,
	.companyOverviewTable td{
		display: block;
		width: 100%;
		padding: 0.25em 0.5em;
	}
}

.companyInfo{
	display: flex;
	flex-direction: column;
	gap: 0.25em;
	margin: 0;
}

.companyInfo p{
	margin: 0;
}

.companyInfoAddress{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 0 0.5em;
	margin: 0;
}

.companyInfoAddressItem{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 0 0.5em;
	margin: 0;
}


/*---------------------------------
	companyOverviewTable end
---------------------------------*/

/*---------------------------------
	companyPhilosophyCatch start
---------------------------------*/
.companyPhilosophyCatch{
	padding: 0.5em 1em;
	font-size: 125%;
	text-align: center;
	background-color: rgba(31,78,121,0.1);
}

.companyPhilosophyCatch_text{
	margin: 0.5em 0;
}

/*---------------------------------
	companyPhilosophyCatch end
---------------------------------*/

/*---------------------------------
	sectionImageBand--companyPhilosophy start
---------------------------------*/
@media(min-width: 1025px){
	.sectionImageBand--companyPhilosophy{
		height: 30vw;
	}
}

/*---------------------------------
	sectionImageBand--companyPhilosophy end
---------------------------------*/

/*---------------------------------
	companyRepresentativeGreetingName start
---------------------------------*/
.companyRepresentativeGreetingName{
	display: flex;
	justify-content: flex-end;
}

/*---------------------------------
	companyRepresentativeGreetingName end
---------------------------------*/

/*---------------------------------
	companyHistory start
---------------------------------*/
.companyHistory{
	display: flex;
	flex-direction: column;
	gap: 3em;
}

.companyHistoryItem{
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	flex-wrap: nowrap;
	gap: 0 2em;
	width: 100%;
	margin: 0;
}

.companyHistoryItem_month{
	text-align: right;
}

@media(min-width: 601px){
	.companyHistoryItem_year{
		flex-grow: 0;
		flex-shrink: 0;
		width: 9em;
		margin: 0;
		padding: 0.25em 0;
	}
	.companyHistoryItem_month{
		flex-grow: 0;
		flex-shrink: 0;
		width: 3em;
		margin: 0;
		padding: 0.25em 0;
	}
	.companyHistoryItem_detail{
		flex-grow: 1;
		flex-shrink: 1;
		padding: 0.25em 0 1em 2.5em;
		border-left: 1px solid #CCC;
	}
}

@media(max-width: 600px){
	.companyHistoryItem{
		flex-wrap: wrap;
		gap: 0.5em 1em;
		margin: 0;
		padding: 0 0.5em 1em;
		border-bottom: 1px solid #CCC;
	}
	
	.companyHistoryItem_year{
		flex-grow: 0;
		flex-shrink: 0;
		margin: 0;
		font-weight: var(--fontWeightBold);
	}
	
	.companyHistoryItem_month{
		flex-grow: 0;
		flex-shrink: 0;
		margin: 0;
		font-weight: var(--fontWeightBold);
	}
	.companyHistoryItem_detail{
		flex-grow: 0;
		flex-shrink: 0;
		width: 100%;
	}
}

/*---------------------------------
	companyHistory end
---------------------------------*/

/*---------------------------------
	companyOfficeTable start
---------------------------------*/
.companyOfficeTable{
	width: 100%;
}

.companyOfficeTable tr{
	border-top: 1px solid #CCC;
	border-bottom: 1px solid #CCC;
}

.companyOfficeTable th,
.companyOfficeTable td{
	font-weight: var(--fontWeightBold);
}

@media(min-width: 601px){
	.companyOfficeTable_title{
		width: 20%;
		font-size: 125%;
		padding: 0.5em 1em;
	}
	
	.companyOfficeTable_info{
		width: 40%;
		padding: 1em 1em;
	}
	
	.companyOfficeTable_map{
		width: 40%;
		padding: 1em 1em;
	}
}

@media(max-width: 600px){
	.companyOfficeTable tr{
		display: block;
		padding: 1em 0.5em;
	}
	
	.companyOfficeTable th,
	.companyOfficeTable td{
		display: block;
		width: 100%;
	}
	
	.companyOfficeTable_title{
		font-size: 125%;
		margin-bottom: 0.5em
	}
	
	.companyOfficeTable_info{
		margin-bottom: 0.5em;
	}
	
	.companyOfficeTable_map{
	}
}

.companyOfficeTable_gmapWrapper{
	position: relative;
	width: 100%;
	padding-top: calc(100% / 4 * 3);
}

.companyOfficeTable_gmapWrapper iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*---------------------------------
	companyOfficeTable end
---------------------------------*/

/*---------------------------------
	recaptchaV2Wrapper start
---------------------------------*/
.recaptchaV2Wrapper > div{
	display: flex;
	justify-content: center;
}

/*---------------------------------
	gridTable start
---------------------------------*/

.gridTable{
	width: 100%;
	table-layout: fixed;
}

@media(max-width: 1024px){
	.gridTable--tbScroll{
		display: block;
		width: auto;
		min-width: 100%;
		overflow-x: scroll;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
	}
	.gridTable--tbScroll tbody {
		width: 100%;
		display: table;
	}
}

@media(max-width: 600px){
	.gridTable--spScroll{
		display: block;
		width: auto;
		min-width: 100%;
		overflow-x: scroll;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
	}
	.gridTable--spScroll tbody{
		width: 100%;
		display: table;
	}
}

.gridTable th,
.gridTable td{
	padding: 1em;
	vertical-align: middle;
	border: 2px solid #FFF;
	color: var(--mainTextColor);
}

.gridTable th{
	font-weight: var(--fontWeightBold);
	text-align: center;
}

.gridTable tr th:first-child{
	white-space: nowrap;
}

.gridTable td{
	background-color: #F5F5F5;
}

.back_b{
	background-color: #a4d4ed;
}

.back_r{
	background-color: #f9aaaf;
}

.back_p{
	background-color: #f9eff9;
}

.back_o{
	background-color: #eac19b;
}

.back_y{
	background-color: #fcf2e8;
}

.back_g{
	background-color: #75dd8c;
}

.back_u{
	background-color: #e2e8cc;
}

.tableContent{
	display: flex;
	justify-content: center;
	width: 100%;
	font-size: 100%;
	font-weight: inherit;
	& .tableContentText{
		text-align: left;
		margin: 0;
		font-size: 100%;
		font-weight: inherit;
	}
}

/*---------------------------------
	gridTable end
---------------------------------*/


/*---------------------------------
	verticalTable start
---------------------------------*/

.verticalTable{
	width: 100%;
}

.verticalTable--bgWhite{
	background-color: #FFF;
}

.verticalTable tr{
	border-bottom: 1px solid #CCC;
}

.verticalTable th{
	display: block;
	width: 100%;
	font-weight: var(--fontWeightBold);
	padding: 1.5em 2em 0.5em;
}

.verticalTable td{
	display: block;
	width: 100%;
	padding: 0 2em 1.5em;
}

/*---------------------------------
	verticalTable end
---------------------------------*/

/*---------------------------------
	pageInnerMenu start
---------------------------------*/

.pageInnerMenu{
	--cols: 3;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: flex-start;
	gap: 1em;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style; none;
}

.pageInnerMenu--col4{
	--cols: 4;
}

@media(max-width: 1024px){
	.pageInnerMenu--col4{
		--cols: 2;
	}
}

@media(max-width: 960px){
	.pageInnerMenu{
		--cols: 2;
	}
}

@media(max-width: 600px){
	.pageInnerMenu--col4,
	.pageInnerMenu{
		--cols: 1;
	}
}

.pageInnerMenuItem{
	display: flex;
	align-items: stretch;
	width: calc((100% - (1em * (var(--cols) - 1))) / var(--cols));
}

.pageInnerMenuLink{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0;
	width: 100%;
	background-color: var(--themeColor);
	color: #FFF;
	text-decoration: none;
	border: 2px solid var(--themeColor);
	transition: color 0.25s, background-color 0.25s;
}

.pageInnerMenuLink:hover{
	text-decoration: none;
	background-color: #FFF;
	color: var(--themeColor);
}

.pageInnerMenuText{
	display: block;
	width: calc(100% - 2em);
	padding: 1em 0 1em 2em;
	text-align: center;
	margin: 0;
}

.pageInnerMenuText span{
	display: inline-block;
}

.pageInnerMenuLink:after{
	content: "right";
	font-size: 90%;
	line-height: 1;
	font-family: 'LigatureSymbols';
	-webkit-text-rendering: optimizeLegibility;
	-moz-text-rendering: optimizeLegibility;
	-ms-text-rendering: optimizeLegibility;
	-o-text-rendering: optimizeLegibility;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	-ms-font-smoothing: antialiased;
	-o-font-smoothing: antialiased;
	font-smoothing: antialiased;
	-webkit-font-feature-settings: "liga" 1, "dlig" 1;
	-moz-font-feature-settings: "liga=1, dlig=1";
	-ms-font-feature-settings: "liga" 1, "dlig" 1;
	-o-font-feature-settings: "liga" 1, "dlig" 1;
	font-feature-settings: "liga" 1, "dlig" 1;
	width: calc(2em / 0.9);
	text-align: center;
}

/*---------------------------------
	pageInnerMenu end
---------------------------------*/

/*---------------------------------
	tableList start
---------------------------------*/

.tableList{
	display: flex;
	flex-direction: column;
	gap: 2em;
	width: 100%;
	margin: 0 auto;
}

.tableListItem{
	width: 100%;
	border: 1px solid var(--themeColor);
}

.tableListItem th{
	display: block;
	width: 100%;
	background-color: var(--themeColor);
	color: #FFF;
	font-weight: var(--fontWeightBold);
	font-size: 125%;
	padding: 0.5rem 1rem;
}

.tableListItem td{
	display: block;
	width: 100%;
	background-color: #FFF;
	padding: 1rem 1rem 1.5rem;
}

.tableListContainer{
	display: flex;
	flex-direction: column;
	gap: 1em;
}

.tableListContent{
	width: 100%;
}

.tableListContent:not(:last-of-type){
	padding-bottom: 1rem;
	border-bottom: 1px solid #CCC;
}

.tableListContent > *{
	margin-bottom: 1rem;
}

.tableListContent > *:last-child{
	margin-bottom: 0;
}

/*---------------------------------
	tableList end
---------------------------------*/

/*---------------------------------
	faq start
---------------------------------*/

.faqItem{
	padding: 1em;
	margin-bottom: 2em;
	background-color: var(--themeBgColor);
}

.faqItem_qaInner{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: nowrap;
}

.faqItem_q{
	cursor: pointer;
}

.faqItem_a{
	border-top: 1px solid #CCC;
	display: none;
}

.faqItem_qaIcon{
	flex-grow: 0;
	flex-shrink: 0;
	font-size: 150%;
	width: 1.5em;
	padding: 0.4em 0.25em;
	text-align: center;
	margin-right: 0.5em;
	font-weight: bold;
	color: var(--themeColor);
}

.faqItem_qTitle{
	flex-grow: 1;
	flex-shrink: 1;
	font-size: 100%;
	padding: 1em;
	margin: 0;
}

.faqItem_aContent{
	flex-grow: 0;
	flex-shrink: 0;
	width: calc(100% - (1.5em * 1.5) - (1.5em * 0.5));
	font-size: 100%;
	padding: 1em;
	margin: 0;
}

.faqItem_qText{
	font-weight: bold;
}

.faqItem_a .faqItem_qaIcon{
	color: #D00;
}

.faqItem_qArrow{
	flex-grow: 0;
	flex-shrink: 0;
	font-size: 150%;
	width: 1.5em;
	align-self: stretch;
	padding: 0.4em 0.25em;
	position: relative;
}

.faqItem_qArrow:before{
	content: "down";
	font-family: 'LigatureSymbols';
	-webkit-text-rendering: optimizeLegibility;
	-moz-text-rendering: optimizeLegibility;
	-ms-text-rendering: optimizeLegibility;
	-o-text-rendering: optimizeLegibility;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	-ms-font-smoothing: antialiased;
	-o-font-smoothing: antialiased;
	font-smoothing: antialiased;
	-webkit-font-feature-settings: "liga" 1, "dlig" 1;
	-moz-font-feature-settings: "liga=1, dlig=1";
	-ms-font-feature-settings: "liga" 1, "dlig" 1;
	-o-font-feature-settings: "liga" 1, "dlig" 1;
	font-feature-settings: "liga" 1, "dlig" 1;
	position: absolute;
	top: 0.4em;
	left: 50%;
	transform: translateX(-50%);
	transition: transform 0.5s;
}

.faqItem_q.active .faqItem_qArrow:before{
	transform: translateX(-50%) rotate(180deg);
}

@media(max-width: 750px){
	.faqItem{
		font-size: 90%;
	}
	.faqItem_qaIcon{
		margin-right: 0.25em;
	}
	.faqItem_qTitle,
	.faqItem_aContent{
		padding: 1em 0.25em;
	}
}

.faqItem_aText{
	margin-bottom: 1em;
}

/*---------------------------------
	faq end
---------------------------------*/