@charset "utf-8";

/* philosophy */
.catch{
	position:relative;
	left:calc(50% - var(--vw_50));
	width:var(--vw_100);
	margin-bottom:40px;
}
.img_txt + .catch{margin-top:80px;}
.catch h2, .catch p{margin:0;}
.catch h2, .catch p:first-child{
	display:flex;
	align-items:center;
	justify-content:center;
	position:absolute;
	z-index:1;
	top:0;
	left:0;
	width:100%;
	height:100%;
	padding:0 20px;
	color:#fff;
	font-size:2.8rem;
	font-weight:bold;
	letter-spacing:1.68px;
	line-height:4rem;
	text-align:center;
}
.catch h2 br, .catch p br{display:none;}
.catch img{
	width:100%;
	min-height:180px;
	border-radius:0;
	object-fit:cover;
}
.catch + p{
	margin-bottom:70px;
	font-size:2rem;
	font-weight:500;
	letter-spacing:2px;
	line-height:4.2rem;
	text-align:center;
}

.content_box{
	position:relative;
	max-width:900px;
	margin:auto;
}
.content_box h2, .content_box h3{
	padding-bottom:20px;
	margin:90px 0 40px;
	border-bottom:1px solid #338633;
	font-size:2.4rem;
	letter-spacing:1.44px;
	line-height:3.5rem;
	text-align:center;
}
.content_box h2:first-child{margin-top:75px;}
.content_box h2 + p{
	margin-bottom:40px;
	font-size:2rem;
	font-weight:500;
	letter-spacing:2px;
	line-height:4.2rem;
	text-align:center;
}
.content_box img{
	width:100%;
	border-radius:0;
}
.content_box > p:first-child{
	font-size:2rem;
	font-weight:500;
	letter-spacing:2px;
	line-height:4.2rem;
	text-align:center;
}
.vision{
	display:flex;
	align-items:center;
	gap:20px;
	margin:50px 0 100px;
}
.vision div{
	flex-shrink:0;
	width:480px;
}
.vision p{
	margin:0;
	font-size:2rem;
	font-weight:500;
	letter-spacing:2px;
	line-height:4.2rem;
}
.vision div p{margin-top:4%;}

.philosophy .img_txt{
	align-items:center;
	padding:50px 0;
	margin:0;
	border-bottom:1px solid #DFDFDF;
}
.philosophy p + .img_txt{border-top:1px solid #DFDFDF;}
.philosophy .img_txt h3{
	margin:0 0 20px;
	color:#338633;
}
.philosophy .img_txt ul{margin:0;}

.mission{
	font-size:2rem;
	letter-spacing:2px;
	line-height:4.2rem;
	text-align:center;
}
.mission strong{font-weight:500;}

/* history */
.history_box{
	position:relative;
	padding-top:20px;
	margin-top:80px;
}
.history_box::before{
	content:'';
	position:absolute;
	top:0;
	left:180px;
	width:1px;
	height:100%;
	background:#338633;
}
.history_year{
	float:left;
	position:relative;
	width:180px;
	color:#338633;
	font-size:2rem;
	font-weight:bold;
	letter-spacing:1.2px;
	line-height:2.9rem;
}
.history_year::before, .history_year::after{
	content:'';
	position:absolute;
	z-index:1;
	top:2px;
	bottom:0;
	margin:auto;
	border-radius:50%;
}
.history_year::before{
	right:-9px;
	width:17px;
	height:17px;
	background:#fff;
	border:1px solid #338633;
}
.history_year::after{
	right:-5px;
	width:9px;
	height:9px;
	background:#338633;
}
.history_year_txt{
	position:relative;
	bottom:-2px;
	font-family:var(--font_montserrat);
	font-size:3.2rem;
	letter-spacing:3.2px;
	line-height:4.3rem;
}
.history_item{padding:6px 0 60px 220px;}
.history_item:last-child{padding-bottom:0;}
.history_month{
	float:left;
	margin-top:3px;
	font-weight:bold;
}
.history_content{margin:0 0 35px 65px;}
.history_content:last-child{margin-bottom:0;}
.history_content p{margin-bottom:15px;}
.history_content img{
	max-width:340px;
	width:100%;
}

/* office */
.office th{width:180px;}

/* activity */
.activity .img_txt > p{width:164px;}
.activity .img_txt img{border-radius:0;}
.activity .img_txt h3{margin-top:0;}

/* patent-qualification */
.patent-qualification .scroll_table th, .patent-qualification .scroll_table td{white-space:nowrap;}

/* action-plan */
.action-plan .scroll_table th, .action-plan .scroll_table td{white-space:nowrap;}


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

/* philosophy */
.vision div p{margin:0;}
.catch + p, .content_box > p:first-child{text-align:left;}
.catch + p br, .content_box > p:first-child br{display:none;}

}


@media screen and (min-width:768px) and (max-width:1024px){

/* philosophy */
.catch{margin-bottom:30px;}
.img_txt + .catch{margin-top:60px;}
.catch h2, .catch p:first-child, .content_box h2, .content_box h3{
	font-size:2.4rem;
	letter-spacing:1.44px;
	line-height:3.5rem;
}
.content_box h2, .content_box h3{margin-bottom:30px;}
.content_box h2 + p{
	font-size:1.8rem;
	letter-spacing:1.8px;
	line-height:3.8rem;
}
.content_box > p:first-child{
	font-size:1.8rem;
	letter-spacing:1.8px;
	line-height:3.8rem;
}
.vision{margin:30px 0 90px;}
.vision div{width:440px;}
.vision p{
	font-size:1.8rem;
	letter-spacing:1.8px;
	line-height:3.8rem;
}
.catch + p{
	margin-bottom:50px;
	font-size:1.8rem;
	letter-spacing:1.8px;
	line-height:3.8rem;
}
.philosophy .img_txt{padding:40px 0;}
.mission{
	font-size:1.8rem;
	letter-spacing:1.8px;
	line-height:3.8rem;
}
.content_box ol + p{
	font-size:1.3rem;
	letter-spacing:1.3px;
	line-height:1.9rem;
}


/* history */
.history_box{margin-top:60px;}
.history_box::before{left:140px;}
.history_year{
	width:140px;
	font-size:1.8rem;
	letter-spacing:1.08px;
	line-height:2.6rem;
}
.history_year::before, .history_year::after{top:3px;}
.history_year_txt{
	font-size:2.8rem;
	letter-spacing:2.8px;
	line-height:3.7rem;
}
.history_item{padding:6px 0 50px 190px;}
.history_month{margin-top:1px;}


/* office */
.office th{width:120px;}

}


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

/* philosophy */
.catch{margin-bottom:20px;}
.img_txt + .catch{margin-top:40px;}
.catch h2, .catch p:first-child, .content_box h2, .content_box h3{
	font-size:2rem;
	letter-spacing:1.2px;
	line-height:2.9rem;
}
.content_box h2, .content_box h3{
	padding-bottom:15px;
	margin:80px 0 20px;
}
.content_box h2 + p{
	margin-bottom:30px;
	font-size:1.6rem;
	letter-spacing:1.6px;
	line-height:3.4rem;
}
.content_box > p:first-child{
	font-size:1.6rem;
	letter-spacing:1.6px;
	line-height:3.4rem;
}
.vision{
	display:block;
	margin:0 0 80px;
}
.vision div{
	width:auto;
	margin-bottom:35px;
}
.vision p{
	font-size:1.6rem;
	letter-spacing:1.6px;
	line-height:3.4rem;
}
.vision > p{padding:0 10px;}
.vision img{
	width:400px;
	margin:auto;
}
.catch + p{
	margin-bottom:30px;
	font-size:1.6rem;
	letter-spacing:1.6px;
	line-height:3.4rem;
}
.philosophy .img_txt{padding:35px 0;}
.mission{
	font-size:1.6rem;
	letter-spacing:1.6px;
	line-height:3.4rem;
}
.content_box ol + p{
	font-size:1.2rem;
	letter-spacing:1.2px;
	line-height:1.7rem;
}


/* history */
.history_box{margin-top:35px;}
.history_box::before{left:8px;}
.history_year{
	float:none;
	width:auto;
	padding-left:30px;
	margin-bottom:30px;
	font-size:1.5rem;
	letter-spacing:0.9px;
	line-height:2.1rem;
}
.history_year::before, .history_year::after{
	top:4px;
	right:auto;
}
.history_year::before{left:0;}
.history_year::after{left:4px;}
.history_year_txt{
	font-size:2.4rem;
	letter-spacing:2.4px;
	line-height:3.2rem;
}
.history_item{padding:0 0 40px 30px;}
.history_month{
	float:none;
	margin:0 0 10px;
}
.history_content{margin-left:0;}


/* office */
.office th{width:100%;}


/* patent-qualification */
.patent-qualification table{table-layout:auto;}
.patent-qualification th, .patent-qualification td{display:table-cell;}
.patent-qualification th{width:70%;}
.patent-qualification td{padding-bottom:14px;}

}


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

/* philosophy */
.philosophy .img_txt{padding-bottom:25px;}
.philosophy .img_txt ul{margin-bottom:20px;}
.catch h2 br, .catch p br{display:block;}

/* activity */
.activity .img_txt h3{margin-top:30px;}

}