@charset "UTF-8";
/**/
:root{
	--containor:1080px;
	--hover:background .4s,color .4s,border-color .4s,opacity .4s,text-decoration-color .4s,transform .4s,filter .4s;
	--inner:2%;
	--keycolor:#E26F0C;
}
.l-contents{
	background:#F6F6EE;
}
.c-breadcrumb {
	font-size: 14px;
}
.gp-container{
	max-width:var(--containor);
	margin-inline:auto;
	position: relative;
	z-index: 2;
}
.cta{
	display:flex;
	flex-wrap:wrap;
	gap:2em;
	justify-content:center;
}
.cta a{
	display:block;
	transition:var(--hover);
}
.cta a.false{
	pointer-events:none;
}
@media (any-hover: hover) {
	.cta a:hover{
		transform:translateY(0.5em)
	}
}
.gp-ttl {
	margin-inline:auto;
	margin-bottom:1.0em;
	color:#fff;
	background: var(--keycolor);
	background: linear-gradient(125deg, rgba(226,111,12,0) 10%, rgba(226,111,12,1) 25%, rgba(226,111,12,1) 75%, rgba(226,111,12,0) 90%);
	position:relative;
	padding: 0.475em;
	max-width:640px;
	text-align:center;
	z-index:2;
	font-size:1.55rem;
	font-weight:600;
}
.gp-ttl:after{
	content:"";
	display:block;
	position:absolute;
	inset:0;
	border:solid 1px;
	transform:skewX(-25deg) translate(12px,6px);
	border-image: linear-gradient(to right,rgba(226,111,12,0), rgba(226,111,12,1),rgba(226,111,12,1)) 1;
	margin:auto;
	max-width:565px;
}
.gp-ttl img{
	position:absolute;
	top:-0.75em;
	left: 0.5em;
}
hgroup:has(>.gp-ttl){
	margin-bottom:2em;
	text-align:center;
	font-weight:bold;
	font-size:1.22rem;
}
hgroup .gp-ttl{
	margin-bottom: 1em;
}
.gp-sub-ttl{
	font-size:1rem;
	position:relative;
	z-index:1;
	padding-left:0.75em;
	margin-bottom: 0.5em;
}
.gp-sub-ttl:before{
	content:"";
	display:block;
	width:4px;
	background: var(--keycolor);
	top:0;
	bottom:0;
	left:0;
	position:absolute;
}
.gp-sub-ttl{
	font-size:0.94rem;
	margin-bottom: 0.75em;
	line-height: 1.35;
}
.img-wrap{
	text-align:center;
}
.icon-circle{
	display:inline-flex;
	background:var(--keycolor);
	color:#fff;
	width:1.5em;
	height:1.5em;
	font-size: 0.85em;
	border-radius:50%;
	text-align:center;
	justify-content:center;
	align-items:center;
	vertical-align: middle;
}
.txt_indent{
	text-indent:-1em;
	margin-left:1em;
}
.txt_indents{
	display:flex;
	/* gap: 0.5em; */
}
.txt_indents > span:first-child{
	display:block;
	white-space:nowrap;
}
.sub_link{
	margin-block:0;
	position:relative;
	padding-left:1em;
}
.sub_link:before{
	width: 0;
	height: 0;
	inset:auto 0;
	top:0.5em;
	right:auto;
	border-style: solid;
	border-top: 0.35em solid transparent;
	border-bottom: 0.35em solid transparent;
	border-left: 0.5em solid var(--keycolor);
	border-right: 0;
	content: "";
	display: block;
	position: absolute;
	margin:auto;
	
}
.sub_link a{
	color:#0064A0;
	text-decoration:underline;
	text-underline-offset:0.35em;
	transition:color .2s,text-decoration .2s;
}
@media (any-hover: hover) {
	.sub_link a:hover{
		color:inherit;
		text-decoration-color:transparent;
	}
}
/* */

.section.kv{
	background:url(/common/img/machine/collaboration/kv_bg.png) no-repeat top center #fff;
	text-align:center;
}
.section.kv hgroup {
	height:950px;
	padding-block:55px;
}
.section.kv hgroup h1{
	margin-bottom:0.5em;
}
.section.about{
	padding-bottom: 4em;
	background:url(/common/img/machine/collaboration/about_bg_01.png) ,url(/common/img/machine/collaboration/about_bg_02.png);
	background-position:left 5.75%, right 135%;
	background-repeat:no-repeat;
}
.section.about .cta{
	margin-block:-80px 70px;
}
.section.about p{
	margin-block:0;
	line-height: 1.65;
}
.section.about > .img-wrap{
	text-align:center;
	/* overflow:hidden; */
	margin-block:1.5em 2.5em;
	display:flex;
	animation: infinity-scroll-left 80s infinite linear 0.2s both;
}
.section.about > .img-wrap img{
	max-width:fit-content;
}
.section.about .infomation{
	border:solid 1px var(--keycolor);
	background:#fff;
	margin-block:0 4em;
	padding:1em 2em 2em;
	border-radius:0.75rem;
}
.section.about .infomation h2{
	color:var(--keycolor);
	font-size:1.125rem;
	text-align:center;
	padding-block:0.5em;
}
.section.about .scoll_wrap{
	overflow-y:auto;
	height: 280px;
}
.section.about .infomation ul{
	display:table;
	width:100%;
	border-bottom:solid 1px var(--keycolor);
}
.section.about .infomation ul li{
	display:table-row;
}
.section.about .infomation ul :is(time,.texts){
	display:table-cell;
	padding-block:0.75em;
	border-top:solid 1px var(--keycolor);
}
.section.about .infomation ul time{
	width:10em;
}
.section.about .infomation ul .ttl{
	font-weight:600;
}

@keyframes infinity-scroll-left {
	from {
	  transform: translateX(0);
	}
	  to {
	  transform: translateX(-100%);
	}
}
.section.about .box{
	background:#fff;
	border-top:solid 6px var(--keycolor);
	padding:1.5em 1.5em 1.75em;
	margin-top:1.75em;
}
.section.about .box h3{
	font-size:1.11rem;
	text-align:center;
	color:var(--keycolor);
	margin-bottom:1.25em;
}
.section.about .box ul{
	margin-inline:0.25em;
	line-height:1.5;
}
.section.about .box li{
	font-size:0.94rem;
	position:relative;
	padding-left:1.25em;
	font-weight:600;
}
.section.about .box li:before{
	content:"";
	display:block;
	width:0.85em;
	height:0.85em;
	background:var(--keycolor);
	border-radius:50%;
	position:absolute;
	left:0;
	top:0.25em;
}
.section.about .box li:nth-child(n+2){
	margin-top:0.65em;
}
.section.merit{
	padding-block:75px;
	background:url(/common/img/machine/collaboration/merit_bg_01.png) ,url(/common/img/machine/collaboration/merit_bg_02.png);
	background-color:#fff;
	background-position:left 19.5%,right 90%;
	background-repeat:no-repeat;
}
.section.merit .sub-box{
	display:flex;
	gap: 2.75em;
}
.section.merit .sub-box .texts{
	max-width:520px;
}
.section.merit .sub-box p{
	font-size:0.77rem;
}
.section.merit .single{
	margin-top:1em;
}
.section.merit .sub-box .img-wrap img{
	max-width:fit-content;
}
.section.merit .sub-box .img-wrap .caption{
	text-align:right;
	margin-top:1em;
}
.section.merit .sub-box .img-wrap .caption.center{
	justify-content: center;
}
.section.merit .figure-box{
	border:solid 1px var(--keycolor);
	background:#FFFFE6;
	border-radius:0.75rem;
	margin-block: 2.25em 1.5em;
	padding: 1.75em 1em 1.25em;
	text-align:center;
}
.section.merit .figure-box h4{
	font-size:1rem;
	margin-bottom: 0.75em;
}
.section.merit .figure_inner{
	display:flex;
	align-items:flex-start;
	justify-content:center;
	gap:1em;
}
.section.merit .figure_inner figcaption{
	font-size: 12px;
	margin-top:1em;
}
.section.merit .figure-box + .sub-box{
	margin-top: 2.0em;
	padding-top:2.5em;
	border-top:dotted 2px #000;
}
.section.merit .sub-box .img-wrap{
	flex-grow:1;
}
.section.merit hgroup ~ hgroup{
	margin-top: 3.5em;
}
.section.plan{
	padding-block: 4.5em 3em;
	position:relative;
	z-index:2;
}
.section.plan:after{
	content:"";
	display:block;
	width:686px;
	height:1404px;
	position:absolute;
	top:12.5%;
	left:0;
	background:url(/common/img/machine/collaboration/plan_bg_01.png) left top;
	z-index:-1;
}
.section.plan ol{
	list-style:none;
	display:flex;
	gap:2em;
	justify-content:center;
	align-items:stretch;
	margin-top: -2em;
}
.section.plan ol > li{
	flex-basis:calc((100% - 4em) / 3);
	display:flex;
	flex-direction:column;
	position:relative;
}
.section.plan ol > li:nth-child(n+2):before{
	content:"";
	display:block;
	background:#000;
	position:absolute;
	width:1px;
	top:0;
	bottom:0;
	left:-1em;
}
.section.plan ol .plan_head{
	height: 4.75em;
	text-align:center;
}
.section.plan ol h3{
	font-size:1.33rem;
	width:fit-content;
	margin: 0.5em auto 0em;
	text-align:left;
	text-indent:-1.5em;
	padding-left:1.5em;
}
.section.plan ol h3 b{
	text-indent:0;
	margin-right:0.25em;
	font-size: 0.66em;
	vertical-align: top;
}
.section.plan ol i{
	font-size:0.77rem;
}
.section.plan ol li img{
	display:block;
	margin:auto;
}
.section.plan .plan_option{
	border-top:solid 1px #000;
	border-bottom:solid 1px #000;
	margin-block:2em;
	padding-block: 1em;
	font-size:0.77rem;
}
.section.plan .plan_option ul{
	display:flex;
	justify-content:center;
	gap: 0.25em;
	flex-direction: column;
	align-items: center;
}
.section.plan .plan_option li{
	padding-left:1.5em;
}
.section.plan .plan_option li:before{
	width:0.75em;
	height:0.75em;
	top:0;
	bottom:0;
	margin:auto;
	background:var(--keycolor);
	
}
.section.plan .detail-box{
	text-align:left;
	background:#fff;
	border-radius:0.5em;
	flex-grow:1;
	padding:1.5em;
	font-size:0.77rem;
	margin-inline: 0.75em;
}
.section.plan .detail-box .gp-sub-ttl{
	font-size:1.11em;
	line-height:1.5;
}
.section.plan .recommended{
	display:flex;
	gap: 1.0em;
	align-items:flex-start;
}
.section.plan .recommended h5{
	font-size:0.66rem;
	white-space:nowrap;
	background:var(--keycolor);
	color:#fff;
	font-weight:bold;
	display:flex;
	align-items:center;
	justify-content:center;
	width:4.5em;
	height:4.5em;
	border-radius:50%;
	text-align:center;
	position:relative;
	z-index:2;
}
.section.plan .recommended h5:after{
	content:"";
	display:block;
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 0.5em solid transparent;
	border-bottom: 0.5em solid transparent;
	border-left: 1em solid var(--keycolor);
	border-right: 0;
	position:absolute;
	right:-0.75em;
}
.section.plan .recommended ul{
	width: calc(100% - 5.0em);
}
.section.plan ul li{
	position:relative;
	padding-left: 0.75em;
	line-height:1.5;
}
.section.plan ul li:before{
	content:"";
	display:block;
	width:0.30em;
	height:0.30em;
	background:#444;
	position:absolute;
	border-radius:50%;
	left:0em;
	top:0.65em;
}
.section.plan .recommended ul li ~ li{
	margin-top: 0.5em;
}
.section.requirements{
	background:#fff;
	padding-block:4.5em
}
.section.requirements .box{
	display:flex;
	gap:2em;
	border-bottom:solid 1px;
	padding-block:2em;
	align-items:center;
}
.section.requirements .box:first-of-type{
	border-top:solid 1px;
	margin-top:3em;
}
.section.requirements :is(h3,ul){
	font-size:0.775rem;
}
.section.requirements h3{
	flex-shrink: 0;
	font-weight:normal;
	white-space:nowrap;
	width:8em;
}
.section.requirements li{
	text-indent:-1em;
	margin-left:1em;
}
.section.requirements ul > li:nth-child(n+2){
	margin-top:0.5em;
}
.section.requirements ol{
	margin-left:1em;
	margin-top:0.25em;
}

.section.flow{
	padding-block:5.5em;
	background:url(/common/img/machine/collaboration/plan_bg_02.png)no-repeat;
	background-position:100% 0%;
}
.section.flow .gp-container{
	position:relative;
	z-index:2;
}
.section.flow .cta{
	margin-top:2em;
}
.section.subsidy{
	padding-block:4.5em;
	background:#fff;
}

.section.faq{
	padding-block: 4.5em;
}
.section.faq h3{
	font-size:1.11rem;
	padding-left:1.25em;
	position:relative;
	margin-bottom: 0.75em;
}
.section.faq h3:before{
	content:"";
	display:block;
	width:0.85em;
	height:0.85em;
	position:absolute;
	top:0.15em;
	left:0;
	background:var(--keycolor);
}
.section.faq h3 ~ h3{
	margin-top:2em;
}
details.accordion{
	display:block;
	background: #f9f9f9;
	cursor:pointer;
	border:solid 1px var(--keycolor);
	border-radius:1em;
	margin-bottom: 1.5em;
	padding: 0.5em 2em;
	font-size:0.88rem;
	overflow: hidden;
}
details.accordion summary{
	list-style-type:none;
	appearance: none;
	font-weight:600;
	padding-inline:2em 2em;
	margin: 0;
	position: relative;
	display: flex;
	align-items: center;
	min-height: 2.5em;
	font-weight: 500;
	line-height:1.2;

}
details.accordion summary:before,
details.accordion summary:after{
	content:"";
	position: absolute;
	z-index: 2;
	width: 1.25em;
	height: 2px;
	background:#787878;
	top: 0;
	bottom: 0;
	margin: auto;
	right: -0.5em;
	transition:transform .4s;
	border-radius:2px;
}
details.accordion summary:after{
	transform:rotate(90deg);
}
details.accordion[open] summary:before{
	transform:rotate(180deg)
}
details.accordion[open] summary:after{
	transform:rotate(360deg)
}
details.accordion summary::-webkit-details-marker {
	display:none;
}
details.accordion summary b{
	position:absolute;
	left:0;
}
details.accordion .details-content{
	margin: 0.5em 0 0.5em;
	border-top:solid 1px var(--keycolor);
	position:relative;
	overflow: hidden;
	padding-top: 1em;
	padding-left:2em;
}
details.accordion .details-content b{
	position:absolute;
	left:0;
}
details.accordion .details-content b:first-letter{
	color:var(--keycolor);
}
details.accordion .details-content p{
	margin:0;
	line-height: 1.5;
}
details.accordion .details-content .sub_link{
	margin-top:0.5em;
}
.section.inquiry {
    background:#fff;
    padding-block:4.5em;
	border-bottom:solid 1px #C8C8C8;
}
.inquiry_box{
	background:#F0F0F0;
	position:relative;
	border-radius:1em;
	padding: 4em 2em 3em;
	margin-top:-3em
}
.inquiry_box .inquiry_data{
	display:flex;
	align-items:flex-start;
	justify-content:flex-start;
	width: 808px;
	margin-inline:auto;
	gap: 1.25em;
}
.inquiry_box .inquiry_data + .inquiry_data{
	margin-top: 2em;
	padding-top: 2em;
	border-top:solid 1px;
}

.inquiry_box .inquiry_data h3{
	font-size:0.77rem;
	display:flex;
	width:200px;
	background:#fff;
	padding: 1em 0em 1em 1em; 
	border-radius:2em;
	align-items:center;
	gap:0.25em;
	margin:0;
}
.inquiry_box .inquiry_data h3:before{
	background:var(--keycolor);
	width:0.65em;
	height:0.65em;
	content:"";
	display:inline-block;
	border-radius:50%;
	vertical-align:middle;
}
.inquiry_box .inquiry_data .text{
	font-size:0.66rem;
	display:flex;
	flex-direction:column;
	min-height:4em;
	justify-content:center;
}
.inquiry_box .inquiry_data .text p{
	margin-block: 0;
}
.inquiry_box .inquiry_data .text b{
	font-size:1.44rem;
	font-weight: 600;
}
/* .inquiry_box .inquiry_data .text span{
	font-size:0.88em;
} */
.inquiry_mail {
	width: 587px;
	padding: 10px 0 8px;
}
@media only screen and (max-width: 1080px) {
	:root{
		--containor:100%;
	}
	.gp-container{
		padding-inline:var(--inner)
	}
}
@media only screen and (max-width: 767px) {
	:root{
		--inner:20px;
	}
	.section.kv{
		border-top:solid 1px #ccc;
		background-image:url(/common/img/machine/collaboration/kv_bg_sp.png);
		background-size: contain;
		background-position:bottom;
		aspect-ratio:750 / 800;
	}
	.section.kv:after{
	}
	.section.kv hgroup {
		height:auto;
		padding:0;
		margin-top: 10px;
	}
	.section.kv hgroup h1{
		max-width: 328px;
		margin:0 auto;
	}
	.section.kv hgroup p{
		max-width:249px;
		margin:0 auto;
	}
	.section.kv hgroup p:nth-child(3){
		max-width:269px;
	}
	.cta a{
		max-width:260px;
		
	}
	.gp-ttl{
		font-size:1.15rem;
		padding: 0.625em;
		margin-bottom: 1.25em;
	}
	.gp-ttl img{
		width:36px;
		left:0;
	}
	.gp-ttl:after{
		transform:skewX(-25deg) translate(6px,4px);
	}
	hgroup:has(>.gp-ttl){
		font-size:0.925rem;
		margin-bottom:1.5em;
	}
	.section.about .infomation{
		padding:1em 1em 2em;
	}
	.section.about .infomation h2{
		font-size:1.125rem;
		padding-block:0.25em;
	}
	.section.about .infomation :is(time,ul .texts){
		display:block;
		width:auto;
		padding:0;
		margin:0;
		border:none;
	}
	.section.about .scoll_wrap{
		height: 370px;
		box-shadow: inset 0em -0.9em 0.8em -18px;
	}
	.section.about .scoll_wrap::after {
	    content: '';
	    display: block;
	    position: relative;
	    z-index: 1000;
	    height: 0.8em;
	    background-color: #fff;
	    margin: 0;
	  }
	.section.about .infomation ul{
		display:block;
	}
	.section.about .infomation ul li{
		padding-block:0.75em;
		border-top:solid 1px var(--keycolor);
		display:block;
	}
	.section.about .infomation ul time{
		width:auto;
		font-size:0.77rem;
		padding:0;
	}
	.section.about .infomation ul .texts{
		border:none;
		padding:0;
	}
	.section.about .infomation ul .ttl{
		margin:0;
		font-size:0.875rem;
	}
	.section.about .cta {
	    margin-block: -60px 40px;
	}
	.section.about{
		background:none;
		padding-bottom:2.5em;
	}
	.section.about p{
		line-height:2;
		font-size:0.75rem;
		margin-inline:1em;
	}
	.section.about > .img-wrap img{
		height:68px;
	}
	.section.about .box h3{
		font-size:1rem;
		margin-bottom:1.25em;
	}
	.section.about .box ul{
		margin-inline:0em;
	}
	.section.about .box li{
		font-size:0.75rem;
		font-weight:500;
	}
	.section.about .box li:nth-child(n+2){
		margin-top:1em;
	}
	.section.about .box .img-wrap{
		margin-top:1em;
	}
	.section.merit{
		padding-block:2.5em;
		background:#fff;
	}
	.section.merit .sub-box{
		flex-direction:column;
		gap:1em;
	}
	.section.merit .sub-box.sp-reverse{
		flex-direction:column-reverse;
	}
	.section.merit .sub-box .texts{
		margin-inline:1em;
	}
	.section.merit .sub-box .texts p{
		line-height:2;
		margin-bottom:0;
	}
	.section.merit .sub-box .captions{
		margin:1.5em 1em 0;
		
	}
	.section.merit .sub-box .texts .txt_indents{
		margin-block:1.5em 1em;
	}
	.section.merit .sub-box .img-wrap img{
		max-width:100%;
	}
	.section.merit .figure-box{
		padding: 1.25em 1.5em 1.25em;
	}
	.section.merit .figure-box + .sub-box{
		margin-top:2em;
		padding-top:2em;
	}
	.section.merit .sub-box .img-wrap .caption,
	.section.merit .figure_inner figcaption{
		font-size: 12px;
	}
	.section.merit .sub-box .img-wrap .caption{
		text-align:left;
	}
	.section.merit .sub-box .img-wrap .caption.center{
		justify-content: start;
	}
	.section.merit .sub-box.sp-reverse .img-wrap img{
		max-width:185px;
	}
	.section.merit .figure_inner{
		flex-direction:column;
		gap:0;
	}
	.section.merit .figure_inner img{
		display:block;
		transform:translateX(1em);
	}
	.section.merit .figure_inner figure{
		margin-bottom:1em;
		border-bottom:solid 1px #C8C8C8;
		padding-bottom:1em;
	}
	.section.merit .sub-box .img-wrap:has(.caption.center) img{
		display:block;
		transform:translateX(2em);
		max-width:calc(100% - 3em);
	}
	.section.plan{
		padding-block:2.5em;
	}
	.section.plan:after{
		display:none;
	}
	.section.plan ol{
		flex-direction:column;
		margin-top:1em;
	}
	.section.plan ol > li:nth-child(n+2):before{
		display:none;
	}
	.section.plan ol > li:nth-child(n+2){
		border-top:solid 1px;
		padding-top:2em;
		margin-top:1em;
	}
	.section.plan ol li img{
		max-width:210px;
	}
	.section.plan ol .plan_head{
		height:auto;
		margin-bottom:1em;
	}
	.section.plan .detail-box{
		margin:0;
	}
	.section.plan .plan_option{
		margin-bottom:0;
	}
	.section.plan .plan_option ul{
		flex-direction:column;
		gap:0;
		margin-inline:auto;
		width:fit-content;
	}
	.section.requirements{
		padding-block:2.5em;
	}
	.section.requirements .box{
		display:block;
		padding-block:1em 1.5em;
	}
	.section.requirements .box:first-of-type{
		margin-top:2em;
	}
	.section.requirements h3{
		text-align:center;
		width:auto;
		font-size:0.875rem;
		font-weight:600;
	}
	.section.requirements ul {
		margin-inline:1.5em;
	}
	.section.requirements ol{
		margin-left:1em;
		margin-top:0.25em;
	}
	.section.flow{
		padding-block:2.5em;
		background-image:none;
	}
	.section.flow .flow_list{
		margin-inline:-20px;
	}
	.section.flow .flow_list ol > li{
		padding:1em 2em 1em;
		position:relative;
	}
	.section.flow .flow_list ol > li.user{
		--keycolor:#00B4D2;
	}
	.section.flow .flow_list ol > li.developer{
		background:#fff;
	}
	.section.flow .flow_list ol > li:nth-child(n+2){
		margin-top:1.0em;
	}
	.section.flow .flow_list ol > li:nth-child(n+2):before{
		width: 0;
		height: 0;
		border-style: solid;
		border-right: 8px solid transparent;
		border-left: 8px solid transparent;
		border-top: 1em solid #C8C8C8;
		border-bottom: 0;
		content:"";
		display:block;
		position:absolute;
		top:-1em;
		left:2.875em;
	}
	.section.flow .flow_list ol > li:after{
		content:"";
		display:block;
		background:#C8C8C8;
		width:4px;
		position:absolute;
		top:2em;
		left:3.25em;
		bottom:0;
	}
	.section.flow .flow_list ol > li:last-child:after{
		display:none;
	}
	.section.flow .flow_list .flow_ttl{
		display:flex;
		gap:0.75em;
		align-items:flex-start;
		position:relative;
		z-index:1;
		margin-bottom:0.75em;
	}
	.section.flow .flow_list .flow_ttl b{
		display:flex;
		align-items:center;
		justify-content:center;
		color:var(--keycolor);
		border:solid 2px;
		border-radius:0.5rem;
		font-size:1.75rem;
		width:1.5em;
		height:1.5em;
		background:#fff;
	}
	.section.flow .flow_list .flow_ttl hgroup{
		border-bottom:solid 1px;
		padding-bottom: 0.35em;
		flex-grow: 1;
		min-height: 28px;
	}
	.section.flow .flow_list .flow_ttl hgroup h3{
		font-size:1rem;
		margin:0;
		line-height:1.5;
	}
	.section.flow .flow_list .flow_ttl p{
		font-size:0.66rem;
		background:var(--keycolor);
		color:#fff;
		padding: 0em 0.75em;
		border-radius:2em;
		margin: 0;
		width:fit-content;
	}
	.section.flow .flow_list .flow_ttl .icon{
		position:relative;
		z-index:1;
		display:flex;
		flex-direction:column;
		align-items:center;
		background:none;
		margin-left:auto;
		width:75px;
		font-size:0.6rem;
		padding:0;
		position:absolute;
		bottom:1px;
		right:0;
		gap:0.5em;
		overflow:hidden;
		border-radius:0;
	}
	.section.flow .flow_list .developer .flow_ttl .icon{
		gap:0;
	}
	.section.flow .flow_list .flow_ttl .icon:after{
		content:"";
		width:75px;
		height:75px;
		background:var(--keycolor);
		border-radius:50%;
		position:absolute;
		z-index:-1;
		top:35%;
	}
	.section.flow .flow_list .flow_ttl .icon span{
		display:block;
	}
	.section.flow .flow_list .flow_ttl:not(:has(hgroup p)) .icon{
		bottom: 10px;
	}
	.section.flow .flow_list ul {
		margin-left:3.5em;
	}
	.section.flow .flow_list ul > li{
		text-indent:-1em;
		margin-left:1em;
		font-size:0.75rem;
	}
	.section.flow .flow_list ul > li:nth-child(n+2){
		margin-top:1em;
	}
	.section.flow .flow_list .img-wrap{
		margin-top:1em;
	}
	.section.subsidy{
		padding-block:2.5em;
	}
	.section.subsidy .texts{
		margin-inline:0.5em;
	}
	.section.faq{
		padding-block:2.5em;
	}
	.section.faq h3{
		font-size:0.94rem;
	}
	details.accordion{
		font-size:0.833rem;
		border-radius:0.75rem;
		padding-inline:1em;
		margin-bottom:1em;
	}
	details.accordion summary:before,
	details.accordion summary:after{
		right:0;
	}
	details.accordion summary{
		min-height:0;
		align-items:flex-start;
		padding-block:0.5em;
		font-weight:600;
	}
	details.accordion .details-content p{
		line-height:1.85;
	}
	.section.inquiry {
	    padding-block: 2.5em;
	}
	.inquiry_box{
		border-radius:0.75em;
		padding:2.5em 1em 1em;
		margin-top:-2.5em;
	}
	.inquiry_box .inquiry_data{
		width:auto;
		gap:0.5em;
		flex-direction:column;
	}
	.inquiry_box .inquiry_data h3{
		margin-inline:auto;
		justify-content:center;
	}
	.inquiry_box .inquiry_data .text{
		margin-inline:auto;
	}
	.inquiry_box .inquiry_data .text b{
		font-size:1.11rem;
	}
	.inquiry_box .inquiry_data .text span{
		display:block;
	}
	.inquiry_box .inquiry_data + .inquiry_data{
		margin-top:1em;
		padding-top:1em;
		text-align:center;
	}
	.inquiry_box .inquiry_data + .inquiry_data .text b{
		font-size:0.875rem;
	}
	.inquiry_mail {
		width: 100%;
		padding: 5px 0;
	}
}

/* 注釈テキスト */
.txt_note,
.section.about p.txt_note,
.section.merit .sub-box p.txt_note {
	font-size: 12px;
}

/* フォーカス処理 */
.limit_customer:focus-visible,
.limit_vendor:focus-visible,
.summary:focus-visible,
.sub_link a:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25) !important;
}

.sub_link a:focus-visible {
	color:inherit;
	text-decoration-color:transparent;
}(/common/