@charset "UTF-8";
@charset "UTF-8";

/*-----------------------
mv tp-front__section
-----------------------*/
.tp-front__section {
	background-image: url(../images/cashless-machine/mv-cashless-machine.png);
}

/*-----------------------
tp-oil-introduction__section
-----------------------*/
@media screen and (max-width: 767px) {
	.tp-oil-introduction__section .tp-ttl {
		width: 100%;
	}
}

.tp-oil-introduction__section .content {
	margin-top: 64px;
	margin-top: 4rem;
	border: 3px var(--MAIN_ORANGE) solid;
	border-radius: 20px;
	padding: 30px;
	position: relative;
}

@media screen and (max-width: 767px) {
	.tp-oil-introduction__section .content {
		margin-top: 3rem;
		border: 0;
		padding: 0px;
	}
}

.tp-oil-introduction__section .content .tp-ttl {
	position: absolute;
	left: 50%;
	-webkit-transform: translate(-50%);
	transform: translate(-50%);
	top: -25px;
	width: 28rem;
	z-index: 500;
	background-color: #fff;
}

@media screen and (max-width: 767px) {
	.tp-oil-introduction__section .content .tp-ttl {
		position: relative;
		background-color: transparent;
		top: 0;
		left: 0;
		-webkit-transform: translate(0);
		transform: translate(0);
		width: 100%;
	}
}

.tp-oil-introduction__section .merit-compare01 {
	background-color: var(--BG_GRAY);
	border-radius: 20px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 3rem 2rem 3rem 2rem;
	position: relative;
}

@media screen and (max-width: 767px) {
	.tp-oil-introduction__section .merit-compare01 {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		padding: 2rem 2rem 3rem 2rem;
	}
}

.tp-oil-introduction__section .merit-compare01::before {
	background-color: var(--MAIN_ORANGE);
	bottom: 20px;
	content: "";
	display: block;
	height: 2.3rem;
	left: 50%;
	position: absolute;
	-webkit-transform: translate(-50%, 100%);
	transform: translate(-50%, 100%);
	width: 4.5rem;
}

.tp-oil-introduction__section .merit-compare01::after {
	border-color: var(--MAIN_ORANGE) transparent transparent transparent;
	border-style: solid;
	border-width: 30px 60px 0 60px;
	bottom: -1rem;
	content: "";
	display: block;
	height: 0;
	left: 50%;
	position: absolute;
	-webkit-transform: translate(-50%, 100%);
	transform: translate(-50%, 100%);
	width: 0;
}

.tp-oil-introduction__section .merit-compare01 .imgBox {
	width: 45%;
}

@media screen and (max-width: 767px) {
	.tp-oil-introduction__section .merit-compare01 .imgBox {
		width: 100%;
		order: 2;
		margin-top: 1.5rem;
	}
}

.tp-oil-introduction__section .merit-compare02 .imgBox {
	width: 45%;
}

@media screen and (max-width: 767px) {
	.tp-oil-introduction__section .merit-compare02 .imgBox {
		width: 100%;
		order: 2;
		margin-top: 1.5rem;
	}
}

.tp-oil-introduction__section .merit-compare .imgBox img {
	-o-object-fit: contain;
	-o-object-position: center;
	height: 100%;
	object-fit: contain;
	object-position: center;
	width: 100%;
}

.tp-oil-introduction__section .merit-compare .imgBox img.__width85 {
	width: 85%;
}

@media screen and (max-width: 767px) {
	.tp-oil-introduction__section .merit-compare .imgBox img.__width85 {
		width: 100%;
	}
}

.tp-oil-introduction__section .merit-compare01 .txtBox {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	margin-left: 2rem;
}

.tp-oil-introduction__section .merit-compare02 .txtBox {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	margin-left: 2rem;
}

@media screen and (max-width: 767px) {
	.tp-oil-introduction__section .merit-compare01 .txtBox {
		margin-left: 0;
	}

	.tp-oil-introduction__section .merit-compare02 .txtBox {
		margin-left: 0;
	}
}

.tp-oil-introduction__section .merit-compare .txtTtl {
	background-color: var(--MAIN_ORANGE);
	border-radius: 10px;
	color: #fff;
	display: inline-block;
	font-size: 1rem;
	font-weight: bold;
	margin-bottom: 1rem;
	padding: 0.5rem 1.5rem;
}

@media screen and (max-width: 767px) {
	.tp-oil-introduction__section .merit-compare .txtTtl {
		font-size: 1rem;
		padding: 0.6rem 2rem;
		text-align: center;
	}
}

.tp-oil-introduction__section .merit-compare01 .txtTtl {
	background-color: var(--TTL_BG_GRAY);
	color: #fff;
}

.tp-oil-introduction__section .merit-compare .txtDescrip {
	font-size: 1rem;
	font-weight: bold;
	margin-bottom: 0.8rem;
	text-indent: -1em;
}

@media screen and (max-width: 767px) {
	.tp-oil-introduction__section .merit-compare .txtDescrip {
		font-size: 1rem;
		line-height: 1.7;
		padding-left: 1em;
		text-indent: -1em;
	}
}

.tp-oil-introduction__section .merit-compare02 {
	background-color: var(--BG_ORANGE);
	border-radius: 10px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-top: 2rem;
	padding: 3rem 2rem 3rem 2rem;
}

@media screen and (max-width: 767px) {
	.tp-oil-introduction__section .merit-compare02 {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		padding: 2rem;
	}
}

.tp-oil-introduction__section .tp-bglg {
	background: var(--MAIN_YELLOW);
}

/*-----------------------
SDGsの実現
-----------------------*/

.tp-merit01__section .SDGs_flowBox {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	position: relative;
	width: 100%;
}

@media screen and (max-width: 767px) {

	.tp-merit01__section .SDGs_flowBox {
		flex-wrap: wrap;
	}
}

.tp-merit01__section .SDGs_card {
	position: relative;
	width: calc(20%);
	z-index: 2;
}

@media screen and (max-width: 767px) {
	.tp-merit01__section .SDGs_card {
		width: calc(50% - 0.5rem);
		margin-bottom: 1rem;
	}
}

.tp-merit01__section .SDGs_ttl {
	position: relative;
	background-color: var(--MAIN_ORANGE);
	color: #fff;
	font-size: 1rem;
	text-align: center;
	margin-bottom: 1rem;
}

@media screen and (max-width: 767px) {
	.tp-merit01__section .SDGs_ttl {
		font-size: 1rem;
		padding: 0.5rem 0;
	}
}

.tp-merit01__section .SDGs_ttl::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: -5px;
	left: 0;
	width: 0px;
	height: 0px;
	margin: auto;
	border-style: solid;
	border-color: var(--MAIN_ORANGE) transparent transparent transparent;
	border-width: 5px 5px 0 5px;
}

@media screen and (max-width: 767px) {

	.tp-merit01__section .SDGs_flowBox::before {
		display: none;
	}

	.tp-merit01__section .SDGs_flowBox::after {
		display: none;
	}
}

.tp-merit01__section .SDGs_card:not(:first-of-type) {
	margin-left: 10px;
}

@media screen and (max-width: 767px) {
	.tp-merit01__section .SDGs_card:not(:first-of-type) {
		margin-left: 0px;
	}

	.tp-merit01__section .SDGs_card:nth-child(2n) {
		margin-left: 1rem;
	}
}

.tp-merit01__section .SDGs_imgBox {
	width: 100%;
}

.tp-merit01__section .SDGs_imgBox img {
	-o-object-fit: cover;
	-o-object-position: center;
	object-fit: cover;
	object-position: center;
	width: 100%;
}




/*-----------------------
 tp-storage__section
-----------------------*/

.tp-storage__section .trnsctin-flow {
	margin-top: 64px;
	margin-top: 4rem;
}

.tp-storage__section .strageBox01 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	position: relative;
}

@media screen and (max-width: 767px) {
	.tp-storage__section .strageBox01 {
		flex-wrap: wrap;
	}
}

.tp-storage__section .strageBox01::before {
	background-color: var(--MAIN_ORANGE);
	bottom: -2rem;
	content: "";
	display: block;
	height: 3.2rem;
	left: 50%;
	position: absolute;
	-webkit-transform: translate(-50%, 100%);
	transform: translate(-50%, 100%);
	width: 10rem;
}

.tp-storage__section .strageBox01::after {
	border-color: var(--MAIN_ORANGE) transparent transparent transparent;
	border-style: solid;
	border-width: 3rem 7rem 0 7rem;
	bottom: -5rem;
	content: "";
	display: block;
	height: 0;
	left: 50%;
	position: absolute;
	-webkit-transform: translate(-50%, 100%);
	transform: translate(-50%, 100%);
	width: 0;
}

.tp-storage__section .strageCard {
	width: 480px;
	width: 30rem;
}

@media screen and (max-width: 767px) {
	.tp-storage__section .strageCard {
		width: calc(50% - 0.5rem);
		margin-bottom: 1rem;
	}
}

.tp-storage__section .strageCard:not(:first-of-type) {
	margin-left: 0.7rem;
}

.tp-storage__section .strageCard .strage_ttl {
	background-color: var(--MAIN_ORANGE);
	color: #fff;
	font-size: 1rem;
	text-align: center;
	margin-bottom: 10px;
}

@media screen and (max-width: 767px) {
	.tp-storage__section .strageCard .strage_ttl {
		font-size: 0.8rem;
		padding: 0.2rem 0;
	}
}

.tp-storage__section .strageCard .imgBox {
	width: 100%;
}

.tp-storage__section .strageCard .imgBox img {
	-o-object-fit: cover;
	-o-object-position: center;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

.tp-storage__section .strageCard .strageTxt {
	color: #666;
	font-size: 1rem;
	margin-top: 1rem;
}

.tp-storage__section .strageArrowTxt {
	color: #fff;
	display: block;
	font-size: 1rem;
	font-weight: bold;
	line-height: 1.2;
	margin-top: 88px;
	margin-top: 3.3rem;
	position: relative;
	text-align: center;
	z-index: 3;
}

.tp-storage__section .truckImg01 {
	margin-left: auto;
	margin-right: auto;
	margin-top: 5rem;
	width: 25rem;
}

@media screen and (max-width: 767px) {
	.tp-storage__section .truckImg01 {
		width: 90%;
	}
}

.tp-storage__section .truckImg01 img {
	-o-object-fit: cover;
	-o-object-position: center;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

.tp-storage__section .strageBox02 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-top: 4rem;
	position: relative;
	width: 66%;
	margin-left: auto;
	margin-right: auto;
}

@media screen and (max-width: 767px) {
	.tp-storage__section .strageBox02 {
		width: 100%;
	}
}

.tp-storage__section .strageBox02::before {
	background-color: var(--MAIN_ORANGE);
	bottom: -48px;
	bottom: -2rem;
	content: "";
	display: block;
	height: 3.2rem;
	left: 50%;
	position: absolute;
	-webkit-transform: translate(-50%, 100%);
	transform: translate(-50%, 100%);
	width: 10rem;
}

.tp-storage__section .strageBox02::after {
	border-color: var(--MAIN_ORANGE) transparent transparent transparent;
	border-style: solid;
	border-width: 3rem 7rem 0 7rem;
	bottom: -5rem;
	content: "";
	display: block;
	height: 0;
	left: 50%;
	position: absolute;
	-webkit-transform: translate(-50%, 100%);
	transform: translate(-50%, 100%);
	width: 0;
}


.tp-design__section .tp-local__wrap {
	gap: 1em;
	margin-bottom: 50px;
}


.tp-check__list {
	display: flex;
	flex-direction: column;
}


/*-----------------------
 紹介
-----------------------*/

.tp-design__contents {}

.tp-design__item {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 30px;
	margin-bottom: 40px;
}

.tp-design__item:nth-child(2) {
	align-items: center;
	margin-top: -80px;
	margin-bottom: 60px;
}

.tp-design__item-main {
	width: 85%;
}

.tp-design__item-ttl {
	font-size: 18px;
	font-weight: bold;
}

.tp-design__item-ttl .tp-design__item-ttl-lg {
	font-size: 40px;
	margin-right: 10px;
}

.tp-design__item:nth-child(1) .tp-design__item-main {
	padding-top: 50px;
}

.tp-design__item:nth-child(2) .tp-design__item-main {
	order: 1;
}

.tp-design__item:nth-child(2) .tp-design__item-img {
	order: 0;
}

@media screen and (max-width: 767px) {
	.tp-design__item {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		gap: 30px;
		margin-bottom: 20px;
	}

	.tp-design__item-main {
		width: 100%;
	}

	.tp-design__item:nth-child(2) {
		margin-top: 0px;
		margin-bottom: 40px;
	}

	.tp-design__item:nth-child(1) .tp-design__item-main {
		padding-top: 0px;
	}

	.tp-design__item-ttl {
		font-size: 18px;
		font-weight: bold;
	}

	.tp-design__item-ttl .tp-design__item-ttl-lg {
		font-size: 40px;
		margin-right: 10px;
	}

	.tp-design__item-img {
		padding: 0 20px;
	}

	.tp-design__item:nth-child(2) .tp-design__item-main {
		order: 0;
	}

	.tp-design__item:nth-child(2) .tp-design__item-img {
		order: 1;
	}
}

/*-----------------------
 contactarea
-----------------------*/
.contactarea {
	margin-bottom: 80px;
}


/*-----------------------
商品概要
-----------------------*/

.tp-product-wrapper {}

.tp-product-item {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 50px;
	padding: 0 20px 0 70px;
	margin-bottom: 60px;
}

.tp-product-item-main {
	width: 80%;
	position: relative;
}

.tp-product-item-main::before {
	content: '';
	position: absolute;
	top: -15px;
	left: -70px;
	background: url('../images/cashless-machine/icon-circle.png') center center /contain no-repeat;
	width: 60px;
	height: 60px;
}

.tp-product-item-ttl {
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 15px;
}

.tp-product-item-img {
	width: 160px;
}

@media screen and (max-width: 767px) {
	.tp-product-item {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		gap: 30px;
		padding: 0;
		margin-bottom: 60px;
	}

	.tp-product-item-main {
		width: 100%;
		position: relative;

	}

	.tp-product-item-main::before {
		content: '';
		position: absolute;
		top: -5px;
		left: 10px;
		width: 35px;
		height: 35px;
	}

	.tp-product-item-ttl {
		font-size: 18px;
		font-weight: bold;
		margin-bottom: 15px;
		padding-left: 50px;
	}

	.tp-product-item-img {
		width: 260px;
	}
}

/*-----------------------
3つの特徴 tp-point__section
-----------------------*/
.tp-ttl {
	position: relative;
}



.tp-ttl__balloon__span__sm {
	position: absolute;
	top: -36px;
	left: 50%;
	transform: translateX(-50%);
	background: transparent;
	color: var(--MAIN_ORANGE);
	font-size: 16px;

	&::after {
		content: '';
		display: none;
	}
}

.tp-design__section {
	position: relative;
}



.tp-design__thumb {
	position: absolute;
	top: 0;
	right: 0
}

@media screen and (min-width: 768px) {

	.generalsec,
	.tp-sec {
		margin-bottom: 120px;
		position: relative;
	}


}

@media screen and (max-width: 767px) {
	.tp-design__section {
		margin-bottom: 80px;
	}

	.tp-ttl__balloon__span__sm {
		width: 300px;
	}

	.tp-ttl__balloon__span__sm {
		top: -59px;
	}

	.tp-design__thumb {
		position: relative;
		top: 0;
		right: 0
	}
}

.tp-point__section .tp-point__list>li:nth-child(1)>.Ttl::before {
	background: url(../images/common/icon_point42.png) no-repeat center center / contain;
}

.tp-point__section .tp-point__list>li:nth-child(2)>.Ttl::before {
	background: url(../images/common/icon_point70.png) no-repeat center center / contain;
}

.tp-point__section .tp-point__list>li:nth-child(3)>.Ttl::before {
	background: url(../images/common/icon_point71.png) no-repeat center center / contain;
}



.u-mobile {
	display: none;
}

.u-desktop {
	display: block;
}


@media screen and (max-width:767px) {

	.u-desktop {
		display: none;
	}

	.u-mobile {
		display: block;
	}
}