@charset "utf-8";
header #NavWrap{
	font-size:1.125rem;
}
#footer .foot_links .ttl a{
	font-size:1em;
	font-family:inherit;
}
:root a{
	text-decoration-style:solid;
}
#footer .foot_links .ttl a{
	font-size:1em;
}
:root .style_h3{
	letter-spacing:0.03em;
}

.lang-cs #mouse-stalker.is-active:before{
	content:"\70B9\51FB"
}
.lang-ct #mouse-stalker.is-active:before{
	content:"\9EDE\64CA"
}

body.home div.ttl_set h2{
	color: var(--keycolor);
    font-size: 5.625rem;
    font-weight: 700;
    line-height: 1.0;
    letter-spacing: -0.04em;
}
body div.ttl_set h2:after {
    content: "";
    display: block;
    width: 3rem;
    height: 2px;
    background: var(--keycolor);
    margin-block: 0.125em 0.175em;
}
body.home div.ttl_set h2:after {
    width: 1.565em;
}
body.home #vision .flex .texts h3{
	letter-spacing:0;
	font-weight:600;
}
body.home #company {
    padding-block: 0em 8em;
	position:relative;
}
body.home .article_head{
	position:relative;
}
body.home .article_head:has(.header_image){
	flex-direction: row;
	align-items:center;
	--height: 35em;
	margin-bottom:-2.5em;
	position:static;
}
body.home .article_head .ttl_set{
	position:relative;
	z-index:2;
}
body.home .company-wrap .company-list{
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	flex-wrap:wrap;
	gap:2em;
	padding: 0;
	margin: 0;
}
body.home .company-wrap .company-list .company-item{
	flex:1;
}
body.home .company-list .company-item a{
	display:block;
	font-size:1.375rem;
	text-align:center;
}
body.home .company-list .company-item a .company-image{
	position:relative;
	margin-bottom:1em;
	background: #fafafa;
	width:100%;
	aspect-ratio:1 / 1;
	display:flex;
	justify-content:center;
	align-items:center;
}
body.home .company-list .company-item a .company-image img{
	transition:.5s transform;
}
body.home #product{
	margin-bottom:4em;
}

@media (any-hover: hover) {
	body.home .company-wrap .company-list .company-item a:hover .company-image img{
		transform:scale(1.05);
	}
	body.home .company-wrap .company-list .company-item a{
		font-size:1.125rem;
	}
}

:root .article_body .h_group_title {
	display: flex;
    align-items: flex-end;
    margin-block: 1.5em;
    gap: 0.5em 1em;
    color: var(--dgray);
    letter-spacing: 0.1em;
}
:root .article_body .h_group_title h2{
    color: var(--keycolor);
    font-size: 4rem;
    font-weight: 700;
    font-family: var(--fontB);
    letter-spacing: 0em;
    line-height: 1;
    margin-bottom: 0;
}
body:not(.home) .edit_wrap :is(h2,h3,h4,h5,h6,p,ul,ol){
	letter-spacing:0.03em;
}
@media screen and (max-width:767px) {
	body.home div.ttl_set h2 {
        font-size: 3.14rem;
    }
	body.home :is(#vision,#business) div.ttl_set h2{
	    font-size: 3.5rem;
	}
	body.home #company{
		padding-block:4em;
	}
	body.home .article_head:has(.header_image){
		flex-direction:column;
		align-items:flex-start;
		justify-content:center;
		gap:0;
		--height: 50em;
		margin-bottom: 0em;
	}
	body.home .article_head .header_image{
		margin: 0 0 1em auto;
		margin-right:calc(var(--inner) * -1)
	}
	body.home  .company-wrap .company-list{
		gap:0.5em 4%;
		padding-inline:var(--inner);
	}
	body.home  .company-wrap .company-list .company-item{
		flex-basis:48%;
	}
	body.home  .company-wrap .company-list p{
		font-size:1rem;
		margin:0;
	}
	body.home  .company-wrap .company-list .company-item a .company-image{
		padding: 1em;
		margin-bottom: 0.5em;
	}
	body.home .company-wrap .company-list .company-item a .company-image img{
		max-width:48px;
		max-height:48px;
		height:auto;
		width:auto;
	}
}
/* visual */
:root .article_head .visual .ttl_set h1{
	font-weight: 700;
	font-size: 8.375rem;
	flex-basis:100%;
	letter-spacing:-0.03em;
	margin-bottom: 0;
	font-family: var(--fontB);
}
:root .article_head .visual .ttl_set h1:after {
    content: "";
    display: block;
    width: 3rem;
    height: 2px;
    background: var(--keycolor);
    margin-block: 0.125em 0.175em;
}
:root .article_head .visual .ttl_set h1:after {
    margin-block: 0.25em 0.25em;
    height: 1px;
    width: 1.5em;
    background: #000;
}
body:not(.home) .value-item .value-title .style_h3{
	font-size:1.875rem;
	text-align:center;
}
body:not(.home) .value-text p{
	letter-spacing:0.03em;
}

@media screen and (max-width:1200px) {
	:root .article_head .visual .ttl_set h1{
		font-size:6.5rem;
	}
}
@media screen and (max-width:767px) {
	:root .article_head .visual .ttl_set h1{
		font-size: 4rem;
        line-height: 1.0;
	}
	:root .article_body .h_group_title h2 {
        font-size: 2.5rem;
    }
	body:not(.home) .value-item .value-title .style_h3{
		font-size: 1.47rem;
		text-align:left;
	}

}
/* company */
body:not(.home) .company-wrap .company-list{
	gap:2em;
}
body:not(.home) .company-wrap .company-list .company-item{
	width:auto;
	flex:1;
}
body:not(.home) .company-wrap .company-list p{
	font-size:1.375rem;
	text-align:center;
}
@media screen and (max-width:767px) {
	body:not(.home) .company-wrap .company-list{
		gap:2em 4%;
	}
	body:not(.home) .company-wrap .company-list .company-item{
		flex-basis:48%;
	}
	body:not(.home) .company-wrap .company-list p{
		font-size:1em;
	}
	body:not(.home) .company-wrap .company-list .company-item a .company-image{
		padding:2em;
	}
	body:not(.home) .company-wrap .company-list .company-item a .company-image img{
		max-width:56px;
		max-height:56px;
		height:auto;
		width:auto;
	}
}
body:not(.home) .article-message .style_h3{
	letter-spacing:0;
}

body.lang-en{
    --font: "Inter", sans-serif;
    --fontL: "Inter", sans-serif;
    --fontR: "Inter", sans-serif;
    --fontB: "Plus Jakarta Sans", sans-serif;
}
body.lang-en.home div.ttl_set h2,
body.lang-en .article_head .visual .ttl_set h1{
	font-size: 4rem;
}
body.lang-en .article_body .h_group_title h2{
	font-size: 3.425rem;
}
body.lang-en.home #vision .flex .texts h3{
	font-family:var(--fontB);
	font-weight:600;
	font-size: 2rem;
}
body.lang-en.home #vision .flex .texts p,
body.lang-en.home #business .lead_block .rightarea .texts p,
body.lang-en.home #business .end_block .texts p{
	line-height:1.6;
}
body.lang-en .style_h3{
	font-size:2.0rem;
}
body.lang-en .page-vision .article-col .article-col-right p{
	font-size:1rem;
	line-height:1.6;
}
body.lang-en .value-text p{
	line-height:1.6;
}
body.lang-en .value-item .value-title .style_h3{
	font-size:1.65rem;
}
body.lang-en.post-name-history h2.wp-block-heading{
	font-size:2.5rem;
}
body.lang-en .article_head .message-person p{
	font-size: 1.65rem;
}
body.lang-en .article_head .message-person em{
	font-size:2.25rem;
}
body.lang-en  .article-message .style_h3{
	font-size:2.0rem;
}
body.lang-en .article-message p{
	font-size:1rem;
	line-height:1.6;
}
body.lang-en .edit_wrap p{
	line-height:1.6;
}
@media screen and (min-width:768px) {
	body.lang-en#top main p{
		font-size:1.1375rem;
	}
}

body.lang-cs{
    --font: "Noto Sans SC", sans-serif;
    --fontL: "Noto Sans SC", sans-serif;
    --fontR: "Noto Sans SC", sans-serif;
    --fontB: "Noto Sans SC", sans-serif;
}

body.lang-ct{
    --font:"Chiron Hei HK", sans-serif;
    --fontL:"Chiron Hei HK", sans-serif;
    --fontR:"Chiron Hei HK", sans-serif;
    --fontB:"Chiron Hei HK", sans-serif;
    font-feature-settings:initial;
}