.span1{
	display: inline-block;
}

/*ヘッダー
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
.philosophy header {
	position: relative;
    padding: 0px;
}

.philosophy header h2{
	white-space: nowrap;
}

.philosophy header .block {
	position: relative;
	width        : 40%;
	height       : 350px;
	background   : linear-gradient(to left, #6091d3, #0059b3);
	z-index: 2;
}

.philosophy header img {
	position: relative;
	right: 0px;
	width: 60%;
	height: 350px;
    z-index: 1;
}

.philosophy header .block h2 {
	margin-top: 12%;
	margin-left: 21%;
	color: #ffffff;
	font-size: 300%;
	letter-spacing:1.5em;
}

.philosophy header .block h3 {
	margin-left: 27%;
	color: #ffffff;
	font-size: 100%;
	letter-spacing:1.5em;
}

.philosophy .refine-flex {
	display: flex;
	justify-content: center;
}

.philosophy .refine-flex h3 {
	text-align: left;
}

.absolute {
    position: absolute;
}

#philosophy {
	margin-top: 30px;
	margin-bottom: 30px;
}

#philosophy h2 {
	left: 0;
	right: 0;
	margin: auto;
	bottom: 25px;
	color:#ffffff;
	text-shadow: 0px 0px 5px #000000, 0px 0px 20px #000000, 0px 0px 40px #000000, 0px 0px 60px #000000, 0px 0px 80px #000000, 0px 0px 100px #000000;
}

#philosophy h2 .absolute {
	position: absolute;
}

#philosophy .relative img {
	margin: 0 auto;
	width: 100%;
	height: 150px;
	object-fit: cover;
}

.philosophy #number1 {
    height: 12%;
	margin-top: 0.2%;
}

.philosophy #number2 {
    height: 12%;
	margin-top: 0.2%;
}

.philosophy #number3 {
    height: 4.4%;
}

.philosophy #number1,#number2,#number3 {
	padding-top: 0.6%;
}

.philosophy .box {
	position: relative;
	padding: 0.5em 1em;
	margin: 2em 0;
    font-weight: bold;
	background:#ffffff;
}

.refine {
    display: flex;
    flex-wrap: wrap;
}

.refine-btn, .refine-teims {
    border-radius: 50px;
    background: #ffffff;
    box-shadow:  25px 25px 49px #bfbfbf,
                 -25px -25px 49px #ffffff;
    box-sizing: border-box;
    margin: 0 2px 10px 2px;
}

.refine-flex {
	display: flex;
}

.refine-flex p {
	text-align: center;
}

.refine-teims p {
    margin: 0 0 2em 0;
}

.philosophy .refine-teims {
    width: 370px;
    height: 180px;
    padding: 5px;
    border-color: #ccc;
	margin: auto;
	margin-top: 20px;
	margin-bottom: 30px;
}

.philosophy .teims-left {
	margin-right: 40px;
}

.philosophy .teims-right {
	margin-left: 40px;
}

.philosophy #contents  h3 {
	clear: both;
	margin-bottom: 20px;
	font-size: 150%;	    /*文字サイズ*/
	border-bottom: none;	/*下線の幅、線種、色*/
	padding-left: 3%;		/*左側に空ける余白*/
	letter-spacing: 0.1em;	/*文字間隔を少し広めにとる指定。通常がいいならこの１行削除。*/
}

.philosophy #contents .refine-teims h3 {
    text-align: center;
	position: relative;
}

.philosophy #contents .refine-teims h3:before {
	content: '';
	display:inline-block;
	position:absolute;
	width: 60px;/*線の長さ*/
	height: 3px;/*線の太さ*/
	background-color: #70b0eb;/*線の色*/
	border-radius: 2px;/*線の丸み*/
	bottom: 0;
	left: 43%;
}

/*画面幅1024px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:1024px) {
	.span1 {
		display: inline;
	}

	.span2 {
		display: inline-block;
	}

	/*ヘッダー
	---------------------------------------------------------------------------*/
	/*ヘッダーブロック*/
	.philosophy header .block {
		width: 40%;
		height: 250px;
	}

	.philosophy header img {
		width: 60%;
		height: 250px;
	}

	.philosophy header .block h2 {
		margin-top: 15%;
		margin-left: 15%;
		color: #ffffff;
		font-size: 300%;
		letter-spacing:0.5em;
	}

	.philosophy header .block h3 {
		margin-left: 17%;
		font-size: 100%;
		letter-spacing:1.0em;
	}

    #philosophy .relative img {
		height: 100px;
	}
	
	#philosophy .relative h2 {
		font-size: 230%;
        bottom: 10%;
	}

    .philosophy #number1 {
		height: 11%;
		top: 7.5%;
	}
	
	.philosophy #number2 {
		height: 12%;
		top: 7.5%;
	}
	
	.philosophy #number3 {
		height: 4.3%;
		top: 2.8%;
	}	
	.philosophy #number1,#number2,#number3 {
		padding-top: 0.6%;
	}

	.philosophy .box h3 {
		margin-left: 1%;
	}

	.philosophy .refine-teims {
		width: 300px;
		height: 190px;
		padding: 5px;
		margin-bottom: 13px;
	}

	.refine-teims p {
		font-size: 100%;
	}

	.philosophy #contents .refine-teims h3:before {
		width: 50px; /*線の長さ*/
		height: 2px; /*線の太さ*/
		left: 42.5%;
		bottom: 0%;  /*線の上下位置*/
	}
}


/*画面幅800px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:800px) {
	.span2 {
		display: inline;
	}

	.span3 {
		display: inline-block;
	}

	/*ヘッダー
	---------------------------------------------------------------------------*/
	/*ヘッダーブロック*/
	.philosophy header .block {
		width        : 40%;
		height       : 280px;
	}

	.philosophy header img {
		right: 0px;
		width: 60%;
		height: 280px;
	}

	.philosophy header .block h2 {
		margin-top: 27%;
		margin-left: 14%;
		font-size: 250%;
		letter-spacing:0.5em;
	}

	.philosophy header .block h3 {
		margin-left: 11%;
		font-size: 100%;
		letter-spacing:1.0em;
	}

    #philosophy .relative img {
		height: 80px;
	}
	
	#philosophy .relative h2 {
		font-size: 230%;
        bottom: 5%;
	}

    .philosophy #number1 {
		height: 9%;
		top: 5.6%;
	}
	
	.philosophy #number2 {
		height: 12%;
		top: 8%;
	}
	
	.philosophy #number3 {
		height: 3%;
		top: 2.2%;
	}
	
	.philosophy #number1,#number2,#number3 {
		padding-top: 0.6%;
	}

	.philosophy .box h3 {
		margin-left: 2%;
	}

	.refine-teims p {
		font-size: 110%;
	}

	.philosophy .refine-teims {
		width: 320px;
		height: 190px;
		padding: 5px;
		margin: 0 auto;
		margin-bottom: 13px;
	}

	.philosophy #contents .refine-teims h3:before {
		width: 50px; /*線の長さ*/
		height: 2px; /*線の太さ*/
		left: 43.0%;
		bottom: 0%;  /*線の上下位置*/
	}
}

/*画面幅480px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:480px){
	.span3　{
		display: inline;
	}

	.span4 {
		display: inline-block;
	}

	/*ヘッダー
	---------------------------------------------------------------------------*/
    .philosophy header .block h3 {
		margin-left: 10%;
		font-size: 100%;
		letter-spacing:0.5em;
	}

	.philosophy header .block {
		width: 40%;
		height: 150px;
	}

	.philosophy header img{
		right: 0px;
		width: 60%;
		height: 150px;
	}

	.philosophy header .block h2 {
		margin-top: 30%;
		margin-left: 13%;
		font-size: 180%;
		letter-spacing:0.5em;
	}

    #philosophy .relative img{
		height: 80px;
	}
	
	#philosophy .relative h2{
		font-size: 230%;
        bottom: 18%;
	}

    .philosophy #number1 {
		height: 9%;
		top: 8%;
	}
	
	.philosophy #number2 {
		height: 9%;
		top: 8%;
	}
	
	.philosophy #number3 {
		height: 1.7%;
		top: 1.3%;
	}
	
	.philosophy #number1,#number2,#number3 {
		padding-top: 1%;
	}

	.philosophy #contents  h3 {
		margin-bottom: 10px;
	}

	.philosophy .box h3{
		margin-left: 2%;
	}

	.philosophy .refine-teims {
		width: 280px;
		height: 130px;
		padding: 5px;
		margin: 0 auto;
		margin-top: 10px;
		margin-bottom: 15px;
	}

	.philosophy #contents .box .refine h3{
		margin-bottom: 7px;
	}

	.philosophy #contents .refine-teims h3:before {
		width: 30px; /*線の長さ*/
		height: 2px; /*線の太さ*/
		left: 46.0%;
		bottom: 0%;  /*線の上下位置*/
	}

	#contents p {
		padding: 0;
	}
}
