@charset "utf-8";

/* loving_care
--------------------------------------------------------------------------------------------------------*/
.animated {
	animation-duration: 0.6s;
	-webkit-animation-duration: 0.6s;
}
.sec-title {
	font-size: 4.6rem;
	font-weight: 600;
	line-height: 1;
}
.sec-title .ja {
	margin-left: 19px;
	font-size: 1.8rem;
	font-weight: 400;
	letter-spacing: 0.05em;
}
.sec-title .ja::before {
	content: '／ ';
}
.flex-box {
	display: -webkit-flex;
	display: flex;
}
article {
	background-color: #f4f4f4;
	background: rgb(148, 148, 148);
	background: -webkit-linear-gradient(0deg, rgba(148, 148, 148, 0.1) 0%, rgba(97, 90, 87, 0) 100%);
	background: linear-gradient(0deg, rgba(148, 148, 148, 0.1) 0%, rgba(97, 90, 87, 0) 100%);
}


/* mv
------------------------ */
#mv .mv-inner {
	position: relative;
	max-width: 1680px;
	height: 640px;
	margin: 0 auto;
	background: url(../images/loving_care/bg_mv.jpg) no-repeat top center;
	background-size: cover;
}
#mv .text-box {
	padding: 237px 0 0 20.23%;
	color: #fff;
}
#mv .text-box > * {
	text-shadow: 0 0 0.75em rgba(14, 5, 10, 0.3);
}
#mv .text-box .article-title {
	margin-bottom: 17px;
	font-size: 6.4rem;
	font-weight: 600;
	line-height: 1.1;
}
#mv .text-box .article-title span {
	font-weight: 300;
}
#mv .text-box .ja {
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: 0.05em;
}
#mv .text-box .ja::before {
	display: inline-block;
	margin-right: 13px;
	font-weight: 400;
	content: '／ ';
}

/* #sec01
------------------------------------------------*/
#sec01 .inner {
	padding-bottom: 12.0rem;
}
#sec01 .field:first-child {
	background-color: #fff;
	margin-bottom: 3.0rem;
}
#sec01 .lead-box .photo {
	-webkit-flex: 0 0 43.0rem;
	flex: 0 0 43.0rem;
	padding-top: 5.5rem;
	padding-bottom: 5.0rem;
	text-align: center;
}
#sec01 .lead-box dl {
	-webkit-flex: 1;
	flex: 1;
	padding-top: 6.5rem;
	padding-right: 6.5rem;
	padding-bottom: 6.0rem;
}
#sec01 .lead-box dt {
	-webkit-flex-direction: column;
	flex-direction: column;
}
#sec01 .lead-box dt span {
	font-size: 1.6rem;
	font-weight: 700;
	color: #004ea2;
	margin-bottom: 0.25em;
}
#sec01 .lead-box dt strong {
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1.3076;
	color: #2a2a2a;
	margin-bottom: 1.0em;
}
#sec01 .lead-box dd p {
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.714;
	color: #2a2a2a;
}
#sec01 .list-box {
	background-color: #fff;
	border-right: 5px solid #004ea2;
}
#sec01 .list-box:not(:last-child) {
	margin-bottom: 1.0rem;
}
#sec01 .list-box .icon {
	-webkit-flex: 0 0 11.0rem;
	flex: 0 0 11.0rem;
	justify-content: center;
	align-items: center;
}
#sec01 .list-box dl {
	-webkit-flex: 1;
	flex: 1;
	padding-top: 3.0rem;
	padding-right: 6.0rem;
	padding-bottom: 3.0rem;
}
#sec01 .list-box dt {
	font-size: 1.8rem;
	font-weight: 700;
	color: #004ea2;
}
#sec01 .list-box dd p {
	margin-top: 0.25em;
	font-size: 1.4rem;
	font-weight: 400;
	color: #2a2a2a;
	line-height: 1.428;
	text-align: justify;
	text-justify: inter-ideograph;
}

/* #sec02
------------------------------------------------*/
#sec02 {
	overflow: hidden;
	position: relative;
	padding-bottom: 33.0rem;
}
#sec02::before {
	content: '';
	position: absolute;
	top: 125px;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #646567;
}
#sec02 .field {
	width: 1000px;
	margin: 0 auto;
	padding: 0 30px 5.0rem;
	align-items: center;
	-webkit-align-items: center;
	justify-content: space-between;
	-webkit-justify-content: space-between;
}
#sec02 .item,
#sec02 .item p {
	align-items: center;
	-webkit-align-items: center;
	justify-content: center;
	-webkit-justify-content: center;
	border: 1px solid #646567;
	border-radius: 50%;
}
#sec02 .item {
	position: relative;
	width: 250px;
	height: 250px;
	padding: 10px;
}
#sec02 .item::before,
#sec02 .item::after {
	position: absolute;
	content: '';
	top: 50%;
	width: 9px;
	height: 9px;
	background-color: #646567;
	border-radius: 50%;
	transform: translate(0, -50%);
	-webkit-transform: translate(0, -50%);
}
#sec02 .item::before {
	left: -5px;
}
#sec02 .item::after {
	right: -5px;
}
#sec02 .item p {
	width: 100%;
	height: 100%;
	font-size: 1.8rem;
	font-weight: 700;
	color: #004ea2;
	background-color: #fff;
}
#sec02 .description > * {
	font-size: 1.4rem;
	color: #2a2a2a;
	line-height: 1.714;
	text-align: justify;
	text-justify: inter-ideograph;
}

/* sec03
------------------------------------------------*/
#sec03 {
	background-color: #fff;
}
#sec03 .photo {
	position: relative;
	top: -20.0rem;
	margin-bottom: -20.0rem;
}
#sec03 .field {
	width: 1000px;
	margin: 13.0rem auto 0;
	padding: 0 0 12.0rem;
	align-items: center;
	-webkit-align-items: center;
	justify-content: space-between;
	-webkit-justify-content: space-between;
}
#sec03 .item {
	width: 280px;
	height: 280px;
	border: 1px solid #574c47;
	flex-direction: column;
	-webkit-flex-direction: column;
	align-items: center;
	-webkit-align-items: center;
	position: relative;
}
#sec03 .item:nth-of-type(2) {
	animation-delay: 0.2s;
	-webkit-animation-delay: 0.2s;
}
#sec03 .item:nth-of-type(3) {
	animation-delay: 0.4s;
	-webkit-animation-delay: 0.4s;
}
#sec03 .item::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 48px;
	width: 267px;
	height: 1px;
	background-color: #574c47;
}
#sec03 .item:last-child::before {
	width: 231px;
}
#sec03 .item:not(:last-child)::after {
	content: '';
	position: absolute;
	top: calc(50% - 9px);
	right: -35px;
	width: 19px;
	height: 19px;
	border-top: 1px solid #574c47;
	border-right: 1px solid #574c47;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
}
#sec03 .item dt {
	width: 100%;
	height: 17.0rem;
	align-items: center;
	-webkit-align-items: center;
	justify-content: center;
	-webkit-justify-content: center;
}
#sec03 .item dd p {
	font-size: 1.4rem;
	font-weight: 700;
	color: #2a2a2a;
	line-height: 2.0;
	text-align: center;
}


/*
	less than 767px;
---------------------------------------------------------------------------------------------------------------------------------------------*/
@media (max-width: 767px) {
/* common parts
--------------------------------------------------------------------------------------------------------*/
	.inner {
		width: 100%;
	}
	article {
		background-color: #f4f4f4;
		position: relative;
	}
	article::before {
		position: absolute;
		content: '';
		top: calc(180 / 750 * 100vw);
		left: 0;
		width: 100%;
		height: calc(580 / 750 * 100vw);
		background: rgb(244, 244, 244);
		background: -webkit-linear-gradient(0deg, rgba(244, 244, 244, 1) 0%, rgba(255, 255, 255, 1) 100%);
		background: linear-gradient(0deg, rgba(244, 244, 244, 1) 0%, rgba(255, 255, 255, 1) 100%);
		filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#f4f4f4",endColorstr="#ffffff",GradientType=1);
	}
	#mv {
		padding-right: calc(40 / 750 * 100vw);
		padding-left: calc(40 / 750 * 100vw);
		margin-bottom: calc(90 / 750 * 100vw);
	}
	#mv .mv-inner {
		height: calc(620 / 750 * 100vw);
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-align-items: center;
		align-items: center;
	}
	#mv .text-box {
		padding-top: 0;
		padding-left: 0;
	}
	#mv .text-box .article-title {
		font-size: calc(58 / 750 * 100vw);
		margin-bottom: calc(20 / 750 * 100vw);
	}
	#mv .text-box .ja {
		font-size: calc(24 / 750 * 100vw);
	}
	.sec-title {
		font-size: calc(46 / 750 * 100vw);
		margin-bottom: calc(48 / 750 * 100vw);
	}
	.sec-title .ja {
		font-size: calc(24 / 750 * 100vw);
		margin-left: 1.0em;
	}

/* sec01
--------------------------------------------------------------------------------------------------------*/
	#sec01 .inner {
		padding-top: 0;
		padding-right: calc(40 / 750 * 100vw);
		padding-bottom: calc(120 / 750 * 100vw);
		padding-left: calc(40 / 750 * 100vw);
	}
	#sec01 .field:first-child {
		background-color: #fff;
		margin-bottom: calc(50 / 750 * 100vw);
	}
	#sec01 .lead-box {
		-webkit-flex-direction: column;
		flex-direction: column;
		padding-right: calc(40 / 750 * 100vw);
		padding-left: calc(40 / 750 * 100vw);
	}
	#sec01 .lead-box .photo {
		-webkit-flex: 0 0 auto;
		flex: 0 0 auto;
		padding-top: calc(60 / 750 * 100vw);
		padding-right: calc(40 / 750 * 100vw);
		padding-bottom: 0;
		padding-left: calc(40 / 750 * 100vw);
	}
	#sec01 .lead-box dl {
		-webkit-flex: 1;
		flex: 1;
		padding-top: calc(40 / 750 * 100vw);
		padding-right: 0;
		padding-bottom: calc(40 / 750 * 100vw);
	}
	#sec01 .lead-box dt {
		margin-bottom: calc(25 / 750 * 100vw);
	}
	#sec01 .lead-box dt span {
		font-size: calc(26 / 750 * 100vw);
	}
	#sec01 .lead-box dt strong {
		font-size: calc(36 / 750 * 100vw);
		margin-bottom: 0;
	}
	#sec01 .lead-box dd p {
		font-size: calc(24 / 750 * 100vw);
		text-align: justify;
		text-justify: inter-ideograph;
	}
	#sec01 .list-box {
		border-width: 3px;
	}
	#sec01 .list-box:not(:last-child) {
		margin-bottom: calc(20 / 750 * 100vw);
	}
	#sec01 .list-box .icon {
		-webkit-flex-basis: calc(180 / 750 * 100vw);
		flex-basis: calc(180 / 750 * 100vw);
	}
	#sec01 .list-box dl {
		padding-top: calc(40 / 750 * 100vw);
		padding-right: calc(50 / 750 * 100vw);
		padding-bottom: calc(40 / 750 * 100vw);
	}
	#sec01 .list-box dt {
		font-size: calc(32 / 750 * 100vw);
	}
	#sec01 .list-box dd p {
		font-size: calc(24 / 750 * 100vw);
	}

/* sec02
--------------------------------------------------------------------------------------------------------*/
	#sec02 {
		overflow: visible;
		padding-bottom: calc(144 / 750 * 100vw);
	}
	#sec02::before {
		content: none;
	}
	#sec02 .inner {
		padding-right: calc(40 / 750 * 100vw);
		padding-bottom: calc(120 / 750 * 100vw);
		padding-left: calc(40 / 750 * 100vw);
	}
	#sec02 .field {
		width: 100%;
		padding-right: 0;
		padding-bottom: 0;
		padding-left: 0;
		-webkit-flex-direction: column;
		flex-direction: column;
		position: relative;
	}
	#sec02 .field::before {
		content: '';
		position: absolute;
		top: 0;
		left: 50%;
		width: 1px;
		height: 100%;
		background-color: #646567;
	}
	#sec02 .item,
	#sec02 .item p {
		border-radius: calc(10 / 750 * 100vw);
	}
	#sec02 .item {
		width: 100%;
		height: auto;
		padding: calc(10 / 750 * 100vw);
	}
	#sec02 .item:not(:last-child) {
		margin-bottom: calc(50 / 750 * 100vw);
	}
	#sec02 .item::before,
	#sec02 .item::after {
		width: calc(12 / 750 * 100vw);
		height: calc(12 / 750 * 100vw);
		z-index: 1;
	}
	#sec02 .item::before {
		left: calc(50% - calc(6 / 750 * 100vw));
		top: 0;
	}
	#sec02 .item::after {
		right: calc(50% - calc(7 / 750 * 100vw));
		top: 100%;
	}
	#sec02 .item p {
		font-size: calc(36 / 750 * 100vw);
		padding-top: calc(30 / 750 * 100vw);
		padding-bottom: calc(30 / 750 * 100vw);
	}

/* sec03
--------------------------------------------------------------------------------------------------------*/
	#sec03 .inner {
		padding-bottom: calc(90 / 750 * 100vw);
	}
	#sec03 .photo {
		top: calc(144 / 750 * -100vw);
		margin-bottom: calc(144 / 750 * -100vw);
	}
	#sec03 .field {
		width: 100%;
		margin-top: calc(60 / 750 * 100vw);
		padding-bottom: 0;
		-webkit-flex-direction: column;
		flex-direction: column;
	}
	#sec03 .item {
		width: 100%;
		height: auto;
		-webkit-flex-direction: row;
		flex-direction: row;
		padding-top: calc(50 / 750 * 100vw);
		padding-bottom: calc(50 / 750 * 100vw);
	}
	#sec03 .item:not(:last-child) {
		margin-bottom: calc(100 / 750 * 100vw);
	}
	#sec03 .item::before {
		top: 100%;
		left: calc(50% - 1px);
		width: 1px;
		height: calc(80 / 750 * 100vw);
	}
	#sec03 .item:last-child::before {
		content: none;
	}
	#sec03 .item:not(:last-child)::after {
		top: calc(100% + calc(50 / 750 * 100vw));
		right: calc(50% - calc(14 / 750 * 100vw));
		width: calc(28 / 750 * 100vw);
		height: calc(28 / 750 * 100vw);
		transform: rotate(135deg);
		-webkit-transform: rotate(135deg);
	}
	#sec03 .item dt {
		width: auto;
		height: auto;
		-webkit-flex: 0 0 calc(180 / 750 * 100vw);
		flex: 0 0 calc(180 / 750 * 100vw);
	}
	#sec03 .item dd {
		-webkit-flex: 1;
		flex: 1;
		padding-right: calc(40 / 750 * 100vw);
	}
	#sec03 .item dd p {
		font-size: calc(30 / 750 * 100vw);
	}

}