@charset "UTF-8";
/*@import url('https://fonts.googleapis.com/css?family=Roboto:400,500,700&display=swap');*/
@import url('https://fonts.googleapis.com/css?family=Libre+Baskerville:400,700&display=swap');

body {
  font-family: 'Roboto', sans-serif;
}
.serif{
  font-family: 'Libre Baskerville', serif !important;
  font-weight: 600;
}
#content{
  letter-spacing: 0.04em;
}


/*-------------------------------
contents
--------------------------------*/
@media screen and (min-width: 641px) {
	.page-header-lang h2 img{
		width: 684px;
		margin-top: 50px;
	}
}
@media screen and (max-width: 640px) {
	.page-header-lang h2 img{
		width: 90%;
		max-width: 400px;
		margin-top: 20px;
		margin-left: 15px;
	}
}

/* about/ message
--------------------------------*/
.about-business p{
	letter-spacing: normal;
}
	.about-message__box h4{
		line-height: 1.4;
		font-weight: 600;
		letter-spacing: normal;
	}
	.about-message__box p{
		line-height: 1.7;
		letter-spacing: normal;
		font-weight: 600;
	}
	.about-message__box p+p{
		margin-top: 2.2rem;
	}

@media screen and (min-width: 641px) {
	.about-business{
		padding-bottom: 3rem;
	}
	.about-business h3, .about-business p{
		line-height: 1.6;
	}
	.about-message{
		height: 1100px;
	}
	.about-message .txt h3{
		margin-left: -10rem;
		margin-bottom: 2.5rem;
	}
	.about-message .txt h3 img{
		width: 648px;
	}
	.about-message__box h4{
		font-size: 3rem;
	}
	.about-message__box{
    	padding-right: 0;

  	}
  	.about-message__box .company{
  		font-size: 1.9rem;
  	}
	.about-message__box__name .section{
  		font-size: 2.2rem;
  		margin-left: 1.8rem;
	}
	.about-message__box__name .name{
  		font-size: 3rem;
	}
}

@media screen and (max-width: 640px) {
	.about-message .txt h3{
		margin-left: 3rem;
	}
	.about-message__box p{
		font-size: 1.5rem;
	}
  	.about-message__box .company{
		display: block;
  		font-size: 1.5rem;
  	}
	.about-message__box__name .section{
  		font-size: 1.5rem;
	}
	.about-message__box__name .name{
  		font-size: 2rem;
	}
}
/* philosophy
--------------------------------*/
@media screen and (min-width: 641px) {
	.about-philosophy h3{
  		font-size: 3.3rem;
  	}
  	.about-philosophy p{
  		font-size: 2.1rem;
  	}
}
@media screen and (max-width: 640px) {
	.about-philosophy p{
		line-height: 1.6;
	}

}

/* about-features
--------------------------------*/
.about-features__each .txt h4{
	font-weight: 900;
	line-height: 1.3;
	letter-spacing: normal;
}
.about-features__each .txt p{
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: normal;
}
@media screen and (min-width: 641px) {
	.about-features__each:nth-child(even) .txt{
		padding-right: 2rem;
	}
	.about-features__each:nth-child(odd) .txt{
		margin-top: 0;
	}
	.about-features__each .txt h4{
		font-size: 2.8rem;
	}
	.about-features__each .txt p{
		font-size: 1.6rem;
	}
}
@media screen and (max-width: 640px) {
}

/* sdgs
--------------------------------*/
.about-sdgs h5{
	line-height: 1.3;
	font-weight: 900;
}
.about-sdgs p{
	line-height: 1.55;
	letter-spacing: normal;
	font-weight: 500;
}
@media screen and (min-width: 641px) {
	.about-sdgs h4{
		font-size: 4.2rem;
	}
	.about-sdgs__each{
	}
	.about-sdgs__each .txt{
		padding-top: 4.5rem;
	}
	.about-sdgs p{
		letter-spacing: normal;
		font-size: 1.6rem;
	}
	.sdgs-reason-1{
		height: 427px;
	}
}
@media screen and (max-width: 640px) {
	.about-sdgs h3 img{
		max-width: 180px;
		margin-left: -30px;
	}
}


/* about-profile
--------------------------------*/
.about-profile__table tr th, .about-profile__table tr td{
	letter-spacing: normal;

}
.about-profile__table tr th{
	font-weight: 900;
}
@media screen and (min-width: 641px) {
	.about-profile__table tr th{
		width: 405px;
		padding-left: 100px;
		line-height: 1.5;
	}
	.about-profile__table tr td{
		width: 790px;
	}
}
@media screen and (max-width: 640px) {
}

/* tecs
--------------------------------*/
.about-tecs h4{
	letter-spacing: normal;
}
.about-tecs__each .txt{
	line-height: 1.6;
	font-weight: 500;
    letter-spacing: normal;
}
.about-tecs__each li p{
	font-weight: 500;
}
@media screen and (min-width: 641px) {
	.about-tecs h4{
		font-size: 3.05rem;
	}
	.about-tecs__each:first-of-type .cf figure{
		margin-left: 90px;
	}
	.about-tecs__each li p{
	  padding: 25px 50px 0;
	}
}
@media screen and (max-width: 640px) {
	.about-tecs h3 img{
		max-width: 500px;
	}
}
/* footer
--------------------------------*/
.back_jpn a{
	letter-spacing: 0.04em;
}