@charset "UTF-8";
/* ****************************************************************************

　目次

-------------------------------------------------------------------------------

　01.ディーズ スマート メディカル

******************************************************************************* */
/* ==

　01.ディーズ スマート メディカル

=============================================================================== */
.mainInner {
	padding: 112px 60px 120px;
	background: #fff;
}
.smartAnchorTarget01 {
	margin-top: -80px;
	padding-top: 80px;
}
.smartAnchorTarget02 {
	margin-top: -128px;
	padding-top: 128px;
}
.smartBnrArea {
	box-sizing: border-box;
	width: calc(100% - 60px);
	max-width: 1240px;
	margin: 0 auto;
	padding: 80px 60px;
}
.smartBnrArea img {
	max-width: 100%;
}
.smartBnrAreaTtl {
	max-width: 400px;
	margin: 0 auto 40px;
}
.smartBnrAreaList {
	display: flex;
	gap: 0 32px;
}
.smartBnrAreaList>* {
	width: 100%;
	font-weight: 500;
	font-size: 142.4501424501%;
}
.smartBnrAreaList>* a {
	display: block;
	border-bottom: 1px solid #DCDCDC;
	color: #222;
	text-decoration: none;
}
.smartBnrAreaList>* a>span {
	box-sizing: border-box;
	display: flex;
	position: relative;
	align-items: center;
	height: 88px;
	padding: 0 0 0 20px;
	background: #fff;
	text-decoration: none;
}
.smartBnrAreaList>* a>span::before, .smartBnrAreaList>* a>span::after {
	display: block;
	position: absolute;
	bottom: calc(50% - 3px);
	width: 32px;
	height: 6px;
	content: "";
	transition: width 0.3s;
}
.smartBnrAreaList>* a>span::before {
	left: calc(100% - 19px - 32px);
	width: 0;
	background: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 32 6'%3E%3Cpolyline points='25 0.35 30 5.35 0 5.35' fill='none' stroke='%23c80028' stroke-miterlimit='10' /%3E%3C/svg%3E") no-repeat left center;
	background-size: 32px 6px;
}
.smartBnrAreaList>* a>span::after {
	right: 19px;
	background: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 32 6'%3E%3Cpolyline points='25 0.35 30 5.35 0 5.35' fill='none' stroke='%23222222' stroke-miterlimit='10' /%3E%3C/svg%3E") no-repeat right center;
	background-size: 32px 6px;
}
.smartBnrAreaList>* a>span span {
	display: flex;
	align-items: center;
	gap: 0 15px;
}
.smartBnrAreaList>* a>span span::before {
	display: block;
	width: 17px;
	height: 17px;
	transform: rotate(-45deg);
	content: "";
}
.smartBnrAreaList>* a:hover {
	color: #c80028;
}
.smartBnrAreaList>* a:hover>span::before {
	width: 32px;
}
.smartBnrAreaList>* a:hover>span::after {
	width: 0;
}
.smartBnrAreaList>*.safety a>span span::before {
	background: #806088;
}
.smartBnrAreaList>*.environment a>span span::before {
	background: #81B427;
}
.smartBnrAreaList>*.comfortable a>span span::before {
	background: #E3553C;
}
.smartBnrAreaList>*.business a>span span::before {
	background: #3394D2;
}
/* visualBlock
------------------------------------------------------------------------------- */
.smartVisualBlock {
	background: no-repeat center center/cover;
	color: #fff;
}
.smartVisualBlockInner {
	box-sizing: border-box;
	display: flex;
	position: relative;
	align-items: center;
	justify-content: center;
	height: 300px;
	padding: 0 0 60px;
}
.smartVisualBlockLogo {
	position: absolute;
	top: 0;
	left: 0;
}
.smartVisualBlockHeading {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	gap: 0 40px;
	font-weight: 400;
	font-size: 350%;
	text-align: center;
}
/* smartHeading01
------------------------------------------------------------------------------- */
.smartHeading01 {
	position: relative;
	margin: 0 0 60px;
	padding: 0 0 12px;
	color: #888;
	font-weight: 500;
	font-size: 300%;
	text-align: center;
}
.smartHeading01::after {
	display: block;
	position: absolute;
	bottom: 0;
	left: calc(50% - 60px);
	width: 120px;
	height: 2px;
	background: #ccc;
	content: "";
}
.smartHeading01:not(:first-child) {
	margin-top: 96px;
}
.smartHeading01>span {
	display: block;
	margin: 0 0 4px;
	color: #333333;
	font-size: 44.4444444444%;
}
.smartHeading01.-type02 {
	margin-top: 100px;
}
.smartHeading02 {
	margin: 0 0 10px;
	font-weight: 500;
	font-size: 166.6666666667%;
	line-height: 1.7;
}
.smartTxt01 {
	font-size: 166.6666666667%;
	line-height: 1.7;
	letter-spacing: 0.045em;
}
.smartBlc01 {
	margin: 48px 0 0;
	border-bottom: 1px solid #DCDCDC;
}
.smartBlc01>* {
	padding: 48px 0 46px;
	border-top: 1px solid #DCDCDC;
}
.smartBlc01>* p {
	font-size: 133.3333333333%;
	line-height: 2.25;
}
