@charset "utf-8";

#top > .inner > header {
	font-weight : bold;
	margin-bottom : 40px;
}
#top h2 {
	font-size : 2em;
	font-weight : bold;
	margin-bottom : 1em;
}
#top h2 .en {
	font-size : 0.5em;
	color : #fe922e;
}

#top .content {
	margin-bottom : 40px;
}
#top .copy {
	font-size : 1.4em;
	font-weight : bold;
	margin-bottom : 0.5em;
	color : #fe922e;
}

#guide header {
	display : grid;
	grid-template-columns : auto 1fr;
	grid-gap : 40px;
	font-weight : bold;
	margin : 0 -100vw 80px;
	padding : 100px 100vw 60px;
	background-color : #fe922e;
}
#guide h2 {
	font-weight : bold;
}
#guide h2 .en {
	font-size : 3em;
	color : #ffffff;
}
#guide h3 {
	font-size : 2em;
	font-weight : bold;
	margin-bottom : 1em;
}
#guide h3 .en {
	display : inline-block;
	font-style : italic;
	margin-bottom : 0.5em;
	margin-left : -0.2em;
	transform : rotate(-13deg);
	color : #fe922e;
}

#guide h4 {
	font-size : 1.2em;
	font-weight : bold;
	margin-bottom : 1em;
}

#flow .imgs {
	display : grid;
	grid-template-columns : 1fr 1fr 1fr;
	grid-gap : 32px;
}
#flow .imgs img {
	width : 100%;
}
#flow .necessary {
	display : grid;
	grid-template-columns : 1fr 1fr 1fr;
	grid-gap : 32px;
}
#flow .icon_head {
	display : grid;
	grid-template-columns : 50px 1fr ;
	grid-gap : 15px;
}
#flow .icon_head .img {
	width : 100%;
	padding-top: 5px;
}
#flow .icon_head img {
	width : 100%;
}

.remote {
	font-weight: bold;
	background: linear-gradient(transparent 70% , #f8c600 70%);
}
#flow .necessary .box {
	padding : 30px;
	background-color : #ffffff;
}
#flow .necessary .box h5 {
	margin-bottom : 1em;
	padding : 0.5em 1.5em;
	text-align : center;
	color : #ffffff;
	border-radius : 3em;
	background-color : #fe922e;
}
#flow .necessary .box ol {
	padding : 0.5em;
	list-style-type : none!important; /*数字を一旦消す*/
	counter-reset : number; /*数字をリセット*/
}
#flow .necessary .box ol li {
	position : relative;
	line-height : 1.5em;
	margin-bottom : 1em;
	padding : 0 0 0 35px;
}
#flow .necessary .box ol li:before {
	/*以下数字のデザイン変える*/
	display : inline-block;
	/* 以下数字をつける */
	position : absolute;
	/*以下 上下中央寄せのため*/
	top : 50%;
	left : 0;
	font-family : "Jost";
	font-size : 15px;
	font-weight : bold;
	line-height : 25px;
	width : 25px;
	height : 25px;
	content : counter(number);
	counter-increment : number;
	        transform : translateY(-50%);
	text-align : center;
	color : #ffffff;
	border-radius : 50%;
	background : #fe922e;
	-webkit-transform : translateY(-50%);
}

#flow .container {
	margin-bottom : 100px;
}
#flow .container .text {
	margin-bottom : 20px;
}
#flow .container .text > p:not(:last-child) {
	margin-bottom : 1em;
}
#flow .container .fiximg img {
	width : 100%;
}


#flow_flow_contact {
	padding : 0;
}
#flow_contact > .contact_inner {
	display : flex;
	justify-content : center;
	align-items : center;
	max-width : 1160px;
	margin-right : auto;
	margin-left : auto;
	padding : 40px;
	background-color : #ffffff;
}
#flow_contact .catch_txt {
	font-weight : bold;
	line-height : 1.2;
	margin-right : 18px;
}
#flow_contact .catch_txt span {
	font-size : 0.685em;
	font-weight : normal;
	margin-right : 1em;
	letter-spacing : 0.02em;
}
#flow_contact .tel {
	margin-right : 1em;
}
#flow_contact .tel a {
	display : flex;
	font-family : "Jost";
	font-size : 1.8em;
	font-weight : bold;
	line-height : 1;
	align-items : center;
	text-decoration : none;
	letter-spacing : 0.01em;
}
#flow_contact .tel img {
	margin-right : 0.5em;
}

#flow_contact .mail a br {
	display : none;
}
#flow_contact .line a br {
	display : none;
}
#flow_contact .mail {
	margin-right : 1em;
}
#flow_contact .mail a {
	display : flex;
	font-size : clamp(12px, 1vw, 16px);
	font-weight : bold;
	align-items : center;
	padding : 0.5em 1.5em;
	text-decoration : none;
	color : #ffffff;
	border-radius : 3em;
	background-color : #f87500;
}
#flow_contact .mail a img {
	margin-right : 0.5em;
}
#flow_contact .line a {
	display : flex;
	font-size : clamp(12px, 1vw, 16px);
	font-weight : bold;
	align-items : center;
	padding : 0.5em 1.5em;
	text-decoration : none;
	color : #ffffff;
	border-radius : 3em;
	background-color : #00b903;
}
#flow_contact .line a img {
	margin-right : 8px;
}
#guide .link {
	margin-bottom : 100px;
	text-align : center;
}

@media screen and (max-width: 767px) {
	#guide header {
		grid-template-columns : 1fr;
	}
	#flow .container:nth-of-type(2n-1),
	#flow .container:nth-of-type(2n) {
		position : unset;
		padding-right : unset;
		padding-left : unset;
	}
	#flow .imgs {
		grid-template-columns : 1fr;
		margin-bottom : 40px;
	}

	#flow .necessary {
		grid-template-columns : 1fr;
		margin-bottom : 40px;
	}
	#flow_contact {
		padding : 0;
	}
	#flow_contact > .contact_inner {
		display : block;
		margin-bottom : 40px;
	}
	#flow_contact .catch_txt {
		margin-right : 0;
		margin-bottom : 12px;
		text-align : center;
	}
	#flow_contact .tel {
		margin-right : 0;
		margin-bottom : 24px;
		text-align : center;
	}
	#flow_contact .tel a {
		justify-content : center;
	}
	#flow_contact .mail {
		margin-right : 0;
		margin-bottom : 12px;
	}
	#flow_contact .mail a {
		justify-content : center;
	}
	#flow_contact .line a {
		justify-content : center;
	}

	#guide .link img {
		width : 100%;
	}
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
	#flow_contact .mail a br {
		display : block;
	}
	#flow_contact .line a br {
		display : block;
	}
	#flow .necessary .box {
		padding : 16px;
	}
	#flow .necessary {
		grid-gap : 16px;
	}
}
