@charset "UTF-8";
/* ------------------------------------
					company
--------------------------------------*/
#company h3{
	font-size: 24px;
}

/*------- companyIndex -------*/
.companyIndex ul{
	padding-left: 1.97%;
	padding-right: 1.97%;
}
.companyIndex ul li{
	background: #fff;
	box-shadow: 0px 0px 20px 20px rgba(0, 0, 0, 0.05);
	margin-bottom: 60px;
}
.companyIndex ul li a{
	display: flex;
	justify-content: space-between;
	padding: 33px 1.96% 20px 6.5%;
}
.companyIndex ul li dt{
	font-size: 24px;
	font-weight: 700;
}
.companyIndex ul li dt.icon_external{
	position: relative;
	padding-right:35px;
}
.companyIndex ul li dt.icon_external::after{
	content:"";
	display: inline-block;
	width:22px;
	aspect-ratio: 1 / 1;
	position: absolute;
	top:calc(50% - 11px);
	right:11px;
	background-color:#222;
	-webkit-mask:url(../images/icon_external-link.svg);
	mask-image: url(../images/icon_external-link.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	vertical-align: middle;
}
.companyIndex ul li dd{
	font-size: 14px;
}
.companyIndex ul li span{
	color: var(--basegr);
	display: block;
	font-size: 16px;
	margin-top: 20px;
	margin-right: 11px;
	padding-right: 40px;
	position: relative;
	text-align: right;
}
.companyIndex ul li span::before{
	content: "";
	background-image: linear-gradient(180deg, rgba(46, 149, 104, 1), rgba(25, 104, 141, 1));
	display: inline-block;
	width: 24px;
	height: 24px;
	border-radius: 12px;
	position: absolute;
	top: calc(50% - 12px);
	right: 0;
}
.companyIndex ul li span::after{
	content: "";
	position: absolute;
	top: calc(50% - 4px);
	right: 10px;
	display: inline-block;
  width: 6px;
  height: 6px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
}
@media screen and (min-width: 769px) {
	.companyIndex ul li{
		width: 46.95%;
		min-height: 207px;
		max-width: 460px;
	}
	.companyIndex ul li figure{
		background: transparent;
		margin-right: 27px;
	}
	.companyIndex .ic01{ width: 77px; }
	.companyIndex .ic01 img:hover{ width: 97px; }
	.companyIndex .ic02{ width: 84px; }
	.companyIndex .ic03{ width: 77px; }
	.companyIndex .ic04{ width: 71px; }
	.companyIndex ul li dl{
		width: 308px;
	}
}/*-PC only-*/
@media screen and (max-width: 768px) {/*SP*/
	.companyIndex ul li figure{
		max-width: 23%;
	}
	.companyIndex ul li dl{
		width: 70%;
	}
}/*-SP only-*/


/*------- greeting -------*/
.greeting .photo{
	margin-bottom: 20px;
}
.greeting .message{
	padding-top: 27px;
	width: 100%;
	max-width: 531px;
}
.greeting .message h2{
	margin-bottom: 41.5px;
	max-width: 237px;
}
.greeting .message h3{
	color: var(--basegr);
	margin-bottom: 20px;
}
.greeting .message p{
	margin-bottom: 20px;
}
.greeting .sign {
	width: fit-content;
	margin-left:auto;
}
.greeting .sign img{
	max-width: 162px;
}
.greeting .sign span{
	padding-left: 15px;
}
@media screen and (min-width: 769px) {
	.greeting .photo{
		max-width: 320px;
	}
}/*-PC only-*/
@media screen and (max-width: 768px) {/*SP*/
	.greeting .photo{
		margin-bottom: 50px;
		width: 100%;
	}
}/*-SP only-*/


/*------- philosophy -------*/
.philosophy,
.attitude{
	margin-bottom: 60px;
}
.philosophy h2,
.attitude h2,
.guideline h2{
	font-size: 60px;
}
.philosophy h2 .fontB,
.attitude h2 .fontB,
.guideline h2 .fontB{
	letter-spacing: 0.1em;
}
.philosophy h2{
	color: var(--basegr);
}
.attitude h2{
	color: #008383;
	margin-bottom: 40px;
}
.guideline h2,
.attitude.guideline_n h2{
	color: var(--basebl);
}
.philosophy .txtJp,
.attitude .txtJp,
.guideline .txtJp{
	display: block;
	font-size: 16px;
}
.philosophy .txtJp{
	color: #B1B1B1;
}
.philosophy p{
	font-size: 24px;
	letter-spacing: 0.05em;
}
.attitude dl dt{
	color: #008383;
	font-size: 24px;
	letter-spacing: 0.05em;
	line-height: 1.79;
}
.attitude dl dd{
	letter-spacing: 0.05em;
	padding-bottom: 40px;
}
.guideline ul li{
	color: var(--basebl);
	font-size: 24px;
	letter-spacing: 0.05em;
	margin-bottom: 30px;
}
@media screen and (min-width: 769px) {
	.philosophy p{
		line-height: 1.79;
		max-width: 634px;
	}
	.attitude dl{
		display: flex;
		flex-wrap: wrap;
	}
	.attitude dl dt{
		padding-bottom: 40px;
		width: 300px;
	}
	.attitude dl dd{
		width: 720px;
	}
	.guideline .inner{
		display: flex;
	}
	.guideline h2{
		margin-right: 120px;
	}
}/*-PC only-*/
@media screen and (max-width: 768px) {/*SP*/
	.philosophy h2,
	.attitude h2,
	.guideline h2{
		margin-bottom: 30px;
	}
	.attitude dl dd{
		padding-bottom: 20px;
	}
}/*-SP only-*/


/*------- outline -------*/
.outline h2{
	color: var(--basebl);
	font-size: 60px;
	margin-bottom: 20px;
}
.outline h2 .fontB{
	letter-spacing: 0.1em;
}
.outline .txtJp{
	display: block;
	color: var(--basebl);
	font-size: 16px;
}
.dataTable.flex,
.dataTable dd.pcFlex{
	flex-wrap: wrap;
}
.outline .dataTable dt{
	border-bottom: 3px solid #E4E6EC;
	font-weight: 700;
	padding: 20px 0;
	width: 135px;
}
.outline .dataTable dd{
	border-bottom: 1px solid #E4E6EC;
	padding: 20px 0 20px 7.3%;
	width: calc(100% - 135px);
}
.outline .dataTable dd hr{
	border-color:#E4E6EC;
}
.outline .dataTable dd span{
	display: inline-block;
	vertical-align:top;
}
.outline .dataTable dd span small{
	display: inline-block;
	font-size:14px;
	line-height: 1.5;
}
@media screen and (min-width: 769px) {
	.outline .dataTable dd .pcFlex li:nth-child(odd){
		width: 57%;
		justify-content: flex-start;
	}
	.outline .dataTable dd .pcFlex li:nth-child(even){
		width: 43%;
	}
	.outline .dataTable dd .pcFlex + p{
		padding-left: 57%;
	}
}/*-PC only-*/
@media screen and (max-width: 768px) {/*SP*/
	.outline .dataTable dt{
		width: 25%;
	}
	.outline .dataTable dd{
		width: 75%;
	}
}/*-SP only-*/


/*------- recruit -------*/
.recruit h2{
	font-size: 32px;
	margin-bottom: 97px;
}
.recruit h3{
	font-size: 24px;
	margin-bottom: 44px;
	margin-top: 120px;
}
.recruit h3:first-of-type{
	margin-top: 96px;
}
.tiBdr span{
	position: relative;
}
.tiBdr span::before{
	content: "";
	background: #008238;
	width: 46px;
	height: 6px;
	display: inline-block;
	position: absolute;
	top: -40px;
	left: 0;
}
.recruit .dataTable{
	border-top: 1px solid #E4E6EC;
	border-left: 1px solid #E4E6EC;
}
.recruit .dataTable > dt{
	background: #E4F1EA;
	border-bottom: 1px solid #E4E6EC;
	border-right: 1px solid #E4E6EC;
	padding: 5px 2% 7px;
	width: 168px;
}
.recruit .dataTable > dd{
	border-right: 1px solid #E4E6EC;
	border-bottom: 1px solid #E4E6EC;
	padding: 5px 2% 7px;
	width: calc(100% - 168px);
}
.recruit .dataTable dd dd{
	padding-left: 1em;
}
@media screen and (max-width: 768px) {/*SP*/
	.recruit .dataTable > dt{
		padding: 5px 3% 7px;
		width: 32%;
	}
	.recruit .dataTable > dd{
		padding: 5px 3% 7px;
		width: 68%;
	}
}/*-SP only-*/

/* 23129 */
@media screen and (min-width: 769px) {
	.philosophy.new_p p {
		max-width: 100%;
	}
	
	.philosophy.new_p h2,
	.attitude.new_p h2,
	.guideline.new_p h2 {
		display: flex;
		align-items: flex-end;
		margin-bottom: 30px;
	}
	
	.philosophy.new_p .txtJp,
	.attitude.new_p .txtJp,
	.guideline.new_p .txtJp {
		margin: 0 0 13px 19px;
	}
	
	.attitude.new_p dl dd {
		width: 100%;
	}

	.attitude.new_p dl dd strong {
		font-size: 18px;
	}
	
	.attitude.new_p dl dt {
		padding-bottom: 20px;
		width: 100%;
	}
	
}/*-PC only-*/

@media screen and (max-width: 768px) {/*SP*/
	.attitude.new_p dl dd strong {
		font-size: 17px;
	}
}/*-SP only-*/

.attitude.new_p.guideline_n dl dt {
	color: var(--basebl);
}

/*------- 240308追加 history -------*/
.history h2{
	color: var(--basebl);
	font-size: 60px;
	margin-bottom: 20px;
}
.history h2 .fontB{
	letter-spacing: 0.1em;
}
.history .txtJp{
	display: block;
	color: var(--basebl);
	font-size: 16px;
}
.dataTable.flex,
.dataTable dd.pcFlex{
	flex-wrap: wrap;
}
.history .dataTable dt{
	border-bottom: 3px solid #E4E6EC;
	font-weight: 700;
	padding: 20px 0;
	width: 135px;
}
.history .dataTable dd{
	border-bottom: 1px solid #E4E6EC;
	padding: 20px 0 20px 7.3%;
	width: calc(100% - 135px);
}
.history .dataTable dd hr{
	border-color:#E4E6EC;
}
.history .dataTable dd span{
	display: inline-block;
	vertical-align:top;
}
.history .dataTable dd span small{
	display: inline-block;
	font-size:14px;
	line-height: 1.5;
}
@media screen and (min-width: 769px) {
	.history .dataTable dd .pcFlex li:nth-child(odd){
		width: 57%;
		justify-content: flex-start;
	}
	.history .dataTable dd .pcFlex li:nth-child(even){
		width: 43%;
	}
	.history .dataTable dd .pcFlex + p{
		padding-left: 57%;
	}
}/*-PC only-*/
@media screen and (max-width: 768px) {/*SP*/
	.history .dataTable dt{
		width: 27%;
	}
	.history .dataTable dd{
		width: 73%;
	}
}/*-SP only-*/
