@charset "utf-8";
/* CSS Document */

/*--------------------------------------
　Main Index
---------------------------------------*/
.contents {
	width: 100%;
}




/*--------------------------------------
　visArea
---------------------------------------*/
#visArea.visArea--top {
	margin: 0 auto 30px;
}
#visArea.visArea--top .mainArea {
	background: url("img/z24f_mv_pic_pc.jpg") left 60% top no-repeat;
	background-size: cover;
	height: 500px;
}
#visArea.visArea--top .mainArea .mainAreaInner {
	display: block;
	max-width: 1100px;
	margin: auto;
}
#visArea.visArea--top .mainArea .siteNameArea {
	padding: 4rem 0 0;
}
#visArea.visArea--top .mainArea .siteName {
	max-width: 446px;
}
#visArea.visArea--top .mainArea .siteName img {
	margin: 0 auto;
	width: 140px;
	height: auto;
}
#visArea.visArea--top .mainArea .mainTxtBox {width: 467px;}
#visArea.visArea--top .mainArea .catchArea {
}
#visArea.visArea--top .mainArea .catchArea .catch {
	font-size: 3.8rem;
	font-weight: bold;
	line-height: 1.3;
	text-align: left;
	margin: 0 0 20px;
	color: #c3f200;
}
#visArea.visArea--top .mainArea .catchArea .catch span {
	font-size: 2.4rem;
	color: #fff;
}

#visArea .mainArea .txtArea .txtArea__title {
	font-size: 1.6rem;
	color: #fff;
	z-index: 10;
}
#visArea .mainArea .txtArea .txtArea__title span{
	font-weight: bold;
	background: linear-gradient(rgba(255, 255, 255, 0) 88%, #e1de00 88%);
}


/*--------------------------------------
　addTopArea
---------------------------------------*/

.addTopArea .sttl a::after {
    display: block;
    content: "";
    position: absolute;
    right: -16px;
    background: url(img/arrow_black.png) right center no-repeat;
    background-size: 8px auto;
    height: calc(100% - 1.7em);
    bottom: 0;
    width: 8px;
}
.addParts-hospital .addTopArea .sttl a,
.addTopArea .sttl a {
    position: relative;
}
.addParts-hospital .addTopArea .sttl a::after{
	width: 8px;
	height: 13px;
	right: -16px;
	bottom: 15px;
	background: url(img/arrow_black.png) right center no-repeat;
    background-size: 8px auto;
}


/*--------------------------------------
　float img
---------------------------------------*/
.float-wrap .fl{
	width: 400px;
	margin: 0 40px 10px 0;
	text-align: center;
}


/*--------------------------------------
オリジナル
---------------------------------------*/

/***** addParts02 *****/

.addParts02 {
	width: 100%;
	background-color: #e1ebf3;
	padding: 8rem 0 10rem;
	position: relative;
}

.addParts02 p {
	margin: 0;
}
.addParts02 .sub-title {
	font-size: 2.6rem;
	font-weight: bold;
	text-align: center;
	margin: 6rem 0 2.5rem;
	width: 100%;
	background: url(img/bg_heading_dashed.png) no-repeat center;
	background-size: 100% auto;
}
.addParts02 .sub-title span{
	display: inline-block;
	padding: 0 2rem;
	background: #fff;
}

/*block*/
.addParts02 .block {
	background-color: #fff;
	padding: 0 3.5rem 4rem 3.5rem;
	margin: 6rem 0;
	position: relative;
	box-shadow: 10px 10px 0 rgba(0,0,0,0.15);
}
.addParts02 .block:last-child {
	margin: 0;
}
.addParts02 .title-copy{
	padding: 2.5rem;
	font-size: 2.8rem;
	font-weight: bold;
	color: #fff;
	text-align: center;
	margin: 0 -3.5rem 4rem;
	background: #0a487e;
}
.addParts02 .title-copy span{
	color: #c3f200;
}
.addParts02 .blockTitArea {
	text-align: center;
	padding: 0 150px;
	margin: 0 0 40px;
}
.addParts02 .blockTitSub {
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.03em;
	text-align: center;
	margin: 0 0 10px;
	color: #0a487e;
	font-weight: bold;
}
.index .addParts02 .blockTit {
	display: inline-block;
	font-size: 3.6rem;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0.03em;
	text-align: center;
	padding: 0 0 20px;
	position: relative;
}
.index .addParts02 .blockTit::after {
	content: "";
	width: 50px;
	height: 1px;
	background: #0c5da3;
	position: absolute;
	left: calc(50% - 25px);
	bottom: 0;
	top: inherit;
	right: inherit;
	z-index:auto;
}

.addParts02 .infoArea {
	width: 100%;
	padding: 0;
	margin: 0;
}

.addParts02 .infoArea .infoBox {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.addParts02 .infoArea .infoBox .imgArea{
	width: 480px;
}
.addParts02 .special-area{
	padding: 3rem 2rem;
	width: 500px;
	background: #f6fdd9;
}
.addParts02 .special-ttl{
	font-size: 2.2rem;
	margin: 0 0 2rem;
	color: #0a487e;
	text-align: center;
	font-weight: bold;
}
.addParts02 .special-wrap{
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
.addParts02 .special-box{
	width: calc((100% / 2) - 10px);
	padding: 1rem;
	line-height: 1.4;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
	background: #fff;
	box-sizing: border-box;
	border: 1px solid #0c5da3;
}
.addParts02 .special-box .big{
	font-size: 3rem;
	color: #0c5da3;
}
.addParts02 .special-box .hosoku{
	font-weight: normal;
	font-size: 1rem;
	color: #999;
}
.addParts02 .hotspot{
	padding: 0 0 15px;
	margin: 45px 0 20px;
	border-bottom: 1px solid #c7c7c7;
}
.addParts02 .hot-ttl{
	padding: 0 0 0px 120px;
	line-height: 74px;
	font-size: 2.2rem;
	font-weight: bold;
	position: relative;
	color: #0a487e;
}
.addParts02 .hot-ttl::before{
	text-shadow: #103d74 1px 0 10px;
	font-size: 1.3rem;
	color: #fff;
	text-align: center;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
	width: 100px;
}
.addParts02 .hot1 .hot-ttl::before{
	content: '集客力';
}
.addParts02 .hot2 .hot-ttl::before{
	content: 'ブランド力';
}
.addParts02 .hot3 .hot-ttl::before{
	content: 'サポート力';
}
.addParts02 .hot-ttl::after{
	width: 100px;
	height: 74px;
	background: url(img/icon_hot.png) no-repeat left 0;
	background-size: 100px auto;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	position: absolute;
	content: '';
}


/*btn*/
.contents .addParts02 .btn-web{
	margin: 8rem auto;
}
.contents .addParts02 .btn-web a {max-width: 420px;margin: 0 auto;}

/***** addParts03 *****/

.addParts03 {
	width: 100%;
	padding: 10rem 0;
	background: #f3f3f3;
}

.addParts03 p {
	margin: 0;
}

.addParts03 .personMainArea {
	width: 100%;
	border-top: 1px solid #999;
	border-bottom: 1px solid #999;
	padding: 25px 40px;
	margin: 0 0 -1px;
	position: relative;
}

.addParts03 .personMainArea .personBox {
	display: flex;
	align-items: center;
}
.addParts03 .personMainArea .personBox .pic {
	display: block;
	width: 150px;
}
.addParts03 .personMainArea .personBox .pic img {
	border-radius: 100px;
}
.addParts03 .personMainArea .personBox .txt-box {
	display: block;
	vertical-align: middle;
	width: calc(100% - 190px);
	padding: 0 0 0 40px;
}
.addParts03 .personMainArea .personBox .txt-box .personBox__tit {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.4;
	color: #0a487e;
	margin: 0 0 15px;
}
.addParts03 .personMainArea .personBox .txt-box .personBox__tit a{
	padding-right: 2rem;
	display: inline-block;
	background: url(img/arrow_black.png) right top 12px no-repeat;
	background-size: 8px auto;
}


.addParts__knowledge {
	padding: 10rem 0;
}

.addParts-hospital {
	padding: 10rem 0;
}
.addParts03 p.btn-link{
	margin-top:3.5rem;
	font-weight: bold;
}

.addParts03 p.btn-link a {
    text-decoration: underline;
}

/*--------------------------------------
　box-wrap
---------------------------------------*/
.contents .box-wrap {
	width: 100%;
	max-width: 1100px;
	margin: auto;
	display: flex;
	flex-wrap: wrap;
}
.contents .box-wrap .box {
	display: block;
	width: calc((100% - 40px) / 2);
	margin: 0 0 0;
	padding: 2rem;
	box-sizing: border-box;
	position: relative;
}
.contents .box-wrap .box:nth-of-type(odd) {
	margin-right: 40px;
}

/*box-head*/
.index .box-wrap .box-head, #category .box-wrap .box-head, #page .box-wrap .box-head {
	display: block;
}
.index .box-wrap .box-head a, #category .box-wrap .box-head a, #page .box-wrap .box-head a {
	display: block;
	font-size: 100%;
}

.index .box-wrap .box-head::after, #category .box-wrap .box-head::after, #page .box-wrap .box-head::after {
	content: none;
}
.contents .box-wrap .box-body .caption{
	text-align: left;
}

.contents .box-wrap .box p {
	margin: 0;
	font-size: 16px;
	font-size: 1.6rem;
}

/*type-b*/
.contents .box-wrap .type-b {
	padding: 3rem 2.5rem;
	background-color: #ecf1f5;
}

.contents .box-wrap .type-b .box-head-area {
	display: flex;
	align-items: center;
	margin: 0 0 40px;
}
.contents .box-wrap .type-b .thumb {
	display: block;
	vertical-align: middle;
	width: 65px;
	position: relative;
}

.contents .box-wrap .type-b .thumb img {
	border-radius: 100px;
}
.contents .box-wrap .type-b .box-head {
	display: block;
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1.4;
	color: #0a487e;
	border-radius: 8px 8px 0 0;
	padding: 0 0 0 20px;
	width: calc(100% - 65px);
}

.contents .box-wrap .type-b .caption {
	margin: 25px 0 0;
}


/*type-c*/
.contents .box-wrap .type-c {
	padding: 4rem 2.5rem;
	margin: 0 40px 40px 0;
	background: #e7f6fd;
	display: flex;
	flex-wrap: nowrap;
	flex-direction: column;
	justify-content: center;
}

.contents .box-wrap .type-c:nth-of-type(even){
	margin: 0 0 40px;
}

.contents .box-wrap .type-c .box-head-area {
	display: flex;
	align-items: center;
}

.contents .box-wrap .type-c .box-head {
	display: block;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.4;
	border-radius: 8px 8px 0 0;
	width: 100%;
}
.contents .box-wrap .type-c .box-head a {
	display: block;
	background: url("img/arrow_blue.png") right center no-repeat;
	background-size: 8px auto;
	padding: 0 20px 0 0;
	position: relative;
}
.contents .box-wrap .type-c .box-head a:hover {
	opacity: 0.7;
}


@media screen and (max-width: 768px) {

/*------------
Index
------------*/

.contents {
	width: 100%;
}

/*--------------------------------------
　visArea
---------------------------------------*/
#visArea.visArea--top {
	margin: 0 auto 4rem;
}
#visArea.visArea--top .mainArea {
	background: none;
	height: auto;
	width: 100%;
	max-width: 100%;
	margin: 30 auto;
}
#visArea.visArea--top .mainArea .siteNameArea {
	display: table;
	background: url("img/z24f_mv_pic_pc.jpg") right 3rem center no-repeat;
	background-size: 130%;
	width: 100%;
	margin:  0 auto;
	padding: 0;
}
#visArea.visArea--top .mainArea .siteNameAreaInner {
    display: table-cell;
    vertical-align: middle;
    padding: 0;
}
#visArea.visArea--top .mainArea .siteName {
	padding: 4rem 2rem;
}
#visArea.visArea--top .mainArea .siteName img{
	width: 100px;
}

#visArea.visArea--top .mainArea .mainTxtBox {
	width: 92%;
	padding: 2.0rem 0 0;
	margin: 0 auto;
}
#visArea.visArea--top .mainArea .catchArea {
}
#visArea.visArea--top .mainArea .catchArea .catch {
	font-size: 2.4rem;
	line-height: 1.45;
	text-align: center;
	color: #0c5da3;
	margin: 0 0 1.0rem;
}
#visArea.visArea--top .mainArea .catchArea .catch span{font-size: 1.8rem;color: #149ee4;}
#visArea.visArea--top .mainArea .txtArea {
	width: auto;
}

#visArea .mainArea .txtArea .txtArea__title{
	font-size: 1.5rem;
	color: #111;
}

/*--------------------------------------
オリジナル
---------------------------------------*/

.addTopArea .sttl a{
	display: block;
	padding: 0 2rem;
}
.addParts-hospital .addTopArea .sttl a::after,
.addTopArea .sttl a::after {
    right: -0;
    background-size: 8px auto;
    height: calc(100% - 1.7em);
    top: 0;
    bottom: 0;
    width: 8px;
    margin: auto;
}

/***** addParts02 *****/

.addParts02 {
	padding: 6rem 0;
}

.addParts02 p {
	margin: 0;
}

/*addTopArea*/
.addParts02 .addTopArea {
	padding: 0 0;
	margin: 0 auto 3.0rem;
}

/*sttl*/
.addParts02 .title-copy{
	margin: 0 -2rem 1.5rem;
	font-size: 2rem;
	line-height: 1.4;
}
/*block*/
.addParts02 .block {
	background-color: #fff;
	padding: 0 2rem 1.5rem;
	margin: 0 0 3rem;
	position: relative;
	box-shadow:none;
}

.addParts02 .block:last-child {
	margin: 0;
}
.addParts02 .blockTitArea {
	text-align: center;
	padding: 0;
	margin: 0 0 2rem;
}
.addParts02 .blockTitSub {
	font-size: 1.7rem;
	margin: 0 0 0.5rem;
}
.index .addParts02 .blockTit {
	display: block;
	font-size: 2.4rem;
	padding: 0 0 1.5rem;
}
.index .addParts02 .blockTit::after {
	content: "";
	width: 30px;
	height: 1px;
	position: absolute;
	left: calc(50% - 15px);
	bottom: 0;
}

.addParts02 .caption {
	margin: 1rem auto;
}

.addParts02 .infoArea {
	clear: both;
	padding: 0 0;
	margin: 0 auto 3.0rem;
}

.addParts02 .infoArea .infoBox .imgArea {margin-bottom: 2rem;}
.addParts02 .infoArea .infoBox .imgArea,
.addParts02 .infoArea .infoBox .imgArea img{
	width: 100%;
}
.addParts02 .special-area{
	width: 100%;
	padding: 1.5rem;
}
.addParts02 .special-ttl{
	font-size: 1.8rem;
	line-height: 1.4;
}
.addParts02 .special-wrap{
	display: block;
}
.addParts02 .special-box{
	width: 100%;
	font-size: 1.5rem;
	padding: 0.5rem;
	margin: 0 0 1rem;
}
.addParts02 .special-box .big{
	font-size: 2rem;
}

.addParts02 .sub-title{
	font-size: 2rem;
	line-height: 1.4;
	margin: 5rem 0 1rem;
	padding: 0 5%;
	background-size: 200% auto;
	width: 100%;
}
.addParts02 .sub-title span {
    padding: 0 5%;
}
.addParts02 .hotspot{padding: 0 0 10px;margin: 30px 0 20px;}
.addParts02 .hot-ttl{
	font-size: 1.9rem;
	line-height: 1.4;
	padding: 0 0 0 9rem;
}
.addParts02 .hot-ttl::after{
	width: 70px;
	height: 55px;
	background-size: 70px auto;
}
.addParts02 .hot-ttl::before{
	font-size: 1.1rem;
	width: 70px;
}
.contents .addParts02 .btn-web{
	margin: 4rem auto 2rem;
}

	/***** addParts03 *****/

	.addParts03 {
		width: 100%;
		padding: 6rem 0;
	}

	.addParts03 p {
		margin: 0;
	}

	.addParts03 .addTopArea {
		width: 100%;
		margin: 0 0 3.0rem;
		display: block;
	}

	.contents .addParts03 .float-wrap{
		width: 100%;
		margin: 2rem auto;
	}
	.contents .addParts03 .btn-link{
		margin: 2rem 0;
	}
	.addParts03 .personMainArea .personBox .txt-box .personBox__tit a{
		background: url(img/arrow_black.png) right center no-repeat;
		background-size: 6px auto;
	}

	.addParts03 .personMainArea {
		padding: 2.5rem 0;
	}
	.addParts03 .personMainArea:last-child{
		margin-bottom: 0;
	}

	.addParts03 .personMainArea .personBox {
		display: block;
	}
	.addParts03 .personMainArea .personBox .pic {
		width: 30%;
		margin: 0 auto 1rem;
		text-align: center;
	}
	.addParts03 .personMainArea .personBox .pic img {
		border-radius: 100px;
	}
	.addParts03 .personMainArea .personBox .txt-box {
		display: block;
		width: 100%;
		padding: 0 0 0 0;
	}
	.addParts03 .personMainArea .personBox .txt-box .personBox__tit {
		margin: 0 0 1.5rem;
		font-size: 1.8rem;
	}

	.addParts03 .personMainArea .personBox .txt-box p {
		display: block;
		width: 100%;
		margin: 1.5rem 0 0;
	}

	.addParts__knowledge {
		padding: 6rem 0;
	}

	.addParts-hospital {
		padding: 6rem 0;
	}

	/*--------------------------------------
	　box-wrap
	---------------------------------------*/
	.contents .box-wrap {
		margin: 2.0rem auto;
	}
	.contents .box-wrap .box {
		display: block;
		box-sizing: border-box;
		width: 100%;
		padding: 4.0rem 0 3.0rem;
		margin: 0 0 0;
		float: none;
		position: relative;
	}
	.contents .box-wrap .box:nth-child(even) {
		float: none;
	}
	.contents .box-wrap .box:nth-child(even)::before {
		content: none;
	}
	.contents .box-wrap .box:nth-child(n+3) {
		margin-top: 0;
	}
	.contents .box-wrap .box:nth-of-type(odd){
		margin-right: 0;
	}

	.contents .box-wrap .box:last-child {
		margin: 0;
	}

	.contents .box-wrap .box .thumb {
		position: relative;
	}


	/*box-head*/
	.index .box-wrap .box-head, .category.box-wrap .box-head, .page .box-wrap .box-head {
		display: block;
	}
	.index .box-wrap .box-head a, .category.box-wrap .box-head a, .page .box-wrap .box-head a {
		display: block;
		font-size: 100%;
	}
	.index .box-wrap .box-head a:hover, .category.box-wrap .box-head a:hover, .page .box-wrap .box-head a:hover {
		color: #111;
		text-decoration: none;
	}
	.index .box-wrap .box-head::after, .category.box-wrap .box-head::after, .page .box-wrap .box-head::after {
		content: none;
	}

	.contents .box-wrap .box p {
		margin: 0;
		font-size: 1.4rem;
	}

	/*type-b*/
	.contents .box-wrap .type-b {
		padding: 2rem 1.5rem;
		margin: 0 0 1.5rem;
	}

	.contents .box-wrap .type-b .box-head-area {
		margin: 0 0 2.0rem;
	}
	.contents .box-wrap .type-b .thumb {
		display: table-cell;
		vertical-align: middle;
		width: 65px;
		position: relative;
	}

	.contents .box-wrap .type-b .thumb img {
		border-radius: 100px;
	}
	.contents .box-wrap .type-b .box-head {
		vertical-align: middle;
		font-size: 1.8rem;
		padding: 0 0 0 1.2rem;
		width: calc(100% - 65px);
	}

	.contents .box-wrap .type-b .caption {
		margin: 2.0rem 0 0;
	}

	/*type-c*/
	.contents .box-wrap .type-c {
		padding: 3rem 1.5rem;
		margin: -1px 0 0;
		margin: 0 0 2rem;
	}
	.contents .box-wrap .type-c:nth-of-type(even){
		margin: 0 0 2rem;
	}

	.contents .box-wrap .type-c .box-head {
		font-size: 1.8rem;
	}
	.contents .box-wrap .type-c .box-head a {
		width: 100%;
	}
	.contents .box-wrap .type-c .box-head a:hover {
		opacity: 1;
	}



}
