@charset "UTF-8";

/*見出し*/
.company-article-header h3{
	font-family: "Noto Serif JP","MainichiNewspapersM Light",serif;
}
/*欧文*/
#company-info dt{
	font-family: "OptimaNovaLTPro-Regular","Shuei KakuGo Gin M";
}
.company-sec-header h2,
.member-list__item i{
	font-family: "OptimaNovaLTPro-Regular", Optima, "Optima LT Std", "Helvetica Neue", Arial, sans-serif !important;
}
#company-info dd{
	font-family: "OptimaNovaLTPro-Regular","Shuei KakuGo Gin M";	
}

@media screen and (min-width: 880px) {
	body#company .me-footer-breadcrumb {
		top: 148px;
	}
}

@media screen and (min-width: 768px) {

	#company #corp-main{
		margin: 150px 0 0;
	}	

	.company-header{
		margin: 0 0 170px;
	}
	.company-header h1{
		margin: auto;
		width: 525px;
	}
	.company-sec-header h2{
		font-size: 110px;
		letter-spacing: 0.04em;
	}
	.company-sec-inner{
		margin: auto;
		padding: 0 40px;
		max-width: 1100px;
	}

	.company-sec-header h3{
		padding: 20px 0 0 50px;
		font-size: 30px;
		letter-spacing: 0.1em;
	}
	.company-article{
		padding: 50px 0 0 50px;		
	}
	.company-article-header h3{
		font-size: 60px;
		letter-spacing: 0.2em;
		line-height: 1.4;
	}
	.company-article__text{
		padding: 0 20% 0 0 ;
		margin: 20px 0 0;
	}
	.company-article__text p{
		font-size: 20px;
		line-height: 2;
		letter-spacing: 0.04em;
	}


/* company-info
===========================================================================*/
	
	.company-info-detail{
		margin: auto;
		padding: 0 10px;
		max-width: 900px;
	}
	#company-info dl{
		display: flex;
	}
	#company-info dl + dl{
		margin-top: 40px;
	}
	#company-info dt{
		width: 30%;
		letter-spacing: 0.1em;
		line-height: 1.8;
	}
	#company-info dd{
		width: 70%;
		letter-spacing: 0.02em;
		line-height: 1.8;
	}
	.company-info-map{
		margin: 80px 0 0;
	}
	.company-info-map iframe{
		height: 330px;
	}
	.company-info-map + .company-info-detail{
		margin-top: 40px;
	}



/* member
===========================================================================*/

	#member .company-sec-header h2{
		text-align: center;
	}
	.member-list{
		margin: 40px 0 0;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}
	.member-list__item{
		margin: 0 25px 25px;
		width: 140px;
		text-align: center;
	}
	.member-list__item figure img{
		border-radius: 70px;
	}
	.member-list__item-name{
		margin: 20px 0 0;
	}
	.member-list__item i{
		display: block;
		margin: 0 -12px;
		letter-spacing: 0.1em;
	}
	.member-list__item strong{
		margin: 10px 0 0;
		display: block;
		letter-spacing: 0.02em;
	}


}



@media screen and (max-width: 767px) {


	#company #corp-main{
		margin: 80px 0 0;
	}	

	.company-header{
		margin: 0 0 100px;
	}
	.company-header h1{
		margin: auto;
		width: 276px;
	}
	.company-sec-header h2{
		font-size: 50px;
		letter-spacing: 0.04em;
	}
	.company-sec-inner .company-sec-header h2{
		margin: 0 0 0 -5px;
	}
	.company-sec-inner{
		margin: auto;
		padding: 0 30px;
	}

	.company-sec-header h3{
		padding: 20px 0 0;
		font-size: 16px;
		letter-spacing: 0.1em;
	}
	.company-article{
		padding: 30px 0 0;		
	}
	.company-article-header h3{
		font-size: 26px;
		letter-spacing: 0.1em;
		line-height: 1.6;
	}
	.company-article__text{
		margin: 20px 0 0;
	}
	.company-article__text p{
		line-height: 2;
		letter-spacing: 0.04em;
	}
	.company-article__text p br{
		display: none;
	}

/* company-info
===========================================================================*/
	
	.company-info-detail{
		margin: auto;
		padding: 0 10px 0 30px;
	}
	#company-info dl{
		display: flex;
	}
	#company-info dl + dl{
		margin-top: 40px;
	}
	#company-info dt{
		width: 90px;
		letter-spacing: 0.1em;
		line-height: 2;
	}
	#company-info dd{
		width: calc(100% - 90px);
		letter-spacing: 0.02em;
		line-height: 2;
	}
	.company-info-map{
		margin: 60px 0 0;
	}
	.company-info-map iframe{
		height: 182px;
	}
	.company-info-map + .company-info-detail{
		margin-top: 40px;
	}



/* member
===========================================================================*/

	#member .company-sec-header h2{
		text-align: center;
	}
	.member-list{
		margin: 40px auto 0;
		max-width: 226px;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.member-list__item{
		margin: 0 0 30px;
		width: 100px;
		text-align: center;
	}
	.member-list__item figure img{
		border-radius: 70px;
	}
	.member-list__item-name{
		margin: 15px 0 0;
	}
	.member-list__item i{
		display: block;
		margin: 0 -12px;
		letter-spacing: 0.1em;
	}
	.member-list__item strong{
		margin: 8px 0 0;
		display: block;
		letter-spacing: 0.02em;
	}


}


@media screen  and (max-width: 374px){

	.company-info-detail{
		padding: 0 10px;
	}
	#company-info dt{
		font-size: 12px;
	}
	#company-info dd{
		font-size: 12px;
	}

}






/* Team: keep portraits in one row on mobile */
@media screen and (max-width: 879px) {
	.member-list {
		width: calc(100% - 30px);
		max-width: 350px;
		flex-wrap: nowrap;
		gap: 8px;
	}
	.member-list__item {
		width: calc((100% - 16px) / 3);
		max-width: 100px;
		flex: 0 1 100px;
	}
	.member-list__item figure img {
		display: block;
		width: 100%;
		height: auto;
	}
}

/* Keep the company profile balanced before the tablet layout takes over. */
@media screen and (min-width: 768px) and (max-width: 1100px) {
	.company-info-detail {
		width: min(800px, calc(100% - 96px));
		max-width: none;
		padding: 0;
	}
}

@media screen and (min-width: 768px) and (max-width: 879px) {
	.member-list {
		width: min(620px, calc(100% - 96px));
		max-width: 620px;
		margin: 40px auto 0;
		justify-content: center;
		gap: clamp(26px, 4vw, 40px);
	}
	.member-list__item {
		width: 140px;
		max-width: 140px;
		flex: 0 0 140px;
		margin: 0 0 25px;
	}
	body#company .me-footer-breadcrumb {
		margin-top: 100px;
	}
}

/* Center the opening company profile when the page becomes one column. */
@media screen and (max-width: 879px) {
	.company-info-detail {
		width: min(640px, calc(100% - 60px));
		max-width: none;
		margin-inline: auto;
		padding-inline: 0;
	}
}

/* iPad mini portrait: bring the opening profile farther toward the center. */
@media screen and (min-width: 700px) and (max-width: 820px) {
	.company-info-detail {
		width: 440px;
	}
	body#company .me-footer-breadcrumb {
		margin-top: 150px;
	}
}


/* Company page: faster motion from Team onward */
body#company #member .motion-fd.on,
body#company #philosophy .motion-fd.on,
body#company #vision .motion-fd.on,
body#company #mission .motion-fd.on{
  transition-duration: 1000ms;
}
body#company #member .motion-fd-title.on,
body#company #philosophy .motion-fd-title.on,
body#company #vision .motion-fd-title.on,
body#company #mission .motion-fd-title.on{
  animation-duration: 2200ms;
}

@media screen and (max-width: 699px) {
	body#company #company-info dt,
	body#company #company-info dd,
	body#company .company-article__text p {
		font-size: 14px;
	}

	body#company .me-footer-breadcrumb {
		margin-top: 150px;
	}
}

@media screen and (max-width: 374px) {
	body#company #company-info dt,
	body#company #company-info dd {
		font-size: 13px;
	}
}
