@charset "utf-8";

/*--------------------------------------------------
	common
--------------------------------------------------*/
:root {
	--color_black: #222;
	--color_gray: #bbb;
	--color_white: #fff;
	--color_blue: #3b436d;
	--color_gradation: linear-gradient(to bottom,  rgba(75,86,143,1) 0%,rgba(59,67,109,1) 80%,rgba(59,67,109,1) 80%);
;
}

.content a:link { color: #183bba; text-decoration: none; }
.content a:visited { color: #183bba; text-decoration: none; }
.content a:hover { color: #183bba; text-decoration: underline; }
@media screen and (min-width: 768px) {
a[href^="tel:"] { pointer-events: none; color: inherit; }
}

.bold {	font-weight: bold; }

/* 選択時背景色 */
/*::selection {background: #fe4545;color:#fff; }
::-moz-selection {background: #fe4545;color:#fff; }*/

.sp { display: none !important; }
@media screen and (max-width: 767px) {
.pc { display: none !important; }
.sp { display: inherit !important; }
}

/*--------------------------------------------------
	layout
--------------------------------------------------*/
html {
	font-size: 62.5%;
}
body {
	min-width: 1100px;
	line-height: 1;
	font-family: "Noto Serif JP", serif;
	font-size: 1.0rem;
	overflow-wrap: break-word;
	word-wrap: break-word;
	-webkit-text-size-adjust: none;
	color: var(--color_black);
}
img {
	max-width: 100%;
	height: auto;
}
.wrap {
	text-align: left;
	font-size: 1.6rem;
}
.content {
	padding-top: 80px;
}
section {
	position: relative;
	padding: 100px 0;
}
section::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 1px;
	text-align: center;
	margin: 0 auto;
	background-image: linear-gradient(to right, transparent, var(--color_black) 50%, transparent);
	background-position: center;
	background-repeat: no-repeat;
}
.inner {
	width: 1100px;
	margin: 0 auto;
	padding: 0 40px;
}
.sec_ttl {
	font-size: 4rem;
	font-weight: 700;
	margin-bottom: 60px;
}
.sec_ttl span {
	position: relative;
	font-size: 1.6rem;
	font-weight: 400;
	margin-left: 2em;
	padding-left: 2.5em;
}
.sec_ttl span::before {
	position: absolute;
	content: "";
	top: 50%;
	left: 0;
	width: 2em;
	height: 1px;
	background-color: var(--color_black);
}

@media screen and (max-width: 767px) {
	body {
		min-width: initial;
	}
	.wrap {
		font-size: 1.4rem;
	}
	.content {
		padding-top: 50px;
	}
	section {
		padding: 50px 0;
	}
	.inner {
		width: 100%;
		padding-right: 4%;
		padding-left: 4%;
	}
	.sec_ttl {
		font-size: 2.4rem;
		margin-bottom: 30px;
	}
	.sec_ttl span {
		font-size: 1.4rem;
	}
}

/*--------------------------------------------------
	header
--------------------------------------------------*/
header {
	position: fixed;
	top: 0;
	width: 100%;
	height: 80px;
	background: var(--color_white);
	z-index: 100;
}
.header_inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.header_logo {
	font-size: 4rem;
	padding-left: 40px;
}
a.header_call {
	height: 80px;
	line-height: 80px;
	font-size: 3.8rem;
	color: var(--color_white);
	padding: 0 20px;
	background: var(--color_gradation);
}
a.header_call i {
	font-size: 3.2rem;
	margin-right: 0.2em;
}

@media screen and (max-width: 767px) {
	header {
		height: 50px;
	}
	.header_logo {
		font-size: 2.8rem;
		padding-left: 4%;
	}
	a.header_call {
		height: 50px;
		line-height: 50px;
		font-size: 2.8rem;
		padding: 0 4%;
	}
	a.header_call i {
		font-size: 2.8rem;
		margin-right: 0;
	}
	a.header_call .number {
		display: none;
	}
}

/*--------------------------------------------------
	content
--------------------------------------------------*/
#fv {
	position: relative;
	height: 940px;
	background: url(../images/fv.jpg) no-repeat center center;
	background-size: cover;
}
.fv_lead {
	position: absolute;
	bottom: 100px;
}
.fv_txt {
	line-height: 1.8;
	font-size: 1.8rem;
	text-shadow: 0 0 20px rgba(255,255,255,0.5); 
	margin-top: 40px;
}
.fv_txt p + p {
	margin-top: 1.5em;
}

@media screen and (max-width: 767px) {
	#fv {
		height: initial;
		padding-top: 58.5%;
		padding-bottom: 50px;
		background: url(../images/fv_sp.jpg) no-repeat center top;
		background-size: 100% auto;
	}
	.fv_lead {
		position: initial;
		bottom: initial;
	}
	.fv_catch {
		width: 80.14%;
		margin-left: auto;
	}
	.fv_txt {
		font-size: 1.4rem;
		margin-top: 20px;
	}
	#fv::after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		width: 100%;
		height: 1px;
		text-align: center;
		margin: 0 auto;
		background-image: linear-gradient(to right, transparent, var(--color_black) 50%, transparent);
		background-position: center;
		background-repeat: no-repeat;
	}
}


.profile_txt,
.profile_history,
.profile_licence {
	line-height: 1.8;
}
.profile_txt img {
	float: right;
	margin-left: 60px;
}
.profile_history {
	margin-top: 60px;
}
.profile_history li {
	padding-left: 5em;
	text-indent: -5em;
}
.profile_history li .year {
	display: inline-block;
	width: 5em;
	text-indent: 0;
}
.profile_licence {
	margin-top: 40px;
}

@media screen and (max-width: 767px) {
	.profile_txt img {
		width: 26.09%;
		margin-left: 20px;
	}
	.profile_history {
		margin-top: 30px;
	}
	.profile_licence {
		margin-top: 20px;
	}
}


.service_list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 6px;
}
.service_list li {
	width: calc((100% - 12px) / 3);
	height: 336px;
	line-height: 336px;
	text-align: center;
	font-size: 2.8rem;
	color: var(--color_white);
	text-shadow: 0 0 30px rgba(0,0,0,0.5); 
}
.service_list li.item_1 {
	background: url(../images/service_img_1.jpg) no-repeat center top;
	background-size: cover;
}
.service_list li.item_2 {
	background: url(../images/service_img_2.jpg) no-repeat center top;
	background-size: cover;
}
.service_list li.item_3 {
	background: url(../images/service_img_3.jpg) no-repeat center top;
	background-size: cover;
}
.service_list li.item_4 {
	background: url(../images/service_img_4.jpg) no-repeat center top;
	background-size: cover;
}
.service_list li.item_5 {
	background: url(../images/service_img_5.jpg) no-repeat center top;
	background-size: cover;
}

@media screen and (max-width: 767px) {
	.service_list {
		gap: 4.5px;
	}
	.service_list li {
		width: calc((100% - 9px) / 3);
		height: 150px;
		line-height: 150px;
		font-size: 1.4rem;
	}
}


.access_detail {
	line-height: 1.8;
}
.access_name {
	font-size: 2rem;
}
.access_address {
	margin-top: 5px;
}
.access_gmap {
	width: 100%;
	aspect-ratio: 16 / 9;
	margin-top: 20px;
}
.access_gmap iframe {
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 767px) {
	.access_name {
		font-size: 1.8rem;
	}
	.access_gmap {
		aspect-ratio: 4 / 3;
	}
}


/*--------------------------------------------------
	footer
--------------------------------------------------*/
footer {
	text-align: center;
	font-size: 1rem;
	color: var(--color_white);
	padding: 40px 0;
	background: var(--color_gradation);
}

@media screen and (max-width: 767px) {
	footer {
		padding: 20px 0;
	}
}
