@charset "utf-8";
:root {
	--c_bk:#4D4D4D;
	--c_bc:#000000;
	--c_wh:#ffffff;
	--c_gy:#f5f5f5;
	--c_g2:#eeeeee;
	--c_rd:#DC0019;
	--tr_cb: cubic-bezier(.68,.03,.31,.94);
}
.clr-bk {color: var(--c_bk)!important;}
.clr-bc {color: var(--c_bc)!important;}
.clr-wh {color: var(--c_wh)!important;}
.clr-gy {color: var(--c_gy)!important;}
.clr-g2 {color: var(--c_g2)!important;}
.clr-rd {color: var(--c_rd)!important;}
.bg-bk {background-color: var(--c_bk)!important;}
.bg-bc {background-color: var(--c_bc)!important;}
.bg-wh {background-color: var(--c_wh)!important;}
.bg-gy {background-color: var(--c_gy)!important;}
.bg-g2 {background-color: var(--c_g2)!important;}
.bg-rd {background-color: var(--c_rd)!important;}

.fo-figtree,.eng {
	font-family: "figtree", sans-serif;
	font-weight: 400;
	font-style: normal;
	line-height: 1;
}

body {
	padding-top: 8rem;
}
.thumb {
	position: relative;
	aspect-ratio: 4/3;
	overflow: hidden;
}
.thumb img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transform: scale(1.01);
	opacity: 1!important;
	transition: .4s;
}
a:hover .thumb img,
.thumb a:hover img {
	transform: scale(1.08);
}
.btnWrap {
	margin-top: 5rem;
}
.btn {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: 1rem;
	font-size: 1.6rem;
	color: var(--c_rd);
	border: 1px solid var(--c_rd);
	border-radius: 10rem;
	text-align: center;
	letter-spacing: .05em;
	line-height: 1.2;
	padding: 1rem;
	transition: .2s;
	font-feature-settings: "halt";
	min-width: 18.5rem;
}
.btn::after {
	content: "";
	display: block;
	background: url(../img/arrow_rd.svg) center center no-repeat;
	background-size: contain;
	width: 0.5rem;
	aspect-ratio: 5/8;
}
.btn._wh {
	border-color: #fff;
	color: #fff;
}
.btn._wh::after {
	background-image: url(../img/arrow_wh.svg);
}
.btn:hover {
	transform: translateY(-.7rem);
	box-shadow: 0 .7rem 0 rgba(0, 0, 0, 0.3);
}
.btn02 {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: 1rem;
	border: 1px solid var(--c_rd);
	background: #fff;
	text-align: center;
	letter-spacing: .05em;
	line-height: 1.2;
	padding: 1rem;
	transition: .2s;
	min-width: 18rem;
	margin-top: 2rem;
}
.btn02::after {
	content: "";
	display: block;
	background: #fff url(../img/arrow_rd.svg) center center no-repeat;
	background-size: 30%;
	border-radius: 50%;
	width: 1.5rem;
	border: 1px solid var(--c_rd);
	aspect-ratio: 1;
}
.btn02:hover {
	background-color: var(--c_rd);
	color: #fff;
}
.ttlBox {
	letter-spacing: 0.05em;
	text-align: left;
	margin-bottom: 6rem;
}
.ttlBox.d-flex {
	align-items: center;
}
.ttlBox h2 {
	font-size: 3rem;
	line-height: 1.2;
}
.ttlBox .btnWrap {
	margin: 0 0 0 4rem;
}

/*lorder
---------------------------------------------------------*/
.loader-bg {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 99999;
	background-color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}
.loadBox {
	animation: blinking .6s infinite alternate;
}
@keyframes blinking {
	0% {opacity: .2;}
	100% {opacity: 1;}
}
.loader {
  width: 3.8rem;
  aspect-ratio: 1;
  display: grid;
}
.progress {
  width: 100%;
  height: 2px;
  margin: 2rem auto 0;
  background: #D8D8D8;
  overflow: hidden;
}
.progress-bar {
  width: 0%;
  height: 100%;
  background: #A7AAA9;;
  transition: width .6s linear;
}

/*header
---------------------------------------------------------*/
#header {
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 9990;
	transition: .2s;
}
#header.scrl {
	box-shadow: 0 0 .5rem rgba(0, 0, 0, .05);
}
.hWrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	text-align: left;
	gap: 0 2rem;
	padding-left: 2rem;
}
img[src*="/logo.png"] {
	max-height: 4.5rem;
}
.menuIconWrap,
.spLogo {
	display: none;
}
#nav {
	display: flex;
	align-items: center;
	gap: 0 4rem;
	font-size: 1.5rem;
}
.nav {
	display: flex;
	align-items: center;
	gap: 0 4rem;
}
.hBtn {
	display: flex;
}
.hBtn a {
	width: 24rem;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	height: 8rem;
	color: #fff;
	text-align: center;
	background: var(--c_bk);
	font-size: 1.8rem;
}
.hBtn a::before {
	content: "";
	display: block;
	background: url(../img/icon_dl.svg) center center no-repeat;
	background-size: contain;
	width: 1.9rem;
	aspect-ratio: 1;
}
.hBtn ._02 a {
	background: var(--c_rd);
}
.hBtn ._02 a::before {
	background-image: url(../img/icon_mail.svg);
	width: 2.4rem;
	aspect-ratio: 3/2;
}
.hBtn a:hover {
	background: #000;
}
.nav > li > a:hover {
	color: var(--c_rd);
}
.nav a {
	white-space: nowrap;
}
.tgl a {
	display: inline-block;
	position: relative;
	cursor: pointer;
	padding-bottom: 3rem;
	margin-bottom: -3rem;
}
.tgl.open > a {
	color: var(--c_rd);
}
.tgl:not(.open) .ddNavArea {
	pointer-events: none;
}
.ddNavArea {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: rgba(0, 0, 0, 0.5);
	backdrop-filter: blur(5px);
	padding: 3rem 0;
	text-align: left;
	font-size: 1.5rem;
	color: #fff;
}
.ddNavArea a {
	display: block;
	color: #fff;
	white-space: normal;
}
.ddNavArea dl {
	display: flex;
	justify-content: space-between;
	gap: 2rem;
}
.ddNavArea dt .eng {
	font-size: 3.6rem;
	font-weight: 700;
}
.ddNavArea dd {
	width: 72rem;
}
.ddNavArea dt a {
	position: relative;
	display: block;
}
.ddNavArea dt span {
	display: flex;
	align-items: center;
	margin-top: 0.5rem;
	gap: 1rem;
	position: relative;
	font-size: 2.2rem;
	white-space: nowrap;
}
.ddNavArea dt span::before {
	content: "";
	display: block;
	width: 1.5rem;
	height: 1px;
	margin-bottom: -.07em;
	background: #fff;
}
.ddNavArea dt span::after {
	content: "";
	display: block;
	border-radius: 50%;
	border: 1px solid #fff;
	background: url(../img/arrow_wh.svg) center center no-repeat;
	background-size: 30% auto;
	width: 1.8rem;
	margin-bottom: -.5rem;
	aspect-ratio: 1;
	transition: .2s;
}
.ddNavArea dt a:hover span::after {
	background-color: var(--c_rd);
	background-image: url(../img/arrow_wh.svg);
	border-color: var(--c_rd);
}
.ddNavPanel dd {
	width: 72rem;
}
.ddNav {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 2.5rem;
}
.ddNav .thumb {
	aspect-ratio: 9/4;
	margin-bottom: 0.8rem;
}
.ddNav p {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.ddNav p::after {
	content: "";
	display: block;
	border-radius: 50%;
	border: 1px solid #fff;
	background: url(../img/arrow_wh.svg) center center no-repeat;
	background-size: 30% auto;
	width: 1.7rem;
	aspect-ratio: 1;
	transition: .2s;
}
.ddNav a:hover p::after {
	background-color: var(--c_rd);
	background-image: url(../img/arrow_wh.svg);
	border-color: var(--c_rd);
}
.ddNavArea .child {
	font-size: 95%;
	height: 0;
}


/*footer
---------------------------------------------------------*/
.fBnrArea {
	overflow: hidden;
}
.fLink {
	display: grid;
	grid-template-columns: repeat(2,1fr);
}
.fLink a {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	font-size: 2rem;
	letter-spacing: 0.05em;
	padding: 12rem 1rem;
	border-top: 1px solid #CFCFCF;
	border-bottom: 1px solid #CFCFCF;
	overflow: hidden;
	position: relative;
	z-index: 1;
	transition: .4s;
}
.fLink a:hover {
	background: var(--c_rd);
	color: #fff;
}
.fLink li:not(:first-of-type) a {
	border-left: 1px solid #CFCFCF;
}
.fLink a h2 {
	font-size: 3rem;
	font-weight: 700;
	color: var(--c_rd);
}
.fLink a:hover h2 {
	color: #fff;
}
#footer {
	background: #262626;
	color: #fff;
}
.fbtmNav {
	background: #1a1a1a;
	font-size: 1.3rem;
	letter-spacing: 0.05em;
	padding: 1rem 2rem;
	display: flex;
	justify-content: center;
	align-items: center;
}
.fbtmNav a {
	color: #fff;
	display: flex;
	padding: 0 2rem;
}
.fbtmNav li:not(:first-of-type) a {
	border-left: 1px solid #fff;
}
.copyright {
	background: #fff;
	color: var(--c_bk);
	font-size: 1.2rem;
	padding: 1.5rem;
}
.fArea {
	padding: 10rem 0;
	position: relative;
}
.fNav {
	display: flex;
	justify-content: space-between;
	gap: 2rem 2rem;
	font-size: 1.5rem;
	text-align: left;
	font-weight: 400;
	letter-spacing: 0.05em;
}
.fNav a {
	color: #fff;
}
.fbtmNav a:hover,
.fNav a:hover {
	color: #9E9D9D
}
.fNav dt {
	margin-bottom: 1rem;
	display: flex;
	align-items: center;
	gap: 1rem;
	font-size: 120%;
	font-weight: 700;
}
.fNav dt::after {
	content: "";
	display: block;
	flex: 1;
	height: 1px;
	background: #fff;
}
.fNav dt.noborder::after {
	display: none;
}
.fNav li:not(:first-of-type),
.child {
	margin-top: 0.8rem;
}
.fNav li.mt {
	margin-top: 3rem;
}
.child li {
	font-size: 85%;
	display: flex;
	align-items: center;
	gap: .3em;
}
.child li::before {
	content: "";
	display: block;
	width: .3em;
	height: 1px;
	margin-bottom: -.07em;
	background: #fff;
}
.scl {
	width: fit-content;
	margin-top: -7rem;	
	margin-left: auto;
}
.scl ul {
	display: flex;
	gap: 1rem;
	margin-top: 1rem;
}
.scl li {
	margin: 0!important;
}
.fLogo {
	display: none;
}

/*toppage
---------------------------------------------------------*/
#page-index h1 {
	position: absolute;
	width: 0;
	height: 0;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	z-index: -999999;
}
.mainArea {
	height: 100vh;
	overflow: hidden;
	position: relative;
	opacity: 0;
	transition: .8s;
}
.mainArea.act {
	opacity: 1;
}
.mainMovie {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -10;
}
.mainMovie video {
	min-height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	max-width: none;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.mainCont {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 10;
}
/* .mainCont .en {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0 4rem;
	position: relative;
	z-index: 1;
}
.mainCont .jp {
	text-align: right;
	font-size: 2.2rem;
	margin-top: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	color: #fff;
	opacity: 0;
	transform: translateX(3rem);
	filter: blur(15px);
	transition: .8s 1.7s;
}
.mainCont .en p {
	z-index: 10;
	opacity: 0;
	transform: translateX(5rem);
	filter: blur(15px);
	transition: .8s 1s;
} */
.main_fade {
	max-width: 70rem;
	margin: 0 auto;
	opacity: 0;
	transition: .8s 0s;
}

.act .main_fade {
	opacity: 1;
	animation: mainFadeOut 1.5s 3s forwards;
}

@keyframes mainFadeOut {
	to {
		opacity: 0;
	}
}
.triWrap{
  position: absolute;
  top: 50%;
  left: 33%;
  transform: translateY(-50%) scale(1);
  transform-origin: 40% 50%;
	opacity: 0;
  z-index: 1;
  overflow: visible;
  isolation: isolate;
	transition: .8s 0s;
  will-change: left, transform;
}
.triWrap::before,
.triWrap::after {
  content: "";
  position: absolute;
	top: 50%;
	left: 50%;
  inset: 50% auto auto 40%;
  width: 100%;
  aspect-ratio: 1;
  border: 1px solid rgba(220,0,25,.8);
	background: rgba(255,100,100,.8);
  border-radius: 50%;
  opacity: 0;
  transform: translate(-50%,-50%) scale(.3);
  z-index: -1;
}
.triWrap::after {
	background: rgba(220,0,25,1);
}
.mainCont .tri{
  width: 22.5rem;
  aspect-ratio: 45/52;
  background-color: var(--c_rd);
  clip-path: polygon(100% 50%, 0% 0%, 0% 100%);
  transform: translate(0,0) scale(1);
  opacity: 1;
}
.mainArea.act .triWrap{
	opacity: 1;
  animation: tri-seq 1.6s .3s var(--tr_cb) forwards;
}
.mainArea.act .triWrap::before{
  animation: ripple 1.0s ease-out .3s both;
}
.mainArea.act .triWrap::after{
  border-color: rgba(220,0,25,.8);
  animation: ripple2 1.15s ease-out .46s both;
}
.mainArea.act .mainCont .jp,
.mainArea.act .en p{
  opacity: 1;
  transform: translateX(0);
  filter: blur(0);
}
.mainArea.act .en p:nth-of-type(1){ transition-delay: 1.3s; }
.mainArea.act .en p:nth-of-type(2){ transition-delay: 1.45s; }
.mainArea.act .en p:nth-of-type(3){ transition-delay: 1.60s; }
@keyframes tri-seq{
  0%   { left:33%;  transform: translateY(-50%) scale(1); }
  12%  { left:33%;  transform: translateY(-50%) scale(.92); }
  28%  { left:33%;  transform: translateY(-50%) scale(1.02);} 
  35%  { left:33%;  transform: translateY(-50%) scale(1); }
  100% { left:-4.5%; transform: translateY(-50%) scale(1); }
}
@keyframes ripple{
  0%   { opacity:.35; transform: translate(-50%,-50%) scale(.3); }
  70%  { opacity:.15; transform: translate(-50%,-50%) scale(1.6); }
  100% { opacity:0;   transform: translate(-50%,-50%) scale(2.0); }
}
@keyframes ripple2{
  0%   { opacity:.30; transform: translate(-50%,-50%) scale(.35); }
  65%  { opacity:.14; transform: translate(-50%,-50%) scale(1.8); }
  100% { opacity:0;   transform: translate(-50%,-50%) scale(2.4); }
}
@media (prefers-reduced-motion: reduce){
  .mainArea.act .triWrap,
  .mainArea.act .triWrap::before{ animation: none !important; }
  .mainArea.act .en p{ transition: none !important; }
}
.top_news {
	display: flex;
	justify-content: space-between;
	gap: 2rem;
}
.top_news h2 {
	font-size: 3rem;
	font-weight: 700;
	text-align: left;
}
.top_newsList {
	width: 80rem;
	margin-top: -1rem;
}
.newsList a {
	text-align: left;
	display: flex;
	align-items: flex-start;
	position: relative;
	gap: .5rem 3rem;
	border-bottom: 1px solid #D8D8D8;
	padding: 3rem 6.5rem 3rem 1.5rem;
	z-index: 1;
}
.newsList a::after {
	content: "";
	display: block;
	width: 2.7rem;
	aspect-ratio: 1;
	border: 1px solid var(--c_rd);
	border-radius: 50%;
	background: url(../img/arrow_rd.svg) center center no-repeat;
	background-size: 25% auto;
	position: absolute;
	right: 2rem;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
	transition: .2s .6s;
}
.newsList a::before {
	content: "";
	display: block;
	background: var(--c_gy);
	position: absolute;
	inset: 0;  
	z-index: -1;
  clip-path: inset(0 100% 0 0);
  transition: clip-path .6s var(--tr_cb);
  pointer-events: none;
  z-index: -1;
}
.newsList a:is(:hover, :focus-visible)::before{
  clip-path: inset(0 0 0 0);
  transition-delay: .1s;
}
.newsList a:hover::after {
	background-color: var(--c_rd);
	background-image: url(../img/arrow_wh.svg);
}
.newsList .txt {
	flex: 1;
	text-align: left;
	overflow: hidden;
	display: -webkit-box;
	text-overflow: ellipsis;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	line-clamp: 1;
}
.date {
	font-size: 1.4rem;
	color: var(--c_rd);
}
.cate {
	font-size: 1.2rem;
	width: 11rem;
	padding: .2rem;
	background: var(--c_bk);
	color: #fff;
	text-align: center;
}
#top_news {
	padding: 12rem 0 4rem;
}
.top_solution {
	display: grid;
	grid-template-columns: 82.5rem 1fr;
}
.top_solution .box {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: url(../img/top/solution_bg01.jpg) center center no-repeat;
	background-size: cover;
	color: #fff;
}
.top_solution dl {
	max-width: 47.5rem;
	margin: 0 auto;
	text-align: left;
	font-size: 125%;
}
.top_solution h3 {
	font-size: 2.4rem;
	margin-bottom: 3rem;
}
.top_solution h3 strong {
	font-size: 150%;
	display: block;
	font-weight: 700;
	margin-top: 0.5rem;
}
.top_solution figure {
	min-height: 55rem;
	position: relative;
	overflow: hidden;
	background: #000;
}
.top_solution figure img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	/* filter: blur(10px);
	transform: scale(1.1);
	opacity: .6; */
	transition: 1.2s .8s ease-out;
}
/* .top_solution figure.act img {
	opacity: 1;
	transform: scale(1);
	filter: blur(0);
} */
.productsSliderWrap {
	margin-right: calc(-70vw + 50%);
	margin-left: -3rem;
	position: relative;
}
.sliderTop {
	display: flex;
	justify-content: space-between;
	margin-bottom: 4rem;
}
.sliderTop .ttlBox {
	margin-bottom: 0;
}
.sliderTop .btnWrap {
	margin: 0 0 0 4rem;
}
.sliderNav {
	width: fit-content;
	margin-left: auto;
	gap: 1.5rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 1.2rem;
	font-weight: 700;
	color: var(--c_gr);
}
.SliderArrow {
	width: 2.7rem;
	aspect-ratio: 1;
	border: 1px solid var(--c_rd);
	border-radius: 50%;
	background: url(../img/arrow_rd.svg) center center no-repeat;
	background-size: 25% auto;
	position: relative;
	transition: .4s;
	cursor: pointer;
}
.SliderArrow:hover {
	background-color: var(--c_rd);
	background-image: url(../img/arrow_wh.svg);
}
.SliderArrow.prev {
	transform: rotate(180deg);
}
.productsSliderBox {
	margin: 0 3rem;
	text-align: left;
}
.productsSliderBox .thumb {
	aspect-ratio: 5/6;
	margin-bottom: 1.5rem;
}
.productsSliderBox .thumb::after {
	content: "";
	display: block;
	width: 2.7rem;
	aspect-ratio: 1;
	border: 1px solid var(--c_wh);
	border-radius: 50%;
	background: url(../img/arrow_wh.svg) center center no-repeat;
	background-size: 25% auto;
	position: absolute;
	right: 1.5rem;
	bottom: 1.5rem;
	z-index: 1;
	transition: .2s;
}
.productsSliderBox a:hover .thumb::after {
	background-color: var(--c_rd);
	background-image: url(../img/arrow_wh.svg);
	border-color: var(--c_rd);
}
.productsSliderBox h3 {
	font-size: 2rem;
	letter-spacing: 0.05em;
	margin-bottom: 0.8rem;
	transition: .2s;
}
.productsSliderBox a:hover h3 {
	color: var(--c_rd);
}
.productsSliderBox .eng {
	font-size: 1rem;
	color: var(--c_rd);
	margin-bottom: 1.5rem;
}
.productsSlider,
.columnSlider {
	display: none!important;
}
.slick-initialized.productsSlider,
.slick-initialized.columnSlider {
	display: block!important;
}
.sliderdots .slick-dots {
	display: flex;
	justify-content: center;
	gap: .6rem;
}
.sliderdots .slick-dots li {
	margin: 0;
	width: 1.2rem;
	height: 2px;
	cursor: pointer;
	background: #D8D8D8;
	transition: .4s;
}
.sliderdots .slick-dots li.slick-active {
	background: var(--c_rd);
}
.sliderdots .slick-dots button::before {
	display: none;
}
.sliderdots .slick-dots li:hover {
	background: var(--c_bk);
}
.top_company {
	display: grid;
	grid-template-columns: repeat(2,1fr);
}
.top_company .box {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: #F9F9F9 url(../img/bg01.png) top center no-repeat;
	background-size: auto 60%;
}
.top_company dl {
	max-width: 40rem;
	margin: 0 auto;
	text-align: left;
	position: relative;
	z-index: 1;
}
.top_company h3 {
	font-size: 6.2rem;
	font-weight: 700;
	color: var(--c_rd);
	margin-bottom: 2rem;
}
.top_company h4 {
	font-size: 2rem;
	color: var(--c_rd);
	letter-spacing: .05em;
	margin-bottom: 4rem;
}
.companyNav {
	position: relative;
	z-index: 5;
	background: #4d4d4d;
	z-index: 1;
}
.companyNav li + li {
	border-top: 1px solid #fff;
}
.companyNav a {
	display: flex;
	align-items: center;
	gap: 1rem 3rem;
	text-align: left;
	position: relative;
	z-index: 1;
	color: #fff;
	padding: 6.5rem;
}
.companyNav a::before {
	content: "";
	display: block;
	background: rgba(0,0,0,.5);
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	z-index: -1;
	transition: .2s;
}
.companyNav a::after {
	content: "";
	display: block;
	width: 2.7rem;
	aspect-ratio: 1;
	border: 1px solid var(--c_wh);
	border-radius: 50%;
	background: url(../img/arrow_wh.svg) center center no-repeat;
	background-size: 25% auto;
	position: absolute;
	right: 6.5rem;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
	transition: .2s;
}
.companyNav a:hover::after {
	background-color: var(--c_rd);
	background-image: url(../img/arrow_wh.svg);
	border-color: var(--c_rd);
}
.companyNav a h5 {
	font-size: 2.4rem;
	font-weight: 700;
}
.companyNav a .eng {
	color: #fff;
	margin-bottom: -0.3em;
}
.companyNav a .img {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	z-index: -5;
	aspect-ratio: auto;
	transition: .4s;
}
.companyNav a .img img,
.companyNavBg img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.companyNavBg,
.companyNavBg .bg {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
}
.companyNavBg .bg {
	opacity: 0;
	transition: .4s;
}
.companyNavBg img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
@media screen and (min-width: 781px) {
	.companyNav a:hover:before {
		background: rgba(112,112,112,.2);
	}
	.companyNav ul:hover .img img {
		opacity: 0;
	}
	.companyNavBg .act.bg {
		opacity: 1;
	}
}
.object {
	position: relative;
	width: 33rem;
	position: absolute;
	bottom: 0;
	right: -24rem;
	z-index: -1;
}
.object figure {
	width: 70%;
	aspect-ratio: 45 / 52;
	background-color: #fff;
	clip-path: polygon(0% 50%, 100% 0%, 100% 100%);
}
.object figure:nth-of-type(2) {
	background: rgba(215, 215, 215, 0.30);
	transform: rotate(180deg);
	position: relative;
	z-index: 1;
	margin-left: auto;
	margin-top: -38%;
	display: none;
}
.columnSliderArea {
	margin: 0 -2.5rem;
}
.columnSlider .columnBox {
	margin: 0 2.5rem;
}
.columnBox a {
	text-align: left;
}
.columnBox .thumb {
	margin-bottom: 2rem;
}
.columnBox .txt {
	margin: .8rem 0 2rem;
	transition: .2s;
	width: 100%;
	text-align: left;
	overflow: hidden;
	display: -webkit-box;
	text-overflow: ellipsis;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
}
.columnBox a:hover .txt {
	color: var(--c_rd);
}
.tag {
	gap: .5rem;
	display: flex;
	flex-wrap: wrap;
	font-size: 1.2rem;
}
.tag li {
	background: #f5f5f5;
	text-align: center;
	padding: .2rem 1rem;
}
.topBnr {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	padding: 8rem 0;
}
.topBnr a {
	display: block;
	position: relative;
	height: 100%;
	padding: 4rem 6rem;
	aspect-ratio: 96/38;
	z-index: 1;
	overflow: hidden;
	text-align: left;
	color: #fff;
}
.topBnr ._01 {
	position: relative;
	z-index: 1;
}
.topBnr ._01::before {
	content: "";
	display: block;
	background: url(../img/bnr_robot_bg.png) center center no-repeat;
	background-size: cover;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -5;
}
.topBnr ._01 a h2 {
	font-size: 3.2rem;
	font-size: clamp(12px,1.875vw,3.2rem);
	font-weight: 700;
	color: #000;
	margin-bottom: 1rem;
}
.topBnr ._01 a .ttl p {
	display: flex;
	align-items: center;
	font-size: 105%;
	color: #000;
	gap: 1rem;
}
.topBnr ._01 a .ttl p::before {
	content: "";
	display: block;
	width: 1.5rem;
	height: 1px;
	background: var(--c_rd);
}
.topBnr ._01 a .img {
	transition: .4s;
	transform: scale(1.01);
	margin-top: 3%;
	margin-left: -3%;
	margin-right: 0;
}
.topBnr ._01 a .img img {
	width: 100%;
}
.topBnr ._01 a:hover .img {
	transform: scale(1.05);
}
.topBnr ._01 a::after{
	content: "";
	display: block;
	width: 2.8rem;
	aspect-ratio: 1;
	border: 1px solid var(--c_wh);
	border-radius: 50%;
	background: url(../img/arrow_wh.svg) center center no-repeat;
	background-size: 25% auto;
	position: absolute;
	right: 2rem;
	bottom: 2rem;
	z-index: 1;
	transition: .2s;
}
.topBnr ._01 a:hover:after {
	background-color: var(--c_rd);
	border-color: var(--c_rd);
}
.topBnr .img {
	position: relative;
	z-index: 1;
	text-align: center;
}
.topBnr img {
	opacity: 1!important;
}

.topBnr ._02 .img {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -5;
}
.topBnr ._02 .img img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transform: scale(1.01);
	transition: .4s;
}
.topBnr ._02 .logo {
	position: absolute;
	right: 7rem;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
	width: 28.6rem;
}
.topBnr ._02 a.blank::after {
	width: 2.3rem;
	margin: 0;
	position: absolute;
	right: 3rem;
	bottom: 3rem;
	z-index: 1;
}
.topBnr ._02 a::before {
	content: "";
	display: block;
	position: absolute;
	right: -25rem;
	top: 50%;
	transform: translateY(-50%);
	z-index: -1;
	clip-path: polygon(100% 0, 0 50%, 100% 100%);
	width: 72.6rem;
	aspect-ratio: 1;
	background: rgba(255,255,255,.7);
	transition: .4s;
}
.topBnr ._02 a:hover .img img {
	transform: scale(1.07);
}

/*subpage
---------------------------------------------------------*/
.pageTtlArea {
	position: relative;
	overflow: hidden;
	z-index: 1;
	height: 45rem;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	color: #fff;
	text-align: left;
}
.pageTtlArea .bg {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	overflow: hidden;
	z-index: -50;
}
.pageTtlArea .bg img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.pageTtl {
	width: 90%;
	max-width: 110rem;
	margin: 0 auto;
	letter-spacing: .05em;
}
.pageTtl h1 {
	font-size: 3.6rem;
	font-weight: 600;
	position: relative;
	display: flex;
	align-items: center;
	gap: 1rem;
}
.pageTtl h1::before {
	content: "";
	display: block;
	width: 1.8rem;
	height: 1px;
	background: var(--c_rd);
	margin-bottom: -.1em;
}
.pageTtl .eng {
	font-size: 6.2rem;
	font-weight: 700;
}
.pankz {
	position: absolute;
	top: 2rem;
	left: 5rem;
	z-index: 5;
	font-size: 1.2rem;
}
.pankz ol {
	display: flex;
	flex-wrap: nowrap;
	white-space: nowrap;
	overflow: auto;
}
.pankz a {
	color: #fff;
}
.pankz a::after {
	content: "";
	display: inline-block;
	background: url(../img/arrow_wh.svg) center center no-repeat;
	background-size: contain;
	width: 0.5rem;
	aspect-ratio: 5/8;
	margin: 0 .8rem;
}
.pankz a:hover {
	opacity: .5;
}
.pageTtlArea.sub {
	background: #F9F9F9 url(../img/bg01.png) bottom 50% center no-repeat;
	background-size: 100% auto;
	color: #1a1a1a;
	height: 36.5rem;
}
.pageTtlArea.sub .pageTtl h1::before {
	background: var(--c_rd);
}
.pageTtlArea.sub .pankz a {
	color: #9E9D9D;
}
.pageTtlArea.sub .pankz a::after {
	background-image: url(../img/arrow_bk.svg);
}
.agvTtlArea .pankz a {
	color: #9E9D9D;
}
.agvTtlArea .pankz a::after {
	background-image: url(../img/arrow_bk.svg);
}
.pageTtlArea._detail {
	height: 57rem;
	justify-content: flex-end;
	padding-bottom: 10rem;
}
.pageTtlArea._detail .pageTtl h1 {
	font-size: 2rem;
}
.pageTtlArea._detail .pageTtl .eng {
	font-size: 8.2rem;
}

.bg01 {
	background: url(../img/bg01.png) top left no-repeat;
	background-size: 100% auto;
}
#subPage main article > section:last-of-type:not([class*="bg-"]) {
	padding-bottom: 16rem;
}
#pickupBnr {
	background: #eee url(../img/bg01.png) top center no-repeat;
	background-size: cover;
	padding: 8rem 0 10rem;
}
#pickupBnr h2 {
	font-size: 3rem;
	font-weight: 700;
	margin-bottom: 2.5rem;
	text-align: left;
}
.pickupBnr {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 2rem;
}
.pickupBnr a {
	position: relative;
	display: block;
}
.pickupBnr a:not([target="_blank"])::after {
	content: "";
	display: block;
	width: 2.2rem;
	aspect-ratio: 1;
	border: 1px solid var(--c_wh);
	border-radius: 50%;
	background: url(../img/arrow_wh.svg) center center no-repeat;
	background-size: 25% auto;
	position: absolute;
	bottom: 1.2rem;
	right: 1.2rem;
	z-index: 1;
	transition: .2s;
}
.pickupBnr a:not([target="_blank"]):hover::after {
	background-color: var(--c_rd);
	background-image: url(../img/arrow_wh.svg);
	border-color: var(--c_rd);
}


/*company
---------------------------------------------------------*/
#catchcopy {
	padding: 18rem 0 0;
}
.catchcopy h2 img {
	max-height: 3.3rem;
}
.catchcopy h3 {
	font-size: 2rem;
	color: var(--c_rd);
	letter-spacing: 0.05em;
	margin: 1rem 0 6rem;
}
.catchcopy .txt-lh {
	line-height: 2;
	letter-spacing: 0.05em;
}
.indexMenu {
	display: flex;
	flex-wrap: wrap;
	gap: 8.5rem 4%;
	text-align: left;
}
.indexMenu .thumb {
	aspect-ratio: 525/350;
	margin-bottom: 2rem;
	background: #000;
}
.indexMenu .thumb::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0,0,0,.2);
	z-index: 1;
	transition: .2s;
}
.indexMenu .thumb::after {
	content: "";
	display: block;
	width: 3.2rem;
	aspect-ratio: 1;
	border: 1px solid var(--c_wh);
	border-radius: 50%;
	background: url(../img/arrow_wh.svg) center center no-repeat;
	background-size: 25% auto;
	position: absolute;
	right: 2rem;
	bottom: 2rem;
	z-index: 5;
	transition: .2s;
}
.indexMenu a:hover .thumb::before {
	background: rgba(0,0,0,0);
}
.indexMenu a:hover .thumb::after {
	background-color: var(--c_rd);
	background-image: url(../img/arrow_wh.svg);
	border-color: var(--c_rd);
}
.indexMenu .ttl {
	font-size: 2.4rem;
	margin-bottom: 0.5rem;
}
.indexMenu .eng {
	font-size: 1.2rem;
	color: var(--c_rd);
	margin-bottom: 1rem;
}
.indexMenu li {
	width: 48%;
}
.indexMenu li.w100 {
	width: 100%;
}
.indexMenu li.w100 .thumb {
	aspect-ratio: 11/5;
}
.indexMenu li.w100 .thumb::after {
	width: 4rem;
}
.indexMenu._02 .thumb::before {
	display: none;
}
.indexMenu.col-3 {
	gap: 5rem 2%;
}
.indexMenu.col-3 li {
	width: 32%;
}
.indexMenu.col-3 .thumb {
	aspect-ratio: 445/214;
	margin-bottom: 1rem;
}
.indexMenu.col-3 .ttl {
	font-size: 2rem;
}



/*products
---------------------------------------------------------*/
#productsAbout {
	position: relative;
	color: #fff;
	letter-spacing: 0.05em;
	padding: 15rem 0;
}
#productsAbout .bg {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -50;
	display: flex;
}
#productsAbout .bg figure {
	width: 50%;
	position: relative;
	overflow: hidden;
}
#productsAbout .bg figure img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.productsAbout h2 {
	font-size: 5.2rem;
	letter-spacing: 0.05em;
	display: flex;
	flex-direction: column;
	gap: 2rem;
	margin-bottom: 3rem;
}
.productsAbout h2 img {
	max-height: 5rem;
}
.productsAbout h3 {
	font-size: 2.4rem;
	margin-bottom: 3rem;
}
.productsAbout .txt-lh {
	line-height: 2;
}
.productsindex h2 {
	font-size: 3rem;
	margin-bottom: 2rem;
	font-weight: 600;
	text-align: left;
}
.productsindex h2:not(:first-of-type) {
	margin-top: 8rem;
}

/*news
---------------------------------------------------------*/
.categories {
	display: grid;
	grid-template-columns: repeat(5,1fr);
	gap: 1rem;
	margin-bottom: 3rem;
}
.categories li a {
	display: block;
	background: #f5f5f5;
	font-size: 1.4rem;
	padding: 1rem;
}
.categories li.current a {
	background: var(--c_rd);
	color: #fff;
	pointer-events: none;
}
.categories li a:hover {
	background: var(--c_bk);
	color: #fff;
}
.pager {
	margin-top: 4rem;
	font-size: 1.4rem;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: .8rem 3rem;
}
.pager .next,
.pager .prev {
	display: block;
	display: block;
	width: 2.2rem;
	aspect-ratio: 1;
	border: 1px solid var(--c_rd);
	border-radius: 50%;
	background: url(../img/arrow_rd.svg) center center no-repeat;
	background-size: 25% auto;
}
.pager .prev {
	transform: rotate(180deg);
}
.pager .current {
	color: var(--c_rd);
	text-decoration: underline;
}
.pager a:hover {
	color: var(--c_rd);
}

/*news__detail
---------------------------------------------------------*/
.newsDetail {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	gap: 10rem;
	text-align: left;
	padding-bottom: 5rem;
	margin-bottom: 5rem;
	border-bottom: 1px solid var(--c_rd);
}
.newsArea {
	width: 80rem;
}
.newsHeader {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 1rem 2rem;
	border-bottom: 1px solid var(--c_rd);
	margin-bottom: 5rem;
	padding-bottom: 2rem;
}
.newsHeader h2 {
	width: 100%;
	font-size: 2rem;
	font-weight: 600;
}
.postImg {
	text-align: center;
	margin-bottom: 5rem;
}
.postImg img {
	max-height: 60rem;
}
.postGallery {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 1.5rem;
	margin-bottom: 5rem;
}
.postGallery a {
	display: block;
	position: relative;
	height: 100%;
	aspect-ratio: 4/3;
	border: 1px solid #f1f1f1;
}
.postGallery a img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.postGallery a::after {
	content: "";
	display: block;
	background: url(../img/icon_zoom.svg) center center no-repeat;
	background-size: contain;
	aspect-ratio: 1;
	width: 3rem;
	position: absolute;
	right: .5rem;
	bottom: .5rem;
	z-index: 1;
	opacity: .8;
}
.postGallery a:hover::after {
	opacity: 1;
}
.newsContetns {
	line-height: 1.8;
}
.newsContents h1 {
	color: var(--c_rd);
	font-size: 150%;
	border-bottom: 1px solid var(--c_rd);
	padding-bottom: 0.2em;
	margin-bottom: 1em;
}
.newsContents h2 {
	color: var(--c_rd);
	font-size: 135%;
	border-bottom: 1px solid var(--c_rd);
	padding-bottom: 0.2em;
	margin-bottom: 1em;
}
.newsContents h3 {
	color: var(--c_rd);
	font-size: 125%;
	margin-bottom: 1em;
	border-left: .5rem solid var(--c_rd);
	padding-left: 0.3em;
	margin-bottom: 1em;
}
.newsContents h4 {
	color: var(--c_rd);
	font-size: 115%;
	margin-bottom: 1em;
}
.newsContents h5 {
	font-size: 112.5%;
	margin-bottom: 1em;
}
.newsContents h6 {
	font-size: 105%;
	margin-bottom: 1em;
}
.newsContetns a {
	text-decoration: underline;
	color: var(--c_rd);
}
.newsContetns a:hover {
	text-decoration: none;
	color: var(--c_bk);
}
.pageSetDmmy {
	width: 48%;
	visibility: hidden;
	opacity: 0;
}
.pageset a {
	display: block;
	width: 48%;
}
.pageset dl {
	display:flex;
	justify-content: space-between;
	align-items: center;
	background: #f5f5f5;
	transition: .2s;
}
.pageset #next dl {
	flex-direction: row-reverse;
}
.pageset dt {
	width: 47%;
	overflow: hidden;
	text-align: center;
	position: relative;
	aspect-ratio: 4/3;
	padding: 0;
}
.pageset dt img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.pageset dd {
	font-size: 1.4rem;
	font-weight: 400;
	width: 53%;
	padding: 2.5rem;
	text-align: left;
}
.pageset dd .txt {
	margin-top: 0.5rem;
	min-height: 6.5rem;
	overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
}
.sideNav h2 {
	font-size: 2.4rem;
	font-weight: 700;
	margin-bottom: 2.5rem;
}
.sideNav li + li {
	margin-top: 1rem;
}
.sideNav li a:hover {
	color: var(--c_rd);
}

/*sustainability__company-policy
---------------------------------------------------------*/
.contBox dt {
	position: relative;
	text-align: left;
	font-size: 1.8rem;
	font-weight: 600;
	padding: 4rem 2rem 1.5rem;
}
.contBox dt::after {
	content: "";
	display: block;
	height: 1px;
	background: #D8D8D8;
	background: -webkit-gradient(linear,left top, right top,color-stop(15%, var(--c_rd)),color-stop(15%, #D8D8D8));
	background: -o-linear-gradient(left,var(--c_rd) 15%,#D8D8D8 15%);
	background: linear-gradient(90deg,var(--c_rd) 15%,#D8D8D8 15%);
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
}
.contBox dd {
	text-align: left;
	padding: 2.5rem 2rem 0;
}
.contBox ol {
	list-style: decimal;
	padding-left: 1.2em;
}
.contBox ol li+li {
	margin-top: 0.3rem;
}
.contBox ol._02 {
	list-style: none;
	padding-left: 0;
}
.contBox ol._02 li {
	padding-left: 1.5em;
	text-indent: -1.5em;
}
.contBox + .contBox {
	margin-top: 4rem;
}
.sustainaReport h2 {
	font-size: 1.8rem;
	text-align: left;
	padding: 0 2rem 1.5rem;
}
.sustainaReport li a {
	display: block;
	padding: 2.5rem 4.5rem 2.5rem 2rem;
	position: relative;
	letter-spacing: 0.05em;
	text-align: left;
	border-bottom: 1px solid #d8d8d8;
}
.sustainaReport li a::after {
	content: "";
	display: block;
	width: 2.2rem;
	aspect-ratio: 1;
	border: 1px solid var(--c_rd);
	border-radius: 50%;
	background: url(../img/arrow_rd.svg) center center no-repeat;
	background-size: 25% auto;
	position: absolute;
	right: 2rem;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
	transition: .2s;
}
.sustainaReport li a:hover {
	color: var(--c_rd);
}
.sustainaReport li a:hover::after {
	background-color: var(--c_rd);
	border-color: 		var(--c_rd);
	background-image: url(../img/arrow_wh.svg);
}
.isoWrap {
	display: grid;
	grid-template-columns: 36.4rem 1fr;
	gap: 2rem 6.5rem;
}
.isoBox .ttl {
	font-size: 1.8rem;
	letter-spacing: 0.05em;
	font-weight: 600;
	margin-bottom: 2rem;
}
.isoBox table {
	margin-top: 3rem;
}
.isoBox th,
.isoBox td {
	vertical-align: top;
	padding: .5rem 0;
}

/*privacy
---------------------------------------------------------*/
.policyWrap {
	text-align: left;
}
.policyWrap h2 {
	font-size: 1.8rem;
	margin-bottom: 1rem;
}
.policyWrap .txt-lh + h2,
.policyWrap .txt-lh.alnright {
	margin-top: 5rem;
}
.policyWrap ol {
	padding-left: 1em;
}
.policyWrap ol li {
	padding-left: 2.55em;
	text-indent: -2.55em;
	margin: 0.2rem 0;
}
.policyWrap hr {
	opacity: .3;
	margin: 10rem calc(-50vw + 50%);
}

/*column
---------------------------------------------------------*/
.columnCategories {
	margin-bottom: 9rem;
}
.columnCategories ul {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: .7rem;
	margin-bottom: .7rem;
}
.columnCategories ul li a {
	display: block;
	background: var(--c_bk);
	color: #fff;
	font-size: 1.8rem;
	font-weight: 500;
	padding: 1.25rem;
}
.columnCategories ul li.current a {
	background: var(--c_rd);
	color: #fff;
	pointer-events: none;
}
.columnCategories ul li a:hover {
	background: #000;
	color: #fff;
}
.columnCategories .cate02 {
	grid-template-columns: repeat(3,1fr);
	margin-bottom: 0;
	background: #EBEBEB;
	padding: 2rem;
}
.columnCategories .cate02 a {
	display: block;
	background: #fff;
	color: #000;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: normal;
	padding: 2rem 1.25rem;
}
.columnList {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 5rem;
}
.caseDetail {
	text-align: left;
}
.caseHeader {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 1rem 2rem;
	border-bottom: 1px solid var(--c_rd);
	margin-bottom: 5rem;
	padding-bottom: 2rem;
}
.caseHeader h2 {
	width: 100%;
	font-size: 2rem;
	font-weight: 600;
}
.caseContetns {
	line-height: 1.8;
}
.yt-block {
	margin: 5rem auto;
}
.movieBox {
	position: relative;
	padding-top: 56.25%;
}
.movieBox iframe {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
}
.movieTxt {
	text-align: left;
	margin-top: 0.5rem;
}
.outcome._01 {
	margin-top: 6rem;
}
.outcome {
	background: #fff;
	border: 1px solid var(--c_bk);
}
.outcome dt {
	display: flex;
	align-items: center;
	gap: 0 2rem;
	background: #F5F5F5;
}
.outcome dt .ttl {
	background: var(--c_bk);
	font-size: 2rem;
	font-weight: 600;
	padding: .8rem 1.5rem;
	color: #fff;
	width: 19rem;
}
.outcome dd {
	padding: 4rem 5rem;
	line-height: 1.8;
}
.outcome._02 {
	border-color: var(--c_rd);
}
.outcome._02 dt {
	color: var(--c_rd);
}
.outcome._02 dt .ttl {
	background: var(--c_rd);
}
.outcomeArea {
	position: relative;
	z-index: 1;
	padding: 8rem 0;
	margin-top: 8rem;
}
.outcomeArea::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc(-50vw + 50%);
	right: calc(-50vw + 50%);
	background: #f5f5f5;
	z-index: -10;
}
.outcomeArea::after {
	content: "";
	display: block;
	background: var(--c_bk);
	aspect-ratio: 16/9;
	clip-path: polygon(50% 100%, 0% 0%, 100% 0%);
	width: 8rem;
	position: absolute;
	left: 0;
	right: 0;
	top: -1.5rem;
	margin: 0 auto;
	z-index: 1;
}
.gallery {
	margin-top: 3rem;
	display: flex;
	flex-wrap: wrap;
	gap: 3rem 4%;
}
.gallery li {
	width: 48%;
}
.gallery li:first-of-type {
	width: 100%;
}
.caseProductArea {
	margin-top: 8rem;
}
.caseProductArea h3 {
	display: flex;
	align-items: center;
	gap: .8rem;
	font-size: 1.8rem;
	margin-bottom: 1rem;
}
.caseProductArea h3::before {
	content: "";
	display: block;
	width: 1.8rem;
	height: 1px;
	background: var(--c_rd);
}
.caseProduct {
	padding: 4rem;
	background: #fff;
}
.caseProduct .box {
	display: flex;
	flex-direction: row-reverse;
	gap: 2rem 6rem;
}
.caseProduct .box .img {
	width: 34.5rem;
	text-align: center;
}
.caseProduct .box dl {
	flex: 1;
}
.caseProduct .box dt {
	border-bottom: 1px solid #D8D8D8;
	padding-bottom: 1.5rem;
	margin-bottom: 1.5rem;
	font-size: 1.4rem;
}
.caseProduct .box dt h4 {
	font-size: 2rem;
	font-weight: 600;
}
.dlBtn {
	max-width: 41rem;
	margin: 3rem auto 0;
}
.dlBtn a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 2rem;
	border: 1px solid var(--c_rd);
	height: 7.5rem;
	font-size: 1.4rem;
}
.dlBtn a .eng {
	font-size: 2.4rem;
	font-weight: 600;
	color: var(--c_rd);
}
.dlBtn a::after {
	content: "";
	display: block;
	width: 1.8rem;
	aspect-ratio: 1;
	border: 1px solid var(--c_rd);
	border-radius: 50%;
	background: url(../img/arrow_rd.svg) center center no-repeat;
	background-size: 25% auto;
}
.dlBtn a:hover {
	background: #f5f5f5;
}
.pagesetWrap._column {
	margin-top: 8rem;
}
.pagesetWrap._column .pageset dl {
	background: var(--c_bk);
	color: #fff;
	position: relative;
}
.pagesetWrap._column .pageset dl::after {
	content: "";
	display: block;
	width: 2.7rem;
	aspect-ratio: 1;
	border: 1px solid var(--c_wh);
	border-radius: 50%;
	background: #fff url(../img/arrow_bk.svg) center center no-repeat;
	background-size: 25% auto;
	position: absolute;
	right: 1rem;
	bottom: 1rem;
	z-index: 1;
}
.pagesetWrap._column .pageset #prev dl::after {
	right: auto;
	left: 1rem;
	transform: rotate(180deg);
}

/*philosophy
---------------------------------------------------------*/
.secTtl {
	letter-spacing: .05em;
	margin-bottom: 8rem;
	text-align: left;
}
.secTtl h2 {
	font-size: 3rem;
	font-weight: 600;
	position: relative;
	display: flex;
	align-items: center;
	letter-spacing: 0.05em;
	gap: .8rem;
}
.secTtl h2::before {
	content: "";
	display: block;
	width: 1.8rem;
	height: 1px;
	background: var(--c_rd);
}
.secTtl .eng {
	font-size: 4.6rem;
	font-weight: 700;
}
.businessfieldsWrap {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	gap: 13rem;
}
.businessfieldsWrap .img {
	flex: 1;
	max-width: 96rem;
	margin-right: -41rem;
}
@media screen and (max-width: 1220px) {
	.businessfieldsWrap {
		gap: 6rem;
	}
	.businessfieldsWrap .img {
		margin-right: -15vw;
	}
}
.businessfieldsWrap .box {
	width: 41.5rem;
	text-align: left;
}
.businessfieldsWrap h3 {
	font-size: 3rem;
	font-weight: 700;
	margin-bottom: 8rem;
}
.businessfieldsWrap dt {
	font-size: 2.8rem;
	font-weight: 700;
	margin-bottom: 1rem;
	color: var(--c_rd);
	margin-top: 4rem;
}
.businessfieldsWrap li {
	position: relative;
	padding-left: 2rem;
	letter-spacing: .1em;
}
.businessfieldsWrap li::before {
	content: "";
	display: block;
	background: var(--c_rd);
	width: 1.1rem;
	aspect-ratio: 3 / 4;
	clip-path: polygon(100% 50%, 0% 0%, 0% 100%);
	position: absolute;
	top: .4em;
	left: 0;
}
.businessfieldsWrap li + li {
	margin-top: 0.5em;
}
.guidelines .box {
	text-align: left;
	display: flex;
	flex-wrap:wrap;
	gap:  0 20rem;
	padding: 15rem 0;
	position: relative;
	z-index: 1;
}
.guidelines .box::before {
	content: "";
	display: block;
	background: #eee url(../img/bg01.png) top center no-repeat;
	background-size: cover;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: calc(-50vw + 50%);
	z-index: -1;
}
.guidelines .box .txt-lh {
	font-size: 2.2rem;
	line-height: 2.5;
	letter-spacing: 0.1em;
}
.principlesWrap {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 2rem;
	text-align: left;
}
.principlesWrap figure {
	width: 55%;
}
.principlesWrap ul {
	max-width: 49rem;
}
.principlesWrap li {
	position: relative;
	padding-left: 2rem;
	letter-spacing: .1em;
}
.principlesWrap li::before {
	content: "";
	display: block;
	background: var(--c_rd);
	width: 1.1rem;
	aspect-ratio: 3 / 4;
	clip-path: polygon(100% 50%, 0% 0%, 0% 100%);
	position: absolute;
	top: .4em;
	left: 0;
}
.principlesWrap li + li {
	margin-top: 2em;
}
.principles li .box h3 {
	font-size: 2.4rem;
	color: var(--c_rd);
	margin-bottom: 3rem;
}
.brandpolicyWrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 10rem;
}
.brandpolicyTtl {
	width: 55%;
	padding-right: 5rem;
	text-align: left;
	position: relative;
}
.brandpolicyWrap figure {
	flex: 1;
	margin-right: calc(-50vw + 50%);
	min-width: 45rem;
}
.brandpolicyTtl .secTtl {
	margin-bottom: 4rem;
}
.contTtl {
	position: relative;
	text-align: left;
	font-size: 2.4rem;
	font-weight: 600;
	padding: 0 2rem 1.5rem;
	margin-bottom: 6rem;
}
.contTtl::after {
	content: "";
	display: block;
	height: 1px;
	background: #D8D8D8;
	background: -webkit-gradient(linear,left top, right top,color-stop(20%, var(--c_rd)),color-stop(20%, #D8D8D8));
	background: -o-linear-gradient(left,var(--c_rd) 20%,#D8D8D8 20%);
	background: linear-gradient(90deg,var(--c_rd) 20%,#D8D8D8 20%);
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
}
.brandlogoArea .txt {
	line-height: 1.8;
	text-align: left;
	margin-top: 6rem;
}
.catchcopyArea {
	margin-top: 12rem;
}
.catchcopyBox {
	position: relative;
	text-align: left;
	margin-bottom: 4rem;
}
.catchcopyBox h2 {
	font-size: 7.2rem;
	font-weight: 700;
	color: var(--c_rd);
	max-width: 62rem;
	margin: 0 auto;
}
.catchcopyBox h3 {
	font-size: 2.4rem;
	color: var(--c_rd);
	font-weight: 500;
}
.catchcopyBox .object {
	width: 40rem;
	top: -1rem;
	bottom: auto;
	right: -20rem;
}
.catchcopyWrap .txt {
	line-height: 2.2;
	text-align: left;
	letter-spacing: .1em;
}

/*carbonneutral
---------------------------------------------------------*/
#carbonneutralTop {
	padding: 0;
	margin-top: 12rem;
	position: relative;
	margin-bottom: 10rem;
}
.carbonneutralTop {
	position: relative;
}
.carbonneutralTop .box {
	background: #fff;
	position: relative;
	padding: 10rem 0;
	text-align: left;
	max-width: 45rem;
	z-index: 1;
}
.carbonneutralTop .box::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: -10rem;
	right: -10rem;
	z-index: -1;
	background: #fff;
}
.carbonneutralTop figure {
	position: absolute;
	left: calc(-50vw + 50%);
	top: 0;
	bottom: 0;
	z-index: -10;
	width: 50vw;
}
.carbonneutralTop figure._02 {
	left: auto;
	right: calc(-50vw + 50%);
}
.carbonneutralTop figure img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transform: scale(1.01);
	transition: .4s;
}
.carbonneutralTop .box h2 {
	font-size: 2.4rem;
	font-weight: 600;
	margin-bottom: 2rem;
}
.carbonneutralTop .box .txt-lh + .txt-lh {
	margin-top: 8rem;
}
#carbonneutral .container {
	max-width: 167rem;
}
#carbonneutral .secTtl h2::before{
	background: #4F9D6B;
}
#carbonneutral section + section {
	margin-top: 12rem;
}
#carbonneutral .img + .img {
	margin-top: 10rem;
}

/*message
---------------------------------------------------------*/
.messageWrap {
	text-align: left;
}
.messageWrap .img {
	margin-bottom: 5rem;
}
.messageWrap h2 {
	font-size: 3rem;
	font-weight: 600;
	margin-bottom: 2rem;
}
.messageWrap .txt-lh {
	text-align: justify;
}
.president {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 1rem;
	font-size: 2.4rem;
	font-weight: 500;
	margin-top: 5rem;
}
.president small {
	font-size: 65%;
}

/*access
---------------------------------------------------------*/
.accessSliderNav {
	margin-bottom: 2rem;
}
.accessSliderArea {
	margin-bottom: 2rem;
}
.accessWrap {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	gap: 3rem;
}
.gmap {
	aspect-ratio: 45/28;
}
.gmap iframe {
	width: 100%;
	height: 100%;
}
.accessWrap .gmap {
	width: 50%;
}
.accessWrap dl {
	flex: 1;
	text-align: left;
}
.accessWrap dt {
	font-size: 1.8rem;
	font-weight: 500;
	margin-bottom: 1.5rem;
}
.accessWrap dt:not(:first-of-type) {
	margin-top: 4rem;
}
.accessOther h2 {
	font-size: 2.2rem;
	text-align: left;
	margin-bottom: 3rem;
}
.accessCont {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 3rem;
}
.accessCont li {
	background: #fff;
	padding: 4rem;
	text-align: left;
}
.accessCont li h3 {
	font-size: 1.8rem;
	font-weight: 600;
	border-bottom: 1px solid #000;
	padding-bottom: 1.5rem;
	margin-bottom: 1.5rem;
}
.accessCont li dt {
	margin-bottom: 0.5rem;
	font-weight: 500;
}
.accessCont li dt:not(:first-of-type) {
	margin-top: 1.5rem;
}
.accessCont .gmap {
	margin-top: 2rem;
}
.mapBtn {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: .3rem;
	background: var(--c_rd);
	color: #fff;
	font-size: 1.2rem;
	padding: .2rem .5rem;
	border-radius: .5rem;
	margin-left: 0.5rem;
}
.mapBtn::after {
	content: "";
	display: block;
	background: url(../img/company/access/icon_map.svg) center center no-repeat;
	background-size: contain;
	width: 0.9rem;
	aspect-ratio: 9/12;
}
.mapBtn:hover {
	background-color: #000;
}

/*form
---------------------------------------------------------*/
.whBox {
	border-radius: 1.2rem;
	background: #fff;
	box-shadow: 0 0 1.5rem 0 rgba(0, 0, 0, 0.05);
	padding: 9rem 10rem;
}
.formNote {
	text-align: left;
	margin-bottom: 6rem;
}
.formNote a {
	text-decoration: underline;
	color: var(--c_rd);
}
.formNote a:hover {
	text-decoration: none;
	opacity: .6;
}
.formTxt {
	font-size: 112.5%;
	font-weight: 600;
	text-align: center;
	margin-bottom: 4rem;
}
.formBox dt,.formBox dd {
	width: 30%;
	font-weight: 400;
	padding: 2rem 0;
	text-align: left;
}
.formBox dt::before {
	content: "任意";
	font-size: 85%;
	font-weight: 400;
	padding: .5rem 1rem;
	display: inline-block;
	border: 1px solid #9E9D9D;
	color: #9E9D9D;
	line-height: 1;
	margin-right: 1rem;
}
.formBox dt.req::before {
	content: "必須";
	color: var(--c_rd);
	border-color: var(--c_rd);
	background: #fff;
}
.formBox dd {
	width: 70%;
	padding-left: 0;
}
.formName > .txt {
	width: 40%;
	display: flex;
	align-items: center;
}
.formName > .txt:first-of-type {
	margin-right: 2%;
}
.formName .txt span {
	display: block;
	white-space: nowrap;
	margin-right: 1rem;
}
.form-address p {
	text-align: left;
	padding: 5px 0;
}
.formBox input[type="text"],.formBox input[type="tel"],.formBox input[type="email"],.formBox select,.formBox textarea {
	width: 100%;
	padding: .7em;
	border: 1px solid #ccc;
	border-radius: 3px;
}
.formBox input[type="text"].size-s {
	max-width: 21rem;
}
.formBox label {
	margin: 0;
}
.radioWrap {
	display: flex;
	flex-direction: column;
	gap: 1rem 3rem;
}
.formBox select {
	width: auto;
	background: #fff;
	color: #000
}
.formBox option:first-of-type {
	background: #b3b3b3;
	color: #fff;
}
.formBox textarea {
	height: 19rem;
}
.formBox .disabled input {
	pointer-events: none;
	border: none;
}
.zipBtn {
	background: #666;
	color: #fff;
	margin-left: 1rem;
	border: none;
	padding: .8rem 2rem;
	cursor: pointer;
	line-height: 1.1;
}
.zipBtn:hover {
	background: #ccc
}
.policyBox {
	height: 25rem;
	margin: 3rem 2.5rem 0;
	overflow: auto;
	padding: 1.5em;
	border: 1px solid #ccc;
	text-align: left;
}
.policyBox b {
	display: block;
	font-size: 115%;
	margin-bottom: .5rem;
}
.policyTxt {
	margin-bottom: 2rem;
}
.policyTxt a {
	text-decoration: underline;
	display: inline-block;
	color: var(--c_rd);
}
.policyCheck {
	margin-top: 6rem;
}
.formBtn {
	margin-top: 5rem;
}
.mw_wp_form_confirm button.button._grey {
	display: block!important;
}
.formWrap input[type="submit"],.formWrap input[type="button"],.formWrap button.button._grey {
	font-family: 'Noto Sans JP', sans-serif ,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", Verdana;
	color: #fff;
	font-size: 115%;
	font-weight: 500;
	letter-spacing: .075em;
	text-indent: .075em;
	background: var(--c_rd) url(../img/arrow_wh.svg) right 2rem center no-repeat;
	background-size: .7rem auto;
	min-width: 33rem;
	display: block;
	border: none;
	padding: 2.5rem 2rem;
	border-radius: 10rem;
	margin: 1rem;
	transition: .2s;
	cursor: pointer;
}
.formWrap input[type="submit"].btn_back,
.formWrap button.button._grey {
	background: #ddd;
	color: #333;
}
.formWrap input[type="submit"]:hover,.formWrap input[type="button"]:hover,.formWrap button.button._grey:hover {
	opacity: .7;
}

.onlyconf,button.button._grey {
	display: none;
}
.mw_wp_form_confirm button.button._grey,
.mw_wp_form_confirm .onlyconf,
#confirm .onlyconf {
	display: block!important;
}
.mw_wp_form .horizontal-item + .horizontal-item {
	margin-left: 0!important;
}
.mw_wp_form_confirm .privacyBox,
.mw_wp_form_confirm .formBox dt::before,
.mw_wp_form_confirm .zipBtn,
.mw_wp_form_confirm .formName .txt span,
.mw_wp_form_confirm .policyTxt {
	display: none!important;
}
.mw_wp_form_confirm .formName > .txt {
	width: auto;
}
.mw_wp_form .error {
	font-size: 85%!important;
}
.formName .error {
	min-width: 50%;
}
.formName .error + .error {
	display: none;
}
.clear {
	margin-top: 4rem;
}
.clear button {
	text-decoration: underline;
	color: #262626;
}
.clear button:hover {
	text-decoration: none;
	color: var(--c_rd);
}
.formTx02 {
	margin-top: 4rem;
	font-size: 85%;
}
.txBox .ttl {
	font-size: 112.5%;
	font-weight: 600;
	margin-bottom: 1em;
}
.telnum {
	font-size: 135%;
	font-weight: 600;
	white-space: nowrap;
	color: var(--c_rd);
}


/*profile
---------------------------------------------------------*/
.overview > .img {
	margin-bottom: 5rem;
}
.profile {
	display: grid;
	grid-template-columns: 15rem 1fr;
	text-align: left;
	font-feature-settings: "halt";
	line-height: 1.6;
}
.profile dt,
.profile dd {
	border-bottom: 1px solid var(--c_gy);
	padding: 2.5rem;
}
.profile dt	{
	padding-inline: 1rem;
	font-weight: 500;
	border-bottom-color: #000;
}
.profile dd b:not(:first-of-type) {
	display: inline-block;
	margin-top: 1.5em;
}
.profile dd a {
	color: var(--c_rd);
}
.profile dd a:hover {
	color: #4F9D6B;
	text-decoration: underline;
}
.historyTtl {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: .5rem;
	margin-bottom: 4rem;
}
.historyTtl h3 {
	background: var(--c_bk);
	color: #fff;
	font-size: 1.9rem;
	font-weight: 700;
	padding: 1rem 1rem 1.2rem;
	position: relative;
}
.historyTtl h3::after {
	content: "";
	display: block;
	background: var(--c_bk);
	background-color: var(--c_bk);
	clip-path: polygon(50% 100%, 0% 0%, 100% 0%);
	width: 2.4rem;
	aspect-ratio: 24/14;
	position: absolute;
	bottom: -2.4rem;
	left: 0;
	right: 0;
	margin: 0 auto;
}
.historyTtl h3:nth-of-type(2),
.historyTtl h3:nth-of-type(2)::after {
	background: var(--c_rd);
}
.historyArea {
	position: relative;
	z-index: 1;
	padding: 0 0 10rem;
}
.historyArea::before {
	content: "";
	display: block;
	z-index: -10;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 3px;
	background: var(--c_rd);
	margin: 0 auto;
}
:root {
	--y_width: 7.5rem;
}
.hYear {
	aspect-ratio: 1;
	width: calc(var(--y_width)*2);
	position: relative;
	z-index: 5;
	text-align: center;
	color: var(--c_rd);
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	border: 1px solid var(--c_rd);
	border-radius: 50%;
	font-size: 3rem;
	font-weight: 600;
	margin: 6rem auto;
}
.historyArea._01 .hYear:first-of-type {
	margin-block: 0;
}
.history {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 0 calc(var(--y_width)*2);
	text-align: left;
	font-feature-settings: "halt";
	line-height: 1.6;
}
.history + .history {
	margin-top: 5rem;
}
.history.mt-20 {
	margin-top: 2rem;
}
.history dt {
	position: relative;
	padding-bottom: 1rem;
	margin-bottom: 1rem;
	font-size: 2.4rem;
	font-weight: 500;
}
.history dt::before {
	content: "";
	display: block;
	height: 1px;
	background: #d8d8d8;
	position: absolute;
	left: -1rem;
	right: calc(-1 * var(--y_width));;
	bottom: 0;
	z-index: -30;
}
.history dl:nth-of-type(even) dt::before {
	left: calc(-1 * var(--y_width));
	right: 0;
}
.history dl:nth-of-type(odd) {
	padding-left: 1rem;
}
.history dd li {
	text-indent: -1em;
	padding-left: 1em;
}
.history dd li + li,
.history dd .txt + .txt,
.history dd .txt + ul {
	margin-top: 0.3em;
}
.history dd li::before {
	content: "・";
	font-feature-settings: normal;
}
.history dd .txt span {
	display: inline-block;
	width: 3em;
	text-indent: 0;
}
.history dd .txt {
	text-indent: -3em;
	padding-left: 3em;
}
.history dd figure {
	text-align: center;
	margin-top: 1.5em;
}
.history dd figure img {
	max-height: 14.5rem;
}
.history02Ttl {
	padding: 4rem;
	background: #fff;
	border: 1px solid var(--c_rd);
	text-align: left;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 3rem;
}
.history02Ttl figure {
	max-width: 23rem;
}
.history02Ttl .hYear {
	margin: 0;
}
.history02Ttl .txt {
	flex: 1;
}
.historyArea._02 {
	padding: 6rem var(--y_width);
}
.historyArea._02::before {
	left: var(--y_width);
	right: auto;
	margin: 0;
}
.historyArea._02 dl {
	padding-left: var(--y_width);
}
.historyArea._02 .hYear {
	margin-left: calc(-1 * var(--y_width));;
}
.historyArea._02 dt::before {
	left: calc(-1 * var(--y_width));
	right: 0;
}
.historyArea._02 .history {
	gap: 0 6rem;
	grid-template-columns: 46rem 1fr;
}
.historyArea._02 figure {
	margin-top: 3.5rem;
}
.historyArea._02 figure img + img {
	margin-top: 1rem;
}
.historyArea._02 .history.mt-20 figure {
	margin-top: 0;
}

/*dl_list
---------------------------------------------------------*/
.dlLead {
	margin-bottom: 10rem;
	text-align: left;
}
.dlLead .txt {
	margin-bottom: 6rem;
}
.dlLead .txt a {
	display: inline-flex;
	align-items: center;
	gap: .8em;
	font-size: 1.4rem;
}
.dlLead .txt a::after {
	content: "";
	display: block;
	border: 1px solid var(--c_rd);
	border-radius: 50%;
	aspect-ratio: 1;
	width: 1.5rem;
	background: url(../img/arrow_rd.svg) center center no-repeat;
	background-size: 35% auto;
	transform: rotate(90deg);
}
.dlLead .txt a:hover {
	color: var(--c_rd);
}
.dlExample {
	display: grid;
	grid-template-columns: repeat(5,1fr);
	gap: 5rem 3.5rem;
	font-size: 1.4rem;
}
.dlExample li.hide {
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
}
.dlExample .img {
	box-shadow: 5px 0px 15px 0 rgba(0, 0, 0, 0.10);
	margin-bottom: 1rem;
}
.dlListWrap h2 {
	font-size: 1.8rem;
	font-weight: 600;
	position: relative;
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 2rem;
}
.dlListWrap h2::before {
	content: "";
	display: block;
	width: 1.8rem;
	height: 2px;
	background: var(--c_rd);
}
.dlListWrap h2:not(:first-of-type) {
	margin-top: 10rem;
}
.dlList {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 3rem;
}
.dlList a {
	display: grid;
	grid-template-columns: 15rem 1fr;
	gap: 1rem 3rem;
	background: #eee;
	padding: 3.5rem;
}
.dlList a h3 {
	font-size: 1.6rem;
	font-weight: 500;
	text-align: left;
}
.dlList a .box {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.dlList a .img {
	box-shadow: 6px 6px 10px 0 rgba(0, 0, 0, 0.10);
}

/*solution
---------------------------------------------------------*/
#solutionTop {
	padding: 15rem 0;
}
.solutionTop {
	max-width: 170rem;
	display: flex;
	justify-content: space-between;
	gap: 5rem;
}
.solutionTop .box {
	width: 45rem;
	text-align: justify;
}
.solutionTop .box h2 {
	font-size: 6.4rem;
	font-size: clamp(2rem,3.3333vw,6.4rem);
	font-weight: 600;
	font-feature-settings: "halt";
	letter-spacing: 0.05em;
	margin-bottom: 3rem;
}
.solutionTop .box .txt-lh {
	line-height: 2;
}
.solutionImgWrap {
	position: relative;
	width: 107rem;
	font-size: clamp(10px,0.8333vw,1.6rem);
}
.solutionImgWrap h3 {
	font-size: 2em;
	font-weight: 600;
	margin-bottom: 2.5rem;
}
.solutionImg {
	position: relative;
}
.solutionImg > .img {
	width: 62.6168224%;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}
.solutionImg h4 {
	font-size: 2.25em;
	font-weight: 600;
	line-height: 1;
	display: flex;
	align-items: flex-end;
	padding-bottom: 1rem;
	gap: .5em;
	transition: .4s;
}
.solutionImg h4::after {
	content: "";
	display: block;
	border-radius: 50%;
	border: 1px solid var(--c_rd);
	background: #fff url(../img/arrow_rd.svg) center center no-repeat;
	background-size: 25% auto;
	width: .6em;
	aspect-ratio: 1;
	transform: rotate(90deg);
	margin-bottom: 0.07em;
	transition: .4s;
}
.solutionImg dl {
	position: absolute;
	text-align: left;
	opacity: 0;
	transition: 1s .6s;
	transform: translateX(-2rem);
}
.solutionImg dl.act {
	opacity: 1;
	transform: translate(0)!important;
}
.solutionImg dl._01 {
	top: 4em;
	left: 0;
}
.solutionImg dl._02 {
	top: 4em;
	right: 0;
	transform: translateX(2rem);
}
.solutionImg dl._03 {
	bottom: 4em;
	right: 0;
	transform: translateX(2rem);
}
.solutionImg dl._04 {
	bottom: 4em;
	left: 0;
}
.solutionImg dt {
	position: relative;
	padding-bottom: 0.5rem;
	margin-bottom: 1rem;
}
.solutionImg dt::after {
	content: "";
	display: block;
	height: 1px;
	background: #000;
	position: absolute;
	bottom: 0;
	left: 0;
	right: -12em;
	z-index: -5;
}
.solutionImg dl._02 dt::after,
.solutionImg dl._03 dt::after {
	right: 0;
	left: -12em;
}
.solutionImg dd {
	font-size: 1.25em;
	font-feature-settings: "halt";
}
.solutionImg figure {
	text-align: center;
	margin-bottom: 1rem;
}
.solutionImg figure img {
	max-height: 4.5em;
}
.solutionImg a:hover h4 {
	color: var(--c_rd);
}
.solutionImg a:hover h4::after {
	background-color: var(--c_rd);
	background-image: url(../img/arrow_wh.svg);
}
.solutionImg + .txt-lh {
	margin-top: 2.5rem;
	letter-spacing: .05em;
	font-size: 1.6rem;
	line-height: 2;
}
#solContArea {
	padding-top: 0;
}
.solArea + .solArea {
	margin-top: 8rem;
}
.solTtl {
	display: flex;
	align-items: flex-end;
	gap: 2rem;
	position: relative;
	z-index: 10;
	margin-bottom: 2rem;
}
.solTtl .num {
	font-size: 1.4rem;
	text-align: center;
	color: var(--c_rd);
}
.solTtl .num strong {
	display: block;
	font-size: 514%;
	font-weight: 700;
}
.solTtl h2 {
	font-size: 3rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	display: flex;
	align-items: center;
	gap: 2rem;
	padding-bottom: 1.5rem;
}
.solTtl h2::before {
	content: "";
	display: block;
	width: 2.5rem;
	height: 1px;
	background: var(--c_rd);
}
.solWrap {
	display: flex;
	gap: 10rem;
	padding-bottom: 10rem;
}
.solWrap .img {
	width: 50%;
	opacity: 0;
	transition: 1s .6s;
	transform: translateX(-2rem);
}
.solArea:nth-of-type(even) .solWrap .img {
	transform: translateX(2rem);
}
.solWrap.act .img {
	opacity: 1;
	transform: translateX(0)!important;
}
.solWrap .box {
	flex: 1;
	letter-spacing: 0.05em;
	text-align: left;
	position: relative;
}
.solWrap .box::before {
	content: "";
	display: block;
	background: #f9f9f9 url(../img/bg01.png) top left no-repeat;
	background-size: contain;
	position: absolute;
	top: -10rem;
	bottom: -10rem;
	left: -25rem;
	right: calc(-50vw + 15rem);
	z-index: -10;
}
.solWrap .box h3 {
	font-size: 2rem;
	margin-bottom: 2rem;
}
.solWrap .box .txt-lh {
	min-height: 24rem;
	line-height: 2;
}
.solWrap .box ul {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	margin-top: 1.5rem;
}
.solArea:nth-of-type(even) .solTtl {
	justify-content: flex-end;
}
.solArea:nth-of-type(even) .solWrap {
	flex-direction: row-reverse;
}
.solArea:nth-of-type(even) .solWrap .box::before {
	right: -25rem;
	left: calc(-50vw + 15rem);
}
.bg01_btm {
	background: url(../img/bg01_btm.png) left bottom no-repeat;
	background-size: 100% auto;
}
#subPage .topBnr {
	padding-top: 0;
}
.solutionBtm .txt-lh {
	line-height: 2;
	font-size: 2rem;
	letter-spacing: 0.1em;
	margin-bottom: 3rem;
}
.solutionBtm h2 img {
	max-height: 11rem;
}
.catchcopyTxt {
	color: var(--c_rd);
	font-size: 2.6rem;
	font-weight: 500;
}
.catchcopyTxt .eng {
	font-size: 6.8rem;
	letter-spacing: 0.05em;
	text-indent: .05em;
	white-space: nowrap;
	font-weight: 700;
	margin-bottom: .05em;
}

/*dx
---------------------------------------------------------*/
.productsHeroArea {
	background: url(../img/products/dx/top_bg.jpg) center center no-repeat;
	background-size: cover;
	padding: 12rem 0;
	color: #fff;
}
#page-products__safety .productsHeroArea {
	background-image: url(../img/products/safety/top_bg.jpg);
}
#page-products__factory .productsHeroArea {
	background-image: url(../img/products/factory/top_bg.jpg);
}
#page-products__manual .productsHeroArea {
	background-image: url(../img/products/manual/top_bg.jpg);
}
#page-products__equipment .productsHeroArea {
	background-image: url(../img/products/equipment/top_bg.jpg);
}
.productsHeroArea  h2 {
	font-size: 2.4rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-align: left;
	margin-bottom: 3rem;
}
.anchor02 {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 1rem 4rem;
}
.anchor02 a {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 3rem;
	border: 1px solid var(--c_wh);
	padding: 2.5rem;
	font-size: 2.4rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	color: #fff;
}
.anchor02 a:hover {
	background: rgba(255,255,255,.1);
}
.anchor02 a::after {
	content: "";
	display: block;
	background: url(../img/arrow_wh.svg) center center no-repeat;
	background-size: 29% auto;
	border-radius: 50%;
	border: 1px solid var(--c_wh);
	width: 2.7rem;
	aspect-ratio: 1;
	transform: rotate(90deg);
	transition: .2s;
}
.anchor02 a:hover::after {
	background-color: var(--c_rd);
	background-image: url(../img/arrow_wh.svg);
	border-color: var(--c_rd);
}
.triBg {
	position: relative;
	padding-top: 20rem;
}
.triBg::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	top: -1px;
	aspect-ratio: 1920/400;
	z-index: -99;
	background: #eee;
	clip-path: polygon(0 0, 0% 100%, 100% 0);
}
.triBg._bg01::before  {
	background-image: url(../img/bg01.png);
	background-position: top left;
	background-size: cover;
}
.triBg._btm {
	padding-bottom: 20rem;
}
.triBg._btm::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	aspect-ratio: 1920/400;
	z-index: -99;
	bottom: -1px;
	background: #eee;
	clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}
#feature {
	text-align: left;
}
#movie .secTtl,
#works .secTtl,
#feature .secTtl {
	margin-bottom: 5rem;
}
.numTtl {
	display: flex;
	align-items: center;
	gap: 2rem;
	text-align: left;
	letter-spacing: 0.05em;
	margin-bottom: 3rem;
}
.numTtl .num {
	color: var(--c_rd);
	font-size: 4.8rem;
	font-weight: 700;
	white-space: nowrap;
}
.numTtl h2 {
	font-size: 2.4rem;
	font-weight: 600;
	line-height: 1.6;
}
.featureWrap {
	margin-top: 10rem;
}
.secTtl + .featureWrap {
	margin-top: 0;
}
.featureBox {
	display: flex;
	justify-content: space-between;
	gap: 2rem 8rem;
	flex-direction: row-reverse;
}
.featureBox .numTtl {
	margin-bottom: 2rem;
}
.featureBox .img {
	flex: 1;
}
.featureBox .box {	
	width: 50%;
	letter-spacing: .02em;
	text-align: left;
	line-height: 1.8;
}
.txt-box {
	text-align: left;
}
.featureBox h3 {
	font-size: 2rem;
	letter-spacing: .045em;
	margin-bottom: 2rem;
}
.lnWrap {
	display: flex;
	flex-direction: row-reverse;
	gap: 2rem 10rem;
}
.lnWrap + .lnWrap {
	margin-top: 8rem;
	padding-top: 8rem;
	border-top: 1px solid #d8d8d8;
}
.lnWrap .img {
	flex: 1;
}
.lnWrap .box {
	width: 50rem;
	text-align: left;
}
.triTtl {
	display: flex;
	align-items: flex-start;
	font-size: 2.4rem;
	font-weight: 600;
	gap: 1rem;
	margin-bottom: 2.5rem;
}
.triTtl::before {
	content: "";
	display: block;
	background: var(--c_rd);
	aspect-ratio: 3/4;
	width: 2rem;
	clip-path: polygon(100% 50%, 0 0, 0 100%);
	margin-top: .25em;
}
#linenup {
	padding-bottom: 15rem;
}
.lnWrap .box li {
	display: flex;
	align-items: center;
	gap: .8rem;
	margin-top: 0.5rem;
}
.lnWrap .box li::before {
	content: "";
	display: block;
	background: #262626;
	aspect-ratio: 3/4;
	width: 1rem;
	clip-path: polygon(100% 50%, 0 0, 0 100%);
}
.lnWrap .box h4 {
	display: inline-block;
	background: #4d4d4d;
	color: #fff;
	padding: .8rem 2rem 1rem;
	margin-bottom: 1rem;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1;
	margin-top: 4rem;
}
.lnWrap .box .txt a {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	color: var(--c_rd);
	margin: .5rem 0;
	padding: .4rem .8rem;
	font-size: 1.2rem;
	border: 1px solid var(--c_rd);
}
.lnWrap .box .txt a:hover {
	background-color: #fff;
}
.lnWrap .box .txt a::after {
	content: "";
	display: block;
	background: url(../img/arrow_rd.svg) center center no-repeat;
	background-size: contain;
	width: 0.5rem;
	aspect-ratio: 5/8;
}
#sub_column {
	background-image: url(../img/bg01_gy.png);
	background-color: #717171;
	/*とりあえず非表示-*/display: none;
}
#sub_column .columnBox .date,
#sub_column .columnBox .txt {
	color: #fff;
}
.sliderNav._wh .SliderArrow {
	border-color: #fff;
	background-image: url(../img/arrow_wh.svg);
}
.sliderNav._wh .SliderArrow:hover,
.sliderNav._wh .sliderdots .slick-dots li.slick-active {
	background-color: #000;
}

/*safety
---------------------------------------------------------*/
.movieList {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 4.5rem;
}
.movieList li a {
	position: relative;
	display: block;
}
.playIco {
	background: #949495;
	position: absolute;
	aspect-ratio: 1;
	border-radius: 50%;
	width: 4.5rem;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	transition: .4s;
	z-index: 5;
}
.playIco::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 55%;
	transform: translate(-50%,-50%);
	width: 34%;
	aspect-ratio: 1/1.2;
	background: #fff;
	transition: .4s;
	clip-path: polygon(100% 50%, 0% 0%, 0% 100%);
}
.movieList li a:hover .playIco {
	background-color: var(--c_rd);
}
.movieList li a::after {
	content: "";
	display: block;
	background: rgba(0,0,0,.5);
	position: absolute;
	z-index: 1;
	inset: 0;
	transition: .4s;
}
.movieList li a:hover::after {
	background: rgba(0,0,0,.2);
}
.lity-container {
	max-width: 100%!important;
}
.lity-content {
	display: flex!important;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	height: 92vh!important;
	aspect-ratio: 16/9;
}
.ytPuArea {
	width: 100%;
}
.ytPuArea .movie {
	margin-bottom: 0;
}
.ytWrap {
	max-width: 75rem;
	margin: 0 auto;
}
.movie {
	position: relative;
	padding-top: 56.25%;
}
.movie iframe {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
}

/*factory
---------------------------------------------------------*/
#factoryCont {
	padding-top: 0;
}
.factoryContWrap {
	background-size: cover;
}
.factoryCont {
	display: flex;
	align-items: center;
	flex-direction: row-reverse;
	gap: 2rem 8rem;
}
.factoryCont + .factoryCont {
	margin-top: 6rem;
}
.factoryCont .img {
	width: 28rem;
}
.factoryCont .box {
	flex: 1;
	text-align: left;
}
.factoryCont .box h2 {
	font-size: 2rem;
	margin-bottom: 2rem;
}

/*equipment
---------------------------------------------------------*/
.equipmentWrap {
	display: flex;
	align-items: flex-start;
	flex-direction: row-reverse;
	align-items: center;
	gap: 8rem;
	margin-top: 10rem;
}
.equipmentWrap + .equipmentWrap  {
	padding-top: 10rem;
	border-top: 1px solid #d8d8d8;
}
.equipmentWrap .img {
	width: 46.5rem;
}
.equipmentWrap img[src*="ln_img01"] {
	max-height: 43.7rem;
}
.equipmentWrap img[src*="ln_img02"] {
	max-height: 29.4rem;
}
.equipmentWrap .box {
	flex: 1;
	text-align: left;
}
.dlBtn02 {
	width: 41rem;
	margin-top: 6rem;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.5rem;
	font-size: 1.8rem;
	font-weight: 600;
	color: var(--c_rd);
	letter-spacing: 0.1em;
	padding: 2rem 2.5rem;
	border: 1px solid var(--c_rd);
}
.dlBtn02 .eng {
	font-size: 2.4rem;
	color: var(--c_rd);
	font-weight: 700;
}
.dlBtn02::after {
	content: "";
	display: block;
	width: 2rem;
	aspect-ratio: 1;
	border: 1px solid var(--c_rd);
	border-radius: 50%;
	background: url(../img/arrow_rd.svg) center center no-repeat;
	background-size: 25% auto;
	position: relative;
	transition: .2s;
}
.dlBtn02:hover::after {
	background-color: var(--c_rd);
	background-image: url(../img/arrow_wh.svg);
	border-color: var(--c_rd);
}

/*manual
---------------------------------------------------------*/
.manualContTop {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 8rem;
}
.manualContTop .txt-lh {
	text-align: left;
	max-width: 73rem;
}
.manualContTop .txt-lh small {
	display: block;
	font-size: 1.2rem;
	margin-top: 2em;
}
.manualCont .box {
	display: flex;
	flex-direction: row-reverse;
	gap: 8rem;
	margin-top: 1rem;
}
.manualCont .box .img {
	width: 48rem;
}
.manualCont .box .txt-lh {
	flex: 1;
	text-align: left;
}
.manualSlider-thumb {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: .5rem;
}
.manualContArea .sliderTop {
	margin-bottom: 1rem;
}
.manualSlider-thumb .tab {
	background: #d8d8d8;
	transition: .2s;
	cursor: pointer;
	font-size: 1.8rem;
	font-weight: 600;
	padding: 1.2rem;
}
.manualSlider-thumb .tab:hover {
	background-color: var(--c_bk);
	color: #fff;
}
.manualSlider-thumb .tab.is-current {
	background: var(--c_rd);
	color: #fff;
	pointer-events: none;
}
.manualSliderWrap {
	background: #fff;
	padding-top: 5rem;
}
.manualContArea section:not(:first-of-type) {
	margin-top: 10rem;
}
.works {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 1rem;
}
.works li {
	background: #eee;
	border-left: 1px solid var(--c_rd);
	padding: 1.2rem;
}

/*agv
---------------------------------------------------------*/
#page-products__agv .productsHeroArea {
	background-image: url(../img/products/agv/top_bg.jpg);
}
.agvTtlArea {
	height: 48.8rem;
	background: url(../img/products/agv/ttl_bg.jpg) top center no-repeat;
	background-size: cover;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: left;
}
.agvTtl {
	position: relative;
	z-index: 5;
	text-align: left;
}
.agvTtl h1 {
	font-size: 4rem;
	font-weight: 700;
	color: var(--c_rd);
	margin-bottom: 1rem;
}
.agvTtl .eng {
	display: flex;
	align-items: center;
	font-size: 2rem;
	color: #000;
	gap: 1rem;
}
.agvTtl .eng::before {
	content: "";
	display: block;
	width: 1.5rem;
	height: 1px;
	background: var(--c_rd);
}
.agvTtlImg {
	position: absolute;
	bottom: 5%;
	right: 5%;
	width: 83%;
	text-align: right;
}
#agvAnchor {
	position: relative;
}
.agvAnchor h2 {
	font-size: 3rem;
	margin-bottom: 3rem;
	text-align: left;
	color: #fff;
}
.anchor {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 4rem;
}
.anchor .img {
	position: relative;
	margin-bottom: 5rem;
}
.anchor .img .num {
	background: var(--c_rd);
	color: #fff;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	font-size: 3.6rem;
	font-weight: 700;
	padding: 1rem 1.5rem;
}
.anchor .img .num strong {
	font-size: 300%;
	font-weight: 400;
}
.anchor .img figure p {
	position: absolute;
	z-index: 1;
	right: 0.5rem;
	bottom: 0.5rem;
}
.anchor .img figure p small {
	color: #fff;
	font-size: 65%;
}
.anchor .img::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -3.5rem;
	margin: 0 auto;
	clip-path: polygon(50% 100%, 0 0, 100% 0);
	background: var(--c_rd);
	aspect-ratio: 4/3;
	width: 3rem;
}
.anchor a {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 2rem;
	color: #fff;
	background: #4d4d4d;
	padding: 2.5rem 1rem;
	font-size: 2.4rem;
	font-weight: 600;
}
.anchor a::after {
	content: "";
	display: block;
	background: #fff url(../img/arrow_bk.svg) center center no-repeat;
	background-size: 25% auto;
	border-radius: 50%;
	width: 2.7rem;
	aspect-ratio: 1;
	transform: rotate(90deg);
}
.anchor a:hover {
	background-color: var(--c_rd);
}
.anchor .txt {
	font-size: 2rem;
	font-weight: 600;
	position: relative;
	margin-bottom: 5rem;
}
.agv-caseArea {
	padding: 0 0 12rem;
}
.agv-caseHeader {
	background-color: var(--c_gy);
	background-size: cover;
	padding: 6rem 0;
	margin-bottom: 4rem;
}
.agv-caseWrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
}
.agv-caseTtl {
	text-align: left;
}
.agv-caseTtl h2 {
	font-size: 3rem;
}
.agv-caseTtl  h3 {
	font-size: 2rem;
	font-weight: 400;
}
.agv-caseTtl h3 strong {
	display: block;
	font-size: 120%;
	font-weight: 600;
}
.agv-caseWrap .img {
	width: 65.636%;
	margin-right: -5rem;
}
.agvList {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 2rem;
}
.agvList li .txt {
	font-size: 1.8rem;
	font-weight: 600;
}
.agvList li .img img {
	max-height: 19.5rem;
}
.tglContArea {
	margin-top: 12rem;
}
.tglTtl {
	display: flex;
	align-items: center;
	gap: 1rem 3rem;
	text-align: left;
	background: #eee;
	padding: .8rem 2rem;
	padding-right: 5rem;
	border-left: 1rem solid var(--c_rd);
	margin-bottom: 4rem;
	transition: .2s;
	position: relative;
}
.tglTtl h3 {
	font-size: 2.4rem;
}
.tglTtl .eng {
	font-size: 1.4rem;
	color: var(--c_rd);
}
.tglTtl .arw {
	width: 4.5rem;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	background: var(--c_bk);
}
.tglTtl .arw::after {
	content: "";
	display: block;
	background: url(../img/arrow_wh.svg) center center no-repeat;
	background-size: contain;
	width: 1rem;
	aspect-ratio: 5/8;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) rotate(90deg);
	z-index: 1;
}
.tglTtl.act .arw::after {
	transform: translate(-50%,-50%) rotate(-90deg);
}
.tglContAreaWrap > .txt-lh {
	text-align: left;
	margin-bottom: 6rem;
}
.tglContWrap {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	gap: 2rem 10rem;
}
.tglContWrap .img {
	width: 42.27%;
	display: grid;
	grid-template-columns: repeat(1,1fr);
	gap: 6rem 1rem;
}
.tglContWrap .img figure p {
	text-align: right;
	line-height: 1.2;
}
.tglContWrap .img figure p small {
	font-size: 65%;
}
.tglContWrap .box {
	flex: 1;
	letter-spacing: .02em;
	text-align: left;
	line-height: 1.8;
	position: relative;
}
.tglContWrap._hsBtn .box {
	padding-bottom: 9rem;
}
.tglContWrap._hsBtn .dlBtn02 {
	position: absolute;
	bottom: 0;
	left: 0;
}
.tglContWrap .box h4 {
	font-size: 2.4rem;
	line-height: 1.6;
	letter-spacing: .045em;
	margin-bottom: 3rem;
}
.tglContWrap .box h4:not(:first-of-type) {
	margin-top: 10rem;
}
.tglContWrap .box li {
	padding-left: 1em;
	text-indent: -1em;
}
.tglContWrap .box li + li {
	margin-top: .5rem;
}
.tglContWrap .box li::before {
	content: "・";
	font-feature-settings: normal;
}
.center .dlBtn02 {
	margin: 0 auto;
}
.tglContAreaWrap .dlBtn02 {
	margin-top: 5rem;
}
#agv-strong {
	padding: 10rem 0;
}
.strongWrap {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 7rem;
	text-align: left;
}
.strongWrap h3 {
	font-size: 2rem;
	margin: 2rem 0 1rem;
}





















/*ieハック*/
@media screen\0  {
}

/*********************************/
/* タブレット用のスタイル記述 */
/*********************************/

@media screen and (max-width: 1570px) {
	.hWrap {
		display: block;
		padding: 1rem 2rem 1.5rem;
	}
	.hBtn {
    position: absolute;
    top: 0;
    right: 0;
	}
	.hBtn a {
		height: 5rem;
	}
	#nav {
		display: block;
	}
	.nav {
		margin-top: 1.5rem;
		justify-content: center;
	}
	.tgl a {
    padding-bottom: 1.5rem;
    margin-bottom: -1.5rem;
	}
}
@media screen and (max-width: 955px) {
	html {
		font-size: 1.0471204vw;
	}
}
@media screen and (max-width: 955px) {
	body {
		font-size: 1.6rem;
	}
}

/*********************************/
/* スマートフォン用のスタイル記述 */
/*********************************/
@media screen and (max-width: 780px) {
/*全体レイアウト
---------------------------------------------------------*/
	html {
		font-size: 2.7777777vw;
	}
	body {
		font-size: 1.4rem;
		line-height: 1.5
	}
	body.active {
		overflow: hidden;
	}
	article > section {
		padding: 4rem 0;
	}
	.btnWrap {
		margin-top: 3rem;
		text-align: center;
	}
	.btn {
		font-size: 1.4rem;
	}
	.btn02 {
		min-width: auto;
	}
	.ttlBox {
		margin-bottom: 4rem;
	}
	.ttlBox h2 {
		font-size: 2rem;
	}


	/*header
	-------------------------------------------------------*/
	.hWrap {
		height: 5.4rem;
		padding-left: 1rem;
	}
	.hLogo {
		width: 20rem;
	}
	img[src*="/logo.png"] {
		max-height: 3.2rem;
	}
	.menuIconWrap {
		display: block;
		position: fixed;
		top: 0;
		right: 0;
		width: 5.4rem;
		height: 5.4rem;
		background: #1a1a1a;
		z-index: 90000
	}
	.menuIcon {
		position: absolute;
		top: 50%;
		right: 0;
		left: 0;
		transform: translateY(-50%);
		margin: 0 auto;
		width: 3rem;
		height: 2.2rem;
		z-index: 10;
		cursor: pointer;
		display: block;
	}
	.menuIcon span {
		position: absolute;
		left: 0;
		width: 100%;
		height: .2rem;
		background:#fff;
		z-index: 10;
		transition: .2s;
	}
	.menuIcon span:nth-of-type(1) {top: 0px;}
	.menuIcon span:nth-of-type(2) {top: 1rem;	}
	.menuIcon span:nth-of-type(3) {bottom: 0px;	}
	.menuIcon.active span {
		background: #fff!important
	}
	.menuIconWrap.active span:nth-of-type(1) {
		-webkit-transform: translateY(1rem) rotate(45deg);
		transform: translateY(1rem) rotate(45deg);
	}
	.menuIconWrap.active span:nth-of-type(2) {
		opacity: 0;
	}
	.menuIconWrap.active span:nth-of-type(3) {
		-webkit-transform: translateY(-1rem) rotate(-45deg);
		transform: translateY(-1rem) rotate(-45deg);
	}
	#nav {
		position: fixed;
		top: 0;
		bottom: 0;
		right: 0;
		z-index: 10;
		width: 100%;
		height: 100%;
		transition: all 0.3s ease-in-out;
		overflow-y: auto;
		overflow-x: hidden;
		-webkit-overflow-scrolling: touch;
		display: block;
		padding: 0;
		font-size: 1.4rem;
		background: #fff;
		visibility: hidden;
		opacity: 0;
	}
	#nav.active {
		right: 0;
		opacity: 1;
		-moz-transform: translateX(0);
		-webkit-transform: translateX(0);
		transform: translateX(0);
		visibility: visible;
		z-index: 9990;
	}
	.spLogo {
		display: flex;
		align-items: center;
		height: 5.4rem;
		text-align: left;
		padding-left: 1rem;
	}
	.spLogo img {
		display: block;
		margin: 0;
	}
	.nav {
		margin: auto;
		display: block;
		width: 100%;
		padding: 0;
	}
	.nav > li {
		margin-top: 0;
		border-top: 1px solid #f1f1f1;
	}
	.nav > li > a {
		display: block;
		width: 100%;
		position: relative;
		padding: 2rem 3rem 2rem 2rem;
	}
	.nav > li > a::after {
		content: "";
		display: block;
		background: url("../img/arrow_bk.svg") center center no-repeat;
		background-size: contain;
		width: .7rem;
		height: 1.1rem;
		position: absolute;
		right: 2rem;
		top: 50%;
		transform: translateY(-50%);
	}
	.tgl a {
		padding-bottom: 0;
		margin-bottom: 0;
	}
	.tgl > a {
		padding-bottom: 2rem!important;
		margin-bottom: 0;
	}
	.nav .tgl > a::after,.nav .tgl > a::before {
		content: "";
		width: 1.1rem;
		height: 1px;
		background: #1a1a1a;
		position: absolute;
		left: auto;
		right: 2rem;
		top: 0;
		bottom: 0;
		margin: auto;
		transform: none;
		transition: .2s;
	}
	.nav .tgl > a::before {
		width: 1px;
		height: 1.1rem;
		right: 2.5rem;
		opacity: 1;
	}
	.nav .tgl.open > a::before {
		-webkit-transform: rotate(90deg);
		-ms-transform: rotate(90deg);
		transform: rotate(90deg);
		opacity: 0;
	}
	.nav .tgl.open > a {
		background: #f1f1f1
	}
	.hBtn {
		flex-direction: column;
		gap: 1rem;
		padding: 1rem;
		position: static;
	}
	.hBtn a {
		width: 100%;
		height: 5.5rem;
		font-size: 1.6rem;
	}
	.ddNavArea {
		position: relative;
		font-size: 1.2rem;
	}
	.ddNavArea dl {
		display: block;
	}
	.ddNavArea dt {
		margin-bottom: 1.5rem;
	}
	.ddNavArea dt a {
		display: inline-flex;
		gap: 1.5rem;
	}
	.ddNavArea dt .eng {
		font-size: 2.2rem;
	}
	.ddNavArea dt span {
		padding-right: 2.2rem;
		margin-top: 0;
		gap: 1rem;
		flex: 1;
		white-space: nowrap;
		font-size: 1.8rem;
	}
	.ddNavArea dt span::after,
	.ddNav p::after {
		width: 1.5rem;
		margin-bottom: 0;
	}
	.ddNavArea dd {
		width: 100%;
	}
	.ddNav {
		grid-template-columns: repeat(2,1fr);
		gap: 1.5rem 1rem;
	}
	.ddNav .thumb {
		width: 100%;
	}
	.ddNavArea .child {
		height: auto;
	}
	.ddNavArea .child li + li {
		margin-top: 0.2rem;
	}
	.nav > li > a:hover {
		color: #1a1a1a;
	}

	/*footer
	-------------------------------------------------------*/
	.fLink {
		grid-template-columns: repeat(1,1fr);
	}
	.fLink a {
		font-size: 1.4rem;
		padding: 3.5rem 1rem;
	}
	.fLink a h2 {
		font-size: 2rem;
	}
	.fLink li:not(:first-of-type) a {
    border-left: none;
		border-top: none;
	}
	.fArea {
		padding: 3rem 0;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 2rem;
	}
	.fNav {
		display: none;
	}
	.scl {
		margin: 0;
		text-align: center;
	}
	.scl .ttl {
		display: none;
	}
	.scl ul {
		margin-top: 0;
	}
	.fLogo {
		display: block;
		max-width: 21rem;
	}
	.fbtmNav {
		padding: 1rem 0;
	}
	.fbtmNav a {
		display: block;
		text-align: center;
		font-size: 1.2rem;
		padding: .5rem 1.5rem;
	}

	/*toppage
	-------------------------------------------------------*/
	.mainCont {
		width: 30rem;
	}
	.mainCont .en {
		gap: 0 1rem
	}
	.mainCont .en img {
		display: block;
	}
	.mainCont .jp {
		font-size: 1.6rem;
	}
	.mainCont .tri {
		width: 11rem;
		left: -1rem;
	}
	#top_news {
		padding: 6rem 0;
	}
	.top_news {
		display: block;
	}
	.top_news h2 {
		font-size: 2rem;
		margin-bottom: 3rem;
	}
	.top_newsList {
		width: 100%;
		margin-top: -2rem;
	}
	.newsList a {
		flex-wrap: wrap;
		gap: .8rem 1.5rem;
		padding: 2rem 3.5rem 2rem 0;
	}
	.newsList a::after {
		width: 1.8rem;
		right: 1rem;
	}
	.newsList a .txt {
		width: 100%;
		flex: auto;
		-webkit-line-clamp: 2;
		line-clamp: 2;
	}
	.cate {
		width: 5rem;
		font-size: 1rem;
	}
	#top_news .btnWrap {
		text-align: center;
	}
	.top_solution {
		display: flex;
		flex-direction: column-reverse;
	}
	.top_solution .box {
		padding: 4rem 2rem;
	}
	.top_solution dl {
		font-size: 1.6rem;
	}
	.top_solution .btnWrap {
		margin-top: 3rem;
	}
	.top_solution h3 {
		font-size: 1.6rem;
	}
	.top_solution figure {
		height: 20rem;
		min-height: inherit;
	}
	.productsSliderBox {
		margin: 0 1rem;
	}
	.productsSliderWrap {
		margin: 0 calc(-50vw + 50%);
	}
	.productsSliderBox h3 {
		font-size: 1.6rem;
	}
	.top_company {
		display: block;
	}
	.top_company .ttlBox {
		margin-bottom: 0;
	}
	.top_company .box {
		padding: 4rem 2rem;
	}
	.top_company h3 {
		font-size: 3rem;
		margin-bottom: 1rem;
	}
	.top_company h4 {
		font-size: 1.6rem;
		margin-bottom: 3rem;
	}
	.top_company .btnWrap {
		margin-top: 0;
	}
	.object {
		width: 16rem;
		top: -2rem;
		bottom: auto;
		right: -1rem;
	}
	.companyNav a {
		padding: 3.5rem 2rem;
		gap: 1.2rem;
		font-feature-settings: "halt";
	}
	.companyNav a .eng {
		font-size: 1.2rem;
	}
	.companyNav a h5 {
		font-size: 1.5rem;
	}
	.companyNav a::after {
		right: 2rem;
		width: 2rem;
	}
	.columnSliderNav {
		margin: 1rem 0 0 auto;
	}
	.columnSliderArea {
		margin: 0 calc(-50vw + 50%);
	}
	.columnBox .thumb,
	.columnBox .txt {
		margin-bottom: 1rem;
	}
	.columnSlider .columnBox {
    margin: 0 1rem;
	}
	.topBnr {
		display: block;
		padding: 4rem 0;
	}
	.topBnr a {
		aspect-ratio:5/2.5;
		padding: 2rem;
	}
	.topBnr ._01 a h2 {
		font-size: 2rem;
	}
	.topBnr ._01 a .ttl p {
		font-size: 1.4rem;
	}
	.topBnr ._01 a::after {
		right: 1rem;
		bottom: 1rem;
	}
	.topBnr ._01 a .img {
		margin-left: -7%;
	}
	.topBnr ._02 .logo {
		width: 18rem;
		right: 2rem;
	}
	.topBnr ._02 a::before {
		width: 50rem;
		right: -25rem;
	}
	.topBnr ._02 a.blank::after {
		width: 1.8rem;
		right: 2rem;
		bottom: 2rem;
	}

	/*subpage
	-------------------------------------------------------*/
	.pageTtlArea {
		height: 15rem;
		padding-top: 1rem;
	}
	.pageTtl .eng {
		font-size: 3.2rem;
	}
	.pageTtl h1 {
		font-size: 2.2rem;
		text-shadow: 0 0 1rem rgba(0, 0, 0, 0.5);
	}
	.pageTtlArea.sub .pageTtl h1 {
		text-shadow: none;
	}
	.pageTtl h1::before {
		width: 1.7rem;
	}
	.pageTtlArea._detail {
		height: 17rem;
		padding-bottom: 3rem;
	}
	.pageTtlArea._detail .pageTtl .eng {
		font-size: 3.2rem;
	}
	.pageTtlArea._detail .pageTtl h1 {
		font-size: 1.2rem;
	}
	.pankz {
		top: 0;
		left: 0;
		right: 0;
		font-size: 1rem;
		padding: 1rem;
	}
	.pankz a::after {
		margin: 0 .5rem;
	}
	.pageTtlArea.sub {
		background-position: top center;
		background-size: cover;
		height: 15rem;
	}
	.bg01 {
		background-size: auto 20rem;
	}
	#pickupBnr {
		padding: 4rem 0;
		background-size: 300% auto;
	}
	#pickupBnr h2 {
		font-size: 2rem;
		margin-bottom: 1rem;
	}
	.pickupBnr {
		grid-template-columns: repeat(1, 1fr);
	}
	#subPage main article > section:last-of-type:not([class*="bg-"]) {
		padding-bottom: 8rem;
	}

	/*company
	-------------------------------------------------------*/
	#catchcopy {
		padding-top: 8rem;
	}
	.catchcopy h2 img {
		max-height: 2.2rem;
	}
	.catchcopy h3 {
		font-size: 1.6rem;
		margin-bottom: 3rem;
	}
	.catchcopy .txt-lh {
    letter-spacing: 0.03em;
	}
	.indexMenu {
		font-size: 1.2rem;
		row-gap: 4rem;
	}
	.indexMenu .ttl {
		font-size: 1.6rem;
		margin-bottom: .5em;
	}
	.indexMenu .thumb {
		margin-bottom: 1rem;
	}
	.indexMenu .thumb::after {
		width: 2.2rem;
		right: 1rem;
		bottom: 1rem;
	}
	.indexMenu li.w100 .thumb::after {
		width: 2.9rem;
	}
	.indexMenu.col-3 li {
		gap: 4rem 4%;
	}
	.indexMenu.col-3 li {
		width: 48%;
	}
	.indexMenu.col-3 .ttl {
		font-size: 1.6rem;
	}

	/*products
	-------------------------------------------------------*/
	#productsAbout {
		padding: 6rem 0;
	}
	.productsAbout h2 {
		font-size: 3rem;
		gap: 1rem;
		margin-bottom: 2rem;
	}
	.productsAbout h2 img {
		max-height: 3rem;
	}
	.productsAbout h3 {
		font-size: 1.6rem;
		margin-bottom: 2rem;
	}
	.productsindex h2 {
		font-size: 1.8rem;
	}
	.productsindex h2:not(:first-of-type) {
		margin-top: 6rem;
	}
	
	/*news
	-------------------------------------------------------*/
	.newsDetail {
		display: block;
		padding-bottom: 3rem;
		margin-bottom: 3rem;
	}
	.newsArea {
		width: 100%;
	}
	.newsHeader {
		margin-bottom: 3rem;
	}
	.newsHeader h2 {
		font-size: 1.6rem;
	}
	.postImg,
	.postGallery {
		margin-bottom: 3rem;
	}
	.postGallery {
		grid-template-columns: repeat(2, 1fr);
	}
	.categories {
		grid-template-columns: repeat(2,1fr);
	}
	.pageset dl {
		display: block;
	}
	.pageset dt,
	.pageset dd {
		width: 100%;
	}
	.pageset dd {
		font-size: 1.2rem;
		padding: 1rem;
	}
	.pageset dd .txt {
		min-height: 5.4rem;
	}
	.pageset dd .date {
		font-size: 1.2rem;
	}
	.sideNav {
		margin-top: 4rem;
		background: #f5f5f5;
		padding: 2rem;
	}
	.sideNav h2 {
		font-size: 2rem;
		margin-bottom: 1.5rem;
	}
	.sideNav ul {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap: .5rem;
	}
	.sideNav li + li {
		margin-top: 0;
	}
	.sideNav ul a {
		display: block;
		text-align: center;
		padding: .2rem 1.5rem;
		font-size: 1.2rem;
		color: var(--c_bk);
		border: 1px solid var(--c_bk);
		border-radius: 10rem;
	}

	/*sustainability__company-policy
	-------------------------------------------------------*/
	.contBox dt {
		font-size: 1.6rem;
		padding: 2rem 1rem 1rem;
	}
	.contBox dd {
		padding: 1.5rem 1rem;
	}
	.contBox + .contBox {
		margin-top: 2rem;
	}
	.sustainaReport h2 {
		font-size: 1.6rem;
		padding: 0 1rem 1rem;
	}
	.sustainaReport li a {
		padding: 2rem 3rem 2rem 1rem;
	}
	.sustainaReport li a::after {
		right: 1rem;
		width: 1.8rem;
	}
	.isoWrap {
		grid-template-columns: repeat(1,1fr);
	}
	.isoWrap .img {
		max-width: 15rem;
	}
	.isoBox .ttl {
		font-size: 1.6rem;
		margin-bottom: 1rem;
	}
	.isoBox table {
		margin-top: 2rem;
	}

	/*privacy
	-------------------------------------------------------*/
	.policyWrap {
		font-size: 1.2rem;
	}
	.policyWrap h2 {
		font-size: 1.4rem;
		margin-bottom: 1rem;
	}
	.policyWrap .txt-lh + h2,
	.policyWrap .txt-lh.alnright {
		margin-top: 3rem;
	}
	.policyWrap hr {
		margin-block: 4rem;
	}

	/*column
	-------------------------------------------------------*/
	.columnCategories {
		margin-bottom: 4rem;
	}
	.columnCategories ul li a {
		font-size: 1.4rem;
	}
	.columnCategories .cate02 {
		grid-template-columns: repeat(2,1fr);
		padding: .7rem;
	}
	.columnCategories .cate02 a {
		font-size: 1.2rem;
		padding: 1.2rem .5rem;
	}
	.columnList {
		grid-template-columns: repeat(2,1fr);
		gap: 4rem 2rem;
	}
	.columnList .columnBox {
		font-size: 1.2rem;
	}
	.columnList .tag {
		font-size: 1rem;
	}
	.caseHeader {
		margin-bottom: 3rem;
	}
	.caseHeader h2 {
		font-size: 1.6rem;
	}
	.outcome._01 {
		margin-top: 4rem;
	}
	.outcome dt .ttl {
		font-size: 1.6rem;
		width: 15rem;
		text-align: center;
	}
	.outcome dd {
		padding: 2rem;
	}
	.outcomeArea {
		margin-top: 4rem;
		padding: 4rem 0;
	}
	.outcomeArea::after {
		width: 6rem;
		top: -1.2rem;
	}
	.gallery {
		gap: .7rem 2%;
	}
	.gallery li {
		width: 49%;
	}
	.caseProductArea {
		margin-top: 4rem;
	}
	.caseProductArea h3 {
		font-size: 1.6rem;
	}
	.caseProduct {
		padding: 2rem;
	}
	.caseProduct .box {
		flex-direction: column;
	}
	.caseProduct .box .img {
		width: 100%;
	}
	.caseProduct .box dt h4 {
		font-size: 1.6rem;
	}
	.caseProduct .box dt {
		font-size: 1.2rem;
		padding-bottom: 1rem;
		margin-bottom: 1rem;
	}
	.dlBtn a {
		flex-direction: column;
		gap: .5rem;
		font-size: 1.2rem;
	}
	.dlBtn a .eng {
		font-size: 2rem;
	}
	.dlBtn a::after {
		position: absolute;
		right: 1rem;
		top: 50%;
		transform: translateY(-50%);
	}
	.dlBtn {
		margin-top: 2rem;
	}
	.pagesetWrap._column {
		margin-top: 4rem;
	}
	.pagesetWrap._column .pageset dl::after {
		top: 1rem;
		bottom: auto;
	}

	/*philosophy
	-------------------------------------------------------*/
	.secTtl .eng {
		font-size: 2.4rem;
	}
	.secTtl h2 {
		font-size: 1.8rem;
	}
	.businessfieldsWrap {
		display: block;
	}
	.businessfieldsWrap .img {
		margin-right: -2rem;
		margin-bottom: 2rem;
	}
	.businessfieldsWrap .box {
		width: 100%;
	}
	.businessfieldsWrap h3 {
		font-size: 2rem;
		margin-bottom: 3rem;
	}
	.businessfieldsWrap dt {
		font-size: 2rem;
		margin-top: 2rem;
	}
	#guidelines {
    padding: 6rem 0;
	}
	.guidelines .box {
		padding: 6rem 0;
	}
	.guidelines .box .txt-lh {
		font-size: 1.4rem;
	}
	.secTtl {
		margin-bottom: 3rem;
	}
	.principlesWrap {
		display: block;
	}
	.principlesWrap figure {
		width: 100%;
		margin-bottom: 2rem;
	}
	.principles li + li {
		margin-top: 2rem;
	}
	#brandpolicy {
		margin-top: 4rem;
	}
	.brandpolicyWrap {
		display: block;
	}
	.brandpolicyTtl {
		width: auto;
		padding: 0;
		margin-bottom: 4rem;
	}
	.brandpolicyTtl .secTtl {
		margin-bottom: 2rem;
	}
	.brandpolicyWrap figure {
    width: auto;
	}
	.brandlogoArea .txt {
		margin-top: 3rem;
	}
	.brandlogoArea .logo img {
		max-height: 13rem;
	}
	.contTtl {
		font-size: 1.6rem;
		padding: 2rem 1rem 1rem;
		margin-bottom: 3rem;
	}
	.catchcopyArea {
		margin-top: 6rem;
	}
	.catchcopyWrap {
		padding: 0;
	}
	.catchcopyBox {
		margin-bottom: 3rem;
	}
	.catchcopyBox h2 {
		font-size: 3rem;
		margin-bottom: 1rem;
	}
	.catchcopyBox h3 {
		font-size: 1.5rem;
	}
	.catchcopyBox .object {
    width: 12rem;
    top: -1rem;
    bottom: auto;
    right: -14rem;
	}
	.catchcopyWrap .txt {
		font-feature-settings: "halt";
		letter-spacing: normal;
		line-height: 1.8;
	}

	/*carbonneutral
	-------------------------------------------------------*/
	#carbonneutralTop {
		margin: 6rem 0;
		padding: 10rem 0 15rem;
	}
	.carbonneutralTop .box {
		padding: 3rem 0;
	}
	.carbonneutralTop .box h2 {
		font-size: 2rem;
	}
	.carbonneutralTop figure {
		width: auto;
		left: calc(-50vw + 50%)!important;
		right: calc(-50vw + 50%)!important;
	}
	.carbonneutralTop figure._01 {
		bottom: 100%;
		top: -10rem;
	}
	.carbonneutralTop figure._02 {
		bottom: -15rem;
		top: 100%;
	}
	.carbonneutralTop .box .txt-lh + .txt-lh {
		margin-top: 3rem;
	}
	#carbonneutral section + section,
	#carbonneutral .img + .img {
		margin-top: 6rem;
	}

	/*message
	---------------------------------------------------------*/
	.messageWrap .img {
		margin-bottom: 2rem;
	}
	.messageWrap h2 {
		font-size: 2rem;
		margin-bottom: 2rem;
	}
	.president {
		font-size: 1.8rem;
		margin-top: 3rem;
	}

	/*access
	---------------------------------------------------------*/
	.accessWrap {
		display: block;
	}
	.accessWrap dt {
		font-size: 1.6rem;
		margin-bottom: 0.5rem;
	}
	.accessWrap dt:not(:first-of-type) {
		margin-top: 1em;
	}
	.accessWrap .gmap {
		width: 100%;
		margin-top: 2rem;
	}
	.accessOther h2 {
		font-size: 1.8rem;
	}
	.accessCont {
    grid-template-columns: repeat(1, 1fr);
	}
	.accessCont li {
		padding: 2rem;
	}
	.accessCont li h3 {
		font-size: 1.6rem;
	}

	/*form
	-------------------------------------------------------*/
	.whBox {
		padding: 3rem 2rem;
		font-size: 1.2rem;
	}
	.formNote {
		margin-bottom: 4rem;
	}
	.radioWrap {
		gap: 1rem 2rem
	}
	.formTxt {
		margin-bottom: 2rem;
	}
	.formWrap {
		padding: 0
	}
	.formBox dt,.formBox dd  {
		width: 100%;
		padding: 1rem 0 0;
		border:none!important
	}
	.formBox dt {
		padding: 1rem;
		background: #f9f9f9;
	}
	.formBox dt::before {
		background: #fff;
		vertical-align: .2em;
		margin-right: 1rem;
	}
	.formBox dd {
		padding: 1rem 1rem 3rem;
	}
	.formName > .txt {
    width: 100%;
		margin: .5rem 0!important
	}
	.formName .txt span {
		text-align: right
	}
	.zipBtn {
		font-size: 1.2rem;
		padding: 7px;
		margin-left: 2px;
	}
	.formBox input[type="text"].size-s {
		max-width: 12rem;
	}
	.policyCheck {
		margin-top: 3rem;
	}
	.formBtn {
		margin-top: 3rem;
		flex-direction: column-reverse;
	}
	.formWrap input[type="submit"], .formWrap input[type="button"], .formWrap button.button._grey {
		min-width: 26rem;
		padding: 2rem 1rem;
	}
	.formTx02 {
		text-align: left;
	}
	.txBox .txt-lh {
		text-align: left;
	}

	/*profile
	-------------------------------------------------------*/
	#history {
    overflow: visible;
	}
	.overview > .img {
		margin-bottom: 2rem;
	}
	.profile {
		font-size: 1.2rem;
		grid-template-columns: 10rem 1fr;
	}
	.profile dt, .profile dd {
		padding: 1.2rem 1rem;
	}
	.historyArea {
		padding-bottom: 6rem;
	}
	.history01 {
		position: relative;
	}
	.historyTtl {
		position: sticky;
		top: 5.4rem;
		left: 0;
		right: 0;
		z-index: 99;
		margin-bottom: 2.5rem;
	}
	.historyTtl h3 {
		font-size: 1.4rem;
		padding: 0.7rem;
	}
	.historyTtl h3::after {
		aspect-ratio: 3/1;
		bottom: -1.2rem;
	}
	:root {
    --y_width: 3.5rem;
	}
	.hYear {
		font-size: 2rem;
		margin: 3rem auto;
	}
	.history {
		font-size: 1.2rem;
		gap: 0 3rem;
	}
	.history dt {
		font-size: 2rem;
	}
	.history dt::before {
		right: -1.5rem;
	}
	.history dl:nth-of-type(even) dt::before {
		left: -1.5rem;
	}
	.history dd figure img {
    max-height: 10rem;
	}
	.history + .history {
    margin-top: 3rem;
	}
	.historyArea._02 {
		padding: 3rem 0  3rem var(--y_width);
	}
	.history02Ttl {
		padding: 2rem;
		flex-wrap: wrap;
		gap: 1rem 3rem
	}
	.history02Ttl figure {
		max-width: 100%;
		width: 100%;
		text-align: center;
	}
	.history02Ttl figure img {
		max-height: 10rem;
	}
	.historyArea._02 .history {
		display: block;
		padding-left: var(--y_width);
	}
	.historyArea._02 dl {
		padding-left: 0;
	}
	.historyArea._02 figure,
	.historyArea._02 .history.mt-20 figure {
		margin-top: 1.5rem;
	}
	.historyArea._02 figure img {
		max-height: 10rem;
	}
	.history.mt-20 {
		margin-top: 1.5rem;
	}

	/*dl_list
	-------------------------------------------------------*/
	.dlLead {
		margin-bottom: 6rem;
	}
	.dlLead .txt {
		margin-bottom: 4rem;
	}
	.dlLead .txt a {
		display: inline-flex;
		align-items: center;
		gap: .8em;
		font-size: 1.4rem;
	}
	.dlLead .txt a::after {
		width: 1.3rem;
	}
	.dlExample {
		display: grid;
		grid-template-columns: repeat(3,1fr);
		gap: 2.5rem 1.5rem;
		font-size: 1.2rem;
	}
	.dlExample li.hide {
		display: none;
	}
	.dlListWrap h2:not(:first-of-type) {
		margin-top: 6rem;
	}
	.dlList {
		display: grid;
		grid-template-columns: repeat(2,1fr);
		gap: 1rem;
	}
	.dlList a {
		display: block;
		padding: 1.2rem;
	}
	.dlList a h3 {
		font-size: 1.4rem;
	}
	.dlList a .box {
		display: block;
	}
	.dlList a .box .btn02 {
		width: 100%;
		font-size: 1.1rem;
		white-space: nowrap;
		gap: .8rem .5rem;
		padding: .5rem;
		margin-top: 1rem;
	}
	.dlList a .box .btn02::after {
		width: 1.2rem;
	}
	.dlList a .img {
		margin-bottom: 1rem;
	}

	/*solution
	-------------------------------------------------------*/
	#solutionTop {
		padding: 6rem 0 8rem;
	}
	.solutionTop {
		display: block;
	}
	.solutionTop .box {
		width: 100%;
		margin-bottom: 3rem;
	}
	.solutionTop .box h2 {
		font-size: 2.2rem;
		margin-bottom: 2rem;
	}
	.solutionTop .box .txt-lh {
		line-height: 1.8;
	}
	.solutionImgWrap {
		font-size: 1rem;
		width: 100%;
	}
	.solutionImgWrap h3 {
		font-size: 1.8rem;
		white-space: nowrap;
	}
	.solutionImg > .img {
		width: 95%;
	}
	.solutionImg {
		padding: 12rem 0;
	}
	.solutionImg dl {
		position: absolute;
		text-align: left;
	}
	.solutionImg dl._01 {
		top: 0;
		left: 0;
		transform: translateY(-1rem);
	}
	.solutionImg dl._02 {
		top: 0;
		right: 0;
		transform: translateY(-1rem);
	}
	.solutionImg dl._04 {
		bottom: 0;
		left: 0;
		transform: translateY(1rem);
	}
	.solutionImg dl._03 {
		bottom: 0;
		right: 0;
		transform: translateY(1rem);
	}
	.solutionImg figure img {
		max-height: 3.5rem;
	}
	.solutionImg h4 {
		font-size: 1.8rem;
	}
	.solutionImg dt::after {
		right: -3rem;
	}
	.solutionImg dl._02 dt::after,
	.solutionImg dl._03 dt::after {
		left: -3rem;
	}
	.solutionImg dt::before {
		content: "";
		display: block;
		width: 1px;
		height: 10rem;
		background: #000;
		position: absolute;
		z-index: -10;
	}
	.solutionImg dl._01 dt::before {
		right: -3rem;
		top: 100%;
	}
	.solutionImg dl._02 dt::before {
		left: -3rem;
		top: 100%;
	}
	.solutionImg dl._03 dt::before {
		left: -3rem;
		bottom: 0;
	}
	.solutionImg dl._04 dt::before {
		right: -3rem;
		bottom: 0;
	}
	.solutionImg + .txt-lh {
		font-size: 1.3rem;
		font-feature-settings: "halt";
		margin-top: 3.5rem;
	}
	.solWrap {
		display: block;
		padding: 0 0 3rem;
	}
	.solTtl {
		gap: 1rem;
	}
	.solTtl .num {
		font-size: 1.2rem;
	}
	.solTtl .num strong {
		font-size: 350%;
	}
	.solTtl h2 {
		font-size: 2rem;
		text-align: left;
		line-height: 1.3;
		gap: 1rem;
		padding-bottom: .5rem;
	}
	.solWrap .img {
		width: auto;
		margin-right: -2rem;
		margin-bottom: 2rem;
		transform: translateX(2rem);
	}
	.solWrap .box {
		padding: 0 2rem;
	}
	.solWrap .box h3 {
		font-size: 1.8rem;
	}
	.solWrap .box .txt-lh {
		min-height: inherit;
		line-height: 1.8;
	}
	.solWrap .box ul {
		gap: .8rem;
	}
	.solWrap .box .btn {
		min-width: 10rem;
		font-size: 1.2rem;
		gap: .7rem;
	}
	.solWrap .box::before {
		bottom: -3rem;
		left: -4rem;
		right: 0;
	}
	.solArea:nth-of-type(even) .solWrap .box::before {
		left: 0;
		right: -4rem;
	}
	.solArea:nth-of-type(even) .solWrap .img {
		margin-left: -2rem;
		margin-right: auto;
		transform: translateX(-2rem);
	}
	.solutionBtm .txt-lh {
		font-size: 1.4rem;
	}
	.catchcopyTxt {
		font-size: 1.6rem;
	}
	.catchcopyTxt .eng {
		font-size: 3.2rem;
	}
	.bg01_btm {
		background-size: auto 25rem;
	}

	/*dx
	-------------------------------------------------------*/
	.productsHeroArea {
		padding: 4rem 0;
	}
	.productsHeroArea h2 {
		font-size: 1.6rem;
	}
	.productsHero {
		display: block;
	}
	.productsHero h2._sm {
		font-size: 1.6rem;
	}
	.anchor02 {
		gap: 1rem;
	}
	.anchor02 a {
		font-size: 1.4rem;
		gap: .7rem;
		padding: 1.2rem .5rem;
	}
	.anchor02 a::after {
		width: 1.4rem;
	}
	.productsHero .box {
		padding-top: 0;
	}
	.triBg {
		padding-top: 6rem;
	}
	.triBg._btm {
		padding-bottom: 6rem;
	}
	.triBg._bg01::before,
	.triBg._btm::after {
		aspect-ratio: 4/1;
	}
	#movie .secTtl,
	#works .secTtl,
	#feature .secTtl {
		margin-bottom: 3rem;
	}
	.numTtl {
		gap: 1.5rem;
		margin-bottom: 3rem;
	}
	.numTtl h2 {
		font-size: 2rem;
	}
	.numTtl .num {
		font-size: 4.2rem;
		white-space: nowrap;
	}
	.featureWrap {
		margin-top: 6rem;
	}
	.featureBox {
		display: block;
	}
	.featureBox .img {
		width: 100%;
		margin-bottom: 2rem;
	}
	.featureBox .box {
		width: 100%;
	}
	.featureBox h3 {
		font-size: 1.8rem;
		margin-bottom: 1rem;
	}
	.lnWrap {
		display: block;
	}
	.lnWrap .box {
		width: 100%;
	}
	.lnWrap .img {
		width: 100%;
		margin-bottom: 2rem;
	}
	.triTtl {
		font-size: 1.8rem;
		margin-bottom: 1rem;
	}
	.triTtl::before {
		width: 1.5rem;
	}
	#linenup {
		padding-bottom: 8rem;
	}
	.lnWrap .box h4 {
		font-size: 1.2rem;
		margin-top: 3rem;
	}
	.lnWrap + .lnWrap {
		margin-top: 4rem;
		padding-top: 4rem;
	}

	/*safety
	-------------------------------------------------------*/
	.movieList {
		gap: 1rem;
	}
	.playIco {
		width: 3rem;
	}

	/*factory
	-------------------------------------------------------*/
	#factoryCont {
		padding-top: 6rem;
	}
	.factoryContWrap {
		background-image: none;
	}
	.factoryCont {
		flex-direction: column;
		gap: 1rem;
	}
	.factoryCont .box .triTtl {
		font-size: 1.6rem;
	}
	.factoryCont .img {
		width: 100%;
		margin-bottom: 1rem;
	}


	/*equipment
	---------------------------------------------------------*/
	.equipmentWrap {
		display: block;
		margin-top: 6rem;
	}
	.equipmentWrap + .equipmentWrap  {
		padding-top: 6rem;
	}
	.equipmentWrap img[src*="ln_img01"] {
		max-height: 20rem;
	}
	.equipmentWrap img[src*="ln_img02"] {
		max-height: 16rem;
	}
	.equipmentWrap .box {
		margin-top: 2rem;
	}
	.equipmentWrap .img {
		width: 100%;
	}
	.dlBtn02 {
		width: 100%;
		margin-top: 3rem;
		gap: 1rem;
		padding: 1.5rem 2rem;
		font-size: 1.4rem;
	}
	.dlBtn02 .eng {
		font-size: 2rem;
	}
	.dlBtn02::after {
		width: 1.5rem;
	}

	/*equipment
	---------------------------------------------------------*/
	.manualContArea .sliderTop {
		display: block;
	}
	.manualContArea .solTtl h2 {
		font-size: 1.8rem;
		padding-bottom: 0;
	}
	.manualSlider-thumb {
		grid-template-columns: repeat(2,1fr);
	}
	.manualSlider-thumb .tab {
		padding: 1rem;
		font-size: 1.3rem;
		white-space: nowrap;
	}
	.manualSliderWrap {
		padding-top: 3rem;
	}
	.manualCont .box {
		display: block;
	}
	.manualCont .box .img {
		width: 100%;
		margin-bottom: 2rem;
	}
	.manualContArea section:not(:first-of-type) {
    margin-top: 6rem;
	}
	.works {
		grid-template-columns: repeat(1,1fr);
	}

	/*agv
	---------------------------------------------------------*/
	.agvTtlArea {
		padding-top: 4rem;
		height: 18rem;
		justify-content: flex-start;
	}
	.agvTtlImg {
    right: 0;
		bottom: 9%;
    width: 100%;
	}
	.agvTtlArea .pageTtl h1 {
		text-shadow: none;
	}
	.agvTtl .eng {
		font-size: 1.4rem;
	}
	#agvAnchor {
		padding-top: 5rem;
	}
	.agvAnchor h2 {
		font-size: 1.6rem;
	}
	.anchor {
		gap: 4rem 1rem;
		grid-template-columns: repeat(1,1fr);
	}
	.anchor .img .num {
		font-size: 2.4rem;
		padding: 1.2rem 1rem;
	}
	.anchor a {
		font-size: 1.6rem;
		gap: .5rem;
		white-space: nowrap;
		padding: 1.2rem 0;
	}
	.anchor .txt {
		font-size: 1.6rem;
		margin-bottom: 3rem;
	}
	.anchor a::after {
		width: 1.5rem;
	}
	.anchor .txt::after {
		aspect-ratio: 5/2;
		bottom: -2rem;
	}
	.agv-caseHeader {
		padding: 4rem 0;
	}
	.agv-caseWrap {
		display: block;
	}
	.agv-caseWrap .img {
		width: 100%;
	}
	.agv-caseWrap .img img {
		max-height: 14rem;
	}
	.agv-caseTtl h3 {
		font-size: 1.4rem;
	}
	.agv-caseTtl {
		margin-bottom: 2rem;
	}
	.agvList {
		grid-template-columns: repeat(2,1fr);
		gap: 1rem;
	}
	.agvList li .txt {
		font-size: 1.6rem;
	}
	.tglContArea {
		margin-top: 6rem;
	}
	.tglTtl {
		display: block;
		margin-bottom: 3rem;
	}
	.tglTtl h3 {
		font-size: 1.6rem;
	}
	.tglTtl .arw {
		width: 3.5rem;
	}
	.tglContWrap {
		display: block;
	}
	.tglContWrap._hsBtn .box {
		padding-bottom: 0;
	}
	.tglContWrap._hsBtn .box .dlBtn02 {
		position: static;
	}
	.tglContWrap .img {
		width: 100%;
		margin-bottom: 2rem;
	}
	.tglContWrap .img.col-2 {
		grid-template-columns: repeat(2,1fr);
	}
	.tglContWrap .box h4 {
		font-size: 1.6rem;
	}
	.tglContWrap .box h4:not(:first-of-type) {
		margin-top: 4rem;
	}
	.agv-caseArea {
		padding-bottom: 8rem;
	}
	#agv-strong {
		padding: 5rem 0;
	}
	#agv-strong .ttlBox h2 {
		font-size: 1.8rem;
	}
	.strongWrap {
		grid-template-columns: repeat(1,1fr);
	}
	.strongWrap h3{
		font-size: 1.6rem;
	}






}

