@charset "UTF-8";

.contentpage .m_img {
	background-image: url("../images/philosophy/m_img@2x.jpg");}


/* m_title
---------------------------------------------------------*/
.m_title .ft_en{
	margin-bottom: .5em!important;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.m_title .ft_en{
	margin-bottom: .4em!important;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.m_title .ft_en{
	margin-bottom: .1em!important;
}
}






/* omoi
---------------------------------------------------------*/
.ph_index1{
	border-left: 1px solid #102e55;
	font-size:120%;
	letter-spacing: 0.105em;
	line-height: 1em;
	padding-left: .9em;
	box-sizing: border-box;
}
.ph_index2{
	width: 55%;
	margin-left: auto;
	margin-right: auto;
}
#houshin .ph_index1{
	border-left: 1px solid #fff;
}

#omoi .omoi_bg{
	position: relative;
	background: linear-gradient(to bottom,  rgba(238,239,232,0) 0%,rgba(238,239,232,0) 3%,rgba(238,239,232,1) 100%);
}
#omoi .bg1{
	position: relative;
	padding-top:min(160px,10vw);
	z-index: 2;
}
#omoi .bg1::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/philosophy/abs1@2x.png")no-repeat top center;
	background-size: 100% auto;
	width: 50%;
	max-width: 605px;
	height: 635px;
	top: min(10px,1vw);
	left: 0;
	right: 0;
	margin: 0 auto;
}
#omoi .txt2{
	font-size: 130%;
	line-height: 1.5em;
	margin-top: 1em;
	text-align: center;
}
#omoi .txt3{
	margin-top: min(30px,2.2vw);
	margin-bottom:min(30px,2.2vw);
}
#omoi .txt4{
	font-size: 155%;
	letter-spacing: 0.15em;
	line-height: 1.7em;
	font-weight: bold;
	text-align: center;
}

#omoi .bg2{
	position: relative;
	padding-top: min(400px,32vw);
	padding-bottom: min(160px,8vw);
}
#omoi .bg2::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/philosophy/img01@2x.png")no-repeat bottom center;
	background-size: 100% auto;
	width: 100%;
	max-width: 1500px;
	height: 921px;
	bottom: min(100px,12vw);
	left: 0;
	right: 0;
	margin: 0 auto;
	opacity: .5;
}
#omoi .bg2 .w1300{
	position: relative;
	z-index: 2;
	max-width: 1056px;
}
#omoi .bg2 .flex{
	display: flex;
    justify-content: space-between;
}
#omoi .bg2 .flex .flex_l{
	width: 42%;
	line-height: 1.8em;
}
#omoi .bg2 .flex .flex_r{
	width: 58%;
	padding-top: min(80px,11vw);
}
#omoi .bg2 .flex .flex_r dt{
	margin-bottom: .6em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#omoi .bg2{
	padding-top: 15vw;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.ph_index2{
	width: 75%;
}
#omoi .bg1{
	padding-top: 12vw;
}
#omoi .bg1::before{
	width: 80%;
	top: 0;
}
#omoi .txt2{
	font-size: 110%;
}
#omoi .txt3{
	margin-top: 2.5vw;
	margin-bottom:2vw;
}
#omoi .txt4{
	font-size: 110%;
	letter-spacing: 0.1em;
}

#omoi .bg2{
	padding-top: 40vw;
	padding-bottom:10vw;
}
#omoi .bg2::before{
	background-position: top center;
	bottom: auto;
	top:-7vw;
	opacity: 1;
}
#omoi .bg2 .flex{
	display: block;
}
#omoi .bg2 .flex .flex_l{
	width: 100%;
	line-height: 1.5em;
	text-align: center;
}
#omoi .bg2 .flex .flex_r{
	width: 100%;
	padding-top: 1em;
}
#omoi .bg2 .flex .flex_r dt{
	text-align: center;
	margin-bottom: .3em;
}
}






/* houshin
---------------------------------------------------------*/
#houshin .bg{
	background: #102e55;
	padding-top:min(160px,10vw);
	color: #fff;
}
#houshin .box1{
	position: relative;
	text-align: center;
}
#houshin .box1 .inbox{
	position: relative;
	z-index: 2;
}
#houshin .box1 .inbox .img{
	width: 70%;
	margin: 0 auto;
}
#houshin .box1 .inbox .ft_min{
	margin-top: -0.7em;
	margin-bottom: 1em;
}

#houshin .box1 .imglist li{
	position: absolute;
	width: 15%;
}
#houshin .box1 .imglist li:nth-child(1){
	top: 25%;
	transform: translateY(-50%);
	right: 0;
	width: 18.5%;
}
#houshin .box1 .imglist li:nth-child(2){
	top:48%;
	transform: translateY(-50%);
	left: 0;
}
#houshin .box1 .imglist li:nth-child(3){
	bottom: min(-40px,-0.5vw);
	right: 2%;
}

#houshin .box2 h3{
	position: relative;
	padding-top: 1em;
	padding-bottom: .85em;
	text-align: center;
	margin-bottom: min(65px,5vw);
}
#houshin .box2 h3::before{
	position: absolute;
	display: block;
	content: "";
	background: #fff;
	background-size: 100% auto;
	width: 94%;
	height: 1px;
	top:0;
	left: 0;
}
#houshin .box2 h3::after{
	position: absolute;
	display: block;
	content: "";
	background: #fff;
	background-size: 100% auto;
	width: 94%;
	height: 1px;
	bottom:0;
	right: 0;
}
#houshin .box2_list > li{
	margin-bottom: min(120px,10vw);
}
#houshin .box2_list > li:last-child{
	margin-bottom: 0;
}
#houshin .box2_list .title h4{
	width: 5%;
	margin: 0 auto 2em;
}
#houshin .box2_list .title div{
	margin-bottom: -0.1em;
}
#houshin .number3 .title div{
	margin-bottom: 4em;
}

#houshin .box2_list .flexbox{
	display: flex;
    justify-content: space-between;
}
#houshin .box2_list .flexbox.turn{
	flex-flow: row-reverse;
}
#houshin .box2_list .flexbox .img_l,
#houshin .box2_list .flexbox .img_r{
	width: 49%;
	max-width: 590px;
}
#houshin .box2_list .flexbox .txt_r,
#houshin .box2_list .flexbox .txt_l{
	width: 47%;
	padding-top: min(3.5rem,4vw);
}
#houshin .box2_list .number3 .flexbox .txt_r{
	padding-top: 0;
}
#houshin .box2_list .flexbox .fs34{
	margin-bottom: .5em;
}

.s_bnr_list{
	display: flex;
    justify-content: space-between;
	max-width: 1256px;
	margin-left: auto;
	margin-right: auto;
}
.s_bnr_list .s_bnr{
	width: 48.2%;
	background: #102644;
	border-radius: 20px;
}
.s_bnr_list .s_bnr a{
	position: relative;
	padding: 15px 0 15px 15px;
	box-sizing: border-box;
	display: flex;
    justify-content: space-between;
    align-items: center;	
}
.s_bnr_list .s_bnr a::before{
	position: absolute;
	display: block;
	content: "";
	background: #fff;
	background-size: 100% auto;
	width: 1px;
	height: calc(100% - 30px);
	top: 50%;
	transform: translateY(-50%);
	right: calc(14% - 1px);
	opacity: .5;
}
.s_bnr_list .s_bnr a div{
	width: 38%;
}
.s_bnr_list .s_bnr a p{
	display: block;
	width: 35.5%;
	font-size: min(190%,2.6vw);
	letter-spacing: 0.15em;
	line-height: 1em;
}
.s_bnr_list .s_bnr a p span{
	font-size: 55%;
	letter-spacing: 0.1em;
}
.s_bnr_list .s_bnr a .com_arrow1{
	width: 14%;
}
.s_bnr_list .s_bnr a .com_arrow1::before{
	font-size: 100%;
}

#houshin .byoin{
	background: #102644;
	padding: 20px 4% 25px;
	box-sizing: border-box;
}
#houshin .byoin .ft_min{
	position: relative;
	padding-left: 1.5em;
	box-sizing: border-box;
	margin-bottom: .3em;
}
#houshin .byoin .ft_min::before{
	position: absolute;
	display: block;
	content: "";
	background: #fff;
	background-size: 100% auto;
	width: 1em;
	height: 1px;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
}
#houshin .byoin li{
	display: inline;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#houshin .bg{
	padding-top: 12vw;
}
#houshin .box1 .inbox .img{
	width:100%;
	margin: 0 auto;
}
#houshin .box1 .inbox .ft_min{
	margin-top: -1.5em;
	margin-bottom:.5em;
}
#houshin .box1 .inbox p{
	text-align: left;
}
#houshin .box1 .imglist{
	display: flex;
	justify-content: space-between;
	margin-top: 8%;
}
	
#houshin .box1 .imglist li{
	position: static!important;
	width: 32%!important;
	top:auto!important;
	bottom: auto!important;
	transform: translateY(0)!important;
}

#houshin .box2 h3{
	padding-top: .8em;
	padding-bottom: .85em;
	margin-bottom: 8%;
}
#houshin .box2_list > li{
	margin-bottom: 15%;
}
#houshin .box2_list .title h4{
	width: 8vw;
	margin: 0 auto 1.5em;
}
#houshin .box2_list .title div{
	margin-bottom: -0.1em;
}
#houshin .number3 .title div{
	margin-bottom: 2em;
}

#houshin .box2_list .flexbox{
	display: block;
}
#houshin .box2_list .flexbox .img_l,
#houshin .box2_list .flexbox .img_r{
	width: 100%;
	margin: 0 auto 5%;
}
#houshin .box2_list .flexbox .img_l{
	margin-bottom: 0;
}
#houshin .box2_list .flexbox .txt_r,
#houshin .box2_list .flexbox .txt_l{
	width: 100%;
	padding-top: 0;
}
#houshin .box2_list .number3 .flexbox .txt_r{
	padding-top: 5%;
}
#houshin .box2_list .flexbox .fs34{
	margin-bottom: .5em;
}

.s_bnr_list{
	display: block;
}
.s_bnr_list .s_bnr{
	width: 100%;
	margin-bottom: 2%;
}
.s_bnr_list .s_bnr:last-child{
	margin-bottom: 0;
}
.s_bnr_list .s_bnr a{
	padding: 15px 0 15px 15px;
}
.s_bnr_list .s_bnr a p{
	font-size:5vw;
}
	
#houshin .byoin{
	padding: 4%;
}
}



/* goran
---------------------------------------------------------*/
#goran .box2 {
	padding: 40px 0;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#goran .box2 {
	padding: 0;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) {
#goran .box2 {
	padding: 0;
}

}