 /*
font-family: "Aoto Gothic Extra Light", sans-serif;
font-family: "Aoto Gothic Light", sans-serif;
font-family: "Aoto Gothic Regular", sans-serif;
font-family: "Aoto Gothic Medium", sans-serif;
font-family: "Aoto Gothic DemiBold", sans-serif;
font-family: "source-han-sans-japanese", sans-serif;
font-family: "source-han-sans-japanese", sans-serif;
*/

/*===================================
サービス・製品一覧
===================================*/
sup{
	font-size:10px;
}
.productssubtitle{
	margin:0 0 20px;
}
.box-inner{
	padding:0 0 40px 60px;
}
.products-detail-menu .box-inner{
	padding:0 0 40px 60px;
}
.products-list-inner{
	display: flex;
	justify-content: center;
	align-items: center;
	padding:15px;
	transition-duration: 1s; 
}
.products-list-inner:hover{
    box-shadow:0px 0px 8px 3px #ddd;
	transition-duration: 1s; 
	transition-delay: 0.5s; 
}
.products-left{
	width:110px;
}
.products-right{
	width: calc(100% - 110px);
	text-align:left;
}
.products-right strong{
	font-size:18px;
	line-height:1.1em;
}
.products-right span{
	font-size:14px;
	line-height:1.1em;
}
span.service-sectitle{
	display:block;
	color:#024398;
}
span.service-add{
	display:block;
}

.products-img-background{
	width:100px;
}
.products-img-inner{
	width:100px;
	height:100px;
	overflow:hidden;
}
.products-list-item .products-list-img {
	transition: 0.8s;
}
.products-list-item:hover .products-list-img {
	transform: scale(1.3);
	transition: 0.8s;
}


.products-box{
    border-left:1px solid #d4d4d4;
    border-bottom:1px solid #d4d4d4;
    position:relative;
    z-index:1;
}
.products-box.run {
  width: 100%;
  margin: 0 auto;
  position: relative;
  display: block;
  overflow: hidden;
}
.products-box.run .products-box__line {
  position: absolute;
}
.products-box.run .products-box__line01,
.products-box.run .products-box__line03 {
  width: 100%;
  height: 1px;
}
.products-box.run .products-box__line02,
.products-box.run .products-box__line04 {
  width: 1px;
  height: 100%;
}
.products-box.run .products-box__line01 {
  top: 0;
  left: 0;
  background: linear-gradient(to left, transparent, #004a97);
  animation: animate5 2s linear;
  animation-fill-mode:forwards;
}
.products-box.run .products-box__line02 {
  top: 0;
  right: 0;
  animation: animate6 2s linear;
  animation-fill-mode:forwards;
  animation-delay: 0s;
  background: linear-gradient(to top, transparent, #004a97);
}
.products-box.run .products-box__line03 {
  bottom: 0;
  left: 0;
  background: linear-gradient(to right, transparent, #004a97);
  animation: animate7 2s linear;
  animation-fill-mode:forwards;
}
.products-box.run .products-box__line04 {
  top: 0;
  left: 0;
  background: linear-gradient(to bottom, transparent, #004a97);
  animation: animate8 2s linear;
  animation-fill-mode:forwards;
  animation-delay: 0s;
}
@keyframes animate5 {
  0% {
    transform: translateX(100%);
  }
  50% {
    transform: translateX(-100%);
  }
  100% {
    opacity:0;
  }
}
@keyframes animate6 {
  0% {
    transform: translateY(100%);
  }
  50% {
    transform: translateY(-100%);
  }
  100% {
    opacity:0;
  }
}
@keyframes animate7 {
  0% {
    transform: translateX(-100%);
  }
  50% {
    transform: translateX(100%);
  }
  100% {
    opacity:0;
  }
}
@keyframes animate8 {
  0% {
    transform: translateY(-100%);
  }
  50% {
    transform: translateY(100%);
  }
  100% {
    opacity:0;
  }
}


/*===================================
　5-3-10 線が伸びて枠線になる
===================================*/
.products-list-item{
    /*線の基点とするためrelativeを指定*/
	position: relative;
}

/*線の基点位置*/
.products-list-item::before,
.products-list-item::after{
    content:"";
    /*絶対配置で線の位置を決める*/
    position: absolute;
	background: #024398;
    /*線の形状*/
    width: 0;
    height:1px;
    /*アニメーションの指定*/
    transition: all 0.2s linear;
}

.products-list-item::before{
  right: 0;
  bottom: 0;
}

.products-list-item::after{
  left: 0;
  top: 0;
}

/*線の基点位置2 spanタグ*/
.products-list-item .products-list-inner::before,
.products-list-item .products-list-inner::after{
  content:"";
    /*絶対配置で線の位置を決める*/
  position: absolute;
  background: #004a97;
    /*線の形状*/
  width:1px;
  height:0;
/*アニメーションの指定*/
  transition: all 0.1s linear;
}

.products-list-item .products-list-inner::before{
  left: 0;
  bottom: 0;
}

.products-list-item .products-list-inner::after{
  right: 0;
  top: 0;
}

/*現在地とhoverした際の線の変化*/
.products-list-item:hover::before,
.products-list-item:hover::after{
  width: 100%;
}

.products-list-item:hover::after{
  transition-delay: 0s;/*すぐ線を出現させる*/
}

.products-list-item:hover::before{
  transition-delay: 0.3s;/*線の出現を0.3秒遅らせる*/
}

.products-list-item:hover ::before,
.products-list-item:hover ::after{
  height: 100%;
}

.products-list-item:hover ::before{
  transition-delay: 0.5s;/*線の出現を0.5秒遅らせる*/
}

.products-list-item:hover ::after{
  transition-delay: 0.2s;/*線の出現を0.2秒遅らせる*/
}

#automotive_solution,#cloud_service,#gis_solution,#consumer_service{
	padding:0 0 100px;
}
@media screen and (max-width: 767px) { 
.productssubtitle{
	margin-bottom:30px;
}
.products-box{
    border-left:none;
}
.box-inner{
	padding:0 0 40px;
}
body.page-id-59 .box-inner ,body.page-id-61 .box-inner ,body.page-id-63 .box-inner ,body.page-id-65 .box-inner ,body.page-id-67 .box-inner{
	padding:0 0 30px;
}
.products-detail-menu .box-inner{
	padding:0 0 30px;
}
.products-left{
	width:70px;
}
.products-right{
	width: calc(100% - 70px);
	text-align:left;
}
.products-right strong{
	font-size:15px;
}
.products-right span{
	font-size:13px;
}
.products-img-background{
	width:60px;
}
.products-img-inner{
	width:60px;
	height:60px;
}
#automotive_solution,#cloud_service,#gis_solution,#consumer_service{
	padding:0 0 30px;
}
}


/*===================================
サービス・製品詳細
===================================*/
#products-detail-area{
	padding:100px 0 150px;
}
.products-kv-area{
	position:relative;
}
.products-text{
	margin-top:15px;
	padding:20px 20px 0;
}
.products-item{
	margin:40px 0 0;
	overflow:hidden;
}
.products-item h4{
	font-family: "source-han-sans-japanese", sans-serif;
	font-size:24px;
	color:#024398;
	margin:20px 0 30px;
}
.right-img{
	display:block;
	float:right;
	width:370px;
	margin:7px 0 30px 50px;
}
.left-img{
	margin:20px 0 0;
	display:block;
}
.induction-carnavi-img{
	position:relative;
}
.induction-carnavi-text{
	position:absolute;
	left:0;
	bottom:9%;
	font-size:12px;
	line-height:1.5em;
}
.products-detail-subtitle{
	margin:60px 0 0;
}
span.indent-text00{
    display:block;
    margin:0 0 0 0.5em;
    text-indent:-0.5em;
}
span.indent-text01{
    display:block;
    margin:0 0 0 1.0em;
    text-indent:-1.0em;
}
span.indent-text02{
    display:block;
    margin:5px 0 0 1.7em;
    text-indent:-1.7em;
    line-height:1.6em;
    font-size:13px;
}
span.normal-font{
    font-size:16px;
}
span.indent-font{
	margin-top:5px;
    font-size:13px;
    line-height:1.6em;
    display:inline-block;
}
span.indent-font02{
	margin-top:5px;
    font-size:13px;
    line-height:1.6em;
}
.products-link-btn{
	display:block;
	margin-top:30px;
}
.products-link-btn a{
	margin: 0 5px;
}
.show01,.show02{
	display:block;
}
.about-trip-mile-area{
	padding:20px;
}
.trip-mile-inner{
	background:#f7f7f7;
	padding:50px;
}
.about-trip-mile-area h5{
	font-size:16px;
	font-family: "source-han-sans-japanese", sans-serif;
}
h5.products-sec-subtitle{
	font-family: "source-han-sans-japanese", sans-serif;
	font-size:18px;
	display:block;
	margin:20px 0 0 !important;
	padding:0 0 0 20px !important;
}
h5.products-sec-subtitle02{
	font-family: "source-han-sans-japanese", sans-serif;
	font-size:18px;
	display:block;
	margin:30px 0 15px !important;
}
h5.products-sec-subtitle03{
	font-family: "source-han-sans-japanese", sans-serif;
	font-size:18px;
	display:block;
	margin:30px 0 5px !important;
}
span.source{
	margin-top:15px;
	display:block;
}
.mapfan-img-02{
	width:50%;
	display:block;
	margin:30px auto 0;
}
.app-link-area02{
	margin-top:30px;
}
.products-text-link{
	text-decoration:underline;
}
.products-text-link:hover{
	text-decoration:underline;
}
@media screen and (min-width: 768px) { 
.products-kv-text-area01 strong{
	font-family: "source-han-sans-japanese", sans-serif;
}
.products-kv-text-area01 h3{
	font-family: "source-han-sans-japanese", sans-serif;
	font-size:36px;
	color:#024398;
}
.products-kv-text-area01 span{
	font-size:14px;
}
.products-kv-text-area02 strong{
	font-family: "source-han-sans-japanese", sans-serif;
}
.products-kv-text-area02 h3{
	font-family: "source-han-sans-japanese", sans-serif;
	font-size:36px;
	color:#024398;
}
.products-kv-text-area02 span{
	font-size:14px;
}
.products-kv-text-area03 strong{
	font-family: "source-han-sans-japanese", sans-serif;
}
.products-kv-text-area03 h3{
	font-family: "source-han-sans-japanese", sans-serif;
	font-size:36px;
	color:#024398;
}
.products-kv-text-area03 span{
	font-size:14px;
}
.products-kv-text-area01{
	display:block;
	width:100%;
	background-image: url(http://enjoynstyle.xsrv.jp/geotest1/wp-content/themes/geo/images/products/products_kv_text_bg.png);
	background-size:100% auto;
	position:absolute;
	top:30px;
	left:0px;
	padding:30px;
	line-height:1.5em;
}
.products-kv-text-area02{
	display:block;
	width:100%;
	background-image: url(http://enjoynstyle.xsrv.jp/geotest1/wp-content/themes/geo/images/products/products_kv_text_bg.png);
	background-size:100% auto;
	position:absolute;
	bottom:30px;
	left:0px;
	padding:30px;
	line-height:1.5em;
}
.products-kv-text-area03{
	display:block;
	width:100%;
	background-image: url(http://enjoynstyle.xsrv.jp/geotest1/wp-content/themes/geo/images/products/products_kv_text_bg03.png);
	background-size:100% auto;
	position:absolute;
	top:30px;
	left:0px;
	padding:30px 30px 30px 40%;
	line-height:1.5em;
}

.products-text02{
	padding:0 20px 20px;
}
.products-text03{
	margin:0;
}
.products-text04{
	margin:15px 0;
	display:block;
}
.products-text05{
	margin:15px 0;
	display:block;
}
.products-text07{
	padding:0;
}
.products-margin80{
	margin-top:80px;
}
.products-contact-btn{
	position:fixed;
	top:30%;
	right:0;
	height:auto;
	z-index:999;
	list-style:none;
	padding:0 !important;
	margin:0 !important;
}
.products-contact-btn li{
	color:#fff;
	display:block;
	background: -moz-linear-gradient(top, #128dc3, #0d4390);
	background: -webkit-linear-gradient(top, #128dc3, #0d4390);
	background: linear-gradient(to bottom, #128dc3, #0d4390);
	margin-bottom:3px;
	z-index:999;
}
.products-contact-btn li a{
	color:#fff;
	display:block;
	clear:both;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-size:16px;
	width:48px;
	padding:25px 7px 25px 10px;
	font-family: "source-han-sans-japanese", sans-serif;
	z-index:999;
}
.products-contact-btn li:first-child{
	border-top-left-radius: 10px;
}
.products-contact-btn li:last-child{
	border-bottom-left-radius: 10px;
}
img.products-contact-icon{
	width:25px;
	height:auto;
	margin-top:5px;
	position:relative;
	right:5px;
}
.app-link-img{
	padding-left:20px;
}
.app-link-img img{
	height:45px;
	width:auto;
}
.products-column:nth-child(2n+1){
	padding-right:30px;
}
.products-column:nth-child(2n){
	padding-left:30px;
}
.trip-mile-coupon-cases-img01{
	margin-bottom:30px;
}
.trip-mile-coupon-cases-img02{
	margin-top:15px;
	margin-bottom:30px;
}
.trip-mile-coupon-cases-img03{
	margin-bottom:30px;
}
.trip-mile-coupon-cases-img04{
	margin-bottom:30px;
}
.trip-mile-coupon-cases-img05{
	margin-top:15px;
	margin-bottom:30px;
}
.trip-mile-coupon-cases-img06{
	margin-top:5px;
	margin-bottom:30px;
}
.trip-mile-coupon-cases-img07{
	margin-bottom:30px;
}
.trip-mile-coupon-cases-img08{
	margin-top:25px;
	margin-bottom:30px;
}
.trip-mile-coupon-cases-img09{
	margin:0 auto 30px;
	width:60%;
	display:block;
}
.trip-mile-coupon-cases-img10{
	margin-top:15px;
	margin-bottom:30px;
}
.trip-mile-coupon-cases-img11{
	margin-top:20px;
	margin-bottom:30px;
}
.trip-mile-coupon-img{
	width:40%;
	display:block;
	margin:30px auto 0;
}
.trima-type-area{
	padding:0 20px;
}
.trima-type-table{
	width:100%;
	margin:60px 0 30px;
}
.trima-type-table tr{
	width:100%;
}
.trima-type-table th{
	width:270px;
	padding:20px;
	background:#f7f7f7;
	border-bottom:2px solid #fff;
}
.trima-type-table img{
	width:auto;
	height:30px;
}
.trima-type-table td{
	width: calc( 100% - 270px ) ;
	padding:20px 15px;
	background:#f7f7f7;
	border-bottom:2px solid #fff;
}
.trima-type-table td strong{
	display:block;
}
}
@media screen and (min-width: 1400px) { 
.right-img{
	width:440px;
}
}
@media screen and (min-width: 992px) and (max-width: 1199px)  { 
.right-img{
	width:420px;
}
}
@media screen and (min-width: 768px) and (max-width: 991px)  { 
.right-img{
	width:300px;
}
.app-link-img img{
	height:25px;
	width:auto;
}
.products-kv-text-area03{
	padding:30px 30px 30px 15%;
}
}
@media screen and (min-width: 768px) { 
img.products-contact-icon{
	width:14px;
	height:auto;
	position:relative;
	margin-left:3px;
}
}
@media screen and (max-width: 767px) { 
#products-detail .container-first{
	padding:0;
	overflow:hidden;
}
#products-detail-area{
	padding:0 0 30px;
}
.products-kv-text-area01-sp strong{
	font-family: "source-han-sans-japanese", sans-serif;
}
.products-kv-text-area01-sp h3{
	font-family: "source-han-sans-japanese", sans-serif;
	font-size:36px;
	color:#024398;
}
.products-kv-text-area01-sp span{
	font-size:14px;
}
.products-kv-text-area02-sp strong{
	font-family: "source-han-sans-japanese", sans-serif;
}
.products-kv-text-area02-sp h3{
	font-family: "source-han-sans-japanese", sans-serif;
	font-size:36px;
	color:#024398;
}
.products-kv-text-area02-sp span{
	font-size:14px;
}
.products-kv-text-area01-sp{
	display:block;
	width:100%;
	background-image: url(http://enjoynstyle.xsrv.jp/geotest1/wp-content/themes/geo/images/products/products_kv_text_bg_sp.png);
	background-size:100% auto;
	position:absolute;
	top:15px;
	padding:15px;
	line-height:1.5em;
}
.products-kv-text-area01-sp h3{
	font-size:24px;
}
.products-kv-text-area02-sp{
	display:block;
	width:100%;
	background-image: url(http://enjoynstyle.xsrv.jp/geotest1/wp-content/themes/geo/images/products/products_kv_text_bg_sp.png);
	background-size:100% auto;
	position:absolute;
	bottom:15px;
	padding:15px;
	line-height:1.5em;
}
.products-kv-text-area02-sp h3{
	font-size:24px;
}

.products-top-text{
	margin-top:15px;
}
.products-item{
	margin:40px 0 0;
}
.products-item02{
	margin:40px 0 0;
}
.products-item img{
	width:100%;
}
.products-item h4{
	font-size:20px;
	padding:0 20px;
	margin:0 0 20px;
}
.products-text{
	margin-bottom:0 !important;
	padding-bottom:0 !important;
}
.products-text03{
	margin:0;
	padding-top:15px;
}
.right-img{
	float:none;
	width:100%;
	margin:0;
}
.left-img{
	margin:0;
}
.induction-carnavi-text{
	position:relative;
	margin:10px 0;
	bottom:0%;
}
.second-img{
	margin-top:30px;	
}
.products-detail-subtitle{
	margin:30px 0 20px;
}
.products-detail-menu{
	padding:0 15px;
	overflow:hidden;
}
.products-contact-btn{
	position:relative;
	z-index:999;
	list-style:none;
	padding:5px 8px 7px !important;
	margin:0 !important;
	text-align:center;
	border-bottom:1px solid #0a50a0;
	overflow:hidden;
}
.products-contact-btn li{
	color:#fff;
	display:block;
	float:left;
	width:50%;
	padding:0 5px;
	z-index:999;
}
.products-contact-btn li a{
	color:#fff;
	display:inline-block;
	font-size:14px;
	background: #0a50a0;
	border-radius:20px !important;
	padding:8px 5px;
	line-height: 1;
	width:100%;
	z-index:999;
}
.products-contact-btn li.link-btn-one{
	float:none;
	width:auto;
	padding:0 7px;
}
.products-contact-btn li.link-btn-one a{
	width:auto;
	padding: 8px 15px;
}
img.products-contact-icon{
	width:10px;
	height:auto;
	margin-left:6px;
	position:relative;
	bottom:2px;
}
.products-link-btn{
	text-align:center;
}
.about-trip-mile-area{
	padding:20px 0 0;
}
.trip-mile-inner{
	padding:20px;
}
.trip-mile-coupon-img{
	padding:0 15px;
	width:70%;
	display:block;
	margin:30px auto 0;
}
.trima-type-area{
	padding:0 20px;
}
.trima-type-table{
	margin:30px 0 15px;
}
.trima-type-table th{
	display:block;
	width:100%;
	padding:25px 20px 20px;
	background:#f7f7f7;
	text-align:center;
}
.trima-type-table img{
	width:auto;
	height:25px;
}
.trima-type-table td{
	display:block;
	width:100%;
	padding:0 20px 20px;
	background:#f7f7f7;
	border-bottom:2px solid #fff;
}
.trima-type-table td strong{
	display:block;
}
.app-link-area{
	text-align:center;
	margin-top:20px;
}
.app-link-img{
	padding:20px 3px 20px 6px;
}
.app-link-img img{
	height:40px;
	width:auto;
}
.products-column{
	padding:0 35px;
}
h5.products-sec-subtitle02{
	margin:20px 0 15px;
}
.products-text04{
	padding:20px 0 0;
}
.products-text05{
	padding:20px 20px 0;
}
.products-text06{
	padding:0 20px;
	margin-top:30px;
}
.products-text07{
	padding:20px 20px 0;
}
.products-margin80{
	margin-top:40px;
}
.mapfan-img-02{
	width:80%;
	margin:20px auto 0;
}
.trip-mile-img-bg{
	width:40% !important;
	display:block;
	margin:0 auto;
}
.products-cases-area{
	padding:0 20px;	
}
.trip-mile-coupon-cases-img01{
	margin-bottom:30px;
}
.trip-mile-coupon-cases-img02{
	margin-top:15px;
	margin-bottom:30px;
}
.trip-mile-coupon-cases-img03{
	margin-bottom:30px;
}
.trip-mile-coupon-cases-img04{
	margin-bottom:30px;
}
.trip-mile-coupon-cases-img05{
	margin-top:15px;
	margin-bottom:30px;
}
.trip-mile-coupon-cases-img06{
	margin-top:5px;
	margin-bottom:30px;
}
.trip-mile-coupon-cases-img07{
	margin-bottom:30px;
}
.trip-mile-coupon-cases-img08{
	margin-top:25px;
	margin-bottom:30px;
}
.trip-mile-coupon-cases-img09{
	margin:0;
	width:60%;
	display:inline-block;
}
.trip-mile-coupon-cases-img10{
	margin-top:45px;
}
.trip-mile-coupon-cases-img11{
	margin-top:20px;
	margin-bottom:30px;
}
}
@media screen and (max-width: 359px) { 
.products-contact-btn li a{
	font-size:12px;
}
}

.mapfan-logo-img{
	width:30%;
	margin-bottom:15px;
}
.kenwood-logo-img{
	width:28%;
}
.denso-logo-img{
	width:33%;
}
.pioneer-logo-img{
	width:20%;
}
.products-item strong.client{
	display:block;
	margin:5px 0 10px;
}
.map-update-client-img{
	margin-top:30px;
}
@media screen and (min-width: 767px) { 
.nft-collection-column:nth-child(2n+1){
	padding-right:30px;
}
.nft-collection-column:nth-child(2n){
	padding-left:30px;
}
}
.nft-collection-column img{
	margin:20px 0;
}
@media screen and (max-width: 767px) { 
.mapfan-logo-img{
	width:60% !important;
	margin:0 0 15px;
}
.kenwood-logo-img{
	width:40% !important;
	margin:0 0 15px;
}
.denso-logo-img{
	width:48% !important;
	margin:0 0 15px;
}
.pioneer-logo-img{
	width:40% !important;
	margin:0 0 15px;
}
.map-update-client-bg{
	width:50%;
	display:block;
	margin:30px auto;
}
.map-update-client-img{
	margin-top:0px;
}
.map-update-link-btn a{
	margin:15px 0 !important;
	display:block;
}
.nft-collection-column{
	padding:0 35px;
}
.nft-collection-column:nth-child(2){
	margin-top:30px;
}
}

svg:hover .show-list-stroke3 {
    stroke-dasharray: 712;
    will-change: animation;
    animation: show-list-stroke-anime3 0.8s ease-in;
}
@keyframes show-list-stroke-anime3 {
    to {
        stroke-dasharray: 712;
        stroke-dashoffset: 0;
    }
    from {
        stroke-dasharray: 206;
        stroke-dashoffset: 412;
    }
}