@charset "UTF-8";

/* --------------- base --------------- */
#contentArea .font_s {
	font-size: 1.2rem;
	}
#contentArea .ml_s {
	margin-left: 1.2rem;
	}
#contentArea .txt_right {
	text-align: right;
	}

#contentArea .note {
	display: block;
	margin-top: 4px;
	padding-left: 1em;
	text-indent: -1em;
	font-size: 1.2rem;
	line-height: 1.4;
	}

#contentArea .pc_no_link {
	text-decoration: none;
	pointer-events: none;
	}

#contentArea .pc_no_br {
	display: none;
	}

#contentArea .icon {
	position: relative;
	margin-right: 16px;
	}
	#contentArea .icon::after {
		content: '';
		position: absolute;
		top: 50%;
		margin-top: 2px;
		margin-left: 6px;
		width: 15px;
		height: 15px;
		background-repeat: no-repeat;
		background-size: contain;
		transform: translate(0, -50%);
		}
	#contentArea .icon._window::after {
		background-image: url(/asset/images/icon_window.svg);
		}
	#contentArea .icon._pdf::after {
		background-image: url(/asset/images/icon_file.svg);
		}

#contentArea h1 {
	position: relative;
	margin: 50px auto;
	padding-left: 24px;
	width: 77.77%;
	font-size: 3.4rem;
	font-weight: bold;
	line-height: 1;
	}
	#contentArea h1::before {
		content: '';
		position: absolute;
		top: 2px;
		left: 0;
		width: 4px;
		height: 3.3rem;
		border-left: 4px solid #eb4f00;
		}

#contentArea h2 {
	padding-bottom: 24px;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1;
	text-align: center;
	border-bottom: 4px solid #eb4f00;
	}
	#contentArea h2 span {
		display: inline-block;
		margin-top: 10px;
		font-size: 1.6rem;
		}

#contentArea h3 {
	margin-bottom: 8px;
	font-size: 2rem;
	font-weight: bold;
	}

#contentArea h4 {
	margin-bottom: 4px;
	font-weight: bold;
	}

#contentArea p {
	margin-bottom: 2em;
	}

/* --------------- main_visual --------------- */
#contentArea .main_visual {
	height: 450px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	}
	body.company #contentArea .main_visual {
		background-image: url(/asset/images/company_main.jpg);
		}
	body.service #contentArea .main_visual {
		background-image: url(/asset/images/service_main.jpg);
		}

/* --------------- content --------------- */
#contentArea .content {
	margin: 60px auto 150px;
	width: 66.66%;
	}

/* --------------- article --------------- */
#contentArea .content article {
	margin-bottom: 120px;
	}
	#contentArea .content article section {
		margin: 50px auto;
		width: 83.33%;
		}

#contentArea .content article section dl.list {
	display: flex;
	flex-wrap: wrap;
	}
	#contentArea .content article section dl.list dt {
		padding: 24px;
		width: 26.37%;
		font-weight: bold;
		border-bottom: 1px solid #eb4f00;
		}
	#contentArea .content article section dl.list.gray dt {
		font-weight: normal;
		border-bottom: 1px solid #3c3c43;
		}
	#contentArea .content article section dl.list dd {
		padding: 24px;
		width: 73.63%;
		border-bottom: 1px solid #ccc;
		}

#contentArea .content article section ul.step {
	position: relative;
	}
	#contentArea .content article section ul.step li {
		position: relative;
		margin: 60px 0;
		border-bottom: 1px solid #ccc;
		}
	#contentArea .content article section ul.step li:last-child {
		border-bottom: none;
		}
	#contentArea .content article section ul.step li::after {
		content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 40px;
    height: 40px;
		background-image: url(/asset/images/icon_step.png);
    background-repeat: no-repeat;
    background-size: contain;
    transform: translate(-50%, 20px);
		}
	#contentArea .content article section ul.step li:last-child:after {
		content: '';
    display: none;
		}
		#contentArea .content article section ul.step li dl {
			display: flex;
			margin-bottom: 60px;
			}
			#contentArea .content article section ul.step li dl dt {
				width: 30%;
				}
				#contentArea .content article section ul.step li dl dt .step_num {
					display: flex;
					align-items: center;
					justify-content: center;
					flex-direction: column;
					margin: 0 auto;
					padding: 10px;
					width: 120px;
					height: 120px;
					font-family: Helvetica, sans-serif;
					color: #fff;
					font-size: 1.6rem;
					text-align: center;
					border-radius: 50%;
					background-color: #eb4f00;
					box-sizing: border-box;
					}
					#contentArea .content article section ul.step li dl dt .step_num strong {
						font-size: 4.4rem;
						line-height: 1;
						}
			#contentArea .content article section ul.step li dl dd {
				width: 70%;
				}
				#contentArea .content article section ul.step li dl dd .box {
					margin-top: 2em;
					padding: 28px 32px 2px;
					background-color: #f3f3f3;
					}
					#contentArea .content article section ul.step li dl dd .box strong {
						color: #eb4f00;
						font-weight: bold;
						}

#contentArea .content article section table.service {
	margin-bottom: 40px;
	width: 100%;
	}
	#contentArea .content article section table.service thead th {
		padding: 24px;
		width: 33.33%;
		font-weight: bold;
		text-align: center;
		border-bottom: 1px solid #ccc;
		}
	#contentArea .content article section table.service tbody tr:nth-child(odd) {
		background-color: #f3f3f3;
		}
	#contentArea .content article section table.service tbody td {
		padding: 24px;
		font-family: Helvetica, sans-serif;
		text-align: center;
		}

#contentArea .content article section .list_num {
	margin: 0 0 2em 1.2em;
	}
	#contentArea .content article section .list_num li {
		list-style-type: decimal;
		margin-bottom: 1em;
		}
#contentArea .content article section .list_alpha {
	margin: 0 0 2em -.5em;
	}
	#contentArea .content article section .list_alpha li {
		list-style-type: none;
		counter-increment: cnt;
		margin-bottom: .2em;
		}
	#contentArea .content article section .list_alpha li::before {
		content: "（" counter(cnt, lower-alpha) "）";
		}
	
/* ---------------------------------------------------------------------
	タブレット
*/
@media only screen and (max-width : 1240px) {
  
/* --------------- base --------------- */
#contentArea h1 {
	width: 88.88%;
	}

/* --------------- content --------------- */
#contentArea .content {
	width: 77.77%;
	}

#contentArea .content article section ul.step li dl dt .step_num {
	margin: 0;
	}
	
}

/* ---------------------------------------------------------------------
	SP
*/
@media only screen and (max-width : 767px) {

/* --------------- base --------------- */
#contentArea .pc_no_link {
	text-decoration: underline;
	pointer-events: unset;
	}

#contentArea .pc_no_br {
	display: unset;
	}
#contentArea .sp_no_br {
	display: none;
	}

#contentArea h1 {
	margin: 32px auto;
	padding-left: 12px;
	width: 88.88%;
	font-size: 2.0rem;
	}
	#contentArea h1::before {
		top: 0;
		width: 3px;
		height: 2.0rem;
		border-left: 3px solid #eb4f00;
		}

#contentArea h2 {
	padding-bottom: 14px;
	font-size: 1.8rem;
	border-bottom: 3px solid #eb4f00;
	}
	#contentArea h2 span {
		display: inline-block;
		margin-top: 10px;
		font-size: 1.4rem;
		}

#contentArea h3 {
	margin-bottom: 2px;
	font-size: 1.6rem;
	}

/* --------------- main_visual --------------- */
#contentArea .main_visual {
	height: 242px;
	}
	body.service #contentArea .main_visual {
		background-position: right;
		}

/* --------------- content --------------- */
#contentArea .content {
	margin: 40px auto 80px;
	width: 88.88%;
	}

/* --------------- article --------------- */
#contentArea .content article {
	margin-bottom: 80px;
	}
	#contentArea .content article section {
		margin: 24px auto;
		width: 90%;
		}

#contentArea .content article section dl.list {
	display: flex;
	flex-direction: column;
	flex-wrap: unset;
	}
	#contentArea .content article section dl.list dt {
		padding: 20px 20px 0 20px;
		width: 100%;
		border-bottom: none;
		}
	#contentArea .content article section dl.list.gray dt {
    font-weight: bold; 
    border-bottom: none;
		}
	#contentArea .content article section dl.list dt:first-child {
		padding-top: 0;
		}
	
	#contentArea .content article section dl.list dd {
		padding: 0 20px 20px 20px;
		width: 100%;
		border-bottom: 1px solid #ccc;
		}

	#contentArea .content article section ul.step li {
		position: relative;
		margin: 40px 0;
		}

#contentArea .content article section ul.step li dl {
	margin-bottom: 20px;
	}
	#contentArea .content article section ul.step li dl dt {
		width: 24%;
		}
		#contentArea .content article section ul.step li dl dt .step_num {
			width: 64px;
			height: 64px;
			font-size: 1.0rem;
			}
			#contentArea .content article section ul.step li dl dt .step_num strong {
				font-size: 2.2rem;
				}
	#contentArea .content article section ul.step li dl dd {
		width: 76%;
		}
		#contentArea .content article section ul.step li dl dd .box {
			margin: 2em 0;
			padding: 20px 20px 2px;
			}

#contentArea .content article section table.service {
	margin-bottom: 24px;
	width: 100%;
	}
	#contentArea .content article section table.service thead th {
		padding: 10px 0;
		font-size: 1.2rem;
		}
	#contentArea .content article section table.service tbody td {
		padding: 16px 0;
		}

}