button {
		background-color: transparent;
		border: none;
		cursor: pointer;
		outline: none;
		padding: 0;
		appearance: none;
		font-size: 1em;
	    letter-spacing: 2.5px;
	    line-height: 2;
		color: #3a3a3a;
		transition: opacity .2s;
}

button:hover {
	filter:alpha(opacity=20); -moz-opacity: 0.2; opacity: 0.2;	
}

#primary {
	margin: 10vh 0 10vh 0 !important;
}

@media screen and (min-width: 1025px) {
	
	#philosophy {
		padding-top: 98px;
		margin-top: -98px;
	}
	#company{
		padding-top: 98px;
		margin-top: -98px;
	}
	#access{
		padding-top: 98px;
		margin-top: -98px;
	}

	
	.about_contents {
		margin: 2em 0;
		padding: 0 2em;
	}
	
	#contents_title {
		width: 100%;
		height: 100%;
		position: relative;
		text-align: center;
		vertical-align: middle;
		font-size: 14px;
		max-width: calc(1000px - 2em);
		margin: 0 auto;
		padding: 1em 2em 4em 2em;
		
	}
	
	.pb_textbox h2 {
		max-width: 1000px;
	    margin: auto;
	    text-align: center;
		font-size: 1em;
		line-height: 2;
		letter-spacing: 1.5px;
	    font-weight: 100;
	}

	.pb_textbox {
		width: 100%;
		height: 100%;
		position: relative;
		vertical-align: middle;
		
		max-width: calc(1000px - 2em);
		margin: 0 auto;
	}
	.pb_textbox p {
		position: relative;
		left: 50%;
		-ms-transform: translate(-50%,0%);
		-webkit-transform : translate(-50%,0%);
		transform : translate(-50%,0%);
		width: 1000px;
		text-align: center;
	}
	
	.pb_access_textbox {
		width: 100%;
		height: 100%;
		position: relative;
		vertical-align: middle;
		margin: 0 auto;
	}
	.pb_access_textbox p {
		position: relative;
		left: 50%;
		-ms-transform: translate(-50%,0%);
		-webkit-transform : translate(-50%,0%);
		transform : translate(-50%,0%);
		width: 1000px;
		text-align: center;
	}
	
	
    span.about_title {
	    display: block;
	    font-size: 1.2em;
	    font-weight: 400;
	    line-height: 2;
		letter-spacing: 2.5px;
		margin-bottom: 0.2em;
    }
    span.pb_text_s {
		font-size: 0.9em;
		line-height: 2;
		letter-spacing: 1.5px;
    }
    span.fw {
		font-size: 1em;
    }
    span.mail {
	    font-weight: 500;
		text-decoration : underline
    }
    
}

/* responsible */

@media only screen and (max-width: 1024px) {
	
	#philosophy {
		padding-top: 60px;
		margin-top: -60px;
	}
	#company{
		padding-top: 60px;
		margin-top: -60px;
	}
	#access{
		padding-top: 60px;
		margin-top: -60px;
	}
	
	#contents_title {
		width: 100%;
		height: 100%;
		position: relative;
		text-align: center;
		vertical-align: middle;
		font-size: 12px;
		max-width: calc(1000px - 2em);
		margin: 0 auto;
		padding: 2em 2em 2em 2em;
		
	}
	
	.pb_textbox h2 {
		max-width: 700px;
	    margin: auto;
	    text-align: center;
		font-size: 1em;
	    letter-spacing: 2px;
	    line-height: 2;
	    font-weight: 100;
	}

	.pb_textbox {
		width: 100%;
		height: 100%;
		position: relative;
		vertical-align: middle;
		font-size: 14px;
		max-width: calc(700px - 2em);
		margin: 0 auto;
		padding: 3em 2em 0 2em;
		
	}
	.pb_textbox p {
		position: relative;
		left: 50%;
		-ms-transform: translate(-50%,0%);
		-webkit-transform : translate(-50%,0%);
		transform : translate(-50%,0%);
		width: 90%;
		text-align: center;
	}
	
	.pb_access_textbox {
		max-width: calc(700px - 2em);
		margin: 0 auto;
		padding: 3em 2em;
	}
	.pb_access_textbox p {
		position: relative;
		left: 50%;
		-ms-transform: translate(-50%,0%);
		-webkit-transform : translate(-50%,0%);
		transform : translate(-50%,0%);
		width: 70%;
		text-align: center;
	}
	
    span.about_title {
	    display: block;
	    font-size: 1.2em;
	    font-weight: 400;
	    line-height: 2;
		letter-spacing: 2.5px;
		margin-bottom: 0.2em;
    }
    span.pb_text_s {
		font-size: 0.8em;
		line-height: 2;
		letter-spacing: 1.5px;
    }
    span.fw {
		font-size: 1em;
    }
    span.mail {
	    font-weight: 500;
		text-decoration : underline
    }
}