@charset "utf-8";

/*--------------------------------------------------
	common
--------------------------------------------------*/
a:link { color: #666; text-decoration: none; }
a:visited { color: #666; text-decoration: none; }
a:hover { color: #666; text-decoration: underline; }
@media screen and (min-width: 768px) {
a[href^="tel:"] { pointer-events: none; color: inherit; }
}

.bold {	font-weight: bold; }

.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 {
	line-height: 1;
	font-family: 'Noto Sans JP', "メイリオ", "meiryo", Verdana, "Hiragino Kaku Gothic Pro W3", "MS UI Gothic";
	font-size: 1.0rem;
	overflow-wrap: break-word;
	word-wrap: break-word;
	-webkit-text-size-adjust: none;
	color: #333;
}
img {
	max-width: 100%;
	height: auto;
}
.wrap {
	text-align: left;
}
.inner {
	width: 1060px;
	margin: 0 auto;
	padding: 0 20px;
}
.sec_ttl {
	text-align: center;
	font-size: 4.8rem;
	font-weight: bold;
	margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
	.wrap {
		font-size: 1.4rem;
	}
	.inner {
		width: 100%;
		padding: 0 4%;
	}
	.sec_ttl {
		font-size: 2.8rem;
		margin-bottom: 30px;
	}
}

/*--------------------------------------------------
	content
--------------------------------------------------*/
#fv {
	position: relative;
	aspect-ratio: 1920 / 900;
	background: url(../images/fv.jpg) no-repeat center top;
	background-size: cover;
}
.fv_ttl {
	position: absolute;
	top: 50%;
	right: 10%;
	transform: translateY(-50%);
	font-size: 6.4rem;
	color: #fff;
	font-weight: bold;
	letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
#fv {
	aspect-ratio: 750 / 840;
	background: url(../images/fv_sp.jpg) no-repeat center top;
	background-size: cover;
}
.fv_ttl {
	top: initial;
	right: initial;
	bottom: 30px;
	left: 4%;
	font-size: 3.2rem;
}
}


#intro {
	margin-top: 100px;
}
.intro_txt {
	text-align: center;
	line-height: 2;
	font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
	#intro {
		margin-top: 50px;
	}
	.intro_txt {
		text-align: left;
		font-size: 1.4rem;
	}
}


#service {
	margin-top: 160px;
}
.service_wrap {
	display: flex;
	align-items: center;
	background: #f4f6f7;
}
.service_photo {
	width: 50%;
}
.service_block {
	width: 50%;
	padding: 0 4.17%;
}
.service_name {
	font-size: 2.4rem;
	font-weight: bold;
	letter-spacing: 0.05em;
}
.service_txt {
	line-height: 1.6;
	font-size: 1.8rem;
	margin-top: 20px;
}
@media screen and (max-width: 767px) {
	#service {
		margin-top: 50px;
	}
	.service_wrap {
		display: block;
	}
	.service_photo {
		width: 100%;
	}
	.service_block {
		width: 100%;
		padding: 30px 4% 50px;
	}
	.service_name {
		font-size: 1.6rem;
	}
	.service_txt {
		font-size: 1.4rem;
		margin-top: 20px;
	}
}


#company {
	margin-top: 100px;
}
#company .inner {
	padding: 0 150px;
}
.company_list li {
	display: flex;
	line-height: 1.6;
	font-size: 1.8rem;
}
.company_list li + li {
	margin-top: 20px;
	padding-top: 25px;
	border-top: 1px #eee solid;
}
.company_listHead {
	width: 10em;
	font-weight: bold;
}
.company_listCont {
	width: calc(100% - 10em);
}
.company_contact {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.8rem;
	font-weight: bold;
	margin-top: 60px;
	padding: 20px;
	background: #f4f6f7;
	border-radius: 10px;
}
.company_contactTtl {
	text-align: right;
}
.company_contactTxt {
	margin-left: 40px;
	padding: 10px 0 10px 40px;
	border-left: 1px #ccc solid;
}
.company_contactTel {
	font-size: 3.2rem;
}
.company_contactMail {
	margin-top: 15px;
}
@media screen and (max-width: 767px) {
	#company {
		margin-top: 50px;
	}
	#company .inner {
		padding: 0 4%;
	}
	.company_list li {
		font-size: 1.4rem;
	}
	.company_list li + li {
		margin-top: 15px;
		padding-top: 20px;
	}
	.company_listHead {
		width: 6em;
	}
	.company_listCont {
		width: calc(100% - 6em);
	}
	.company_contact {
		display: block;
		font-size: 1.4rem;
		margin-top: 40px;
	}
	.company_contactTtl {
		text-align: center;
	}
	.company_contactTxt {
		text-align: center;
		margin: 20px 0 0 0;
		padding: 0;
		border-left: none;
	}
	.company_contactTel {
		font-size: 3.2rem;
	}
}


#privacy {
	margin-top: 100px;
	padding: 100px 0;
	background: #f4f6f7;
}
.privacy_block + .privacy_block {
	margin-top: 100px;
}
.privacy_ttl {
	text-align: center;
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 40px;
}
.privacy_txt {
	line-height: 1.6;
	font-size: 1.6rem;
}
.privacy_list {
	line-height: 1.6;
	font-size: 1.6rem;
	margin-top: 40px;
}
.privacy_list > li + li {
	margin-top: 2em;
}
.privacy_listCont p + p,
.privacy_listCont p + .privacy_listDetail,
.privacy_listList,
.privacy_listList + p {
	margin-top: 1em;
}
.privacy_listHead {
	font-weight: bold;
}
.privacy_listCont {
	padding-left: 1.5em;
}
.privacy_listDetail {
	display: flex;
}
.privacy_listDetail dt {
	width: 10em;
}
.privacy_listDetail dd {
	width: calc(100% - 10em);
}
.privacy_listList li {
	text-indent: -1em;
	padding-left: 1em;
}
.privacy_listContact {
	text-indent: -1em;
	padding-left: 1em;
}
@media screen and (max-width: 767px) {
	#privacy {
		margin-top: 50px;
		padding: 50px 0;
	}
	.privacy_block + .privacy_block {
		margin-top: 80px;
	}
	.privacy_ttl {
		font-size: 1.8rem;
		margin-bottom: 30px;
	}
	.privacy_txt {
		font-size: 1.4rem;
	}
	.privacy_list {
		font-size: 1.4rem;
	}
	.privacy_listDetail {
		display: block;
	}
	.privacy_listDetail dt {
		width: 100%;
	}
	.privacy_listDetail dd {
		width: 100%;
	}
}

/*--------------------------------------------------
	footer
--------------------------------------------------*/
footer {
	text-align: center;
	font-size: 1.2rem;
	color: #fff;
	padding: 20px 0;
	background: #333;
}
@media screen and (max-width: 767px) {
	footer {
		font-size: 1rem;
	}
}