@charset "utf-8";

@media only screen and (max-width:991px) {}
@media only screen and (max-width:767px) {}
@media only screen and (max-width:374px) {}

/*************************************************

 page common style

*************************************************/
.loading {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	text-align: center;
	z-index: 500;
}
.loading .pos {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	transform: translateY(-50%);
}
.loading figure {
	margin-bottom: 40px;
}
.loading .ring {
	--uib-size: 40px;
	--uib-speed: 2s;
	--uib-color: black;
	height: var(--uib-size);
	width: var(--uib-size);
	vertical-align: middle;
	transform-origin: center;
	animation: rotate var(--uib-speed) linear infinite;
}
.loading .ring circle {
	fill: none;
	stroke: var(--uib-color);
	stroke-dasharray: 1, 200;
	stroke-dashoffset: 0;
	stroke-linecap: round;
	animation: stretch calc(var(--uib-speed) * 0.75) ease-in-out infinite;
}
@keyframes rotate {
	100% {
		transform: rotate(360deg);
	}
}
@keyframes stretch {
	0% {
		stroke-dasharray: 1, 200;
		stroke-dashoffset: 0;
	}
	50% {
		stroke-dasharray: 90, 200;
		stroke-dashoffset: -35px;
	}
	100% {
		stroke-dashoffset: -124px;
	}
}




/* partsTitle01
--------------------------------------*/
.partsTitle01 {
	position: relative;
	margin-bottom: 35px;
	padding-bottom: 20px;
	text-align: center;
	line-height: 1.6;
}
.partsTitle01 > * {
	display: block;
}
.partsTitle01 .en {
	line-height: 0;
}
.partsTitle01 .ja {
	margin-top: 15px;
	font-size: 20px;
}
.partsTitle01:before {
	position: absolute;
	bottom: 0;
	left: 50%;
	display: block;
	content: '';
	width: 70px;
	height: 1px;
	background-color: #000;
	transform: translateX(-50%);
}
@media only screen and (max-width:767px) {
	.partsTitle01 {
		margin-bottom: 20px;
		padding-bottom: 12px;
	}
	.partsTitle01 .ja {
		margin-top: 6px;
		font-size: 18px;
	}
	.partsTitle01:before {
		width: 35px;
	}
}


/* partsBtn01
--------------------------------------*/
.partsBtn01 {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 230px;
	max-width: 100%;
	height: 50px;
	color: #000;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	background-color: #91B5DF;
	transition: background-color 0.3s;
	border-radius: 10px 0 0 0;
}
@media only screen and (min-width:768px) {
	.partsBtn01:hover {
		background-color: #fff;
	}
}




/*************************************************

 mainslide

*************************************************/
.mainslide {
	position: relative;
}
.mainslide .is_block {
	overflow: hidden;
	position: relative;
	display: block;
	text-decoration: none;
}
.mainslide .is_block:before {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	background: no-repeat center center / cover;
	transition: transform 0.5s;
	z-index: 1;
}
.mainslide .inner {
	position: relative;
	display: flex;
	align-items: center;
	height: 600px;
	z-index: 2;
}
.mainslide .inBtn {
	max-width: 353px;
	margin-top: 35px;
}
.mainslide .inBtn span {
	margin: 0;
}
.mainslide .is_block:hover:before {
	transform: scale(1.1);
}
.mainslide .box {
	width: calc(100% - 30px);
	max-width: 1180px;
	margin: 0 auto;
}

.mainslide .slide_item01 {
	text-align: center;
}
.mainslide .slide_item01 .is_block:before {background-image: url(../images/top/slide_01.jpg);}

.mainslide .unique-pagenation {
	position: absolute;
	bottom: 30px;
	left: 0;
	width: 100%;
	display: flex;
	justify-content: center;
	cursor: pointer;
	z-index: 10;
}
.mainslide .unique-pagenation .slidernavi-pagenation-item {
	display: block;
	width: 10px;
	height: 10px;
	margin: 0 10px;
	border-radius: 50%;
	background-color: #fff;
}
.mainslide .unique-pagenation .is-slidernavi-item-active {
	background-color: #91B5DF;
}

@media only screen and (max-width:767px) {
	.mainslide .inner {
		height: 400px;
	}
	.mainslide .inBtn {
		max-width: 175px;
		margin-top: 18px;
	}
	.mainslide .inBtn span {
		width: 175px;
		height: 35px;
		font-size: 11px;
		border-radius: 5px 0 0 0;
	}
	.mainslide .is_block:hover:before {
		transform: scale(1.1);
	}
	.mainslide .box {
		width: calc(100% - 30px);
		max-width: 1180px;
		margin: 0 auto;
	}
	.mainslide .slide_item01 img {
		width: 50%;
	}
	.mainslide .slide_item02 img{
		width: 64%;
	}
	.mainslide .slide_item03 img{
		width: 100%;
	}
	.mainslide .slide_item04 img{
		width: 100%;
	}
	.mainslide .slide_item05 img {
		width: 80%;
	}
	.mainslide .unique-pagenation {
		bottom: 20px;
	}
	.mainslide .unique-pagenation .slidernavi-pagenation-item {
		width: 5px;
		height: 5px;
		margin: 0 5px;
	}
	.mainslide .slide_item01 .is_block:before {background-image: url(../images/top/slide_01_sp.jpg);}
	
}




/*************************************************

 handlingArea

*************************************************/
.handlingArea {
	margin: 120px 0;
}
.handlingArea .area {
	display: flex;
	/* max-width: 1920px; */
	margin: 0 auto;
}
.handlingArea .area + .area {
	margin-top: 80px;
}
.handlingArea .area .image {
	overflow: hidden;
	width: 50%;
	height: 480px;
	background: no-repeat center center / cover;
}
.handlingArea .area .image a {
	display: block;
	width: 100%;
	height: 100%;
	transition: transform 0.5s;
	transform: scale(1);
	background: no-repeat center center / cover;
}
.handlingArea .area .image a:hover {
	transform: scale(1.1);
}
.handlingArea .area .texts {
	box-sizing: border-box;
	width: 50%;
	max-width: 690px;
	padding: 0 50px;
	font-size: 15px;
	line-height: 2;
}
.handlingArea .area .logo {
	margin-bottom: 20px;
	line-height: 0;
}
.handlingArea .area .title {
	margin-bottom: 15px;
	font-size: 30px;
	line-height: 1.5;
}
.handlingArea .area .inBtn {
	margin-top: 40px;
}
.handlingArea .area01,
.handlingArea .area03 {
	flex-direction: row-reverse;
}
.handlingArea .area01 .texts,
.handlingArea .area03 .texts {
	margin-left: auto;
}
.handlingArea .area01 .image,
.handlingArea .area03 .image {
	border-radius: 10px 0 0 10px;
}
.handlingArea .area01 .image a {
	background-image: url(../images/top/handling_img01.jpg);
}
.handlingArea .area02 .image {
	border-radius: 0 10px 10px 0;
}
.handlingArea .area02 .image a {
	background-image: url(../images/top/handling_img02.jpg);
}
.handlingArea .area03 .image a {
	background-image: url(../images/top/handling_img03.jpg);
}
@media only screen and (max-width:767px) {
	.handlingArea {
		margin: 50px 0;
	}
	.handlingArea .partsTitle01 img {
		width: 200px;
	}
	.handlingArea .area {
		display: block;
	}
	.handlingArea .area + .area {
		margin-top: 40px;
	}
	.handlingArea .area .image {
		width: calc(100% - 15px);
		height: 240px;
	}
	.handlingArea .area .texts {
		width: auto;
		max-width: none;
		margin-top: 30px;
		padding: 0 15px;
		font-size: 14px;
		line-height: 1.7;
	}
	.handlingArea .area .logo {
		margin-bottom: 10px;
	}
	.handlingArea .area .title {
		margin-bottom: 7px;
		font-size: 24px;
	}
	.handlingArea .area .inBtn {
		margin-top: 25px;
	}
	.handlingArea .area .inBtn a {
		margin: 0 auto;
	}
	.handlingArea .area01 .logo {
		width: 125px;
	}
	.handlingArea .area01 .image,
	.handlingArea .area03 .image {
		margin-left: auto;
	}
	.handlingArea .area02 .logo {
		width: 125px;
	}
	.handlingArea .area03 .logo {
		width: 125px;
	}
}


/*************************************************

 itemArea

*************************************************/
.itemArea {
	margin: 120px 0;
}
.itemArea .list {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	max-width: 1210px;
	margin: 0 auto;
}
.itemArea .list li {
	width: 270px;
	margin: 15px;
}
.itemArea .list li a {
	overflow: hidden;
	display: block;
	border-radius: 10px 0 0 0;
}
.itemArea .inBtn {
	margin-top: 30px;
}
.itemArea .inBtn a {
	width: 300px;
	height: 60px;
	margin: 0 auto;
}
@media only screen and (max-width:767px) {
	.itemArea {
		margin: 50px 0;
	}
	.itemArea .partsTitle01 img {
		width: 54px;
	}
	.itemArea .list {
		justify-content: space-between;
		margin: 0 15px;
	}
	.itemArea .list li {
		width: calc(50% - 10px);
		margin: 0 0 20px;
	}
	.itemArea .inBtn {
		margin-top: 20px;
	}
	.itemArea .inBtn a {
		width: 250px;
		height: 50px;
	}
}



/*************************************************

 webcatalogArea

*************************************************/
.webcatalogArea {
	margin: 120px 0;
}
.webcatalogArea .list {
	display: flex;
	justify-content: center;
	max-width: 1200px;
	margin: 0 auto;
}
.webcatalogArea .list li {
	margin: 0 10px;
}
.webcatalogArea .list li a {
	overflow: hidden;
	display: block;
	border-radius: 10px 0 0 0;
}
@media only screen and (max-width:767px) {
	.webcatalogArea {
		margin: 50px 0;
	}
	.webcatalogArea .partsTitle01 img {
		width: 153px;
	}
	.webcatalogArea .list {
		display: block;
		margin: 0 15px;
	}
	.webcatalogArea .list li {
		margin: 0;
	}
	.webcatalogArea .list li + li {
		margin-top: 13px;
	}
}




/*************************************************

 dealerArea

*************************************************/
.dealerArea {
	margin: 80px 0 120px;
}
.dealerArea .list {
	display: flex;
	flex-wrap: wrap;
	max-width: 1210px;
	margin: 0 auto;
}
.dealerArea .list li {
	width: calc(100% / 3 - 30px);
	margin: 0 15px 75px;
}
.dealerArea .list .title {
	height: 80px;
	font-size: 17px;
	line-height: 1.4;
}
.dealerArea .list .title strong {
	display: block;
	font-size: 26px;
	font-weight: 500;
}
.dealerArea .list .place {
	position: relative;
	min-height: 5.1em;
	padding-left: 26px;
	font-size: 15px;
}
.dealerArea .list .place:before {
	position: absolute;
	top: 3px;
	left: 0;
	display: block;
	content: '';
	width: 15px;
	height: 22px;
	background: url(../images/common/icon_pin.png) no-repeat center center / contain;
}
.dealerArea .list .tel {
	position: relative;
	margin-top: 10px;
	padding-left: 26px;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.2;
}
.dealerArea .list .tel:before {
	position: absolute;
	top: 4px;
	left: 0;
	display: block;
	content: '';
	width: 20px;
	height: 20px;
	background: url(../images/common/icon_tel.png) no-repeat center center / contain;
}
.dealerArea .list .btn {
	margin-top: 25px;
}
.dealerArea .list .partsBtn01 {
	margin: 0 auto;
	color: #fff;
	background-color: #000;
	transition: background-color 0.3s,color 0.3s;
}
.dealerArea .list .partsBtn01 span {
	position: relative;
	display: block;
	padding-left: 27px;
}
.dealerArea .list .partsBtn01 span:before {
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	content: '';
	width: 19px;
	height: 19px;
	margin-top: -8px;
	background: url(../images/common/icon_blank.png) no-repeat center center / contain;
}
@media only screen and (min-width:768px) {
	.dealerArea .list .partsBtn01:hover {
		color: #000;
		background-color: #91B5DF;
	}
	.dealerArea .list .partsBtn01:hover span:before {
		background-image: url(../images/common/icon_blank_bl.png);
	}
}
@media only screen and (max-width:767px) {
	.dealerArea {
		margin: 50px 0;
	}
	.dealerArea .partsTitle01 img {
		width: 100px;
	}
	.dealerArea .list {
		display: block;
		margin: 0 15px;
	}
	.dealerArea .list li {
		width: auto;
		margin: 0;
	}
	.dealerArea .list li + li {
		margin-top: 40px;
	}
	.dealerArea .list .title {
		height: auto;
		margin-bottom: 10px;
		font-size: 17px;
	}
	.dealerArea .list .title strong {
		display: inline-block;
		font-size: 17px;
	}
	.dealerArea .list .place {
		min-height: 0;
		padding-left: 20px;
		font-size: 14px;
	}
	.dealerArea .list .place br {
		display: none;
	}
	.dealerArea .list .place span {
		display: inline-block;
	}
	.dealerArea .list .place:before {
		top: 4px;
		width: 11px;
		height: 16px;
	}
	.dealerArea .list .tel {
		margin-top: 10px;
		padding-left: 20px;
		font-size: 15px;
	}
	.dealerArea .list .tel:before {
		top: 4px;
		width: 14px;
		height: 14px;
	}
	.dealerArea .list .btn {
		margin-top: 20px;
	}
}

/*************************************************

 flowArea

*************************************************/
.flowArea {
	padding: 80px 0;
	background-color: #f1f1f0;
}
.flowArea .img {
	text-align: center;
	line-height: 0;
}
.flowArea .list01 {
	display: table;
	margin: 40px auto 50px;
}
.flowArea .list01 li {
	position: relative;
	padding-left: 1em;
	font-size: 17px;
}
.flowArea .list01 li:before {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	content: '・';
}
.flowArea .list01 li + li {
	margin-top: 15px;
}
.flowArea .lead {
	margin: 0 15px 70px;
	text-align: center;
	line-height: 2.25;
}
.flowArea .tables {
	display: table;
	margin: 0 auto;
	table-layout: fixed;
	font-size: 15px;
}
.flowArea .tables dl {
	display: table-row;
}
.flowArea .tables dl > * {
	display: table-cell;
}
.flowArea .tables dl + dl > * {
	padding-top: 17px;
}
.flowArea .tables dt {
	width: 200px;
	font-weight: 700;
}
@media only screen and (max-width:767px) {
	.flowArea {
		padding: 45px 15px;
	}
	.flowArea .partsTitle01 img {
		width: 60px;
	}
	.flowArea .img img {
		max-width: 80%;
	}
	.flowArea .list01 {
		margin: 30px 0 25px;
	}
	.flowArea .list01 li {
		font-size: 14px;
	}
	.flowArea .list01 li + li {
		margin-top: 5px;
	}
	.flowArea .lead {
		margin: 0 0 35px;
		text-align: center;
		line-height: 1.8;
	}
	.flowArea .tables {
		display: block;
		font-size: 14px;
	}
	.flowArea .tables dl + dl {
		margin-top: 17px;
	}
	.flowArea .tables dl,
	.flowArea .tables dl > * {
		display: block;
	}
	.flowArea .tables dl + dl > * {
		padding-top: 0;
	}
	.flowArea .tables dt {
		width: auto;
	}
}


/*************************************************

 priceArea

*************************************************/
.priceArea {
	padding: 80px 0;
	background-color: #fff;
}
.priceArea .img {
	text-align: center;
	line-height: 0;
}
.priceArea .list01 {
	display: table;
	margin: 40px auto 50px;
}
.priceArea .list01 li {
	position: relative;
	padding-left: 1em;
	font-size: 17px;
}
.priceArea .list01 li:before {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	content: '・';
}
.priceArea .list01 li + li {
	margin-top: 15px;
}
.priceArea .lead {
	margin: 0 15px 70px;
	text-align: center;
	line-height: 2.25;
}
.priceArea .tables {
	display: table;
	margin: 0 auto;
	table-layout: fixed;
	font-size: 15px;
		border-top: 1px solid #000;
	padding-top: 15px;
	width: 100%;
	max-width: 533px;
}
.priceArea .tables dl {
	display: flex;
	border-bottom: 1px solid #000;
	padding-bottom: 15px;
	justify-content: space-between
}
.priceArea .tables dl > * {
	display: table-cell;
}
.priceArea .tables dl + dl > * {
	padding-top: 15px;
}
.priceArea .tables dt {
	width: 250px;
	font-weight: 700;
}
@media only screen and (max-width:767px) {
	.priceArea {
		padding: 45px 0px ;
	}
	.priceArea .partsTitle01 img {
		width: 60px;
	}
	.priceArea .img img {
		max-width: 80%;
	}
	.priceArea .list01 {
		margin: 30px 0 25px;
	}
	.priceArea .list01 li {
		font-size: 14px;
	}
	.priceArea .list01 li + li {
		margin-top: 5px;
	}
	.priceArea .lead {
		margin: 0 0 35px;
		text-align: center;
		line-height: 1.8;
	}
	.priceArea .tables {
		display: block;
		font-size: 14px;
				text-align: center;
		margin: 0 15px;
		width: calc(100% - 30px);
		max-width: none;

	}
	.priceArea .tables dl + dl {
		margin-top: 8px;
	}
	.priceArea .tables dl,
	.priceArea .tables dl > * {
		display: block;
	}
	.priceArea .tables dl + dl > * {
		padding-top: 0;
	}
	.priceArea .tables dt {
		width: auto;
	}
}



/*************************************************

 aboutArea

*************************************************/
.aboutArea {
	padding: 80px 0;
	background-color: #f1f1f0;
}
.aboutArea .img {
	text-align: center;
	line-height: 0;
}
.aboutArea .list01 {
	display: table;
	margin: 40px auto 50px;
}
.aboutArea .list01 li {
	position: relative;
	padding-left: 1em;
	font-size: 17px;
}
.aboutArea .list01 li:before {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	content: '・';
}
.aboutArea .list01 li + li {
	margin-top: 15px;
}
.aboutArea .lead {
	margin: 0 15px 70px;
	text-align: center;
	line-height: 2.25;
}
.aboutArea .tables {
	display: table;
	margin: 0 auto;
	table-layout: fixed;
	font-size: 15px;
	border-top: 1px solid #000;
	padding-top: 15px;
}
.aboutArea .tables dl {
	display: flex;
	border-bottom: 1px solid #000;
	padding-bottom: 15px;
}
.aboutArea .tables dl > * {
	display: table-cell;
}
.aboutArea .tables dl + dl > * {
	padding-top: 15px;
}
.aboutArea .tables dt {
	width: 125px;
	font-weight: 700;
}
@media only screen and (max-width:767px) {
	.aboutArea {
		padding: 45px 15px;
	}
	.aboutArea .partsTitle01 img {
		width: 170px;
	}
	.aboutArea .img img {
		max-width: 80%;
	}
	.aboutArea .list01 {
		margin: 30px 0 25px;
	}
	.aboutArea .list01 li {
		font-size: 14px;
	}
	.aboutArea .list01 li + li {
		margin-top: 5px;
	}
	.aboutArea .lead {
		margin: 0 0 35px;
		text-align: center;
		line-height: 1.8;
	}
	.aboutArea .tables {
		display: block;
		font-size: 14px;
		text-align: center
	}
	.aboutArea .tables dl + dl {
		margin-top: 17px;
	}
	.aboutArea .tables dl,
	.aboutArea .tables dl > * {
		display: block;
	}
	.aboutArea .tables dl + dl > * {
		padding-top: 0;
	}
	.aboutArea .tables dt {
		width: auto;
	}
}




/*************************************************

 bannerArea

*************************************************/
.bannerArea {
	margin: 60px 0 0 0;
}
.bannerArea ul {
	display: flex;
	justify-content: center;
}
.bannerArea li {
	width: 380px;
	margin: 10px;
}
.bannerArea li a {
	overflow: hidden;
	display: block;
	border-radius: 10px 0 0 0;
}
@media only screen and (max-width:767px) {
	.bannerArea {
		margin: 30px 0;
	}
	.bannerArea ul {
		display: block;
	}
	.bannerArea li {
		width: auto;
		margin: 10px 15px;
	}
	.bannerArea li a {
		border-radius: 5px 0 0 0;
	}
}
.slides{
	margin-bottom: 20px;
}
.slides .slide_in{
	margin: 0px 10px
}
@media only screen and (max-width:767px) {
	.slides{
	}
}

.footerImage01{
	width: 1920px;
	overflow-x: hidden !important
}

@media only screen and (max-width:767px) {
	.footerImage01{
		width: 767px
	}
}
.slides div{
	transition: none;
}