@charset 'utf-8';


/* =========================================================
greeting
========================================================= */
#greeting_president {
}
#greeting_director {
	margin-bottom: 170px;
}
#content .greeting__section .greeting__inner {
	display: flex;
	justify-content: space-between;
	flex-flow: row nowrap;
	align-items: flex-start;
	padding-top: 175px;
	padding-bottom: 0;
}
.greeting__left {
	display: flex;
	justify-content: flex-start;
	flex-flow: column nowrap;
	align-items: flex-start;
	width: auto;
	padding: 20px 0 0;
	margin-top: -20px;
	width: 26.3%;
}
.greeting--title {
}
.greeting__right {
	max-width: 840px;
	width: 73.7%;
	display: flex;
	justify-content: space-between;
	flex-flow: row nowrap;
	align-items: flex-start;
}
.greeting__right--txt {
	max-width: 590px;
	width: calc(100% - 190px);
}
.greeting__right--title {
	letter-spacing: 0.13em;
}
.greeting__right--title + .greeting__right--p {
	margin-top: 45px;
}
.greeting__right--img {
	width: 170px;
}
.greeting__right--img figure {
	display: flex;
	justify-content: flex-start;
	flex-flow: column nowrap;
	align-items: center;
	gap: 14px;
	margin-top: 4px;
}
.greeting__right--img figure img {
}
.greeting__right--img figure figcaption {
	letter-spacing: 0.03em;
}
@media only screen and (max-width:767px) {
	#greeting_president {
	}
	#greeting_director {
		margin-bottom: 115px;
	}
	#content .greeting__section .greeting__inner {
		justify-content: flex-start;
		flex-flow: column nowrap;
		align-items: flex-start;
		gap: 0;
		max-width: 100%;
		padding-top: 115px;
	}
	.greeting--title {
		max-width: 100%;
		width: 100%;
	}
	.greeting__left {
		width: 100%;
		padding: 0;
		margin-top: 0;
	}
	.greeting__right {
		max-width: 100%;
		width: 100%;
		margin-top: 55px;
		justify-content: flex-start;
		flex-flow: column nowrap;
		align-items: flex-start;
	}
	.greeting__right--txt{
		max-width: 100%;
		width: 100%;
	}
	.greeting__right--img {
		margin: 55px auto 0;
		width: 65%;
	}
	.greeting__right--img figure {
		align-items: center;
	}
}


/* =========================================================
philosophy
========================================================= */
#philosophy {
	margin-bottom: 175px;
}
#philosophy .philosophy__inner {
	display: flex;
	justify-content: space-between;
	flex-flow: row nowrap;
	align-items: flex-start;
	padding-top: 0;
	padding-bottom: 0;
}
.philosophy__left {
	display: flex;
	justify-content: flex-start;
	flex-flow: column nowrap;
	align-items: flex-start;
	width: auto;
	padding: 20px 0 0;
	margin-top: -20px;
	width: 26.3%;
}
.philosophy--title {
}
.philosophy__right {
	max-width: 840px;
	width: 73.7%;
}
.philosophy__right--txt {
}
.philosophy__right--p {
}
.philosophy__right--ul {
	display: flex;
	justify-content: flex-start;
	flex-flow: column nowrap;
	align-items: flex-start;
	margin-top: 46px;
	width: 100%;
	gap: 17px;
	counter-reset: philosophy_no 0;
}
.philosophy__right--ul li {
	width: 100%;
	counter-increment: philosophy_no 1;
	position: relative;
	padding-left: 40px;
}
.philosophy__right--ul li:before{
	line-height: 1em;
	position: absolute;
	top: 3px;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 24px;
	height: 24px;
	padding: 2px 2px 4px;
	content: counter(philosophy_no);
	color: var(--main-color--font1);
	border-radius: 50%;
	background-color: var(--main-color--bg6);
}
.philosophy__right__ul--title {
}
.philosophy__right__ul--p {
	margin-top: 9px;
}
@media only screen and (max-width: 767px){
	#philosophy {
		margin-bottom: 115px;
	}
	#philosophy .philosophy__inner {
		justify-content: flex-start;
		flex-flow: column nowrap;
		align-items: flex-start;
		gap: 0;
		max-width: 100%;
	}
	.philosophy--title {
		width: 100%;
	}
	.philosophy__left {
		max-width: 100%;
		width: 100%;
		padding: 0;
		margin-top: 0;
	}
	.philosophy__right {
		max-width: 100%;
		width: 100%;
		margin-top: 55px;
	}
}


/* =========================================================
guidelines
========================================================= */
#guidelines {
	position: relative;
	margin-bottom: 170px;
}
#guidelines .guidelines__inner {
	display: flex;
	justify-content: space-between;
	flex-flow: row nowrap;
	align-items: flex-start;
	padding-top: 0;
	padding-bottom: 0;
}
.guidelines__left {
	display: flex;
	justify-content: flex-start;
	flex-flow: column nowrap;
	align-items: flex-start;
	width: auto;
	padding: 20px 0 0;
	margin-top: -20px;
	width: 26.3%;
}
.guidelines--title {
}
.guidelines__right {
	max-width: 840px;
	width: 73.7%;
	padding-top: calc((387 / (1400 + var(--sc__width))) * 100 * 1vw);
}
.guidelines__right--img figure {
	width: 100%;
	height: 100%;
}
.guidelines__right--img {
	position: absolute;
	top:0;
	right: 0;
	width: calc(840px + (((100vw - (var(--sc__width) * 1px)) - 1140px) / 2));
	height: calc((387 / (1400 + var(--sc__width))) * 100 * 1vw);
}
.guidelines__right--img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media print,screen and (max-width: 1180px) and (min-width: 768px){
	.guidelines__right--img {
		width: calc(((100% - 40px) * 73.7 / 100) + 20px);
	}
}
@media only screen and (max-width: 767px){
	.guidelines__right--img {
		width: 100%;
		height: calc((160 / (360 + var(--sc__width))) * 100 * 1vw);
	}
}
.guidelines__right--txt {
}
.guidelines__right--ul {
	display: flex;
	justify-content: flex-start;
	flex-flow: column nowrap;
	align-items: flex-start;
	margin-top: 54px;
	width: 100%;
	gap: 17px;
	counter-reset: guidelines_no 0;
}
.guidelines__right--ul li {
	width: 100%;
	counter-increment: guidelines_no 1;
	position: relative;
	padding-left: 40px;
}
.guidelines__right--ul li:before{
	line-height: 1em;
	position: absolute;
	top: 3px;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 24px;
	height: 24px;
	padding: 2px 2px 4px;
	content: counter(guidelines_no);
	color: var(--main-color--font1);
	border-radius: 50%;
	background-color: var(--main-color--bg6);
}
.guidelines__right__ul--title {
}
.guidelines__right__ul--p {
	margin-top: 9px;
}
@media only screen and (max-width: 767px){
	#guidelines {
		margin-bottom: 115px;
	}
	#guidelines .guidelines__inner {
		justify-content: flex-start;
		flex-flow: column nowrap;
		align-items: flex-start;
		gap: 0;
		max-width: 100%;
		padding-top: 115px;
	}
	.guidelines--title {
		width: 100%;
	}
	.guidelines__left {
		max-width: 100%;
		width: 100%;
		padding: 0;
		margin-top: 0;
	}
	.guidelines__right {
		max-width: 100%;
		width: 100%;
		padding-top: 0;
	}
	.guidelines__right--img {
		width: 100%;
		max-width: 100%;
		margin-top: 0;
		position: static;
	}
}


/* =========================================================
strengths
========================================================= */
#strengths {
	position: relative;
	overflow: hidden;
	background-color: transparent;
	background-image: url(../../img/corporate_profile/strengths_bg.jpg);
	background-repeat: no-repeat;
	background-position: center top -60px;
	background-size: cover;
}
@media only screen and (max-width: 767px){
	#strengths {
		background-position: center top 0;
	}
}
#container .strengths__inner {
	padding-top: 175px;
	padding-bottom: 181px;
}
.strengths--title {
	flex-flow: column nowrap;
	align-items: center;
	gap: 14px;
}
.strengths--title .sec__title--jp {
	letter-spacing: 0;
}
.strengths--title .sec__title--en {
}
.strengths__concept__box{
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 340px;
	width: 100%;
	height: 100px;
	border: 1px solid var(--sub-color--border5);
	padding: 5px 10px 8px;
	text-align: center;
}
.strengths__concept {
	width: 100%;
	margin-top: 60px;
}
.strengths__concept__grp--1 {
	display: flex;
	justify-content: center;
	flex-flow: column nowrap;
	align-items: center;
	gap: 10px;
	width: 100%;
}
.strengths__concept__grp--1 .strengths__concept__box {
}
.strengths__concept--ul {
	display: flex;
	justify-content: center;
	flex-flow: row nowrap;
	align-items: center;
	gap: 120px;
}
.strengths__concept--ul li {
	display: block;
}
.strengths__concept__grp--2 {
	display: flex;
	justify-content: center;
	flex-flow: row nowrap;
	align-items: center;
	width: 100%;
	gap: 12px;
	margin-top: 11px;
}
.strengths__concept__grp--2 .strengths__concept__box {
}
@media only screen and (max-width: 767px){
	#container .strengths__inner {
		padding-top: 115px;
		padding-bottom: 115px;
	}
	.strengths__concept__box{
		max-width: 300px;
		height: auto;
		padding: 15px 15px 14px;
	}
	.strengths__concept__grp--1{
		width: auto;
	}
	.strengths__concept__grp--1 .strengths__concept__box{
	}
	.strengths__concept__grp--2 {
		align-items: stretch;
	}
	.strengths__concept__grp--2 i {
		margin-top: auto;
		margin-bottom: auto;
	}
	.strengths__concept__grp--1 .strengths__concept__box,
	.strengths__concept__grp--2 .strengths__concept__box {
		width: calc((145 / (375 + var(--sc__width))) * 100 * 1vw);
	}
}


/* =========================================================
overview
========================================================= */
#overview {
	margin-top: 175px;
	margin-bottom: 180px;
}
#overview .overview__inner {
	display: flex;
	justify-content: space-between;
	flex-flow: row nowrap;
	align-items: flex-start;
	padding-top: 0;
	padding-bottom: 0;
}
.overview__left {
	display: flex;
	justify-content: flex-start;
	flex-flow: column nowrap;
	align-items: flex-start;
	width: auto;
	padding: 20px 0 0;
	margin-top: -20px;
	width: 26.3%;
}
.overview--title {
}
.overview__right {
	max-width: 840px;
	width: 73.7%;
}
table.overview__table {
}
@media print, screen and (min-width:768px) {
	table.overview__table th {
		width: 21.2%;
		line-height: 2.1em;
		padding: 21px 10px 22px;
	}
	table.overview__table td {
		width: 78.8%;
		line-height: 2.1em;
		padding: 21px 10px 22px;
	}
}
@media only screen and (max-width: 767px){
	#overview {
		margin-top: 115px;
		margin-bottom: 120px;
	}
	#overview .overview__inner {
		justify-content: flex-start;
		flex-flow: column nowrap;
		align-items: flex-start;
		gap: 0;
		max-width: 100%;
	}
	.overview--title {
		width: 100%;
	}
	.overview__left {
		max-width: 100%;
		width: 100%;
		padding: 0;
		margin-top: 0;
	}
	.overview__right {
		max-width: 100%;
		width: 100%;
		margin-top: 55px;
	}
	table.overview__table th {
		width: 30%;
	}
	table.overview__table td {
		width: 70%;
	}
}


/* =========================================================
history
========================================================= */
#history {
	margin-bottom: 180px;
}
#history .gsap-parallax {
	height: 460px;
}
@media print, screen and (min-width:1401px) {
	#history .gsap-parallax {
		height: calc((460 / (1400 + var(--sc__width))) * 100 * 1vw);
	}
}
@media only screen and (max-width:767px) {
	#history .gsap-parallax {
		height: calc((160 / (360 + var(--sc__width))) * 100 * 1vw);
		background-position: center bottom calc((-50 / (360 + var(--sc__width))) * 100 * 1vw);
	}
	#history .gsap-parallax-img {
		background-position: center bottom !important;
	}
}
#history__sticky{
	width: 100%;
	margin-top: 180px;
}
#history .history__inner {
	display: flex;
	justify-content: space-between;
	flex-flow: row nowrap;
	align-items: flex-start;
	padding-top: 0;
	padding-bottom: 0;
}
.history__left {
	display: flex;
	justify-content: flex-start;
	flex-flow: column nowrap;
	align-items: flex-start;
	width: auto;
	padding: 20px 0 0;
	margin-top: -20px;
	width: 26.3%;
}
.history--title {
}
.history__right {
	max-width: 840px;
	width: 73.7%;
}
table.history__table th {
	width: 21.2%;
}
table.history__table td {
	width: 78.8%;
}
@media only screen and (max-width: 767px){
	#history{
		margin-bottom: 120px;
	}
	#history__sticky{
		margin-top: 115px;
	}
	#history .history__inner {
		justify-content: flex-start;
		flex-flow: column nowrap;
		align-items: flex-start;
		gap: 0;
		max-width: 100%;
	}
	.history--title {
		width: 100%;
	}
	.history__left {
		max-width: 100%;
		width: 100%;
		padding: 0;
		margin-top: 0;
	}
	.history__right {
		max-width: 100%;
		width: 100%;
		margin-top: 55px;
	}
	table.history__table th {
		width: 30%;
	}
	table.history__table td {
		width: 70%;
	}
}


/* =========================================================
access
========================================================= */
#access {
	position: relative;
	margin-bottom: 0;
}
#access .access__inner {
	display: flex;
	justify-content: space-between;
	flex-flow: row nowrap;
	align-items: flex-start;
	padding-top: 0;
	padding-bottom: 0;
}
.access__left {
	display: flex;
	justify-content: flex-start;
	flex-flow: column nowrap;
	align-items: flex-start;
	width: auto;
	padding: 20px 0 0;
	margin-top: -20px;
	width: 26.3%;
}
.access--title {
}
.access__right {
	max-width: 840px;
	width: 73.7%;
}
.access--map {
	width: 100%;
}
.access--map iframe {
	width: 100% !important;
}
@media only screen and (max-width: 767px){
	#access {
		margin-bottom: 0;
	}
	#access .access__inner {
		justify-content: flex-start;
		flex-flow: column nowrap;
		align-items: flex-start;
		gap: 0;
		max-width: 100%;
	}
	.access--title {
		width: 100%;
	}
	.access__left {
		max-width: 100%;
		width: 100%;
		padding: 0;
		margin-top: 0;
	}
	.access__right {
		max-width: 100%;
		width: 100%;
		margin-top: 55px;
	}
}
