@charset "UTF-8";

@import url("../fonts/NotoSansJP/NotoSansJP.css");
@import url("../fonts/YakuHanGOTHICs/YakuHanGOTHICs.css");
@import url("../fonts/FontAwesome/FontAwesome.css");
@import url("./normalize.css");
@import url("./general.css");

/* -----------------------------------------------------
スクリーン用スタイルファイル
----------------------------------------------------- */


/* ▼基本要素スタイル */
/* ----------------------------------------------------- */
html {
	width: 100%;
	overflow-y: scroll;
	font-family: sans-serif; /* 1 */
	font-family: "YakuHanGOTHICs", "NotoSansJP", "Noto Sans JP", Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", Meiryo, "メイリオ", Roboto, "Droid Sans", Verdana, "ＭＳ Ｐゴシック", sans-serif;
	font-weight: 400;
	line-height: 1.75;
	-ms-text-size-adjust: 100%; /* 2 */
	-webkit-text-size-adjust: 100%; /* 2 */
}

@media screen and (min-width: 767px) {
	html {
		font-size: 20px;
	}
}

@media screen and (max-width: 766px) {
	html {
		font-size: 5.333vw;
		font-size: 2.666vw;
	}
}

body {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	font-family: "YakuHanGOTHICs", "NotoSansJP", "Noto Sans JP", Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", Meiryo, "メイリオ", Roboto, "Droid Sans", Verdana, "ＭＳ Ｐゴシック", sans-serif;
	text-align: center;	/* center in winIE */
	color: #1a1a1a;
	background-color: #ffffff !important;
}

* {
	font-family: inherit;
	font-size: 100%;
	box-sizing: border-box;
}

div,p, ul, ol, li, dl, dt, dd,
h1, h2, h3, h4, h5, h6,
form, input, table, tr, th, td,
object, param, embed {
	margin: 0;
	padding: 0;
	font-family: "YakuHanGOTHICs", "NotoSansJP", "Noto Sans JP", Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", Meiryo, "メイリオ", Roboto, "Droid Sans", Verdana, "ＭＳ Ｐゴシック", sans-serif;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

img {
	width: auto;
	height: auto;
	max-width: 100%;
	margin: 0;
	padding: 0;
	border: 0 none #ffffff;
	vertical-align: top !important;
	vertical-align: middle;
	color: #666666;
}

*+html body img {
	vertical-align: middle !important;
}

strong {
	font-weight: bold;
}

em {
	font-style: normal;
}

em i {
	padding: 0.3em 0 0 0;
	font-style: normal;
	background-repeat: repeat-x;
	background-size: 1em 0.5em;
	background-position: top left;
	background-image: -webkit-gradient(radial,center center,0,center center,1.5,from(#ffffff),color-stop(0.5,#ffffff),color-stop(0.9,transparent),to(transparent));
	background-image: -webkit-radial-gradient(center center, 0.1em 0.1em, #ffffff, #ffffff 95%, transparent 95%, transparent);
	background-image: radial-gradient(0.1em 0.1em at center center, #ffffff, #ffffff 95%, transparent);
}

sup {
	font-size: 0.5em;
	vertical-align: top;
}

.hidden,
.is-hide {
	display: none;
}

.alignCenter {
	text-align: center;
}

.alignRight {
	text-align: right;
}

.alignLeft {
	text-align: left;
}

.clear {
	clear: both;
}

.floatCenter {
	margin-right: auto !important;
	margin-left: auto !important;
}

.floatRight {
	float: right;
}

.floatLeft {
	float: left;
}

.note {
	padding: 0 0 0 1em;
	font-size: 0.8333em;
}

p.note::before {
	content: "※";
	margin: 0 0 0 -1em;
}

ul.note {
	padding: 0;
	font-size: 1em;
	list-style-type: none
}

ul.note li,
ul li.note {
	padding: 0 0 0 1em;
}

ul.note li::before,
ul li.note::before {
	content: "※";
	margin: 0 0 0 -1em;
}

dl dd.note::before {
	content: "※";
	margin: 0 0 0 -1em;
}

.quot {
	padding: 0 0 0 1em;
}

.quot span {
	margin: 0 0 0 -1em;
}

.line {
	background: #dcff1d;
}

.underline {
	text-decoration: underline;
}

ol.alpha li {
	list-style-type: upper-alpha;
}

/*
.large {
	font-size: 1.286em;
}

.small {
	font-size: 0.5em;
}
*/

.clear {
	clear: both;
}

.red {
	color: #d50012;
}

.grayscale {
	-webkit-filter: grayscale(100%);
	   -moz-filter: grayscale(100%);
	    -ms-filter: grayscale(100%);
	     -o-filter: grayscale(100%);
	        filter: grayscale(100%);
}

.cursorDefault {
	cursor: default;
	pointer-events: none;
}

.atmark::before {
	content: "@";
}



iframe[name="google_conversion_frame"] {
	display: none;
}



@media screen and (min-width: 767px) {
	.sp,
	.spimage,
	.hidden {
		display: none !important;
	}

	a[href^="tel:"] {
		pointer-events: none;
	}
}

@media screen and (max-width: 766px) {
	.pc,
	.pcimage,
	.hidden {
		display: none !important;
	}
}





/* ▼リンク指定 */
/* ----------------------------------------------------- */
a:link {
	color: #2981b8;
	text-decoration: underline;
}

a:visited {
	color: #30140e;
	text-decoration: underline;
}

a:hover,
a:active {
	color: #009999;
	text-decoration: none;
}

a:link,
a:visited {
	opacity: 1.0;
	transition: all 0.5s;
}

a:hover,
a:active {
	opacity: 0.6;
}



a[href=""] {
	pointer-events: none;
}

p a[rel^="noopener"] {
	text-decoration: none;
}

p a[rel^="noopener"]::before {
	content: "\f00e";
	font-family: "FontAwesomeSolid";
	margin: 0 0.5em 0 0;
	font-size: 1.333em;
	text-decoration: none;
}





/* ▼アイコン */
/* ----------------------------------------------------- */
.icon {
	margin: 1em;
	padding: 0;
	list-style-type: none;
}

.icon li {
	margin: 0 0 0.5em 0;
	padding: 0 0 0 2em;
}

.icon li::before {
	display: inline-block;
	width: 1em;
	margin: 0 0.75em 0 -1.75em;
	font-family: "FontAwesome";
	font-size: 1.143em;
	color: #979797;
	text-align: center !important;
}

p.ban {
	padding: 0 0 0 2.25rem;
	font-weight: 700 !important;
	color: #dd1125;
	line-height: 1 !important;
}

p.ban::before {
	content: "\f05e";
	font-family: "FontAwesome";
	font-size: 2rem;
	vertical-align: middle;
	margin: 0 0.25rem 0 -2.25rem;
}

p.ban span {
	font-weight: 400 !important;
}





/* ▼コンテナ */
/* ----------------------------------------------------- */
div.section,
footer {
	margin: 0;
	padding: 0;
	text-align: center;
}

div.section {
	padding: 3em 0;
}

div.container {
	clear: both;
	min-height: 1px;
	height: auto !important;
	height: 1px;
	overflow: hidden;
	margin: 0 auto;
	padding: 0;
	text-align: left;
}

div.wrap {
	clear: both;
	min-height: 1px;
	height: auto !important;
	height: 1px;
	margin: 0 auto;
	padding: 0;
}

footer::after,
div.section::after,
div.container::after,
div.wrap::after {
	clear: both;
	display: table;
	content: "";
}

@media screen and (min-width: 767px) {
	div.container {
		width: 100%;
		max-width: 1080px;
	}
	div.wrap {
		width: 100%;
	}
}

@media screen and (max-width: 766px) {
	div.container {
		width: 100%;
	}
	div.wrap {
		width: 89.334%;
	}
}



div.section div.flexbox {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	justify-content: space-between;
	align-items: stretch;
}



div.section h1,
div.section h2,
div.section h3,
div.section h4,
div.section h5,
div.section h6,
div.section table th,
div.section strong,
div.section b {
	font-weight: 700;
	line-height: 2;
}

header ul li,
nav ul li,
div.section p,
div.section dl,
div.section ul li,
div.section ol li,
div.section table td,
div.section figure,
footer p,
footer ul li,
footer address {
	font-weight: 400;
	line-height: 2;
}

div.section p,
div.section ul,
div.section ol,
div.section dl,
div.section table,
div.section figure {
	margin: 1.5em 0;
}

div.section ol li {
	margin-left: 1.2em;
}

div.section iframe {
	border: 0 none;
}

div.section div.googlemap {
	position: relative;
	padding: 58.334% 0 0 0;
}

div.section div.googlemap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0 none;
}

div.section .btn {
	margin-bottom: 0;
	text-align: right;
}

div.section .btn a {
	padding: 0.3em 1em;
	color: #ffffff !important;
	text-decoration: none;
	background: #333333;
	border-radius: 2em;
}

div.section .btn a::after {
	content: "\f105";
	font-family: "FontAwesome";
	margin-left: 1.5em;
}

div.section ul.categorynav {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
}

div.section ul.categorynav li {
	list-style-type: none !important;
	margin: 0 1rem 1rem 0 !important;
}

div.section ul.categorynav li a {
	display: block;
	border: 0.1rem solid #154268;
	border-radius: 1em;
}

div.section ul.categorynav li a::after {
	content: "▼";
	margin-left: 1em;
}



@media screen and (min-width: 767px) {
	div.section ul.categorynav li a {
		padding: 0 1em;
		font-size: 1rem;
	}
}

@media screen and (max-width: 766px) {
	div.section ul.categorynav li a {
		padding: 0 0.85em;
		font-size: 1.2rem;
	}
	div.section div.sp_scroll {
		overflow: scroll;
	}
}



/* 在庫検索のリンクを切る */
a[href*="/sys/products/search/"] {
	pointer-events: none;
}





/* ▼body */
/* ----------------------------------------------------- */
body {
	background-color: #ffffff;
	background-repeat: no-repeat;
	background-position: center top;
}



@media screen and (min-width: 767px) {
	body {
		background-image: url(../img/body_bg_pc.png);
		background-attachment: fixed;
	}
}

@media screen and (max-width: 766px) {
	body {
		background-image: url(../img/body_bg_sp.png);
		background-size: 100% auto;
		background-attachment: fixed;
	}
}





/* ▼header */
/* ----------------------------------------------------- */
div#header {
	overflow: hidden;
	background-color: #ffffff;
	background-repeat: no-repeat;
	background-position: center top;
}

div#header div#globalheader div.container {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}

div#header div#globalheader div.container::after {
	display: none;
}

div#header div#globalheader div.container ul,
div#header div#globalheader div.container p#menu {
	display: none;
}

div#header div#globalnav {
	display: none;
}




/* ▼slidemenu */
/* ----------------------------------------------------- */
div#slidemenu {
	display: none;
}





/* ▼keyvisual */
/* ----------------------------------------------------- */
div#keyvisual {
	position: relative;
	padding: 0;
}

div#keyvisual div#slider {
	position: relative;
	z-index: 1;
}

div#keyvisual div#slider div.slick-track {
	line-height: 0;
	text-align: center;
}

div#keyvisual div#slider div.slick-track div.slick-slide {
	overflow: hidden;
}

div#keyvisual div#slider div.slick-track div.slick-slide div {
	position: relative;
}

div#keyvisual div#slider ul.slick-dots {
	margin: 0;
}

div#keyvisual div#slider ul.slick-dots li button:before {
	font-size: 8px;
	color: #333333;
	opacity: 1.0;
}

div#keyvisual div#slider ul.slick-dots li.slick-active button:before {
	color: #fff100;
	opacity: 1.0;
}

div#keyvisual div#mask {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	overflow: hidden;
}

div#keyvisual div.container {
	position: absolute;
	top: 0;
	left: 50%;
	z-index: 3;
	overflow: visible;
	transform: translate(-50%, 0);
}

div#keyvisual div.container::after {
	content: "";
	display: block;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100% auto;
}



@media screen and (min-width: 767px) {
	div#keyvisual div#slider div.slick-track div.slick-slide div,
	div#keyvisual div#mask,
	div#keyvisual div.container {
		height: 430px !important;
	}
	div#keyvisual div#slider div.slick-track div.slick-slide div img {
		max-width: none;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}
	div#keyvisual div#slider ul.slick-dots {
		bottom: -1.8rem !important;
	}
	div#keyvisual div#mask img {
		max-width: none;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}
	div#keyvisual div.container::after {
		position: absolute;
		bottom: -30px;
		left: 0;
		width: 365px;
		height: 160px;
		background-image: url(../img/keyvisual_after_pc.png);
	}
}

@media screen and (max-width: 766px) {
	div#keyvisual div#slider div.slick-track div.slick-slide div,
	div#keyvisual div#mask,
	div#keyvisual div.container {
		height: 41rem !important;
	}
	div#keyvisual div#slider ul.slick-dots {
		bottom: -3rem !important;
		padding: 0.7rem 0 0 0;
		background: #ffffff;
	}
	div#keyvisual div.container::after {
		position: absolute;
		top: 16.25rem;
		left: 0;
		width: 15.5rem;
		height: 6.25rem;
		background-image: url(../img/keyvisual_after_sp.png);
	}
}





/* ▼slider */
/* ----------------------------------------------------- */
div.slider {
	padding: 0;
}

div.slider div.container {
	overflow: visible;
	text-align: center;
}

div.slider .bx-wrapper {
	margin: 0 auto 60px auto;
}

div.slider .bx-wrapper .bx-viewport {
	left: 0;
	border: 0 none;
	box-shadow: 0 0 0 transparent;
}

div.slider div#slider {
	text-align: center;
}

div.slider .bx-wrapper .bx-pager {
	bottom: -3rem;
}

div.slider .bx-wrapper .bx-pager.bx-default-pager a {
	margin: 0 3px !important;
	padding-top: 15px;
	width: 25px !important;
	height: 1px !important;
	background: transparent !important;
	border-bottom: 1px solid #cccccc;
	border-radius: 0 !important;
}

div.slider .bx-wrapper .bx-pager.bx-default-pager a:hover,
div.slider .bx-wrapper .bx-pager.bx-default-pager a.active {
	background: transparent !important;
	border-bottom: 1px solid #000000;
}



@media screen and (min-width: 767px) {
	div.slider {
		padding: 1.5rem 0 0 0;
	}
	div.slider div.container {
		max-width: 1000px;
	}
	div.slider div#slider {
		height: 400px;
	}
}





/* ▼utility */
/* ----------------------------------------------------- */
div#utility div.container,
body#search div#maincontent div.container {
	overflow: visible;
}

div#utility div#search,
body#search div#maincontent div#search {
	position: relative;
	border-radius: 5px;
}

body#search div#maincontent div#search {
	margin-top: 3em;
}

div#utility div#search::after,
body#search div#maincontent div#search::after {
	content: "";
	position: absolute;
	background-image: url(../img/front_search_img.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100% auto;
}

div#utility div#search h2,
body#search div#maincontent div#search h2 {
	margin: 0;
	padding: 0.75em 0;
	text-align: center;
	color: #ffffff;
	background: #333333;
}

div#utility div#search form p,
body#search div#maincontent div#search form p {
	margin: 0;
}

div#utility div#search form p button,
body#search div#maincontent div#search form p button {
	color: #ffffff;
	background: #333333;
	border-radius: 5px;
}

div#utility div#search form p button::before,
body#search div#maincontent div#search form p button::before {
	content: "\f002";
	font-family: "FontAwesome";
	margin-right: 0.5em;
}

div#utility ul {
	margin-bottom: 0;
}

div#utility ul li {
	list-style-type: none;
	overflow: hidden;
	border-radius: 5px;
}



@media screen and (min-width: 767px) {
	div#utility div#search,
	body#search div#maincontent div#search {
		border: 1px solid #515151;
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: stretch;
	}
	div#utility div#search::after,
	body#search div#maincontent div#search::after {
		top: -3.5rem;
		right: 0;
		width: 160px;
		height: 190px;
	}
	div#utility div#search h2,
	body#search div#maincontent div#search h2 {
		width: 14.815%;
		font-size: 1.2rem;
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
	}
	div#utility div#search form,
	body#search div#maincontent div#search form {
		width: 85.185%;
		padding: 1.1645rem;
		padding-right: 170px;
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
	}
	div#utility div#search form p:first-child,
	body#search div#maincontent div#search form p:first-child {
		width: 71.725%;
	}
	div#utility div#search form p:last-child,
	body#search div#maincontent div#search form p:last-child {
		width: 26.207%;
	}
	div#utility div#search form p input,
	div#utility div#search form p button,
	body#search div#maincontent div#search form p input,
	body#search div#maincontent div#search form p button {
		width: 100%;
		font-size: 0.9rem;
	}
	div#utility div#search form p input,
	body#search div#maincontent div#search form p input {
		padding: 0.6115em 0.5em;
	}
	div#utility div#search form p button,
	body#search div#maincontent div#search form p button {
		padding: 0.334em 0.5em;
		text-align: center;
	}
	div#utility ul {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
	}
	div#utility ul li {
		width: 31.482%;
	}
}

@media screen and (max-width: 766px) {
	div#utility {
		background: #ffffff;
	}
	div#utility div#search,
	body#search div#maincontent div#search {
		border: 0.1rem solid #515151;
	}
	div#utility div#search::after,
	body#search div#maincontent div#search::after {
		top: -3rem;
		right: -2.25rem;
		width: 9.5rem;
		height: 11.282rem;
	}
	div#utility div#search h2,
	body#search div#maincontent div#search h2 {
		font-size: 1.6rem;
	}
	div#utility div#search form,
	body#search div#maincontent div#search form {
		position: relative;
		z-index: 1;
		padding: 0 1.4rem;
	}
	div#utility div#search form p,
	body#search div#maincontent div#search form p {
		margin: 0.9rem 0;
	}
	div#utility div#search form p input,
	body#search div#maincontent div#search form p input {
		padding: 0.876em 0.5em;
		font-size: 1.2rem;
	}
	div#utility div#search form p button,
	body#search div#maincontent div#search form p button {
		width: 52.460%;
		padding: 0.626em 0.5em;
		font-size: 1.2rem;
		text-align: center;
	}
	div#utility ul {
		margin-top: 3rem;
	}
	div#utility ul li + li {
		margin-top: 2rem;
	}
}





/* ▼voice */
/* ----------------------------------------------------- */
div#voice {
	background-color: #0f314d;
	background-image: url(../img/bg_circuit.jpg);
	background-repeat: repeat;
	background-position: center top;
}

div#voice h2 span {
	position: relative;
	display: inline-block;
	padding: 0.3em 1em;
	font-weight: 400;
	text-align: center;
	color: #ffffff;
	border: 1px solid #ffffff;
	background: #333333;
}

div#voice h2 span::after {
	content: "";
	position: absolute;
	background-image: url(../img/voice_headline.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100% auto;
}

div#voice div.voice {
	position: relative;
	background: #ffffff;
	border-radius: 5px;
}

div#voice div.voice h3 {
	font-weight: 400;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
}

div#voice div.voice h3 img {
	margin: 0 1.5em 0 0;
	background: #cccccc;
	border-radius: 50%;
}

div#voice div.voice p.btn {
	position: absolute;
}



@media screen and (min-width: 767px) {
	div#voice div.wrap {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: stretch;
	}
	div#voice div.wrap::after {
		display: none;
	}
	div#voice h2 {
		width: 22.223%;
	}
	div#voice h2 span {
		width: 100%;
	}
	div#voice h2 span::after {
		bottom: -1.35rem;
		right: -1rem;
		width: 8.75rem;
		height: 2rem;
	}
	div#voice div.voice {
		width: 35.186%;
		padding: 1rem;
		padding-bottom: 2.5rem;
	}
	div#voice div.voice h3 {
		font-size: 0.8rem;
	}
	div#voice div.voice h3 img {
		width: 4.5rem;
	}
	div#voice div.voice p {
		font-size: 0.9rem;
	}
	div#voice div.voice p.btn {
		bottom: 1rem;
		right: 1rem;
	}
	div#voice div.voice p.btn a {
		font-size: 0.8rem;
	}
}

@media screen and (max-width: 766px) {
	div#voice h2 span {
		width: 50.747%;
		font-size: 1.6rem;
	}
	div#voice h2 span::after {
		bottom: -2rem;
		right: -3.5rem;
		width: 11.75rem;
		height: 2.75rem;
	}
	div#voice div.voice {
		margin: 3rem 0;
		padding: 1.75rem;
		padding-bottom: 4rem;
	}
	div#voice div.voice h3 {
		font-size: 1.4rem;
	}
	div#voice div.voice h3 img {
		width: 8rem;
	}
	div#voice div.voice p {
		font-size: 1.4rem;
	}
	div#voice div.voice p.btn {
		bottom: 2rem;
		right: 2rem;
	}
	div#voice div.voice p.btn a {
		font-size: 1.4rem;
	}
}





/* ▼newstopics */
/* ----------------------------------------------------- */
div#newstopics div.container {
	padding: 3em 0;
	background: #f4f4f4;
}

div#newstopics h2 {
	font-weight: 400;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}

div#newstopics h2 span {
	margin-left: 0.5em;
	padding-left: 1em;
	border-left: 0.5rem solid #333333;
}

div#newstopics h2 a {
	padding: 0.3em 1em;
	color: #ffffff;
	text-decoration: none;
	background: #333333;
	border-radius: 2em;
}

div#newstopics h2 a::after {
	content: "\f105";
	font-family: "FontAwesome";
	margin-left: 1.5em;
}

div#newstopics div.scroll {
	overflow: hidden;
	overflow-y: scroll;
	margin: 2rem 0 0 0;
	padding: 1rem 2rem;
	border: 1px solid #848484;
	background: #ffffff;
}

div#newstopics div.scroll table,
body#news.archive div#maincontent table {
	width: 100%;
	margin: 0;
}

div#newstopics div.scroll table th,
div#newstopics div.scroll table td,
body#news.archive div#maincontent table th,
body#news.archive div#maincontent table td {
	font-weight: 400;
	line-height: 2;
}

div#newstopics div.scroll table td a,
body#news.archive div#maincontent table td a {
	color: #333333 !important;
	text-decoration: none;
}



@media screen and (min-width: 767px) {
	div#newstopics {
		padding: 3em 0 1.5em 0;
	}
	div#newstopics div.wrap {
		width: 79.630%;
	}
	div#newstopics h2 span {
		font-size: 1.2rem;
	}
	div#newstopics h2 a {
		font-size: 0.8rem;
	}
	div#newstopics div.scroll {
		height: 280px;
	}
	div#newstopics div.scroll table th,
	div#newstopics div.scroll table td,
	body#news.archive div#maincontent table th,
	body#news.archive div#maincontent table td {
		padding-bottom: 1em;
		font-size: 0.9rem;
		vertical-align: top;
	}
	div#newstopics div.scroll table th,
	body#news.archive div#maincontent table th {
		padding-right: 1.5rem;
	}
}

@media screen and (max-width: 766px) {
	div#newstopics {
		padding: 0;
	}
	div#newstopics h2 span {
		font-size: 1.8rem;
	}
	div#newstopics h2 a {
		font-size: 1.2rem;
	}
	div#newstopics div.scroll {
		height: 36.5rem;
	}
	div#newstopics div.scroll table th,
	div#newstopics div.scroll table td,
	body#news.archive div#maincontent table th,
	body#news.archive div#maincontent table td {
		display: block;
		font-size: 1.2rem;
	}
	div#newstopics div.scroll table td,
	body#news.archive div#maincontent table td {
		padding-bottom: 2em;
	}
}





/* ▼contentnav */
/* ----------------------------------------------------- */
div#contentnav {
	padding-top: 1px;
}

div#contentnav ul {
	margin: 0;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}

div#contentnav ul li {
	list-style-type: none;
	overflow: hidden;
}



@media screen and (min-width: 767px) {
	div#contentnav ul li {
		width: 31.482%;
		margin: 1.5rem 0 0 0;
		border-radius: 5px;
	}
}

@media screen and (max-width: 766px) {
	div#contentnav ul li {
		width: 47.777%;
		margin: 1rem 0 0 0;
		border-radius: 2.5px;
	}
}





/* ▼testimonial */
/* ----------------------------------------------------- */
div.testimonial {
	display: none;
}





/* ▼form */
/* ----------------------------------------------------- */
form input[type="text"],
form input[type="password"],
form input[type="datetime"],
form input[type="datetime-local"],
form input[type="date"],
form input[type="month"],
form input[type="time"],
form input[type="week"],
form input[type="number"],
form input[type="email"],
form input[type="url"],
form input[type="search"],
form input[type="tel"],
form input[type="color"],
form textarea,
form select {
	width: 100%;
	padding: 0.2em 0.5em;
	border: 1px solid #cccccc;
	background: #ffffff;
	border-radius: 5px;
	box-shadow: 0 0 rgba(0,0,0,0.0) inset;
}

form textarea {
	height: 11.532em;
}

form input[type="radio"],
form input[type="checkbox"] {
	margin-right: 0.3em;
}

form input.required,
form input.error,
form label.required,
form textarea.required,
form select.required {
	background: rgb(255, 221, 221);
}

form label.error {
	color: rgb(150, 0, 0);
}

form label {
	padding: 0 0.3em;
}

form input[type="text"]:focus,
form input[type="password"]:focus,
form input[type="datetime"]:focus,
form input[type="datetime-local"]:focus,
form input[type="date"]:focus,
form input[type="month"]:focus,
form input[type="time"]:focus,
form input[type="week"]:focus,
form input[type="number"]:focus,
form input[type="email"]:focus,
form input[type="url"]:focus,
form input[type="search"]:focus,
form input[type="tel"]:focus,
form input[type="color"]:focus,
form textarea:focus {
	outline: 0;
	outline: thin dotted \9;
	border-color: rgba(82, 168, 236, 0.8);
	background: #ffffff;
}

::-webkit-input-placeholder {
	color: #bbbbbb;
	color: #808080;
}

:-ms-input-placeholder {
	color: #bbbbbb;
	color: #808080;
}

::-moz-placeholder {
	color: #bbbbbb;
	color: #808080;
}

form input[disabled],
form textarea[disabled] {
	color: #333333;
	background-color: #ebebe4 !important;
	background-color: rgba(235, 235, 228, 1) !important;
	opacity: 1;
}

form p,
div#thanks p.btn {
	text-align: center;
}

form button,
div#thanks button {
	padding: 0;
	border: 0;
	background: transparent;
}

form button[disabled] {
	cursor: not-allowed;
	-moz-opacity: 0.5;
	opacity: 0.5;
	filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);  /* For IE 5-7 */
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; /* For IE 8 */
}

form dl dd p {
	text-align: left;
}





/* ▼footer */
/* ----------------------------------------------------- */
div#footer {
	padding: 0;
	background-color: #f4f4f4;
	background-repeat: no-repeat;
	background-position: center top;
}

div#footer a {
	color: #333333 !important;
	text-decoration: none !important;
}

div#footer div.container {
	text-align: center;
}

div#footer div#footer_info {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
}

div#footer div#footer_info div#footer_company {
	width: 100%;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
}

div#footer div#footer_info div#footer_company h2 {
	order: 2;
	margin: 1.5rem 0;
	text-align: center;
}

div#footer div#footer_info div#footer_company h3 {
	order: 1;
	text-align: center;
}

div#footer div#footer_info div#footer_company p {
	order: 3;
	margin: 0;
	text-align: center;
}

div#footer div#footer_info figure {
	display: none;
}

div#footer ul {
	display: none;
}

div#footer address {
	margin: 2em 0 0 0;
	padding: 0.5em 0;
	color: #939393;
	font-style: normal;
	border-top: 1px solid #b2b2b2;
}





/* ▼ページトップ */
/* ----------------------------------------------------- */
div#pagetop {
	display: none;
}





/* ▼banner */
/* ----------------------------------------------------- */
div#banner {
	display: none;
}





/* ▼headline */
/* ----------------------------------------------------- */
div#headline {
	padding: 0;
	background-color: #0f314d;
	background-image: url(../img/bg_headline.jpg);
	background-repeat: repeat;
	background-position: center top;
}

div#headline h1 {
	color: #ffffff;
	text-align: center;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}



@media screen and (min-width: 767px) {
	div#headline h1 {
		height: 7rem;
		font-size: 1.6rem;
	}
}

@media screen and (max-width: 766px) {
	div#headline h1 {
		height: 11.5rem;
		font-size: 2rem;
	}
}





/* ▼breadcrumb */
/* ----------------------------------------------------- */
div#breadcrumb {
	display: none;
}





/* ▼maincontent */
/* ----------------------------------------------------- */
div#maincontent {
	padding-top: 1px;
	background: #ffffff;
}

div#maincontent h2 {
	position: relative;
	margin: 3rem 0 1.5rem 0;
	padding: 0.55rem 0.5rem 0.55rem 2rem;
	color: #ffffff;
	background: #154268;
}

div#maincontent h2::before {
	content: "";
	position: absolute;
	top: 0.4rem;
	bottom: 0.4rem;
	left: 0.5rem;
	width: 0.4rem;
	background: #ffffff;
}

div#maincontent h3 {
	margin: 3rem 0 1.5rem 0;
	padding: 0 0 0.5em 0;
	border-bottom: 1px solid #cccccc;
}

div#maincontent h3.img {
	padding: 0;
	border-bottom: 0 none;
}

div#maincontent ul li {
	margin-left: 1.5em;
}

div#maincontent ol li {
	margin-left: 1.5em;
}

div#maincontent table {
	width: 100%;
}

div#maincontent table th,
div#maincontent table td {
	vertical-align: top;
	border-bottom: 1px solid #cccccc;
}

div#maincontent table th {
	white-space: nowrap;
}

div#maincontent table td ul {
	margin: 0;
}

div#maincontent table.itemlist th,
div#maincontent table.itemlist td {
	border: 1px solid #cccccc;
}

div#maincontent table.itemlist th {
	background: #f4f4f4;
}

div#maincontent a {
	color: #154268 !important;
	text-decoration: none;
}

div#maincontent .btn a {
	color: #ffffff !important;
}

div#maincontent .grayback {
	padding: 1rem;
	background: #f4f4f4;
}

div#maincontent ul#pagenav {
	margin: 3rem 0;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}

div#maincontent ul#pagenav li {
	list-style-type: none;
	margin: 0;
}

div#maincontent ul#pagenav li a {
	display: block;
	padding: 0.3em;
	font-weight: 700;
	color: #ffffff !important;
	text-align: center;
	text-decoration: none;
	background: #154268;
	border-radius: 2em;
}

div#maincontent ul#pagenav li a::after {
	content: "\f105";
	font-family: "FontAwesome";
	margin-left: 1em;
}



@media screen and (min-width: 767px) {
	div#maincontent div.wrap {
		width: 92.593%;
	}
	div#maincontent h2 {
		font-size: 1.2rem;
	}
	div#maincontent h3 {
		font-size: 1.1rem;
	}
	div#maincontent p,
	div#maincontent ul li,
	div#maincontent ol li,
	div#maincontent dl dt,
	div#maincontent dl dd,
	div#maincontent table th,
	div#maincontent table td,
	div#maincontent figure figcaption {
		font-size: 0.9rem;
	}
	div#maincontent table th,
	div#maincontent table td {
		padding: 0.7em;
		padding-left: 2em;
	}
	div#maincontent ul#pagenav li {
		width: 23.149%;
	}
	div#maincontent ul#pagenav li a {
		font-size: 0.9rem;
	}
}

@media screen and (max-width: 766px) {
	div#maincontent h2 {
		font-size: 1.6rem;
	}
	div#maincontent h3 {
		font-size: 1.4rem;
	}
	div#maincontent p,
	div#maincontent ul li,
	div#maincontent ol li,
	div#maincontent dl dt,
	div#maincontent dl dd,
	div#maincontent table th,
	div#maincontent table td,
	div#maincontent figure figcaption {
		font-size: 1.2rem;
	}
	div#maincontent table th,
	div#maincontent table td {
		padding: 0.7em;
	}
	div#maincontent ul#pagenav {
		margin-bottom: 1rem;
	}
	div#maincontent div.container > ul#pagenav {
		width: 89.334%;
		margin-left: auto;
		margin-right: auto;
	}
	div#maincontent ul#pagenav li {
		width: 47.762%;
		margin-bottom: 1rem;
	}
	div#maincontent ul#pagenav li a {
		font-size: 1.2rem;
	}
}





/* ▼urgent & excess & propose */
/* ----------------------------------------------------- */
body#urgent div#maincontent div#mainvisual {
	background-color: #f4f4f4;
	background-repeat: no-repeat;
	background-position: center top;
}

body#urgent div#maincontent div#mainvisual h2 {
	margin: 0;
	padding: 0;
	background-color: transparent;
}

body#urgent div#maincontent div#mainvisual h2::before {
	display: none;
}

body#urgent div#maincontent div#mainvisual ol {
	margin-bottom: 0;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
}

body#urgent div#maincontent div#mainvisual ol li {
	list-style-type: none;
	margin: 0;
	background-color: #ffffff;
	background-repeat: no-repeat;
	background-position: right bottom;
	background-size: 100% auto;
}

body#urgent div#maincontent div#mainvisual ol li:nth-child(1) {
	background-image: url(../img/urgent_mainvisual_01.jpg);
}

body#urgent div#maincontent div#mainvisual ol li:nth-child(2) {
	background-image: url(../img/urgent_mainvisual_02.jpg);
}

body#urgent div#maincontent ul#pagenav li:last-child a {
	color: #333333 !important;
	background: #fff100 !important;
}

body#urgent div#maincontent figure.floatRight {
	margin: 0 0 1.5em 1.5em;
}

body#urgent div#maincontent h2#trouble + ol,
body#propose div#maincontent ol {
	counter-reset: trouble_counter 0;
}

body#urgent div#maincontent h2#trouble + ol li,
body#propose div#maincontent ol li {
	list-style-type: none;
	counter-increment: trouble_counter 1;
	margin-left: 0;
	margin-bottom: 1rem;
	font-weight: 700;
	color: #154268;
}

body#urgent div#maincontent h2#trouble + ol li::before,
body#propose div#maincontent ol li::before {
	content: counter(trouble_counter);
	display: inline-block;
	text-align: center;
	line-height: 1.5;
	color: #ffffff;
	background: #154268;
}

body#urgent div#maincontent div#inspection_box,
body#urgent div#maincontent div#other_box {
	margin: 1.5em 0;
	padding: 1.5rem;
	padding-bottom: 1px;
	background: #f4f4f4;
}

body#urgent div#maincontent div#other_box {
	position: relative;
	margin-bottom: 4.5em;
}

body#urgent div#maincontent div#other_box::after {
	content: "";
	position: absolute;
	bottom: -3rem;
	left: 50%;
	width: 2.5rem;
	height: 1.5rem;
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22%23154268%22%20width%3D%2250%22%20height%3D%2230%22%20viewBox%3D%220%200%2050%2030%22%3E%3Cpolygon%20points%3D%2225%2030%200%200%2050%200%2025%2030%22%2F%3E%3C%2Fsvg%3E');
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: 100% auto;
	transform: translate(-50%, 0);
}

body#urgent div#maincontent div#inspection_box h3,
body#urgent div#maincontent div#other_box h3 {
	margin: 0;
	padding: 0;
	color: #154268;
	line-height: 1.2;
	border-bottom: 0 none;
}

body#urgent div#maincontent div#inspection_box div.flexbox + h3,
body#urgent div#maincontent div#other_box div.flexbox + h3 {
	margin-top: 1em;
}

body#urgent div#maincontent div#inspection_box h3 span,
body#urgent div#maincontent div#other_box h3 span {
	font-weight: 400;
}

body#urgent div#maincontent div#inspection_box h4,
body#urgent div#maincontent div#other_box h4 {
	margin: 1em 0 0 0 ;
	padding: 0.1rem 1em;
	font-weight: 400;
	color: #ffffff;
	background: #154268;
}

body#urgent div#maincontent div#inspection_box figure,
body#urgent div#maincontent div#other_box figure {
	text-align: center;
}

body#urgent div#maincontent div#inspection_box p.note,
body#urgent div#maincontent div#other_box p.note {
	margin: 1em 0 0 0 ;
}

body#urgent div#maincontent p#inspection_results {
	padding: 0.7em;
	font-weight: 700;
	color: #154268;
	text-align: center;
	border: 0.2rem solid #154268;
}

body#urgent div#maincontent dl.grayback {
	padding: 1.5rem;
}

body#urgent div#maincontent dl.grayback dt {
	font-weight: 700;
}

body#urgent div#maincontent dl.grayback dd {
	display: list-item;
	list-style-type: disc;
	margin-left: 1.5em;
}

body#urgent div#maincontent dl.grayback dd.note {
	list-style-type: none;
	margin-left: 0;
}

body#urgent div#maincontent h2#faq {
	counter-reset: faq_counter 0;
	counter-reset: faqbox_counter 0;
}

body#urgent div#maincontent div.faq {
	counter-increment: faqbox_counter 1;
	padding: 0 0 1em 0;
	border-bottom: 1px solid #cccccc;
}

body#urgent div#maincontent div.faq h3 {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: 0 none;
}

body#urgent div#maincontent div.faq h3 {
	cursor: pointer;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
}

body#urgent div#maincontent div.faq h3::before {
	display: inline-block;
	text-align: center;
	color: #ffffff;
	background: #154268;
}

body#urgent div#maincontent div.faq h3::before {
	content: "Q" counter(faqbox_counter) ".";
}

body#urgent div#maincontent div.faq h3 span {
	align-self: center;
}

body#urgent div#maincontent div.faq h3::after {
	content: "\f107";
	font-family: "FontAwesome";
	width: 1rem;
	text-align: center;
}

body#urgent div#maincontent div.faq.open h3::after {
	content: "\f106";
}

body#urgent div#maincontent div.faq div.bodytext > * {
	margin-bottom: 0;
}

body#urgent div#maincontent div.faq div.bodytext > h4 {
	margin-top: 2em;
}

body#urgent div#maincontent div.faq div.bodytext > h4 + p,
body#urgent div#maincontent div.faq div.bodytext > h4 + ul,
body#urgent div#maincontent div.faq div.bodytext > h4 + ol {
	margin-top: 0;
}

body#urgent div#maincontent h2#flow,
body#excess div#maincontent h2 {
	counter-reset: flow_counter 0;
}

body#urgent div#maincontent div.flow,
body#excess div#maincontent div.flow,
body#propose div#maincontent ol {
	position: relative;
	margin: 0 0 4.5rem 0;
	padding: 1px 0;
	counter-increment: flow_counter 1;
	background: #f4f4f4;
}

body#propose div#maincontent ol {
	background: transparent;
}

body#urgent div#maincontent div.flow::after,
body#excess div#maincontent div.flow::after,
body#propose div#maincontent ol::after {
	content: "";
	position: absolute;
	bottom: -3rem;
	left: 50%;
	width: 2.5rem;
	height: 1.5rem;
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22%23154268%22%20width%3D%2250%22%20height%3D%2230%22%20viewBox%3D%220%200%2050%2030%22%3E%3Cpolygon%20points%3D%2225%2030%200%200%2050%200%2025%2030%22%2F%3E%3C%2Fsvg%3E');
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: 100% auto;
	transform: translate(-50%, 0);
}

body#urgent div#maincontent div#step_03.flow,
body#excess div#maincontent div#step_03.flow {
	margin-bottom: 0;
}

body#urgent div#maincontent div#step_03.flow::after,
body#excess div#maincontent div#step_03.flow::after {
	display: none;
}

body#urgent div#maincontent div.flow div.bodytext h3,
body#excess div#maincontent div.flow div.bodytext h3 {
	padding: 0;
	color: #154268;
	line-height: 1.2;
	border-bottom: 0 none;
}

body#urgent div#maincontent div.flow div.bodytext h3::before,
body#excess div#maincontent div.flow div.bodytext h3::before {
	content: "STEP:" counter(flow_counter);
	display: inline-block;
	margin: 0 1rem 0 0;
	padding: 0 1em;
	text-align: center;
	color: #ffffff;
	background: #154268;
}

body#propose div#maincontent p.btn {
	text-align: center;
}

body#propose div#maincontent p.btn a {
	display: inline-block;
	margin: 0 auto;
	padding: 1em 3em;
	font-weight: 700;
	color: #333333 !important;
	background: #fff100;
}

body#propose div#maincontent h2#sales {
	counter-reset: sales_counter 0;
}

body#propose div#maincontent div.sales {
	margin: 2rem 0;
	background: #f4f4f4;
	counter-increment: sales_counter 1;
}

body#propose div#maincontent div.sales div.bodytext h3 {
	margin: 0;
	padding: 0 0 0.5rem 0;
	color: #333333;
	line-height: 1.2;
}

body#propose div#maincontent div.sales div.bodytext h3::before {
	content: counter(sales_counter);
	display: inline-block;
	width: 2rem;
	height: 2rem;
	margin: 0 1rem 0 0;
	padding: 0;
	text-align: center;
	color: #ffffff;
	line-height: 1.75rem;
	background: #154268;
	border-radius: 2em;
}

body#propose div#maincontent div.sales figure {
	margin: 0;
}



@media screen and (min-width: 767px) {
	body#urgent div#maincontent div#mainvisual {
		margin: 3rem 0 1.5rem 0;
		padding: 2rem 2.5rem;
		background-image: url(../img/urgent_mainvisual_pc.jpg);
	}
	body#urgent div#maincontent div#mainvisual ol {
		justify-content: space-between;
	}
	body#urgent div#maincontent div#mainvisual ol li {
		width: 31.633%;
	}
	body#urgent div#maincontent h2#trouble + ol li,
	body#propose div#maincontent ol li {
		padding: 0 0 0 3.25rem;
		font-size: 1.5rem;
	}
	body#urgent div#maincontent h2#trouble + ol li::before,
	body#propose div#maincontent ol li::before {
		width: 2.25rem;
		margin: 0 1rem 0 -3.25rem;
	}
	body#urgent div#maincontent div.flow {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
	}
	body#urgent div#maincontent div.flow div.bodytext {
		width: 75%;
	}
	body#urgent div#maincontent div.flow div.bodytext h3 {
		margin: 0;
		font-size: 1.5rem;
	}
	body#urgent div#maincontent div.flow div.bodytext p {
		margin: 0.5rem 0 0 1rem;
	}
	body#urgent div#maincontent div.flow figure {
		width: 20%;
		margin: 0;
	}
	body#urgent div#maincontent div#inspection_box h3,
	body#urgent div#maincontent div#other_box h3,
	body#urgent div#maincontent div#inspection_box h4,
	body#urgent div#maincontent div#other_box h4 {
		font-size: 0.9rem;
	}
	body#urgent div#maincontent div#inspection_box figure,
	body#urgent div#maincontent div#other_box figure {
		width: 47.873%;
	}
	body#urgent div#maincontent p#inspection_results {
		font-size: 1.2rem;
	}
	body#urgent div#maincontent div.faq h3 {
		font-size: 1rem;
	}
	body#urgent div#maincontent div.faq h3::before {
		width: 2.25rem;
		margin: 0 0.5rem 0 0;
		line-height: 2.25rem;
	}
	body#urgent div#maincontent div.faq h3 span {
		width: calc( 100% - 2.75rem );
		width: calc( 100% - 3.75rem );
	}
	body#urgent div#maincontent div.flow,
	body#excess div#maincontent div.flow {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
	}
	body#urgent div#maincontent div.flow div.bodytext,
	body#excess div#maincontent div.flow div.bodytext {
		width: 75%;
	}
	body#urgent div#maincontent div.flow div.bodytext h3,
	body#excess div#maincontent div.flow div.bodytext h3 {
		margin: 0;
		font-size: 1.5rem;
	}
	body#urgent div#maincontent div.flow div.bodytext p,
	body#excess div#maincontent div.flow div.bodytext p {
		margin: 0.5rem 0 0 1rem;
	}
	body#urgent div#maincontent div.flow figure,
	body#excess div#maincontent div.flow figure {
		width: 20%;
		margin: 0;
	}
	body#propose div#maincontent p.alignCenter,
	body#propose div#maincontent p.btn {
		font-size: 1.2rem;
	}
	body#propose div#maincontent div.sales {
		padding: 1rem;
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: stretch;
	}
	body#propose div#maincontent div.sales div.bodytext {
		width: 47.369%;
	}
	body#propose div#maincontent div.sales figure {
		width: 47.369%;
	}
}

@media screen and (max-width: 766px) {
	body#urgent div#maincontent div#mainvisual {
		margin: 0 auto 1.5rem auto;
		padding: 2rem 1rem;
		background-image: url(../img/urgent_mainvisual_sp.jpg);
		background-size: 100% auto;
	}
	body#urgent div#maincontent div#mainvisual ol {
		justify-content: center;
	}
	body#urgent div#maincontent div#mainvisual ol li {
		width: 47.620%;
	}
	body#urgent div#maincontent div#mainvisual ol li:nth-child(1) {
		margin-right: 0.75rem;
		margin-bottom: 1rem;
	}
	body#urgent div#maincontent div#mainvisual ol li:nth-child(2) {
		margin-left: 0.75rem;
		margin-bottom: 1rem;
	}
	body#urgent div#maincontent figure.floatRight {
		width: 31.344%;
	}
	body#urgent div#maincontent h2#trouble + ol li,
	body#propose div#maincontent ol li {
		padding: 0 0 0 3.5rem;
		font-size: 1.8rem;
	}
	body#urgent div#maincontent h2#trouble + ol li::before,
	body#propose div#maincontent ol li::before {
		width: 2.75rem;
		margin: 0 0.75rem 0 -3.5rem;
	}
	body#urgent div#maincontent div.flow div.bodytext h3 {
		font-size: 1.6rem;
	}
	body#urgent div#maincontent div.flow div.bodytext p {
		margin-left: 1rem;
		margin-right: 1rem;
	}
	body#urgent div#maincontent div.flow figure {
		width: 44.777%;
		margin-left: auto;
		margin-right: auto;
	}
	body#urgent div#maincontent div#inspection_box h3,
	body#urgent div#maincontent div#other_box h3,
	body#urgent div#maincontent div#inspection_box h4,
	body#urgent div#maincontent div#other_box h4 {
		font-size: 1.2rem;
	}
	body#urgent div#maincontent p#inspection_results {
		font-size: 1.4rem;
	}
	body#urgent div#maincontent div.faq h3 {
		font-size: 1.4rem;
	}
	body#urgent div#maincontent div.faq h3::before {
		width: 3.5rem;
		margin: 0 1.25rem 0 0;
		line-height: 3.5rem;
	}
	body#urgent div#maincontent div.faq h3 span {
		width: calc( 100% - 4.75rem );
		width: calc( 100% - 5.75rem );
		line-height: 1.5;
	}
	body#urgent div#maincontent div.faq h3::after {
		align-self: flex-end;
	}
	body#urgent div#maincontent div.flow div.bodytext h3,
	body#excess div#maincontent div.flow div.bodytext h3 {
		font-size: 1.6rem;
	}
	body#urgent div#maincontent div.flow div.bodytext p,
	body#excess div#maincontent div.flow div.bodytext p {
		margin-left: 1rem;
		margin-right: 1rem;
	}
	body#urgent div#maincontent div.flow figure,
	body#excess div#maincontent div.flow figure {
		width: 44.777%;
		margin-left: auto;
		margin-right: auto;
	}
	body#propose div#maincontent h2 {
		font-size: 1.5rem;
	}
	body#propose div#maincontent p.alignCenter,
	body#propose div#maincontent p.btn {
		font-size: 1.6rem;
	}
	body#propose div#maincontent div.sales {
		padding: 2rem;
	}
	body#propose div#maincontent div.sales figure {
		width: 94.916%;
		margin: 1.5em auto 0 auto;
	}
}





/* ▼quality */
/* ----------------------------------------------------- */
body#quality div#maincontent {
	counter-reset: case_counter 0;
}

body#quality div#maincontent div.case {
	counter-increment: case_counter 1;
	margin: 3rem 0;
}

body#quality div#maincontent div.case h3 {
	cursor: pointer;
	margin: 0;
	padding: 0.5em 1.5em 0.5em 0;
	color: #154268;
	border-bottom: 0 none;
	background: #f4f4f4;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}

body#quality div#maincontent div.case h3 span {
	box-sizing: border-box;
}

body#quality div#maincontent div.case h3::before {
	content: "CASE:" counter(case_counter);
	padding: 0;
	color: #ffffff;
	text-align: center;
	background: #154268;
	box-sizing: border-box;
}

body#quality div#maincontent div.case h3::after {
	content: "\f107";
	font-family: "FontAwesome";
	width: 1rem;
	text-align: center;
}

body#quality div#maincontent div.case.open h3::after {
	content: "\f106";
}

body#quality div#maincontent div.case div.bodytext > * {
	margin-bottom: 0;
}

body#quality div#maincontent div.case div.bodytext > h4 {
	margin-top: 2em;
}

body#quality div#maincontent div.case div.bodytext > h4 + p,
body#quality div#maincontent div.case div.bodytext > h4 + ul,
body#quality div#maincontent div.case div.bodytext > h4 + ol {
	margin-top: 0;
}

body#quality div#maincontent dl.grayback {
	padding: 1.5rem;
}

body#quality div#maincontent dl.grayback dt {
	font-weight: 700;
}

body#quality div#maincontent dl.grayback dd {
	display: list-item;
	list-style-type: disc;
	margin-left: 1.5em;
}

body#quality div#maincontent dl.grayback dd.note {
	list-style-type: none;
	margin-left: 0;
}



@media screen and (min-width: 767px) {
	body#quality div#maincontent div.case h3 {
		font-size: 1.1rem;
	}
	body#quality div#maincontent div.case h3::before {
		width: 6rem;
	}
	body#quality div#maincontent div.case h3 span {
		width: calc( 100% - 8.5rem );
	}
}

@media screen and (max-width: 766px) {
	body#quality div#maincontent div.case h3 {
		font-size: 1.4rem;
	}
	body#quality div#maincontent div.case h3::before {
		width: 8rem;
	}
	body#quality div#maincontent div.case h3 span {
		width: calc( 100% - 1.5rem );
		margin: 0.3em 0 0 0;
		padding: 0 0 0 1rem;
	}
	body#quality div#maincontent div.case h3::after {
		align-self: flex-end;
	}
}





/* ▼inventory */
/* ----------------------------------------------------- */
body#inventory div#maincontent h3 {
	padding: 0.3em 1em 0.5em 1em;
	color: #154268;
	border: 1px solid #154268;
	border-left-width: 10px;
	background: #f4f4f4;
}

body#inventory div#maincontent p img {
	float: right;
	margin: 0 0 0 1em;
}

body#inventory div#maincontent div.check {
	position: relative;
	margin: 0 0 3rem 0;
	padding: 0.75rem 1.5rem;
	background: #f4f4f4;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}

body#inventory div#maincontent div.check::after {
	content: "";
	position: absolute;
	bottom: -2.25rem;
	left: 50%;
	width: 2.5rem;
	height: 1.5rem;
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22%23154268%22%20width%3D%2250%22%20height%3D%2230%22%20viewBox%3D%220%200%2050%2030%22%3E%3Cpolygon%20points%3D%2225%2030%200%200%2050%200%2025%2030%22%2F%3E%3C%2Fsvg%3E');
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: 100% auto;
	transform: translate(-50%, 0);
}

body#inventory div#maincontent div#check_05.check::after {
	display: none;
}

body#inventory div#maincontent div.check h4 {
	margin: 0 0 0 -1.5rem;
	padding: 0;
	color: #ffffff;
	text-align: center;
	background: #154268;
	box-sizing: border-box;
}

body#inventory div#maincontent div.check h4 + p {
	margin: 0;
	font-weight: 700;
	line-height: 1.5;
	color: #154268;
}

body#inventory div#maincontent div.check div.bodytext,
body#inventory div#maincontent div.check div.flexbox {
	width: 100%;
}

body#inventory div#maincontent div.check div.flexbox {
	align-items: center;
}

body#inventory div#maincontent div.check div.flexbox figure {
	margin: 0;
	text-align: center;
}

body#inventory div#maincontent div#traceability div#inventory_table h4,
body#inventory div#maincontent div#traceability div#inventory_itemtag h4,
body#inventory div#maincontent div.system h4 {
	position: relative;
}

body#inventory div#maincontent div#traceability div#inventory_table h4,
body#inventory div#maincontent div#traceability div#inventory_itemtag h4 {
	padding: 0;
	padding-left: 1rem;
	color: #154268;
}

body#inventory div#maincontent div.system h4 {
	padding: 0.1rem 0.5rem 0.1rem 1rem;
	color: #ffffff;
	background: #154268;
}

body#inventory div#maincontent div#traceability div#inventory_table h4::before,
body#inventory div#maincontent div#traceability div#inventory_itemtag h4::before,
body#inventory div#maincontent div.system h4::before {
	content: "";
	position: absolute;
	width: 0.3rem;
}

body#inventory div#maincontent div#traceability div#inventory_table h4::before,
body#inventory div#maincontent div#traceability div#inventory_itemtag h4::before {
	top: 0;
	left: 0;
	bottom: 0;
	background: #154268;
}

body#inventory div#maincontent div.system h4::before {
	top: 0.2rem;
	left: 0.3rem;
	bottom: 0.2rem;
	background: #ffffff;
}

body#inventory div#maincontent div#traceability div#inventory_table ol li {
	list-style-type: none;
	margin-left: 0;
	padding: 0 0 0 1em;
}

body#inventory div#maincontent div#traceability div#inventory_table ol li span {
	margin: 0 0 0 -1em;
	color: #ff1d25;
}

body#inventory div#maincontent div.system {
	position: relative;
	margin: 0 auto 3rem auto;
	padding: 1px;
	border: 1px solid #154268;
}

body#inventory div#maincontent div.system::after {
	content: "";
	position: absolute;
	bottom: -2.25rem;
	left: 50%;
	width: 2.5rem;
	height: 1.5rem;
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22%23154268%22%20width%3D%2250%22%20height%3D%2230%22%20viewBox%3D%220%200%2050%2030%22%3E%3Cpolygon%20points%3D%2225%2030%200%200%2050%200%2025%2030%22%2F%3E%3C%2Fsvg%3E');
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: 100% auto;
	transform: translate(-50%, 0);
}

body#inventory div#maincontent div#system_03.system::after {
	display: none;
}

body#inventory div#maincontent div.system div.bodytext,
body#inventory div#maincontent div.system div.flexbox {
	margin-left: auto;
	margin-right: auto;
	padding: 1rem;
}

body#inventory div#maincontent div.system div.flexbox {
	justify-content: space-between;
	align-items: flex-start;
}

body#inventory div#maincontent div.system div.bodytext > *,
body#inventory div#maincontent div.system div.flexbox > * {
	margin: 0;
}

body#inventory div#maincontent div.system div.flexbox figure {
	width: 50%;
}

body#inventory div#maincontent div.system div.flexbox p {
	width: 46.667%;
	padding: 0.4em 0.5em;
	background: #f4f4f4;
	border-radius: 5px;
}

body#inventory div#maincontent ul#system_icon {
	padding: 1rem 1rem 0 1rem;
	background: #f4f4f4;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}

body#inventory div#maincontent ul#system_icon li {
	list-style-type: none;
	width: 30%;
	margin-left: 0;
	margin-bottom: 1rem;
}



@media screen and (min-width: 767px) {
	body#inventory div#maincontent div.check h4 {
		width: 10rem;
		font-size: 1.1rem;
	}
	body#inventory div#maincontent div.check h4 + p {
		width: calc( 100% - 10rem );
		font-size: 1.1rem;
	}
	body#inventory div#maincontent div.check div.bodytext {
		width: 100%;
	}
	body#inventory div#maincontent div.check div.flexbox {
		width: 100%;
		justify-content: center;
	}
	body#inventory div#maincontent div.check div.flexbox figure {
		width: 260px;
		margin-bottom: 1rem;
	}
	body#inventory div#maincontent div.check div.flexbox figure:nth-child(2) {
		width: 3rem;
		margin-left: 1rem;
		margin-right: 1rem;
	}
	body#inventory div#maincontent div.check div.flexbox figure figcaption {
		font-size: 0.8rem;
	}
	body#inventory div#maincontent div#traceability {
		width: 87%;
		margin: 0 auto;
	}
	body#inventory div#maincontent div#traceability div#inventory_table h4,
	body#inventory div#maincontent div#traceability div#inventory_itemtag h4,
	body#inventory div#maincontent div.system h4 {
		font-size: 0.9rem;
	}
	body#inventory div#maincontent div.system {
		width: 64.5%;
	}
	body#inventory div#maincontent div.system div.flexbox p {
		font-size: 0.8rem;
	}
	body#inventory div#maincontent ul#system_icon {
		width: 64%;
		margin-left: auto;
		margin-right: auto;
	}
	body#inventory div#maincontent ul#system_icon li {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: center;
	}
	body#inventory div#maincontent div#degassingsealer,
	body#inventory div#maincontent div#tubetray {
		align-items: center;
	}
	body#inventory div#maincontent div#degassingsealer figure,
	body#inventory div#maincontent div#tubetray figure {
		width: 45%;
		margin: 0;
	}
	body#inventory div#maincontent div#degassingsealer p,
	body#inventory div#maincontent div#tubetray p {
		width: 53%;
		margin: 0;
	}
}

@media screen and (max-width: 766px) {
	body#inventory div#maincontent div.check h4 {
		width: 12.5rem;
		font-size: 1.4rem;
	}
	body#inventory div#maincontent div.check h4 + p {
		width: calc( 100% - 12.5rem );
		font-size: 1.4rem;
	}
	body#inventory div#maincontent div.check div.flexbox {
		justify-content: space-between;
	}
	body#inventory div#maincontent div.check div.flexbox figure {
		width: 42.630%;
		margin-bottom: 1rem;
	}
	body#inventory div#maincontent div.check div.flexbox figure:nth-child(2) {
		width: 3rem;
	}
	body#inventory div#maincontent div.check div.flexbox figure figcaption {
		font-size: 1rem;
	}
	body#inventory div#maincontent div#traceability div#inventory_itemtag {
		margin-top: 1.5em;
	}
	body#inventory div#maincontent div#traceability div#inventory_table h4,
	body#inventory div#maincontent div#traceability div#inventory_itemtag h4,
	body#inventory div#maincontent div.system h4 {
		font-size: 1.2rem;
	}
	body#inventory div#maincontent div#degassingsealer figure,
	body#inventory div#maincontent div#tubetray figure {
		margin: 0;
	}
	body#inventory div#maincontent ul#system_icon li {
		text-align: center;
	}
}





/* ▼inspection */
/* ----------------------------------------------------- */
body#inspection div#maincontent div#mainvisual {
	background-repeat: no-repeat;
	background-position: center top;
}

body#inspection div#maincontent div#mainvisual h2 {
	margin: 0;
	padding: 0;
	background-color: transparent;
}

body#inspection div#maincontent div#mainvisual h2::before {
	display: none;
}

body#inspection div#maincontent div#mainvisual p {
	display: none;
}

body#inspection div#maincontent ol#flow li {
	list-style-type: none;
	margin: 0;
	text-align: center;
}

body#inspection div#maincontent ol#flow li + li {
	margin-top: 0.5rem;
}

body#inspection div#maincontent ul#provisos {
	padding: 1.5rem;
	background: #f4f4f4;
}

body#inspection div#maincontent ul#provisos li {
	list-style-type: none;
	margin: 0;
	padding: 0 0 0 1.5em;
}

body#inspection div#maincontent ul#provisos li + li {
	margin-top: 0.5rem;
}

body#inspection div#maincontent ul#provisos li::before {
	content: "●";
	margin: 0 0.5em 0 -1.5em;
}

body#inspection div#maincontent ul#provisos li p.note {
	margin: 0;
}

body#inspection div#maincontent table th,
body#inspection div#maincontent table td {
	border: 1px solid #cccccc;
}

body#inspection div#maincontent table thead th {
	background: #efefef;
}

body#inspection div#maincontent table tbody th {
	font-weight: 400;
}





body#inspection div#maincontent div#inspection_box,
body#inspection div#maincontent div#other_box {
	margin: 1.5em 0;
	padding: 1.5rem;
	padding-bottom: 1px;
	background: #f4f4f4;
}

body#inspection div#maincontent div#other_box {
	position: relative;
	margin-bottom: 4.5em;
}

body#inspection div#maincontent div#other_box::after {
	content: "";
	position: absolute;
	bottom: -3rem;
	left: 50%;
	width: 2.5rem;
	height: 1.5rem;
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22%23154268%22%20width%3D%2250%22%20height%3D%2230%22%20viewBox%3D%220%200%2050%2030%22%3E%3Cpolygon%20points%3D%2225%2030%200%200%2050%200%2025%2030%22%2F%3E%3C%2Fsvg%3E');
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: 100% auto;
	transform: translate(-50%, 0);
}

body#inspection div#maincontent div#inspection_box h3,
body#inspection div#maincontent div#other_box h3 {
	margin: 0;
	padding: 0;
	color: #154268;
	line-height: 1.2;
	border-bottom: 0 none;
}

body#inspection div#maincontent div#inspection_box div.flexbox + h3,
body#inspection div#maincontent div#other_box div.flexbox + h3 {
	margin-top: 1em;
}

body#inspection div#maincontent div#inspection_box h3 span,
body#inspection div#maincontent div#other_box h3 span {
	font-weight: 400;
}

body#inspection div#maincontent div#inspection_box h4,
body#inspection div#maincontent div#other_box h4 {
	margin: 1em 0 0 0 ;
	padding: 0.1rem 1em;
	font-weight: 400;
	color: #ffffff;
	background: #154268;
}

body#inspection div#maincontent div#inspection_box figure,
body#inspection div#maincontent div#other_box figure {
	text-align: center;
}

body#inspection div#maincontent div#inspection_box p.note,
body#inspection div#maincontent div#other_box p.note {
	margin: 1em 0 0 0 ;
}

body#inspection div#maincontent p#inspection_results {
	padding: 0.7em;
	font-weight: 700;
	color: #154268;
	text-align: center;
	border: 0.2rem solid #154268;
}

body#inspection div#maincontent dl.grayback {
	padding: 1.5rem;
}

body#inspection div#maincontent dl.grayback dt {
	font-weight: 700;
}

body#inspection div#maincontent dl.grayback dd {
	display: list-item;
	list-style-type: disc;
	margin-left: 1.5em;
}

body#inspection div#maincontent dl.grayback dd.note {
	list-style-type: none;
	margin-left: 0;
}



@media screen and (min-width: 767px) {
	body#inspection div#maincontent div#mainvisual {
		margin: 3rem 0 1.5rem 0;
		background-image: url(../img/inspection_mainvisual_pc.jpg);
	}
	body#inspection div#maincontent ol#flow {
		margin: 1.5rem 1.25rem;
	}
	body#inspection div#maincontent ol#flow li img[src$="inspection_flow_03_pc.svg"],
	body#inspection div#maincontent ol#flow li img[src$="inspection_flow_03_pc.svg"],
	body#inspection div#maincontent ol#flow li img[src$="inspection_flow_03_pc.svg"] {
		background-repeat: no-repeat;
		background-position: center center;
	}
	body#inspection div#maincontent ol#flow li img[src$="inspection_flow_03_pc.svg"] {
		background-image: url(../img/inspection_flow_03_pc.jpg);
		background-size: 100% auto;
	}
	body#inspection div#maincontent ol#flow li img[src$="inspection_flow_04_pc.svg"] {
		background-image: url(../img/inspection_flow_04_pc.jpg);
		background-size: 100% auto;
	}
	body#inspection div#maincontent ol#flow li img[src$="inspection_flow_05_pc.svg"] {
		background-image: url(../img/inspection_flow_05_pc.jpg);
		background-size: 100% auto;
	}
	body#inspection div#maincontent ul#provisos li {
		font-size: 0.9rem;
	}
	body#inspection div#maincontent ul#provisos li p.note {
		font-size: 0.8rem;
	}
	body#inspection div#maincontent table {
		width: 95%;
		margin-left: auto;
		margin-right: auto;
	}



	body#inspection div#maincontent div#inspection_box h3,
	body#inspection div#maincontent div#other_box h3,
	body#inspection div#maincontent div#inspection_box h4,
	body#inspection div#maincontent div#other_box h4 {
		font-size: 0.9rem;
	}
	body#inspection div#maincontent div#inspection_box figure,
	body#inspection div#maincontent div#other_box figure {
		width: 47.873%;
	}
	body#inspection div#maincontent p#inspection_results {
		font-size: 1.2rem;
	}
}

@media screen and (max-width: 766px) {
	body#inspection div#maincontent div#mainvisual {
		margin: 0 auto 1.5rem auto;
		background-image: url(../img/inspection_mainvisual_sp.jpg);
		background-size: 100% auto;
	}
	body#inspection div#maincontent ol#flow {
		margin: 1.5rem -1.25rem;
	}
	body#inspection div#maincontent ol#flow li img[src$="inspection_flow_03_pc.svg"],
	body#inspection div#maincontent ol#flow li img[src$="inspection_flow_03_sp.svg"],
	body#inspection div#maincontent ol#flow li img[src$="inspection_flow_04_pc.svg"],
	body#inspection div#maincontent ol#flow li img[src$="inspection_flow_04_sp.svg"],
	body#inspection div#maincontent ol#flow li img[src$="inspection_flow_05_pc.svg"],
	body#inspection div#maincontent ol#flow li img[src$="inspection_flow_05_sp.svg"] {
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 100% auto;
	}
	body#inspection div#maincontent ol#flow li img[src$="inspection_flow_03_pc.svg"],
	body#inspection div#maincontent ol#flow li img[src$="inspection_flow_03_sp.svg"] {
		background-image: url(../img/inspection_flow_03_sp.jpg);
	}
	body#inspection div#maincontent ol#flow li img[src$="inspection_flow_04_pc.svg"],
	body#inspection div#maincontent ol#flow li img[src$="inspection_flow_04_sp.svg"] {
		background-image: url(../img/inspection_flow_04_sp.jpg);
	}
	body#inspection div#maincontent ol#flow li img[src$="inspection_flow_05_pc.svg"],
	body#inspection div#maincontent ol#flow li img[src$="inspection_flow_05_sp.svg"] {
		background-image: url(../img/inspection_flow_05_sp.jpg);
	}
	body#inspection div#maincontent ul#provisos li {
		font-size: 1.2rem;
	}
	body#inspection div#maincontent ul#provisos li p.note {
		font-size: 1rem;
	}
	body#inspection div#maincontent table th,
	body#inspection div#maincontent table td {
		padding: 0.4em;
	}



	body#inspection div#maincontent div#inspection_box h3,
	body#inspection div#maincontent div#other_box h3,
	body#inspection div#maincontent div#inspection_box h4,
	body#inspection div#maincontent div#other_box h4 {
		font-size: 1.2rem;
	}
	body#inspection div#maincontent p#inspection_results {
		font-size: 1.4rem;
	}
}





/* ▼lines ＆ excess ＆ discoutinued ＆ comparison */
/* ----------------------------------------------------- */
body#lines div#maincontent div#categories h3 {
	padding: 0.3em 0.75em 0.4em 0.75em;
	color: #ffffff;
	border-bottom: 0 none;
	background: #154268;
}

body#lines div#maincontent div#categories h3:first-child {
	margin-top: 0.5em;
}

body#lines div#maincontent div#categories {
	padding: 1.4rem;
	border: 1px solid #cccccc;
	background-color: #ffffff;
}

body#lines div#maincontent div#categories table th {
	font-weight: 400;
	color: #333333;
}

body#lines div#maincontent div#categories table td {
	color: #666666;
}

body#excess div#maincontent div#mainvisual {
	background-repeat: no-repeat;
	background-position: center top;
}

body#excess div#maincontent div#mainvisual h2 {
	margin: 0;
	padding: 0;
	background-color: transparent;
}

body#excess div#maincontent div#mainvisual h2::before {
	display: none;
}

body#excess div#maincontent div#mainvisual p {
	display: none;
}

body#excess div#maincontent div#categories,
body#discoutinued div#maincontent div#categories {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
}

body#excess div#maincontent div#categories div.itemcategory {
	margin: 1rem 0;
	padding: 1.4rem;
	border: 0.1rem solid #cccccc;
	background-color: #ffffff;
	background-repeat: no-repeat;
	background-position: right top;
	background-size: 100% auto;
}

body#excess div#maincontent div#categories div#semiconductor_parts.itemcategory {
	background-image: url(../img/lines_category_semiconductor_parts.jpg);
}

body#excess div#maincontent div#categories div#mechanical_parts.itemcategory {
	background-image: url(../img/lines_category_mechanical_parts.jpg);
}

body#excess div#maincontent div#categories div#passive_components.itemcategory {
	background-image: url(../img/lines_category_passive_components.jpg);
}

body#excess div#maincontent div#categories div#electronic_materials.itemcategory {
	background-image: url(../img/lines_category_electronic_materials.jpg);
}

body#excess div#maincontent div#categories div#system_products.itemcategory {
	background-image: url(../img/lines_category_system_products.jpg);
}

body#excess div#maincontent div#categories div#development_tools.itemcategory {
	background-image: url(../img/lines_category_development_tools.jpg);
}

body#excess div#maincontent div#categories div#acceleration_sensor.itemcategory {
	background-image: url(../img/lines_category_acceleration_sensor.jpg);
}

body#excess div#maincontent div#categories div#power_supply.itemcategory {
	background-image: url(../img/lines_category_power_supply.jpg);
}

body#excess div#maincontent div#categories div.itemcategory h3 {
	margin: 0;
	padding: 0 0.5em;
	color: #ffffff;
	border-bottom: 0 none;
	background: #154268;
}

body#excess div#maincontent div#categories div.itemcategory ul {
	margin-bottom: 0;
}

body#excess div#maincontent div#categories div.itemcategory ul li {
	list-style-type: none;
	margin-left: 0;
}

body#excess div#maincontent div#categories div.itemcategory p {
	margin-bottom: 0;
}

body#discoutinued div#maincontent div#categories div.itemcategory {
	margin: 3em 0 0 0;
}

body#discoutinued div#maincontent div#categories div.itemcategory h2 {
	margin-top: 0;
}

body#discoutinued div#maincontent ul.categorynav {
	margin-bottom: 0;
}

body#comparison div#maincontent table.itemlist th,
body#comparison div#maincontent table.itemlist td {
	padding: 0.3em 0.5em;
}



@media screen and (min-width: 767px) {
	body#excess div#maincontent div#mainvisual {
		margin: 3rem 0 1.5rem 0;
		background-image: url(../img/excess_mainvisual_pc.jpg);
	}
	body#lines div#maincontent ul#categorynav li a,
	body#excess div#maincontent ul#categorynav li a {
		padding: 0 1em;
		font-size: 1rem;
	}
	body#excess div#maincontent div#categories div.itemcategory,
	body#discoutinued div#maincontent div#categories div.itemcategory {
		width: 48%;
	}
	body#discoutinued div#maincontent div#categories div#NEC.itemcategory {
		order: 1;
	}
	body#discoutinued div#maincontent div#categories div#NECTOKIN.itemcategory {
		order: 2;
	}
	body#discoutinued div#maincontent div#categories div#RENESAS.itemcategory {
		order: 3;
	}
	body#discoutinued div#maincontent div#categories div#SHARP.itemcategory {
		order: 5;
	}
	body#discoutinued div#maincontent div#categories div#TOSHIBA.itemcategory {
		order: 4;
	}
}

@media screen and (max-width: 766px) {
	body#excess div#maincontent div#mainvisual {
		margin: 0 auto 1.5rem auto;
		background-image: url(../img/excess_mainvisual_sp.jpg);
		background-size: 100% auto;
	}
	body#lines div#maincontent ul#categorynav li a,
	body#excess div#maincontent ul#categorynav li a {
		padding: 0 0.85em;
		font-size: 1.2rem;
	}
	body#excess div#maincontent div#categories div.itemcategory,
	body#discoutinued div#maincontent div#categories div.itemcategory {
		width: 100%;
	}
}





/* ▼staff */
/* ----------------------------------------------------- */
body#staff div#maincontent div.staff {
	position: relative;
	margin: 3rem 0 0 0;
	background: #f4f4f4;
}

body#staff div#maincontent div.staff::before {
	content: "";
	position: absolute;
	top: -1rem;
	left: 0.5rem;
	z-index: 1;
	width: 7.85rem;
	height: 3.25rem;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100% auto;
}

body#staff div#maincontent div#staff_01.staff::before {
	background-image: url(../img/staff_01.svg);
}

body#staff div#maincontent div#staff_02.staff::before {
	background-image: url(../img/staff_02.svg);
}

body#staff div#maincontent div#staff_03.staff::before {
	background-image: url(../img/staff_03.svg);
}

body#staff div#maincontent div#staff_04.staff::before {
	background-image: url(../img/staff_04.svg);
}

body#staff div#maincontent div#staff_05.staff::before {
	background-image: url(../img/staff_05.svg);
}

body#staff div#maincontent div#staff_06.staff::before {
	background-image: url(../img/staff_06.svg);
}

body#staff div#maincontent div#staff_07.staff::before {
	background-image: url(../img/staff_07.svg);
}

body#staff div#maincontent div#staff_08.staff::before {
	background-image: url(../img/staff_08.svg);
}

body#staff div#maincontent div#staff_09.staff::before {
	background-image: url(../img/staff_09.svg);
}

body#staff div#maincontent div#staff_10.staff::before {
	background-image: url(../img/staff_10.svg);
}

body#staff div#maincontent div#staff_01.staff::before {
	background-image: url(../img/staff_01.svg);
}

body#staff div#maincontent div.staff h2 {
	margin: 0;
	padding: 0;
	color: #154268;
	background: transparent;
}

body#staff div#maincontent div.staff h2::before {
	display: none;
}

body#staff div#maincontent div.staff div.flexbox {
	clear: both;
}

body#staff div#maincontent div.staff div.flexbox figure {
	margin-bottom: 0;
}



@media screen and (min-width: 767px) {
	body#staff div#maincontent div.staff {
		padding: 2rem;
	}
	body#staff div#maincontent div.staff h2 {
		font-size: 1.1rem;
	}
	body#staff div#maincontent div.staff h2 img {
		float: left;
		width: 220px;
		margin-right: 2rem;
	}
}

@media screen and (max-width: 766px) {
	body#staff div#maincontent div.staff {
		padding: 1.5rem;
	}
	body#staff div#maincontent div.staff h2 {
		font-size: 1.4rem;
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
	}
	body#staff div#maincontent div.staff h2 picture {
		width: 39.345%;
	}
	body#staff div#maincontent div.staff h2 span {
		width: 50.820%;
	}
}





/* ▼voice */
/* ----------------------------------------------------- */
body#voice div#maincontent div.voice {
	margin: 3em 0 0 0;
	padding: 1.9rem;
	border: 0.1rem solid #154268;
}

body#voice div#maincontent div.voice h2 {
	margin: 0;
	padding: 0;
	color: #333333;
	font-weight: 400;
	background: transparent;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
}

body#voice div#maincontent div.voice h2::before {
	display: none;
}

body#voice div#maincontent div.voice h2 img {
	margin: 0 1.5em 0 0;
	background: #cccccc;
	border-radius: 50%;
}

body#voice div#maincontent div.voice h3 {
	position: relative;
	margin: 1.5rem 0 4rem 0;
	padding: 0;
	color: #154268;
	border-bottom: 0 none;
}

body#voice div#maincontent div.voice h3::after {
	content: "";
	position: absolute;
	bottom: -2rem;
	left: 0;
	height: 0;
	border-top: 1px solid #154268;
}

body#voice div#maincontent div.voice p,
body#voice div#maincontent div.voice ul,
body#voice div#maincontent div.voice ol,
body#voice div#maincontent div.voice dl,
body#voice div#maincontent div.voice table,
body#voice div#maincontent div.voice figure {
	margin-bottom: 0;
}



@media screen and (min-width: 767px) {
	body#voice div#maincontent div.voice h2 {
		font-size: 0.8rem;
	}
	body#voice div#maincontent div.voice h2 img {
		width: 6rem;
	}
	body#voice div#maincontent div.voice h3 {
		font-size: 1.1rem;
	}
	body#voice div#maincontent div.voice h3::after {
		width: 5rem;
	}
}

@media screen and (max-width: 766px) {
	body#voice div#maincontent div.voice h2 {
		font-size: 1.2rem;
	}
	body#voice div#maincontent div.voice h2 img {
		width: 8rem;
	}
	body#voice div#maincontent div.voice h3 {
		font-size: 1.4rem;
	}
	body#voice div#maincontent div.voice h3::after {
		width: 7.5rem;
	}
}





/* ▼business */
/* ----------------------------------------------------- */
body#business div#maincontent {
	counter-reset: business_feature 0;
}

body#business div#maincontent h4 {
	margin: 2.5rem 0 0 0;
	counter-increment: business_feature 1;
	padding: 0 0 0 2em;
	color: #154268;
}

body#business div#maincontent h4::before {
	content: counter(business_feature);
	display: inline-block;
	width: 1.5em;
	margin: 0 0.5em 0 -2em;
	line-height: 1.5;
	text-align: center;
	color: #ffffff;
	background: #154268;
}




@media screen and (min-width: 767px) {
	body#business div#maincontent h4 {
		font-size: 1.5rem;
	}
}

@media screen and (max-width: 766px) {
	body#business div#maincontent h4 {
		font-size: 1.8rem;
	}
}





/* ▼history */
/* ----------------------------------------------------- */
body#history div#maincontent table th {
	font-weight: 400;
}





/* ▼access */
/* ----------------------------------------------------- */
body#access div#maincontent div#accessmap dl {
	counter-reset: count_parking 0;
}

body#access div#maincontent div#accessmap dl dt {
	font-weight: 700;
}

body#access div#maincontent div#accessmap dl dd {
	counter-increment: count_parking 1;
	padding: 0 0 0 1.5em;
}

body#access div#maincontent div#accessmap dl dd::before {
	content: counter(count_parking)".";
	display: inline-block;
	width: 1em;
	margin: 0 0.5em 0 -1.5em;
	text-align: center;
}

body#access div#maincontent .btn a {
	background: #154268;
}

body#access div#maincontent .btn a::after {
	content: "\f02f";
}

body#access div#maincontent div#route_metro {
	counter-reset: count_metro 0;
}

body#access div#maincontent div#route_jr {
	counter-reset: count_jr 0;
}

body#access div#maincontent div#route_metro figure {
	position: relative;
	counter-increment: count_metro 1;
}

body#access div#maincontent div#route_jr figure {
	position: relative;
	counter-increment: count_jr 1;
}

body#access div#maincontent div#route_metro figure,
body#access div#maincontent div#route_jr figure {
	text-align: center;
}

body#access div#maincontent div#route_metro figure::before {
	content: counter(count_metro);
}

body#access div#maincontent div#route_jr figure::before {
	content: counter(count_jr);
}

body#access div#maincontent div#route_metro figure::before,
body#access div#maincontent div#route_jr figure::before {
	position: absolute;
	top: -1rem;
	left: 0;
	width: 3rem;
	height: 3rem;
	font-size: 2rem;
	font-weight: 900;
	line-height: 2.75rem;
	color: #ffffff;
	text-align: center;
	background: #154268;
	border-radius: 50%;
}




@media screen and (min-width: 767px) {
	body#access div#maincontent div#accessmap figure {
		width: 40%;
	}
	body#access div#maincontent div#accessmap dl {
		width: 53.5%;
	}
	body#access div#maincontent div#accessmap dl dt {
		font-size: 1rem;
	}
	body#access div#maincontent .btn {
		text-align: left;
	}
	body#access div#maincontent div#route_metro figure,
	body#access div#maincontent div#route_jr figure {
		width: 48%;
	}
	body#access div#maincontent div#route_metro figure figcaption,
	body#access div#maincontent div#route_jr figure figcaption {
		font-size: 0.8rem;
	}
}

@media screen and (max-width: 766px) {
	body#access div#maincontent div#accessmap dl dt {
		font-size: 1.4rem;
	}
	body#access div#maincontent .btn {
		text-align: center;
	}
	body#access div#maincontent div#route_metro figure img,
	body#access div#maincontent div#route_jr figure img {
		width: 88.060%;
	}
}





/* ▼recruit & privacy & policy */
/* ----------------------------------------------------- */
body#recruit div#maincontent div#selection {
	display: none;
}

body#recruit div#maincontent div#apply,
body#privacy div#maincontent div#apply,
body#policy div#maincontent div#apply {
	margin: 3rem 0 0 0;
	text-align: center;
	border: 0.1rem solid #154268;
}

body#recruit div#maincontent div#apply h2,
body#privacy div#maincontent div#apply h2,
body#policy div#maincontent div#apply h2 {
	margin: 0;
	padding: 0;
	background: transparent;
}

body#recruit div#maincontent div#apply h2::before,
body#privacy div#maincontent div#apply h2::before,
body#policy div#maincontent div#apply h2::before {
	display: none;
}

body#recruit div#maincontent div#apply p.btn,
body#privacy div#maincontent div#apply p.btn,
body#policy div#maincontent div#apply p.btn {
	margin-top: 3rem;
	text-align: center;
}

body#recruit div#maincontent div#apply p.btn a,
body#privacy div#maincontent div#apply p.btn a,
body#policy div#maincontent div#apply p.btn a {
	padding: 0.75em 2em;
	font-weight: 700;
	background: #154268;
}



@media screen and (min-width: 767px) {
	body#recruit div#maincontent div#apply,
	body#privacy div#maincontent div#apply,
	body#policy div#maincontent div#apply {
		padding: 2rem;
		padding-bottom: 3rem;
	}
	body#recruit div#maincontent div#apply p.btn a,
	body#privacy div#maincontent div#apply p.btn a,
	body#policy div#maincontent div#apply p.btn a {
		font-size: 1.3rem;
	}
}

@media screen and (max-width: 766px) {
	body#recruit div#maincontent div#apply,
	body#privacy div#maincontent div#apply,
	body#policy div#maincontent div#apply {
		padding: 3rem;
	}
	body#recruit div#maincontent div#apply p.btn a,
	body#privacy div#maincontent div#apply p.btn a,
	body#policy div#maincontent div#apply p.btn a {
		font-size: 1.6rem;
	}
}





/* ▼contact */
/* ----------------------------------------------------- */
div#maincontent div.form_input form table th,
div#maincontent div.form_input form table td {
	padding: 0.7em 1em;
	border: 1px solid #cccccc;
}

div#maincontent div.form_input form table th {
	font-weight: 400;
	vertical-align: middle;
	background: #f4f4f4;
}

div#maincontent div.form_input form table th span {
	margin: 0 0 0 0.5em;
	padding: 0.1em 0.5em;
	font-size: 0.8em;
	color: #ffffff;
	background: #808080;
}

div#maincontent div.form_input form table th span.required {
	background: #b60000;
}

div#maincontent div.form_input form table th span + span {
	display: none;
}

div#maincontent div.form_input form table td p {
	margin: 0;
	text-align: left;
}

div#maincontent div.form_input form .mwform-tel-field input[type="text"] {
	display: inline-block;
	width: auto;
}

div#maincontent div.form_input form input#form_postcode,
div#maincontent div.form_input form input#bring_postcode {
	width: 50%;
	margin-bottom: 0.5em;
}

div#maincontent div.form_input form p button {
	color: #333333;
	font-weight: 400;
	background: #cccccc;
	border-radius: 2.5em;
}

div#maincontent div.form_input form p button.form_submit {
	color: #ffffff;
	background: #154268;
}

div#maincontent div.form_input form p button.form_submit::after {
	content: "\f105";
	font-family: "FontAwesome";
	margin: 0 0 0 1em;
}

div#maincontent div.form_input form p button.form_return::before {
	content: "\f104";
	font-family: "FontAwesome";
	margin: 0 1em 0 0;
}

div#form form > p button#return + button#optin_submit,
div#form div#thanks > p.btn button#return + button#optin_submit {
	margin-top: 1.5em;
}



.formError.inline {
	margin-top: 0.3em !important;
}



@media screen and (min-width: 767px) {
	body#contact div#maincontent p.alignCenter + p.red {
		text-align: center;
	}
	div#maincontent div.form_input form table td input,
	div#maincontent div.form_input form table td textarea {
		font-size: 1.1rem;
	}
	div#maincontent div.form_input form p button {
		padding: 0.5em 1em;
		font-size: 1.1rem;
	}
}

@media screen and (max-width: 766px) {
	div#maincontent div.form_input form table th,
	div#maincontent div.form_input form table td {
		display: block;
	}
	div#maincontent div.form_input form table th {
		border-bottom: 0 none;
	}
	div#maincontent div.form_input form table td {
		border-bottom: 0 none;
	}
	div#maincontent div.form_input form table tr:last-child td {
		border-bottom: 1px solid #cccccc;
	}
	div#maincontent div.form_input form table td input,
	div#maincontent div.form_input form table td textarea {
		font-size: 1.3rem;
	}
	div#maincontent div.form_input form p button {
		padding: 1em 1.5em;
	}
}





/* ▼pagenavi */
/* ----------------------------------------------------- */
div.wp-pagenavi {
	clear: both;
	margin: 2em 0;
	text-align: center;
}

/*
div.wp-pagenavi .pages,
div.wp-pagenavi .extend,
div.wp-pagenavi .first,
div.wp-pagenavi .last,
div.wp-pagenavi .previouspostslink,
div.wp-pagenavi .nextpostslink {
	display: none;
}
*/

div.wp-pagenavi .pages,
div.wp-pagenavi .extend {
	display: none;
}

div.wp-pagenavi a.page,
div.wp-pagenavi span.current {
	display: inline-block;
	margin: 0 0.1em;
	padding: 0;
	line-height: 1.5;
	text-align: center;
	border-radius: 3px;
}

div.wp-pagenavi .first,
div.wp-pagenavi .last,
div.wp-pagenavi .previouspostslink,
div.wp-pagenavi .nextpostslink {
	display: inline-block;
	margin: 0 0.1em;
	padding: 0;
	line-height: 1.5;
	text-align: center;
	border-radius: 3px;
}


div.wp-pagenavi span.current {
	color: #ffffff;
	border: 1px solid #154268;
	background: #154268;
}

div.wp-pagenavi a.page,
div.wp-pagenavi a.first,
div.wp-pagenavi a.last,
div.wp-pagenavi a.previouspostslink,
div.wp-pagenavi a.nextpostslink {
	color: #154268;
	text-decoration: none;
	border: 1px solid #154268;
	background: #ffffff;
}

div.wp-pagenavi a.previouspostslink,
div.wp-pagenavi a.nextpostslink {
	border: 1px solid #154268;
}

div.wp-pagenavi a.page:hover,
div.wp-pagenavi a.page:active,
div.wp-pagenavi a.first:hover,
div.wp-pagenavi a.first:active,
div.wp-pagenavi a.last:hover,
div.wp-pagenavi a.last:active,
div.wp-pagenavi a.previouspostslink:hover,
div.wp-pagenavi a.previouspostslink:active,
div.wp-pagenavi a.nextpostslink:hover,
div.wp-pagenavi a.nextpostslink:active {
	border: 1px solid #154268;
}



@media screen and (min-width: 768px) {
	div.wp-pagenavi a.page,
	div.wp-pagenavi span.current,
	div.wp-pagenavi a.first,
	div.wp-pagenavi a.last,
	div.wp-pagenavi a.previouspostslink,
	div.wp-pagenavi a.nextpostslink {
		width: 1.75rem;
		font-size: 1.2rem;
	}
}

@media screen and (max-width: 767px) {
	div.wp-pagenavi a.page,
	div.wp-pagenavi span.current,
	div.wp-pagenavi a.first,
	div.wp-pagenavi a.last,
	div.wp-pagenavi a.previouspostslink,
	div.wp-pagenavi a.nextpostslink {
		width: 2.5rem;
		font-size: 1.6rem;
	}
}





