/* 汎用 cartender */
:root {
--c-dblue: #002870;
--c-blue: #204C99;
--c-blue2: #0079C2;
--c-sky: #4d9af7;
--c-lblue: #E0EEFE;
--c-pale: #EFF9FF;
--c-red: #B50005;
--c-tomato: #EF5151;
--c-green:#24C3B7;
--c-gray:#F0F0F0;
--c-yellow:#FFFF00;
--c-orange:#C7572F;
--c-violet:#7A65D8;
--c-reuse:#1304C6;
}

.red{
	color:  var(--c-red); 
}

.tomato{
	color:  var(--c-tomato); 
}

section.bg-green,
.bg-blue {
		background-color: var(--c-blue);
		color: #fff;
}

.bg-blue2 {
		background-color: var(--c-blue2);
		color: #fff;
}

.bg-gray {
		background-color: var(--c-gray);
}
section.bg-lightblue,
.bg-pale {
		background-color: var(--c-pale);
}

.center { text-align: center!important; }

.contents-area{
	line-height: 1.7;
}

/*SP*/
@media screen and (max-width: 540px) {
	.contents-area{ font-size: 14px;}
}

/* .f16{ font-size: 1em;} pとかでフォントサイズはこれでつけるときはこれを使うといい感じにスマホで小さくなる。*/
.contents-area .f14{ font-size: 0.875em; }
.contents-area .f18{ font-size: 1.125em; } /*18px*/
.contents-area .f20{ font-size: 1.25em;}
.contents-area .f22{ font-size: 1.375em; }
.contents-area .f24{ font-size: 1.5em; }
.contents-area .f30{ font-size: 1.875em; }
.contents-area h2{line-height: 1.5;}/*24px*/
.contents-area h3{line-height: 1.5;}/*22px*/

@media screen and (max-width: 540px) {
	.contents-area .f18{ font-size: 1em; } /*18px*/
}


/*SP 全体に勝手に小さくなる。*/

/*SYU文字*/
.moji-syu{
	display: inline-block;
	font-size: 1.5em;
	font-weight: 500;
	transform: translateY(0.05em);
}

/*common 上書き*/
section.page-contents h3{
	color: var(--c-blue2);
}
section.pos-centering .inner h2.ic-line-undergreen::after {
background-color: var(--c-blue2);
}

#aibanner .inner .sodan {
	background-color: var(--c-sky);
}
#to-top li img {
	background-color: var(--c-blue);
}


/*.bn_campaign{
	position: fixed;
	bottom: 20px;
	right: 5vw;
	max-width: 30vw;
	z-index: 199;
}*/
.bn_campaign{
	position: inherit;
	width: 100%;
	padding: 30px;
	text-align: center;
	box-sizing: border-box;
}
.bn_campaign img{
	width: 100%;
	max-width: 480px;
}

@media screen and (max-width: 1100px) {
	/*.bn_campaign{
		bottom: calc(105px + 2vw);
		right: auto;
		left: 2vw;
		max-width: 96vw;
		z-index: 199;
	}*/
}

@media screen and (max-width: 1100px) {
	.bn_campaign{
		position: inherit;
		width: 100%;
		padding: 30px;
		text-align: center;
		box-sizing: border-box;
	}
	.bn_campaign img{
		width: 100%;
		max-width: 480px;
	}
}

/* /common 上書き*/
.contents-area * {    
		-webkit-box-sizing: border-box;
			 -moz-box-sizing: border-box;
				 -o-box-sizing: border-box;
				-ms-box-sizing: border-box;
						box-sizing: border-box;
}

.contents-area figure {margin: 0; line-height: 1;}

.contents-area em{
	font-style: normal;
	display: inline-block;
}

.contents-area .large{font-size: 1.2em;}

.contents-area ._flex{
	display: flex;
}

.contents-area ._over{
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

.contents-area ._inner {
		/* border: 1px solid red; */
		margin: 0 auto;
		padding: 0 15px;
		width: 100%;
		max-width: 1200px;
}

.custom-ul-list li{
	list-style-type:unset;
	list-style-position: inside;
}
.contents-area img{
	width: 100%;
}

.hr-line{
	padding: 8px;
	background: #0079C2;
	margin: -1px;
}

.mbl{ margin-bottom: 100px!important;}
.mb{ margin-bottom: 50px!important;}
.mbs{ margin-bottom: 20px!important;}
.mtl{ margin-top: 100px!important;}
.mt{ margin-top: 50px!important;}
.mts{ margin-top: 20px!important;}
.ptl{ padding-top: 100px!important;}
.pt{ padding-top: 50px!important;}
.pts{ padding-top: 20px!important;}
.pbl{ padding-bottom: 100px!important;}
.pb{ padding-bottom: 50px!important;}
.pbs{ padding-bottom: 20px!important;}
.plr{padding-left: 10px; padding-right: 10px}
.bdrb { border-bottom: 1px solid  #ddd; }

@media screen and (max-width: 540px){
	.mbl{ margin-bottom: 40px!important;}
	.mb{ margin-bottom: 25px!important;}
	.mbs{ margin-bottom: 10px!important;}
	.mtl{ margin-top: 40px!important;}
	.mt{ margin-top: 25px!important;}
	.mts{ margin-top: 10px!important;}
	.ptl{ padding-top: 40px!important;}
	.pt{ padding-top: 25px!important;}
	.pts{ padding-top: 10px!important;}
	.pbl{ padding-bottom: 40px!important;}
	.pb{ padding-bottom: 25px!important;}
	.pbs{ padding-bottom: 10px!important;}
}

/* YouTube
   ======================================== */
div.contents_youtube {
  max-width: 640px;
  margin: 30px auto;
  width: 100%;
  aspect-ratio: 16 / 9;
}
div.contents_youtube iframe {
  width: 100%;
  height: 100%;
}


.c_title {
	font-size: 1.5em;
	/* color: #000000; */
	letter-spacing: 0.05em;
	text-align: center;
	position: relative;
	margin-bottom: 2em;
	font-weight: bold;
	line-height: 1.5;
}

.c_title::after {
		content: '';
		width: 100px;
		height: 4px;
		display: inline-block;
		background-color: var(--c-blue2);
		position: absolute;
		bottom: -10px;
		left: calc(50% - 55px);
}

.c_title._white::after {
	background-color: #fff;
}

.c_ulinetitle{
	text-align: center;
	color:var(--c-blue2);
	font-size: 2.625em;
	letter-spacing: 0.05em;
	margin-bottom: 1em;
}

.c_ulinetitle > *{
	display: inline;
	margin-left: auto;
	margin-right: auto;
	/* border-bottom: 6px solid var(--c-yellow); */
	background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0) 80%, var(--c-yellow) 80%, var(--c-yellow) 100%);
}

.c_linetitle {
	font-size: 1.5em;
	margin-bottom: 1em;
	position: relative;
	padding-left: 2em;
}

@media screen and (max-width: 768px){
	.c_ulinetitle{
		font-size: 1.7em;
	}
}

/* @media screen and (max-width: 540px){
	.c_ulinetitle{
		font-size: 1.5em;
	}
} */

.c_linetitle::before{
	content: "";
	width: 1.4em;
	height: 3px;
	background-color: var(--c-sky);
	position: absolute;
	top: 50%;
	left: 0%;
	transform: translateY(-50%);
}

.c_linetitle._small{
	position: relative;
	font-size: 1.375em; /*22px*/
	margin-bottom: 1.5em;
	padding-left: 1.5em;
}

/*SP*/
/* @media screen and (max-width: 540px) {
	.c_linetitle._small{
		font-size: 1.25em;
	}
} */

.c_linetitle._small::before{
	content: "";
	width: 1em;
	height: 3px;
	background-color: var(--c-blue);
	position: absolute;
	top: 50%;
	left: 0%;
	transform: translateY(-50%);
}

.c_linetitle._white:not(:hover){
	color: #fff;
}

.c_linetitle._white::before{
	background-color: #fff;
}

.c_linetitle._red::before{
	background-color: var(--c-red);
}

.count_list{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 15px;
}

.count_list li{
	text-align: center;
	background-color: var(--c-blue2);
	padding: 20px;
	border-radius: 10px;
	color:white;
	font-weight: bold;	
	font-size: 1.875em;
}

.count_list li span{
	color: var(--c-yellow);	
}

/*SP*/
@media screen and (max-width: 540px) {
	.count_list li{
		padding: 10px;
		font-size: 1.3em;	
	}	
	
	.count_list li span{
		display: block;
		font-size: 1em;	
	}
}

.cta_btn { 
	padding: 20px 0;
	background-color: var(--c-sky);
	color: #fff; 
	font-size: 1.375em;
	line-height: 1; 
	width: 100%; max-width: 480px; 
	margin: 2em auto 0 auto; 
	display: block; 
	text-align: center; 
	border-radius: 50px;
	border: 2px solid #fff;
	font-weight: bold;
	position: relative;
}

/* .cta_btn:after {
		content: "";
		display: inline-block;
		background: url(../images/common/icon_arrow_w.svg) no-repeat;
		width: 7px;
		height: 13px;
		background-size: cover;
		position: relative;
		transform: translate(30px , -1px);
} */

.cta_btn::after{
		content: "";
		display: inline-block;
		width: .5em;
		height: .5em;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		transform: translate(0, -0.05em) rotate(45deg);
		margin-left: .5em;
}

a[target='_blank']:after {
		background: url(../images/common/icon_link_w.svg) no-repeat;
		border:none;
		width: 13px;
		height: 10px;
		background-size: cover;
		transform: translate(0, -0.05em) rotate(0);
}

a._white[target='_blank']:after {
	background-image: url(../images/common/icon_link_b.svg) ;
}

.cta_btn:hover { background-color: var(--c-dblue); }


@media screen and (max-width:540px) {
	.cta_btn {
		/* font-size: 1.25em; */
		max-width: 420px;
	}
}

.cta_btn._middle{
	padding: 17px 50px; 
	font-size: 1.25em;
	display: inline-block;
	width: auto;
	margin-top: 1.5em;
	text-align: center;
}

/*スモールメニュー*/
@media screen and (max-width: 540px) {
	.cta_btn._middle{
		font-size: 1.125em;
	}
}

.cta_btn._small{ 
	padding: 10px 30px; 
	font-size: 1em; 
	display: inline-block;
	width: auto;
	/*max-width: 100%;  */
	margin-top: 1.5em;
	text-align: center;
}

.cta_btn._wide{
	max-width: 600px;
	/* background-color: var(--c-tomato); */
}

.cta_btn._white:not(:hover){
	background-color: #fff;
	color: var(--c-blue);
}

.cta_btn._white:not(:hover)::after{
	border-color: var(--c-blue);
}

.cta_btn._tomato:not(:hover){
	background-color: var(--c-tomato);
}

.cta_btn._blue:not(:hover){
	background-color: var(--c-blue);
}


.cta_btn._green:not(:hover){
	background-color: #98AE6A;
	margin-left: 20px;
}
.cta_btn._green:hover{
	background-color: #677548;
	margin-left: 20px;
}
/* .cta_btn._blue:hover{
	background-color: var(--c-blue2);
} */


/*** .c_grid2vs1 左右の比率が2:1のグリッド ***/
.c_grid2vs1 {
		display: grid;
		grid-template-columns: 2fr 1fr;
		gap: 15px;
}

@media screen and (max-width: 768px) {
	.c_grid2vs1 {
		grid-template-columns: 1fr;
	}
	
	.c_grid2vs1 > figure{
		text-align: center;	
	}
}


/*** .c_grid321 メディアによって3→2→1 列に変わるグリッド ***/
.c_grid321{
	/* margin-top: 20px; */
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 15px;
}

@media screen and (max-width: 768px) {
	.c_grid321{
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (max-width: 600px) {
	.c_grid321{
		grid-template-columns: repeat(1, 1fr);
	}
}

/*白ボックス、シャドウ落ち*/
.c_whitebox > *{
	background-color: #fff;
	box-shadow: 0px 0px 9px -3px #777777;
	right: auto;
	color:#000;
	border-radius: 10px;
	margin: 15px 0;
}

/* .c_whitebox > *:first-child{
	margin-top: 0;
} */

.c_pad > *{
	padding: 50px;
}

.c_pads > *{
	padding: 25px;
}

/*SP*/
@media screen and (max-width: 768px) {
	.c_pad > *{
		padding: 20px;
	}
	
	.c_pads > *{
		padding: 10px;
	}
}


/*** .c_photolist 写真のあるリスト ***/
.c_photolist > *{
	background-color: #fff;
	padding: 20px;
	border-radius: 10px;
	box-shadow: 0px 0px 9px -3px #777777;
	margin: 15px 0;
	display: grid;
	grid-template-columns: 2fr minmax(250px, 1fr);
	padding: 50px;
	gap: 30px;
	}

.c_photolist > *:first-child{
	margin-top: 0;
}

.c_whitebox h3,
.c_photolist h3{
	font-size: 1.875em;
	color: var(--c-blue2);
	margin-bottom: 0.5em;
}

@media screen and (max-width: 768px) {
	
	.c_whitebox h3,
	.c_photolist h3{
		font-size: 1.5em;
	}
	
	.c_photolist > * {
		grid-template-columns: 1fr;
		padding: 20px;
	}

	.c_photolist figure{
		text-align: center;	
	}

}

/*SP*/
/* @media screen and (max-width: 540px) {
	.c_photolist h3{
		font-size: 1.75em;
	}
	
} */

/*** .c_flex21 メディアによって2→1 列に変わるグリッド gapは15 ***/
.c_flex21{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.c_flex21 img{
	width: 100%;	
	object-fit: cover;
	max-height: 425px;
}

.c_flex21 > *{
	width: calc((100% - 40px) / 2 );
	border-radius: 10px;
	margin: 10px;
}

/*SP*/
@media screen and (max-width: 768px) {
	.c_flex21 > *{
		width: 100%;
	}	
}



/*** .c_flex321 メディアによって3→2→1 列に変わるグリッド gapは15 ***/
.c_flex321{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
	
.c_flex321 > *{
	width: calc((100% - 45px) / 3 );
	border-radius: 10px;
	margin: 7.5px;
	/* box-shadow: 0px 0px 9px -3px #777777; */
}

/*Tablet*/
@media screen and (max-width: 768px) {
	.c_flex321 > *{
		width: calc((100% - 30px) / 2 );
	}	
}

/*SP*/
@media screen and (max-width: 540px) {
	.c_flex321 > *{
		width: 100%;
	}	
}

/*** .c_flex22 メディアによって2→2 列に変わるグリッド ***/
.c_flex22{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.c_flex22 > *{
	width: calc((100% - 100px) / 2 );
	border-radius: 10px;
	margin: 7.5px;
	/* box-shadow: 0px 0px 9px -3px #777777; */
}

/*Tablet*/
@media screen and (max-width: 768px) {
	.c_flex22 > *{
		width: calc((100% - 80px) / 2 );
	}
}

/*SP*/
@media screen and (max-width: 540px) {
	.c_flex22 > *{
		width: 100%;
	}
}

/*** .c_grid21 メディアによって2→1 列に変わるグリッド ***/
.c_grid21{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin: 0 5vw;
}

@media screen and (max-width: 768px) {
	.c_grid21{
		margin: 0;
		grid-template-columns: repeat(1, 1fr);
	}
}

/* .c_figbox h3{
	color: var(--c-blue);
	margin-bottom: 0.5em;
}

.c_figbox .center{
	position: absolute;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
}

.c_figbox figure{
	width: 100%;
}

.c_figbox figure img{
	width: 100%;
}

.c_figbox ._box{
	position: relative;
	background-color: #fff;
	padding-bottom: 60px;
}
.c_figbox ._box > div {
	padding: 15px;
} */



/*** .network ***/
.network{ 
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.network div{ 
	width: 50%;
}
@media screen and (max-width: 768px) {
	.network div{ 
	width: 100%;
	}
}

.network_link {
	display: flex;
	flex-wrap: wrap;
}
.network_link li {
	font-size: 1.125em;
	width: 45%;
	margin: 10px 1%;
}
.network_link li a {
	color: #fff;
	border-radius: 30px;
	padding: 10px;
	display: block;
	text-align: center;
}
.network_link li a:after{
		content: "";
		display: inline-block;
		width: .5em;
		height: .5em;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		transform: translate(0, -0.05em) rotate(45deg);
		margin-left: .5em;
}
.network_link li a.area1,
#network_map svg .area1 path{
	background: #00AADD;
	fill: #00AADD;
}
.network_link li a.area2 {
	background: #59C3B6;
}
.network_link li a.area3 {
	background: #F3996F;
}
.network_link li a.area4 {
	background: #A5CE00;
}
.network_link li a.area5 {
	background: #F8B300;
}
.network_link li a.area6 {
	background: #8D68A0;
}
.network_link li a.area7 {
	background: #C48947;
}
.network_link li a.area8 {
	background: #EB762E;
}
.network_link li a.area9 {
	background: #D46CAC;
}
.network_link li a:hover{
	background-color: var(--c-dblue);
}

.network_link li div {
	cursor: pointer;
	width: 100%;
	color: #fff;
	border-radius: 30px;
	padding: 10px;
	display: block;
	text-align: center;
}
.network_link li div:after{
		content: "";
		display: inline-block;
		width: .5em;
		height: .5em;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		transform: translate(0, -0.05em) rotate(45deg);
		margin-left: .5em;
}
.network_link li div.area1,
#network_map svg .area1 path{
	background: #00AADD;
	fill: #00AADD;
}
.network_link li div.area2 {
	background: #59C3B6;
}
.network_link li div.area3 {
	background: #F3996F;
}
.network_link li div.area4 {
	background: #A5CE00;
}
.network_link li div.area5 {
	background: #F8B300;
}
.network_link li div.area6 {
	background: #8D68A0;
}
.network_link li div.area7 {
	background: #C48947;
}
.network_link li div.area8 {
	background: #EB762E;
}
.network_link li div.area9 {
	background: #D46CAC;
}
.network_link li div:hover{
	background-color: var(--c-dblue);
}
#network_map svg div:hover path{
	fill: var(--c-dblue);
}

#network_map g{
	cursor : pointer;
}

/* #network_map svg a:hover {
	fill: var(--c-dblue);
} */


@media screen and (max-width: 768px) {
	.network_link {
		display: flex;
		flex-wrap: wrap;
		margin-top: 20px;
		justify-content: center;
	}
	.network_link li {
		width: 45%;
		margin: 5px 1%;
	}
	.network_link li a {
		padding: 5px;
	}
}

@media screen and (max-width: 768px) {
	.network_link li div {
		padding: 5px;
	}
}

h3.network_area1 { 
	background: #00AADD;
	color: #fff!important;
	text-align: center;
	padding: 10px;
}

h3.network_area2 { 
	background: #59C3B6;
	color: #fff!important;
	text-align: center;
	padding: 10px;
}

h3.network_area3 { 
	background: #F3996F;
	color: #fff!important;
	text-align: center;
	padding: 10px;
}

h3.network_area4 { 
	background: #A5CE00;
	color: #fff!important;
	text-align: center;
	padding: 10px;
}

h3.network_area5 { 
	background: #F8B300;
	color: #fff!important;
	text-align: center;
	padding: 10px;
}

h3.network_area6 { 
	background: #8D68A0;
	color: #fff!important;
	text-align: center;
	padding: 10px;
}

h3.network_area7 { 
	background: #C48947;
	color: #fff!important;
	text-align: center;
	padding: 10px;
}

h3.network_area8 { 
	background: #EB762E;
	color: #fff!important;
	text-align: center;
	padding: 10px;
}

h3.network_area9 { 
	background: #D46CAC;
	color: #fff!important;
	text-align: center;
	padding: 10px;
}

h3.network_area { 
	background: #eee;
	text-align: center;
	padding: 7px;
	margin-bottom: 10px;
}

ul.network_area_spot { 
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 30px;
	overflow: hidden;
}
ul.network_area_spot li {
	width: 18%;
	font-size: 1.125em;
	margin: 0 0.5% 10px 0.5%;
	background-color: #fff;
	padding: 10px 10px;
	text-align: center;
	box-shadow: 5px 5px 5px #ddd;
	box-sizing: border-box;
	border: 1px solid  #ddd;
}
@media screen and (max-width: 768px) {
	ul.network_area_spot li {
	font-size: 1em;
	width: 48%;
	margin: 1%;
	background-color: #fff;
	padding: 10px 5px;
	text-align: center;
	box-shadow: 5px 5px 5px #ddd;
	box-sizing: border-box;
	border: 1px solid  #ddd;
}
}



/*** .s_service_grid サービス紹介グリッド ***/
.s_service_grid{ 
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	row-gap: 15px;
	column-gap: 7.5px;
}

.s_service_grid ._box{
	border-radius: 10px;
	border: 2px solid #fff;
	box-shadow: 0px 0px 9px -3px #777777;
	text-align: left;
	color: #fff;
	position: relative;
}



.s_service_grid ._over .cta_btn{
	position: absolute;
	bottom: 20px;
	left: 20px;	
	text-align: left;
	background-color: #fff;
	color: var(--c-blue);
	font-weight: bold;
}
.s_service_grid ._over .cta_btn:after{
/* .s_service .cta_btn:not(:hover):after{ */
	border-color: var(--c-blue);	
}

.s_service_grid ._box_kai ._over .cta_btn{
	color: var(--c-green);
}

.s_service_grid ._box_kai ._over .cta_btn:after{
	border-color: var(--c-green);
}

.s_service_grid ._box_syu ._over .cta_btn{
	color: var(--c-orange);
}

.s_service_grid ._box_syu ._over .cta_btn:after{
	border-color: var(--c-orange);
}

.s_service_grid ._box_re ._over .cta_btn{
	color: var(--c-reuse);
}

.s_service_grid ._box_re ._over .cta_btn:after{
	border-color: var(--c-reuse);
}

.s_service_grid ._over:hover .cta_btn{
	color:#fff;
	background-color: var(--c-dblue);
}

.s_service_grid ._over:hover .cta_btn:after{
	border-color: #fff;
}

.s_service_grid ._box ._inr{
	padding: 10px;
	padding-bottom: 70px;
	height: 100%;
	/* min-height: 140px; */
	position: relative;
}
.header_2parts figure._abs{
	max-width: 180px;
	max-height: 180px;
}

.s_service_grid ._abs{
	/* border: 1px solid green; */
	position: absolute;
	top: 5px;
	right: 5px;
	max-width: 150px;
	max-height: 150px;
}

.s_service_grid h3{
	/* border: 1px solid red; */
	font-size: 1.25em;
	margin-right: 140px;
}

.s_service_grid ._box_syu_w .cta_btn{
	color: var(--c-orange);
}
.s_service_grid ._box_syu_w .cta_btn::after{
	border-color: var(--c-orange);
}
.s_service_grid ._box_syu_w ._box_syu ._inr{
	padding: 20px;
}
.s_service_grid ._box_syu_w ._box_syu ._inr ._content{
	display: flex;
	flex-direction: row;
	padding-bottom: 50px;
	margin-right: 250px;
}
.s_service_grid ._box_syu_w ._inr ._abs {
    position: absolute;
    top: 5px;
    right: 30px;
    max-width: 200px;
    max-height: 200px;
}
.s_service_grid ._box_syu_w{
	grid-column: 1 / 4;
	display: grid;
}
.display_pc{
	display: block;
}
.display_sp{
	display: none;
}

._box_ai{
	background-color: #0498de;
	background: url(../images/common/rnd.svg),linear-gradient(0deg, #0498de 0%, #66caf9 100%);
	background-position: right -30px , center;
	background-size :50%, 100%;
	background-repeat: no-repeat, repeat;
}

._box_kai{
	background: #15ACA0;
	background: url(../images/common/rnd.svg), linear-gradient(0deg, #15ACA0 0%, #32D9CE 100%);
	background-position: right -30px , center;
	background-size :50%, 100%;
	background-repeat: no-repeat, repeat;
}

._box_syu{
	background: #C7572F;
	background: url(../images/common/rnd.svg), linear-gradient(0deg, var(--c-orange) 0%, #FF9A76 100%);
	background-position: right -30px , center;
	background-size :50%, 100%;
	background-repeat: no-repeat, repeat;
}

._box_re{
	background: #7A65D8;
	/*background: url(../images/common/rnd.svg), linear-gradient(0deg, var(--c-reuse) 0%, #B6A5FF 100%);*/
	background: url(../images/common/rnd.svg), linear-gradient(0deg, var(--c-reuse) 0%, #6695ED 100%);
	background-position: right -30px , center;
	background-repeat: no-repeat, repeat;
	background-size :40%, 100%;
	left: 7.5px;
}

.s_service_grid ._box_ai_w figure{
	height: 100%;
}

.s_service_grid ._box_ai_w ._box_ai{
	border-radius: 10px 0 0 10px;
}

.s_service_grid ._box_ai_w img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0 10px 10px 0;
}

/*Mid*/
@media screen and (min-width: 768px) and (max-width: 1100px) {
	.s_service_grid ._abs{
		max-width: 110px;
		max-height: 110px;
	}
	.s_service_grid h3,
	.s_service_grid ._box_ai_w p{
		margin-right: 100px;
	}
	
}

@media screen and (max-width:768px) {
	.s_service_grid{ 
		grid-template-columns: repeat(2, 1fr);
	}
	
	.display_pc{
		display: none !important;
	}
	.display_sp{
		display: block;
	}
	._box_re{
		left: 0;
	}
	.s_service_grid ._box_syu_w ._inr ._abs {
		max-width: 150px;
		max-height: 150px;
	}
}


@media screen and (max-width:600px){
	
	/* .s_service_grid h3{
		font-size: 1em;
	} */
	
	.s_service_grid ._box_ai_w{
		grid-column: 1 / 2;
	}	
	
	.s_service_grid{
		grid-template-columns: 1fr;
	}
}

/*** .s_news ニュース ***/
.s_news ._inr{
	color: #000;
	border-radius: 10px;
	background-color: #fff;
	padding: 20px;
}	

.s_news ._inr li{
	display: grid;
	grid-template-columns: 110px 140px 1fr;
	font-size: 1.125em;
}

.s_news ._inr li + li{
	margin-top: 15px;
}

.s_news ._cate span{
	display: inline-block;
	background-color: orange;
	padding: 5px 10px;
	line-height: 1;
	color: #fff;
	display: inline-block;
}

/*Tablet*/
@media screen and (max-width: 768px) {
	.s_news ._inr{
		padding: 10px;
	}	

	.s_news ._inr li{
		grid-template-columns:  1fr 120px;
		font-size: 1em;
		/* grid-template-rows: auto auto 1fr; */
	}
	
	.s_news ._cate{
		text-align: right;
	}
	
	.s_news ._text{
		grid-column: 1 / 3;
		grid-row: 2 / 2;
	}
}

/*** .s_news_doc ニュース記事 ***/
.s_news_doc ._header{
	display: grid;
	grid-template-columns: 100px 1fr;
}

.s_news_doc h2.news_title{
	margin-top: 1em;
	background-color: var(--c-lblue);
	color: var(--c-blue);
	padding: .8em 1em;
}

.news_inner h2{
	margin-bottom: 3em;
}

.news_inner p {
	margin-bottom: 1.5em;
}

/* .news_inner a{
	display: block;
} */


/*** .s_reason 選ばれる理由 ***/
.s_reason{
	background: url(../images/common/icon_earth.svg), linear-gradient(0deg, #e6e6e6 40%, #fff 60%);
	background-size: 70%, 100%;
	background-position: right top;
	background-repeat: no-repeat;
}

.s_reason .lead{
	font-weight: bold;
}


.s_reason ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	font-weight: bold;
}
	
.s_reason li{
	/* width: calc((100% - 60px) / 3 ); */
	border-radius: 10px;
	/* margin: 10px; */
	padding: 15px;	
	background-color: #fff;
	box-shadow: 0px 0px 9px -3px #777777;
}

/*スモールメニュー*/
@media screen and (max-width: 540px) {
	.s_reason .f24{
		font-size: 1.25em;
	}
}


/*** .s_jisseki 実績 ***/
.s_jisseki ._inner{
	overflow: hidden;
	max-width: 1690px;
	padding-left: 50px;
	padding-right: 50px;
}

.jisseki-slider .slick-slide {
	width: 300px;
	/* height: 450px; */
	margin: 0 10px;
	position: relative;
	overflow: hidden;
	color:#000;
	background-color: #fff;
	border: 1px solid #fff;
	border-radius: 10px;
	padding: 0 14px 14px;
	font-size: .9375em;
}

.jisseki-slider .slick-slide h3{
	text-align: center;
	background-color: var(--c-green);
	border-radius: 0 0 10px 10px;
	width: 100%;
	color: #fff;
}

.jisseki-slider .slick-slide._box_syuri h3{
	background-color: var(--c-tomato);	
}

.jisseki-slider .slick-slide._box_suigai h3{
	background-color: var(--c-blue2);	
}

.jisseki-slider .slick-slide h4{
	/* font-weight: normal; */
	border-bottom: 1px solid #ccc;	
}

.jisseki-slider .slick-slide h4 strong{
	font-size: 1.2em;	
}

.jisseki-slider .slick-slide .car-state{
	text-align: center;
	background-color: var(--c-green);
	border-radius: 0 0 10px 10px;
	width: 100%;
	color: #fff;
	font-size: 1.17em;
    font-weight: bold;
}

.jisseki-slider .slick-slide._box_syuri .car-state{
	background-color: var(--c-tomato);	
}

.jisseki-slider .slick-slide._box_suigai .car-state{
	background-color: var(--c-blue2);	
}

.jisseki-slider .slick-slide .car-name{
	/* font-weight: normal; */
	border-bottom: 1px solid #ccc;	
    font-weight: bold;
}

.jisseki-slider .slick-slide .car-name strong{
	font-size: 1.2em;	
}

.jisseki-slider .slick-slide figure{
	margin: 10px auto;
	width: 100%;
	height: 180px;
}

.jisseki-slider .slick-slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.jisseki-slider .slick-slide .price strong{
	font-size: 1.4em;
	color: var(--c-tomato);
	margin-left: .5em;
}

.jisseki-slider .slick-slide table{
	border-collapse: collapse;
	width: 100%;
	border: 1px solid #ccc;
}

.jisseki-slider .slick-slide th,
.jisseki-slider .slick-slide td{
	border: 1px solid #ccc;
	font-weight: normal;
	text-align: center;	
}

.jisseki-slider .slick-slide th{
	background-color: #f2f2f2;
}


.jisseki-slider .slick-arrow {
	width: 30px;
	height: 80px;
	cursor: pointer;
	border: none;
	outline: none;
	font-size: 0;
	position: absolute;
	top: 50%;
	z-index: 1;
}
.jisseki-slider .slick-arrow::before {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-top: 40px solid transparent;
	border-left: 20px solid #fff;
	border-bottom: 40px solid transparent;
	position: absolute;
	top: 0;
}
.jisseki-slider .slick-next {
	right: -55px;
}
.jisseki-slider .slick-prev {
	left: -55px;
}

/*スモールメニュー*/
@media screen and (max-width: 540px) {
	
	.s_jisseki ._inner{
		padding-left: 30px;
		padding-right: 30px;
	}
	
	.jisseki-slider .slick-next {
		right: -35px;
	}
	.jisseki-slider .slick-prev {
		left: -35px;
	}
}

.jisseki-slider .slick-next::before {
	left: 0;
}
.jisseki-slider .slick-prev::before {
	border-right: 20px solid #fff;
	border-left: 0px;
	right: 0;
}
.s_jisseki .dots .slick-dots {
	text-align: center;
}
.s_jisseki .dots .slick-dots li {
	display: inline-block;
}
.s_jisseki .dots .slick-dots button {
	display: block;
	width: 10px;
	height: 10px;
	margin: 6px;
	font-size: 0;
	padding: 0;
	border: 0;
	outline: none;
	cursor: pointer;
	background: #bcbcbc;
	border-radius: 50%;
}
.s_jisseki.dots .slick-dots .slick-active button {
	background: #0a467d;
}

/*PC*/
/* @media screen and (max-width: 1500px) {
	.jisseki-slider .slick-next,
	.jisseki-slider .slick-prev {display: none!important;}
} */


/*** .s_youtube ***/
.s_youtube ._inner{
	overflow: hidden;
	max-width: 1400px;
	padding-left: 30px;
	padding-right: 30px;
	padding-top: 20px;
}

.s_youtube .movie {
		position: relative;
		width: 100%;
		padding: 56.25% 0 0 0;
}

.s_youtube .movie iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100% !important;
		height: 100% !important;
}

.s_youtube h4{
	font-size: 1.125em;
}

.s_youtube .caption{
	padding: 20px;
}

/*SP*/
/* @media screen and (max-width: 540px) {
	.youtube-slider .slick-slide {
		width: 80vw;	
	}
	
	.youtube-slider .caption{
		padding: 10px;
	}
} */

/*** .s_support サポート ***/
.s_support ._box{
	text-align: left;
	display:flex;
	flex-direction: column;
	gap: 0 30px;
	position: relative;
}

.s_support ._box figure{
	overflow:hidden;
	max-height: 50%;
	grid-column: 1 / 2;
	grid-row: 1 / 4;
}

.s_support ._box h3{
	color:var(--c-blue2);
	font-size: 1.5em;
	margin-bottom: 0.8em;
	grid-column: 2 / 3;
	grid-row: 1 / 2;
}

.s_support ._box h3::after{
		content: "";
		display: inline-block;
		width: .5em;
		height: .5em;
		border-top: 2px solid var(--c-blue2);
		border-right: 2px solid var(--c-blue2);
		transform: translate(0, -0.05em) rotate(45deg);
		margin-left: .5em;
}

@media screen and (min-width: 768px) {
	.s_support ._box h3 {
		margin-top: 1em;
	}
}

.s_support ._box ._text{
	font-size: 1.125em;
	grid-column: 2 / 3;
	grid-row: 2 / 3;
}

.s_support ._box .cta_btn{
	margin-top: 1em;
	width: 90%;
	grid-column: 2 / 3;
	grid-row: 3 / 4;
}

.s_support .c_grid21{
	row-gap: 60px;	
}


	/*SP*/
	@media screen and (max-width: 768px) {
		.s_support ._box h3{
			font-size: 1.	25em;
		}
		
		.s_support ._box{
			display: grid;
			grid-template-rows: auto auto auto; 
			grid-template-columns: 110px 1fr;
			gap: 0 20px;
		}
		
		.s_support ._box ._text{
			font-size: 1em;
		}
		.s_support .c_grid21{
			row-gap: 20px;	
		}
		.s_support ._box figure{
			overflow: unset;
			max-height: 100%;
		}
	}



/*** .s_point 選ばれるポイント ***/
.s_point ._inr{
	color: #000;
	line-height: 1.5;
}
	
.s_point ._box{
	background-color: #fff;
	box-shadow: 0px 0px 9px -3px #777777;
}

.s_point ._box img{
	border-radius: 10px 10px 0 0;
}

.s_point ._box h3{
	text-align: center;
	margin-bottom: 0.5em;
	font-size: 1.5em;
}

.s_point ._box ._exp{
	font-size: 1.125em;	
}

.s_point ._box > div{
	padding: 20px;
}

.s_point._blue2 h3{
	color: var(--c-blue2);
}

/*** .s_voice お客様の声 ***/
.s_voice ._inr{
	color: #000;
	line-height: 1.5;
}
	
.s_voice ._box{
	padding: 30px 50px;
	background-color: #fff;
	box-shadow: 0px 0px 9px -3px #777777;
}
.s_voice ._header{
	display: grid;
	grid-template-columns: 110px 1fr;
	gap: 20px;
	place-items: center start;
	margin-bottom: 20px;
}

.s_voice ._header h3{
	font-size: 1.5em;
	margin-bottom: 0.5em;	
}

/*SP*/
@media screen and (max-width: 540px) {
	.s_voice ._box{
		padding: 10px;
 	 }
}


/*****/

.header_simple{
	color: #fff;
	text-align: center;
	background-color: var(--c-blue2);
	padding-top: 2em;
	padding-bottom: 2em;
}
.header_simple h2{font-size: 1.875em; margin-bottom: .5em}
.header_simple p{font-size: 1.125em}

/*SP*/
@media screen and (max-width: 540px) {
	.header_simple{
		padding-top: 1em;
		padding-bottom: 1em;
	}
	/* .header_simple h2{font-size: 1.75em;}
	.header_simple p{font-size: 1em}	 */
}

.header_wave{
	color:#fff;
	text-align: center;
	background-image: url(../images/common/header_wave.jpg);
	background-size: cover;
	padding-top: 4em;
	padding-bottom: 4em;
}
.header_wave h2{font-size: 2.5em;}

@media screen and (max-width: 540px) {
	.header_wave{
		padding-top: 1em;
		padding-bottom: 1em;
	}
	/* .header_wave h2{font-size: 2em;} */
}

.header_2parts{
	display: grid;
	grid-template-columns: 1fr 1fr;
}

header_2parts > *{
	min-height: 380px;
}

.header_2parts ._inr{
	/* float: right; */
	max-width: 585px;
	margin: auto;
	text-align: center;
	padding: 40px 50px;
	height: 100%;
	display: grid;
	place-content: center;
	place-items: center;
	color: #fff;
}

._header_main ._inr h1{
	font-size: 2.5em;
	margin-top: .5em;
	margin-bottom: .7em;
	line-height: 1.5;
}

._header_main ._inr h2{
	font-size: 2.5em;
	margin-top: .5em;
	margin-bottom: .7em;
}

._header_main ._inr p{
	font-size: 1.125em;
	text-align: left;	
}

._header_main > img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.header_2parts._withlink{
	background-color: var(--c-blue);
}

/*Tablet*/
@media screen and (max-width: 768px) {
	._header_main ._inr h2{
		font-size: 1.7em;	
	}
	
	._header_main ._inr p{
		font-size: 1em;
	}
	
	._header_main ._inr{
		padding: 20px;
		padding-top: 10px;
	}	
}

/*SP*/
@media screen and (max-width: 540px) {
	.header_2parts{
		grid-template-columns: 1fr;
	}
	
	._header_main ._inr img{
		width: 80%;
		height: 80%;	
	}
	
	._header_main ._inr{
		padding: 10px;
	}
	
	
	
	._header_main ._inr h2{
		font-size: 1.5em;	
		margin-bottom: 0em;
		transform: translateY(-.5em);
	}
}

.s_cta{
	text-align: center;
}

.s_cta a{
	margin-top: 1em;
}

.cta_btn._cta_telb_pc{
	font-size: 1.5em;
	font-weight: normal;
	padding: 10px 0 10px;
	max-width: 520px;
}
._cta_telb_number{
	font-weight: bold;
	font-size: 30px;
}
._cta_telb_text {
    font-size: 15px;
    padding-bottom: 10px;
}
._cta_telb_number::before{
	content: "";
	display: inline-block;
	background: url(../images/common/icon_tel-white.svg) no-repeat;
	width: 30px;
	height: 30px;
	background-size: cover;
	vertical-align: middle;
	transform: translateY(-1px) translateX(-15px);
}


.cta_btn._cta_aib{
	font-size: 1.5em;
	padding: 15px 0 25px;
	max-width: 520px;
}

.cta_btn._cta_sdb{
	margin-top: 1em;
	font-size: 1.5em;
	padding: 25px 0;
	max-width: 520px;
	font-weight: 500;
}
.cta_btn._cta_sdb::before{
		content: "";
		display: inline-block;
		background: url(../images/common/icon_form.svg) no-repeat;
		width: 30px;
		height: 30px;
		background-size: cover;
		vertical-align: middle;
		transform: translateY(-1px) translateX(-15px);
}
._cta_telb_sp {
	display: none;
}
/*SP*/
@media screen and (max-width: 540px) {
	
	._cta_telb_pc{
		display: none;
	}
	.cta_btn._cta_telb_sp{
		display: block;
		margin-top: 1em;
		max-width: 520px;
		font-weight: 500;
		font-size: 1.3em;
		padding: 16px 0;
	}
	._cta_telb_sp::before{
		content: "";
		display: inline-block;
		background: url(../images/common/icon_tel-white.svg) no-repeat;
		width: 22px;
		height: 22px;
		background-size: cover;
		vertical-align: middle;
		transform: translateY(-1px) translateX(-5px);
	}

	.cta_btn._cta_aib{
		font-size: 1.3em;
		padding: 8px 0 16px;
	}
	
	.cta_btn._cta_sdb{
		font-size: 1.3em;
		padding: 16px 0;
	}
}



/********** end common shimo **********/

/*** /company 会社概要 ***/
.company {
    margin-top: 60px;
}

@media screen and (max-width: 767px) {
    .company {
        margin-top: 0px;
    }
}

.company__list {
    margin-top: 30px;
}

.company__list__line {
    display: flex;
    padding: 15px 0;
	border-top: #000 1px solid;
}

@media screen and (max-width: 767px) {
    .company__list__line {
        margin: 0;
    }
}

.company__list__line__title {
    width: 100px;
}

@media screen and (max-width: 767px) {
    .company__list__line__title {
        margin-left: 0;
        margin-bottom: 10px;
    }
}

.company__list__line__disp {
    padding-left: 100px;
	max-width: calc(100% - 200px);
}

@media screen and (max-width: 767px) {
    .company__list__line__disp {
        padding-left: 0;
		max-width: calc(100% - 100px);
    }
}

/*** /company 会社概要ここまで ***/

/*** /sdgs カーテンダーSDGSへの取組み ***/

.sgds .inner {
    width: 50% !important;
	min-width: 550px;
}

@media screen and (max-width: 767px) {
    .sgds .inner {
        width: 100% !important;
		min-width: initial;
    }
}

.sgds-br {
	display: none;
}

@media screen and (max-width: 430px) {
    .sgds-br {
        display: block;
    }
}

/*** /sdgs カーテンダーSDGSへの取組みここまで ***/

ul.policy_list {
	font-size: 1.125em;
	line-height: 1.8;
	margin-bottom: 2em;
}
ul.policy_list li {
	list-style: disc;
	margin-left: 1.5em;
}
ol.policy_list {
	font-size: 1.125em;
	line-height: 1.8;
	padding: 0;
	margin: 0;
	margin-left: 25px;
	margin-bottom: 2em;
}
ol.policy_list li {
	list-style: decimal;
}

figure.figure_right {
	float: right;
	margin-left: 2em;
	margin-bottom: 0;
	width: 35%;
	text-align: center;
}
ul.figure_w {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
ul.figure_w li {
	width: 48%;
}
ul.figure_w li figure img {
	margin-bottom: 1em;
}

ul.figure_w li figure figcaption {
	margin-bottom: 1em;
	font-size: 1.125em;
	line-height: 1.8;
	font-weight: 400;
	text-align: center;
}

.ofh {
	overflow: hidden;
}
p.text_m0 {
	margin-bottom: 0;
	font-size: 1.125em;
	line-height: 1.8;
	font-weight: 400;
}
p.info_text {
	text-align: center;
	color: #fff;
	font-size: 1.125em;
	line-height: 1.8;
	font-weight: 400;
}
p.text_att {
	font-size: 0.825em;
	text-align: center;
	margin-bottom: 50px;
}
.m25 {
	margin: 25px 0!important;
}
.pch {
	display: none;
}
.page_link {
	margin: 0 auto;
	width: 100%;
	max-width: 520px;
}
.page_link li {
	margin-top: 1em;
}
.page_link li a {
	font-size: 1.5em;
	font-weight: 700;
	cursor: pointer;
}
.page_link li a.page_link_tyle_a {
	background-color: #EF5151;
	border-radius: 60px;
	padding: 8px 0 15px 0;
	display: block;
	border: 2px solid #fff;
	color: #fff;
	text-align: center;
}
.page_link li a.page_link_tyle_a span {
	font-family: 'Noto Serif JP', serif;
	font-size: 1.4em;
}
.page_link li a.page_link_tyle_b {
	background-color: #1192E5;
	border-radius: 60px;
	padding: 15px 0;
	display: block;
	border: 2px solid #fff;
	color: #fff;
	text-align: center;
}
.page_link li a.page_link_tyle_c {
	background-color: #31ADA4;
	border-radius: 60px;
	padding: 15px 0;
	display: block;
	border: 2px solid #fff;
	color: #fff;
	text-align: center;
}
.page_link_mini {
	width: 100%;
	max-width: 400px;
}
.page_link_mini li {
	margin-top: 1em;
}
.page_link_mini li a {
	font-size: 1em;
	font-weight: 700;
	cursor: pointer;
}
.page_link_mini li a.page_link_tyle_a {
	background-color: #EF5151;
	border-radius: 60px;
	padding: 8px 0 15px 0;
	display: block;
	border: 2px solid #fff;
	color: #fff;
	text-align: center;
}
.page_link_mini li a.page_link_tyle_a span {
	font-family: 'Noto Serif JP', serif;
	font-size: 1.4em;
}
.page_link_mini li a.page_link_tyle_b {
	background-color: #1192E5;
	border-radius: 60px;
	padding: 15px 0;
	display: block;
	border: 2px solid #fff;
	color: #fff;
	text-align: center;
}
.page_link_mini li a.page_link_tyle_c {
	background-color: #31ADA4;
	border-radius: 60px;
	padding: 15px 0;
	display: block;
	border: 2px solid #fff;
	color: #fff;
	text-align: center;
}
.tyle_page:after {
	content: "";
	display: inline-block;
	background: url(../images/common/icon_arrow_w.svg) no-repeat;
	width: 7px;
	height: 13px;
	background-size: cover;
	vertical-align: middle;
	margin-left: 20px;
}
.tyle_blank:after {
	content: "";
	display: inline-block;
	background: url(../images/common/icon_link_w.svg) no-repeat;
	width: 13px;
	height: 10px;
	background-size: cover;
	vertical-align: middle;
	margin-left: 20px;
}
.page_link li a.page_link_tyle_a:hover {
	background-color: #D33D3D;
}
.page_link li a.page_link_tyle_b:hover {
	background-color: #1377B7;
}
.page_link li a.page_link_tyle_c:hover {
	background-color: #1B8E86;
}
.page_link_mini li a.page_link_tyle_a:hover {
	background-color: #D33D3D;
}
.page_link_mini li a.page_link_tyle_b:hover {
	background-color: #1377B7;
}
.page_link_mini li a.page_link_tyle_c:hover {
	background-color: #1B8E86;
}
@media screen and (max-width:900px) {
	ul.policy_list {
		font-size: 0.938em;
	}
	ol.policy_list {
		font-size: 0.938em;
		margin-left: 15px;
	}
	p.info_text {
		text-align: center;
		color: #fff;
		font-size: 0.938em;
		line-height: 1.8;
		font-weight: 400;
	}
	figure.figure_right {
		float: none;
		margin-left: 0;
		margin-bottom: 1em;
		width: 100%;
	}
	ul.figure_w li figure figcaption {
		font-size: 0.938em;
		text-align: center;
	}
	p.text_m0 {
		font-size: 0.938em;
	}
	.pch {
		display: block;
	}
	.sph {
		display: none;
	}
	p.info_text {
		text-align: left;
		margin-top: 1em;
		font-size: 0.938em;
	}
	p.text_att {
		font-size: 0.825em;
		text-align: left;
		margin-bottom: 25px;
	}
	
	.page_link li a {
		font-size: 1.25em;
	}
	.page_link li a.page_link_tyle_a {
		padding: 6px 0 10px 0;
	}
	.page_link li a.page_link_tyle_a span {
		font-size: 1.188em;
	}
	.page_link li a.page_link_tyle_b {
		padding: 10px 0;
	}
	.page_link li a.page_link_tyle_c {
		padding: 10px 0;
	}
	.page_link_mini {
		width: 100%;
		max-width: 400px;
	}
	.page_link_mini li {
		margin-top: 1em;
	}
	.page_link_mini li a {
		font-size: 0.938em;
		font-weight: 700;
		cursor: pointer;
	}
	.page_link_mini li a.page_link_tyle_a {
		background-color: #EF5151;
		border-radius: 60px;
		padding: 8px 0 15px 0;
		display: block;
		border: 2px solid #fff;
		color: #fff;
		text-align: center;
	}
	.page_link_mini li a.page_link_tyle_a span {
		font-family: 'Noto Serif JP', serif;
		font-size: 1.4em;
	}
	.page_link_mini li a.page_link_tyle_b {
		background-color: #1192E5;
		border-radius: 60px;
		padding: 15px 0;
		display: block;
		border: 2px solid #fff;
		color: #fff;
		text-align: center;
	}
	.page_link_mini li a.page_link_tyle_c {
		background-color: #31ADA4;
		border-radius: 60px;
		padding: 15px 0;
		display: block;
		border: 2px solid #fff;
		color: #fff;
		text-align: center;
	}
}
table.table01 {
	font-size: 1.125em;
	line-height: 1.6;
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 2em;
	border-left: #dddddd 1px solid;
}
table.table01 th.t_top {
	border-top: var(--c-blue2) 4px solid;
}
table.table01 th.t_tau {
	border-top: var(--c-blue) 4px solid;
	background-color: var(--c-blue2);
	color: #fff;
}
table.table01 td.t_tau {
	background-color: var(--c-pale);
}

table.table01 td strong.strong_tau {
	font-size: 2em;
	color: var(--c-red);
}
table.table01 th {
	border-bottom: #dddddd 1px solid;
	border-right: #dddddd 1px solid;
	text-align: left;
	background: var(--c-gray);
	padding: 20px;
	font-weight: normal;
	width: 30%;
	text-align: center;
}
table.table01 td.t_top {
	border-top: #dddddd 4px solid;
}
table.table01 td {
	border-bottom: #dddddd 1px solid;
	border-right: #dddddd 1px solid;
	text-align: left;
	padding: 20px;
	background-color: #fff;
	text-align: center;
}
table.table01 td a {
	color: #1B8E86;
	text-decoration: underline;
}

@media screen and (max-width:540px) {
	table.table01 {
		font-size: 0.875em;
	}
	table.table01 th {
		width: 25%;
	}
	table.table01 td {
		padding: 10px;
	}
}
div.ai_kv {
	background-image: url(../images/top/ai_back.jpg);
	height: 350px;
	background-position: center center;
	background-color: #f2ede6;
	background-size: cover;
	background-repeat: no-repeat;
}
div.title01 {
	background-color:  var(--c-blue);
	text-align: center;
	padding: 20px 10px;
}
div.title01 h2 {
	font-size: 2em;
	color: #fff;
}
div.title01 p {
	font-size: 1.125em;
	line-height: 1.8;
	font-weight: 400;
	color: #fff;
	margin-top: 0.5em;
}
h3.title01 {
	line-height: 1.6!important;
	font-size: 1.876em!important;
	margin-bottom: 1em!important;
}
h3.title02 {
	color: #000!important;
	line-height: 1.4!important;
	font-size: 1.5em!important;
	margin-bottom: 1em!important;
	padding-left: 4em;
	text-indent: -4em;
}
h3.title02 span {
	color: #fff!important;
	line-height: 1!important;
	font-size: 0.8em!important;
	margin-right: 0.5em!important;
	background-color: var(--c-blue2);
	padding: 3px 10px 3px 10px;
}
h3.title03 {
	line-height: 1.6!important;
	font-size: 1.5em!important;
	margin-bottom: 1em!important;
	border-bottom: 3px solid var(--c-blue2);
	color: #000!important;
}
div.kakomi01 {
	background-color: var(--c-pale);
	padding: 40px;
	margin-bottom: 2em;
}
h2.copy01 {
	color: var(--c-blue2)!important;
	font-size: 2.626em!important;
	font-weight: 700!important;
	text-align: center;
	margin-bottom: 1em!important;
}
h2.copy01 span {
	background: linear-gradient(transparent 80%, #FFFF00 0%);
}
div.ai_3steps {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 2em!important;
}
div.ai_3step {
	width: 32%;
	border-radius: 10px;
	background-color: #fff;
	box-shadow: 0px 0px 9px -3px #777777;
}
div.ai_3step_header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	background-color: var(--c-blue2);
	padding: 15px;
	border-radius: 10px 10px 0 0;
}
div.ai_3step_header h2 {
	color: #fff;
	font-size: 1.5em;
	width: 70%;
	line-height: 1.4!important;
	margin: 0 0 0 5%;
}
div.ai_3step_contents {
	padding: 15px;
}
div.ai_3step_contents p {
	font-size: 1.125em;
	line-height: 1.8;
}
.circle_width {
	width: 25%;
	border-radius: 50%;
	background-color: #fff;
}
.circle_height {
	position: relative;
	padding-top: 100%;
	height: 0;
}
.circle_height p {
	position: absolute;
	top: calc((100% - 1em)/2);
	color: var(--c-blue2);
	font-weight: 700;
	line-height: 1;
	left: 0;
	right: 0;
	margin: 0;
	text-align: center;
}
@media screen and (max-width:900px) {
	div.ai_kv {
		height: 150px;
	}
	div.title01 {
		padding: 15px 10px;
	}
	div.title01 h2 {
		font-size: 1.5em;
		color: #fff;
	}
	div.title01 p {
		font-size: 0.938em;
		color: #fff;
		margin-top: 0.5em;
		text-align: left;
	}
	
	h3.title01 {
		font-size: 1.25em!important;
	}
	h3.title02 {
		font-size: 1.25em!important;
	}
	h3.title02 span {
		font-size: 0.8em!important;
	}
	h3.title03 {
		font-size: 1.125em!important;
	}
	div.kakomi01 {
		padding: 10px;
		margin-bottom: 1em;
	}
	h2.copy01 {
		color: #15A197!important;
		font-size: 1.5em!important;
		font-weight: 700!important;
		text-align: center;
		margin-bottom: 1em!important;
	}
	h2.copy01 span {
		background: linear-gradient(transparent 80%, #FFFF00 0%);
	}
	div.ai_3steps {
		display: block;
	}
	div.ai_3step {
		width: 100%;
		margin-bottom: 1em;
	}
	div.ai_3step_header h2 {
		font-size: 1.5em;
	}
	div.ai_3step_contents p {
		font-size: 0.938em;
	}
	.circle_width {
		width: 18%;
		max-width: 80px;
		border-radius: 50%;
		background-color: #fff;
	}
}
/*support｜ai*/

ul.take_photo {
	display: flex;
	margin-top: 30px;
	justify-content: space-between;
}
ul.take_photo li {
	width: 16%;
}
ul.take_photo li figure figcaption {
	font-size: 1.125em;
	line-height: 1.8;
	font-weight: 400;
	text-align: center;
}
figure.smartphone_img {
	width: 85%;
	max-width: 245px;
	margin: 0 auto 1em auto;
	border: 10px solid #333;
	border-radius: 10px;
	height: 433px;
	overflow-y: scroll;
}
div.smartphone_img_box { 
	position: relative!important;
}
div.smartphone_img_box p.scroll {
	position: absolute;
	top: 380px;
	right: 40%;
	left: 40%;
	z-index: 60;
}
@media screen and (max-width:900px) {
	ul.take_photo {
		display: flex;
		margin-top: 30px;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	ul.take_photo li {
		width: 33%;
	}
	ul.take_photo li figure figcaption {
		font-size: 0.938em;
	}
}
/*support｜qa*/

.qa-list {
	margin-bottom: 1em;
}
.qa-list dl {
	position: relative;
	cursor: pointer;
	margin-bottom: 1em;
}
.qa-list dl:first-child {
	margin-top: 0;
}
.qa-list dl::after {
	position: absolute;
	top: 27px;
	right: 26px;
	display: block;
	width: 7px;
	height: 7px;
	margin: auto;
	content: '';
	transform: rotate(135deg);
	border-top: 2px solid #000;
	border-right: 2px solid #000;
}
.qa-list .open::after {
	transform: rotate(-45deg);
}
.qa-list dl dt {
	position: relative;
	margin: 0;
	padding: 20px 60px 20px 60px;
	font-weight: bold;
	color: var(--c-blue2);
	font-size: 1.25em;
	border: 1px solid var(--c-blue2);
	margin-bottom: 0.5em;
	background-color: #ffffff;
}
.qa-list dl dt::before {
	font-size: 1.4em;
	line-height: 1;
	position: absolute;
	top: 20px;
	left: 20px;
	display: block;
	content: 'Q.';
	color: var(--c-blue2);
}
.qa-list dl dd::before {
	font-size: 1.4em;
	line-height: 1;
	position: absolute;
	left: 20px;
	display: block;
	content: 'A.';
	font-weight: bold;
	color: var(--c-blue2);
}
.qa-list dl dd {
	position: relative;
	margin: 0;
	padding: 20px 20px 20px 60px;
	font-size: 1.125em;
	border: 1px solid var(--c-blue2);
	background-color: var(--c-pale);
}
.qa-list dl dd p {
	margin: 30px 0 0;
}
.qa-list dl dd p:first-child {
	margin-top: 0;
}
@media screen and (max-width: 767px) {
	.qa-list dl {
		margin: 0 10px 0 0;
	}
	.qa-list dl:after {
		top: 20px;
		right: 20px;
		width: 7px;
		height: 7px;
	}
	.qa-list dl dt {
		font-size: 1.125em;
		padding: 12px 35px 12px 50px;
	}
	.qa-list dl dt::before {
		font-size: 1.1em;
		top: 15px;
		left: 15px;
	}
	.qa-list dl dd::before {
		font-size: 1.1em;
		left: 15px;
		margin-top: 3px;
	}
	.qa-list dl dd {
		font-size: 1em;
		margin: 0;
		padding: 12px 12px 12px 50px;
	}
	.qa-list dl dd p {
	}
	.qa-list dl dd p:first-child {
		margin-top: 0;
	}
}
/*support｜flow*/

div.donna { font-size: 1em; padding: 2px 10px 3px 10px; margin-top: 10px; background-color:  var(--c-gray); border-radius: 5px; display: block; text-decoration: none!important; color: #000!important; border: 1px solid #dddddd; cursor:pointer; }
div.donna:after {
	content: "";
	display: inline-block;
	background: url(../images/common/icon_arrow_black.svg) no-repeat;
	width: 7px;
	height: 13px;
	background-size: cover;
	vertical-align: middle;
	margin-left: 20px;
}

ul.service_points {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
ul.service_points li {
	width: 48%;
	background-color: #53BFCC;
	color: #fff;
	font-size: 1.5em;
	text-align: center;
	border-radius: 10px;
	padding: 15px 0;
}
ul.service_points li span {
	font-size: 1.2em;
	color: #FFFF00;
}
@media screen and (max-width: 767px) {
	ul.service_points li {
		font-size: 1.125em;
	}
}


/*footer_CTA*/
.footer_cta { position: fixed; bottom: 0; left: 0; background-color: rgba(0,0,0,0.7); z-index: 99; width: 100%; padding: 20px 0; }
.pc_cta { display: flex; justify-content: center; padding: 0; margin: 0; }
.tel_form_sp_cta { display: none; }
.pc_cta li { margin: 0 5px; }
.sp_cta { display: none; }
@media screen and (max-width: 950px) {
	.pc_cta li img { height: 70px; }
}
@media screen and (max-width: 767px) {
	.footer_cta { padding: 10px 0 15px 0; }
	.pc_cta { display: none; }
	.sp_cta { display: flex; justify-content: center; padding: 0; margin: 0; }
	.sp_cta li { margin: 0 5px; }
	.ai_mitumori_cta_column {
		margin: 30px auto !important;
	}
}
@media screen and (max-width: 375px) {
	.sp_cta li img { height: 70px; }
}
.ai_mitumori_cta_column {
	width: 100%;
    max-width: 800px !important;
    display: block;
    margin: 50px auto;
}

/*====  COLUMN CTA ====*/

.column-cta {
	display: block;
	position: relative;
}

.column-cta ul {
  display: flex;
  justify-content: center;
  column-gap: 20px;
  padding: 5px 15px;
}

.column-cta a {
  display: block;
  background-color: #ffffff;
  border-radius: 13px 21px 13px 21px;
  height: calc(100% - 6px); 
}

.column-cta img {
  max-width: 380px;
  width: 38vw;
  scale: 1.01;
  height: auto;
}

.column-cta__btn-phone-main:hover, .column-cta__btn-form:hover {
  opacity: 0.7;
}

@media screen and (max-width: 767px) {
  .column-cta img {
    width: 100%;
    max-width: 200px;
  }
}

/*===== COLUMN INSIDE CTA =====*/
.column-cta__column-inside {
  display: flex;
  column-gap: 15px;
  justify-content: center;
}

.column-cta__column-inside a:hover {
  opacity: 0.7;
}

.service_reuse-info {
	display: flex;
	font-size: 18px;
}

.service_reuse-info div:first-child  {
	width: 80px;
	margin-right: 10px;
	text-align: left;
}

.service_reuse-info div:last-child  {
	width: calc(100% - 80px);
	text-align: left;
}