/* business */
.business .anchorlinkbtn.yellow {background-image: url(../images/icon6-yellow.png);}
.business .anchorlinkbtn.yellow:hover {background-image: url(../images/icon6-yellow-white.png);background-color: #F1B41C;}
.business .anchorlinkbtn.brown {background-image: url(../images/icon6-brown.png);}
.business .anchorlinkbtn.brown:hover {background-image: url(../images/icon6-brown-white.png);background-color: #734D2F;}
.business .anchorlinkbtn.orange {background-image: url(../images/icon6-orange.png);}
.business .anchorlinkbtn.orange:hover {background-image: url(../images/icon6-orange-white.png);background-color: #D76D18;}
.business .anchorlinkbtn.blue {background-image: url(../images/icon6-blue.png);}
.business .anchorlinkbtn.blue:hover {background-image: url(../images/icon6-blue-white.png);background-color: #356B9E;}
.business .text-yellow {color: #F1B41C;}
.business .text-brown {color: #734D2F;}
.business .text-orange {color: #D76D18;}
.business .text-blue {color: #356B9E;}
.business .group-anchor-links-4col span .anchorlinkbtn-subtxt { width: 100%;font-weight: 600;line-height: 1.25;}
.business .business-head-item {position:relative;background-color: #fff; padding: .7vw 0px 0px; box-shadow: 0.25vw 0.25vw 0px #20783F; border-radius: 0.625vw; text-align: center; 
width: calc(16.66% - 2.3vw*5/6);
    margin: 0 2.3vw 0.208vw 0; aspect-ratio: 1 / 1;
    display: flex;
    flex-direction: column;
    justify-content: center;}
.business .business-head-item:last-child{margin-right:0px;}

.business .business-head-item:last-of-type {margin-right: 0;}
.business .business-head-item:not(:last-of-type)::after {position: absolute; content: ''; display: block; top: calc(50% - 0.885vw/2); transform: translateX(100%); right: -1vw; width: 0.601vw; height: 1.036vw; background-color: #20783F; clip-path: polygon(0 0, 100% 50%, 0 100%);}
.business .business-head-item img {width: 6vw; max-width: 80px; margin: 0 auto;}
.business .business-head-item span {display: block; font-size: 14px; margin-top: .2vw; line-height: 175%; font-weight: 600;}
.business .business-head-slider{display: flex; }
.business .business-head-slider.slick-slider{flex-direction: column;}
.business .business-head-slider .slick-dots,.business .business-slider-container .slick-dots {display: flex !important;justify-content: center;column-gap: 10px;margin-top: 32px;}
.business .business-head-slider .slick-dots li,.business .business-slider-container .slick-dots li {margin: 0;display: flex;}
.business .business-head-slider .slick-dots li button,.business .business-slider-container .slick-dots li button {width: 8px;height: 8px;padding: 0;background-color: #ddd;}
.business .business-head-slider .slick-dots li.slick-active button {background-color: #20783F;}
.business .business-slider-container.yellow .slick-dots li.slick-active button {background-color: #F1B41C;}
.business .business-slider-container.brown .slick-dots li.slick-active button {background-color: #734D2F;}
.business .business-slider-container.orange .slick-dots li.slick-active button {background-color: #D76D18;}
.business .business-slider-container.blue .slick-dots li.slick-active button {background-color: #356B9E;}
.business .business-item {background-color: #fff;}
.business .business-item h2.section-title-left:after {height: 100%;}
.business .business-item h2.section-title-right:after {height: 100%;}
.business .business-item .section-title-img {position: absolute;z-index: 1;}

.business .business-item-list{display: flex;}
.business .business-item-list-item{display:none}
.business .business-item-list-item:nth-child(1),
.business .business-item-list-item:nth-child(2){display: block}

.business .business-slider.slick-slider{display: unset}
.business .business-slider.slick-slider .business-item-list-item{display: block}


.business .business-item .business-slider .slick-list{padding-right: 8%;}
.business .business-item-list-item .img-main,
.business .business-item-list-item .img-hover{border-radius: 2.5vw;}


@media (min-width: 781px) {
    .business .group-anchor-links-4col {max-width: 1000px;margin: 0 auto;}
    .business .group-anchor-links-4col span {flex: 1;}
    .business .group-anchor-links-4col .anchorlinkbtn {max-width: none;}
    .business .group-anchor-links-4col span .anchorlinkbtn-subtxt {font-size: 12px;}
    .business .business-head {max-width:1000px;margin: 80px auto 120px;}
    .business .business-head p {margin-bottom: 40px;}
    .business .business-item {padding: 60px 0 80px;}
    .business .business-item:not(:last-of-type) {margin-bottom: 120px;}
    .business .business-item:nth-of-type(2n+1) {border-top-left-radius: 20px;border-bottom-left-radius: 20px; margin-left: 12.25vw;}
    .business .business-item:nth-of-type(2n) {border-top-right-radius: 20px;border-bottom-right-radius: 20px; margin-right: 12.25vw;}
    .business .business-item h2.section-title-left {margin-left: 50px;}
    .business .business-item h2.section-title-right {margin-right: 50px; padding-left: 18.188vw}
    .business .business-item h2.section-title-left span,.business .business-item h2.section-title-right span {font-size: 28px;font-weight: 600;margin-left: 20px;}
    .business .business-item:nth-of-type(2n+1) .business-item-inner{padding-left:6.25vw;}
    .business .business-item:nth-of-type(2n) .business-item-inner{padding-left: 18.75vw}
    .business .business-item .hfs-4 {margin-bottom: 40px;}
    /* .business .business-item-list-item {width: 482px;margin: 0;} */
    .business .business-item-list-item {margin: 0;}
    .business .business-item-list-item:not(:last-of-type) {margin-right: 36px;}
    .business .business-item-list-item .img {position: relative;display: block;margin-bottom: 20px;}
    .business .business-item-list-item .img-main {border-radius: 20px;}
    .business .business-item-list-item .img-hover {border-radius: 20px;display: flex;align-items: center;justify-content: center;position: absolute;width: 100%;height: 100%;top: 0;left: 0;opacity: 0;transition: all .3s;}
    .business .business-item-list-item .img:hover .img-hover {opacity: 1;}
    .business .business-item-list-item .img-hover img {width: 180px;}
    .business .business-item-list-item .img-hover.yellow {background-color: #F3D487;}
    .business .business-item-list-item .img-hover.brown {background-color: #D2C5AB;}
    .business .business-item-list-item .img-hover.orange {background-color: #FBC599;}
    .business .business-item-list-item .img-hover.blue {background-color: #98B3CD;}
    .business .business-slider-container .slick-dots {margin-top: 54px;justify-content: flex-end; padding-right: 135px;}
   
    .business .business-slider-container .slick-arrow {width: 46px;height: 46px;background-image: none;border-radius: 50%;top: auto;bottom: -16px;}
    .business .business-slider-container .slick-arrow::after {position: absolute;content: '';display: block;top: 50%;left: 50%;transform: translate(-50%,-50%);background: center / contain no-repeat url(../images/icon-arrow.png);width: 19px;height: 19px;}
    .business .business-slider-container .slick-arrow.slick-prev {transform: scale(-1,1);}
	
    .business .business-slider-container.yellow .slick-arrow {background-color: #F1B41C;}
    .business .business-slider-container.brown .slick-arrow {background-color: #734D2F;}
    .business .business-slider-container.orange .slick-arrow {background-color: #D76D18;}
    .business .business-slider-container.blue .slick-arrow {background-color: #356B9E;}
	
    .business .business-slider-container .slick-arrow.slick-disabled {opacity: 0.5;cursor: auto;}
    .business .business-item .business-slider-container .slick-prev {left: auto; right: 55px}
    .business .business-item .business-slider-container .slick-next {right: 0px;}
    
    .business .business-item .section-title-img.research {width: 272px;top: -132px;right: calc( (100vw - 1040px) / 2);}
    .business .business-item .section-title-img.design {width: 227px;top: -140px;right: 80px;}
    .business .business-item .section-title-img.maintenance {width: 186px;top: -104px;right: calc( (100vw - 864px) / 2);}
    .business .business-item .section-title-img.imagine {width: 237px;top: -100px;right: 130px;}
	
	.business .business-item:nth-of-type(2n+1) .business-slider .slick-list{padding-right: 16.25vw;}
	.business .business-item:nth-of-type(2n) .business-slider .slick-list{padding-right: 3.75vw;}
	
	.business .business-item:nth-of-type(2n+1) .business-container{margin-right: 19.5vw;}
	.business .business-item:nth-of-type(2n) .business-container{margin-right: 7vw;}
}
@media (min-width: 1301px) {
    .business .business-head-slider .slick-dots {display: none !important;}
}

@media (min-width: 781px) and (max-width: 1300px) {	
    .business .group-anchor-links-4col {flex-wrap: wrap;gap: 12px;}
    .business .group-anchor-links-4col span {margin-right: 0;flex:auto;width: calc(50% - 12px);}    
}

@media (max-width: 780px) {
    .business .business-head {margin-top: 48px;margin-bottom: 60px;}
    .business .business-head p {margin-bottom: 28px;}
    /*.business .business-head-slider {width: 100vw;margin-left: calc(50% - 50vw);margin-right: calc( 50% - 50vw );padding-left: 30px;}*/
    .business .business-item {padding: 28px 0 36px;}
    .business .business-item:not(:last-of-type) {margin-bottom: 60px;}
    .business .business-item:nth-of-type(2n+1) {border-top-left-radius: 10px;border-bottom-left-radius: 10px;margin-left: 15px;}
    .business .business-item:nth-of-type(2n) {border-top-right-radius: 10px;border-bottom-right-radius: 10px;margin-right: 15px;}
    .business .business-item h2.section-title-left {margin-left: 10px;}
    .business .business-item h2.section-title-right {margin-right: 10px;}
    .business .business-item h2.section-title-left span,.business .business-item h2.section-title-right span {font-size: 14px;font-weight: 600;display: block;line-height: 1.25;}
    .business .business-item .business-item-inner {padding-left: 20px;}
    .business .business-item .hfs-4 {margin-bottom: 20px;}
    .business .business-item-list-item {width: 300px;margin: 0;}
    .business .business-item-list-item:not(:last-of-type) {margin-right: 16px;}
    .business .business-item-list-item .img {display: block;margin-bottom: 12px;}
    .business .business-item-list-item .img-hover {display: none;}
    .business .business-slider-container .slick-dots {margin-top: 24px;margin-right: 30px;}
    .business .business-slider-container .slick-arrow {display: none !important;}
    .business .business-item .section-title-img.research {width: 122px;top: -51px;right: 40px;}
    .business .business-item .section-title-img.design {width: 110px;top: -58px;right: 26px;}
    .business .business-item .section-title-img.maintenance {width: 83px;top: -36px;right: 40px;}
    .business .business-item .section-title-img.imagine {width: 106px;top: -40px;right: 20px;}
}

/* company */
.company-anchor-links-4col {max-width: none;display:flex;flex-wrap: wrap;}
.company-anchor-links-4col span {margin: 0;}
.company-anchor-links-4col .anchorlinkbtn {max-width: none;}
.company .filter-gallery {margin-top: 60px;}
.company-more_linkbtn {margin: 24px auto 0;}
.company-more_linkbtn .linkbtn {margin: 0 auto;}
section.company-content-block {
    padding: 0;
}
@media (min-width: 781px) {
    .company-anchor-links-4col {gap: 12px;}
    .company-anchor-links-4col span {width: calc( 33.3333333% - 24px / 3 );}
}
@media (min-width: 781px) and (max-width: 1032px) {
    .company-anchor-links-4col span {width: calc( 50% - 12px / 2);}
}
@media (max-width: 780px) {
    .company-anchor-links-4col {gap: 10px;}
    .company-anchor-links-4col span {width: 100%;}
    .company-anchor-links-4col .anchorlinkbtn {padding-left: 12px;}
    .company .filter-gallery {margin-top: 40px;}
    .company-more_linkbtn {margin: 30px auto 0;}
}

.aboutus .policy-box {background-color: #fff;position: relative;z-index: 1;}
.aboutus .policy-box p {margin: 0;}
.aboutus .policy-box img {position: absolute;z-index: -1;}
.aboutus .policy-box-img01 {top: 0;left: 0;}
.aboutus .policy-box-img02 {bottom: 0;right: 0;}
.aboutus .policy-box-ttl {line-height: 2;margin-bottom: 0;}
.aboutus .policy-list dd {margin-left: 0;}
.aboutus .origin-box {background-color: #fff;background-repeat: no-repeat;background-size: cover;background-position: bottom center;position: relative;z-index: 1;}
.aboutus .origin-box-ttl span {display: block;line-height: 180%;}
.aboutus .origin-box-ttl span::first-letter {color: #D76D18;}
.aboutus .origin-box-img {position: absolute;z-index: -1;}
.aboutus .quote-box {position: relative;background-color: #F0E7D8;overflow: hidden;display: flex;align-items: center;justify-content: center;}
.aboutus .quote-box-ttl {background-color: #734D2F;position: absolute;
z-index: 1;top: 0;left: 0;color: #fff;}
.aboutus .quote-box-text p {line-height: 200%;}
@media (min-width: 781px) {
    .aboutus .policy-box {padding: 60px 0;border-radius: 20px;margin-bottom: 40px;}
    .aboutus .policy-box-img01 {width: 327px;}
    .aboutus .policy-box-img02 {width: 340px;}
    .aboutus .policy-box-ttl {font-size: 30px;}
    .aboutus .policy-list dt {font-size: 20px;margin-bottom: 10px;}
    .aboutus .policy-list dd:not(:last-of-type) {margin-bottom: 30px;}
    .aboutus .origin-box {background-image: url(../images/bg-origin.jpg);padding: 60px 20px 130px 80px;margin-bottom: 30px;border-radius: 20px;}
    .aboutus .origin-box-ttl span {font-size: 28px;}
    .aboutus .origin-box-ttl span::first-letter {font-size: 36px;}
    .aboutus .origin-box-img {width: 601px;top: 70px;right: 80px;}
    .aboutus .quote-box {padding: 60px 0;column-gap: 60px;border-radius: 20px;}
    .aboutus .quote-box-ttl {border-bottom-right-radius: 20px;font-size: 20px;padding: 2.5px 20px;}
    .aboutus .quote-box-img {width: 280px;}
    .aboutus .quote-box-img img {border-radius: 20px;}
    .aboutus .quote-box-text p {font-size: 18px;}
}
@media (min-width: 781px) and (max-width: 1300px) {
    .aboutus .origin-box-img {width: 400px;right: 20px;top: auto;bottom: 24px;}
}
@media (max-width: 960px) {
    .aboutus .quote-box {flex-direction: column-reverse;row-gap: 30px;padding: 50px 0 40px;border-radius: 10px;}
} 
@media (max-width: 780px) {
    .aboutus .policy-box {padding: 45px 0 154px;border-radius: 10px;margin-bottom: 20px;}
    .aboutus .policy-box-img02 {width: 240px;}
    .aboutus .policy-box-ttl {font-size: 18px;}
    .aboutus .policy-list dt {font-size: 15px;margin-bottom: 6px;}
    .aboutus .policy-list dd:not(:last-of-type) {margin-bottom: 20px;}
    .aboutus .origin-box {background-image: url(../images/bg-origin-sp.jpg);padding: 30px 0 138px;margin-bottom: 20px;border-radius: 10px;}
    .aboutus .origin-box-ttl span {font-size: 18px;text-align: center;}
    .aboutus .origin-box-ttl span::first-letter {font-size: 24px;}
    .aboutus .origin-box-img {width: 240px;bottom: 40px;left: 50%;transform: translateX(-50%);}
    .aboutus .quote-box-ttl {border-bottom-right-radius: 10px;font-size: 15px;padding: 2px 20px;}
    .aboutus .quote-box-img {width: 200px;}
    .aboutus .quote-box-img img {border-radius: 20px;}
    .aboutus .quote-box-text p {font-size: 14px;}
}

.quality .apdc-img {margin-left: auto;margin-right: auto;}
.quality .apdc-item {display: flex;}
.quality .apdc-item:not(:last-of-type) {margin-bottom: 40px;}
.quality .apdc-item-text-ttl {display: flex;}
.quality .apdc-item-text-ttl .font-montserrat {font-weight: 700;margin-top: 2px;}
.quality .iso {background-color: #F0E7D8;}
.quality .iso-img img {border-radius: 20px;}
@media (min-width: 781px) {
    .quality .apdc-img {max-width: 600px;margin-top: 40px;margin-bottom: 60px;}
    .quality .apdc-item {column-gap: 36px;}
    .quality .apdc-item-img {width: 376px;}
    .quality .apdc-item-img img {border-radius: 20px;}
    .quality .apdc-item-text {flex: 1;}
    .quality .iso {border-radius: 20px;padding: 60px 0 80px;}
    .quality .iso .bullet {margin-bottom: 40px;}
}
@media (max-width: 780px) {
    .quality .content-block-3.apdc {margin-bottom: 60px;}
    .quality .apdc-img {margin-top: 30px;margin-bottom: 30px;}
    .quality .apdc-item {flex-direction: column-reverse;row-gap: 16px;}
    .quality .apdc-item-img {width: 100%;}
    .quality .apdc-item-img img {border-radius: 10px;}
    .quality .apdc-item-text {width: 100%;}
    .quality .iso {border-radius: 10px;padding: 30px 0 32px;}
    .quality .iso .bullet {margin-bottom: 20px;}
    .quality .iso-img {margin-bottom: 16px !important;}
    .quality .iso-text h3 {font-size: 20px;}
}

.access .group-anchor-links-4col {max-width: none;display:flex;flex-wrap: wrap;}
.access .group-anchor-links-4col span {margin: 0;}
.access .group-anchor-links-4col .anchorlinkbtn {max-width: none;}
.access .map iframe {width: 100% !important;max-width: 100%;}
@media (min-width: 781px) {
    .access .group-anchor-links-4col {gap: 12px;}
    .access .group-anchor-links-4col span {width: calc( 25% - 36px / 4 );}
    .access .map iframe {height: 280px;}
    .access .col .table-list {margin-top: 0;}
    .access .col .table-list ul li:first-child {width: 100px;}
    #qualification.access .col .table-list ul li:first-child {width: 130px;}
    .access .col .table-list ul li:last-child {width: calc(100% - 100px);}
}
@media (min-width: 781px) and (max-width: 1032px) {
    .access .group-anchor-links-4col span {width: calc( 33.3333333% - 24px / 3);}
}
@media (max-width: 780px) {
    .access .group-anchor-links-4col {gap: 10px;}
    .access .group-anchor-links-4col span {width: calc( 50% - 10px / 2);}
    .access .group-anchor-links-4col .anchorlinkbtn {padding-left: 12px;}
    .access .map iframe {height: 53.6vw;}
}

.company .events .tl-column-3-group {margin-bottom: 0;}

/* sustainability */
@media (min-width: 781px) {
    .sustainability .group-anchor-links-4col {max-width: none;}
    .sustainability .group-anchor-links-4col span {flex: 1;}
    .sustainability .group-anchor-links-4col .anchorlinkbtn {max-width: none;}
    .sustainability-wrap {margin: 80px 0;}
    .sustainability-lead {text-align: center;margin-bottom: 40px;}
    .sustainability-wrap .sl-column-3-group {justify-content: center;column-gap: 23px;}
    .sustainability-wrap .sl-column-3-group .col {margin-right: 0;max-width: 318px;}
    .sustainability-wrap .linkbtn {margin: 24px auto 0;}
}
@media (min-width: 781px) and (max-width: 1300px) {
    .sustainability .group-anchor-links-4col {flex-wrap: wrap;gap: 12px;}
    .sustainability .group-anchor-links-4col span {margin-right: 0;flex:auto;width: calc(50% - 12px);}
}
@media (min-width: 781px) and (max-width: 1200px) {
    .sustainability-wrap .sl-column-3-group .col {max-width: none;}
}
@media (max-width: 780px) {
    .sustainability-wrap {margin: 60px 0;}
    .sustainability-wrap:last-of-type {margin-bottom: 30px;}
    .sustainability-lead {text-align: left;margin-bottom: 30px;}
    .sustainability-wrap .linkbtn {margin: 30px auto 0;}
}

/* sitemap */
.sitemap a {font-weight: 600;}
.sitemap .col > ul > li > a {line-height: 2.5;}
.sitemap .col .child > li a {line-height: 2.2222222;}
@media (min-width: 781px) {
    .sitemap .col li.mb {margin-bottom: 70px;}
    .sitemap .col > ul > li > a {font-size: 20px;}
    .sitemap .col .child {margin-bottom: 78px;padding-left: 42px;}
    .sitemap .col .child > li a {font-size: 18px;}
    .sitemap .col .child > li a:hover {color: #20783F;}
    .sitemap .col .grandchild {padding-left: 20px;}
}

@media(min-width:781px) and (max-width:1200px)
{
	.business .business-item .section-title-img.maintenance,
	.business .business-item .section-title-img.research{width: 130px; top: -50px; right: 10px;}
	
	.business .business-item .section-title-img.imagine,
	.business .business-item .section-title-img.design{width: 130px; top: -50px; right: -46px;}
	
	.business .business-item h2{font-size:28px}
	.business .business-item h2.section-title-left span, 
	.business .business-item h2.section-title-right span{font-size:22px; margin-left: 0px;}
	
	.quality .apdc-item-img{width: 250px;}
	.quality .apdc-item{column-gap: 25px;}
	.quality h3{font-size: 22px;}
	.business .business-head-item span{font-size: 1.167vw}
}
@media (max-width: 780px) {
    .sitemap .col li.mb {margin-bottom: 30px;}
    .sitemap .col > ul > li > a {font-size: 16px;}
    .sitemap .col .child {margin-bottom: 30px;padding-left: 30px;}
    .sitemap .col .child > li a {font-size: 15px;}
    .sitemap .col .grandchild {padding-left: 15px;}
	
	.business .business-head-item:not(:last-of-type)::after{width: calc(0.601vw * 2); height: calc(1.036vw * 2); right: -1vw;}
	.business .business-head-item{box-shadow: 0.385vw 0.385vw 0px #20783F; border-radius: 1.026vw; width: calc(16.66% - 3vw * 5 / 6); margin: 0 3vw 3vw 0;}
	.business .business-head-item img{width:7.692vw}
	.business .business-head-item span{font-size: 1.795vw;}
}