@charset "utf-8";

/* -----------------------------
	企業情報
-------------------------------- */
.intro-area {
	padding: 100px 0 0;
}

.intro-area .intro-ttl {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
}

.intro-area .intro-ttl span {
	font-size: 5.0rem;
	display: inline-block;
	padding: 0 10px;
	font-weight: 700;
}

.intro-area .intro-ttl .gradation {
	background: linear-gradient(90deg, #03316a, #043672, #053b7b, #064184, #06468c, #064c95, #05519e, #0457a7);
    -webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.intro-area .logo-wrap {
	width: 180px;
	margin: 40px auto;
}

.intro-area .lead-txt {
	text-align: center;
	line-height: 2.2;
}

.intro-area .bg-wrap {
	margin: 60px 0 0;
}

@media screen and (max-width: 768px){
	.intro-area {
		padding: 30px 0 40px;
	}
	
	.intro-area .intro-ttl {
		font-size: 2.1rem;
		
	}
	
	.intro-area .intro-ttl span {
		font-size: 4.0rem;
		padding: 0 5px;
		line-height: 1.3;
	}
	
	.intro-area .logo-wrap {
		width: 120px;
		margin: 20px auto;
	}
	
	.intro-area .lead-txt {
		text-align: left;
		line-height: 2.0;
	}
	
	.intro-area .bg-wrap {
		margin: 30px 0 0;
		width: 100%;
		height: 46vw;
	}
	
}


/* -----------------------------
	contents
-------------------------------- */

.contents-main {
	margin: 0 auto 0 0;
	width: 940px;
	padding: 100px 0;
}

.contents-block {
	width: 100%;
}

.contents-block + .contents-block {
	margin: 80px 0 0;
}

.contents-block.flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.contents-block .sec-ttl {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.6;
	position: relative;
	padding-left: 28px;
	margin: 0 0 20px;
}

.contents-block .sec-ttl::before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 15px;
	left: 0;
	background: url("../img/sec-deco.svg") center/cover, no-repeat;
	width: 20px;
	height: 10px;
}

.contents-block .sec-catch {
	font-size: 3.6rem;
	font-weight: bold;
	line-height: 1.6;
	font-feature-settings: "palt";
	letter-spacing: .4rem;
}

.contents-block .basic-txt + .basic-txt {
	margin: 15px 0 0;
}

.contents-block .name-wrap {
	width: 240px;
	margin: 20px 0 0 auto;
}

.contents-block .action-txt {
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 2.2;
}

.contents-block .company-table {
	width: 100%;
	border-collapse: collapse;
}

.contents-block .company-table tbody {
	
}

.contents-block .company-table th {
	width: 130px;
	vertical-align: text-top;
	line-height: 1.5;
	text-align: left;
	padding: 25px 0;
	font-weight: 500;
}

.contents-block .company-table tr:not(:first-child) th {
	border-top: 1px solid #ddd;
}

.contents-block .company-table td {
	width: calc( 100% - 130px );
	line-height: 1.5;
	padding: 25px 0;
}

.contents-block .company-table tr:not(:first-child) td {
	border-top: 1px solid #ddd;
}

.contents-block .company-table .area-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 30px 0;
}

.contents-block .company-table .area-list li {
	width: 270px;
	font-size: 1.5rem;
	line-height: 1.6;
}

.contents-block .company-table .area-list li .area {
	display: inline-block;
	width: 100%;
	font-weight: bold;
	margin: 0 0 5px;
}

.contents-block .company-table .area-list li .map-link {
	width: 100%;
	display: inline-block;
	margin: 5px 0 0;
}

.contents-block .company-table .area-list li .tel-link {
	width: 100%;
	display: inline-block;
}

.contents-block .company-table .area-list li i {
	color: var(--blue);
	display: inline-block;
	margin-right: 5px;
}

.contents-block .company-table .area-list li .tel-link i {
	font-size: 1.3rem;
	margin-right: 0;
}

.contents-block iframe {
	width: 100%;
	height: 400px;
}

@media screen and (max-width: 768px){
	.contents-main {
		width: 100%;
		padding: 55px 0 40px;
	}
	
	.contents-block {
		padding: 0 20px;
		margin: 40px 0 0;
	}
	
	.contents-block.flex {
		gap: 20px;
	}
	
	.contents-block + .contents-block {
		margin: 40px 0 0;
	}
	
	.contents-block .sec-ttl {
		font-size: 1.8rem;
		padding-left: 25px;
		margin: 0 0 10px;
	}
	
	.contents-block .sec-ttl::before {
		top: 10px;
	}
	
	.contents-block .sec-catch {
		font-size: 2.8rem;
		letter-spacing: .2rem;
	}
	
	.contents-block .basic-txt + .basic-txt {
		margin: 10px 0 0;
	}
	
	.contents-block .name-wrap {
		width: 200px;
		margin: 10px 0 0 auto;
	}
	
	.contents-block .action-txt {
		font-size: 2.0rem;
		line-height: 2.0;
	}
	
	.contents-block .company-table {
		margin: 20px 0 0;
	}
	
	.contents-block .company-table th {
		width: 100%;
		display: block;
		padding: 15px;
		background: #eee;
	}
	
	.contents-block .company-table td {
		width: 100%;
		display: block;
		padding: 15px;
	}
	
	.contents-block .company-table tr:not(:first-child) th {
		border-top: none;
	}
	
	.contents-block .company-table tr:not(:first-child) td {
		border-top: none;
	}
	
	.contents-block .company-table .area-list {
		gap: 20px 0;
	}
	
	.contents-block iframe {
		height: 50vw;
	}
	
}