@charset "UTF-8";
/* CSS Document */

/*--------------------------------------------------------
　基本設定
--------------------------------------------------------*/

/*--------------------------------------------------------
　PC
--------------------------------------------------------*/

@media print, screen and (min-width: 768px){
	#f_nav_block {
		margin-top: 12vw;
		border-top: 3px solid #dcdddd;
	}
	
	section#page_info div.block h3 {
		width: 22.4vw;
		line-height: 0;
		margin-top: 4vw;
		margin-left: 30.6vw;
		position: relative;
		z-index: 5;
	}
	
	section#page_info div.block div.text {
        margin-top: -3vw;
			
    }
	
	section#page_info div.block div.text h2{
        line-height: 2;	
   }
	
	section#page_info div.block div.text p {
        letter-spacing: 0.03em;
    }
	
	section#analog_core div.section_inner{
		width: 90%;
		max-width: 1335px;
		margin: 0 auto;
	}
	
	section#analog_core div.section_inner figure.img{
		width: 86.9%;
		margin: 0 auto 1.8vw;
	}
	
	section#analog_core div.section_inner h2{
		font-size: 3.7rem;
		font-size: clamp(1.89rem, 2.46vw, 3.7rem);
		font-weight: 700;
		letter-spacing: 0.1em;
		color: #c8102e;
		margin-bottom: 3vw;
		text-align: center;
	}
	
	section#analog_core div.section_inner h2 + p{
		font-size: 2.0rem;
		font-size: clamp(1.024rem, 1.33vw, 2.0rem);
		font-weight: 500;
		line-height: 2.2;
		letter-spacing: 0.025em;
		text-align: center;
		margin-bottom: 4vw;
	}
	
	section#analog_core div.section_inner div.block{
		background: #023764;
		padding: 3.8% 0 4.5%;
		color: #FFF;
	}
	
	section#analog_core div.section_inner div.block ul{
		width: 84%;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	section#analog_core div.section_inner div.block ul li{
		width: 26%;
	}
	
	section#analog_core div.section_inner div.block ul li figure{
		width: 50%;
		line-height: 0;
		margin: 0 auto;
	}
	
	section#analog_core div.section_inner div.block ul li figure figcaption{
		font-size: 2.0rem;
		font-size: clamp(1.024rem, 1.33vw, 2.0rem);
		font-weight: 500;
		letter-spacing: 0.025em;
		text-align: center;
		margin: 1.25em 0 1.5em;
	}
	
	section#analog_core div.section_inner div.block ul li p{
		font-size: 1.4rem;
		font-size: clamp(0.71rem, 0.93vw, 1.4rem);
		font-weight: 500;
		letter-spacing: 0.1em;
		line-height: 2;
	}
	
	section#analog_core div.section_inner div.block + a {
		width: 68.8%;
		height: 9.3vw;
		max-height: 140px;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		margin: 6vw auto 0;
		border-radius: 80px;
		background: url("../images/core_technologies/more_bg.jpg") no-repeat;
		background-size: cover;
		color: #FFF;
		position: relative;
	}
	
	section#analog_core div.section_inner div.block + a div.icon{
		width: 12%;
		line-height: 0;
		position: absolute;
		top: 8.5%;
		left: 6.8%;
	}
	
	section#analog_core div.section_inner div.block + a span{
		display: inline-block;
		font-size: 2.3rem;
		font-size: clamp(1.17rem, 1.53vw, 2.3rem);
		font-weight: 500;
		line-height: 1;
		letter-spacing: 0.05em;
		position: relative;
	}
	
	section#analog_core div.section_inner div.block + a span::after{
		content: "";
		display: inline-block;
		width: 10.2vw;
		max-width: 150px;
		height: 2px;
		background: #FFF;
		position: absolute;
		top: calc(50% - 1px);
		left: 19.5em;
		transform-origin: right;
		transition: all .3s ease;
	}
	
	section#analog_core div.section_inner div.block + a:hover span::after {
		content: "";
		width: 12.2vw;
	}
}




/*--------------------------------------------------------
　SP
--------------------------------------------------------*/

@media screen and (max-width: 767px){
	
	#f_nav_block {
		margin-top: 12vw;
		border-top: 3px solid #dcdddd;
	}
	
	section#page_info div.block h3 {
		width: 44.5vw;
		line-height: 0;
		position: absolute;
		top: 26vw;
		left: 9.8vw;
		z-index: 5;
	}
	
	section#analog_core div.section_inner{
		width: 90%;
		margin: 0 auto;
	}
	
	section#analog_core div.section_inner figure.img{
		width: 100%;
		margin: 0 auto 10vw;
	}
	
	section#analog_core div.section_inner h2{
		font-size: 1.52rem;
		font-size: clamp(1.52rem, 4.8vw, 3.6rem);
		font-weight: 700;
		letter-spacing: 0.24em;
		color: #c8102e;
		margin-bottom: 5.3vw;
		text-align: center;
	}
	
	section#analog_core div.section_inner h2 + p{
		font-size: 1.09rem;
		font-size: clamp(1.09rem, 3.46vw, 2.6rem);
		font-weight: 500;
		line-height: 2.3;
		letter-spacing: 0.025em;
		text-align: center;
		margin-bottom: 12vw;
	}
	
	section#analog_core div.section_inner div.block{
		width: 100vw;
		margin-left: -5vw;
		background: #023764;
		padding: 2.2vw 0;
		color: #FFF;
	}
	
	section#analog_core div.section_inner div.block ul{
		width: 90%;
		margin: 0 auto;
	}
	
	section#analog_core div.section_inner div.block ul li{
		width: 100%;
		padding: 8vw 0;
		padding-left: 4%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		position: relative;
	}
	
	section#analog_core div.section_inner div.block ul li + li{
		border-top: 1px dotted #fff;
	}
	
	section#analog_core div.section_inner div.block ul li figure{
		width: 29%;
		line-height: 0;
	}
	
	section#analog_core div.section_inner div.block ul li figure figcaption{
		width: 7.5em;
		font-size: 1.52rem;
		font-size: clamp(1.52rem, 4.8vw, 3.6rem);
		font-weight: 500;
		letter-spacing: 0.025em;
		line-height: 1;
		color: #023764;
		text-align: center;
		background: #FFF;
		padding: 0.25em 1em;
		border-radius: 30px;
		position: absolute;
		top: 8vw;
		left: 39%;
	}
	
	section#analog_core div.section_inner div.block ul li p{
		width: 63.5%;
		font-size: 0.97rem;
		font-size: clamp(0.97rem, 3.06vw, 2.3rem);
		font-weight: 500;
		letter-spacing: 0.025em;
		line-height: 1.8;
		padding-top: 10.2vw;
	}
	
	section#analog_core div.section_inner div.block + a {
		width: 82%;
		height: 21.3vw;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: center;
		margin: 11vw auto 0;
		border-radius: 80px;
		background: url("../images/core_technologies/more_bg.jpg") no-repeat;
		background-size: cover;
		color: #FFF;
		position: relative;
		padding-left: 26%;
	}
	
	section#analog_core div.section_inner div.block + a div.icon{
		width: 23%;
		line-height: 0;
		position: absolute;
		top: 9%;
		left: 3.8%;
	}
	
	section#analog_core div.section_inner div.block + a span{
		display: inline-block;
		font-size: 1.09rem;
		font-size: clamp(1.09rem, 3.46vw, 2.6rem);
		font-weight: 500;
		line-height: 1.5;
		letter-spacing: 0.05em;
		position: relative;
	}
	
	section#analog_core div.section_inner div.block + a span::after{
		content: "";
		display: none;
	}
}