/* ---------------------------------------------------------------
start COMPANY CSS
--------------------------------------------------------------- */


.bg_pagettl.company {
	height: 246px;
	color: #fff;
	background-image: url(../img/company/bg_pagettl.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}

.mds_company1 {
	margin: 0 0 60px;
	padding: 0;
	font-weight: 600;
	line-height: 1.2;
	text-indent: 0.2em;
}

.mds_company1 .ja {
	margin: 0 0 10px;
	color: #000;
	font-size: 30px;
	letter-spacing: 0.3em;
	display: block;
}

.mds_company1 .en {
	color: #1d4b95;
	font-size: 16px;
	letter-spacing: 0.2em;
	display: block;
}

.col_company1 {
	max-width: 1200px;
	width: 94%;
	margin: 0 auto 160px;
	padding: 75px 0 0;
	display: flex;
}

.col_company1 .pc_none ,
.col_company1 .tab_none {
	display: none;
}

.col_company1 .txt {
	width: calc( 100% - 492px );
	padding: 70px 55px 0 210px;
}

.col_company1 .img {
	width: 492px;
}

.lead_company1 {
	padding: 0 0 45px;
	color: #4d4d4d;
	font-size: 27px;
	font-weight: 500;
	line-height: 1.7;
	letter-spacing: 0.1em;
}

.txt_company1 {
	padding: 0 0 30px;
	font-size: 15px;
	font-weight: 500;
	line-height: 2.1;
	letter-spacing: 0.12em;
	text-align: justify;
}

.name_company1 {
	display: flex;
	justify-content: flex-end;
}

.name_company1 span {
	display: block;
}

.name_company1 .katagaki {
	padding: 0 0 10px;
	font-size: 12px;
	color: #000;
}

.name_company1 img {
	width: 206px;
	display: block;
}

.mds_company1.philosophy {
	margin: 0 0 100px;
	padding: 0;
	font-weight: 600;
	line-height: 1.2;
	text-indent: 0.2em;
	text-align: center;
}

.mds_company1.philosophy .ja {
	margin: 0 0 15px;
}

.col_company2 {
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
	padding: 0 0 20px;
	background-image: url(../img/company/bg_philo_left.jpg), url(../img/company/bg_philo_rigth.jpg) ;
	background-position: left 65px, right 65px;
	background-size: 202px auto, 202px auto;
	background-repeat: no-repeat, no-repeat;
}

.col_company2 .cont{
	max-width: 480px;
	width: 90%;
	margin: 0 auto;
}

dl.cont_company2 {
	margin: 0 0 130px;
	padding: 0;
}

dl.cont_company2:last-child {
	margin: 0 0 110px;
	padding: 0;
}

dl.cont_company2 dt {
	margin: 0 0 12px;
	padding: 0 0 12px;
	text-align: center;
	font-size: 30px;
	color: #1d4b8b;
	line-height: 1.2;
	border-bottom: solid 1px #1d4b8b;
}

.syaze {
	margin: 0 0 20px;
	letter-spacing: 1.0em;
	text-indent: 1em;
	display: block;
}

.note_syaze {
	font-size: 23px;
	color: #4d4d4d;
	line-height: 1.7;
	letter-spacing: 0.08em;
	display: block;
}

.cont_company2 .rinen {
	letter-spacing: 0.16em;
	text-indent: 0;
}

dl.cont_company2 dd {
	margin: 0;
	padding: 0;
	text-align: center;
	line-height: 2;
	letter-spacing: 0.07em;
}

.syakun {
	margin: 0 0 0;
	letter-spacing: 1.0em;
	text-indent: 1em;
	display: block;
}

.note_syakun {
	padding: 40px 0 0;
	text-align: left;
	letter-spacing: 0.08em;
	display: block;
}

.col_company3 {
	width: 100%;
	padding: 75px 0 105px;
	background-color: #f2f1ea;
}

.mds_company1.profile {
	margin: 0 0 45px;
	padding: 0;
	font-weight: 600;
	line-height: 1.2;
	text-indent: 0.2em;
	text-align: center;
}

.col_company3 .bg_white {
	max-width: 782px;
	width: 90%;
	margin: 0 auto;
	padding: 75px 0;
	background-color: #fff;
}

.col_company3 dl.profile {
	width: 88%;
	max-width: 578px;
	margin: 0 auto;
	padding: 16px 0;
	font-size: 18px;
	border-bottom: solid 1px #a5a5a4;
	display: flex;
	align-items: center;
}

.col_company3 dl.profile:first-child {
	border-top: solid 1px #a5a5a4;
}

.col_company3 dl.profile dt {
	width: 250px;
	margin: 0;
	padding: 0 0 0 55px;
}

.col_company3 dl.profile dt .inner {
	width: 80px;
	display: block;
	display: flex;
	justify-content: space-between;
}

.col_company3 dl.profile dd {
	width: calc( 100% - 250px );
	margin: 0;
	padding: 0;
	letter-spacing: 0.08em;
}

.bg_col_company4 {
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
	padding: 90px 0 130px;
	position: relative;
	z-index: 0;
}

.bg_col_company4:before {
	content: "";
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	background-image: url(../img/company/bg_history.png);
	background-repeat: no-repeat;
	background-size: 663px;
	background-position: right bottom;
	position: absolute;
	right: -80px;
	bottom:o -75px;
	z-index: -1;
}

.col_company4 {
	max-width: 782px;
	width: 84%;
	margin: 0 auto;
	padding: 0;
}

.mds_company1.history {
	margin: 0 0 45px;
	padding: 0;
	font-weight: 600;
	line-height: 1.2;
	text-indent: 0.2em;
	text-align: center;
}

.col_company4 dl.history {
	width: 100%;
	margin: 0 auto;
	padding: 18px 0;
	font-size: 15px;
	border-bottom: solid 1px #a5a5a4;
	display: flex;
	align-items: flex-start;
}

.col_company4 dl.history:first-child {
	border-top: solid 1px #a5a5a4;
}

.col_company4 dl.history dt {
	width: 215px;
	margin: 0;
	padding: 0 0 0 25px;
	letter-spacing: 0.18em;
}

.col_company4 dl.history dd {
	width: calc( 100% - 215px );
	margin: 0;
	padding: 0;
	letter-spacing: 0.08em;
	line-height:1.5;
}



/* ---------------------------------------------------------------
	start max 1200px
--------------------------------------------------------------- */

@media screen and ( max-width: 1200px ) {


	.col_company1 .txt {
		width: calc( 100% - 430px );
		padding: 70px 40px 0 100px
	}

	.col_company1 .img {
		width: 430px;
	}


}

/* ---------------------------------------------------------------
	end max 1200px
--------------------------------------------------------------- */



/* ---------------------------------------------------------------
	start max 1033px
--------------------------------------------------------------- */

@media screen and ( max-width: 1033px ) {


	.col_company1 .txt {
		width: 60%;
		padding: 40px 40px 0 60px
	}

	.col_company1 .img {
		width: 40%;
	}

	.col_company2 {
		background-size: 160px auto, 160px auto;
	}



}

/* ---------------------------------------------------------------
	end max 1033px
--------------------------------------------------------------- */

/* ---------------------------------------------------------------
	start max 850px
--------------------------------------------------------------- */

@media screen and ( max-width: 850px ) {

	.mds_company1.message {
		text-align: center;
	}

	.col_company1 {
		padding: 25px 0 0;
		flex-direction: column;
	}

	.col_company1 .txt {
		width: 90%;
		margin: 0 auto;
		padding: 40px 0 0 0;
	}

	.col_company1 .img {
		width: 100%;
		
	}

	.col_company1 .lead_company1 {
		text-align: center;
	}

	.col_company1 .img_message {
		max-width: 400px;
		width: 70%;
		margin: 0 auto;
	}

	.txt_company1 {
		padding: 0 0 10px;
		line-height: 2;
		letter-spacing: 0.04em;
	}

	.name_company1 {
		padding: 0 0 30px;
	}

	.col_company2 {
		background-size: 120px auto, 120px auto;
	}

	.col_company2 .cont{
		max-width: 420px;
	}

	dl.cont_company2 {
		margin: 0 0 65px;
	}

	.note_syaze {
		font-size: 21px;
		line-height: 1.7;
		letter-spacing: 0.02em;
		display: block;
	}


}

/* ---------------------------------------------------------------
	end max 850px
--------------------------------------------------------------- */
/* ---------------------------------------------------------------
	start min 701px
--------------------------------------------------------------- */

@media print,screen and ( min-width: 701px ) {


	.btn_pointcard:hover {
		background-color: #737373;
	}


}

/* ---------------------------------------------------------------
	end min 701px
--------------------------------------------------------------- */
/* ---------------------------------------------------------------
	start max 700px
--------------------------------------------------------------- */

@media print,screen and ( max-width: 700px ) {

	.bg_pagettl.company {
		height: 43vw;
		max-height: 246px;
		background-image: url(../img/company/sp/bg_pagettl.jpg);
		background-repeat: no-repeat;
	}
	
	.bg_pagettl.company dl.col_pagettl dd {
		font-size: 15px;
	}

	.mds_company1 {
		margin: 0 0 25px;
	}

	.mds_company1 .ja {
		margin: 0 0 10px;
		font-size: 25px;
	}

	.mds_company1 .en {
		font-size: 11px;
	}

	.lead_company1 {
		padding: 0 0 20px;
	    font-size: 24px;
	    line-height: 2.1;
	}
	
	.col_company1 {
		margin: 0 auto 10px;
	}

	.col_company1 .img_message {
		width: 55%;
		margin: 0 auto 30px;
	}

	.col_company1 .pc_none ,
	.col_company1 .tab_none {
		display: block;
	}

	.name_company1.sp_none {
		display: none;
	}

	.name_company1.sp {
		justify-content: center;
	}

	.name_company1.sp .katagaki {
		padding: 0 0 10px;
		font-size: 12px;
		text-align: center;
	}

	.name_company1.sp .name {
		width: 140px;
		margin: 0 auto;
		display: block;
	}

	.name_company1.sp .name img{
		width: 140px;
	}

	.col_company2 {
		padding: 115px 0 20px;
		background-size: 52px auto, 52px auto;
		background-position: left 0px, right 0px;
	}

	.mds_company1.philosophy {
		margin: 0 0 110px;
	}

	dl.cont_company2 {
	margin: 0 0 50px;
	}

	dl.cont_company2:last-child {
		margin: 0 0 50px;
	}
	
	dl.cont_company2 dt {
		margin: 0 0 12px;
		padding: 0 0 12px;
		font-size: 25px;
		line-height: 1.2;
	}
	
	.syaze {
		margin: 0 0 15px;
	}
	
	.note_syaze {
		font-size: 19px;
		letter-spacing: 0;
	}

	.col_company3 {
		padding: 55px 0 55px;
	}

	.mds_company1.profile {
		margin: 0 0 30px;
	}

	.col_company3 dl.profile {
		width: 88%;
		padding: 12px 0;
		font-size: 16px;
	}

	.col_company3 dl.profile dt {
		width: 130px;
		padding: 0 0 0 20px;
	}

	.col_company3 dl.profile dt .inner {
		width: 65px;
	}

	.col_company3 dl.profile dd {
		width: calc( 100% - 130px );
	}

	.bg_col_company4 {
		padding: 70px 0 55px;
	}
	
	.bg_col_company4:before {
		background-size: 400px;
		right: -33px;
		bottom: -37px;
	}
	
	.mds_company1.history {
		margin: 0 0 30px;
	}

	.col_company4 dl.history {
		width: 100%;
		margin: 0 auto;
		padding: 12px 0;
		display: block;
	}

	.col_company4 dl.history dt {
		width: 100%;
		padding: 0 0 5px 10px;
	}

	.col_company4 dl.history dd {
		width: 100%;
		padding: 0 0 0 25px;
		line-height:1.5;
	}

	.col_company4 dl.history dd .long {
		letter-spacing: 0.01em;
	}



}

/* ---------------------------------------------------------------
	end max 700px
--------------------------------------------------------------- */

/* ---------------------------------------------------------------
	start max 450px
--------------------------------------------------------------- */

@media screen and ( max-width: 450px ) {


	.lead_company1 {
	    font-size: 19px;
	    letter-spacing: 0.06em;
	}

	.col_company3 .bg_white {
		padding: 40px 0;
		width: 94%;
	}

	.col_company3 dl.profile {
		width: 92%;
		padding: 10px 0;
		font-size: 16px;
	}

	.col_company3 dl.profile dt {
		width: 88px;
		padding: 0 0 0 5px;
	}

	.col_company3 dl.profile dd {
		width: calc( 100% - 88px );
		text-align: right;
	}

	.col_company3 dl.profile dd .long{
		letter-spacing: -0.04em;
	}

	.bg_col_company4:before {
		background-size: 263px;
		right: -33px;
		bottom: -37px;
	}

	.col_company4 {
		width: 92%;
	}





}

/* ---------------------------------------------------------------
	end max 450px
--------------------------------------------------------------- */






