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

ul.page_title li.text{
	background: url("../technology/images/page_title_bg.jpg") no-repeat;
	background-size: cover;
}

/*--------------------------------------------------------
　PC
--------------------------------------------------------*/

@media print, screen and (min-width: 769px){
	
	ul.page_title{
		margin-bottom: 80px;
	}
	
	section{
		width: 70.83%;
		max-width: 850px;
		margin: 0 auto 60px;
		padding-bottom: 70px;
		border-bottom: 1px solid #D9D9D9;
		color: #595757;
		position: relative;
	}
	
	section#s01{
		border-bottom: none;
		margin-bottom: 20px;
	}
	
	section#s02{
		border-top: 1px solid #D9D9D9;
		padding-top: 70px;
		margin-top: 100px;
	}
	
	section#s07{
		border-bottom: none;
	}
	
	div.wrapper {
		width: 100%;
		position: relative;
	}
	
	div.wrapper div.deco01{
		width: 20vw;
		max-width: 240px;
		position: absolute;
		top: -35px;
		right: 0;
		z-index: 10;
	}
	
	div.wrapper div.deco02{
		width: 20vw;
		max-width: 240px;
		position: absolute;
		bottom: -140px;
		left: 0;
		z-index: 10;
	}
	
	div.wrapper div.deco03{
		width: 25.8vw;
		max-width: 310px;
		position: absolute;
		bottom: -190px;
		right: 0;
	}
	
	div.wrapper div.deco04{
		width: 17.6vw;
		max-width: 212px;
		position: absolute;
		bottom: -130px;
		left: 0;
	}
	
	div.wrapper div.deco05{
		width: 30.4vw;
		max-width: 365px;
		position: absolute;
		bottom: -185px;
		right: 0;
	}
	
	div.wrapper div.deco06{
		width: 23.1vw;
		max-width: 278px;
		position: absolute;
		top: -217px;
		left: 0;
	}
	
	div.wrapper div.deco07{
		width: 18.3vw;
		max-width: 220px;
		position: absolute;
		bottom: -170px;
		right: 0;
	}
	
	div.wrapper div.deco08{
		width: 9.6vw;
		max-width: 116px;
		position: absolute;
		bottom: -50px;
		left: 0;
		z-index: 10;
	}
	
	section div.num{
		width: 60px;
		margin: 0 auto 24px;
		line-height: 0;
	}
	
	section h2{
		font-size: 30px;
		font-size: 3.0rem;
		line-height: 1.4;
		font-weight: bold;
		text-align: center;
		margin-bottom: 40px;
		letter-spacing: 0.1em;
	}
	
	section h3{
		width: 314px;
		font-size: 26px;
		font-size: 2.6rem;
		line-height: 1.1;
		font-weight: bold;
		text-align: center;
		letter-spacing: 0.2em;
		margin: 0 auto 28px;
		padding: 20px 0;
		border: 2px solid #595757;
	}
	
	section h3 + p{
		font-size: 16px;
		font-size: 1.6rem;
		line-height: 2.4;
		margin-bottom: 40px;
		text-align: center;
	}
	
	section h2 + p{
		font-size: 16px;
		font-size: 1.6rem;
		line-height: 2.4;
		margin-bottom: 40px;
		text-align: left;
	}
	
	section div.photo{
		line-height: 0;
	}
	
	a.special{
		display: block;
		padding: 0;
	}
	
	div.special {
		width: 100%;
		height: 50vw;
		line-height: 0;
		display: block;
		position: relative;
		background: url("../technology/images/banner_bg.jpg") no-repeat;
		background-size: cover;
	}
	
	div.special h2{
		width: 30.83vw;
		max-width: 370px;
		margin: 0 auto 3.3vw;
		padding-top: 2.8vw;
	}
	
	div.special p.text{
		font-size: 16px;
		font-size: 1.6rem;
		line-height: 1.3;
		text-align: center;
		color: #595757;
	}
	
	div.special p.btn {
		width: 350px;
		margin: 0 auto;
		padding: 15px;
		font-size: 16px;
		font-size: 1.6rem;
		line-height: 1.4;
		color: #FFF;
		background: #0080CB;
		display: flex;
		flex-wrap:wrap;
		justify-content: center;
		align-items: center;
		position: absolute;
		bottom: 3.75vw;
		left: -webkit-calc(50% - 175px);
		left: -moz-calc(50% - 175px);
		left: calc(50% - 175px);
	}
	
	div.special p.text i{
		display: inline-block;
		margin-right: 0.2em;
	}
	
}

/*--------------------------------------------------------
　SP
--------------------------------------------------------*/

@media screen and (max-width: 768px){
	
	section{
		width: 92.5%;
		margin: 0 auto 50px;
		padding-bottom: 50px;
		border-bottom: 1px solid #D9D9D9;
		color: #595757;
		position: relative;
	}
	
	section#s01{
		border-bottom: none;
		margin-bottom: 0;
	}
	
	section#s02{
		border-top: 1px solid #D9D9D9;
		padding-top: 70px;
		margin-top: 100px;
	}
	
	section#s07{
		border-bottom: none;
	}
	
	div.wrapper {
		width: 100%;
		position: relative;
	}
	
	div.wrapper div.deco01{
		width: 20vw;
		max-width: 240px;
		position: absolute;
		top: -120px;
		right: -5vw;
	}
	
	div.wrapper div.deco02{
		width: 20vw;
		max-width: 240px;
		position: absolute;
		top: -70px;
		left: 0;
	}
	
	div.wrapper div.deco03{
		width: 25.8vw;
		max-width: 310px;
		position: absolute;
		bottom: -50px;
		right: 0;
	}
	
	div.wrapper div.deco04{
		width: 17.6vw;
		max-width: 212px;
		position: absolute;
		bottom: -50px;
		left: 0;
	}
	
	div.wrapper div.deco05{
		width: 30.4vw;
		max-width: 365px;
		position: absolute;
		bottom: -100px;
		right: 0;
	}
	
	div.wrapper div.deco06{
		width: 23.1vw;
		max-width: 278px;
		position: absolute;
		top: -250px;
		left: 0;
	}
	
	div.wrapper div.deco07{
		width: 18.3vw;
		max-width: 220px;
		position: absolute;
		bottom: -120px;
		right: 0;
	}
	
	div.wrapper div.deco08{
		width: 9.6vw;
		max-width: 116px;
		position: absolute;
		bottom: -100px;
		left: 0;
		z-index: 10;
	}
	
	section div.num{
		width: 60px;
		margin: 0 auto 24px;
		line-height: 0;
	}
	
	section h2{
		font-size: 24px;
		font-size: 2.4rem;
		line-height: 1.4;
		font-weight: bold;
		text-align: center;
		letter-spacing: 0.1em;
		margin-bottom: 20px;
	}
	
	section h3{
		width: 280px;
		font-size: 20px;
		font-size: 2.0rem;
		line-height: 1.1;
		font-weight: bold;
		text-align: center;
		letter-spacing: 0.2em;
		margin: 0 auto 28px;
		padding: 15px 0;
		border: 2px solid #595757;
	}
	
	section h3 + p{
		font-size: 14px;
		font-size: 1.4rem;
		line-height: 2;
		margin-bottom: 20px;
		text-align: center;
	}
	
	section h2 + p{
		font-size: 14px;
		font-size: 1.4rem;
		line-height: 2;
		margin-bottom: 20px;
		text-align: left;
	}
	
	section div.photo{
		line-height: 0;
	}
	
	div.special {
		width: 100%;
		height: 50vw;
		line-height: 0;
		display: block;
		position: relative;
		background: url("../technology/images/banner_bg.jpg") no-repeat;
		background-size: cover;
	}
	
	div.special h2{
		width: 30.83vw;
		max-width: 370px;
		margin: 0 auto 3.3vw;
		padding-top: 2.8vw;
	}
	
	div.special p.text{
		font-size: 12px;
		font-size: 1.2rem;
		line-height: 1.3;
		text-align: center;
		color: #595757;
	}
	
	div.special p.btn {
		width: 300px;
		margin: 0 auto;
		padding: 10px;
		font-size: 16px;
		font-size: 1.6rem;
		line-height: 1.4;
		color: #FFF;
		background: #0080CB;
		display: flex;
		flex-wrap:wrap;
		justify-content: center;
		align-items: center;
		position: absolute;
		bottom: 3.75vw;
		left: -webkit-calc(50% - 150px);
		left: -moz-calc(50% - 150px);
		left: calc(50% - 150px);
	}
	
	div.special p.text i{
		display: inline-block;
		margin-right: 0.2em;
	}
	
}

@media print, screen and (max-width: 420px){
	div.wrapper div.deco01{
		width: 24vw;
		max-width: 240px;
		position: absolute;
		top: -105px;
		right: 0;
	}
	
	div.wrapper div.deco02{
		width: 24vw;
		max-width: 240px;
		position: absolute;
		top: -80px;
		left: 0;
	}
	
	div.wrapper div.deco06{
		width: 23.1vw;
		max-width: 278px;
		position: absolute;
		top: -150px;
		left: 0;
	}
	
	div.wrapper div.deco08{
		width: 9.6vw;
		max-width: 116px;
		position: absolute;
		bottom: 0px;
		left: 0;
		z-index: 10;
	}
}