@charset "UTF-8";

/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

body {
    line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
	display:block;
}

ul,ol {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

*/

* {
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  box-sizing: border-box;
}
ul,ol {
 padding: 0;
 margin: 0;
    list-style:none;
}
li{
 margin: 0;
}

dt,
dt,
dd{
 padding: 0;
 margin: 0;
}
/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000; 
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}
img{
 background: none;
	vertical-align:bottom;
	max-width: 100%;
}

:root {
  --white: white;
  --alice-blue-2: #e3fdf9;
  --alice-blue: #e3edfd;
  --black: black;
}

html.w-mod-touch * {
  background-attachment: scroll !important;
}
/************** layout base ********************/

.clearfix{
overflow:hidden;
}
.clear:after{
	content:"";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}




a{
	text-decoration:none;
  transition: opacity .2s;
  color: #1a1b1f;
  display: block;
}
a:hover{
}
a:visited{}


sup {
	line-height: 100%;
	font-size:10px;
	vertical-align: 0.4em;
}
sub{
	line-height: 100%;
	font-size:10px;
	vertical-align: -0.1em;
}

.txtLeft{
text-align:left;
}
.txtRight{
text-align:right;
}
.txtCenter{
text-align:center;
}
.fw{font-weight:bold !important;}
.f10{ font-size:10px !important;}
.f11{ font-size:11px !important;}
.f12{ font-size:12px !important;}
.f13{ font-size:13px !important;}
.f14{ font-size:14px !important;}
.f15{ font-size:15px !important;}
.f16{ font-size:16px !important;}
.f17{ font-size:17px !important;}
.f18{ font-size:18px !important;}

.txtRed{ color:#D80000;}
.note{  font-size:12px;}

.fLeft{ float:left;}
.fRight{ float:right;}
.fNon{
	float:none !important;
}

.mTop0{ margin-top:0 !important;}
.mTop5{ margin-top:5px !important;}
.mTop10{ margin-top:10px !important;}
.mTop15{ margin-top:15px !important;}
.mTop20{ margin-top:20px !important;}
.mTop25{ margin-top:25px !important;}
.mTop30{ margin-top:30px !important;}
.mTop35{ margin-top:35px !important;}
.mTop40{ margin-top:40px !important;}
.mTop45{ margin-top:45px !important;}
.mTop50{ margin-top:50px !important;}

.mBtm0{ margin-bottom:0 !important;}
.mBtm5{ margin-bottom:5px !important;}
.mBtm10{ margin-bottom:10px !important;}
.mBtm15{ margin-bottom:15px !important;}
.mBtm20{ margin-bottom:20px !important;}
.mBtm25{ margin-bottom:25px !important;}
.mBtm30{ margin-bottom:30px !important;}
.mBtm35{ margin-bottom:35px !important;}
.mBtm40{ margin-bottom:40px !important;}
.mBtm45{ margin-bottom:45px !important;}
.mBtm50{ margin-bottom:50px !important;}
.mBtm60{ margin-bottom:60px !important;}

.pTop0{ padding-top:0 !important;}
.pTop5{ padding-top:5px !important;}
.pTop10{ padding-top:10px !important;}
.pTop15{ padding-top:15px !important;}
.pTop20{ padding-top:20px !important;}
.pTop25{ padding-top:25px !important;}
.pTop30{ padding-top:30px !important;}
.pTop35{ padding-top:35px !important;}
.pTop40{ padding-top:40px !important;}
.pTop45{ padding-top:45px !important;}
.pTop50{ padding-top:50px !important;}

.pBtm0{ padding-bottom:0 !important;}
.pBtm5{ padding-bottom:5px !important;}
.pBtm10{ padding-bottom:10px !important;}
.pBtm15{ padding-bottom:15px !important;}
.pBtm20{ padding-bottom:20px !important;}
.pBtm25{ padding-bottom:25px !important;}
.pBtm30{ padding-bottom:30px !important;}
.pBtm35{ padding-bottom:35px !important;}
.pBtm40{ padding-bottom:40px !important;}
.pBtm45{ padding-bottom:45px !important;}
.pBtm50{ padding-bottom:50px !important;}
.pBtm60{ padding-bottom:60px !important;}


.flex{	
 display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
 flex-flow: row wrap;
}

@media screen and (min-width: 769px) {
.pcFlex{
 display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
 flex-flow: row wrap;
justify-content: space-between;
 }
.spOnly{ display:none; }
 .pcFlex.half .txts{
  width: 48%;
 }
 .pcFlex.half figure{
  width: 48%;
 }
}/*-PC only-*/
@media screen and (max-width: 991px) {

	body{	
-webkit-text-size-adjust: 100%;

    
	}
img{
	max-width:100%;
	height: auto;}

.pcOnly{ display:none;}
.pcFlex.half .txts + figure{
 margin-top: 20px;
 }
 .pcFlex.half figure + .txts{
 margin-top: 20px;
 }
}/*spOnly*/

/************** layout base ********************/
body{
color: #1a1b1f;
  flex-direction: column;
  font-size: 16px;
  font-weight: 400;
  line-height: 28px;
  display: flex;  
background:#ffffff;
text-align:center;
	font-family: "Noto Sans JP", sans-serif;
}
.fontLato{
 font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
}

div,p,dl{
text-align:left;
}

p,dt,dd,li,td,th{
color:#000;
font-size:16px;
line-height:1.875;
}
h1,h2,h3,h4,h5,h6{
color:#000;
font-size:12px;
 line-height: 1.4;
}

p{
  margin-bottom: 10px;
  margin-top: 0;
}

h4 {
  margin-top: 10px;
}

.text-block-30 {
  color: #807366;
  font-family: Noto Sans, sans-serif;
  font-size: 10px;
}

/*------------------ list style----------------*/
.numberList{
	padding:0 0 0 18px;	
}
.numberList li{
	list-style:decimal outside;
	padding:0 0 5px 0;
}


.discList{
	padding:0 0 0 18px;
}
.discList li{
	list-style:disc outside;
	padding:0 0 2px 0;
}

.indentList li{
	padding-left:1em;
	text-indent:-1em;
}

/*****************  head ***********************/
header .navigation-wrap > .logo-link{
	max-width: 100px;
}
header .navigation-wrap > .logo-link img{
	margin: 0 auto;
	width: 85%;
}
header .navigation-wrap > .logo-link div{
	line-height: 1.3;
	margin-top: 2px;
	text-align: center;
}
/* .menu-button img{
 background-color: #4cd5c5;
} */

/*****************  foot ***********************/
.section.cc-cta *{
 text-align: center;
}

/*****************  navi ***********************/
/* .menu{
	justify-content: space-between;
} */


.w-nav {
  position: relative;
  background:#dddddd;
  z-index: 1000;
}

.w-nav::before, .w-nav::after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}

.w-nav::after {
  clear: both;
}

.navigation {
  background-color: #0000;
  align-items: center;
  padding:30px 50px;
  display: flex;
}

.w-nav-link {
  position: relative;
  display: inline-block;
  text-decoration:none;
  margin-left: auto;
  margin-right: auto;
}

.navigation-wrap {
  flex:1;
  justify-content: space-between;
  align-items: center;
  display: flex;
  position: relative;
}

.navigation-item {
  opacity: .6;
  color: #807366;
  letter-spacing: 1px;
  text-transform:inherit;
  padding-top: 9px;
  padding-bottom: 9px;
  font-family: Noto Sans JP, sans-serif;
  font-weight: 500;
  line-height: 20px;
}
.navigation-item.w--current {
  opacity: 1;
  color: #807366;
  font-size: 14px;
  font-weight: 600;
}
.logo-link {
  z-index: 1;
}

.logo-image {
  display: block;
}

.w-nav-brand {
  position: relative;
  float: left;
  text-decoration:none;
  color: #333333;
}

.navigation-items {
  flex:none;
  justify-content: center;
  align-items:flex-start;
  display: flex;
}

.menu {
  z-index: 0;
  justify-content: space-around;
  align-items: center;
  display: flex;
 width: 100%;
  inset:0%;
}
.menu nav{
	width: calc(100% - 120px);
}
.menu nav .w-nav-link {
	padding-left: min(1vw,20px);
	padding-right:  min(1vw,20px);
	text-align: center;
	width: calc(100% / 5);
}
.menu nav .w-nav-link figure{
	margin-bottom: 10px;
	height: 40px;
}
.menu nav .w-nav-link figure img{
	margin: 0 auto;
	max-width: 120px;
  width: auto;
	height: 100%;
}
.menu nav .navigation-item{
	font-size: min(1vw,14px);
}

.w-nav-menu {
  position: relative;
}

.w-nav-button {
  position: relative;
  float: right;
  padding:18px;
  font-size: 24px;
  display: none;
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  tap-highlight-color: rgba(0, 0, 0, 0);
  user-select: none;
}

.w-nav-overlay {
  position: absolute;
  overflow:hidden;
  display: none;
  top: 100%;
  left: 0;
  right: 0;
  width: 100%;
}

@media screen and (max-width: 991px) {
    .navigation {
      padding: 20px
  }
    .navigation-wrap {
    background-color: #fff;
  }
    .logo-link.w--current {
    display: flex;
  }
  header .navigation-wrap > .logo-link{
    max-width: 160px;
  }
  header .navigation-wrap > .logo-link img {
  margin:0 10px 0 0;
  width: 30%;
}
  header .navigation-wrap > .logo-link div {
  margin-top: 0;
  text-align: left;
}
  .w-nav[data-collapse="medium"] .w-nav-menu {
    display: none;
  }
    .w-nav[data-collapse="medium"] .w-nav-button {
    display: block;
  }
    .menu {
    margin-left: 15px;
      position: static;
      justify-content: flex-end;
  }
   .navigation-items {
    background-color: #fff;
     width: 100vw
  }
    .menu-button {
    padding:0;
  }
  .w-nav-overlay [data-nav-menu-open] {
  top: 0;
}
   .navigation-items {
    background-color: #fff;
  }
  
  .navigation-item.w--nav-link-open{
    display: flex;
    justify-content: flex-start;
    margin-bottom: 20px
  }
  .navigation-item.w--nav-link-open figure{
    margin-right: 20px;
  }
  .navigation-item.w--nav-link-open figure img{
    margin: 0 auto 10px;
    max-width: 72px
  }
}

@media screen and (max-width: 479px) {
  .menu-button, .menu-button.w--open {
    flex:none;
  }
}

/*****************  contents ***********************/
main{
 overflow: hidden;
letter-spacing: 0.1em;}

.inner{
 max-width: 1000px;
 width: 90%;
 margin: 0 auto;
}

.bgLgray{
 background: #f7f8fa;
}
.bgW{
	background: #fff;
}
main .en{
 font-family: "Lato", sans-serif;
  font-weight: 500;
  font-style: normal;
}
section{
 padding: 120px 0 135px;
}
section.bdrBtm{
	border-bottom: 5px solid #f7f8fa;
	padding-bottom: 120px;
}
section h1{
 font-size: 36px;
 font-weight: 500;
 text-align: center;
}
section h2{
 margin: 0 0 15px;
 font-size: 30px;
 font-weight: 700;
 letter-spacing: 0.1em;
 text-align: center;
}
section h2 .en{
 display: block;
 color: #4cd5c5;
 font-size: 48px;
}
section h2::before{
 content: "";
 display: block;
 width: 32px;
 height: 2px;
 background: #4cd5c5;
 margin: 0 auto 20px;
}
section h2.txtCenter > img{
  display: block;
}
section#topMv h2::before,
section#topData h2::before,
section#topNews h2::before{
  display: none;
}
section h2 .en.bk{
 color: #000;
}


section h2 .gr {
  display: block;
  color: #4cd5c5;
  font-size: 46px;
  font-weight: normal;
}
section h2 .en.bk::after,
section h2 .gr::after {
  content: "";
  display: block;
  width: 32px;
  height: 2px;
  background:
#4cd5c5;
  margin:
15px auto 20px;
}

section .h4Tit{
	background: #4cd5c5;
	color: #fff;
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0.05em;
	margin-top: 0;
  padding: 5px 10px;
}
.h5Tit{
  color: #4cd5c5;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.05em;
	margin-top: 0;
	border-bottom: 1px solid #4cd5c5;
	padding-bottom: 5px;
}

.sub_ttl{
 margin-bottom: 15px;
 color: #4cd5c5;
 font-size: 24px;
 font-weight: 500;
 line-height: 1.625;
 letter-spacing: 0.05em;
}

section .leadTxt{
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.05em;
}
figure{
 margin: 0;
 padding: 0;
}
.imgC{
 margin: 20px auto;
}
.imgC img{
 margin: auto;
}
@media screen and (max-width: 991px) {
section{
 padding: 60px 0 70px;
}
section.bdrBtm{
	padding-bottom: 65px;
}
 section h1{
 font-size: 30px;
}
section h2{
 margin: 0 0 15px;
 font-size: 24px;
}
section h2 .en{
 font-size: 40px;
}
section h2 .en::after{
 width: 32px;
 height: 2px;
 margin: 10px auto 15px;
}
.sub_ttl{
 margin-bottom: 10px;
 font-size: 20px;
}
}/*-SP only-*/

/**************************/
.ttlArea{
 position: relative;
 background: rgba(76,213,197,.13);
 padding: 50px 5%;
}
.ttlArea::before{
 content: "";
 display: block;
 width: 100%;
 height: 100%;
 background: rgba(255,255,255,.43);
 position: absolute;
 top: 0;
 left: 0;
 z-index: 0;
}
.ttlArea h1::after{
 content: "";
 display: block;
 width: 32px;
 height: 2px;
 background: #000;
 margin:30px auto;
}
.ttlArea h1,
.ttlArea p{
 position: relative;
}

.ttlArea p{
   text-shadow: 1px 1px 2px rgba(255, 255, 255, .8);
}


@media screen and (max-width: 991px) {
 .ttlArea p.txtCenter{
  text-align: left;
 }
}/*spOnly*/

/* button ************************/
.button.cc-jumbo-button:hover{
	background: #fff;
	border: 1px solid #4cd5c5;
	color: #4cd5c5;
	padding: 15px 34px;
}
.section.cc-cta .button.cc-jumbo-button:hover{
	border: none;
	padding: 16px 35px;
}

.btnArea{
	margin-top: 80px;
}
.btnArea li{
	background: rgba(76,213,197,.26);
	border-radius: 10px;
}
.btnArea li a{
 border-radius: 10px;
 border: 2px solid #fff;
 display: grid;
 place-content: center;
 align-content: center;
 padding: 60px 5% 36px;
 position: relative;
 text-align: center;
 height: 100%;
}
.btnArea li a::after{
 content: "";
 display: block;
	position: absolute;
 bottom: 13px;
	right: 14px;
 margin: auto;
	border-top: 2px #4cd5c5 solid;
	border-right: 2px #4cd5c5 solid;
	width: 8px;
	height:8px;
	margin-top: -4px;
	-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.btnArea li a::before{
content: "";
 display: block;
	position: absolute;
 bottom: 8px;
	right: 8px;
 margin: auto;
  background: #fff;
  width: 20px;
	height:20px;
  border-radius: 10px
}
.btnArea li figure{
	position: absolute;
	left: 0;
	right: 0;
	top: -34px;
	text-align: center;
	height: 90px;
}
.btnArea li figure img{
 margin: 0 auto;
 height: 100%;
}
.btnArea li p{
 text-align: center;
}
/*-- hover --*/
.btnArea li a:hover{
 background: #fff;
 border: 2px solid rgba(76,213,197,.26);
}
.btnArea li a:hover figure img{
 background: #fff;
	border: 2px solid #fff;
}
.bgLgray .btnArea li a:hover figure img{
	border: 2px solid transparent;
 background: transparent;
}
.btnArea li a:hover::before{
	background: rgba(76,213,197,.13);
}
/*-- //hover --*/
@media screen and (max-width: 991px) {/*SP*/
	.btnArea{
		margin-top: 65px;
	}
	.btnArea li{
		margin-top: 55px;
	}
	.btnArea li a{
		border: none;
		padding-bottom: 10px;
	}
	.btnArea li a:hover{
		border: none;
	}
}/*spOnly*/
@media screen and (min-width: 992px) {
	.btnArea{
		display: flex;
		gap: 0 20px;
		justify-content: center;
	}
}/*-PC only-*/


/* flow 導入の流れ
----------------------------*/
#flow ol{
 flex-flow: row nowrap;
 justify-content: center;
 gap:0 80px;
 margin-top: 80px;
}
#flow ol li{
 position: relative;
 border-radius: 10px;
 background: rgba(76,213,197,.13);
 width: calc((100% - 80px*2)/3);
 /* display: grid; */
 place-content: center;
 text-align: center;
 padding: 10px;
 height: 170px;
 font-size: min(2vw,24px);
}
#flow ol li + li::before,
#flow ol li + li::after{
 content: "";
 display: block;
 position: absolute;
 right:100%;
 top: 0;
 bottom: 0;
 margin: auto;
}
#flow ol li + li::before{
 border-radius: 2px;
 width: 24px;
 height: 4px;
 background: #ccc;
 margin-right: 30px;
}
#flow ol li + li::after{
	border-top: 4px #ccc solid;
	border-right: 4px #ccc solid;
	width: 10px;
	height: 10px;
 margin-right: 30px;
	-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
#flow ol li h3{
 position: absolute;
 top: -40px;
 left: 0;
 width: 100%;
 font-size: 30px;
 font-weight: 500;
 text-align: center;
 line-height: 1;
}
#flow ol li h3 span{
 color: #4cd5c5;
 font-size: 48px;
}
#flow ol li figure{
	margin: 20px auto 10px;
	height: 70px;
}
#flow ol li figure img{
	max-width: auto;
	height: 100%;
}
#flow ol li:first-child{
	padding: 0;
}
#flow ol li a{
	display: block;
	padding: 13px 10px 10px;
	width: 100%;
	height: 100%;
}
#flow ol li a:hover{
	background: #fff;
	border: 2px solid #c9f2ed;
	border-radius: 10px;
	padding-top: 11px;
}
@media screen and (max-width: 630px) {
#flow ol{
 gap:0 30px;
 margin-top: 60px;
}
#flow ol li{
 width: calc((100% - 30px*2)/3);
 padding: 30px 10px;
 height:auto;
 font-size: min(2.8vw,24px);
 letter-spacing: 0.8px;
}
#flow ol li + li::before{
 border-radius: 2px;
 width: 20px;
 height: 3px;
 background: #ccc;
 margin-right: 5px;
}
#flow ol li + li::after{
	border-top: 3px #ccc solid;
	border-right: 3px #ccc solid;
	width: 8px;
	height: 8px;
 margin-right: 5px;
}
#flow ol li h3{
 position: absolute;
 top: -30px;
 left: 0;
 width: 100%;
 font-size: 18px;
}
#flow ol li h3 span{
 font-size: 30px;
}
#flow ol li figure{
		margin: 10px auto;
	}
#flow ol li:first-child figure{
	margin-top: 24px;
}
}/*spOnly*/


/*  learnMore もっと知る
----------------------------*/
#learnMore h2{
 margin-bottom: 40px
}
/*#learnMore ul{
 gap:30px 0px;
justify-content: space-between;
 max-width: 800px;
 margin: 0 auto;
}
#learnMore ul li{
 position: relative;
 border-radius: 10px;
 border: 2px rgba(76,213,197,.13) solid;
 background: rgba(76,213,197,.13);
 width: 48%;
 text-align: left;
 padding:  40px;
}
#learnMore.bgLgray ul li{
 background: #fff;
}*/
#learnMore .btnArea{
 margin: 65px 0 0;
 gap: 10px 10px;
}
#learnMore .btnArea li p{
 margin: 0;
 text-align: center;
 line-height: 1.5;
 letter-spacing: 0.05em;
}
#learnMore .btnArea li p + p{
 border-top: 1px #000 dotted;
 margin-top: 12px;
 padding-top: 12px;
}
@media screen and (min-width: 992px) {
	#learnMore .btnArea li{
		width: 23%;
	}
	#learnMore .btnArea li a{
		padding-top: 70px;
	}
}/*-PC only-*/

@media screen and (max-width: 991px) {/*SP*/
#learnMore .btnArea{
	display: flex;
	flex-wrap: wrap;
 margin: 50px 0 0;
 gap:40px 10px;
 justify-content: center;
}
#learnMore .btnArea li{
margin-top: 0;
 width: calc((100% - 10px)/2);
 max-width: 230px;
}
#learnMore .btnArea li a{
	padding: 60px 10px 15px;
}
#learnMore .btnArea li figure img{
 margin: 0 auto;
}
#learnMore .btnArea li p{
 font-size: min(3.2vw,16px);
}
#learnMore .btnArea li p + p{
 margin-top: 8px;
 padding-top: 8px;
}
}/*spOnly*/

@media screen and (max-width: 600px) {
/*#learnMore ul li{
 width: 100%;
 padding:  20px;
}*/
}/*spOnly*/

/* modalPage
------------------------------*/
.modalPage{
 padding: 20px 5%;
}
.modalPage section{
 padding: 50px 0;
}
.modalPage section:first-of-type{
 padding-top: 0;
}

/*----------------------------------------------
              top
---------------------------------------------*/
#topMv{
 position: relative;
 padding: 0;
}
#topMv::before{
 content: "";
	position: absolute;
	bottom: 0;
	left: -500%;
	background: rgba(76,213,197,.13);
	width: 1000%;
	height: 87%;
	z-index: -1;
  
}
#topMv h2{
 text-align: left;
}
#topMv h2 .en::after{
 background: #000;
  content: "";
  display: block;
  width: 32px;
  height: 2px;
  margin: 15px auto 20px 0;
}
@media screen and (min-width: 992px) {
 #topMv{
  align-items: flex-end;
 }
 #topMv .txts{
  width: 55.4%;
  padding: 0 0 35px;
 }
 #topMv figure{
  width: 44.6%;
 }
}/*-PC only-*/
@media screen and (max-width: 991px) {/*SP*/
#topMv::before{
	height: 90%;
}
 #topMv figure{
  max-width: 500px;
  margin: 20px auto 0;
 }
 #topMv figure img{
  margin: 0 auto;
 }
}/*spOnly*/

/*#topLead{
 padding: 120px 0 0;
}
#topLead ul{
 gap:10px 3%;
}
#topLead ul li{
 width: 22%;
}
@media screen and (min-width: 992px) {
 #topLead ul li figure{
  height: 220px;
 }
}*//*-PC only-*/
/*#topLead ul li p{
 margin: 24px 0 0;
 font-size: 14px;
 font-weight: 500;
 text-align: center;
 line-height: 1.2;
}
#topLead ul li p .en{
 display: block;
 margin-bottom: 10px;
 color: #4cd5c5;
 font-size: 18px;
 letter-spacing: 0.05em;
}
#topLead ul li:last-child p .en{
	letter-spacing: 0.02em;
}*/
@media screen and (max-width: 991px) {/*SP*/
/*#topLead{
 padding:60px 0 70px;
}
#topLead ul{
 gap:30px 4%;
 margin-bottom: 40px;
}
#topLead ul li{
 width: 48%;
 max-width: 220px;
}
#topLead ul li p{
	letter-spacing: 0.05em;
}*/
}/*spOnly*/

#topData{
 padding: 120px 0 135px;
}
@media screen and (min-width: 992px) {
 #topData .pcFlex {
  margin-top: 40px;
  margin-bottom: 50px;
  align-items: center;
 }
 #topData .pcFlex .txts{
  width: 57%;
 }
 #topData .pcFlex figure{
  width: 40%;
 }
}/*-PC only-*/

#app03 .inner{
	padding: 30px;
}
#app03 .pcFlex{
	margin: 0;
}
#app03 .pcFlex figure{
	border: 5px solid #fff;
}
#app03 .pcFlex figure figcaption{
 background: #AAA;
 padding: 5px;
 color: #fff;
 text-align: center;
 line-height: 1.4;
}
#app03 .pcFlex .txts li{
 position: relative;
 padding: 5px 0 5px 20px;
}
#app03 .pcFlex .txts li::before{
 content: "";
 display: block;
 background-color: #4cd5c5;
  width: 8px;
  height: 9px;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
 position: absolute;
 top:1em;
 left: 0;
}
@media screen and (min-width: 992px) {
	#app03 .sub_ttl + p{
		text-align: center;
	}
 #app03 .pcFlex figure{
  width: 30%;
 }
 #app03 .pcFlex .txts{
  width: 65%;
 }
}/*-PC only-*/
@media screen and (max-width: 991px) {/*SP*/
	#app03 .inner{
		padding: 15px;
	}
	#app03 .pcFlex .txts{
		margin-top: 20px;
	}
}/*spOnly*/

#topData .btnArea{
 margin: 50px 0 0;
 gap: 10px 20px;
}
#topData .btnArea li a{
	display: block;
	border-radius: 10px;
	padding: 0;
}
#topData .btnArea li h3{
	background: #4cd5c5;
	border-radius: 7px 7px 0 0;
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	margin: 0;
	padding: 12px 12px 12px 115px;
	position: relative;
	text-align: left;
	width: 100%;
}
#topData .btnArea li h3::before{
	content: "";
	background: #fff;
	width: 90px;
	height: 90px;
	border-radius: 45px;
	position: absolute;
	left: 10px;
	top: -30px;
}
#topData .btnArea li h3::after{
	content: "";
	display: inline-block;
	position: absolute;
}
#topData .btnArea li a:hover h3::after{
	opacity: .6;
}
#topData .btnArea li h3.tiData::after{
	background: url("../images/top_data_pct04.svg") no-repeat left top / 100%;
	width: 58px;
	height: 58px;
	top: -10px;
	left: 27px;
}
#topData .btnArea li h3.tiSdkApi::after{
	background: url("../images/top_data_pct02.svg") no-repeat left top / 100%;
	width: 65px;
	height: 51px;
	top: -10px;
	left: 25px;
}
#topData .btnArea li p{
 margin: 0;
 padding: 15px 45px 20px 8.5%;
 text-align: left;
 letter-spacing: 0.05em;
 
}
#topData .btnArea li a::after{
	bottom: 44px;
	right: 22px;
	width: 6px;
	height: 6px;
}
#topData .btnArea li a::before{
	bottom: 35px;
	right: 12px;
	width: 26px;
	height: 26px;
	border-radius: 13px;
}
@media screen and (max-width: 991px) {/*SP*/
 #topData{
 padding: 60px 0 70px;
} 
 #topData .pcFlex figure{
  margin: 20px auto 0;
 } 
#topData .btnArea{
	display: flex;
	flex-wrap: wrap;
 margin: 30px 0 0;
 gap: 30px 10px;
 justify-content: center;
}
#topData .btnArea li{
margin-top: 0;
 /* width: calc((100% - 10px)/2);
 max-width: 230px; */
 width: 100%;
}
#topData .btnArea li h3{
	font-size: min(4vw,15px);
	padding-left: 26%;
}
#topData .btnArea li h3::before{
	width: 60px;
	height: 60px;
	top: -15px;
}
#topData .btnArea li h3.tiData::after{
	width: 36px;
	height: 36px;
	top: -6px;
	left: 23px;
}
#topData .btnArea li h3.tiSdkApi::after{
	width: 42px;
	height: 32px;
	top: -4px;
	left: 21px;
}
#topData .btnArea li p{
 font-size: min(3.2vw,13px);
 padding: 10px 12px 15px;
 text-align: left;
}
#topData .btnArea li a::after{
	bottom: 33px;
	right: 18px;
	width: 5px;
	height: 5px;
}
#topData .btnArea li a::before{
	bottom: 25px;
	right: 10px;
	width: 22px;
	height: 22px;
	border-radius: 13px;
}
}/*spOnly*/
@media screen and (min-width: 992px) {
	#topData .btnArea li{
		width: calc((100% - 20px) / 2);
	}
	#topData .btnArea li a:hover{
		border-color: #4cd5c5;
	}
	#topData .btnArea li a:hover::before{
		background: rgba(76,213,197,.13);
	}
}/*-PC only-*/

#topFuture h2 .txtSmall{
	font-size: 80%;
}

#topFuture figure{
	background: #fff;
	padding: 30px;
}
@media screen and (max-width: 991px) {
#topFuture h2 .txtSmall{
	display: block;
	font-size: 60%;
	letter-spacing: 0.05em;
	line-height: 1.8;
}
#topFuture p{
	text-align: left;
}
#topFuture figure{
	padding: 10px;
}
}/*spOnly*/

#topPartner p{
text-align: left;
}
#topPartner ul{
	align-items: center;
	flex-wrap: wrap;
	gap: 20px;
	margin-top: 40px;
}
#topPartner ul li{
	width: calc((100% - 100px) / 6);
}
@media screen and (max-width: 991px) {
#topPartner p{
	text-align: left;
}
#topPartner ul li{
	width: calc((100% - 20px) / 2);
}
#topPartner ul li img{
	margin: 0 auto;
	width: 80%;
}
}/*spOnly*/

#topNews{
 padding: 0 0 100px;
}
#topNews h2{
 position: relative;
 top: -1.2em;
 margin-bottom: -.5em;
}
#topNews h2 .en{
	font-family: "Noto Sans JP", sans-serif !important;
}
#topNews dl{
 overflow: hidden;
 max-width: 907px;
 margin: 0 auto;
}
#topNews dl dt{
 float: left;
 padding: 16px 0;
 color: #4cd5c5;
 font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
 font-size: 15px;
 letter-spacing: 0.05em;
}
#topNews dl dd{
 border-bottom: 1px #d9d9d9 solid;
 padding: 16px 0 16px 117px;
 font-size: 15px;
 letter-spacing: 0.05em;
}
@media screen and (max-width: 991px) {/*SP*/
#topNews{
 padding: 0 0 50px;
}
#topNews h2 .en{
	font-size: 30px;
}
#topNews dl dt{
 float: none;
 padding: 10px 0 0;
 font-size: 14px;
}
#topNews dl dd{
 padding: 5px 0 10px;
 font-size: 14px;
}
}/*spOnly*/


/*----------------------------------------------
      service  データ収集＆分析
---------------------------------------------*/
#serviceLead{
 background: url("../images/service_title.png") no-repeat center top/cover;
}
@media screen and (min-width: 992px) {
#aboutApp ul.pcFlex{
	gap: 0 40px;
}
#aboutApp ul.pcFlex li{
 position: relative;
	width: calc((100% - 40px*3) / 4);
}
#aboutApp ul.pcFlex li p{
	font-size: min(1vw,16px);
}
 #aboutApp ul.pcFlex li + li::before{
  content: "";
  display: block;
  background: #ccc;
  clip-path: polygon(0% 20%, 60% 20%, 60% 0%, 100% 50%, 60% 100%, 60% 80%, 0% 80%);
  width: 20px;
  height: 20px;
  position: absolute;
  right: 100%;
  top: 30%;
  bottom: auto;
  margin: auto 10px auto 0;
 }

}/*-PC only-*/
@media screen and (max-width: 991px) {/*SP*/
#aboutApp ul li{
 position: relative;
	margin-bottom: 40px;
}
 #aboutApp ul.pcFlex li + li::before{
  content: "";
  display: block;
  background: #ccc;
  clip-path: polygon(0% 20%, 60% 20%, 60% 0%, 100% 50%, 60% 100%, 60% 80%, 0% 80%);
  width:25px;
  height: 30px;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 100%;
  margin: 0 auto 5px auto;
  -webkit-transform: rotate(90deg);
transform: rotate(90deg);
 }
}/*spOnly*/

#dataProvided .bgW{
	padding: 30px;
}
#dataProvided .bgW .imgC{
	margin-bottom: 0;
}
@media screen and (max-width: 991px) {/*SP*/
	#dataProvided .bgW{
		padding: 15px 5%;
	}
}/*spOnly*/
 
.tabNavi {
 display: flex;
 gap:0 5px;
 margin-top: 30px;
}
.tabNavi li{
 position: relative;
 display: flex;
 align-items: center;
 border: 2px #4cd5c5 solid;
 border-bottom: none;
 padding: 15px min(2.2%,20px);
 /* color: #4cd5c5;
 background: #fff;*/
 line-height: 1.4;
 cursor: pointer;
 width: 33%;
 background: #4cd5c5;
 color: #fff;
 transition: background-color .4s, opacity .4s, color .4s;
}
.tabNavi li:hover{
	background: #fff;
	color: #4cd5c5;
}
.tabNavi li.current{
 background: #dd0330;
 border: 2px #dd0330 solid;
 color: #fff;
}
.tabNavi li.current:not(:last-child)::after{
 content: "";
 background-color:#dd0330;
  width: 16px;
  height: calc(100% + 2px);
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
 position: absolute;
 top: -2px;
 left:calc(99.9% + 2px);
 z-index: 1;
}
.disnon{
 display: none;
}
.tabPanel{
 border: 5px #4cd5c5 solid;
 padding: 20px;
}
.tabPanel h5{
	color: #000;
}
.tabPanel figure{
 padding: 0 10px;
}
@media screen and (max-width: 991px) {/*SP*/
.tabNavi li{
	font-size: 13px;
	letter-spacing: 0;
	padding: 5px 1% 5px 3.5%;
}
.tabNavi li.current{
	padding-right: 0;
}
.tabNavi li.current::after{
	width: 12px !important;
}
}/*spOnly*/

#appInfo{
	padding: 40px 0;
}
#appInfo .pcFlex .bnr{
	margin-bottom: 0;
}
#appInfo .pcFlex .bnr a{
	background:#4cd5c5;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	gap:0 20px;
 	font-size: 20px;
	font-weight: 500;
	height: 100px;
	padding-left: min(10.42%,50px);
  position: relative;
	transition: background-color .4s, opacity .4s, color .4s;
}
#appInfo .pcFlex .bnr a::before{
	content: "";
	background: url("../images/employee_service_pct03_wh.png") no-repeat left top / 100% auto;
	display: inline-block;
	width: 45px;
	height: 70px;
	position: absolute;
	left: min(15%,70px);
	top: calc(50% - 35px);
}
#appInfo .pcFlex .bnr a::after{
	border-top: 2px #fff solid;
	border-right: 2px #fff solid;
	content: "";
	display: block;
	width: 7px;
	height: 7px;
	margin-top: -4px;
	position: absolute;
	top: 50%;
	right: 22px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#appInfo .pcFlex .bnr a:hover{
	background: #fff;
	color: #4cd5c5;
}
#appInfo .pcFlex .bnr a:hover::after{
	border-top: 2px #4cd5c5 solid;
	border-right: 2px #4cd5c5 solid;
}
#appInfo .pcFlex .bnr a:hover::before{
	background: url("../images/employee_service_pct03.png") no-repeat left top / 100% auto;
}
 @media screen and (min-width: 992px) {
 #appInfo .pcFlex{
  align-items: center;
 }
 #appInfo .pcFlex .flex{
  width: 50%;
 }
 #appInfo .pcFlex .bnr{
  width: 48%;
 }
}/*-PC only-*/
 @media screen and (max-width: 991px) {/*SP*/
 #appInfo .pcFlex .flex div:nth-child(2){
		margin-top: 20px;
	}
 #appInfo .pcFlex .bnr{
  margin-top: 20px;
 }
 #appInfo .pcFlex .bnr a{
  gap:0 10px;
  font-size: min(4.8vw,18px);
	height: 80px;
	padding: 0 8% 0 15%;
 }
 #appInfo .pcFlex .bnr a::before{
  width: 30px;
	height: 47px;
	left: 5%;
	top: calc(50% - 23px);
 }
	#appInfo .pcFlex .bnr a::after{
		right: 15px;
	}
}/*spOnly*/

.dashboard .leadTxt,
.csv .leadTxt{
	font-size: 18px;
}
#dataProvided .sub_ttl{
	margin-top: 35px;
	padding-left: 50px;
	position: relative;
}
#dataProvided .sub_ttl::before{
	content: "";
	display: inline-block;
	width: 40px;
	height: 33px;
	position: absolute;
	left: 0;
	bottom: 0;
}
#dataProvided #statistics .sub_ttl::before{
	background: url("../images/ic_graph.svg") no-repeat left top / 100%;
}
#dataProvided #personalData .sub_ttl::before{
	background: url("../images/ic_person.svg") no-repeat left top / 100%;
}
#personalData{
	margin-top: 70px;
}
@media screen and (max-width: 991px) {/*SP*/
#dataProvided .sub_ttl{
	padding-left: 42px;
}
#dataProvided .sub_ttl::before{
	width: 32px;
	height: 24px;
	top: 5px;
}
}/*spOnly*/


.case{
	padding: 15px 15px 30px;
}
.case h4{
	color: #000;
	font-size: 20px;
	font-weight: 700;
}
@media screen and (max-width: 991px) {/*SP*/
	.case{
		padding-bottom: 15px;
	}
}/*spOnly*/

/*slide
-----------------------*/
.slideWrap{
 margin-top: 0;
 padding: 0 38px;
 overflow: hidden;
}
.slick-list{
	margin: 0 10px !important;
}
.caseSlider .slick-slide{
 background: #fff;
 border-radius: 10px;
 padding: 20px 40px;
}
.caseSlider .slick-slide> a.pcFlex{}
@media screen and (min-width: 992px) {
.caseSlider .slick-slide> a.pcFlex{
 align-items: center;
 } 
.caseSlider .slick-slide figure{
  width: 44%;
 height: 300px;
 }
 .caseSlider .slick-slide .txts{
  width: 52%;
 }
}/*-PC only-*/
.caseSlider .slick-slide figure{
 max-height: 300px;
}
.caseSlider .slick-slide figure img{
 object-fit: contain;
 width: 100%;
 height: 100%;
}
.caseSlider .slick-slide .txts h3{
 border-bottom:1px solid #4cd5c5;
 padding: 0 0 5px;
 font-size: 20px;
  margin-top: 5px;
}
.caseSlider .slick-slide .txts .subTit{
  background: #4cd5c5;
  font-size: 16px;
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin: 0;
  padding: 1px 5px 3px;
  display: inline-block;
}
.modalBox{
 padding: 20px 5%;
}
.modalBox h4{
 margin-bottom: 10px;
 font-size: 20px;
 font-weight: 500;
}
.modalBox figure.imgHalf{
	display: flex;
	gap: 20px;
}	

.modalBox dl dt span{
 color: #4cd5c5;
}

.modalBox dl dd{
  margin: 0 0 1em 1em;
}

.modalBox dl dd .smallList{
  margin-left: 2em;
}

.modalBox .compareTable{
  width: 100%;
  border-collapse: separate;
  border-spacing:5px;
}
.modalBox .compareTable thead th{
  border-bottom: 1px solid #d9d9d9;
}
.modalBox .compareTable th span{
  padding: 3px 20px;
  background: #f7f8fa;
  border: 1px solid #d9d9d9;
  display: block;
  text-align: center
}
.modalBox .compareTable th,
.modalBox .compareTable td{
  width: 25%;
  text-align: center;
}
.modalBox .compareTable td.f-large{
	width: 40%;
  font-size: 20px;
}
.modalBox .compareTable td.w-tite{
  width: 10%;
}
@media screen and (min-width: 992px) {
	.modalBox figure.imgHalf img{
		max-width: calc((100% - 20px) / 2) !important;
	}
  #case01.modalBox .pcFlex.half figure{
    width: auto;
  }
  #case01.modalBox .pcFlex.half .txts{
    width: 70%;
  }
}/*-PC only-*/
@media screen and (max-width: 991px) {/*SP*/
.slideWrap{
 margin: 0 -5vw;
 padding: 0 40px;
}
.caseSlider .slick-slide{
 padding: 20px 15px;
}
.caseSlider .slick-slide figure{
 margin: 0 0 10px;
}
.caseSlider .slick-slide .txts h3{
 font-size: 18px;
}
.modalBox figure.imgHalf{
	flex-wrap: wrap;
}
.slick-prev, .slick-next{
	width: 30px !important;
}
.slick-prev{
	left: -27px !important;
}
.slick-next{
	right: -27px !important;
}
.modalBox .compareTable th,
.modalBox .compareTable td{
	font-size: 13px;
}
.modalBox .compareTable td.f-large{
  font-size: 20px;
}
.modalBox .compareTable td.w-tite{
  padding: 0;
}
.modalBox .compareTable th span,
.modalBox .compareTable td{
	padding-left: 5px;
	padding-right: 5px;
}
.modalBox .compareTable td.f-large{
  font-size: 16px;
}
}/*spOnly*/

/*basic table
-----------------------*/
.basicTable{
	border: 1px solid #d9d9d9;
	width: 100%;
}
.basicTable th{
	background: #f7f8fa;
	text-align: center;
}
.basicTable th,
.basicTable td{
	border-right: 1px solid #d9d9d9;
	border-bottom: 1px solid #d9d9d9;
	padding: 10px;
}

/*bnr
-----------------------*/
.pagelinkBnr{
	margin: 40px auto;
	width: 90%;
	max-width: 800px;
}
.pagelinkBnr a{
	background:#4cd5c5;
	border: 2px #4cd5c5 solid;
	color: #fff;
	display: flex;
	gap:0 20px;
	justify-content: flex-start;
	align-items: center;
	font-size: 20px;
	font-weight: 500;
	height: 100px;
	overflow: hidden;
	position: relative;
	transition: background-color .4s, opacity .4s, color .4s;
}
.pagelinkBnr a::after{
	border-top: 2px #fff solid;
	border-right: 2px #fff solid;
	content: "";
	display: block;
	width: 7px;
	height: 7px;
	margin-top: -4px;
	position: absolute;
	top: 50%;
	right: 22px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.pagelinkBnr a:hover{
	background: #fff;
	color: #4cd5c5;
}
.pagelinkBnr a:hover::after{
	border-top: 2px #4cd5c5 solid;
	border-right: 2px #4cd5c5 solid;
}
.pagelinkBnr figure{
	height: 100%;
}
.pagelinkBnr figure img{
	width: 100%;
}
.pagelinkBnr span{
	display: block;
	width: calc(100% - 310px);
}
@media screen and (min-width: 992px) {
	.pagelinkBnr figure{
		max-width: 250px;
	}
}/*-PC only-*/
@media screen and (max-width: 991px) {/*SP*/
.pagelinkBnr a{
	font-size: min(5.2vw,20px);
	flex-wrap: wrap;
	gap:0 10px;
	height: auto;
	padding: 0;
}
.pagelinkBnr a::after{
	right: 15px;
	top: calc(50% + 2.75rem);
}
.pagelinkBnr figure{
	width: 100%;
}
.pagelinkBnr figure img{
	height: 80px;
	object-fit: cover;
	object-position: bottom;
	width: 100%;
}
.pagelinkBnr span{
	font-size: 16px;
	letter-spacing: 0.02em;
	padding: 10px 25px 10px 10px;
	text-align: center;
	width: 100%;
}
}/*spOnly*/


/*----------------------------------------------
      technology  SDK/API
---------------------------------------------*/



/*----------------------------------------------
      customer  顧客の安全運転意識を高めたい
---------------------------------------------*/
#customerLead{
 background: url("../images/customer_title.png") no-repeat center center/cover;
}

#customerServices h3{
	color: #4cd5c5;
	font-size: 24px;
	font-weight: 500;
	letter-spacing: 0.05em;
	margin: 40px 0 20px;
}
#customerServices table{
	border-bottom: 1px solid #d9d9d9;
}
#customerServices table th{
	border-left: 1px solid #d9d9d9;
	border-top: 1px solid #d9d9d9;
	padding: 16px;
	width: 30%;
}
#customerServices table td{
	border-left: 1px solid #d9d9d9;
	border-right: 1px solid #d9d9d9;
	border-top: 1px solid #d9d9d9;
	padding: 16px;
	width: calc(70% / 2);
}
#customerServices table td span{
	display: block;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.05em;
  margin-top: 10px;
}
#customerServices table figure{
	margin: 0 auto;
	width: 90%;
}
#customerServices table caption{
	background: rgba(76,213,197,.26);
	font-weight: 500;
	padding: 5px;
}
#customerServices h4{
  color: #4cd5c5;
  font-size: 20px;
  font-weight: 500;
  text-align: left
}
@media screen and (max-width: 991px) {
#customerServices h3{
	font-size: 20px;
}
#customerServices table th,
#customerServices table td{
	font-size: 13px;
	padding: 8px;
	text-align: left;
}
#customerServices table th{
	width: 32%;
}
#customerServices table td{
	width: calc(68% / 2);
}
#customerServices table tr:first-child td{
	vertical-align: top;
}
#customerServices table td span{
	font-size: 12px
}
}/*spOnly*/


/*----------------------------------------------
      residents  住民の安全運転意識を高めたい
---------------------------------------------*/
#residentsLead{
 background: url("../images/residents_title.png") no-repeat center center/cover;
}
#residentsServices h3:not(:first-of-type){
	margin-top: 70px;
}
#residentsServices h3:first-of-type{
	margin-top: 35px;
}
#residentsServices .aboutProject{
 margin-bottom: 40px;
}
#residentsServices h4,
#service02 h4{
	background: rgba(76,213,197,.26);
	font-size: 16px;
  font-weight: 500;
	line-height: 1.75;
  padding: 5px;
}
#residentsServices .aboutProject figcaption{
	font-size: 16px;
	font-weight: 500;
	margin-bottom: 5px;
}
#residentsServices .aboutProject .txts{
	padding: 30px 0 0 0;
}
.aboutProject h5{
	font-size: 20px;
}
@media screen and (min-width: 992px) {
	#residentsServices .aboutProject figure{
		margin-right: 20px;
		max-width: 350px;
	}
	#residentsServices .aboutProject .txts{
		width: calc(100% - 420px);
	}
  #service02 .aboutProject figure{
		margin-right: 20px;
		max-width: 400px;
	}
  #service02 .aboutProject .txts{
		width: calc(100% - 420px);
   padding: 30px;
	}
}/*-PC only-*/

@media screen and (max-width: 991px) {
	#residentsServices h3:not(:first-of-type){
		margin-top: 35px;
	}
	#residentsServices h3:first-of-type{
		margin-top: 20px;
	}
	#residentsServices table th,
	#residentsServices table td{
		font-size: 14px;
		padding: 5px;
		width: calc(100% / 3);
	}
	#residentsServices .aboutProject .txts{
		padding: 10px 0 ;
	}
  #service02 .aboutProject .txts{
		padding: 10px 5%;
	}
	#residentsServices .aboutProject figure,
  #service02 .aboutProject figure{
		margin-bottom: 20px;
	}
	#residentsServices .aboutProject h5,
  #service02 .aboutProject h5{
		font-size: 18px;
	}
}/*spOnly*/
#case02.residentsModal h5{
 border-left: 5px #4cd5c5 solid;
 padding: 0 0 0 10px;
 margin-bottom: 15px;
 font-size: 16px;
 font-weight: 500;
}
#case02.residentsModal table th{
	width: 20%;
}
#case02.residentsModal table td{
	width: 80%;
}
#case02.residentsModal table.tdRow2{
	table-layout: fixed;
}
#case02.residentsModal table.tdRow2 td{
	text-align: center;
	width: 40%;
}
#case03.residentsModal table td{
	text-align: center;
}


/*----------------------------------------------
   faq   よくある質問
---------------------------------------------*/
.ttlArea a{
 text-decoration: underline;
}
.faq-list-item dt{
 position: relative;
 padding: 0 0 0 20px;
 margin-bottom: 10px;
 font-weight: 500;
}
.faq-list-item dt::before{
 content: "";
 display: block;
 background-color: #4cd5c5;
 width: 8px;
 height: 9px;
 clip-path: polygon(0 0, 0% 100%, 100% 50%);
 position: absolute;
    top: .7em;
    left: 0;
}
.faq-list-item dd{
 border-bottom: 1px #000 dotted;
 padding: 0 0 20px;
}
.faq-list-item dd + dt{
 margin-top: 20px;
}
.faq-list-item .flex{
 gap:15px 20px;
}
.faq-list-item .flex li{
 max-width: 220px;
}
@media screen and (max-width: 991px) {
 .faq-list-item .flex{
 justify-content: center;
}
}/*spOnly*/


/*----------------------------------------------
      data  手軽に運転データを収集・分析したい
---------------------------------------------*/
#dataLead{
 background: url("../images/data_title.png") no-repeat center center/cover;
}

@media screen and (min-width: 992px) {
	#dataServices .btnArea li{
		width: calc((100% - 20px) / 2);
	}
}/*-PC only-*/


@media screen and (min-width: 992px) {}/*-PC only-*/
@media screen and (max-width: 991px) {}/*spOnly*/



/*----------------------------------------------
      Policy
---------------------------------------------*/

.inner.policy h5{
  font-size: 18px;
  margin-top: 30px;
  text-align: left
}

.inner.policy p,
.inner.policy li{
  text-align: left;
  margin-bottom: 18px
}
.inner.policy li{
  margin-left:1.5em;
  list-style: disc;
}

/*----------------------------------------------
      footer
---------------------------------------------*/


.section.cc-cta {
  background-color: var(--alice-blue-2);
  justify-content: flex-end;
  margin-top: auto;
  margin-left: 0;
  margin-right: 0;
  display: flex;
  position: static;
  flex-direction: column;
  padding-left: 30px;
  padding-right: 30px;
}
.section.cc-cta * {
  text-align: center;
}
.container {
  background-color: #0000;
  margin-left: auto;
  margin-right: auto;
  position: static;
}
.cta-wrap {

  justify-content: center;
  padding-top: 0;
  padding-bottom: 40px;
  display: flex;
}

.cta-text {
  width: 70%;
  margin-bottom: 35px;
  margin-left: auto;
  margin-right: auto;
}
.paragraph-bigger.cc-bigger-light {
  opacity: 1;
  color: #807366;
  width: 100%;
  margin-bottom: 20px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 15px;
  line-height: 20px;
  display: block;
  font-weight: 400;
}
.button {
  background-color: #4cd5c5;
  padding:24px 70px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 20px;
  color: #fff;
  letter-spacing: 2px;
  text-transform: uppercase;
  border-radius:0;
  text-decoration:none;
  transition:background-color .4s, opacity .4s, color .4s;
}
.button:hover{
  color: #4cd5c5;
  background-color: #fff;
}
.w-inline-block {
  max-width: 100%;
  display: inline-block;
}

.link-3 {
  color: #807366;
  font-family: Noto Sans JP, sans-serif;
  font-size: 14px;
  text-decoration:none;
  display: inline-block;
  margin-top: 10px;
}
.footer-wrap {
  justify-content: center;
  align-items: center;
  padding-top: 20px;
  padding-bottom: 20px;
  display: flex;
}

.w-inline-block {
  display: inline-block;
}

.grid {

}
.w-layout-grid {
  grid-template-rows: auto auto;
  grid-auto-columns: 1fr;
  display: grid;
  grid-column-gap:0px;
  grid-row-gap:6px;
  grid-template-columns: 1fr;
  justify-items: center;
}

.paragraph-tiny {
  font-size: 12px;
  line-height: 20px;
}
