/* ----------------------------------------------------------------
	Custom CSS

	Add all your Custom Styled CSS here for New Styles or
	Overwriting Default Theme Styles for Better Handling Updates
-----------------------------------------------------------------*/

/* --------------------------------------------------------------*/
/*
.device-xs
.device-sm
.device-md
.device-lg
.device-xl
*/
/* --------------------------------------------------------------*/
/* 振分ページ */
.device-xs .top-card,
.device-sm .top-card {
	border-bottom: 1px solid #dee2e6 !important;
}
.device-xs .usa,
.device-sm .usa {
	border-left:none !important;
}
.device-xs #slider,
.device-sm #slider {
	height: 100% !important;
}
.device-sm .slider-traditional {
	top: 1em !important;
}
body#redirection #slider {
	min-height: 1200px;
}
body#redirection #slider>div {
	min-height: 1200px;
}
@media (max-width: 575.98px) {
	#redirection #slider {
		min-height: 1800px;
	}
	#redirection #slider>div {
		min-height: 1800px;
	}
}
/* --------------------------------------------------------------*/
/* Top Page */
.dark #primary-menu ul li,
.dark #primary-menu ul li .mega-menu-content ul.mega-menu-column:not(:first-child) {
	border-top-color: rgba(255, 255, 255, 0.1);
}
.device-xs .slider-traditional {
	top: 1em !important;
}
.device-sm .swiper_wrapper:not(.force-full-screen),
.device-sm .swiper_wrapper:not(.force-full-screen):not(.canvas-slider-grid) .swiper-slide {
	height: 400px !important;
}
.device-xs .mega-menu-column,
.device-sm .mega-menu-column,
.device-md .mega-menu-column {
	padding-top: 20px !important;
	padding-bottom: 20px !important;
}
#slider .slider-caption h1 {
	font-size: clamp(1.4em, 5.5vw, 2em);
	line-height: 1.4;
}
.slider-parallax-inner, .swiper-slide {
	height: calc(100% + 52px) !important;
}
@media (max-width: 767.98px) {
	.slider-parallax-inner, .swiper-slide {
		height: 100% !important;
	}
	#slider .slider-caption h1 {
		font-size: 1.4em !important;
		line-height: 1.4 !important;
	}
}
/* --------------------------------------------------------------*/
/* Top Bar */
#header.transparent-header {
	z-index: 1 !important;
}
#top-bar {
	height: 44px;
	z-index: 1 !important;
}
#top-bar p {
	line-height: 44px;
}
.device-xs #top-bar {
	height: auto;
	padding: 10px;
}
.device-xs #top-bar p {
	line-height: 1.5em;
}
/* --------------------------------------------------------------*/
/* Footer */
@media (max-width: 767.98px) {
	#copyrights .col_half:last-child {
		display: block;
	}
	#copyrights .col_half.tright {
		text-align: center !important;
	}
}
/* --------------------------------------------------------------*/
/* Menu */
.region {
	font-family: sans-serif;
	border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
}
.region a {
	font-size: 16px;
}
p.region:after {
	content: '';
	display: block;
	margin: 20px auto;
	width: 30px;
	border-top: 2px solid #555;
	-webkit-transition: width .3s ease;
	-o-transition: width .3s ease;
	transition: width .3s ease;
}
.feature-box.fbox-center:not(.fbox-bg):hover p.region:after {
	width: 50px;
}
.device-lg #primary-menu li,
.device-xl #primary-menu li {
	margin-right: 1em;
}
.device-lg #primary-menu ul.menus ul li,
.device-xl #primary-menu ul.menus ul li {
	width: 218px;
}
#header .container {
	padding: 0 0 0 30px !important;
}
.mega-menu-content {
	background-color: #DDD !important;
}
/* --------------------------------------------------------------*/
/* Products Top */
@media (min-width: 576px) {
	.portfolio-item {
		height: 420px;
	}
}
h3 {
	font-family: sans-serif;
}
.portfolio-desc h4 {
	font-family: sans-serif;
}

/* Tags */
.widget_links .icon {
	background: url("../images/icons/widget-link.png") left top no-repeat;
	border: none !important;
	color: #444;
	font-size: 14px;
	display: inline-block;
	padding: 0 3px 0 12px;
	list-style: none;
}
/* --------------------------------------------------------------*/
/* 製品個別ページ */
.model_name {
	font-family: sans-serif;
}
.product_name {
	font-size: 20px;
	font-weight: normal;
	font-family: sans-serif;
	margin-bottom: 0;
}
/* Tags */
.tagcloud div {
	display: block;
	float: left;
	margin-top: 6px;
	margin-right: 4px;
	margin-bottom: 30px;
	padding: 3px 6px;
	border: 1px solid #1ABC9C;
	font-size: 13px !important;
	color: #1ABC9C;
	border-radius: 2px;
	font-weight: bold;
}

/* Lists */
.single-product .noiconlist {
	list-style-type: none;
}

/* Comments */
.product-meta li + li {
	margin-top: 1em;
}

/* 関連リンク */
#oc-product .product-title h3 {
	font-family: sans-serif;
}
#oc-product .product-title h4 {
	font-family: sans-serif;
	font-size: 18px;
}
#oc-product .product-title h4 a {
	color: #1ABC9C;
}
/* --------------------------------------------------------------*/
/* Traditional system Setup Example */
dl.traditional {
	color: #888;
}
.traditional dt {
	margin-top: 1em;
}
.traditional dt:nth-of-type(3),
.traditional dt:nth-of-type(4) {
	color: #FFF;
}
.traditional dd {
	margin: 0 0 0 1em;
}
.traditional dd span {
	margin-left: 0.5em;
	font-size: smaller;
}
.traditional a {
	color: #AAA;
}
.traditional a:hover {
	color: #1ABC9C;
}
/* --------------------------------------------------------------*/
/* Dealers */
.dealers .card {
	margin-bottom: 30px;
}
.dealers dt {
	float: left;
	padding: 0.5em 0;
}
.dealers dd {
	margin: 0 0 0 100px;
	padding: 0.5em 0;
}
/* --------------------------------------------------------------*/
/* Terms and Conditions */
h4.condition {
	margin: 30px 0 0 0;
}
ol.condition, ol.condition ol {
	counter-reset: cnt;
}
ol.condition > li {
	list-style-type:none;
	list-style-position:inside;
	counter-increment: cnt;
	text-indent: -1.35em;
}
ol.condition li:before{
	content: "(" counter(cnt) ") ";
}
ol.condition li ul li {
	list-style-type: disc;
	padding-left: 20px;
}
ol.condition li ol li {
	list-style-type: upper-roman;
}
ol.condition li li:before{
	display: none;
}
dl.condition dt {
	margin-left: 1em;
}
dl.condition dd {
	margin-left: 2em;
}
/* --------------------------------------------------------------*/
/* Quality Standards */
ul.flag-icon {
	width: 100%;
	display: block;
	list-style: none;
}
.flag-icon li {
	width: 48%;
	float: left;
	line-height: 30px;
	display: inline-block;
}
@media (min-width: 768px) {
	.flag-icon li {
		width: 24%;
	}
}
.flag-icon [class*="flag-icon-"] {
	position: relative;
	display: inline-block;
	width: 32px !important;
	height: 24px !important;
	background-size: 32px 24px;
	background-repeat: no-repeat;
}
/* --------------------------------------------------------------*/
/* Contact Form */
.contact {
	padding: 20px 0 1px 20px;
	font-size: 17px;
	border-left: 5px solid #EEE;
}
.contact h2 {
	font-size: 20px;
}
.contact h3 {
	font-size: 14px;
}
.contact dl {
	font-size: 14px;
}
.contact dd {
	margin: 0 0 20px 10px;
}
.contact + .card {
	margin-top: 20px;
}
/* --------------------------------------------------------------*/
/* Privacy Policy */
.privacy {
	counter-reset: section;
	list-style-type: none;
}
.privacy > li:before {
	content: counters(section, ".") ".";
	counter-increment: section;
}
.privacy > li p {
	margin: 1em 0 1em 14px;
}
.privacy > li > p {
	margin: 1em 0 1em 32px;
}
.privacy > ul > li {
	padding: 1em 0 0 40px;
	list-style-type: disc;
}
