@charset "utf-8";
/* Copyright 2023 FSFIELD All Rights Reserved. */

/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

PC、タブレット、スマートフォン共通

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

/* ------------------------------------------------------------

性能・構造

------------------------------------------------------------ */

.ability_container{
	max-width: 1200px;
	margin: 0 auto;
}

.nav_ability{margin-bottom: 80px;}

.nav_ability ul{
	display: flex;
	flex-wrap: wrap;
	margin-bottom: -30px;
}

.nav_ability ul li{
	width: calc((100% - 60px)/3);
	margin: 0 30px 30px 0;
}

.nav_ability ul li:nth-of-type(3n){margin-right: 0;}

.nav_ability ul li a{
	display: flex;
	transition: opacity .3s;
}

.nav_ability ul li a:hover{opacity: .8;}

.nav_ability ul li .icon{
	width: 80px;
	height: 80px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #AC7F71;
}

.nav_ability ul li .icon img{
	width: 48px;
	height: auto;
}

.nav_ability ul li .txt{
	width: calc(100% - 48px);
	background: #F0F0F0;
	padding: 0 20px;
	display: flex;
	align-items: center;
	color: #3F3F37;
	font-size: 1.6rem;
	letter-spacing: 0.1em;
	line-height: 1.5;
}

.ability:not(:last-of-type){margin-bottom: 80px;}

/* inner_type01
---------------------------------------------- */
.ability .inner_type01{
	display: flex;
	margin-bottom: 80px;
}

.ability:nth-of-type(odd) .inner_type01{flex-direction: row-reverse;}

.ability#point05 .inner_type01{flex-direction: row;}

.ability .inner_type01:last-of-type{margin-bottom: 0;}

.ability .inner_type01 .image{width: 50%;}

.ability .inner_type01 .image img{
	width: 100%;
	height: auto;
}

.ability .inner_type01 .content{width: 50%;}

.ability .inner_type01 .content .ttl{
	background: #AC7F71;
	display: flex;
	align-items: center;
	padding: 15px 30px;
}

.ability .inner_type01 .content .ttl .icon{
	width: 48px;
	display: inline-block;
}

.ability .inner_type01 .content .ttl .icon img{
	width: 100%;
	height: auto;
}

.ability .inner_type01 .content .ttl h2{
	width: calc(100% - 48px);
	padding-left: 30px;
	color: #FFF;
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.2;
}

.ability .inner_type01 .content .txt{
	padding: 30px 30px 0 0;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	line-height: 2;
}

.ability:nth-of-type(odd) .inner_type01 .content .txt{padding: 30px 0 0 30px;}

.ability#point05 .inner_type01 .content .txt{padding: 30px 30px 0 0;}

/* inner_type02
---------------------------------------------- */
.ability .inner_type02 > p{
	font-size: 1.4rem;
	line-height: 2;
	letter-spacing: 0.1em;
	margin-bottom: 40px;
}

.ability .inner_type02 figure:not(:last-of-type){margin-bottom: 40px;}

.ability .inner_type02 figure img{
	width: 100%;
	height: auto;
}

/* inner_type03
---------------------------------------------- */
.ability .inner_type03{
	display: flex;
}

.ability .inner_type03 .image{width: 50%;}

.ability .inner_type03 .image img{
	width: 100%;
	height: auto;
}

.ability .inner_type03 .content{
	width: 50%;
	padding-left: 30px;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
}

.ability .inner_type03 .content .txt{margin-bottom: 30px;}

.ability .inner_type03 .content .note p{
	line-height: 1.4;
	margin-bottom: 10px;
}

.ability .inner_type03 .content .note p:last-of-type{margin-bottom: 0;}


@media only screen and (max-width:1024px){ /* 表示領域が1024px以下の場合に適用するスタイル */

	/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

	タブレット

	_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

	/* ------------------------------------------------------------

	性能・構造

	------------------------------------------------------------ */
	
	/* 
	---------------------------------------------- */
	
	
}/*--@media--*/


@media only screen and (max-width:767px){ /* 表示領域が767px以下の場合に適用するスタイル */
	/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

	スマートフォン（iPhone,Android)

	_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

	/* ------------------------------------------------------------

	性能・構造

	------------------------------------------------------------ */
	.nav_ability ul{
		display: block;
		margin-bottom: 0;
	}
	
	.nav_ability ul li{
		width: 100%;
		margin: 0 0 10px 0;
	}
	
	.nav_ability ul li:last-of-type{margin-bottom: 0;}
	
	.nav_ability ul li .icon{
		width: 50px;
		height: 50px;
	}
	
	.nav_ability ul li .icon img{width: 24px;}
	
	.nav_ability ul li .txt{
		width: calc(100% - 50px);
		padding: 0 10px;
		font-size: 1.5rem;
	}
	
	.ability:not(:last-of-type){margin-bottom: 80px;}

	/* inner_type01
	---------------------------------------------- */
	.ability .inner_type01{
		display: block;
		margin-bottom: 30px;
	}

	.ability .inner_type01 .image{width: 100%;}

	.ability .inner_type01 .content{
		width: 100%;
		margin-bottom: 20px;
	}

	.ability .inner_type01 .content .ttl{
		padding: 12px 15px;
		margin-bottom: 30px;
	}

	.ability .inner_type01 .content .ttl .icon{width: 24px;}

	.ability .inner_type01 .content .ttl h2{
		width: calc(100% - 24px);
		padding-left: 15px;
		font-size: 1.5rem;
	}

	.ability .inner_type01 .content .txt{
		padding: 0;
		font-size: 1.2rem;
	}

	.ability:nth-of-type(odd) .inner_type01 .content .txt{padding: 0;}

	.ability#point05 .inner_type01 .content .txt{padding: 0;}

	/* inner_type02
	---------------------------------------------- */
	.ability .inner_type02 > p{
		font-size: 1.2rem;
		margin-bottom: 30px;
	}

	.ability .inner_type02 figure:not(:last-of-type){margin-bottom: 20px;}
	
	/* inner_type03
	---------------------------------------------- */
	.ability .inner_type03{display: block;}

	.ability .inner_type03 .image{
		width: 100%;
		margin-bottom: 30px;
	}

	.ability .inner_type03 .content{
		width: 100%;
		padding-left: 0;
		font-size: 1.2rem;
	}

	.ability .inner_type03 .content .txt{margin-bottom: 20px;}


}/*--@media--*/
