/* ----------------------------------------
sitemap（サイトマップLP）
/sitemap/用cssのため消さないこと。
---------------------------------------- */
.sitemap_ti h2 {
	font-size: 30px;
	margin: 60px auto 30px;
	font-weight: 500;
	line-height: 1;
	font-weight: bold;
	width: 1100px;
	padding-top: 60px;
	text-align: left;
	border-bottom: none;
}
.sitemap_wrap {
	margin: 0 auto 60px;
	background: #f8f8f8;
	padding: 50px 50px 10px;
	box-sizing: border-box;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-wrap: wrap;
}
.sitemap_inner {
	width: 430px;
	margin-bottom: 50px;
}
.sitemap_inner:nth-child(odd) {
	margin-right: 40px;
}
.sitemap_inner h3 {
	font-size: 25px;
	margin: 0 0 30px;
	font-weight: 500;
	line-height: 1;
}
.sitemap_inner ul {
	background: #fff;
	padding: 30px;
	height: calc(100% - 60px);
	box-sizing: border-box;
}
.sitemap_inner ul li {}
.sitemap_inner ul li a {
	font-size: 14px;
	color: #333;
	line-height: 1.7;
	position: relative;
	padding-left: 20px;
	margin-bottom: 5px;
	display: block;
}
.sitemap_inner ul li a:hover {
	text-decoration: underline;
}
.sitemap_inner ul li a::before {
	content: "";
	width: 6px;
	height: 6px;
	border-top: 1px solid #042455;
	border-right: 1px solid #042455;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	left: 0;
	top: 8px;
}
.sitemap_group {
	padding-left: 50px !important;
}
.sitemap_group_ti {
	margin-left: -20px;
}
.sitemap_flex ul {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-wrap: wrap;
}
.sitemap_flex ul li {
	width: 50%;
}
.sitemap_flex ul li:first-child {
	width: 100%;
}
/* ----------------------------------------
recruit(サイドバーなし)
/recruit/用cssのため消さないこと。
---------------------------------------- */
.recruit {
	width: 1000px;
	text-align: left;
	line-height: 24px;
	margin: 20px auto;
	padding: 0px 0px 0px 0px;
}
.recruit h2 {
	width: 1000px;
	font-size: 16px;
	line-height: 51px;
	margin: 0px auto 20px auto;
	padding: 0px 0px 0px 0px;
	text-indent: 15px;
	background: #F0F0F0;
	border-top: solid 5px #CCC;
	border-bottom: solid 1px #CCC;
	border-left: solid 3px #666;
	display: block;
	clear: both;
}
.recruit_tb {
	font-weight: bold;
	font-size: 18px;
}
.recruit1 img {
	max-width: 100%;
	height: auto;
}
.recruit2 p {
	margin: 0;
}
.recruit2 ul {
	margin: 20px 0px 20px 0px;
	padding: 0px 0px 0px 0px;
	overflow: hidden;
}
.recruit2 ul li {
	margin: 0px 0px 0px 20px;
	padding: 4px;
	border: solid 1px #CCC;
	float: left;
}
.recruit2 ul li img {
	max-width: 300px;
	height: auto;
}
.recruit3 {
	width: 370px;
	overflow: hidden;
	float: left;
	margin: 0px 20px 20px 0px;
	padding: 0px 0px 0px 0px;
}
.recruit3 img {
	max-width: 370px;
	max-height: 400px;
}
.recruit4 {
	width: 600px;
	float: left;
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
}
.recruit4 p {
	margin: 0;
}
.recruit5 {
	line-height: 28px;
	margin: 0px 0px 20px 0px;
	padding: 0px 0px 0px 0px;
	overflow: hidden;
}
.recruit5 dt {
	width: 150px;
	display: block;
	clear: left;
	float: left;
	background: #EEE;
	margin: 10px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	text-align: center;
	font-weight: bold;
	line-height: 35px;
}
.recruit5 dd {
	display: block;
	float: left;
	margin: 10px 0px 0px 20px;
	padding: 0px 0px 0px 0px;
	line-height: 35px;
	width: 820px;
}
/* ----------------------------------------
recruit(サイドバーあり)
/recruit/用cssのため消さないこと。
---------------------------------------- */
.recruit_side {
	width: 780px;
	text-align: left;
	line-height: 24px;
	margin: 0px auto;
	padding: 0px 0px 0px 0px;
}
.recruit_side h2 {
	width: 100%;
	font-size: 16px;
	line-height: 51px;
	margin: 0px auto 20px auto;
	padding: 0px 0px 0px 0px;
	text-indent: 15px;
	background: #F0F0F0;
	border-top: solid 5px #CCC;
	border-bottom: solid 1px #CCC;
	border-left: solid 3px #666;
	display: block;
	clear: both;
}
.recruit_tb {
	font-weight: bold;
	font-size: 18px;
}
.recruit1_side img {
	max-width: 100%;
	height: auto;
}
.recruit2_side p {
	margin: 0;
}
.recruit2_side ul {
	margin: 20px 0px 20px 0px;
	padding: 0px 0px 0px 0px;
	overflow: hidden;
}
.recruit2_side ul li {
	margin: 0px 0px 0px 20px;
	padding: 4px;
	border: solid 1px #CCC;
	float: left;
}
.recruit2_side ul li img {
	max-width: 226px;
	height: auto;
}
.recruit3_side {
	width: 350px;
	overflow: hidden;
	float: left;
	margin: 0px 20px 20px 0px;
	padding: 0px 0px 0px 0px;
}
.recruit3_side img {
	max-width: 350px;
	max-height: 400px;
}
.recruit4_side {
	width: 410px;
	float: left;
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
}
.recruit4_side p {
	margin: 0;
}
.recruit5_side {
	line-height: 28px;
	margin: 0px 0px 20px 0px;
	padding: 0px 0px 0px 0px;
	overflow: hidden;
}
.recruit5_side dt {
	width: 150px;
	display: block;
	clear: left;
	float: left;
	background: #EEE;
	margin: 10px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	text-align: center;
	font-weight: bold;
	line-height: 35px;
}
.recruit5_side dd {
	display: block;
	float: left;
	margin: 10px 0px 0px 20px;
	padding: 0px 0px 0px 0px;
	line-height: 35px;
	width: 600px;
}
/* ----------------------------------------
owne
---------------------------------------- */
.owner_w {
	& h2, h3, ul, li, p {
		margin: 0;
		padding: 0;
	}
	& ul {
		list-style: none;
	}
	& a {
		text-decoration: none;
		color: #333333;
	}
	.font_blue {
		color: #5075bb;
	}
	.font_gold {
		color: #bdac6f;
	}
	.font_gray {
		color: #878787;
	}
	.lp_conts_wide {
		width: 1200px;
		margin-right: auto;
		margin-left: auto;
	}
	.lp_title {
		>p {
			margin: 0 0 25px 0;
			font-size: 55px;
			line-height: 1;
			letter-spacing: 0.1em;
		}
		>h2 {
			font-size: 20px;
			line-height: 1;
			color: #767676;
			letter-spacing: 0.1em;
		}
	}
	.lp_catch {
		display: inline-block;
		margin-bottom: 40px;
		font-size: 36px;
		line-height: 1.5;
		font-weight: 700;
		color: #bdac6f;
		letter-spacing: 0.1em;
		position: relative;
		&:before {
			content: "“";
			font-size: 40px;
			position: absolute;
			left: -25px;
			top: -15px;
		}
		&:after {
			content: "”";
			font-size: 40px;
			position: absolute;
			right: -35px;
			bottom: -30px;
		}
	}
	.ow_subtl {
		display: flex;
		align-items: baseline;
		gap: 0 15px;
		margin: 0 0 45px 0;
		padding: 25px 20px;
		background: #bdac6f;
		border-radius: 10px;
		color: #FFF;
		line-height: 1;
		letter-spacing: 0.1em;
		>h3 {
			display: flex;
			align-items: baseline;
			gap: 0 15px;
			font-size: 30px;
			&:after {
				content: "";
				display: block;
				width: 55px;
				height: 1px;
				background: #FFF;
			}
		}
		>p {
			font-size: 24px;
			font-weight: 300;
		}
	}
	.ow_main {
		margin: 0 0 150px 0;
		background-image: url(/img/owner/main_bg.webp);
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center bottom;
		>div {
			width: 1200px;
			margin: 0 auto;
			padding: 140px 0 140px 0;
			position: relative;
			>h2 {
				margin: 0 0 50px 0;
				color: #FFF;
				letter-spacing: 0.1em;
				text-shadow: 0px 0px 7px rgba(0, 0, 0, 0.2);
				.ow_main_s {
					font-size: 42px;
					line-height: 1.5;
					>span {
						font-size: 36px;
					}
				}
				.ow_main_b {
					display: block;
					font-size: 75px;
					line-height: 1.5;
					>span {
						font-size: 70px;
					}
				}
			}
			>p {
				display: flex;
				flex-direction: column;
				align-items: flex-start;
				gap: 10px 0;
				>span {
					display: inline-block;
					padding: 0 10px;
					background: #FFF;
					font-size: 20px;
					line-height: 1.8;
					color: #767676;
					letter-spacing: 0.1em;
				}
			}
			>ul {
				display: flex;
				gap: 0 15px;
				position: absolute;
				bottom: -50px;
				right: 0;
				>li {
					width: 170px;
					aspect-ratio: 1 / 1;
					box-sizing: border-box;
					padding: 25px 0 0 0;
					background: #bdac6f;
					border-radius: 50%;
					color: #FFF;
					text-align: center;
					>img {
						display: block;
						width: 51px;
						margin: 0 auto 8px auto;
					}
					>p {
						display: inline-block;
						width: 125px;
						padding: 0 0 8px 0;
						border-bottom: 2px dotted #FFF;
						font-size: 24px;
						line-height: 1;
						letter-spacing: 0.1em;
						.ow_main_list_s {
							font-size: 20px;
						}
						.ow_main_list_num {
							font-size: 28px;
						}
					}
				}
			}
		}
	}
	>main {
		& ul.ow_list {
			>li:not(:last-child) {
				margin: 0 0 30px 0;
			}
			>li {
				display: flex;
				gap: 0 50px;
				padding: 20px 20px 20px 35px;
				background: #FFF;
				border-radius: 20px;
				>div {
					margin: 25px 0 0 0;
					.ow_sup_name {
						display: flex;
						align-items: center;
						gap: 0 15px;
						padding: 0 0 25px 0;
						border-bottom: 1px solid #bdac6f;
						font-size: 28px;
						line-height: 1;
						font-weight: bold;
						color: #bdac6f;
						letter-spacing: 0.1em;
						&:before {
							content: "";
							display: block;
							width: 25px;
							height: 25px;
							background: url(/img/owner/check.webp);
							background-repeat: no-repeat;
							background-size: cover;
						}
					}
					>div {
						display: flex;
						flex-direction: column;
						justify-content: center;
						gap: 20px 0;
						height: calc(100% - 54px);
						.ow_sup_catch {
							line-height: 1;
							color: #bdac6f;
							font-weight: bold;
							letter-spacing: 0.1em;
							.ow_sup_name_s {
								margin: 0 15px 0 0;
								font-size: 20px;
							}
							.ow_sup_name_b {
								font-size: 30px;
							}
							.ow_sup_name_m {
								font-size: 24px;
							}
							.ow_sup_name_num {
								margin: 0 5px;
								font-size: 40px;
								>span {
									margin: 0 0 0 5px;
									font-size: 30px;
								}
							}
						}
						.ow_sup_txt {
							font-size: 16px;
							line-height: 1.75;
						}
					}
				}
				>img {
					width: 447px;
				}
			}
		}
		#ow_service {
			margin: 0 0 140px 0;
			padding: 0 0 80px 0;
			position: relative;
			z-index: 1;
			&:before {
				content: "";
				width: calc(100% + 740px);
				max-width: 96vw;
				height: calc(100% - 35px);
				background: #FFF;
				border-radius: 30px 0 0 30px;
				position: absolute;
				bottom: 0;
				right: 0;
				z-index: -1;
			}
			>div {
				.lp_title {
					margin: 0 0 50px 0;
				}
				.lp_catch {
					margin: 0 0 65px 0;
				}
				>ul {
					display: flex;
					justify-content: space-between;
					>li {
						position: relative;

						>a {
							display: block;
							width: 380px;
							box-sizing: border-box;
							padding: 30px 22px;
							position: relative;
							z-index: 1;
							&:after {
								content: "";
								display: block;
								width: 100%;
								height: calc(100% - 10px);
								background: #fdfaf4;
								border-radius: 20px;
								position: absolute;
								left: 0;
								bottom: 0;
								z-index: -1;
							}
							.ow_service_num {
								display: flex;
								align-items: center;
								margin: 0 0 25px 0;
								>span {
									font-size: 18px;
									line-height: 1;
									color: #bdac6f;
									font-weight: bold;
									letter-spacing: 0.1em;
								}
							}
							>img {
								display: block;
								width: 244px;
								margin: 0 auto 15px auto;
							}
							.ow_service_name {
								margin: 0 0 20px 0;
								padding: 0 0 18px 0;
								font-size: 21px;
								line-height: 1;
								color: #bdac6f;
								font-weight: bold;
								text-align: center;
								position: relative;
								&:after {
									content: "";
									display: block;
									width: 120px;
									height: 0;
									margin: auto;
									border-bottom: 3px dashed #bdac6f;
									position: absolute;
									left: 0;
									right: 0;
									bottom: 0;
								}
							}
							.ow_service_txt {
								margin: 0 0 5px 0;
								padding: 0 10px;
								font-size: 14px;
								line-height: 1.4;
								letter-spacing: 0.1em;
							}
							.ow_service_more {
								display: flex;
								justify-content: flex-end;
								>span {
									display: flex;
									gap: 0 5px;
									padding: 0 0 5px 0;
									border-bottom: 1px solid #bdac6f;
									font-size: 15px;
									line-height: 1;
									color: #bdac6f;
									font-weight: 500;
									letter-spacing: 0.1em;
									&:after {
										content: "+";
										font-weight: 500;
									}
								}
							}
						}
					}
				}
			}
		}
		#ow_support {
			>div {
				margin: 90px auto 0px auto;
				.lp_title {
					margin: 0 0 55px 0;
				}
				.lp_catch {
					margin: 0 0 65px 0;
				}
			}
			.ow_system {
				padding: 100px 0;
				background: #FFF;
				& table {
					& tr:nth-child(2n) {
						background: #fdfaf4;
					}
					& tr:nth-child(1) {
						>th:nth-child(1) {
							width: 300px;
							border-right: 1px solid #bdac6f;
							border-bottom: 1px solid #bdac6f;
						}
					}
					& tr:last-child {
						>td {
							width: 900px;
						}
					}
					& tr {
						display: flex;
						box-sizing: border-box;
					}
					.ow_system_type {
						width: 450px;
						box-sizing: border-box;
						border-bottom: 1px solid #bdac6f;
						border-right: 1px solid #bdac6f;
						font-size: 22px;
						line-height: 30px;
						color: #bdac6f;
						>span {
							display: block;
							padding: 20px 0;
							width: 435px;
							margin: 0 auto 8px auto;
							background: #fdfaf4;
							border-radius: 10px;
						}
						&:last-of-type {
							border-right: none;
						}
					}
					.ow_system_item {
						width: 300px;
						padding: 25px 0;
						border-right: 1px solid #bdac6f;
						font-size: 18px;
						line-height: 20px;
						color: #bdac6f;
					}
					& td {
						display: flex;
						align-items: center;
						justify-content: center;
						width: 450px;
						box-sizing: border-box;
						font-size: 18px;
						line-height: 20px;
						border-right: 1px solid #bdac6f;
						text-align: center;
						>span {
							font-size: 14px;
						}
						&:last-of-type {
							border-right: none;
						}
					}
					& th {
						box-sizing: border-box;
					}
				}
			}
		}
		#ow_contact {
			padding: 60px 0;
			background: #efecdf;
			>h2 {
				margin: 0 0 25px 0;
				font-size: 30px;
				line-height: 1;
				color: #bdac6f;
				font-weight: bold;
				text-align: center;
				letter-spacing: 0.1em;
			}
			>p {
				margin: 0 0 35px 0;
				font-size: 16px;
				line-height: 1.5;
				text-align: center;
				letter-spacing: 0.1em;
			}
			>ul {
				display: flex;
				justify-content: center;
				gap: 0 20px;
				>li {
					width: 500px;
				}
				.ow_contact_tel {
					background: #FFF;
					padding: 13px 0;
					border-radius: 40px;
					line-height: 1;
					text-align: center;
					.ow_contact_num {
						display: flex;
						align-items: center;
						justify-content: center;
						gap: 0 10px;
						margin: 0 0 10px 0;
						color: #bdac6f;
						font-size: 32px;
						letter-spacing: 0.05em;
						&:before {
							content: "";
							display: block;
							width: 24px;
							height: 24px;
							background-image: url(/img/owner/contact_tel_icon.webp);
							background-size: cover;
							background-repeat: no-repeat;
						}
					}
					.ow_contact_time {
						font-size: 12px;
					}
				}
				.ow_contact_btn {
					>a {
						display: flex;
						align-items: center;
						justify-content: center;
						padding: 30px 20px 30px 35px;
						border-radius: 40px;
						background: #333333;
						font-size: 18px;
						line-height: 20px;
						letter-spacing: 0.1em;
						color: #FFF;
						transition: all 0.2s;
						>span {
							display: flex;
							align-items: center;
							gap: 0 15px;
							&:before {
								content: "";
								display: block;
								width: 24px;
								height: 17px;
								background-image: url(/img/owner/contact_main_icon.webp);
								background-size: cover;
								background-repeat: no-repeat;
							}
						}

						&:hover {
							background: #bdac6f;
						}
					}
				}
			}
		}
		#ow_ability {
			width: 100%;
			padding: 180px 0 80px 0;
			background: #FFF;
			.ow_abil_tl {
				display: flex;
				align-items: baseline;
				gap: 0 140px;
			}
			>img {
				width: 100%;
				height: 350px;
				object-fit: cover;
				object-position: center;
				margin: 0 0 80px 0;
			}
			.ow_abil_con_tl {
				margin: 0 0 30px 0;
				text-align: center;
				>h3 {
					display: flex;
					justify-content: center;
					gap: 0 10px;
					margin: 0 0 25px 0;
					font-size: 24px;
					line-height: 1;
					color: #bdac6f;
					font-weight: bold;
					letter-spacing: 0.1em;
					>span {
						font-size: 28px;
					}
				}
				>p {
					font-size: 36px;
					line-height: 1.4;
					font-weight: bold;
					color: #bdac6f;
					letter-spacing: 0.1em;
				}
			}
			.lp_conts_wide {
				>section:not(:last-of-type) {
					margin: 0 0 90px 0;
				}
			}
			.ow_abil_box {
				display: flex;
				align-items: center;
				justify-content: flex-start;
				gap: 0 50px;
				margin: 0 0 40px 0;
				>img {
					width: 650px;
				}
				.ow_abil_box_txt {
					width: 450px;
				}
			}
			.ow_abil_box.ow_abil_box_rev {
				flex-direction: row-reverse;
				justify-content: flex-end;
			}
			.ow_abil_box_txt {
				font-size: 16px;
				line-height: 1.75;
				letter-spacing: 0.1em;
			}
			.ow_abil_exam {
				width: 1200px;
				box-sizing: border-box;
				padding: 30px;
				border: 1px dashed #bdac6f;
				border-radius: 20px;
				& h3 {
					display: inline-block;
					margin: 0 0 20px 0;
					padding: 15px;
					box-sizing: border-box;
					background: #fdfaf4;
					border: 1px solid #bdac6f;
					border-radius: 5px;
					font-size: 20px;
					line-height: 1;
					color: #bdac6f;
					letter-spacing: 0.05em;
					>span {
						font-size: 16px;
					}
				}
				.ow_abil_exam_tl {
					display: flex;
					align-items: center;
					gap: 0 30px;
					margin: 0 0 20px 0;
					>h3 {
						margin: 0;
					}
				}
				.ow_abil_exam_box {
					display: flex;
					justify-content: space-between;
					gap: 0 20px;
					.ow_abil_exam_txt {
						display: flex;
						align-items: center;
						justify-content: center;
						padding: 20px 35px;
						background: #fdfaf4;
						border-radius: 15px;
						>p {
							font-size: 14px;
							line-height: 1.85;
							letter-spacing: 0.1em;
							>span {
								color: #bdac6f;
							}
						}
					}
				}
			}
			.ow_abil_exam_ba {
				flex-shrink: 0;
				display: flex;
				gap: 0 30px;
				& div:not(:last-of-type) {
					display: flex;
					align-items: center;
					gap: 0 30px;
					&:after {
						content: "";
						display: block;
						width: 20px;
						height: 23px;
						background-image: url(/img/owner/ability_ar.webp);
						background-repeat: no-repeat;
						background-size: cover;
					}
				}
			}
			.ow_abil_exam_01 {
				>div {
					>div {
						>img {
							width: 315px;
						}
					}
				}
			}
			.ow_abil_exam_02 {
				>div {
					>div {
						>img {
							width: 350px;
						}
					}
				}
			}
			.ow_abil_exam_03 {
				& ul {
					display: flex;
					gap: 0 25px;
					>li {
						>img {
							width: 350px;
							margin: 0 0 15px 0;
						}
						>p {
							font-size: 16px;
							line-height: 1;
						}
					}
				}
			}
			.ow_abil_con_other {
				>p {
					margin: 0 0 50px 0;
					text-align: center;
				}
				.ow_abil_con_other_box {
					display: flex;
					align-items: center;
					gap: 0 60px;
					margin: 0 0 40px 0;
					.ow_abil_ot_box_l {
						padding: 0 155px 105px 0;
						position: relative;
						.ow_abil_ot_box_img_01 {
							width: 520px;
						}
						.ow_abil_ot_box_img_02 {
							width: 240px;
							position: absolute;
							right: 0;
							bottom: 0;
						}
					}
					.ow_abil_ot_box_r {
						width: 350px;
						position: relative;
						.ow_abil_ot_box_r_catch {
							width: 261px;
							position: absolute;
							top: -120px;
							left: -105px;
						}
						>img {
							width: 317px;
							position: absolute;
							bottom: -210px;
							right: -35px;
						}
					}
				}
			}
		}
	}
}
/* owner
---------------------------------------- */