@charset "utf-8";

body .entry-title--post-type--page,
body h2:where(:not(.wp-block-post-title)),
body .site-footer-title, .sub-section-title,
body h3:where(:not(.wp-block-post-title)),
body h4:where(:not(.wp-block-post-title)){
	padding:0;
	border:none;
	color:var(--keycolor);
	margin:0;
	background:no-repeat;
}
body .site-footer-title:after, .sub-section-title:after,
body h3:where(:not(.wp-block-post-title)):after{
	display:none;
}
body:not(.home) p{
	font-family:var(--fontL);
}
.txt-small{
	display:block;
	font-size:0.875rem;
}

/* home
-------------------------------------------------------------------*/
body.home .kv_wrap{
	overflow:visible;
	padding-top: 10rem;
	position: relative;
}
body.home .kv_wrap .sitewrap{
	position:relative;
	z-index:1;
}
body.home .kv_wrap .copy_style{
	display:flex;
	justify-content:space-between;
	align-items:center;
	position:relative;
	z-index:5;
	flex-direction:column;
	font-size:47.1px;
	color:var(--keycolor);
}
body.home .kv_wrap .copy_style p{
	font-weight:600;
}
body.home .kv_wrap .copy_style h1{
	display:flex;
	flex-direction:column;
	gap: 1.5em;
	margin-block:-0.95em 5em;
}
body.home .kv_wrap .copy_style h1 [lang="en"]{
	font-size: 250px;
	line-height: 1;
	font-weight:700;
	letter-spacing:-0.04em;
	font-family:var(--fontB);
}
body.home .kv_wrap .copy_style h1 [lang="en"] span{
	display:inline-block;
	min-width:0.15em;
}

body.home .kv_wrap .scroll_down {
	position:absolute;
	right: 2rem;
	bottom: 3.75rem;
	z-index:2;
	font-size: 1em;
	letter-spacing: 0.3em;
}
body.home .kv_wrap .scroll_down a{
	display:flex;
	writing-mode: vertical-rl;
	gap:1em;
	align-items:center;
	text-decoration:none;
}
body.home .kv_wrap .scroll_down a:after{
	content:"";
	display:block;
	width:1px;
	height: 30em;
	background:#000;
}
body.home .kv_wrap .img_wrap{
	margin-left: 0;
	overflow:hidden;
	margin-top: -25em;
	position:relative;
	z-index:1;
	text-align:left;
}
body.home .kv_wrap p.caption{
	margin:3em 0 0 2em;
	display:flex;
	gap:1em;
	font-size:0.875rem;
	position: relative;
	z-index: 2;
}
body.home{
	transition:background .4s;
	background:url(../img/bg_common.png) no-repeat top center / 100% auto	#c7d2bf;
}
body .ttl_set{
	display:flex;
	flex-direction:column;
	margin-bottom: 3em;
	gap: 0.125em;
	letter-spacing: 0.1em;
}
body .ttl_set h2{
	color: #fff;
}
body .ttl_set :is(h1,h2,h3,h4,h5,h6){
	font-weight: 500;
	color: var(--fontcolor);
}
body .ttl_set [lang="en"],
body .ttl_set .page-header-subtext{
	color:var(--keycolor);
	font-size: 5.625rem;
	font-weight: 700;
	line-height:1.0;
	letter-spacing: -0.04em;
}
body .ttl_set [lang="en"]:after,
body .ttl_set .page-header-subtext:after{
	content:"";
	display:block;
	width: 3rem;
	height:2px;
	background:var(--keycolor);
	margin-block: 0.125em 0.175em;
}

body.home #vision{
	padding-block: 9.75em 6.25em;
	position:relative;
	z-index:2;
}
body :is(#vision,#business) .ttl_set{
	font-size:1.5em;
}
body :is(#vision,#business) .ttl_set [lang="en"]{
	font-size: 7.5rem;
}
body :is(#vision,#business) .ttl_set [lang="en"]:after{
	width: 1.565em;
}
body.home #vision .flex{
	overflow:visible;
	--gap:4%;
	gap:var(--gap);
}
body.home #vision .flex > *{
	flex-basis:calc((100% / 2) - var(--gap));
	position:relative;
}
body.home #vision .flex .img_wrap{
	display:flex;
	align-items:center;
}
body.home #vision .flex .img_wrap img{
	margin-inline:auto 0;
	max-width:fit-content;
	position:absolute;
	right:0;
	top:50%;
	transform:translateY(-50%)
}
body.home #vision #galaxyCanvas{
	display:block;
	width:2100px;
	aspect-ratio:1573 / 1053;
	position:absolute;
	z-index:-1;
	top: 0;
	left: 0;
	transform: rotate(-15deg);
}
body.home #vision .innerwrap{
	max-width: 1000px;
	margin-inline:auto;
	display:flex;
	justify-content:space-between;
}
body.home #vision hr{
	margin-block: 9.125em 0;
}
body.home #vision .flex .texts{
	padding-left:1em;
	font-size: 1.25rem;
}
body.home #vision .flex .texts h3{
	font-size: 2.5rem;
	letter-spacing: 0.1em;
	text-align: left;
}
body.home #vision .flex .texts p{
	line-height: 2.15;
	font-size:1em;
	letter-spacing: 0.03em;
}
body.home #vision .flex .texts p:nth-child(n+2){
	margin-top: 1.5em;
}
body.home hr{
	display:block;
	border:none;
	border-bottom:solid 1px var(--lgray);
	margin-block: 5em;
}
@media (max-width:1680px) {
	body.home .kv_wrap .copy_style{
		font-size: 2.5rem;
	}
	body.home .kv_wrap .copy_style h1{
		margin-left: 0;
		margin-block: -0.95em 6em;
	}
	body.home .kv_wrap .copy_style h1 [lang="en"]{
		white-space: nowrap;
		font-size: min(15.5vw,200px);
		line-height: 1.2;
	}
	body :is(#vision,#business) .ttl_set [lang="en"]{
		font-size:7.25rem;
	}
	body.home #vision .flex .texts h3{
		font-size:2rem;
	}
	body.home #vision .flex .texts{
		font-size:1.25rem;
	}
	body.home #vision .flex .img_wrap {
		overflow:hidden;
	}
	body.home #vision .flex .img_wrap img{
		top:0;
		transform:translateX(-50%);
		right:auto;
		left:50%;
	}
}
@media (max-width:1410px) {
	body.home .kv_wrap .copy_style{
		font-size: 1.65rem;
	}
	body.home .kv_wrap .copy_style h1{
		margin-block: -1.5em 10.25em;
	}
	body.home .kv_wrap .copy_style h1 [lang="en"]{
		font-size: min(12.0vw,175px);
	}
	body :is(#vision,#business) .ttl_set [lang="en"]{
		font-size:6.5rem;
	}
	body.home .kv_wrap{
		padding-top: 6.75rem;
	}
	body.home #vision .ttl_set{
		margin-inline:0;
		margin-bottom: 2em;
	}
	body.home #vision .flex .texts p{
		line-height:1.95;
		font-size:1.11rem;
	}
	body.home #vision .flex .texts p:nth-child(n+2){
		margin-top:1em;
	}
}
body.home #business{
	margin-inline:auto;
	width:auto;
	padding-block: 6em 8em;
	position:relative;
	z-index:2;
	overflow: visible;
}
body.home #business:after,
body.home #product:after{
	min-width:calc(var(--container) + (var(--inner) * 2));
	content:"";
	display:block;
	top:0;
	bottom:0;
	left:50%;
	transform:translateX(-50%);
	margin:auto;
	background: rgba(85,100,90,0.35);
	position:absolute;
	z-index: -2;
	border-radius:0.25rem
}
body.home #business .lead_block{
	display:flex;
	justify-content:space-between;
	position:relative;
	z-index:10;
}
body.home #business .lead_block .rightarea{
	color:#fff;
	max-width: 360px;
	text-align:right;
	margin-top: 3em;
}
body.home #business .lead_block .copy_style img{
	display:inline-block;
	margin-block: 2em 3.75em;
}
body.home #business .lead_block .rightarea .texts p{
	letter-spacing: 0.1em;
	line-height: 2.15;
}
body.home #business .figure_block{
	color:#fff;
	position:relative;
	z-index: 0;
	--width:490px;
	max-width: 1028px;
	margin-inline:auto;
	margin-block: -8.5em -10em;
	aspect-ratio:1 / 1;
	display: flex;
	align-items: center;
}
body.home #business .figure_block .circle01{
	position:absolute;
	left:0em;
	top: 50%;
	transform:translateY(-50%);
	--width:36.875rem;
	z-index: 1;
}
body.home #business .figure_block .circle02{
	position:absolute;
	right:0;
	top:50%;
	transform:translateY(-50%);
	--width: 36.875rem;
	z-index: 2;
}
body.home #business .figure_block .circle03{
	--width: 45.375rem;
	margin-inline:auto;
	width:var(--width);
	height:var(--width);
	position: relative;
	z-index: 3;
}
body.home #business .figure_block div[class^="circle"]{
/*		animation: orbit 10s linear infinite;*/
}
body.home #business .figure_block .orbit{
	width:var(--width);
	height:var(--width);
	border:solid 1px rgba(255,255,255,0.5);
	border-radius:50%;
	position:relative;
	z-index:5;
	animation: orbit 20s linear infinite;
	pointer-events:none;
}
body.home #business .figure_block .circle02 .orbit{
	animation-delay:-7.5s
}
body.home #business .figure_block :is(.circle01,.circle02) .orbit:before,
body.home #business .figure_block :is(.circle01,.circle02) .orbit:after{
	content:"";
	display:block;
	border:dashed 1px rgba(255,255,255,0);
	border-radius:50%;
	position:absolute;
	z-index:-2;
	inset:0.75em;
}
body.home #business .figure_block :is(.circle01,.circle02) .orbit:after{
	inset:1.5em;
}
body.home #business .figure_block .circle03 .orbit{
	border:solid 1px #fff;
	animation: orbit 50s linear infinite;
	border:none;
}
body.home #business .figure_block .circle04 .orbit{
	animation-delay:-12.5s
}
body.home #business .figure_block .circle05 .orbit{
	animation-delay:-25.0s
}
body.home #business .figure_block .satellite {
	--width:80px;
	width:var(--width);
	height:var(--width);
	border:solid 1px #fff;
	border-radius:50%;
	z-index:5;
	font-size:var(--f12);
	display:flex;
	align-items:center;
	justify-content:center;
	position:absolute;
	top: calc(12.5% - (var(--width) / 2));
	left:calc(12.5%);
	background: rgba(147,169,148,0.75);
	animation: orbit 40s linear infinite;
}
@keyframes orbit {
		from {
				transform: rotate(0deg) ;
		}
		to {
				transform: rotate(360deg) ;
		}
}
body.home #business .figure_block svg{
	fill:#fff;
	overflow: visible;
}
body.home #business .figure_block :is(.circle04,.circle05,.circle06) {
	position:absolute;
	--width: 18rem;
	width:var(--width);
	height:var(--width);
	border-radius:50%;
	margin:auto;
	z-index:5;
	top: 44%;
}
body.home #business .figure_block :is(.circle04,.circle06) .orbit{
	border:none;
	overflow: visible;
	--width: 18rem;
}
body.home #business .figure_block :is(.circle04,.circle05,.circle06):after{
	content:"";
	display:block;
	inset:1em;
	position:absolute;
	z-index:-1;
	overflow:hidden;
	border-radius:50%;
	background: rgba(147, 169, 148, 0.5);
	mix-blend-mode:multiply;
}
body.home #business .figure_block .circle04{
	top: 15%;
	right: 3%;
}
body.home #business .figure_block .circle05{
	top: auto;
	left:0;
	right:0;
	bottom: 0%;
}
body.home #business .figure_block .circle05 .orbit{
	border:none;
	overflow: visible;	
}
body.home #business .figure_block .circle06{
	left: 5%;
	top: 15%;
}
body.home #business .figure_block .ttl{
	position:absolute;
	inset:0;
	margin:auto;
	display:flex;
	align-items:center;
	justify-content:center;
	flex-direction:column;
	gap: 1em;
	z-index: 15;
}
body.home #business .figure_block .ttl img{
	display:block;
	margin:auto;
}
body.home #business .figure_block .ttl .icon{
	font-size:2.125rem;
	font-weight:500;
}
body.home #business .figure_block .center_circle {
	aspect-ratio:1 / 1;
	height: 16.47rem;
	border-radius: 50%;
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	background:rgba(255,255,255,0.25);
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:2.25rem;
	z-index: 5;
	border:dotted 1px;
}
body.home #business .figure_block .bg_circle {
	aspect-ratio:1 / 1;
	height: 620px;
	border-radius: 50%;
	--blur:40px;
	background: linear-gradient(48deg, #ff7fac 0%, #ff7fac 50%, #ff5043 66%, #ff4638 80%, #ff4638 100%);
	filter: blur(var(--blur));
	animation: hue-animation 5s infinite alternate,blur-animation 10s infinite alternate;
	animation: fluid-animation 60s ease 0s infinite normal,rotate-animation 180s infinite alternate;
	position:absolute;
	z-index:-1;
	inset:0;
	margin:auto;
	transform:rotate(0);
}
@keyframes rotate-animation {
    0%,100% {
		transform:rotate(0);
    }
	50% {
		transform:rotate(360deg);
    }
}
@keyframes fluid-animation {
    0% {
        border-radius: 57% 41% 36% 74% / 62% 53% 47% 33%;
		filter: blur(var(--blur));
    }
    25% {
        border-radius: 64% 55% 45% 52% / 70% 57% 61% 60%;
		filter: blur(calc(var(--blur) * 0.8));
    }
	50% {
        border-radius: 36% 60% 52% 48% / 52% 36% 62% 48%;
		filter: blur(var(--blur));
    }
	75% {
        border-radius: 29% 70% 33% 45% / 68% 57% 61% 66%;
		filter: blur(calc(var(--blur) * 1.2));
    }
	100% {
        border-radius: 57% 41% 36% 74% / 62% 53% 47% 33%;
		filter: blur(var(--blur));
    }
}
/* ぼかしアニメーション (変更なし) */
@keyframes blur-animation {
	0% {
		filter: blur(var(--blur)) hue-rotate(0deg); /* hue-rotateも初期値で指定 */
	}
	25% {
		filter: blur(calc(var(--blur) * 0.75)) hue-rotate(-15deg); /* ぼかしと色相の中間地点での変化 */
	}
	50% {
		filter: blur(var(--blur)) hue-rotate(0deg); /* ぼかしと色相の中間地点での変化 */
	}
	75% {
		filter: blur(calc(var(--blur) * 0.75)) hue-rotate(15deg); /* ぼかしと色相の中間地点での変化 */
	}
	100% {
		filter: blur(var(--blur)) hue-rotate(0deg); /* ぼかしと色相の最終地点での変化 */
	}
}

body.home #business .end_block{
	display:flex;
	justify-content:space-between;
	align-items:flex-end;
	margin-top: 7.5em;
}
body.home #business .end_block .texts{
	max-width: 680px;
}
body.home #business .end_block .texts p{
	font-size:1.125rem;
	letter-spacing:0.1em;
	line-height:2;
}
body.home #business .end_block .btn_area{
	width:340px;
}
@media (max-width:1680px) {
	body.home #business .figure_block{
		max-width:65em;
	}
}
@media (max-width:1410px) {
	body.home #business .figure_block :is(.circle04,.circle05,.circle06):after{
		inset:1.05em;
	}
}
@media (max-width:1220px) {
	body.home #business{
		border-radius:0rem;
		margin-inline:0;
	}

	body.home #business .figure_block .circle01{
		left:5%;
	}
	body.home #business .figure_block .circle02{
		right:5%;
	}
}
@media (max-width:1024px) {
	body.home #business .figure_block{
		margin-block: -5em -12.5em;
	}

}

body.home #news{
	padding-block: 1.25em 1.75em;
}
body.home #news hr{
	margin-block:5em;
}
body.home #news .ttl_set{
	margin-bottom:1.75em;
}
body.home #news .style_news .controller,
body.home #news .style_news .article{
	--container:800px;
}
body.home #news .style_news .controller  {
	max-width:var(--container);
}
body.home #news .btn_area{
	max-width:var(--container);
	margin-inline:auto;
}
body.home #news .btn_area .btn{
	margin-inline:auto 0;
}


body.home #news .links{
	margin-top: 12em;
	display:flex;
	gap: 0.5em;
}
body.home #news .links a{
	background:#fff;
	display: block;
		text-decoration-thickness:1px;
}
body.home #news .links a picture{
	display:block;
	overflow:hidden;
}
body.home #news .links a picture img{
	transition:transform .4s;
}
body.home #news .links .in_btn{
	display:flex;
	font-size:1.25rem;
	padding: 1em 1.5em;
	margin: 0;
	justify-content:space-between;
	align-items:center;
	font-weight:600;
	letter-spacing: -0.03em;
}
body.home #news .links .arrow{
	display:flex;
	align-items:center;
	justify-content:center;
	height: 1.875rem;
	aspect-ratio:1 / 1;
	background:var(--keycolor);
	border-radius:50%;
	border:solid 1px var(--keycolor);
	transition:background .4s;
}
body.home #news .links .arrow:after{
	content:"";
	display:block;
	width:0.25em;
	height:0.25em;
	border-top:solid 2px #fff;
	border-right:solid 2px #fff;
	transform:rotate(45deg);
	margin-right:2px;	
	transition:border-color .4s;
}
@media (any-hover: hover) {
	body.home #news .links a:hover{
		background:#eaeaea;
	}
	body.home #news .links a:hover picture img{
		transform:scale(1.05);
	}
	body.home #news .links a:hover .arrow{
		background:#fff;
	}
	body.home #news .links a:hover .arrow:after{
		border-color:var(--keycolor)
	}
}

body.home #product{
	border-radius:0.75rem;
	margin-inline:auto;
	width:auto;
	padding-block: 6em 6em;
	position:relative;
	z-index:2;
	overflow:visible;
}

body.home #product .sitewrap{
	position:relative;
	z-index:2;
}
body.home #product .btn_area{
	position:absolute;
	right:0;
	top:0;
	width:340px;
}
body.home #product .ttl_set{
	margin-bottom:6.25em;
}
body.home #ir .sitewrap{
	display:flex;
	justify-content: flex-start;
	align-items: flex-end;
	margin-bottom: 6.25em;
}
body.home #ir .sitewrap hgroup{
	--width:380px;
	width:var(--width);
	margin-bottom: 0;
}
body.home #ir .sitewrap .btn_area{
	--width:700px;
	width:var(--width);
}
body.home #ir .sitewrap .btn_area a{
	margin:0;
}

body.home #recruit {
	padding-block: 0.5em 8.3125em;
}
body.home #recruit .ttl_set h2{
	color:#fff;
}
@media (max-width:1580px) {
	body.home #product .btn_area{
		right:var(--inner)
	}
	body.home #news .btn_area{
		padding-inline:var(--inner);
	}
}
@media (max-width:1220px) {
	body.home #product{
		border-radius:0rem;
		margin-inline:0;
	}
}
@media screen and (max-width:1024px) {
	body.home .kv_wrap{
		padding-top:8em;
	}
	body.home .kv_wrap .copy_style{
		font-size:1.5rem;
	}
	body.home .kv_wrap .copy_style h1{
		margin-bottom:2.5em;
	}
	body.home .kv_wrap .copy_style h1 [lang="en"]{
		font-size: min(12.5vw,8em)
	}
	body.home .kv_wrap .copy_style p{
	}

	body.home #vision .innerwrap,
	body.home #business .lead_block,
	body.home #business .end_block{
		flex-direction:column;
		align-items:stretch;
	}
	body.home #vision .flex{
		flex-direction:column-reverse;
		gap:2em;
	}
	body.home .kv_wrap .img_wrap{
		margin-top:-7em; 
	}
	body.home #vision .flex .img_wrap{
		margin-bottom:2em;
		padding-inline:var(--inner);
	}
	body.home #vision .flex .img_wrap img{
		max-width:100%;
		position:static;
		transform:none;
		margin:0 auto;
	}
	body.home #vision .innerwrap .texts{
		margin-inline:auto;
	}
	body.home #business .lead_block .rightarea{
		margin-inline:auto 0;
		margin-top: 0;
	}
	body.home #business .figure_block :is(.circle05){
		/* bottom:-22.5%; */
	}
	body.home #business .end_block .texts{
		max-width:100%;
	}
	body.home #business .end_block .btn_area{
		margin-inline:auto;
	}
	body.home #ir .sitewrap{
		flex-direction:column;
		align-items:flex-start
	}
	body.home #ir .sitewrap .btn_area{
		margin-inline:auto;
	}
}

@media screen and (max-width:767px) {
	.copy_style {
			font-size: 1.0rem;
	}
	body.home main{
		background-size:auto 100%;
	}
	body.home .kv_wrap .copy_style{
		font-size:1.175rem;
	}
	body.home .kv_wrap .copy_style h1{
		gap:1em;
        margin-block: 0em 1em;
	}
	body.home .kv_wrap .copy_style h1 [lang="en"]{
		font-size:min(20vw,4.75em)
	}
	body.home .kv_wrap .copy_style span img{
		max-width:156px;
	}
	body.home .kv_wrap .img_wrap{
		margin: -2.5em calc(var(--inner) * -0.0) 0;
		aspect-ratio:125 / 92;
	}
	body.home .kv_wrap p.caption{
		margin:1em var(--inner) 4em;
	}
	body.home #vision{
		padding-block: 2.5em 14em;
	}
	body.home #vision .ttl_set{
		margin-inline:0;
	}
	body :is(#vision,#business) .ttl_set [lang="en"]{
		font-size:3.5rem;
	}
	body.home .kv_wrap .img_wrap img{
		max-width: 100%;
		object-fit:cover;
		height:100%;
		width: 100%;
	}
	body.home .kv_wrap .scroll_down{
		display:none;
	}
	body.home .ttl_set{
		margin-bottom: 2.25em;
	}
	body.home .ttl_set [lang="en"]{
		font-size: 3.14rem;
	}	
	body.home .ttl_set [lang="en"]:after{
		margin-block:0.25em 0.225em;
		height:1px;
	}
	body.home .ttl_set [lang="ja"]{
		font-size:0.857rem;
	}
	body.home #vision .flex .texts h3{
		font-size:1.75rem;
	}
	body.home #vision .flex .texts{
		font-size:1rem;
		padding-inline:var(--inner);
		filter:none;
	}
	body.home :is(#news,#product,#ir) .ttl_set{
		flex-direction:row;
		align-items:flex-end;
		gap:1em;
	}
	body.home :is(#news,#product,#ir) .ttl_set [lang="en"]:after{
		display:none;
	}
	body.home :is(#news,#product,#ir) .ttl_set [lang="ja"]{
		margin-bottom:1em;
	}
	body.home hr{
		margin-inline:var(--inner);
	}
	body.home #vision .innerwrap .texts{
		max-width:20em;
		font-size:1rem;
	}
	body.home #vision .texts p{
		font-size:1em;
	}
	body.home #vision:after{
		width:897px;
		background-size:cover;
		right:auto;
		left:-55%;
		top:60%;
	}
	body.home #vision hr{
		margin-block: 8em 0;
	}
	body.home #business{
		padding-block: 3.75em 4.25em;
		padding-inline:var(--inner);
		background:none;
		position:relative;
		z-index:2;
		margin-top:-10em;
	}
	body.home #business:after,
	body.home #product:after{
		transform:none;
		inset:0;
		margin-inline:var(--inner);
		min-width:0;
	}
	body.home #business .lead_block .rightarea{
		margin-top:0;
		max-width:237px;
		margin-right:0.5em;
	}
	body.home #business .lead_block .copy_style img{
		width:61px;
		margin-block:1em 2em;
	}
	body.home #business .lead_block .rightarea .texts p{
		font-size:0.928rem;
		font-weight:300;
	}
	body.home #business .figure_block{
		margin-block: 5em 10em;
		aspect-ratio: auto;
	}
	body.home #business .figure_block .circle01{
		--width:min(500px,110vw);
		left:auto;
		right:30%;
		top:60%;
	}
	body.home #business .figure_block .circle02{
		--width:min(500px,110vw);
		right:auto;
		left:30%;
		top:60%;
	}
	body.home #business .figure_block .circle03{
		width:100%;
		max-width: 300px;
		height: auto;
		aspect-ratio:1 / 1;
	}
	body.home #business .figure_block :is(.circle01,.circle02) .orbit:before{
		inset:0.5em;
	}
	body.home #business .figure_block :is(.circle01,.circle02) .orbit:after{
		inset:1em;
	}
	body.home #business .figure_block .satellite{
		--width: 50px;
		font-size: 0.5em;
	}
	body.home #business .figure_block :is(.circle04,.circle05,.circle06){
		--width: calc(150px + 1.25em);
	}
	body.home #business .figure_block :is(.circle04,.circle05,.circle06) .orbit{
		--width: calc(150px + 1.25em);
	}
	body.home #business .figure_block :is(.circle01,.circle02) .orbit:before{
		inset:0.35em;
	}
	body.home #business .figure_block :is(.circle01,.circle02) .orbit:after{
		inset:0.8em;
	}
	body.home #business .figure_block .circle04{
		right:-15%;
		top:-4%;
	}
	body.home #business .figure_block .circle05{
		top:auto;
		bottom:-20%;
	}
	body.home #business .figure_block .circle06{
		left:-15%;
		top:-4%;
	}
	body.home #business .figure_block .ttl {
		font-size:0.785rem;
		gap:0.5em;
		font-weight:300;
	}
	body.home #business .figure_block .ttl .icon{
		font-size:1.357rem;
	}
	body.home #business .figure_block .ttl img{
		width:26px;
	}
	body.home #business .figure_block :is(.circle04,.circle05,.circle06):after{
		inset:0.625em;
	}
	body.home #business .figure_block .center_circle{
		height: 5.25em;
	}
	body.home #business .figure_block .center_circle .line{
		--width:1em;
		margin:-0.2em;
		border-width:1px;
	}
	body.home #business .figure_block .center_circle .line01{
		transform:rotate(30deg);
		top:40%;
	}
	body.home #business .figure_block .center_circle .line02{
		transform:rotate(-30deg);
		top:40%;
	}
	body.home #business .figure_block .center_circle .line03{
		--width:0.75em;
	}
	body.home #business .figure_block .bg_circle{
		height:75vw;
		--blur:43px;
		left:-5em;
		top:7em;
	}
	body.home #business .end_block .texts{
		 max-width: 270px;
	}
	body.home #business .end_block .texts p{
		font-size:1em;
		line-height: 2.1;
	}
	body.home #business .end_block .btn_area{
		width:auto;
		margin-inline:auto 0;
	}
	body.home #news{
		padding-block: 4em 5em;
	}
	body.home #news hr{
		margin-block:0;
	}
	body.home #news .ttl_set{
		margin-top:2em;
	}
	body.home #product{
		border-radius:0.5rem;
		padding-inline: var(--inner);
		width:auto;
		padding-block: 4em 4em;
	}
	body.home #product .sitewrap{
		position:relative;
		z-index:2;
	}
	body.home #product .btn_area{
		position:static;
		width:auto;
	}
	body.home #product .ttl_set{
		margin-bottom:2em;
	}
	body.home #product .btn_area .btn{
		margin:4em 0 0 auto;
	}
	body.home #ir hr{
		margin-block:4em 2.5em;
	}
	body.home #ir .sitewrap{
		flex-direction:column;
		align-items:flex-start;
		margin-bottom: 3.25em;
	}
	body.home #ir .sitewrap .ttl_set,
	body.home #ir .sitewrap .btn_area{
		--width:100%;
		margin:0;
	}
	body.home #ir .sitewrap .btn_area{
		padding-inline:calc(var(--inner) * 3)
	}
	body.home #ir .sitewrap .btn_area .btn{
		margin-top:1em;
	}
	body.home #ir .sitewrap .btn_area img{
		width:44px;
	}
	body.home #recruit{
		padding-block: 0 0.5em;
	}
	body.home #recruit a.btn{
		margin:3.0em var(--inner);
	}
	body.home #recruit .ttl_set{
		margin-bottom:1em;
	}
	body.home #recruit .ttl_set [lang="en"]{
		font-size:2.857rem;
	}
	body.home #recruit .ttl_set [lang="ja"]{
		font-size:0.714rem;
	}
}
.grad-board{
	width :100dvw;
	height:100dvh;	
	display: block;
	position: relative;
	background-color:#d8e3d5;
	padding:0;
	margin:0;
	overflow:hidden;
	position:fixed;
	z-index:-1;
	inset:0;
	@media screen and (orientation:portrait) { --dot-size : 100dvh;}
	@media screen and (orientation:landscape) { --dot-size : 100dvw;}
	.marble-ball{
		position: absolute;
		z-index: 1;
		width: var( --dot-size);
		height: var(--dot-size);
		border-radius: calc(var(--dot-size) / 4);
		transform-origin: center;
		background:#e3eded;;
	}

	#marble-ball-1{
		left: calc(50dvw - var(--dot-size)/2);
		top:	calc(50dvh - var(--dot-size)/2);
	}
	#marble-ball-2{
		left: calc(25dvw - var(--dot-size)/2);
		top:	calc(25dvh - var(--dot-size)/2);
	}
	#marble-ball-3{
		left: calc(25dvw - var(--dot-size)/2);
		top:	calc(75dvh - var(--dot-size)/2);
	}
	#marble-ball-4{
		left: calc(75dvw - var(--dot-size)/2);
		top:	calc(25dvh - var(--dot-size)/2);
	}
	#marble-ball-5{
		left: calc(75dvw - var(--dot-size)/2);
		top:	calc(75dvh - var(--dot-size)/2);
	}
}

.ripple {
	position: relative;
	width: 1760px;
	height: 1034px;
}
.ripple__animation {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	background-image: url(../img/home/kv_entrance.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.ripple__background {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	background-image: url(../img/home/kv_entrance.jpg);
}
@media screen and (max-width:1759px) {
	.ripple {
		overflow:hidden;
		width:calc(100% - 5em);
		height:auto;
		aspect-ratio:1760 / 1034;
	}
	.ripple__animation {
		left:50%;
		transform:translateX(-50%);
	}
}
@media screen and (max-width:1410px) {
	.ripple {
		width:calc(90%);
	}
}
@media screen and (max-width:767px) {
	.ripple {
		width:auto;
		height:auto;
	}
	.ripple__animation,
	.ripple__background {
		background-image: url(../img/home/kv_entrance@sp.jpg);
	}
	.ripple__animation{
		transform:none;
		left:0;
	}
}

/* article */

:root .topicpath{
}
:root .topicpath ol{
	display:flex;
	gap:1.5em;
	margin:0;
	padding:0;
	list-style:none;
	font-size:0.75rem;
	overflow-x:auto;
	scrollbar-width:thin;
	letter-spacing:0.1em;
}
:root .topicpath ol li{
	display:flex;
	gap:1.5em;
	white-space:nowrap;
	margin-block: 0;
}
:root .topicpath ol li:not(:first-child):before{
	content:"|";
	display:block;
}
:root .topicpath ol li a{
	color:inherit;
	text-decoration-color:inherit;
	text-decoration-thickness:1px;
}
@media (any-hover: hover) {
	:root .topicpath ol li a:hover{
		text-decoration-color:transparent;
	}
}
body:not(.home) {
	position:relative;
	z-index:2;
	background: #BACDB6;	
}
@media screen and (max-width:1580px) and (min-width:1201px) {
	body:not(.home) {
		--inner:12.5%;
	}
}
@media screen and (max-width:1200px) and (min-width:768px){
	body:not(.home) {
		--inner:5%;
	}
}
body:not(.home) header #site_ttl a img{
	max-width:153px;
}
body:not(.home) main{
	padding-top:var(--header);
}
body.post-type-post .article_body{
	padding-bottom: 0;
}
body.post-type-post .article_body section{
	padding-block:2.5em 8em;
	width:100%;
}
body.post-type-post .article_body section{
	
}


body:not(.home) .article_body section .sitewrap > *:first-child{
	margin-top:0;
}
body:not(.home) .article_body .sitewrap:has( > .innerwrap){
	overflow:hidden;
	padding-block:6.5625em;
	background: #e1e8dd;
}
body:not(.home) .article_body .sitewrap:has( > .innerwrap) + .sitewrap{
	margin-top:5em;
}
body:not(.home) .article_body .sitewrap .innerwrap {
	max-width: 1200px;
	margin-inline:auto;
}
body:not(.home) .article_body .sitewrap .innerwrap > *:first-child{
	margin-top:0;
}
body:not(.home) .article_body .sitewrap .innerwrap > *:last-child{
	margin-bottom:0;
	font-family: var(--fontL);
}
body:not(.home) .article_body .sitewrap .innerwrap > hgroup:first-child{
	margin-block:-2.5em 2.5em;
}
body:not(.home) .article_body hr{
	border:none;
	border-bottom:solid 1px var(--lgray);
	margin-block: 6em;
}
body:not(.home) .article_body .news_list a {
	background:transparent;
	border-bottom: solid 1px var(--dgray);
	border-radius:0;
	margin:0;
}
body.post-type-post .article_body .news_list a {
	background: rgba(255, 255, 255, 0.3);
	border-bottom:none;
}
body.post-type-post .article_body .news_list a:after{
	border-radius:0;
}
body:not(.home) .article_body .news_list a .article{
	width:100%;
}
body.post-type-post .article_body .news_list a .article{
	/* max-width: 860px; */
	padding-inline: 1.25em;
}
body:not(.home) .article_body .news_list a .data,
body:not(.home) .article_body .news_list a:not(:has(.img_fit)) .article:before{
	transition:transform .2s;
}
body.post-type-post .style_news .news_list a:not(:has(.img_fit)) .article:before{
	display:none;
}
@media (any-hover: hover) {
	body:not(.home) .article_body .news_list a:hover .data{
		transform:translateX(1em)
	}
	body:not(.home) .article_body .news_list a:hover .article h3{
		color:#fff;
	}
}


body.post-type-post .article_body a.btn{
	margin-inline:auto;
}
:root .article-page{
	display:flex;
	flex-direction:column;
	margin-inline:auto;
}
:root .article_head{
	display:flex;
	flex-direction:column;
	justify-content: flex-start;
	position:relative;
}
:root .article_head{
	position:relative;
	margin-block: 11.875em 9.25em;
	--height:0;
}
body.blog .article_head{
	margin-bottom:3.5em;
}
:root .article_head:has(.header_image){
	--height:44.25em;
	margin-top:8.5em;
	min-height:var(--height);
}

:root .article_head:has(.pagemenu){
	margin-bottom:0;
}

:root .article_head .header_image{
	position:absolute;
	right:0;
	top: 0;
	width: 69%;
}
:root .article_head .header_image img{
	height:var(--height);
	object-fit:cover;
	object-position:45% 50%;
}
:root .article_head .visual .sitewrap{
	display:flex;
	align-items:center;
	height:100%;
	align-items:flex-start;
	position: relative;
	z-index: 5;
}
:root .article_head .visual .ttl_set{
	margin-block: 0;
}
:root .article_head:has(.header_image) .visual{
	margin-top:8.5em;
}
:root .article_head .visual .ttl_set [lang="en"],
:root .article_head .visual .ttl_set .page-header-subtext{
	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 [lang="en"]:after,
:root .article_head .visual .ttl_set .page-header-subtext:after{
	margin-block: 0.25em 0.25em;
	height: 1px;
	width: 1.5em;
	background:#000;
}
:root .article_head .visual .ttl_set [lang="ja"]{
	margin:0;
	font-family: var(--fontR);
}
:root .article_head .visual :is(h1,h2),
:root .article_head .visual .page-header-title{
	font-weight:600;
	font-size:1.5rem;
}
:root .article_head .pagemenu{
	margin-block: 1.5em 3.5em;
	background:var(--keycolor);
	color:#fff;
	position:relative;
	z-index:1;
}
:root .article_head .pagemenu ul{
	max-width:1200px;
	margin-inline:auto;
}
:root .article_head .pagemenu ul{
	display:flex;
	padding: 0;
	margin: 0 auto;
}
:root .article_head .pagemenu ul li{
	flex-grow:1;
	padding: 0;
	margin: 0;
}
:root .article_head .pagemenu ul a{
	padding: 1.125em 0.5em;
	transition:.2s;
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
}
:root .article_head .pagemenu ul ul{
	position:absolute;
	left:0;
	right:0;
	background:#fff;
	color:var(--keycolor);
	max-width:inherit;
	justify-content:center;
	gap:2em;
	pointer-events:none;
	opacity:0;
	overflow:hidden;
	max-height:0;
	transition:opacity .4s,max-height .4s;
}
:root .article_head .pagemenu ul ul li{
	flex-grow:inherit;
}
:root .article_head .pagemenu ul li.toggle_switch:hover ul{
	opacity:1;
	max-height:fit-content;
	pointer-events:auto;
}
:root .article_head .pagemenu ul a:hover,
:root .article_head .pagemenu ul li.toggle_switch:hover .trigger a{
	background:#fff;
	color:var(--keycolor);
	text-decoration-color:transparent;
}
:root .article_head .pagemenu ul ul a:hover{
	text-decoration-color:var(--keycolor)
}
:root .article_body{
}
:root .article-page .article_foot{
	order:10;
	padding-block: 1.25em;
	border-bottom:solid 1px var(--lgray);
	background:var(--keycolor);
	color:#fff;
}
:root .article_body hgroup{
	display:flex;
	align-items: flex-end;
	margin-block: 1.5em;
	gap: 0.5em 1em;
	color:var(--dgray);
	letter-spacing: 0.1em;
}
:root .article_body hgroup :is(h1,h2,h3,h4,h5,h6){
	font-weight: 400;
	margin-bottom:0.75em;
}
:root .article_body hgroup [lang="en"]{
	color:var(--keycolor);
	font-size: 4rem;
	font-weight: 700;
	font-family:var(--fontB);
	line-height:1.2;
	letter-spacing: 0em;
}
:root .style_module {
	word-break:break-all;
}
:root .style_module :is(h1,h2,h3,h4,h5,h6,p,ul,ol,table,dl){
	margin-block:1.5em;
}
:root .style_module :is(h1,h2,h3,h4,h5,h6,p,ul,ol,table,dl):first-child{
	margin-block:0 1.5em;
}

:root .style_module h2{
    color: var(--keycolor);
    font-size: 3.14rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0em;
    margin-bottom:1em;
    font-family: var(--fontB);
}
:root .style_module h2 ~ h2{
	margin-top:1.5em;
}
:root .style_module h3{
    color: var(--dgray);
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0em;
    margin-block:1em;
    display:flex;
    gap: 0.35em;
    align-items:center;
    font-family: var(--fontR);
}
:root .style_module h3:after{
	content:"";
	display:block;
	height:1px;
	flex-grow:1;
	background:var(--dgray);
	border: none;
	line-height: inherit;
	bottom: inherit;
	overflow: visible;
	position: relative;
}
#ir_contents .style_module h3:after{
	width:auto;
}
:root .style_module h2:not(:first-child){
	margin-top:3em;
}
:root .style_module hr{
	margin-block:2em;
	border:none;
	border-bottom:dotted 2px #a6a6a6;
}
:root .style_module ul > li{
	list-style: disc;
	margin-block: 0;
	font-family: var(--fontL);
}
:root .style_module ul > li li{
	list-style:circle;
}
:root .style_module :is(ul,ol){
	padding-inline:0;
	margin-inline:1.75em auto;
	line-height:1.25;
}
:root .style_module :is(ul,ol) li:not(:first-child){
	margin-top:0.5em;
}
:root .style_module :is(ul,ol){
	font-feature-settings:normal;
}
:root .style_module :is(p,li,figure,dl){
	letter-spacing:0.1em;
	line-height:1.8;
	font-size:1rem;
}
:root .style_module p + p{
	margin-top:1.6em;
}
:root .style_module :is(li,th,td,figcaption,caption){
	line-height:1.4;
}
:root .style_module p + :is(ul,ol){
	margin-top:0.5em;
}
:root .style_module li + li{
	margin-top:0.5em;
}
:root .style_module img + figcaption{
	margin-top:0.5em;
}
:root .style_module a:not(.btn){
	color:#000;
	text-decoration-color:inherit;
}
:root .style_module a.btn{
	display:inline-flex;
}
:root .style_module a[href$=".pdf"]{
	display:flex;
	gap:0.5em;
	align-items:center;
	flex-wrap:wrap;
}
:root .style_module a[href$=".pdf"]:after{
	background:url(../img/ico_pdf.png) no-repeat top left / contain;
	content:"";
	display:block;
	width:1.375em;
	aspect-ratio:1 / 1;	
}
:root .style_module a[href$=".pdf"]:has(.filesize):after{
	display:none;
}
@media (any-hover: hover) {
	:root .style_module a:not(.btn):hover{
		text-decoration-color:transparent;
	}
}
:root .style_module .bg-wrapper {
	padding:0.5em var(--inner);
	background:#fff6e6;
	margin-block:3em;
}
@media screen and (max-width:1580px) {
	body.post-type-post .article_body .sitewrap:has( > .innerwrap){
		margin-inline:var(--inner);
		width:auto;
	}
	body:not(.home) .article_body .sitewrap:has( > .innerwrap){
		margin-inline:var(--inner);
		width:auto;	
	}
	body:not(.home) .article_body .sitewrap .innerwrap{
		max-width:100%;
	}
	:root .article_head .pagemenu{
		margin-inline:var(--inner);
		width:auto;
		font-size:0.94rem;
	}
	:root .article_head .visual .ttl_set [lang="en"],
	:root .article_head .visual .ttl_set .page-header-subtext{
		font-size: 7.25rem;
	}
	:root .article_head:has(.header_image) .visual .ttl_set > *{
		padding-inline:calc(var(--inner) * 0.5)
	}
	:root .article_head:has(.header_image){
		--height:35em
	}
	:root .article_head .header_image{
		width:calc(100% - 12.5% - (7.25em * 2))
	}
}
@media screen and (max-width:1410px) {
	body.post-type-post .article_body .sitewrap > hgroup{
		margin-inline:auto;
	}
}
@media screen and (max-width:1200px) {
	:root .article_head:has(.header_image){
		--height:50vw
	}
	:root .article_head .header_image{
		width:calc(100% - 12.5% - (7.25em * 2.5))
	}
	:root .topicpath{
	}
	:root .topicpath li{
		white-space:nowrap;
	}
	:root .article_head .visual .ttl_set [lang="en"],
	:root .article_head .visual .ttl_set .page-header-subtext{
		font-size:6.5rem;
	}
	:root .article_head .pagemenu ul{
		flex-wrap:wrap;
		padding-inline:0;
	}
	:root .article_head .pagemenu ul li{
		flex-grow:inherit;
		flex-basis:calc(100% / 5);
	}

}


@media screen and (max-width: 767px) {
	body:not(.home) {
		--header:80px;
	}
	body:not(.home):after{
		background-size: 100% auto;
	}
	:root .article_head .pagemenu {
		margin-right:0;
		margin-block: 0.5em 1.5em;
		overflow: hidden;
		padding-inline:var(--inner) 2.0em;
		position:relative;
		z-index:1;
	}
	:root .article_head .pagemenu:after{
		position:absolute;
		inset:0 0.75em 0 auto;
		z-index:2;
		pointer-events:none;
		content:"";
		display:flex;
		align-items:center;
		justify-content: center;
		font-weight:800;
		font-family:var(--fontB);
		z-index:3;
		width:0.5em;
		height:0.5em;
		border-top:solid 2px;
		border-right:solid 2px;
		transform:rotate(45deg);
		margin:auto;
		transition:opacity .2s .2s;
		opacity:1;
	}
	:root .article_head .pagemenu:focus:after,
	:root .article_head .pagemenu:active:after{
		opacity:0;
	}
	:root .article_head .pagemenu ul{
		flex-wrap:nowrap;
		gap:1em;
		justify-content: flex-start;
		padding: 0.75em 0;
		font-size: min(3.15vw,0.875rem);
		overflow-x:auto;
		scrollbar-width:thin;
	}
	:root .article_head .pagemenu ul li{
		flex-basis:auto;
		white-space:nowrap;
	}
	:root .article_head .pagemenu ul a{
		padding:0.25em 0.5em;
		text-decoration-color:transparent;
	}
	:root .article_head .pagemenu ul ul{
		padding:0;
		display:none;
	}
	:root .article_head .visual:has(~ .header_image){
		margin-block: 0;
	}
	:root .article_head .header_image{
		position:static;
		width: 85%;
		margin-inline:auto 0;
		margin-top:3em;
	}
	:root .article_head .header_image img{
		height:auto;
	}
	:root .article_head .visual:has(~ .header_image) .ttl_set{
		margin-top:0;
	}
	:root .article_head .pagemenu ul a:hover,
	:root .article_head .pagemenu ul li.toggle_switch:hover .trigger a{
		background:inherit;
		color:#fff;
		text-decoration-color:#fff;
	}
	:root .article_head .pagemenu ul li.toggle_switch.opened ul{
		opacity:1;
		max-height:fit-content;
		pointer-events:auto;
		margin-inline:1em;
		box-shadow:0 3px 5px rgba(0,0,0,0.52);

	}
	:root .article_head .pagemenu ul li.toggle_switch.opened .trigger{
		background:#fff;
	}
	:root .article_head .pagemenu ul ul a:hover,
	:root .article_head .pagemenu ul li.toggle_switch.opened .trigger a{
		color:var(--keycolor);
	}
	:root .article_head .visual .ttl_set{
		margin-block: 0;
	}
	:root .article_head .visual .ttl_set [lang="en"],
	:root .article_head .visual .ttl_set .page-header-subtext{
		font-size: 4rem;
		line-height: 1.0;
	}
	:root .article_head .visual :is(h1,h2),
	:root .article_head .visual .page-header-title{
		font-size:1.15em;
	}
	:root .topicpath{
		margin:0;
	}
	:root .article_head{
		padding: 0;
		height:auto;
		margin-block: 2em 4em;
	}
	:root .article_head:has(.header_image){
		min-height:0;
		margin-block: 2em 4em;
	}
	:root .article_head:has(.header_image) .visual .ttl_set > *{
		padding-inline:var(--inner);
	}
	:root .article_body hgroup [lang="en"]{
		font-size:2.5rem;
	}
	body.post-type-post .article_body{
	}
	body.post-type-post .article_body hgroup [lang="en"]{
		font-size: 2.5rem;
	}
	body.post-type-post .article_body hgroup [lang="ja"]{
		font-size:0.857rem;
	}
	body:not(.home) .article_body .sitewrap:has( > .innerwrap){
		padding-block:3em;
		margin:2em var(--inner) 0;
		/* box-shadow:0 2px 6px rgba(0,0,0,0.1) */
		width: auto;
	}
	body:not(.home) .article_body .sitewrap:has( > .innerwrap) + .sitewrap{
		margin-top:3em;
	}
	body:not(.home) .article_body .sitewrap .innerwrap > hgroup:first-child{
		margin-block:-1.0em 0em
	}
	body:not(.home) .article_body .sitewrap > .style_news{
		padding-inline:0;
	}
	body.post-type-post .article_body .sitewrap > .style_news{
		gap:4em;
	}
	body:not(.home) .article_body .sitewrap > .style_news .tab_change{
		padding-inline:var(--inner);		
	}
	body.post-type-post .article_body .sitewrap > .btn{
	}
	body.post-type-post .article_body .style_news .news_list a:not(:first-child){
		margin-top:0;
	}
	body:not(.home) .article_body .style_news a .article{
		padding: 0.5em var(--inner);
	}
	body:not(.home) .article_body .style_news a .article:not(:has(.img_fit)){
		padding-right:2.5em;
	}
	body:not(.home) .article_body section{
		padding-block: 0 4em;
	}
	:root .style_module :is(h1,h2,h3,h4,h5,h6,p,ul,ol){
		margin-block:1.25em;
	}
	:root .page-ir .article_body .news_list a{
		margin:0;
	}
	:root .page-ir .article_body .news_list a .article{
		padding:1em 0;
	}
	:root .page-ir .article_body .news_list a .data{
		min-height:0;
	}
	:root .page-ir .article_body .news_list a .data_head{
		margin-bottom:0.5em;
	}
} 

:root .style_module .flex_list{
	display:flex;
	flex-wrap:wrap;
	gap: 4em 3%;
	margin-inline:0;
}
:root .style_module .flex_list li{
	width: 31%;
	list-style:none;
}
:root .style_module .flex_list li:nth-child(n){
	margin-top:0;
}
:root .style_module .figure{
	text-align:center;
	margin-bottom:1em;
	background:#fff;
	padding:0.5em;
}
:root .style_module .unit{
	font-size:1.125rem;
	font-weight:500;
	margin-bottom:0.5em;
	font-family: var(--fontR);
}
:root .style_module .flex_list table{
	margin-inline:auto;
	width:100%;
}
:root .style_module .flex_list table :is(th,td){
	font-size:0.875rem;
	text-align:center;
	letter-spacing:0;
}
@media screen and (max-width: 1600px) and (min-width:768px){
	:root .style_module .flex_list table th{
		white-space: break-spaces;
	}
}
:root .style_module .captions{
	margin-block:4em 0;
	line-height:1.8;
}
:root .style_module .captions p + p{
	margin-top:2em;
}

:root .style_module [itemprop="mainEntity"]:nth-child(n+2){
	margin-top:2em;
}
:root .style_module [itemprop]:first-child{
	margin-top:0;
}
:root .style_module .faq-list,
:root .style_module .faq-list .vk_faq-body{
	margin-block:0;
}
:root .style_module :is(h2,h3,h4)[itemprop="name"],
:root .style_module .faq-list :is(h2,h3,h4),
:root .style_module .vk_faq .vk_faq_title{
	margin-block:1em;
	font-size: 1.25rem;
	color: var(--dgray);
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0em;
	display: flex;
	gap: 0.5em;
	align-items: center;
	border-bottom:solid 1px var(--lgray);
	padding-bottom:1em;
	position:relative;
	padding-left: 0;
	padding-top: 0;
}
:root .style_module .vk_faq .vk_faq_title{
	margin-top:0;
	align-items: flex-start;
}
:root .style_module .vk_faq .vk_faq_title p{
	font-size:1.25rem;
	font-weight:bold;
	margin:0;
}
:root .style_module :is(h2,h3,h4)[itemprop="name"]:before,
:root .style_module .vk_faq .vk_faq_title:before{
	content:"Q";
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:1.5rem;
	background:var(--keycolor);
	width:1.75em;
	height:1.75em;
	aspect-ratio:1 / 1;
	border-radius:50%;
	color:#fff;
	font-weight:600;
	position: relative;
	top: 0;
}
:root .style_module .faq-list :is(h2,h3,h4){
	margin-top:0;
}
:root .style_module .faq-list :is(h2,h3,h4) mark{
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:1.5rem;
	background:var(--keycolor);
	width:1.75em;
	height:1.75em;
	aspect-ratio:1 / 1;
	border-radius:50%;
	color:#fff;
	font-weight:600;
}
:root .style_module .vk_faq{
	margin-bottom:0;
	padding-bottom:0;
	border-bottom:none;
}
:root .style_module [itemprop="acceptedAnswer"]{
	display:flex;
	gap:1em;
	align-items:flex-start;
	margin-left: 1em;
}
:root .style_module [itemprop="acceptedAnswer"]:before{
	content:"A";
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:1em;
	background:var(--gray);
	width:1.75em;
	height:1.75em;
	border-radius:50%;
	color:var(--dgray);
	font-weight:600;
	aspect-ratio:1 / 1;
}
:root .style_module .faq-list :is(p,ul,ol){
	margin-left: 1em;
}
:root .style_module .faq-list.vk_faq .vk_faq_content{
	padding:0;
	position: relative;
}
:root .style_module .faq-list :is(p,ul,ol):has( > mark),
:root .style_module .faq-list.vk_faq .vk_faq_content p{
	position:relative;
	padding-left:2.5em;
	margin-block: 1.5em;
}
:root .style_module .faq-list :is(p,ul,ol) > mark,
:root .style_module .faq-list.vk_faq .vk_faq_content:before{
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:1em;
	background:var(--gray);
	width:1.75em;
	height:1.75em;
	border-radius:50%;
	color:var(--dgray);
	font-weight:600;
	aspect-ratio:1 / 1;
	position:absolute;
	left:0;
}
:root .style_module .faq-list.vk_faq .vk_faq_content:before{
	left:1em;
	top:0;
}
@media screen and (max-width:1410px) {
	:root .style_module .flex_list{
		gap: 4em 4%;	
	}
	:root .style_module .flex_list li{
		width: 48%;
	}
}

@media screen and (max-width:767px) {
	:root .style_module h2{
	    font-size: 2.125rem;
		font-weight:600;
	}
	:root .style_module .flex_list{
		gap: 4em 0;
		flex-direction:column;
	}
	:root .style_module .flex_list li{
		width: 100%;
	}
	:root .style_module :is(p,li,figure){
		font-size:0.94rem;
	}
	:root .style_module :is(figcaption,caption){
		font-size:0.875rem;
	}
	:root .style_module :is(h2,h3,h4)[itemprop="name"],
	:root .style_module .faq-list :is(h2,h3,h4),
	:root .style_module .vk_faq .vk_faq_title p{
		font-size:1.5rem;
		align-items:flex-start;
	}
	:root .style_module .vk_faq .vk_faq_title p{
		line-height:1.2;
		letter-spacing:0;
	}
	:root .style_module :is(h2,h3,h4)[itemprop="name"]:before,
	:root .style_module .faq-list :is(h2,h3,h4) mark,
	:root .style_module .vk_faq .vk_faq_title:before{
		font-size:0.94rem;
	}
	:root .style_module :is(h2,h3,h4)[itemprop="name"]:after{
		display:none;
	}
	:root .style_module [itemprop="acceptedAnswer"]{
		display:flex;
		gap:1em;
		align-items:flex-start;
		margin-left:0em;
	}
	:root .style_module .faq-list :is(p,ul,ol){
		margin-left:0;
	}
	:root .style_module [itemprop="acceptedAnswer"]:before,
	:root .style_module .faq-list :is(p,ul,ol) mark{
		font-size:0.94em;
	}
	:root .style_module .faq-list.vk_faq .vk_faq_content:before{
		left:0;
		top:0;
	}
}

root .style_h3{
	
}

/*news*/
body:not(.home) .news_wrap{
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	gap: 3em;
}
body:not(.home) .news_wrap .news_left{
	width:311px;
}
body:not(.home) .news_wrap .news_category{
	background: rgba(255, 255, 255, 0.3);
	padding:50px;
	margin-bottom: 3em;
}
body:not(.home) .news_wrap .news_category .post-cat_wrap,
body:not(.home) .news_wrap .news_category .post-tag_wrap{
	padding:0;
}
body:not(.home) .news_wrap .news_category .post-tag_wrap{
	margin-bottom:0;
}
body:not(.home) .news_wrap .news_category .post-cat_wrap li,
body:not(.home) .news_wrap .news_category .post-tag_wrap li{
	margin:0;
}
body:not(.home) .news_wrap .news_category .post-cat_wrap li + li,
body:not(.home) .news_wrap .news_category .post-tag_wrap li + li{
	margin-top:0.75em;
}
body:not(.home) .news_wrap .news_category .news_category_title{
	position:relative;
	font-size:1.5rem;
	font-weight:bold;
	margin-bottom: 0.5em;
	font-family: var(--fontB);
}
body:not(.home) .news_wrap .news_category .post-cat_wrap li a,
body:not(.home) .news_wrap .news_category .post-tag_wrap li a{
	display:inline-block;
	color:var(--green02);
	text-decoration:none;
	position:relative;
	padding-left:1em;
	transition:.5s font-weight,.5s color;
	padding-bottom: 0.125em;
	font-family: var(--fontL);
}
body:not(.home) .news_wrap .news_category .post-cat_wrap li a:before,
body:not(.home) .news_wrap .news_category .post-tag_wrap li a:before{
	content:"";
	width:7px;
	height:7px;
	background:transparent;
	border:1px solid var(--green02);
	border-radius:50%;
	position:absolute;
	inset:0 auto 0 0;
	margin:auto;
	transition:.5s background,.5s border-color;
}
body:not(.home) .news_wrap .news_category .post-cat_wrap li a:after,
body:not(.home) .news_wrap .news_category .post-tag_wrap li a:after{
	content:"";
	height:1px;
	width:100%;
	background:var(--keycolor);
	position:absolute;
	inset:auto 0 0 0;
	margin:auto;
	transition:.5s transform;
	transform:scale(0,1);
	transform-origin:right top;
}
body:not(.home) .news_wrap .news_category .post-cat_wrap li a.carent,
body:not(.home) .news_wrap .news_category .post-tag_wrap li a.carent{
	color:var(--keycolor);
	font-weight:bold;
}
body:not(.home) .news_wrap .news_category .post-cat_wrap li a.carent:before,
body:not(.home) .news_wrap .news_category .post-tag_wrap li a.carent:before{
	background:var(--keycolor);
	border-color:var(--keycolor);
}
body:not(.home) .news_wrap .news_category .post-cat_wrap li a.carent:after,
body:not(.home) .news_wrap .news_category .post-tag_wrap li a.carent:after{
	transform:scale(1,1);
	transform-origin:left top;
}
body:not(.home) .news_wrap .post-select{
	background:#fff;
	position:relative;
	z-index:5;
	border-radius: 5px;
}
body:not(.home) .news_wrap .post-select:before{
	content:"";
	width: 8px;
	height: 8px;
	border-top: solid 1px #3d4f4a;
	border-right: solid 1px #3d4f4a;
	position: absolute;
	inset:0 1.5em 0 auto;
	transform: rotate(135deg);
	margin:auto;
	pointer-events:none;
}
body:not(.home) .news_wrap .post-select select{
	margin-bottom:0;
	background:transparent;
}
body:not(.home) .news_wrap .news_right{
	width: calc(100% - 311px - 3em);
	max-width: 1050px;
}
body:not(.home) .news_wrap .news_right .btn{
	margin:3em auto 0;
}
body:not(.home) .news_wrap .news_right .btn a{
	text-decoration:none;
}
body:not(.home) .news_wrap .news_right .news_edit{
	padding:50px;
	background:rgba(255,255,255,0.3);
}
body:not(.home) .news_wrap .news_right .news_edit p{
	line-height:2;
}
body:not(.home) .news_wrap .news_right .news_edit img{
	display:block;
	margin:0.5em auto;
}
body.wp-singular .post_head{
	display:flex;
	justify-content:flex-start;
	align-items:center;
	flex-wrap:wrap;
	gap: 0.5em 1em;
	padding-bottom: 3em;
	margin-bottom: 3em;
	border-bottom:1px solid var(--keycolor);
}
body.wp-singular .post_head .post-categories{
	display:flex;
	gap:1em;
	justify-content:center;
	align-items:center;
	flex-wrap:wrap;
}
body.wp-singular .post_head .post-categories a{
	text-decoration:none;
}
body.wp-singular .eye-catch{
	position:relative;
	width: 80%;
	margin: 0 auto 3em;
}
body.wp-singular .post_head time,
body.wp-singular .post-navigation time{
	font-size:0.875rem;
	font-weight:500;
	color:#000000;
	font-family: var(--fontL);
}
body.wp-singular .post-navigation time,
body.wp-singular .post-navigation em,
body.wp-singular .post-navigation span{
	margin: 0 16px 8px 0;
	display: inline-flex;
}
body.wp-singular .post-navigation em{
	line-height:1;
}
body.wp-singular .post-navigation time,
body.wp-singular .post-navigation span{
	line-height:2;
	font-family: var(--fontL);
}
body.wp-singular .post_head .post-ttl,
body.wp-singular .post-navigation p{
	font-size:1.5rem;
	font-weight:bold;
	color:#000000;
	margin-block: 0;
	line-height: 1.875;
	letter-spacing: 0.1em;
	width: 100%;
}
body.wp-singular .post-navigation p{
	font-size:0.875rem;
	font-weight: 500;
	width: 100%;
	display: inline-block;
}
body.wp-singular .post-navigation{
	position:relative;
	margin-top:2.5em;
	padding-top:2.5em;
	border-top:1px solid var(--dgreen);
	display:flex;
	justify-content:center;
	align-items: stretch;
}
body.wp-singular .post-navigation:not(.next-post) .prev-post{
	display:block;
	margin-right:auto;
}
body.wp-singular .post-navigation:not(.prev-post) .next-post{
	display:block;
	margin-left:auto;
}
body.wp-singular .post-navigation:not(.next-post) .prev-post a,
body.wp-singular .post-navigation:not(.prev-post) .next-post a{
	padding-bottom:0;
}
body.wp-singular .post-navigation .prev-post{
	width:50%;
}
body.wp-singular .post-navigation .next-post{
	width:50%;
	border-left:1px solid var(--dgreen);
}
body.wp-singular .post-navigation a{
	padding:0 60px 35px 50px;
	position:relative;
	text-decoration: none;
	transition: .5s transform;
	display: block;
	height: 100%;
}
body.wp-singular .post-navigation .prev-post a:before{
	content:"";
	width: 10px;
	height: 10px;
	border-top: solid 2px var(--dgreen);
	border-right: solid 2px var(--dgreen);
	position: absolute;
	inset:0 auto 0 0;
	transform: rotate(-97deg) skew(44deg,-44deg);
	margin:auto;
}
body.wp-singular .post-navigation .next-post a:before{
	content:"";
	width: 10px;
	height: 10px;
	border-top: solid 2px var(--dgreen);
	border-right: solid 2px var(--dgreen);
	position: absolute;
	inset:0 0 0 auto;
	transform: rotate(-97deg) skew(44deg,-44deg) scale(-1);
	margin:auto;
}
body.wp-singular .news_edit a{
	text-decoration:underline;
	text-decoration-color:var(--keycolor);
}
:root .style_module a:not(.btn){
	text-decoration-style: solid;
}
@media (any-hover: hover) {
	body:not(.home) .news_wrap .news_category .post-cat_wrap li a:hover,
	body:not(.home) .news_wrap .news_category .post-tag_wrap li a:hover{
		color:var(--keycolor);
		font-weight:bold;
	}
	body:not(.home) .news_wrap .news_category .post-cat_wrap li a:hover:before,
	body:not(.home) .news_wrap .news_category .post-tag_wrap li a:hover:before{
		background:var(--keycolor);
		border-color:var(--keycolor);
	}
	body:not(.home) .news_wrap .news_category .post-cat_wrap li a:hover:after,
	body:not(.home) .news_wrap .news_category .post-tag_wrap li a:hover:after{
		transform:scale(1,1);
		transform-origin:left top;
	}
	body.wp-singular .post-navigation a:hover p{
		text-decoration:underline;
	}
	body.wp-singular .post-navigation .next-post a:hover{
		transform:translateX(5px);
	}
	body.wp-singular .post-navigation .prev-post a:hover{
		transform:translateX(-5px);
	}
	body.wp-singular .news_edit a:hover{
		text-decoration-color:transparent;
	}
	body.wp-singular .news_edit a.btn:hover{
		text-decoration:none;
	}
}
@media screen and (max-width:1200px) {
	body:not(.home) .news_wrap .news_left{
		width:250px;
	}
	body:not(.home) .news_wrap .news_category{
		padding:30px;
	}
	body:not(.home) .news_wrap{
		gap:2em;
	}
	body:not(.home) .news_wrap .news_right{
		width: calc(100% - 250px - 2em);
	}
	body:not(.home) .news_wrap .news_right .news_edit{
		padding:30px;
	}
	body.wp-singular .post-navigation a{
		padding-inline:20px;
	}
	body.wp-singular .post-navigation time,
	body.wp-singular .post-navigation em,
	body.wp-singular .post-navigation span{
		margin-right:1em;
	}
}
@media screen and (max-width:768px) {
	body:not(.home) .news_wrap .news_left{
		width:100%;
	}
	body:not(.home) .news_wrap .news_category{
		padding:30px 15px;
		margin-bottom: 1.5em;
	}
	body:not(.home) .news_wrap .news_right .news_edit{
		padding:30px 15px;
	}
	body:not(.home) .news_wrap{
		gap:2em;
		flex-wrap:wrap;
		flex-direction:column-reverse;
	}
	body:not(.home) .news_wrap .news_right{
		width:100%;
	}
	body.wp-singular .post-navigation{
		margin-top:1.5em;
		padding-top: 0;
		flex-wrap:wrap;
	}
	body.wp-singular .post-navigation .prev-post{
		width:100%;
	}
	body.wp-singular .post-navigation .next-post{
		width:100%;
		border-left:none;
		border-top:1px solid var(--keycolor);
	}
	body.wp-singular .post-navigation .prev-post a,
	body.wp-singular .post-navigation .next-post a,
	body.wp-singular .post-navigation:not(.next-post) .prev-post a,
	body.wp-singular .post-navigation:not(.prev-post) .next-post a{
		padding:20px 15px;
	}
	body.wp-singular .post-navigation .prev-post a,
	body.wp-singular .post-navigation:not(.next-post) .prev-post a{
		padding-left:2em;
	}
	body.wp-singular .post-navigation .next-post a,
	body.wp-singular .post-navigation:not(.prev-post) .next-post a{
		padding-right:2em;
	}
	body.wp-singular .post-navigation .prev-post a:before{
		inset:0 auto 0 0.5em;
	}
	body.wp-singular .post-navigation .next-post a:before{
		inset:0 0.5em 0 auto;
	}
	body.post-type-post .article_body .style_news .news_list a:not(:first-child){
		margin-top: 1.5em;
	}
	body.post-type-post .article_body .style_news a .article{
		padding: 1.5em;
		flex-direction: column;
		width: 100%;
		justify-content: flex-start;
		position:relative;
	}
	:root .style_news .news_list{
		margin-bottom:0;
	}
	body:not(.home) .news_wrap .post-select{
		margin-inline: var(--inner);
	}
	body.wp-singular .eye-catch{
		margin-bottom:2em;
	}
	body.wp-singular .post_head .post-ttl,
	body.wp-singular .post-navigation p{
		font-size:1.14rem;
	}
	body.wp-singular .post_head{
		margin-bottom:3em;
		padding-bottom:3em
	}
	body:not(.home) .news_wrap .news_right .news_edit p{
		line-height:1.75;
	}
}


body:not(.home) .article-page hgroup{
	margin-top:0;
	flex-wrap: wrap;
	/* margin-bottom: 0; */
}
body:not(.home) .article-page section{
	padding-top:0;
}
body:not(.home) .article-page hgroup [lang="en"]{
	line-height:1;
	margin-bottom: 0;
}
body:not(.home) .article-page hgroup h2[lang="ja"]{
	margin: 0;
	font-family: var(--fontL);
}
body:not(.home) main.page-ir.article-page .article_body .style_news{
	margin-bottom:0;
}
.article_body .style_news ul{
	padding-left:0;
}
.article_body .style_news li{
	margin-block:0;
}
/*company*/
body:not(.home) .company-wrap{
	position:relative;
}
body:not(.home) .company-wrap .company-list{
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	flex-wrap:wrap;
	gap:1em;
	padding: 0;
	margin: 0;
}
body:not(.home) .company-wrap .company-list .company-item{
	width:calc(20% - 1em);
	margin: 0;
}
body:not(.home) .company-wrap .company-list .company-item a{
	display:block;
}
body:not(.home) .company-wrap .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;
	padding:20px;
}
body:not(.home) .company-wrap .company-list .company-item a .company-image img{
	transition:.5s transform;
}
body:not(.home) .article-page .article_body{
	padding-bottom:150px;
	position: relative;
}
@media (any-hover: hover) {
	body:not(.home) .company-wrap .company-list .company-item a:hover .company-image img{
		transform:scale(1.05);
	}
	body:not(.home) .company-wrap .company-list .company-item a{
		font-size:1.125rem;
	}
}
@media screen and (max-width:768px) {
	body:not(.home) .company-wrap .company-list{
		gap: 2.25em 4%;
		flex-wrap:wrap;
		justify-content:space-between;
	}
	body:not(.home) .company-wrap .company-list .company-item{
		width:48%;
	}
	body:not(.home) .company-wrap .company-list .company-item a .company-image{
		padding:45px;
	}
	body:not(.home) .article-page .article_body{
		padding-bottom: 5em;
	}
	body:not(.home) .company-wrap .company-list .company-item a p{
		margin-bottom:0;
	}
}

/*vision*/
body:not(.home) .page-vision .article-col{
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	flex-wrap:wrap;
	gap: 4%;
	padding-bottom: 0;
}
body:not(.home) .page-vision .article-col .article-col-left{
	width:25%;
}
body:not(.home) .page-vision .article-col .article-col-right{
	width: 71%;
}
:root .style_h3{
	font-size:2.625rem;
	font-weight:bold;
	color:var(--keycolor);
	letter-spacing:0.1em;
	margin-bottom: 1em;
}
:root .white-box01{
	background: #e1e8dd;
}
body:not(.home) .page-vision .article-col .article-col-right p{
	line-height:2.125;
	font-size:1.25rem;
	margin-bottom: 0;
}
body:not(.home) .page-vision .article-col .article-col-right p + p{
	margin-top:2em;
}
body:not(.home) .page-vision section + section{
	margin-top: 5em;
	padding-top: 4em;
	border-top: 1px solid #a8a8a8;
}
body:not(.home) .value-item{
	padding: 2.25em 91px;
	display:flex;
	justify-content:space-between;
	align-items:center;
	flex-wrap:wrap;
	gap: 4em;
}
body:not(.home) .value-item + .value-item{
	margin-top: 1.25em;
}
body:not(.home)  .value-item .value-icon{
	width:122px;
}
main.page-business  .value-item .value-icon{
	width:108px;
}
body:not(.home) .value-item .value-title{
	width: 230px;
}
body:not(.home) .value-item .value-title .style_h3{
	margin-bottom:0;
	font-size: 2rem;
	line-height: 1.2;
}
body:not(.home) .value-text{
	width: calc(100% - 352px - 8em);
}
body:not(.home) .value-text p{
	margin-bottom:0;
	letter-spacing: 0.17em;
	line-height: 2;
}
body:not(.home) .value-text p + p{
	margin-top:1em;
}
body:not(.home) .page-vision .article-value{
	padding-bottom:0;
}

@media screen and (max-width:1300px) {
	body:not(.home) .value-item{
		padding:40px 70px;
		gap:2em;
	}
	body:not(.home) .value-text{
		width: calc(100% - 332px - 4em);
	}
	body:not(.home) .value-item .value-title{
		width:210px;
	}
}
@media screen and (max-width:1000px) {
	body:not(.home) .value-item{
		justify-content:flex-start;
	}
	body:not(.home) .value-text{
		width:100%;
	}
}
@media screen and (max-width:768px) {
	body:not(.home) .page-vision .article-col{
		gap: 2em;
		flex-wrap:wrap;
		padding-top: 1.5em;
	}
	body:not(.home) .page-vision .article-col .article-col-left{
		width:100%;
	}
	body:not(.home) .page-vision .article-col .article-col-right{
		width:100%;
	}
	:root .style_h3{
		font-size: 1.47rem;
		margin-bottom: 0.5em;
	}
	body:not(.home) .page-vision .article-col .article-col-right p{
		line-height:1.75;
		font-size: 1.14em;
	}
	body:not(.home) .page-vision .article-col .article-col-right p + p{
		margin-top:1em;
	}
	body:not(.home) .page-vision section + section{
		margin-top:3em;
		padding-top:3em;
	}
	body:not(.home) .value-item{
		padding:30px 15px;
		gap: 1em;
	}
	body:not(.home) .value-item .value-icon{
		width:60px;
	}
	body:not(.home) .value-item .value-title{
		width:calc(100% - 60px - 1.5em);
	}
	body:not(.home) .value-item .value-title .style_h3{
		font-size:1.47rem;
	}
	body:not(.home) .value-text p{
		line-height:1.75;
	}
}

/*member*/
body:not(.home) .member-wrap{
	display:flex;
	justify-content:flex-start;
	align-items:stretch;
	flex-wrap:wrap;
	gap: 5em 6em;
	margin-bottom: 0;
}
body:not(.home) .member-wrap .member-item{
	width: calc((100% / 3) - 4em);
	max-width: 440px;
}
body:not(.home) .member-wrap .member-item .member-icon{
	margin-bottom: 1.5em;
}
body:not(.home) .member-wrap .member-item .member-name em{
	margin-bottom: 0.5em;
	display:block;
	font-family: var(--fontL);
}
body:not(.home) .member-wrap .member-item .style_h3{
	margin-top:0;
	font-size:2.25rem;
	margin-bottom: 0.25em;
	display:flex;
	align-items:baseline;
	gap:0 0.25em
}
body:not(.home) .member-wrap .member-item .style_h3 em{
	margin:0;
	padding:0;
	display:inline-block;
	font-family: var(--font);
}
body:not(.home) .member-wrap .member-item span{
	font-size: 0.875rem;
	font-weight:400;
	margin-left:0em;
	letter-spacing:0;
	font-family: var(--fontL);
}
body:not(.home) .member-wrap .member-item .member-name p{
	line-height: 1.75;
	margin-bottom: 0;
}
body:not(.home) .article-page .article-member{
	padding-bottom:0;
}
body:not(.home) .article-page .article-member{
	padding-bottom:0;
}
body:not(.home) .article-page .article-member + .article-member{
	margin-top: 5em;
	padding-top: 4em;
	border-top: 1px solid #a8a8a8;
}
body:not(.home) .article-member .h_group_title{
	margin-bottom:3em;
}
body:not(.home) .external-member{
	justify-content:space-between;
}
body:not(.home) .external-member .member-wrap{
	justify-content:space-between;
	gap: 2em 2em;
}
body:not(.home) .external-member .member-wrap .member-item{
	width: 45%;
	max-width: 100%;
}
@media screen and (max-width:1530px) {
	body:not(.home) .member-wrap{
		/* gap: 5em 2.75em; */
	}
	body:not(.home) .member-wrap .member-item{
		/* width: calc(33% - 1.875em); */
		max-width: 440px;
	}
	body:not(.home) .member-wrap .member-item .style_h3{
		flex-direction:column;
		/* gap:0.25em; */
	}
}

@media screen and (max-width:1000px) {
	body:not(.home) .member-wrap .member-item .style_h3{
		margin-top:0;
		font-size:1.71rem;
		margin-bottom: 0.25em;
	}
	body:not(.home) .member-wrap .member-item .member-name p{
		font-size:0.86rem;
	}
}

@media screen and (max-width:768px) {
	body:not(.home) .member-wrap{
		gap: 3em 6%;
	}
	body:not(.home) .member-wrap .member-item{
		width: 47%;
	}
	body:not(.home) .member-wrap .member-item .member-name em{
		margin-bottom:0.5em;
	}
	body:not(.home) .member-wrap .member-item .style_h3{
		font-size:1.47rem;
		line-height: 1; 
		margin-bottom: 0.75em;
		gap:0.25em;
	}
	body:not(.home) .member-wrap .member-item .style_h3 em{
		padding:0;
		margin:0 0.5em 0 0;
		display:inline-block;
	}
	body:not(.home) .article-page .article-member + .article-member{
		margin-top:3em;
		padding-top:3em;
	}
	body:not(.home) .external-member .member-wrap{
		gap: 2.5em 4%;
	}
	body:not(.home) .external-member .member-wrap .member-item{
		width:100%;
	}
}

/*message*/
body:not(.home) .article-message{
	max-width:707px;
	margin:0 auto;
}
body:not(.home) .article-message .style_h3{
	font-size:2.625rem;
	letter-spacing: -0.06em;
}
body:not(.home) .article-message p{
	font-size:1.25rem;
	line-height: 2.125;
}
body:not(.home) .article-message p + p{
	margin-top:2em;
}
body.post-type-post .article_body .article-message{
	padding-block: 8em 0;
}
body:not(.home) .article_head:has(.message-person){
	--height:54.4375em;
}
body:not(.home) .article_head .message-person{
	position: relative;
	z-index: 20;
	text-align:left;
	margin: 0 auto;
}
body:not(.home) .article_head .message-person .person-wrap{
	display:flex;
	flex-direction:column;
	width:fit-content;
}
body:not(.home) .article_head .message-person p{
	font-size: 1.5rem;
	display: flex;
	align-items: center;
	gap: 1em;
	justify-content:space-between;
	font-family:var(--fontR);
}
body:not(.home) .article_head .message-person em{
	font-size:3.25rem;
	line-height:1;
	display:block;
	font-weight: bold;
	font-family:var(--fontB);
}
body:not(.home) .article_head:has(.message-person) .visual{
	margin-block:8.5em 11.5em;
	
}
@media screen and (max-width:768px) {
	body.post-type-post .article_body .article-message{
		padding-block:4em 0;
	}
	body:not(.home) .article_head .message-person{
		margin: 4em auto 1em;
	}
	body:not(.home) .article_head .message-person p{
		font-size:1rem;
		margin-bottom: 0.5em;
	}
	body:not(.home) .article_head .message-person em{
		font-size:1.75rem;
	}
	body:not(.home) .article_head .message-person span{
		font-size:0.875rem;
	}
	body:not(.home) .article_head .message-person span + span{
		margin-left:1em;
	}
	body:not(.home) .article_head .visual:has(~ .header_image + .message-person){
		margin-block:0;
	}
	main.page-message .article_head .header_image{
		order:2;
		position: static;
		margin:0;
		width: 100%;
		padding-inline: var(--inner);
	}
	main.page-message .article_body .article-message{
		/* padding-block:4em 0; */
	}
	main.page-message .article-message .style_h3{
		font-size:1.71rem;
	}
	body:not(.home) .article-message p{
		font-size:1rem;
	}
}

/*profile*/
body:not(.home) .article-page .profile-whole{
	padding-bottom:0;
}
.profile-whole .profile-wrap{
	padding:100px;
	position:relative;
}
.profile-whole .profile-wrap .profile-item{
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	flex-wrap:wrap;
	gap:5%;
	padding-inline: 50px;
}
.profile-whole .profile-wrap .profile-item + .profile-item{
	margin-top: 2.5em;
	padding-top: 2.5em;
	border-top: 1px solid #a8a8a8;
}
.profile-whole .profile-wrap .profile-item .profile_title{
	width: 18%;
}
.profile-whole .profile-wrap .profile-item .profile_title .style_h2{
	font-size:1.25rem;
	font-weight:bold;
}
.profile-whole .profile-wrap .profile-item .profile_title p{
	font-size:0.875rem;
	font-weight:500;
	margin-bottom: 0;
	font-family: var(--fontL);
}
.profile-whole .profile-wrap .profile-item .profile-text{
	width: 77%;
}
.profile-whole .profile-wrap .profile-item .profile-text p{
	margin-bottom:0;
	font-size:1.125rem;
}
.profile-whole .profile-wrap .profile-item .profile-text span{
	font-size:0.875rem;
	display:inline-block;
	font-family: var(--fontL);
}
.profile-whole .profile-wrap .profile-item .profile-text * + *{
	margin-top:1em;
}
.profile-whole .profile-wrap .profile-item .profile-text p + span{
	margin-top:0.25em;
}
.profile-whole .profile-wrap .profile-item .profile-text iframe{
	margin-bottom:0;
}
@media screen and (max-width:1100px) {
	.profile-whole .profile-wrap{
		padding:100px 50px;
	}
	.profile-whole .profile-wrap .profile-item{
		padding-inline:25px;
	}
}
@media screen and (max-width:768px) {
	.profile-whole .profile-wrap{
		padding:40px 15px;
	}
	.profile-whole .profile-wrap .profile-item{
		padding-inline: 10px;
		flex-wrap: wrap;
		gap: 1em;
	}
	.profile-whole .profile-wrap .profile-item + .profile-item{
		margin-top:1.5em;
		padding-top:1.5em;
	}
	.profile-whole .profile-wrap .profile-item .profile_title{
		width:100%;
	}
	.profile-whole .profile-wrap .profile-item .profile_title .style_h2{
		font-size:1.07rem;
	}
	.profile-whole .profile-wrap .profile-item .profile_title p{
		font-size:0.86rem;
	}
	.profile-whole .profile-wrap .profile-item .profile-text{
		width:100%;
	}
	.profile-whole .profile-wrap .profile-item .profile-text iframe{
		height:auto;
		aspect-ratio:3 / 2;
	}
}

body:not(.home) .guideline-whole{
	position:relative;
	max-width: 1200px;
	margin: 0 auto;
}
body:not(.home) .guideline-whole .guideline-wrap{
	position:relative;
}
body:not(.home) .guideline-whole .guideline-wrap + .guideline-wrap{
	margin-top: 3em;
}
body:not(.home) .font-midium{
	font-weight:500;
}
body:not(.home) .guideline-whole .guideline-wrap .guideline-item + .guideline-item{
	margin-top:3em;
}
body:not(.home) .guideline-whole .style_h2{
	font-size:2rem;
	font-weight:bold;
	margin-bottom: 1.5em;
	color:var(--keycolor);
	letter-spacing: 0.1em;
	font-family: var(--fontB);
}
body:not(.home) .guideline-whole .style_h3{
	font-size:1.5rem;
	font-weight:bold;
	margin-block: 1em;
	color:var(--keycolor);
	letter-spacing: 0.1em;
}
body:not(.home) .guideline-whole p{
	line-height:1.875;
	letter-spacing: 0.1em;
}
body:not(.home) .guideline-whole p a{
	font-weight:bold;
}
body:not(.home) .guideline-whole a{text-decoration-color: var(--keycolor);}
body:not(.home) .guideline-whole .guideline-list{
	margin:0;
	counter-reset: number 0;
	font-family: var(--fontL);
}
body:not(.home) .guideline-whole .guideline-list .guideline-text{
	margin-block:0;
	position:relative;
	padding-left: 1em;
	display: block;
	letter-spacing: 0.1em;
	line-height: 1.875;
	list-style: none;
}
body:not(.home) .guideline-whole ol.guideline-list .guideline-text{
	padding-left:2em;
}
body:not(.home) .guideline-whole ol.guideline-list .guideline-text:before{
	counter-increment: number 1;
	content:counter(number) ".";
	background:none;
	width: 2em;
	height:2em;
	inset: 0.5em auto auto 0em;
	font-size:0.75rem;
}
body:not(.home) .guideline-whole .guideline-list .guideline-text:before{
	content:"";
	width: 0.5em;
	height:0.5em;
	background:var(--keycolor);
	position:absolute;
	border-radius:50%;
	inset: 0.75em auto 0 0;
}
body:not(.home) .guideline-whole .guideline-list .guideline-text + .guideline-text{
	margin-top: 0.5em;
}
body:not(.home) .guideline-whole ul + p,
body:not(.home) .guideline-whole p + ul{
	margin-top:1em;
}
body:not(.home) .guideline-whole ul + ul,
body:not(.home) .guideline-whole .guideline-list + .guideline-list{
	margin-top: 2em;
	padding-top: 2em;
	position:relative;
}
body:not(.home) .guideline-whole ul + ul:before{
	content:"";
	width:210px;
	height:1px;
	background:var(--keycolor);
	position:absolute;
	inset:0 auto auto 0;
}
body:not(.home) .guideline-whole .table_wrap table{
	margin-bottom:1em;
}
body:not(.home) .guideline-whole .table_wrap table th,
body:not(.home) .guideline-whole .table_wrap table td{
	text-align:center;
	border-color:#b6cbb4;
	letter-spacing: 0.1em;
	padding-block: 0.75em;
	background: rgba(255,255,255,0.7);
}
body:not(.home) .guideline-whole .table_wrap table td{
	/* border: 2px solid #e1e8dd; */
}
body:not(.home) .guideline-whole .table_wrap table th{
	background:#93a994;
	color:#fff;
}
body:not(.home) .guideline-whole .table_wrap  p{
	margin-bottom:0;
	font-size:0.875rem;
	letter-spacing:0.05em;
}
body:not(.home) .guideline-whole .table_wrap + .style_h3{
	margin-top:2em;
}
body:not(.home) .guideline-whole .white-box{
	background:#e1e8dd;
	padding: 40px 45px;
	margin-bottom:1em;
}
body:not(.home) .guideline-whole .white-box p{
	margin-bottom:0;
}
body:not(.home) .guideline-whole .white-box p + p{
	margin-top:1em;
}
body:not(.home) .guideline-whole .white-box + p{
	margin-bottom:0;
}
@media (any-hover: hover) {
	body:not(.home) .guideline-whole a:hover{
		text-decoration: underline transparent;
	}
}
@media screen and (max-width:768px) {
	body:not(.home) .guideline-whole .guideline-wrap + .guideline-wrap{
		margin-top:2em;
	}
	body:not(.home) .guideline-whole .guideline-wrap .guideline-item + .guideline-item{
		margin-top:2em;
	}
	body:not(.home) .guideline-whole .style_h2{
		font-size:1.47rem;
		margin-bottom: 1em;
	}
	body:not(.home) .guideline-whole .style_h3{
		font-size:1.29rem;
	}
	body:not(.home) .guideline-whole ol.guideline-list .guideline-text:before{
		counter-increment: number 1;
		content:counter(number) ".";
		background:none;
		width: 2em;
		height:2em;
		inset: 0.5em auto auto 0em;
		font-size:0.75rem;
	}
	body:not(.home) .guideline-whole .guideline-list .guideline-text:before{
		width: 0.375em;
		height:0.375em;
	}
	body:not(.home) .guideline-whole ul + ul,
	body:not(.home) .guideline-whole .guideline-list + .guideline-list{
		margin-top: 2em;
		padding-top: 2em;
	}
	body:not(.home) .guideline-whole ul + ul:before{
		width:150px;
	}
	body:not(.home) .guideline-whole .table_wrap table td{
		border:1px solid #e1e8dd;
	}
	body:not(.home) .guideline-whole .table_wrap  p{
		font-size:0.86rem;
	}
	body:not(.home) .guideline-whole .white-box{
		padding: 30px 15px;
	}
	body:not(.home) .guideline-whole ol.guideline-list .guideline-text{
		padding-left:1.5em;
	}
	.guideline-whole .sp_slide{
		overflow:auto;
	}
	.guideline-whole .sp_slide table{
		width:800px;
	}
}

main.page-customer .article_head .visual .ttl_set  [lang="en"]{
	font-size:6.125rem;
}
@media screen and (max-width:1480px) {
	main.page-customer .article_head .visual .ttl_set  [lang="en"]{
		font-size:5.5rem;
	}
}
@media screen and (max-width:768px) {
	main.page-customer .article_head .visual .ttl_set  [lang="en"]{
		font-size: 4rem;
	}
}

/*contact*/
body:not(.home) .contact-whole{
	position:relative;
}
body:not(.home) .contact-whole .contact-wrap{
	background:#e1e8dd;
	padding: 70px 85px 85px;
}
body:not(.home) .contact-whole .contact-wrap .snow-monkey-form{
	max-width:1010px;
	margin:0 auto;
}
body:not(.home) .contact-thanks .contact-whole .contact-wrap {
	padding:105px 85px;
}
.contact-thanks .contact-wrap .check_icon,
.contact-thanks .contact-wrap .thanks_title,
.contact-thanks .contact-wrap p{
	text-align:center;
	color:var(--keycolor);
}
.contact-thanks .contact-wrap .thanks_title{
	font-size:2.25rem;
	font-weight:bold;
	margin-bottom: 1.25em;
}
.contact-thanks .contact-wrap .thanks_title span{
	display:block;
	font-size:1rem;
	font-weight:400;
	margin-top:0.75em;
	letter-spacing:0.1em;
}
.contact-thanks .contact-wrap p{
	font-weight:500;
	letter-spacing:0.2em;
	line-height: 2;
	font-family: var(--fontR);
}
.contact-thanks .contact-wrap .btn{
	margin: 3em auto 0;
}
@media screen and (max-width:767px) {
	body:not(.home) .contact-whole .contact-wrap{
		padding: 2em var(--inner);
	}
	body:not(.home) .contact-thanks .contact-whole .contact-wrap {
		padding: 2em var(--inner);
	}
	.contact-thanks .contact-wrap .thanks_title{
		font-size:1.71rem;
	}
	.contact-thanks .contact-wrap p{
		text-align:left;
	}
	.contact-thanks .contact-wrap .check_icon{
		width:15%;
		margin:0 auto 0.5em;
	}
	main.page-contact .article_body_inner{
		padding:0;
	}
}

/*history*/
body.post-name-history p{
	line-height:1.875;
}
body.post-name-history .history-wrap{
	padding-inline: 105px;
}
body.post-name-history h2.wp-block-heading{
	font-size:4rem;
	margin-bottom: 0.5em;
	font-family: var(--fontB);
}
body.post-name-history h2.wp-block-heading:has(em){
	display:flex;
	align-items:baseline;
	gap:0.25em 0.5em;
	flex-wrap:wrap;
	line-height:1.1;
}
body.post-name-history .wp-block-colums{
	flex-wrap:wrap;
}

@media screen and (max-width:1200px) {
	body.post-name-history .history-wrap{
		padding-inline:50px;
	}
	body.post-name-history .fist-fix {
		--width:26em;
	}
}
@media screen and (max-width:1200px) and (min-width:768px){
	body.post-name-history .fist-fix > .wp-block-column:first-child{
		min-width: var(--width);
	}
	body.post-name-history .fist-fix > .wp-block-column:last-child{
		width: calc(100% - var(--width));
	}
}
@media screen and (max-width:767px) {
	body.post-name-history .history-wrap{
		padding-inline:15px;
	}
	body.post-name-history  h2.wp-block-heading{
		font-size: 2.5rem;
		margin-bottom:1em;
	}
}
/*business*/
main.page-business .business-green{
	background:#93a994;
	padding: 105px 105px 80px;
	color:#fff;
	margin-bottom:5em;
}
main.page-business .business-green .business-green-image{
	text-align:center;
	margin-bottom: 3.5em;
}
:root .focus-image{
	appearance:none;
	border:none;
	background:none;
	position:relative;
	z-index:1;
}
:root .focus-image i{
	position:absolute;
	inset:auto 0 -3.5em;
	display:flex;
	align-items:center;
	justify-content:center;
	margin:auto;
	z-index:2;
	background:rgba(0,0,0,0.5);
	width:fit-content;
	height:fit-content;
	padding:0.5em 1em;
	color:#fff;
	transition:var(--hover);
	opacity:0;
	pointer-events:none;
	font-size:0.875rem;
	flex-direction:column;
	gap:0.25em;
}
main.page-business .business-green .business-green-text p{
	line-height: 2;
	letter-spacing: 0.15em;
	margin-bottom: 0;
}
main.page-business .article_body section{
	padding-bottom:0;
}
main.page-business .article_body section + section{
	margin-top: 5em;
	padding-top: 4em;
	border-top: 1px solid #a8a8a8;
}
main.page-business .business-wrap-title{
	margin-bottom:3em;
}
main.page-business .business-wrap-title .style_h3{
	font-size:2rem;
}
main.page-business .business-box{
	padding:60px 105px;
}
main.page-business .business-box .style_h4{
	text-align:center;
	font-size:1.75rem;
	font-weight:bold;
	color:var(--keycolor);
	margin-bottom: 0.75em;
}
main.page-business .business-box ul{
	padding:0;
	margin:0;
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	flex-wrap:wrap;
	gap:1em;
}
main.page-business .business-box ul li{
	margin:0;
	width:calc(20% - 1em);
	text-align:center;
	aspect-ratio:22 / 13;
	border:1px solid var(--keycolor);
	display:flex;
	justify-content:center;
	align-items:center;
}
main.page-business .business-box ul li p{
	margin-bottom:0;
	font-size:1.25rem;
	font-weight:bold;
	color:var(--keycolor);
	font-family: var(--fontR);
}
main.page-business .business-strengths{
	position:relative;
}
main.page-business .business-strengths .business-strengths-top{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	gap:3em;
}
main.page-business .business-strengths .business-strengths-top .h_group_title{
	width: 23em;
}
main.page-business .business-strengths .business-strengths-top .business-strengths-top-text{
	width: calc(100% - 26em);
}
main.page-business .business-strengths .style_h3{
	font-size:2rem;
	margin-bottom: 0.5em;
}
main.page-business .business-strengths .business-strengths-top .business-strengths-top-text p{
	line-height: 2;
	letter-spacing: 0.1em;
}
main.page-business .business-strengths .business-strengths-bottom{
	max-width:1316px;
	margin: 2em auto 0;
}
main.page-business .business-strengths .business-strengths-bottom ul{
	padding:0;
	margin:0;
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	gap:1em;
}
main.page-business .business-strengths .business-strengths-bottom ul li{
	margin:0;
	width:calc(33% - 1em);
	text-align:center;
	aspect-ratio:1 / 1;
	border:1px solid var(--keycolor);
	display:flex;
	justify-content: flex-start;
	align-items:center;
	border-radius:50%;
	flex-direction:column;
	padding-block: 6em 3em;
}
main.page-business .business-strengths .business-strengths-bottom ul li .strengths-bottom-iamge{
	margin-bottom: 1.5em;
}
main.page-business .business-strengths .business-strengths-bottom ul li p{
	margin-bottom:0;
	font-size:1.5rem;
	font-weight:bold;
	color:var(--keycolor);
	letter-spacing: 0.1em;
	font-family: var(--fontR);
}
main.page-business .business-strengths .business-strengths-bottom li .mini-col{
	display:flex;
	justify-content:flex-start;
	align-items:stretch;
	max-width:174px;
	flex-wrap:wrap;
	gap: 0.25em 1.125em;
	margin: 1em auto 0;
}
main.page-business .business-strengths .business-strengths-bottom li .mini-col span{
	font-size:1rem;
	color:var(--keycolor);
	display: inline-block;
	line-height: 1;
}
main.page-business .business-strengths .business-strengths-bottom .business-strengths-bottom-text{
	font-size:1.25rem;
	font-weight:bold;
	text-align:center;
	line-height:1.75;
	letter-spacing:0.1em;
	color:var(--keycolor);
	margin-block:2em 0;
	font-family: var(--fontR);
}
main.page-business .btn.wide .ttl_set{
	justify-content:flex-start;
	align-items: flex-start;
}
main.page-business .btn.wide .ttl_set h2{
	text-align:left;
	margin-left:0;
	color:#fff;
	display: block;
	font-size: 1rem;
}
main.page-business .article_body #business hgroup [lang="en"]{
	font-size:5.625rem;
}
main.page-business .btn.wide{
	padding-left:80px;
}
main.page-business .btn.wide .icon img{
	filter: brightness(0) invert(1);
}
@media screen and (max-width:1316px) {
	main.page-business .business-strengths .business-strengths-bottom ul li p{
		font-size:min(5vw,1.25rem);
	}
	main.page-business .business-strengths .business-strengths-bottom ul li{
		padding-block: 4.5vw 3vw;
	}
}
@media screen and (max-width:1100px) {
	main.page-business .business-box{
		padding:60px 50px;
	}
	main.page-business .business-strengths .business-strengths-top .h_group_title{
		width: 19.5em;
	}
	main.page-business .article_body hgroup [lang="en"]{
		font-size: 3.25rem;
	}
	main.page-business .business-strengths .business-strengths-top .business-strengths-top-text{
		width: calc(100% - 22.5em);
	}
	main.page-business .business-strengths .business-strengths-bottom ul li .strengths-bottom-iamge{
		margin-bottom: 1.5em;
		width:25%;
	}
	main.page-business .business-strengths .business-strengths-bottom li .mini-col{
		max-width:174px;
		margin-top:1em;
	}
	main.page-business .business-strengths .business-strengths-bottom li .mini-col span{
		font-size:min(4vw,1rem);
	}
	main.page-business .business-box ul li p{
		font-size:1.125rem;
	}
}
@media screen and (max-width:768px) {
	main.page-business .article_body section + section{
		margin-top:3em;
		padding-top:3em;
	}
	main.page-business .business-green{
		padding: 30px 15px 20px;
		margin-bottom:3em;
	}
	main.page-business .business-green-image{
		/*overflow:auto;*/
	}
	main.page-business .business-green-image img{
		/* max-width: 800px; */
	}
	:root .focus-image i{
		opacity:1;
	}
	:root .focus-image:is(:focus,:active,:hover) i{
		opacity:0;
	}
	:root .focus-image i img{
		filter:var(--white);
	}
	main.page-business .business-wrap-title .style_h3{
		font-size:1.5rem;
	}
	main.page-business .business-box{
		padding:30px 15px;
	}
	main.page-business .business-box .style_h4{
		font-size:1.29rem;
	}
	main.page-business .business-box ul{
		justify-content:center;
	}
	main.page-business .business-box ul li{
		width: calc(33% - 0.75em);
	}
	main.page-business .business-box ul li p{
		margin-bottom:0;
		font-size:0.86rem;
	}
	main.page-business .business-strengths .business-strengths-top{
		gap:0em;
		flex-wrap:wrap;
	}
	main.page-business .business-strengths .business-strengths-top .h_group_title{
		width:100%;
		margin-bottom: 1.5em;
	}
	main.page-business .business-strengths .business-strengths-top .business-strengths-top-text{
		width:100%;
	}
	main.page-business .business-strengths .style_h3{
		font-size:1.47rem;
	}
	main.page-business .business-strengths .business-strengths-bottom ul{
		gap:1.5em;
		flex-wrap:wrap;
	}
	main.page-business .business-strengths .business-strengths-bottom ul li{
		width: 100%;
		justify-content: flex-start;
		align-items: center;
		padding: 1em 1em 1em 2em;
		border-radius: 10px;
		aspect-ratio: inherit;
		display: flex;
		flex-direction: row;
		gap: 1.5em;
	}
	main.page-business .business-strengths .business-strengths-bottom ul li .strengths-bottom-iamge{
		margin-bottom: 0;
		width: 50px;
	}
	main.page-business .business-strengths .business-strengths-bottom ul li .strengths-bottom-text{
		width: calc(100% - 50px - 1.5em);
	}
	main.page-business .business-strengths .business-strengths-bottom ul li p{
		font-size:1rem;
		text-align:left;
	}
	main.page-business .business-strengths .business-strengths-bottom li .mini-col{
		max-width: 100%;
		margin:1em auto 0
	}
	main.page-business .business-strengths .business-strengths-bottom li .mini-col span{
		font-size:0.75rem;
	}
	main.page-business .business-strengths .business-strengths-bottom .business-strengths-bottom-text{
		font-size:1rem;
		margin-block:2em 0;
		text-align:left;
	}
	main.page-business .business-strengths .business-strengths-bottom{
		margin-top:1em;
	}
	main.page-business .article_body #business hgroup [lang="en"]{
		font-size: 2.857rem;
	}
	main.page-business a.btn.wide{
		padding-left:1.5em;
		margin-inline: 0;
		max-width: 100%;
	}
}


/*products*/
main.archive-product .tab_change .controller{
	margin:0;
}
main.archive-product .product-link{
	display:flex;
	justify-content:center;
	align-items:stretch;
	gap: 1.5em;
	padding:0;
	margin-bottom: 4em;
	list-style:none;
}
main.archive-product .product-link li{
	margin-block:0;
	width: 160px;
}
main.archive-product .product-link li label{
	display:inline-block;
	color:var(--green02);
	text-decoration:none;
	position:relative;
	padding-left:1em;
	transition:.5s font-weight,.5s color;
	padding-bottom: 0.125em;
	font-size: 1.125rem;
	width: 100%;
	line-height: 1.75;
}
main.archive-product .product-link li label p{
	margin-bottom:0;
	font-family: var(--fontR);
}
main.archive-product .product-link li label:before{
	content:"";
	width:7px;
	height:7px;
	background:transparent;
	border:1px solid var(--green02);
	border-radius:50%;
	position:absolute;
	inset:0 auto 0 0;
	margin:auto;
	transition:.5s background,.5s border-color;
}
main.archive-product .product-link li label:after{
	content:"";
	height:1px;
	width:100%;
	background:var(--green02);
	position:absolute;
	inset:auto 0 0 0;
	margin:auto;
	transition:.5s background-color,.5s height;
}
main.archive-product .tab_change:has(.controller input[id$="01"]:checked) .product-link li label[for$="01"],
main.archive-product .tab_change:has(.controller input[id$="02"]:checked) .product-link li label[for$="02"]{
	color:var(--keycolor);
	font-weight:bold;
}
main.archive-product .tab_change:has(.controller input[id$="01"]:checked) .product-link li label[for$="01"]:before,
main.archive-product .tab_change:has(.controller input[id$="02"]:checked) .product-link li label[for$="02"]:before{
	background:var(--keycolor);
	border-color:var(--keycolor);
}
main.archive-product .tab_change:has(.controller input[id$="01"]:checked) .product-link li label[for$="01"]:after,
main.archive-product .tab_change:has(.controller input[id$="02"]:checked) .product-link li label[for$="02"]:after{
	background:var(--keycolor);
	height:2px;
}
main.archive-product .product-wrap + .product-wrap{
	margin-top:5em;
	padding-top:4em;
	border-top:1px solid #a8a8a8;
}
main.archive-product .article_body hgroup{
	margin-bottom:5em;
}
main.archive-product .products-list{
	display:flex;
	justify-content:flex-start;
	align-items:stretch;
	flex-wrap:wrap;
	gap: 3em 2em;
	padding: 0;
	margin-bottom: 0;
}
main.archive-product .products-list .product-item{
	width: calc(33% - 1.125em);
}
main.archive-product .products-list .product-item a{
	text-decoration: none;
	height: 100%;
	display: block;
}
main.archive-product .products-list .product-item .product-image{
	aspect-ratio: 446 / 335;
	overflow:hidden;
}
main.archive-product .products-list .product-item .product-image img{
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
	transition:.5s transform;
}
main.archive-product .products-list .product-item{
	background:#e1e8dd;
	margin-block:0;
}
main.archive-product .products-list .product-item .product-text{
	padding:30px;
}
main.archive-product .products-list .product-item .product-text p{
	margin-bottom:0;
}
main.archive-product .products-list .product-item .product-text p + p{
	margin-top:1em;
}
main.archive-product .products-list .product-item .product-text .product-title{
	position: relative;
	font-size:1.5rem;
	font-weight:bold;
	margin-bottom:0.5em;
	color:var(--keycolor);
	display: inline-block;
	transition: .5s text-decoration;
	text-decoration:underline;
	text-decoration-color:var(--keycolor);
	text-underline-offset:5px;
	letter-spacing: 0.06em;
}
main.archive-product .products-list .product-item .product-text .product-title:after{
	content:"";
	width:20px;
	height:20px;
	background:url(../img/icon-blank.svg) no-repeat center / contain;
	position:relative;
	display:inline-block;
	top:3px;
	border-bottom:0;
	margin-left:0.5em;
}
main.archive-product .products-list .product-item .product-text > p{
	line-height: 1.6;
	font-weight:500;
}
main.archive-product .products-list .product-item:has(.product-btn-wrap) .product-text > p{
	margin-bottom: 80px;
}
main.archive-product .products-list .product-item .product-text i{
	display:none;
}
main.archive-product .games .products-list{
	gap: 1.5em;
}
main.archive-product .games .products-list .product-item{
	width:100%;
	position: relative;
}
main.archive-product .games .products-list .product-item a{
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	background:#e1e8dd;
}
main.archive-product .games .products-list .product-item .product-image{
	width:450px;
	aspect-ratio: 450 / 338;
}
main.archive-product .games .products-list .product-item .product-text{
	position:relative;
	width:calc(100% - 450px);
	padding: 40px 130px 40px 40px;
}
main.archive-product .games .products-list .product-item .product-btn-wrap{
	display:flex;
	justify-content:flex-start;
	align-items:center;
	gap:1em;
	margin-block: 2em 0;
	padding-left:0;
	position: absolute;
	inset: auto auto 40px 490px;
	margin: auto;
}
main.archive-product .games .products-list .product-item .product-btn-wrap .product-btn{
	margin-block:0;
}
main.archive-product .games .products-list .product-item .product-btn-wrap .product-btn a{
	transition:.5s transform;
}
main.archive-product .games .products-list .product-item .product-text i{
	position:absolute;
	inset: 0 5% 0 auto;
	margin:auto;
	height: fit-content;
	display:block;
}
main.archive-product .games .products-list .product-item .product-text i p{
	content:"";
	height: 2.5em;
	display:flex;
	align-items:center;
	justify-content:center;
	aspect-ratio:1 / 1;
	background: #d2ddcd;
	border-radius:50%;
	position:relative;
	z-index:1;
}
main.archive-product .games .products-list .product-item .product-text i p:after{
	content:"";
	display:block;
	position:absolute;
	inset: 17px;
	background:var(--green);
	border: solid var(--fontcolor) 3px;
	z-index:2;
	border-radius:50%;
	transition:inset .2s, border-width .2s;
}
main.archive-product .games .products-list .product-item a:hover .product-text i p:after{
	inset:0;
	border-width:11px;
}
main.archive-product .games .products-list .product-item .product-text .product-title{
	font-size:1.625rem;
}
main.archive-product .games .products-list .product-item .product-text .product-title:after{
	width:16px;
	height:16px;
}
@media (any-hover: hover) {
	main.archive-product .product-link li label:hover{
		color:var(--keycolor);
		font-weight:bold;
	}
	main.archive-product .product-link li label:hover:before{
		background:var(--keycolor);
		border-color:var(--keycolor);
	}
	main.archive-product .product-link li label:hover:after{
		background:var(--keycolor);
		height:2px;
	}
	main.archive-product .products-list .product-item a:hover .product-image img{
		transform:scale(1.05);
	}
	main.archive-product .products-list .product-item .product-btn-wrap .product-btn a:hover{
		transform:translateY(5px);
	}
	main.archive-product .products-list .product-item a:hover .product-text .product-title{
		text-decoration-color:transparent;
	}
}

@media screen and (max-width:1230px) {
	main.archive-product .games .products-list .product-item .product-btn-wrap{
		width:35%;
	}
	main.archive-product .games .products-list .product-item .product-text{
		padding: 40px 90px 40px 40px;
	}
}
@media screen and (max-width:990px) {
	main.archive-product .products-list .product-item{
		width: calc(33% - 1.5em);
	}
}

@media screen and (max-width:768px) {
	main.archive-product .product-link{
		margin-bottom:2.5em;
	}
	main.archive-product .product-link li{
		width:48%;
	}
	main.archive-product .products-list .product-item{
		width:100%;
	}
	main.archive-product .products-list .product-item .product-text{
		padding:30px 15px;
	}
	main.archive-product .article_body hgroup{
		margin-bottom:3em;
	}
	main.archive-product .games .products-list .product-item{
		width:100%;
		position: relative;
	}
	main.archive-product .games .products-list .product-item a{
		flex-wrap:wrap;
		height: auto;
	}
	main.archive-product .games .products-list .product-item .product-image{
		width:100%;
	}
	main.archive-product .games .products-list .product-item .product-text{
		width:100%;
		padding:30px 15px;
	}
	main.archive-product .products-list .product-item:has(.product-btn-wrap) .product-text > p{
		margin-bottom:0;
	}
	main.archive-product .games .products-list .product-item .product-btn-wrap{
		gap:0.5em 1em;
		margin-block:0;
		padding-left:0;
		padding-bottom:30px;
		inset:0;
		position:relative;
		width:100%;
		padding-inline:15px;
		flex-wrap:wrap;
	}
	main.archive-product .product-wrap + .product-wrap{
		margin-top:3em;
		padding-top:3em;
	}
	main.archive-product .games .products-list .product-item .product-text i{
		display:none;
	}
	main.archive-product .products-list .product-item .product-btn-wrap .product-btn a img{
		max-height: 40px;
	}
	main.archive-product .products-list .product-item .product-text .product-title:after{
		width:16px;
		height:16px;
		top: 1px;
	}
	main.archive-product .games .products-list .product-item .product-text .product-title:after{
		width: 18px;
		height: 18px;
	}
}
:root .article-page ul.wp-block-list li{
	list-style:inherit;
}
#xj-mainlist .xj-list__notice-item a[href$=".pdf"] {
	display:block !important;
}

.contact-wrap form label{
	display:flex;
	width:100%;
	gap:1em;
	--width:250px;
	align-items:flex-start;
}
.contact-wrap form label br{
	display:none;
}
.contact-wrap form .form-ttl{
	font-size: 1.125rem;
	display:flex;
	gap:1em;
	align-items:center;
	width:var(--width);
	font-family:var(--fontR);
	padding-block:0.75em;
}
.contact-wrap form .form-ttl i{
	display: inline-block;
	font-size: 0.6rem !important;
	line-height: 1;
	color: #fff !important;
	background: #db293a !important;
	padding: 0.35em 1.0875em !important;
	margin: 0;
}
.contact-wrap form :is(.form-wrap,.select-wrap){
	display:flex;
	flex-grow:1;
}
.contact-wrap form :is(.form-wrap,.select-wrap) > *{
	width:100%;
	display:block;
}
.contact-wrap form .wpcf7c-conf,
.contact-wrap form :is(.form-wrap,.select-wrap) input[readonly]{
	background:#ddd;
	border:solid 1px #999;
}
.contact-wrap form .select-wrap select{
	appearance:auto;
	width:auto;
	max-width:100%;
}
.contact-wrap .form-info{
	text-align:center;
	font-size:1rem;
	line-height:1.8;
	margin-block:3.5em 0;
}
.contact-wrap .form-info a{
	text-decoration:underline solid;
}
.contact-wrap label:has(input[type="checkbox"]){
	display:inline-flex;
	align-items:center;
	gap:0.5em;
	font-size:1.25rem;
	margin-block:1em;
	font-family:var(--fontR);
}
.contact-wrap .send-area{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:2em;
	flex-wrap:wrap;
	flex-direction:row-reverse
}
.contact-wrap .send-area .ajax-loader{
	flex-basis:100%;
	order:2;
	max-width: 16px;
	margin-inline: 45%;
}
.contact-wrap .send-area input{
	display:flex;
	align-items:center;
	font-size:1.1rem;
	padding:0.5em 2em;
	border:solid 1px #666;
	border-radius:0.35rem;
	min-width:300px;
	min-height:4em;
}
.contact-wrap .send-area input.back-btn{
	order:1;
}

@media screen and (max-width:767px) {
	.contact-wrap form label{
		display:block;
		width:100%;
		--width:100%;
	}
}