/* ==================================================
   Company Page Specific Styles
   ================================================== */

.company {
	/*background-color:#FFF;
	color:#000;*/
}


.arrowlink__text{display:block;position:relative;width:-moz-fit-content;width:fit-content}

.arrowlink__text:before{background-color:#05f;clip-path:polygon(0 0,100% 50%,0 100%);content:"";display:block;height:max(.6rem,6px);left:0;opacity:0;pointer-events:none;position:absolute;top:calc(50% - max(.3rem, 3px));width:max(.6rem,6px)}

.arrowlink__text span{display:block;position:relative;width:-moz-fit-content;width:fit-content}
body:not(.touch) .arrowlink.clicked .arrowlink__text:before,body:not(.touch) .arrowlink:hover .arrowlink__text:before{animation:arrowlinkArrowTick 1s cubic-bezier(.19,1,.22,1) .75s infinite normal both;opacity:1}
body:not(.touch) .arrowlink.clicked .arrowlink__text span,body:not(.touch) .arrowlink:hover .arrowlink__text span{animation:arrowlinkTextOn 1s cubic-bezier(.19,1,.22,1) 0s 1 normal both!important}
body:not(.touch) .arrowlink:not(.clicked) .arrowlink__text span,body:not(.touch) .arrowlink:not(:hover) .arrowlink__text span{animation:arrowlinkTextOff .5s cubic-bezier(.19,1,.22,1) 0s 1 normal both}
@keyframes arrowlinkArrowTick{0%{transform:translate(0)}
0.01%{transform:translate(max(.6rem,6px))}
75%{transform:translate(0)}
to{transform:translate(0)}
}
@keyframes arrowlinkTextOn{0%{transform:translateX(max(.8rem,8px))}
to{transform:translateX(max(1.6rem,16px))}
}
@keyframes arrowlinkTextOff{0%{transform:translateX(max(1.6rem,16px))}
to{transform:translateX(max(0rem,0px))}
}


.hoverRoll__text{display:block;height:auto;overflow:hidden;position:relative;width:auto}
.hoverRoll__text span{display:block;width:100%}
.hoverRoll__text span+span{left:0;position:absolute;top:calc(100% + 2px)}
.hoverRoll.hover .hoverRoll__text span{animation:textRollOver .75s cubic-bezier(.19,1,.22,1) 0s 1 normal none}
@keyframes textRollOver{
	0%{transform:translateY(0)}to
	{transform:translateY(calc(-100% - 2px))}
}

.articlelist__item{align-items:center;display:flex;flex-flow:row nowrap;height:auto;justify-content:flex-start;min-height:6.6rem;position:relative;width:100%}
.articlelist__item:before{background-color:#4d4d4d;content:"";height:1px;left:0;position:absolute;top:0;width:100%}
.articlelist__item:after{background-color:#05f;clip-path:polygon(0 0,100% 50%,0 100%);content:"";display:block;height:max(.8rem,8px);left:min(-2rem,-20px);opacity:0;pointer-events:none;position:absolute;top:calc(50% - max(.4rem, 4px));width:max(.8rem,8px)}
.articlelist__item__title{flex:1 1 auto;font-size:max(1.4rem,14px);letter-spacing:0;line-height:1.3571428571em;padding:max(1.4rem,14px) max(4rem,40px) max(1.4rem,14px) 0;transition:padding .5s cubic-bezier(.19,1,.22,1) 0s}
.articlelist__item__term{border:1px solid #4d4d4d;border-radius:9999px;flex:0 0 max(9.6rem,96px);font-size:max(1rem,10px);height:max(2.2rem,22px);letter-spacing:0;line-height:2em;overflow:hidden;padding:0 max(.8rem,8px);text-align:center;text-overflow:ellipsis;white-space:nowrap;width:max(9.6rem,96px)}
.articlelist__item__date{flex:0 0 max(12rem,120px);font-size:max(1rem,10px);letter-spacing:0;line-height:1em;padding:0 20px 0 0;text-align:right;width:max(12rem,120px)}body:not(.touch) .articlelist__item:hover:after{animation:articlelistItemArrowTick 1s cubic-bezier(.19,1,.22,1) .75s infinite normal both;left:0;opacity:1}body:not(.touch) .articlelist__item:hover .articlelist__item__title{animation:articlelistItemTextOn 1s cubic-bezier(.19,1,.22,1) 0s 1 normal both}body:not(.touch) .articlelist__item:not(:hover) .articlelist__item__title{animation:articlelistItemTextOff .5s cubic-bezier(.19,1,.22,1) 0s 1 normal both}
@keyframes articlelistItemArrowTick{0%{transform:translate(0)}0.01%{transform:translate(max(.6rem,6px))}75%{transform:translate(0)}to{transform:translate(0)}}
@keyframes articlelistItemTextOn{0%{padding-left:max(1rem,10px);padding-right:max(3rem,30px)}to{padding-left:max(2rem,20px);padding-right:max(2rem,20px)}}
@keyframes articlelistItemTextOff{0%{padding-left:max(2rem,20px);padding-right:max(2rem,20px)}to{padding-left:max(0rem,0px);padding-right:max(4rem,40px)}}
.articlelist--white .articlelist__item:before,body.basecolor_wh .articlelist .articlelist__item:before{background-color:#ccc}
.articlelist--white .articlelist__item:after,body.basecolor_wh .articlelist .articlelist__item:after{background-color:#039}
.articlelist--white .articlelist__item__term,body.basecolor_wh .articlelist .articlelist__item__term{border:1px solid #ccc}
@media (max-width:1023px){.articlelist__item{align-items:flex-start;display:flex;flex-flow:row nowrap;justify-content:flex-start;min-height:7.8rem;padding-right:6rem}
.articlelist__item:after{height:max(.6rem,6px);left:min(-2rem,-20px);top:calc(50% - max(.3rem, 3px));width:max(.6rem,6px)}
.articlelist__item__title{font-size:max(1.3rem,13px);letter-spacing:0;line-height:1.3846153846em;padding:max(2.1rem,21px) max(4rem,40px) max(2.1rem,21px) 0}
.articlelist__item__term{border-radius:9999px;bottom:auto;flex:0 0 auto;font-size:max(1rem,10px);height:max(1.6rem,16px);letter-spacing:0;line-height:1.4em;padding:0;position:absolute;right:0;top:calc(50% + .5rem);width:max(7.2rem,72px)}
.articlelist__item__term span{display:block;height:100%;overflow:hidden;text-overflow:ellipsis;transform:scale(.8);white-space:nowrap;width:100%}
.articlelist__item__date{bottom:auto;flex:0 0 auto;font-size:max(1rem,10px);letter-spacing:0;line-height:1em;padding:0;position:absolute;right:0;text-align:center;top:calc(50% - 1.5rem);width:max(7.2rem,72px)}}
.breadcrumb{align-items:center;display:flex;flex-flow:row nowrap;justify-content:center;max-width:100%;width:auto}
.breadcrumb__path{display:block;flex:0 0 auto;font-size:max(1.3rem,13px);height:max(2.3rem,23px);letter-spacing:0;line-height:1.7692307692em;overflow:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:auto}
.breadcrumb__path+.breadcrumb__path{padding-left:9rem;position:relative}
.breadcrumb__path+.breadcrumb__path:before{background-color:#4d4d4d;content:"";display:block;height:1px;left:1.5rem;position:absolute;top:calc(50% - 1px);width:6rem}
.breadcrumb__path a{color:#666;display:block;font-size:max(1.3rem,13px);letter-spacing:0;line-height:1em;padding-bottom:.5rem;padding-top:.5rem;position:relative;width:-moz-fit-content;width:fit-content}
.breadcrumb__path:last-child{flex:0 1 auto}body.basecolor_wh .breadcrumb__path+.breadcrumb__path:before{background-color:#ccc}
body.basecolor_wh .breadcrumb__path a{color:#999}
@media (max-width:1023px){
	.breadcrumb__path{
		font-size:max(1.1rem,11px);
		letter-spacing:0;
		line-height:1.9090909091em;
		}
	.breadcrumb__path+.breadcrumb__path{padding-left:6.5rem;position:relative}
	.breadcrumb__path+.breadcrumb__path:before{left:1rem;width:4.5rem}
	.breadcrumb__path a{font-size:max(1.1rem,11px);letter-spacing:0;line-height:1em;padding-bottom:.5rem;padding-top:.5rem}
	.breadcrumb:has(.breadcrumb__path:nth-child(3)) .breadcrumb__path+.breadcrumb__path{padding-left:4.2rem;position:relative}
	.breadcrumb:has(.breadcrumb__path:nth-child(3)) .breadcrumb__path+.breadcrumb__path:before{left:1rem;width:2.2rem}
	}
.breadcrumb__path .complete,.breadcrumb__path .confirm{display:none}
body:has(.contactform[data-progression=complete]) .page__header,body:has(.contactform[data-progression=confirm]) .page__header{padding-top:20rem}
body:has(.contactform[data-progression=complete]) .page__header .page__header__title,body:has(.contactform[data-progression=confirm]) .page__header .page__header__title{font-size:max(7.2rem,72px);letter-spacing:-.05em;line-height:1em;margin-top:3rem}
body:has(.contactform[data-progression=complete]) .page__header .page__header__description,body:has(.contactform[data-progression=confirm]) .page__header .page__header__description{display:none}
body:has(.contactform[data-progression=complete]) .page__header .page__header__body,body:has(.contactform[data-progression=confirm]) .page__header .page__header__body{height:0;margin-top:0}body:has(.contactform[data-progression=confirm]) .breadcrumb__path .confirm{display:inline-block}
body:has(.contactform[data-progression=complete]) .breadcrumb__path .complete{display:inline-block}

.diagram{background-color:#fff;border-radius:.5rem;height:auto;padding:3rem;position:relative;width:100%}
.diagram:has(.diagram__caption){padding-top:0}
.diagram__caption{color:#039;font-size:max(2.4rem,24px);letter-spacing:0;line-height:1.2083333333em;padding:2.6rem 3rem;text-align:center}
.diagram__image{background-color:#f2f2f2;height:auto;position:relative;width:100%}
.diagram__image img{display:block;height:auto;margin:0 auto;width:100%}
.diagram__body{height:auto;position:relative;width:100%}
.diagram__body,body.basecolor_wh .diagram{background-color:#f2f2f2}body.basecolor_wh .diagram__caption{color:#039}body.basecolor_wh .diagram__body,body.basecolor_wh .diagram__image{background-color:#fff}
@media (max-width:1023px){.diagram{border-radius:.5rem;padding:1.5rem}
.diagram:has(.diagram__caption){padding-top:0}
.diagram__caption{color:#039;font-size:max(1.8rem,18px);letter-spacing:0;line-height:1.2777777778em;padding:1.5rem;text-align:center}
body.touch .diagram__scrollviewport{background-color:#fff;height:auto;position:relative;width:100%}
body.touch .diagram__scrollviewport .diagram__image{-ms-overflow-style:none;height:auto;overflow:scroll;overflow-x:scroll;overflow-y:hidden;overscroll-behavior:contain;position:relative;scrollbar-width:none;width:100%}
body.touch .diagram__scrollviewport .diagram__image::-webkit-scrollbar{display:none}body.touch .diagram__scrollviewport__scrollbar{background-color:#ccc;bottom:3rem;height:1px;left:3rem;overflow:hidden;position:absolute;width:calc(100% - 6rem)}body.touch .diagram__scrollviewport__scrollbar:before{background-color:#000;content:"";display:block;height:100%;left:0;position:absolute;top:0;transform:translateX(calc(218.75%*var(--scrollposition)));width:31.372549%}}


.layersection{position:relative}
.layersection .layersection__contents{position:relative;transform:translate3d(0,calc(var(--layerprlx)*50lvh),0);will-change:transform}
.layersection__dimmer{background-color:rgba(0,0,0,.5);height:100%;left:0;opacity:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:50}
.basecolor_wh .layersection__dimmer{background-color:hsla(0,0%,100%,.5)}
.section{position:relative}
.section__contents{position:relative;z-index:11}
.section:has(.divider) .section__contents{margin-top:50rem}
.section__contents__breadcrumb{margin-top:25rem}
.section__dimmer{background-color:rgba(0,0,0,.5);height:100%;left:0;opacity:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:12}

.news__article__body p,.recruit__future__section__text p,.recruit__interview__section__body p,.recruit__overview__detail__item dd p,.recruit__overview__jobs__block__contents p,.wysiwyg p{font-size:max(1.4rem,14px);letter-spacing:0;line-height:1.7142857143em}
.news__article__body a:not([href^="tel:"]),.recruit__future__section__text a:not([href^="tel:"]),.recruit__interview__section__body a:not([href^="tel:"]),.recruit__overview__detail__item dd a:not([href^="tel:"]),.recruit__overview__jobs__block__contents a:not([href^="tel:"]),.wysiwyg a:not([href^="tel:"]){color:#999;text-decoration:underline;text-decoration-color:#ccc;text-underline-offset:max(.6rem,6px)}
.news__article__body img,.recruit__future__section__text img,.recruit__interview__section__body img,.recruit__overview__detail__item dd img,.recruit__overview__jobs__block__contents img,.wysiwyg img{display:block;height:auto;margin:5rem auto 0;max-width:100%}
.news__article__body img+*,.news__article__body p:has(img:last-child)+*,.recruit__future__section__text img+*,.recruit__future__section__text p:has(img:last-child)+*,.recruit__interview__section__body img+*,.recruit__interview__section__body p:has(img:last-child)+*,.recruit__overview__detail__item dd img+*,.recruit__overview__detail__item dd p:has(img:last-child)+*,.recruit__overview__jobs__block__contents img+*,.recruit__overview__jobs__block__contents p:has(img:last-child)+*,.wysiwyg img+*,.wysiwyg p:has(img:last-child)+*{margin-top:5rem}
.news__article__body img+img,.recruit__future__section__text img+img,.recruit__interview__section__body img+img,.recruit__overview__detail__item dd img+img,.recruit__overview__jobs__block__contents img+img,.wysiwyg img+img{margin-top:2rem}
.news__article__body p:has(img:last-child)+p:has(img:first-child),.recruit__future__section__text p:has(img:last-child)+p:has(img:first-child),.recruit__interview__section__body p:has(img:last-child)+p:has(img:first-child),.recruit__overview__detail__item dd p:has(img:last-child)+p:has(img:first-child),.recruit__overview__jobs__block__contents p:has(img:last-child)+p:has(img:first-child),.wysiwyg p:has(img:last-child)+p:has(img:first-child){margin-top:0}
.news__article__body p:has(img:last-child)+p img:first-child,.recruit__future__section__text p:has(img:last-child)+p img:first-child,.recruit__interview__section__body p:has(img:last-child)+p img:first-child,.recruit__overview__detail__item dd p:has(img:last-child)+p img:first-child,.recruit__overview__jobs__block__contents p:has(img:last-child)+p img:first-child,.wysiwyg p:has(img:last-child)+p img:first-child{margin-top:2rem}
.news__article__body p:has(a:only-child)+p:has(a:only-child),.recruit__future__section__text p:has(a:only-child)+p:has(a:only-child),.recruit__interview__section__body p:has(a:only-child)+p:has(a:only-child),.recruit__overview__detail__item dd p:has(a:only-child)+p:has(a:only-child),.recruit__overview__jobs__block__contents p:has(a:only-child)+p:has(a:only-child),.wysiwyg p:has(a:only-child)+p:has(a:only-child){margin-top:max(.5rem,5px)}
.news__article__body blockquote,.recruit__future__section__text blockquote,.recruit__interview__section__body blockquote,.recruit__overview__detail__item dd blockquote,.recruit__overview__jobs__block__contents blockquote,.wysiwyg blockquote{background-color:#f2f2f2;margin:2.4rem 0;padding:3rem}
.news__article__body h1,.news__article__body h2,.news__article__body h3,.news__article__body h4,.news__article__body h5,.news__article__body h6,.recruit__future__section__text h1,.recruit__future__section__text h2,.recruit__future__section__text h3,.recruit__future__section__text h4,.recruit__future__section__text h5,.recruit__future__section__text h6,.recruit__interview__section__body h1,.recruit__interview__section__body h2,.recruit__interview__section__body h3,.recruit__interview__section__body h4,.recruit__interview__section__body h5,.recruit__interview__section__body h6,.recruit__overview__detail__item dd h1,.recruit__overview__detail__item dd h2,.recruit__overview__detail__item dd h3,.recruit__overview__detail__item dd h4,.recruit__overview__detail__item dd h5,.recruit__overview__detail__item dd h6,.recruit__overview__jobs__block__contents h1,.recruit__overview__jobs__block__contents h2,.recruit__overview__jobs__block__contents h3,.recruit__overview__jobs__block__contents h4,.recruit__overview__jobs__block__contents h5,.recruit__overview__jobs__block__contents h6,.wysiwyg h1,.wysiwyg h2,.wysiwyg h3,.wysiwyg h4,.wysiwyg h5,.wysiwyg h6{color:#666;font-size:max(1.8rem,18px);letter-spacing:0;line-height:1.5555555556em;margin:9rem 0 2.4rem;position:relative}
.news__article__body h1:before,.news__article__body h2:before,.news__article__body h3:before,.news__article__body h4:before,.news__article__body h5:before,.news__article__body h6:before,.recruit__future__section__text h1:before,.recruit__future__section__text h2:before,.recruit__future__section__text h3:before,.recruit__future__section__text h4:before,.recruit__future__section__text h5:before,.recruit__future__section__text h6:before,.recruit__interview__section__body h1:before,.recruit__interview__section__body h2:before,.recruit__interview__section__body h3:before,.recruit__interview__section__body h4:before,.recruit__interview__section__body h5:before,.recruit__interview__section__body h6:before,.recruit__overview__detail__item dd h1:before,.recruit__overview__detail__item dd h2:before,.recruit__overview__detail__item dd h3:before,.recruit__overview__detail__item dd h4:before,.recruit__overview__detail__item dd h5:before,.recruit__overview__detail__item dd h6:before,.recruit__overview__jobs__block__contents h1:before,.recruit__overview__jobs__block__contents h2:before,.recruit__overview__jobs__block__contents h3:before,.recruit__overview__jobs__block__contents h4:before,.recruit__overview__jobs__block__contents h5:before,.recruit__overview__jobs__block__contents h6:before,.wysiwyg h1:before,.wysiwyg h2:before,.wysiwyg h3:before,.wysiwyg h4:before,.wysiwyg h5:before,.wysiwyg h6:before{background-color:#666;content:"";display:block;height:1px;left:-8rem;position:absolute;top:max(1.4rem,14px);width:6rem}


.company .page__header .page__header__visual__image2{align-self:flex-end}
.company .page__header .page__header__visual__image3{align-self:flex-start}
.company__phonedl{align-items:flex-start;display:flex;flex-flow:row wrap;justify-content:flex-start;margin-top:2.4rem}
.company__phonedl dt{flex:0 0 max(4.3rem,43px);font-style:normal;font-weight:400;position:relative;width:max(4.3rem,43px)}
.company__phonedl dt:after{content:"：";position:absolute;right:max(.3rem,3px);top:0}
.company__phonedl dd{flex:0 0 calc(100% - max(4.3rem, 43px));width:calc(100% - max(4.3rem, 43px))}
.company__overview{padding-bottom:10rem}
.company__overview__body{margin-left:auto;margin-top:5rem;position:relative;width:96rem}
.company__overview__table__line{align-items:flex-start;display:flex;flex-flow:row nowrap;justify-content:flex-start}
.company__overview__table__line+.company__overview__table__line{border-top:1px dotted #BBB;margin-top:2.7rem;padding-top:2.7rem}
.company__overview__table__term{flex:0 0 30rem;font-size:max(1.8rem,18px);font-weight:400;letter-spacing:0;line-height:1.3333333333em;padding-right:3rem;width:30rem}
.company__overview__table__desc{flex:1 1 auto}
.company__overview__stats{align-items:flex-start;background-color:#fff;border-radius:.5rem;display:flex;flex-flow:row wrap;gap:6rem;height:auto;justify-content:flex-start;margin-top:10rem;padding:6rem;width:100%}
.company__overview__stats__chart{flex:0 0 calc(33.3333% - 4rem)}
.company__overview__stats__chart img{display:block;height:auto;width:100%}
.company__history{/*margin-top:-6rem;*/padding-top:11rem; padding-bottom:11rem}
.company__history__timeline{margin-left:auto;margin-top:5rem;position:relative;width:96rem; color:#FFF;}
.company__history__timeline:after{background-image:linear-gradient(180deg,#fff 1px,transparent 0);background-repeat:repeat-y;background-size:1px 4px;content:"";display:block;height:100%;left:5rem;position:absolute;top:0;width:1px;z-index:0}
.company__history__timeline__block{align-items:flex-start;display:flex;flex-flow:row nowrap;justify-content:flex-start;position:relative}
.company__history__timeline__block+.company__history__timeline__block .company__history__timeline__body{border-top:1px solid #4d4d4d;margin-top:2.7rem;padding-top:2.7rem}
.company__history__timeline__block+.company__history__timeline__block .company__history__timeline__year{top:4.9rem}
.company__history__timeline__block:last-child .company__history__timeline__year{bottom:0;top:auto}
.company__history__timeline__block:last-child .company__history__timeline__body{border-top:0;padding-top:3rem}
.company__history__timeline__year{align-items:center;background-color:#fff;border-radius:9999px;color:#000;display:flex;flex:0 0 10rem;flex-flow:row nowrap;font-size:max(1.8rem,18px);height:autp;justify-content:center;left:0;letter-spacing:0;line-height:1.2777777778em;margin-right:5rem;min-height:3.3rem;padding:.5rem;position:absolute;text-align:center;top:-5px;width:10rem;z-index:1}
.company__history__timeline__body{flex:0 0 81rem;margin-left:auto;width:81rem}
.company__history__timeline__event{align-items:flex-start;display:flex;flex-flow:row nowrap;justify-content:flex-start}
.company__history__timeline__event+.company__history__timeline__event{margin-top:2.4rem}
.company__history__timeline__event__month{flex:0 0 15rem;padding-right:3rem;width:15rem}
.company__history__timeline__event__desc{flex:0 0 45rem;padding-right:3rem;width:45rem}
.company__history__timeline__event__img{flex:0 0 21rem;height:auto;width:21rem}
.company__history__timeline__event__img img{aspect-ratio:40/48;display:block;height:auto;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;width:100%}
.company__base{ padding-bottom:10rem;}
.company__base__body{margin-left:auto;margin-top:5rem;position:relative;width:96rem}
.company__base__section+.company__base__section{border-top:1px solid #4d4d4d;margin-top:4rem;padding-top:5rem}
.company__base__block{align-items:flex-start;display:flex;flex-flow:row nowrap;justify-content:flex-start}
.company__base__block+.company__base__block{margin-top:5rem}
.company__base__section__label+.company__base__block{margin-top:4rem}
.company__base__block__label{flex:0 0 30rem;font-size:max(2.8rem,28px);letter-spacing:0;line-height:1.1785714286em;padding-right:3rem;width:30rem}
.company__base__block__label__sub{display:block;font-size:max(1.4rem,14px);letter-spacing:0;line-height:1.7142857143em}
.company__base__block__body{flex:0 0 66rem;width:66rem}
.company__base__block__image{height:auto;position:relative;width:100%}
.company__base__block__image img{display:block;height:auto;width:100%}
.company__base__block__detail{align-items:flex-start;display:flex;flex-flow:row nowrap;justify-content:flex-start}
.company__base__block__image+.company__base__block__detail{margin-top:3rem}
.company__base__block__detail__info{flex:0 1 42rem;padding-right:3rem;width:42rem}
.company__base__block__detail__info:only-child{flex:0 1 auto;width:auto}
.company__base__block__detail__info p:not(:first-child){margin-top:2.4rem}
.company__base__block__detail__link{flex:0 0 24rem;width:24rem}
.company__base__section__label{font-size:max(2.8rem,28px);letter-spacing:0;line-height:1.1785714286em}
.company__base__block--subsidiary .company__base__block__label{font-size:max(1.8rem,18px);letter-spacing:0;line-height:1.5555555556em}
.company__base__block--subsidiary .company__base__block__label__sub{font-size:max(1.4rem,14px);letter-spacing:0;line-height:1.7142857143em}
@media (max-width:1280px) and (min-width:1024px){
	body:not(.touch) .company__base__block__detail__link.blockbtn.clicked .blockbtn__label,body:not(.touch)
	.company__base__block__detail__link.blockbtn:hover .blockbtn__label{display:none!important}
}
@media (max-width:1023px){
	.company .page__header .page__header__visual__image1{orer:1}
	.company .page__header .page__header__visual__image2{margin:0 auto 0 0;order:3}
	.company .page__header .page__header__visual__image3{margin:0 0 0 auto;order:2}
	.company__phonedl dt{flex:0 0 max(4rem,40px);width:max(4rem,40px)}
	.company__phonedl dt:after{right:max(.3rem,3px)}
	.company__phonedl dd{flex:0 0 calc(100% - max(4rem, 40px));width:calc(100% - max(4rem, 40px))}
	.company__overview{padding-bottom:6rem;}
	.company__overview__body{margin-top:4rem;width:100%}
	.company__overview__table__line+.company__overview__table__line{margin-top:2.1rem;padding-top:2.3rem}
	.company__overview__table__term{flex:0 0 9rem;font-size:max(1.5rem,15px);letter-spacing:0;line-height:1.3333333333em;padding-right:1.5rem;position:relative;top:min(-.2rem,-2px);width:9rem}
	.company__overview__table__desc{flex:1 1 auto;font-size:max(1.3rem,13px);letter-spacing:0;line-height:1.3846153846em}
	.company__overview__stats{border-radius:.5rem;display:block;margin-top:6rem;padding:3.5rem 1.6rem}
	.company__overview__stats__chart{display:block;height:auto;margin-left:auto;margin-right:auto;width:22.8rem}
	.company__overview__stats__chart+.company__overview__stats__chart{margin-top:4rem}
	.company__history{/*margin-top:-3rem;*/padding-top:8rem; padding-bottom:10rem}
	.company__history__timeline{margin-top:5rem;width:100%}
	.company__history__timeline:after{left:3.7rem}
	.company__history__timeline__block{align-items:flex-start;display:flex;flex-flow:row nowrap;justify-content:flex-start;position:relative}
	.company__history__timeline__block+.company__history__timeline__block .company__history__timeline__body{border-top:1px solid #4d4d4d;margin-top:2.3rem;padding-top:2.1rem}
	.company__history__timeline__block+.company__history__timeline__block .company__history__timeline__year{top:4.1rem}
	.company__history__timeline__block:last-child .company__history__timeline__year{bottom:0;top:auto}
	.company__history__timeline__block:last-child .company__history__timeline__body{border-top:0;padding-top:0}
	.company__history__timeline__year{flex:0 0 7.5rem;font-size:max(1.5rem,15px);height:2.5rem;left:0;letter-spacing:0;line-height:1em;margin-right:1.5rem;top:0;width:7.5rem}
	.company__history__timeline__body{flex:0 0 calc(100% - 9rem);margin-left:auto;width:calc(100% - 9rem)}
	.company__history__timeline__event{align-items:flex-start;display:flex;flex-flow:row wrap;font-size:max(1.3rem,13px);justify-content:flex-start;letter-spacing:0;line-height:1.3846153846em}
	.company__history__timeline__event+.company__history__timeline__event{margin-top:1.5rem}
	.company__history__timeline__event__month{flex:0 0 4.5rem;padding-right:0;width:4.5rem}
	.company__history__timeline__event__desc{flex:1 1 calc(100% - 4.5rem);padding-right:0;width:calc(100% - 4.5rem)}
	.company__history__timeline__event__img{flex:1 1 100%;height:auto;margin-top:1.5rem;width:100%}
	.company__history__timeline__event__img img{height:14rem;margin-left:auto;width:12rem}
	.company__base{padding-bottom:10rem;}
	.company__base__body{margin-top:4rem;width:100%}
	.company__base__section+.company__base__section{margin-top:3rem;padding-top:4rem}
	.company__base__block{display:block}
	.company__base__block+.company__base__block{margin-top:5rem}
	.company__base__section__label+.company__base__block{margin-top:4rem}
	.company__base__block__label{font-size:max(2.1rem,21px);letter-spacing:0;line-height:1.2380952381em;padding-right:0;width:100%}
	.company__base__block__label__sub{display:block;font-size:max(1.4rem,14px);letter-spacing:0;line-height:1.7142857143em}
	.company__base__block__body{margin-top:2rem;width:100%}
	.company__base__block__image+.company__base__block__detail{margin-top:3rem}
	.company__base__block__detail__info{flex:1 1 100%;font-size:max(1.3rem,13px);letter-spacing:0;line-height:1.3846153846em;padding-right:0;width:100%}
	.company__base__block__detail:has(.company__base__block__detail__link) .company__base__block__detail__info{flex:1 1 calc(100% - 7.5rem);padding-right:1.5rem;width:calc(100% - 7.5rem)}
	.company__base__block__detail__link{flex:0 0 7.5rem;width:7.5rem}
	.company__base__block__detail__link .blockbtn__title{padding-left:1.5rem!important;padding-right:1.5rem!important;width:100%!important}
	.company__base__block__detail__link .blockbtn__arrowbox,.company__base__block__detail__link .blockbtn__label{display:none}
	.company__base__section__label{font-size:max(2.1rem,21px);letter-spacing:0;line-height:1.2380952381em}
	.company__base__block--subsidiary .company__base__block__label{font-size:max(1.5rem,15px);letter-spacing:0;line-height:1.3333333333em}
	.company__base__block--subsidiary .company__base__block__label__sub{font-size:max(1.3rem,13px);letter-spacing:0;line-height:1.5384615385em}
	.company__base__block__detail .blockbtn .blockbtn__title{text-align:center;}
}





.notfound__main{min-height:100lvh;padding-bottom:20rem}
.notfound__header{text-align:center}
.notfound__back{margin:10rem auto 0;width:27rem}
.page__breadcrumb{margin-top:20rem;padding-bottom:20rem}
.page__header{margin:0 auto;padding:30rem 0 0;position:relative;width:100%}
.page__header__bg{height:auto;left:0;position:absolute;top:-30rem;width:100%;z-index:0}
.page__header__bg:before{aspect-ratio:1440/980;content:"";display:block;height:auto;min-height:100svh;width:100%}
.page__header__bg img{height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center top;object-position:center top;top:0;z-index:0}
.page__header__bg img,.page__header__bg:after{display:block;left:0;position:absolute;width:100%}
.page__header__bg:after{background:linear-gradient(0deg,#000,transparent);bottom:0;content:"";height:60rem}
.page__header__contents{padding:0 6rem}
.page__header__lead{color:#05f;font-size:max(1.8rem,18px);letter-spacing:0;line-height:1.2777777778em;position:relative}
.basecolor_wh .page__header__lead{color:#039}
.page__header__title{font-size:max(10rem,100px);-webkit-hyphens:manual;hyphens:manual;letter-spacing:-.05em;line-height:.9em;margin-top:3rem}
.page__header__title__line{display:block;overflow:hidden;position:relative}
.page__header__title__line span{display:block;position:relative;transform:translateY(100%)}
body.ready .page__header__title__line span{transform:translateY(0);transition:transform 1.5s cubic-bezier(.19,1,.22,1) .5s}
.page__header__body{
	align-items:flex-end;
	display:flex;
	flex-flow:row nowrap;
	height:auto;
	justify-content:space-between;
	margin-top:5rem;
	position:relative;
	width:100%;}
.page__header__description{flex:1 1 auto;font-size:max(1.4rem,14px);letter-spacing:0;line-height:1.7142857143em;width:auto}
.page__header__breadcrumb{flex:1 1 auto;justify-content:flex-end;width:auto}
.page__header__visual{align-items:flex-start;display:flex;flex-flow:row nowrap;gap:0 3rem;justify-content:flex-start;margin-top:6rem;position:relative}
.page__header__visual__image1,.page__header__visual__image2,.page__header__visual__image3{display:block;overflow:hidden;position:relative}
.page__header__visual__image1 img,.page__header__visual__image2 img,.page__header__visual__image3 img{display:block;height:auto;position:relative;width:100%}
.page__header__visual__image1{flex:0 0 50rem;width:50rem;height:70rem;}
.page__header__visual__image2{height:28rem;width:22rem; position:absolute; bottom:11.7rem; right:-5rem;}
.page__header__visual__image3{flex:0 0 30rem;height:38rem;width:30rem}
.page__header__visual__image2 img,.page__header__visual__image3 img{transform:translate3d(0,calc(28.57143%*var(--progress)*-1),0);will-change:transform}

.page__header__navi{align-items:stretch;flex-flow:row wrap;gap:1rem 1rem;margin-top:10rem;width:100%}
.page__header__navi,.page__header__navi__btn{display:flex;height:auto;justify-content:center;position:relative}
	a.page__header__navi__btn {color:#000;}
.page__header__navi__btn{align-items:center;border:1px solid #ccc;border-radius:9999px;flex:0 0 auto;flex-flow:row nowrap;font-size:max(1.4rem,14px);letter-spacing:0;line-height:1.2857142857em;min-height:4.4rem;min-width:16rem;padding:1rem 4rem 1rem 2rem;text-align:center;width:-moz-fit-content;width:fit-content}
.page__header__navi__btn:after{border-bottom:1px solid #000;border-right:1px solid #000;content:"";display:block;height:.9rem;position:absolute;right:1.9rem;top:calc(50% - .7rem);transform:rotate(45deg);width:.9rem}
body:not(.touch) .page__header__navi__btn:hover:after{animation:headerNaviBtnHoverTick 1s cubic-bezier(.19,1,.22,1) 0s infinite normal both}

.basecolor_wh .page__header__navi__btn{border-color:#ccc}
.basecolor_wh .page__header__navi__btn:after{border-bottom-color:#000;border-right-color:#000}
@keyframes headerNaviBtnHoverTick{0%{transform:translateY(.6rem) rotate(45deg)}75%{transform:translate(0) rotate(45deg)}to{transform:translate(0) rotate(45deg)}}
.page__header.page__header--small{padding-top:20rem}
.page__header.page__header--small .page__header__title{font-size:max(7.2rem,72px);letter-spacing:-.05em;line-height:1em;margin-top:3rem}
.page__header.page__header--small .page__header__body:not(:has(.page__header__description)){height:0;margin-top:0}
.page__section{height:auto;margin-left:auto;margin-right:auto;position:relative;width:calc(100% - 12rem)}
@media (min-width:1024px){
	.page__section{transform:translateZ(0);will-change:transform}
}
@media (max-width:1023px){
	.page__breadcrumb{margin:10rem auto 0;padding-bottom:10rem;width:calc(100% - 3rem)}
	.page__header{padding:16rem 0 0}
	.page__header__bg{top:-21rem}
	.page__header__bg:before{aspect-ratio:auto;content:"";height:52rem;min-height:0}
	.page__header__bg:after{content:"";height:16.6rem}
	.page__header__contents{padding:0 1.5rem}
	.page__header__lead{font-size:max(1.4rem,14px);letter-spacing:0;line-height:1em}
	.page__header__title{font-size:max(5rem,50px);letter-spacing:-.05em;line-height:.9em;margin-top:max(1.5rem,15px)}
	body.ready .page__header__title__line span{transform:translateY(0);transition:transform 1.5s cubic-bezier(.19,1,.22,1) .7s}
	.page__header__body{display:block;margin-top:3.5rem}
	.page__header__description{font-size:max(1.3rem,13px);letter-spacing:0;line-height:1.7692307692em;width:100%}
	.page__header__breadcrumb{margin:2rem 0 0 auto}
	.page__header__visual{align-items:flex-start;display:flex;flex-flow:column nowrap;gap:1.5rem;height:auto;justify-content:flex-start;margin-top:1.5rem;position:relative;width:100%}
	.page__header__visual__image1{aspect-ratio:5/7;flex:0 0 auto;height:auto;width:100%}
	/*.page__header__visual__image2,.page__header__visual__image3{aspect-ratio:30/38;flex:0 0 auto;height:auto;width:calc(50% - .75rem)}*/
	.page__header__visual__image2,.page__header__visual__image3{display:none;}
	.page__header__navi{gap:.7rem .7rem;margin-top:5rem}
	.page__header__navi__btn{font-size:max(1.3rem,13px);height:auto;letter-spacing:0;line-height:1.3846153846em;min-height:3.4rem;min-width:11rem;padding:0 3.2rem 0 1.6rem}
	.page__header__navi__btn:after{height:.7rem;right:1.4rem;top:calc(50% - .5rem);width:.7rem}
	.page__header.page__header--small{padding-top:12rem}
	.page__header.page__header--small .page__header__title{font-size:max(3.8rem,38px);letter-spacing:-.05em;line-height:1em;margin-top:1.5rem}
	.page__header.page__header--small .page__header__body:not(:has(.page__header__description)){height:auto;margin-top:0}
	.page__section{width:calc(100% - 3rem)}
}
