@charset "utf-8";

/**
 *
 *  ページ用CSS
 *　health
 */

/*--------------------------------------------------------------------------
   Overwright
---------------------------------------------------------------------------*/
.middle-cont-hd .ttl-area .ttl::before{
	background: #4eadda;
}



/*--------------------------------------------------------------------------
   Content
---------------------------------------------------------------------------*/


/* health
-----------------------------------------------------------------*/
.health{
	padding: 140px 0 260px;
}
.health h2{
	margin-bottom: 70px;
	text-align: center;
	font-size: 3.5rem;
	line-height: 1.6;
}
.health .declaration{
	padding: 70px 4% 50px;
	border: 1px solid #d8d8d8;
	text-align: center;
}
.health .declaration h3{
	margin-bottom: 30px;
	font-size: 3rem;
	line-height: 1.4;
}
.health .declaration h3 span{
	display: inline-block;
	padding-bottom: 10px;
	border-bottom: 4px solid #4eadda;
}
.health .declaration .txt{
	font-size: 1.8rem;
	line-height: 2.2;
}
.health .declaration .name{
	margin-top: 30px;
	text-align: right;
}
.health .declaration .name small{
	display: block;
	margin-bottom: 5px;
	font-size: 1.4rem;
}
.health .declaration .name strong{
	font-size: 2rem;
	font-weight: 500;
}

.health .sec01{
	margin-bottom: 90px;
}


/* organization
-----------------------------------------------------------------*/
.organization{
	padding: 110px 0 150px;
	background: #f5f5f5;
}
.organization h2{
	margin-bottom: 45px;
	font-size: 4.5rem;
	line-height: 1.6;
}
.organization h3.ttl-cat{
	margin-bottom: 30px;
	border-left-color: #4eadda;
}


/* evaluation
-----------------------------------------------------------------*/
.evaluation{
	padding: 90px 0 150px;
}
.evaluation h2{
	margin-bottom: 50px;
	font-size: 4.5rem;
	line-height: 1.6;	
}
/* .evaluation .txt-area,
.evaluation .table-area{
	max-width: 560px;
	width: calc(50% - 5px);
} */
.evaluation .txt-area{
	max-width: 514px;
	width: calc(46% - 5px);
}
.evaluation .table-area{
	max-width: 605px;
	width: calc(54% - 5px);
}
.evaluation .txt{
	margin-bottom: 50px;
}

.evaluation .logo{
	text-align: center;
}

.evaluation table{
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	text-align: center;
	line-height: 1.5;
	font-size: 1.4rem;
}
.evaluation table tr:nth-child(even){
	background: #dcf8ff;
}
.evaluation table th,
.evaluation table td{
	border: 1px solid #d8d8d8;
}
.evaluation table th{
	padding: 7px 10px;
	background: #4eadda;
	color: #fff;
	font-weight: 500;
}
.evaluation table td{
	padding: 12px 10px;
	vertical-align: middle;
	font-weight: 500;
}



/* effort
-----------------------------------------------------------------*/
.effort{
	padding: 100px 0 50px;
	/* margin-bottom: 40px; */
	background: #f5f5f5;
}
.effort h2{
	margin-bottom: 60px;
	font-size: 4.5rem;
	line-height: 1.6;	
}
.effort h3.ttl-cat{
	margin-bottom: 35px;
	border-left-color: #4eadda;
}
.effort .effort-list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 150px !important;
}
.effort .effort-list li{
	max-width: 380px;
	width: calc((100% - 20px)/3);
}
.effort .effort-list li:nth-child(n+4){
	margin-top: 65px;
}
.effort .effort-list h4{
	margin: 10px 0 15px;
	font-size: 2rem;
	line-height: 1.5;
}
.effort .effort-list .txt{
	font-size: 1.4rem;
	text-align: justify;
}
.effort table{
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	text-align: center;
	line-height: 1.5;		
}
.effort table caption{
	margin-bottom: 15px;
	font-size: 2rem;
	font-weight: bold;
}
.effort table th,
.effort table td{
	border: 1px solid #d8d8d8;
}
.effort table th{
	padding: 10px 10px;
	background: #4eadda;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 500;	
}
.effort table td{
	padding: 20px 10px;
	vertical-align: middle;
	font-weight: 500;
}
.effort table tr td:first-child{
	background: #dcf8ff;
}

.effort .inner ul{
	margin: 8px 0 0 16px;
}

.effort .inner ul li{
	font-size: 1.4rem;
  font-weight: 500;
}

.effort table td sup{
	vertical-align:text-top !important;
	font-size:small !important;
}

/* strategy
-----------------------------------------------------------------*/
.strategy{
	padding: 100px 0 200px;
	margin-bottom: 40px;
	background: #f5f5f5;
}

.strategy h3.ttl-cat{
	margin-bottom: 30px;
	border-left-color: #4eadda;
}

.strategy p{
	margin-top: 30px;
}











/*--------------------------------------------------------------------------
   mobile
---------------------------------------------------------------------------*/
@media screen and (max-width: 768px) {
  
 /* health
-----------------------------------------------------------------*/
	.health{
		padding: 70px 0;
	}
	.health h2{
		margin-bottom: 40px;
		font-size: 2.2rem;
	}
	.health .declaration{
		padding: 45px 20px;
	}
	.health .declaration h3{
		margin-bottom: 25px;
		font-size: 2rem;
	}
	.health .declaration h3 span{
		padding-bottom: 5px;
		border-bottom: 2px solid #4eadda;
	}
	.health .declaration .txt{
		font-size: 1.6rem;
		line-height: 1.6;
	}
	.health .declaration .txt+.txt{
		margin-top: 1em;
	}
	.health .declaration .name strong{
		font-size: 1.8rem;
	}
	
	.health .sec01{
		margin-bottom: 70px;
	}


/* organization
-----------------------------------------------------------------*/
	.organization{
		padding: 70px 0;
	}
	.organization h2{
		margin-bottom: 25px;
		font-size: 2.8rem;
	}
	.organization h3.ttl-cat{
		margin-bottom: 25px;
	}
	.organization .figure{
		position: relative;
		width: calc(100% + 20px);
		overflow: auto;
		padding-bottom: 15px;
	}
	.organization .figure::before{
		position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    display: block;
    width: 60px;
    height: 60px;
    content: "";
    background: url(../img/common/ico_swipe.svg) no-repeat;
    background-size: 100% auto;
    pointer-events: none;
    transition: .3s;
	}
	.organization .figure.swipe::before{
		opacity: 0;
	}
	#Page .organization .figure img{
		max-width: none;
		width: auto;
		height: 315px;
		margin-right: 20px;
	}


/* evaluation
-----------------------------------------------------------------*/
	.evaluation{
		padding: 70px 0;
	}
	.evaluation h2{
		margin-bottom: 25px;
		font-size: 2.8rem;
		line-height: 1.4;
	}
	.evaluation .layout-box{
		display: block;
	}
	.evaluation .txt-area{
		max-width: 560px;
		width: 100%;
		margin: 0 auto;
	}
	.evaluation .txt{
		margin-bottom: 25px;
	}
	.evaluation .logo{
		width: 250px;
		margin-bottom: 45px;
	}
	.evaluation .table-area,
	.effort .table-area{
		position: relative;
		max-width: none;
		width: calc(100% + 20px);
		padding-bottom: 15px;
		overflow: auto;
	}
	.evaluation .table-area::before,
	.effort .table-area::before{
		position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    display: block;
    width: 60px;
    height: 60px;
    content: "";
    background: url(../img/common/ico_swipe.svg) no-repeat;
    background-size: 100% auto;
    pointer-events: none;
    transition: .3s;
	}
	.evaluation .table-area.swipe::before,
	.effort .table-area.swipe::before{
		opacity: 0;
	}
	.evaluation table{
		min-width: 580px;
		width: 100%;
		margin-right: 20px;
	}
	.evaluation table tr:nth-child(even){
		background: #dcf8ff;
	}
	.evaluation table th,
	.evaluation table td{
		border: 1px solid #d8d8d8;
	}
	.evaluation table th{
		padding: 7px 10px;
		background: #4eadda;
		color: #fff;
		font-weight: 500;
	}
	.evaluation table td{
		padding: 12px 10px;
		vertical-align: middle;
		font-weight: 500;
	}



/* effort
-----------------------------------------------------------------*/
	.effort{
		padding: 70px 0 30px;
		margin-bottom: 0;
	}
	.effort h2{
		margin-bottom: 25px;
		font-size: 2.8rem;
		line-height: 1.4;
	}
	.effort h3.ttl-cat{
		margin-bottom: 30px;
	}
	.effort .effort-list{
		display: block;
		margin-bottom: 70px;
	}
	.effort .effort-list li{
		max-width: 380px;
		width: 100%;
		margin: 0 auto;
	}
	.effort .effort-list li:nth-child(n+2){
		margin-top: 60px;
	}
	.effort .effort-list h4{
		margin: 10px 0;
		font-size: 1.8rem;
	}
	.effort table{
		min-width: 680px;
		width: 100%;
		margin-right: 20px;	
	}
	.effort table caption{
		font-size: 1.5rem;
		text-align: left;
	}
	.effort table th,
	.effort table td{
		border: 1px solid #d8d8d8;
	}
	.effort table th{
		padding: 10px 10px;
		background: #4eadda;
		color: #fff;
		font-size: 1.4rem;
		font-weight: 500;	
	}
	.effort table td{
		padding: 20px 10px;
		vertical-align: middle;
		font-weight: 500;
	}
	.effort table tr td:first-child{
		background: #dcf8ff;
	}

	.effort .inner ul{
		margin: 8px 0 0 8px;
	}
	.effort .inner ul li{
		font-size: 1.2rem;
		font-weight: 500;
	}

	/* strategy
-----------------------------------------------------------------*/
.strategy{
	padding: 70px 0;
}
.organization h2{
	margin-bottom: 25px;
	font-size: 2.8rem;
}
.strategy h3.ttl-cat{
	margin-bottom: 25px;
}
.strategy .figure{
	position: relative;
	width: calc(100% + 20px);
	overflow: auto;
	padding-bottom: 15px;
}
.strategy .figure::before{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	display: block;
	width: 60px;
	height: 60px;
	content: "";
	background: url(../img/common/ico_swipe.svg) no-repeat;
	background-size: 100% auto;
	pointer-events: none;
	transition: .3s;
}
.strategy .figure.swipe::before{
	opacity: 0;
}
#Page .strategy .figure img{
	max-width: none;
	width: auto;
	height: 440px;
	margin-right: 20px;
}
}