@charset "utf-8";
/********************************************** common **********************************************/
body{font-size: clamp(15px,0.83vw,16px);}
[data-fade] { opacity:0; transform:translateY(50px); } 
.inner{width: 90%; max-width:1720px; margin:0 auto;}
html[lang="cn"] *,
html[lang="ja"] *{   font-family:"Noto Sans SC", sans-serif;  word-break: break-all;}

html[lang="cn"] body,
html[lang="ja"] body{ font-family:"Noto Sans JP", sans-serif;}


/* section title */
.section-head { margin-bottom: clamp(50px,5.21vw,100px); }
.section-label { background: linear-gradient(90deg, #574099 0%, #D053C5 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; font-size: clamp(18px,1.25vw,24px); font-weight: 650; margin-bottom: clamp(20px,2.08vw,40px);}
.section-title {  font-size: clamp(32px,2.92vw,56px); font-weight: 650; line-height: 1.3;  }
.section-title em {font-style:normal; background: linear-gradient(90deg, #574099 0%, #D053C5 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; vertical-align: baseline;}  
.section-desc{font-size: clamp(16px,0.94vw,18px); color: #333; margin-top: clamp(10px,1.04vw,20px);}

/* btn */
.more-link { margin-top: clamp(20px,2.08vw,40px);position: relative; display: inline-flex; align-items: center; padding-right: clamp(50px,5.21vw,100px); font-weight: 500; background: linear-gradient(90deg, #574099 0%, #D053C5 100%); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; transition:all ease .35s;}
.more-link::after { content: ""; position: absolute; top: 50%; right: 0; width: clamp(34px,2.81vw,54px); height: 1px; background: linear-gradient(90deg, #574099 0%, #D053C5 100%); transform: translateY(-50%); }
.more-link::before { content: ""; position: absolute; top: 50%; right: 0; width: 8px; height: 8px; border-top: 1px solid #D053C5; border-right: 1px solid #D053C5; transform: translateY(-50%) rotate(45deg); }
.more-link:hover{padding-right: 120px;}
.btn-wrap{display:flex; justify-content:center; margin-top:clamp(40px,2.6vw,50px); gap:20px;}
.common-btn{display:inline-flex; align-items:center; justify-content:center;  padding:0 20px;width:50%; max-width:240px; height:clamp(60px,3.65vw,70px); border:0; border-radius:6px !important;font-size: clamp(16px,0.94vw,18px); background:linear-gradient(90deg,#6740a7,#d34bc3); color:#fff; font-weight:700; cursor:pointer;}
.common-btn:hover{background:linear-gradient(90deg,#5633a3,#d347c5);}
  


/********************************************** header **********************************************/
.header { position:fixed; top:0; left:0; width:100%; height:clamp(70px,4.17vw,80px); background:#fff; z-index:1000;transition: transform .4s ease, background .4s ease;}
.header.hide { transform:translateY(-100%) !important; }
.header.transparent { background:transparent; }
.header.transparent .header-logo{ background: url('/images/logo-white.svg') no-repeat center center / contain;}
.header.transparent .gnb > ul > li > a { color:#fff; }
.header.transparent .language-btn { color:#fff; }
.header.transparent .language-btn i { border-color:#fff; }
.header.transparent .language-icon { filter:invert(1); }
.header.transparent .menu-btn span { background:#fff; } 
 
.header-inner { display:flex; align-items:center; justify-content:space-between; height:100%; padding:0 5%; }
.header-logo { display:block; flex-shrink:0; aspect-ratio:133 / 40;width: clamp(110px,6.93vw,133px); background: url('/images/logo.svg') no-repeat center center / contain;} 
.gnb { position:absolute; left:50%; top:0; height:100%; transform:translateX(-50%); }
.gnb > ul { display:flex; align-items:center; height:100%; gap:52px; margin:0; padding:0; list-style:none; }
.gnb > ul > li { position:relative; height:100%; display:flex; align-items:center; }
.gnb > ul > li > a { display:flex; align-items:center; height:100%; text-decoration:none; white-space:nowrap;  font-size: 18px; font-weight: 500;  color: #000;} 
.header-util { display:flex; align-items:center; margin-left:auto; }
.language { position:relative; font-size: 16px; font-weight: 500;}
.language-btn { display:flex; align-items:center; gap:8px; padding-right: 5px;   border:0; background:none; cursor:pointer;  font-size: 16px; font-weight: 500; color: #222;}
.language-icon { width:28px; aspect-ratio:1; background: url('/images/icon-earth.svg') no-repeat center center / contain;}
.language-btn i { width:6px; height:6px; margin-left:2px; border-right:2px solid #222; border-bottom:2px solid #222; transform:rotate(45deg) translateY(-2px); }
.language-list { position:absolute; top:38px; right:0; width: 100%;padding:10px 0; background:#fff; opacity:0; visibility:hidden; transform:translateY(-8px); transition:.25s ease; box-shadow:0 8px 20px rgba(0,0,0,.08); border-radius:10px;}
.language:hover .language-list { opacity:1; visibility:visible; transform:translateY(0); }
.language-list a { display:block; padding:5px 14px;  text-align:center; text-decoration:none;font-size: .9em; }
.language-list a:hover { color:#574099; }
.menu-btn { display:none; }
.mobile-menu { display:none; }


@media (min-width:1025px) { 
	.depth2 { position:absolute; top:72px; left:50%; display:flex; flex-direction:column; min-width:150px; padding:18px 0; background:#fff; opacity:0; visibility:hidden; transform:translate(-50%,-10px); transition:opacity .25s ease,transform .25s ease,visibility .25s ease; box-shadow:0 10px 30px rgba(0,0,0,.06);  border-radius:10px;}
	.gnb > ul > li:hover .depth2 { opacity:1; visibility:visible; transform:translate(-50%,0); }
	.depth2 a { padding:8px 20px;   text-align:center; text-decoration:none; white-space:nowrap; font-weight: 500;  }
	.depth2 a:hover { color:#574099; }

}
@media (max-width:1024px) { 

	.gnb {position:fixed;top:clamp(70px,4.17vw,80px);left:0;width:100%;height:calc(100vh - clamp(70px,4.17vw,80px));padding:40px 24px 40px;background:#fff;overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-10px);transition:.35s ease;box-sizing:border-box;}
	.menu-open .gnb {opacity:1;visibility:visible;transform:translateY(0);}
	.gnb > ul {display:block;height:auto;}
	.gnb > ul > li {display:block;height:auto;border-bottom:1px solid #eee;}
	.gnb > ul > li > a {position:relative;display:flex;align-items:center;justify-content:space-between;padding:22px 0; font-size: 24px;}
	.gnb > ul > li > a:after {content:"";width:8px;height:8px;border-top:1px solid #111;border-right:1px solid #111;transform:rotate(45deg);transition:.3s ease;}
	.gnb > ul > li.active > a:after {transform:rotate(135deg);}
	.depth2 {max-height:0;padding:0;overflow:hidden;opacity:0;transition:max-height .35s ease,opacity .25s ease; }
	.gnb > ul > li.active .depth2 {max-height:500px;padding-bottom:18px;opacity:1;}
	.depth2 a {display:block;padding:7px 10px; font-size: 20px;}
	.menu-btn {display:flex;flex-direction:column;justify-content:center;gap:7px;width:40px;height:32px;padding:0;border:0;background:none;cursor:pointer;}
	.menu-btn span {display:block;width:26px;height:2px;margin-left:auto;background:#111;transition:.3s ease;} 
	.menu-open .menu-btn span:nth-child(1) {transform:translateY(9px) rotate(45deg);}
	.menu-open .menu-btn span:nth-child(2) {opacity:0;  visibility:hidden; transition:none;}
	.menu-open .menu-btn span:nth-child(3) {transform:translateY(-9px) rotate(-45deg);}
}



/********************************************** footer **********************************************/
.footer { position:relative; background:#f7f7f7; padding-top: clamp(30px,4.17vw,80px); color: #666;     font-size: clamp(14px, 0.83vw, 16px);}  
.footer-top { display:flex; align-items:center; justify-content:space-between; }
.footer-logo { display:block; width: clamp(110px, 6.93vw, 133px); }
.footer-logo img { display:block;   max-height:100%; }
.footer-top-btn { display:flex; align-items:center; justify-content:center; width:clamp(50px,3.13vw,60px); aspect-ratio:1;  border-radius:50%; background:linear-gradient(135deg,#574099 0%,#d053c5 100%); cursor:pointer; }
.footer-top-btn span { width:10px; height:10px; border-top:2px solid #fff; border-left:2px solid #fff; transform:translateY(2px) rotate(45deg); }
.footer-info { position:relative;margin-top:clamp(20px,3.13vw,60px); padding-right: clamp(70px,5.73vw,110px);}
.footer-info dl { display:flex;   }
.footer-info dl + dl{margin-top: 12px;}
.footer-info dt { flex:0 0 clamp(90px,7.81vw,150px);   font-weight:600;   }
.footer-info dd { margin:0;     }
.footer-cert { position:absolute; right:0; bottom:0; width:clamp(60px,5.21vw,100px); }
.footer-cert img { display:block; width:100%; }
.footer-bottom { display:flex;  justify-content:space-between; margin-top:clamp(20px,3.13vw,60px); border-top:1px solid #ddd; padding:clamp(16px,1.46vw,28px) 0;}
.footer-bottom p { color: #999; }
.footer-bottom a { font-weight: 600;}



/********************************************** sub common **********************************************/

.sub-visual{width:100%;}
.sub-visual-head{  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:clamp(30px,2.08vw,40px); background:#fff; padding-top: clamp(80px,9.38vw,180px); margin-bottom: clamp(50px,5.21vw,100px); text-align: center;}
.sub-visual-breadcrumb{display:flex; align-items:center; gap:clamp(10px,1.04vw,20px); color: #333;     font-size: clamp(14px, 0.83vw, 16px);}
.sub-visual-breadcrumb span{display:flex; align-items:center; gap:clamp(10px,1.04vw,20px);}
.sub-visual-breadcrumb span:before{content:'';display:block; width: 6px; aspect-ratio:1; border-top:1px solid #000; border-right:1px solid #000; transform:rotate(45deg);  } 
.sub-visual-breadcrumb .icon-home{width: clamp(18px,1.25vw,24px); aspect-ratio:1; background: url('/images/icon-home.svg') no-repeat center center / contain;}
.sub-visual-title{font-size: clamp(40px,4.17vw,80px); font-weight: 600; line-height: 1.2;}
.sub-visual-image{position:relative; width:100%; height:clamp(230px,23.96vw,460px); overflow:hidden; display:flex; align-items:center; justify-content:center;}
.sub-visual-image p{color: #fff; font-size: clamp(18px,2.45vw,47px); font-weight: 700; text-align: center;}
.sub-visual-image img{position:absolute; inset:0; z-index:-1;display:block; width:100%; height:100%; object-fit:cover; animation:subVisualZoom 1.8s ease-out forwards;} 
@keyframes subVisualZoom{
	0%{transform:scale(1.05);}
	100%{transform:scale(1);}
}


.sub .sec-content{margin-top: clamp(70px,4.17vw,80px);}
.sub .section-title{font-size: clamp(25px,2.6vw,50px);}
.sub .section-label{font-size: clamp(16px,1.04vw,20px);} 
.sub .section-head{margin-bottom: clamp(40px,4.17vw,80px);}


/********************************************** sub contents **********************************************/
.intro-section{margin:clamp(80px,9.38vw,180px) 0;} 
.intro-image{position:relative; width:100%; height: clamp(300px,26.56vw,510px); overflow:hidden; border-radius:16px;}
.intro-image img{display:block; width:100%; height:100%; object-fit:cover;} 
.intro-image-content{position:absolute; right:0; bottom:0; padding:clamp(20px,4.17vw,80px) clamp(30px,5.21vw,100px);  color:#fff;  }
.intro-image-label{display:block; margin-bottom:clamp(20px,2.08vw,40px); font-weight:600; font-size: clamp(16px,1.04vw,20px);}
.intro-image-number{display:flex; align-items:flex-end; gap:10px; }
.intro-image-number strong{font-size:clamp(40px,6.25vw,120px); line-height:.85; font-weight:700;}
.intro-image-number span{padding-bottom:7px; font-size:clamp(16px,1.04vw,20px); font-weight:600;}
.intro-image-content p{margin-top: clamp(16px,1.04vw,20px);opacity:.85;}



.core-value-section{margin:clamp(80px,9.38vw,180px) 0;} 
.core-value-section .section-head{margin-bottom: 0;}
.core-value-content{position:relative;  }
.core-value-item{position:sticky;top:0;height:100vh; overflow:hidden; display:grid; grid-template-columns:1fr 1fr; align-items:center;   background:#fff; padding:clamp(50px,5.21vw,100px) 0;}
.core-value-item:nth-child(1){z-index:1;}
.core-value-item:nth-child(2){z-index:2;}
.core-value-item:nth-child(3){z-index:3;} 
.core-value-item:nth-child(4){z-index:4;} 
.core-value-item .core-value-symbol{margin-top: 10px;}
.core-value-image{width:100%; aspect-ratio: 800 / 730; height: 100%; overflow:hidden; border-radius:20px;}
.core-value-image img{display:block; width:100%; height:100%; object-fit:cover;}
.core-value-info{  position:relative;  padding: clamp(60px,6.25vw,120px) clamp(20px,6.25vw,120px); height: 100%; display:flex; flex-direction:column; justify-content:flex-end; } 
.core-value-info > .core-value-symbol{width: clamp(40px,16.67vw,320px); opacity:.1; position:absolute; top:0; right:0;}
.core-value-info > .core-value-symbol:after,
.core-value-info > .core-value-symbol:before{border-radius:clamp(4px,0.52vw,10px); height: 20%;}
.core-value-text h3{margin-bottom: clamp(10px,2.08vw,40px); font-weight: 600; font-size: clamp(25px,2.92vw,56px); display:flex; gap:clamp(10px,1.25vw,24px); align-items:flex-start; line-height: 1.3;}
.core-value-text strong{margin-bottom: clamp(10px,1.25vw,24px); display:block; font-weight: 600; font-size: clamp(18px,1.04vw,20px);}
.core-value-text p{font-size: clamp(15px,0.94vw,18px); color: #333;}
.core-value-text p + p{margin-top: 12px;} 
.core-value-symbol{position:relative;     flex-shrink: 0; color:#7145b5; width: clamp(24px,2.86vw,55px); aspect-ratio:1;} 
.core-value-symbol:after,
.core-value-symbol:before{content:''; width: 100%; height: 24%; border-radius: clamp(2px,0.16vw,3px); background: #574099; position:absolute; left:0; top:50%; transform:translateY(-50%);} 
.core-value-symbol:after{transform:translateY(-50%) rotate(90deg);}
.core-value-item:nth-child(2) .core-value-symbol:after{display:none;} 
.core-value-item:nth-child(3) .core-value-symbol:after{transform:translateY(-50%) rotate(-45deg);}
.core-value-item:nth-child(3) .core-value-symbol:before{transform:translateY(-50%) rotate(45deg);}
.core-value-item:nth-child(4) .core-value-symbol:after{display:none;}
.core-value-item:nth-child(4) .core-value-symbol:before{background: url('/images/sub/core-value-symbol04.png') no-repeat center center / contain; transform:none; left:0; top:0; border-radius:0; width: 100%; height: 100%;}

.vision-section{position:relative; height:100vh; overflow:hidden; background:url("/images/sub/vision-bg.jpg") center center / cover no-repeat; color: #fff; display:flex; flex-direction:column; justify-content:flex-end; padding-bottom: 60px;}  
.vision-section p{color: #fff;}




.history-section{padding:clamp(80px,9.38vw,180px) 0; display:flex; flex-direction:column; gap:clamp(80px,9.38vw,180px);}
.history-wrap{display:flex; justify-content:space-between;  gap:clamp(50px,5.21vw,100px);  } 
.history-side{min-width:0;  max-width:700px; width: 100%;}
.history-side-inner{position:sticky; top:clamp(50px,5.21vw,100px);}
.history-period{display:block; margin-bottom:clamp(10px,1.04vw,20px); font-size: clamp(18px,1.04vw,20px); font-weight: 600;}
.history-title{ font-size: clamp(26px,2.08vw,40px); font-weight: 600;}
.history-image{width:100%; margin-top:clamp(30px,5.21vw,100px); overflow:hidden; border-radius:32px; aspect-ratio:700 / 420;  }
.history-image video,
.history-image img{display:block; width:100%; height:100%; object-fit:cover;}
.history-list{min-width:0; max-width:760px; width: 100%;}
.history-year{position:relative;    padding-bottom: clamp(48px,4.17vw,80px); margin-bottom: clamp(48px,4.17vw,80px); border-bottom:1px solid #ddd; color: #333;}
.history-year:last-child{margin-bottom:0;}
.history-year h3{margin:0 0 clamp(20px,2.08vw,40px); font-size: 28px; font-weight: 600; }
.history-year ul{ margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:16px; font-size: clamp(16px,0.94vw,18px);}
.history-year li{ display:grid; align-items: flex-start; grid-template-columns:28px 1fr; gap:40px;  } 
.history-year li span{  display: flex;    justify-content:center;  align-items: center; font-weight: 600;}
.history-year li p{    display: flex;    flex-wrap: wrap;    align-items: center;    gap: clamp(6px,0.63vw,12px);} 
.history-image-btn{  display:inline-flex; align-items:center; justify-content:center; width:36px; aspect-ratio:1; padding:0; border:1px solid #ddd; border-radius:50%; background:#fff; cursor:pointer;}
.history-image-btn::before{content:""; width:14px; height:14px; background:url("/images/sub/icon-image.svg") center / contain no-repeat;}
.history-image-btn .thumb{position:absolute; right:0; top:50%;  width:300px; max-height:300px; height:auto border:1px solid #eee; background:#fff; box-shadow:0 5px 20px rgba(0,0,0,.08); opacity:0; visibility:hidden; transform:translateY(-50%) translateX(10px); transition:opacity .25s ease, transform .25s ease, visibility .25s ease; pointer-events:none;}
.history-image-btn .thumb img{width: 100%; height: 100%; object-fit:contain; vertical-align:top;}
.history-image-btn:hover .thumb{opacity:1; visibility:visible; transform:translateY(-50%) translateX(0);}






.certificate-section{ margin:0 0 clamp(80px,9.38vw,180px); overflow:hidden;} 
.certificate-section .swiper{    overflow: visible;}
.certificate-navi{ width:100%; display:flex; justify-content:space-between; margin-bottom: clamp(30px,3.13vw,60px);}
.certificate-navi button{ position:relative; width:clamp(30px,2.86vw,55px); aspect-ratio:1; padding:0; border:0; background:none; cursor:pointer; overflow:hidden; } 
.certificate-navi .swiper-button-disabled{  opacity:.5;  filter: grayscale(1);}
.certificate-navi button:hover{filter:none; opacity:1;}
.certificate-prev{ transform: scaleX(-1);}  
.certificate-navi button::after { content: ""; position: absolute; top: 50%; right: 0; width: 100%; height: 2px; background: linear-gradient(90deg, #574099 0%, #D053C5 100%); transform: translateY(-50%); }
.certificate-navi button::before { content: ""; position: absolute; top: 50%; right: 7px; width: 35px;   height: 35px; border-top: 2px solid #D053C5; border-right: 2px solid #D053C5; transform: translateY(-50%) rotate(45deg); } 
.certificate-image{  width: 100%;border:clamp(20px,2.08vw,40px) solid #f7f7f7;  }
.certificate-image img{display:block; width:100%; height:100%; object-fit:contain;}
.certificate-info{padding-top:clamp(16px,1.67vw,32px); text-align: center;}
.certificate-info h3{   font-size: clamp(17px,1.25vw,24px);; font-weight: 600; }
.certificate-info p{margin-top: clamp(5px,0.52vw,10px); color:#8C8C8A; font-size: clamp(16px,0.94vw,18px);}
.certificate-pagination{display:flex; justify-content:center; align-items:center; gap:clamp(10px,1.04vw,20px); margin-top:clamp(40px,4.17vw,80px);}
.certificate-pagination .swiper-pagination-bullet{width:clamp(24px,4.17vw,80px); height:2px; margin:0!important; border-radius:0; background:#ddd; opacity:1;}
.certificate-pagination .swiper-pagination-bullet-active{background:linear-gradient(90deg, #574099 0%, #D053C5 100%);}
.certificate-swiper .swiper-wrapper{align-items:flex-start;}


.greeting-section {margin:clamp(80px,9.38vw,180px) 0;}
.greeting-section .inner{max-width:1520px;}
.greeting-section .section-desc{font-size: clamp(18px,1.04vw,20px); margin-top: clamp(30px,3.13vw,60px);}
.greeting-section .section-desc strong{display:block; margin-bottom: 20px; font-weight: 700; font-size: 1.1em;}
.greeting-signature{  margin-top:clamp(48px,4.17vw,80px);}
.greeting-signature img{display:block; width:150px; height:auto; margin-bottom:10px;}
.greeting-signature p{  display:flex; gap:15px;  align-items:center; font-size: 18px;}
.greeting-signature p strong{  font-size: 24px; font-weight:600; }



.location-section{margin:0 0 clamp(80px,9.38vw,180px);} 
.location-group + .location-group{ padding-top: clamp(40px,4.69vw,90px); margin-top: clamp(40px,4.69vw,90px); border-top:1px solid #ddd; } 
.location-item{display:grid; grid-template-columns:400px 1fr; gap:clamp(20px,2.60vw,50px);}
.location-item + .location-item{margin-top:clamp(60px,6.25vw,120px);}
.location-title{ font-size: clamp(24px,1.88vw,36px); font-weight:600;}
.location-info{min-width:0;}
.location-map{width:100%; height:clamp(200px,24.48vw,470px); overflow:hidden; border-radius:20px; margin-bottom: clamp(24px,2.08vw,40px);}
.location-map iframe{display:block; width:100%; height:100%; border:0;} 
.location-detail dl{display:grid; grid-template-columns:100px 1fr; gap:clamp(10px,1.04vw,20px)
;  font-size: clamp(16px,0.94vw,18px); color: #333;}
.location-detail dl + dl{margin-top: 20px;}
.location-detail dl:last-child{margin-bottom:0;}
.location-detail dt{ position:relative; font-weight:600;} 
.location-detail dt:after{content:''; width: 1px; height: 12px; background: #ddd; position:absolute; right:0; top:50%; transform:translateY(-50%); }
.location-detail dd{    word-break: break-all;}



.ci-section{margin:0 0 clamp(80px,9.38vw,180px);}  
.ci-section.gray{margin:0; padding:clamp(80px,9.38vw,180px) 0; background: #f7f7f7;}
.ci-logo{display:flex; align-items:center; justify-content:center; width:100%; height:clamp(150px,18.23vw,350px); background: #fff; border:1px solid #ddd; border-radius:16px; } 
.ci-logo img{display:block; max-width:50%; max-height:50%; }
.color-section{margin:clamp(80px,9.38vw,180px) 0;} 
.color-list{display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:38px;}
.color-item{display:flex; flex-direction:column; justify-content:flex-start; height:clamp(120px,10.42vw,200px); padding:28px; border-radius:16px; color:#fff;}
.color-item strong{display:block; margin-bottom:5px; font-weight:600;}
.color-item span{display:block;}
.color-magenta{background:#EA3CF7;}
.color-violet{background:#362CCB;}
.color-blue{background:#262CBC;}
.color-sky{background:#5FBAF4;} 
.manual-section{margin:clamp(80px,9.38vw,180px) 0;} 
.manual-download a{display:inline-flex; align-items:center; justify-content:space-between; gap:clamp(16px,1.56vw,30px);   padding:clamp(14px,1.04vw,20px) 20px clamp(14px,1.04vw,20px) 30px; border:1px solid #9B43B7; border-radius:999px;  font-size: clamp(16px,0.94vw,18px); border-color:transparent; background:linear-gradient(#fff,#fff) padding-box,linear-gradient(90deg,#574099 0%,#D053C5 100%) border-box;}
.icon-download{position:relative; background: url('/images/sub/icon-donwload.svg') no-repeat center center / contain; width: 27px; aspect-ratio:1;  } 



.value-chain-section{background:#f7f7f7;}
.value-chain-wrap{display:grid; grid-template-columns:1fr 1fr; align-items:start;}
.value-chain-visual{position:sticky; top:0; height:100vh; overflow:hidden; padding:clamp(60px,6.25vw,120px) clamp(50px,5.21vw,100px);}
.value-chain-visual *{color: #fff; -webkit-text-fill-color:#fff;}
.value-chain-image{position:absolute; inset:0; z-index:-1;} 
.value-chain-image img{display:block; width:100%; height:100%; object-fit:cover;}
.value-chain-intro{position:absolute; top:50%; left:10%; width:80%; color:#fff; transform:translateY(-50%);} 
.value-chain-list{display:flex; flex-direction:column; gap:clamp(14px,1.25vw,24px); padding:clamp(20px,6.25vw,120px) clamp(20px,5.21vw,100px) clamp(20px,6.25vw,120px) clamp(20px,4.17vw,80px);}
.value-chain-item{ padding:clamp(24px,3.13vw,60px); background:#fff; border:1px solid #ddd; border-radius:16px; display:flex; flex-direction:column; align-items:flex-start;  gap:clamp(10px,1.04vw,20px);}
.value-chain-step{display:inline-flex; align-items:center;  padding: 6px clamp(12px,0.73vw,14px);  background:#E2D9FD; border-radius:5px; color:#574099; font-size:clamp(12px,0.73vw,14px); font-weight: 600;}
.value-chain-item h3{font-size: clamp(21px,1.67vw,32px); font-weight: 700;}
.value-chain-item p{  font-size: clamp(13px,0.94vw,18px);}


.business-model-section{margin:clamp(80px,9.38vw,180px) 0;}
.business-model-list{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(20px,2.08vw,40px);  }
.business-model-item{display:flex; flex-direction:column; align-items:center; justify-content:flex-start;  padding:clamp(30px,3.13vw,60px) clamp(24px,2.60vw,50px); background:#F2F3FB; border:1px solid #D3D7F4; border-radius:20px; text-align:center;}
.business-model-icon{display:flex; align-items:center; justify-content:center; width:clamp(90px,6.04vw,116px); aspect-ratio:1; margin-bottom:clamp(20px,2.60vw,50px); background:#fff; border-radius:50%;}
.business-model-icon img{display:block; max-width:60%; object-fit:contain;}
.business-model-content h3{font-size: clamp(20px,1.25vw,24px); font-weight: 600;}
.business-model-content p{color: #333; margin-top: clamp(10px,1.04vw,20px);}
.business-model-list.white .business-model-item{background: #fff; border-color:#ddd;}
.business-model-list.white .business-model-icon{background: #F2F3FB;}


 
.strength-section{padding:clamp(80px,9.38vw,180px) 0; background:#f7f7f7;}
.strength-wrap{display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,4.17vw,80px)
; align-items:start;}
.strength-intro{position:sticky; top:120px;} 
.strength-list{display:flex; flex-direction:column; gap:clamp(20px,2.08vw,40px); max-width:830px;}
.strength-item{padding:clamp(24px,2.60vw,50px); background:#fff; border:1px solid #ddd; border-radius:16px; display:flex; flex-direction:column; gap:clamp(10px,1.04vw,20px);}
.strength-num{display:flex; align-items:center; justify-content:center; width:36px; aspect-ratio:1; ; font-weight: 700; border-radius:50%; background: #372D55; color: #fff;}
.strength-item h3{ font-size: clamp(22px,1.46vw,28px); font-weight: 600;}
.strength-item strong{display:block; margin-bottom: clamp(-10px,-0.52vw,-3px); font-size: clamp(18px,1.04vw,20px); font-weight: 550; color: #333;}
.strength-item p{color: #333; }


.common-banner{position:relative; overflow:hidden;  height:660px; display:flex; align-items:center; justify-content:center;  text-align: center; }
.common-banner *{color: #fff;}
.banner-bg{position:absolute; inset:0; z-index:-1;}
.banner-bg img{display:block; width:100%; height:100%; object-fit:cover;} 
.banner-btn a{display:inline-flex; align-items:center; justify-content:space-between; gap:clamp(10px,1.04vw,20px);  margin-top: clamp(20px,2.08vw,40px); padding:clamp(14px,0.94vw,18px) clamp(20px,2.08vw,40px); border:1px solid #9B43B7; border-radius:999px;  font-size: clamp(16px,0.94vw,18px); font-weight: 500; border-color:transparent; background:linear-gradient(transparent,transparent) padding-box,linear-gradient(90deg,#574099 0%,#D053C5 100%) border-box;}
.banner-btn a:after{content:'→'; }




.den-process-section{padding:clamp(80px,9.38vw,180px) 0; background: #f7f7f7; }
.den-process-box{ padding:clamp(20px,4.17vw,80px); border:1px solid #ddd;  border-radius:20px; background:#fff;} 
.den-process{position:relative; padding:  clamp(16px,2.08vw,40px); background:#E7F4FD; border-radius:20px;}
.den-process-head{display:flex; align-items:center; justify-content:flex-end; gap:clamp(8px,0.78vw,15px); margin-bottom:5px;}
.den-process-head span{font-weight:600; font-size: clamp(13px,0.94vw,18px);}
.den-process-head strong{font-size:clamp(15px,1.25vw,24px); font-weight: 600; line-height: 1; display:flex; align-items:center; gap:clamp(8px,0.78vw,15px);}
.den-process-head strong:before{content:''; display:inline-block; width:0; height:0; border-top:6px solid transparent; border-bottom:6px solid transparent; border-left:8px solid #00AEF9; font-style:normal;} 
.den-process-list{display:flex; align-items:flex-end; justify-content:center; gap:20px;}
.den-process-item{flex:1; min-width:0; text-align:center;}
.den-process-image{display:flex; align-items:center; justify-content:center;  margin-bottom:20px;}
.den-process-image img{display:block; width:auto; max-width:100%; height:100%; object-fit:contain;}
.den-process-item > strong{display:inline-flex; align-items:center; justify-content:center; padding:8px 14px; background:#292C55; border-radius:6px; color:#fff; font-weight: 600; }
.den-process-arrow{display:flex; align-items:center; justify-content:center;     flex-shrink: 0; width:32px; aspect-ratio:1; margin-bottom:3px; border:1px solid #ddd; border-radius:50%; background:#fff; color:#999; font-size:18px;}
.den-process-arrow:before{content:''; width: 5px; height: 5px; border-top:2px solid #ccc; border-right:2px solid #ccc; transform:rotate(45deg); margin-left: -3px;} 
.den-process-info{margin-top:clamp(30px,3.13vw,60px);}
.den-process-info h3{ font-size: 24px; font-weight:600;}
.den-process-info ul{display:flex; flex-direction:column; gap:10px; margin-top: clamp(10px,1.04vw,20px);}
.den-process-info li{position:relative; padding-left:14px; font-size: clamp(16px,0.94vw,18px); color: #333;}
.den-process-info li:before{position:absolute; top:0; left:0; content:"·"; font-weight: 900;}


.patents-section{margin:clamp(80px,9.38vw,180px) 0;} 
.patents-list{display:grid; grid-template-columns:repeat(5,1fr); gap:clamp(16px,2.08vw,40px); align-items:end;}
.patents-item{display:flex; align-items:flex-end; justify-content:center; aspect-ratio: 312 / 440; }
.patents-item img{display:block; width:100%; height:100%; object-fit:contain; }



.business-value-section{padding:clamp(80px,9.38vw,180px) 0; overflow:hidden;} 
.business-value-scroll{width:100%; overflow:visible;}
.business-value-track{display:flex; gap:clamp(16px,6.25vw,120px); width:max-content; padding-left:clamp(24px,5.21vw,100px)
; padding-right:clamp(24px,5.21vw,100px);}
.business-value-item{display:flex; flex:0 0 980px; gap:clamp(24px,2.08vw,40px); align-items:flex-end; }
.business-value-image{position:relative; flex:0 0 440px;  aspect-ratio: 440 / 543; overflow:hidden; border-radius:16px; padding:clamp(30px,2.60vw,50px); display:flex; flex-direction:column; align-items:flex-end; justify-content:flex-end; gap:20px;} 
.business-value-image img{position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; z-index:-1;}
.business-value-image span{ color:#fff; font-weight: 500; text-align:right;}
.business-value-image strong{   color:#fff; font-size:clamp(50px,5.21vw,100px); line-height:.7; font-weight:700;}
.business-value-content{flex:1;}
.business-value-content h3{font-size: clamp(20px,1.25vw,24px); }
.business-value-content p{color: #333; margin-top: clamp(16px,1.04vw,20px); padding-top: clamp(16px,1.04vw,20px); border-top:1px solid #ddd; font-size: clamp(16px,0.94vw,18px);}
.business-value-content ul{color: #333; background: #F7F7F7; border-radius:16px; padding: 16px 20px; display:flex; flex-direction:column; gap:6px; margin-top: 20px;}
.business-value-content li{position:relative; padding-left:15px;  }
.business-value-content li::before{content:"·"; position:absolute; left:0; font-weight: 900;}


.ip-strategy-section{ margin-bottom: clamp(80px,9.38vw,180px);} 
.ip-strategy-list{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,2.08vw,40px);}
.ip-strategy-item{position:relative; overflow:hidden; border-radius:16px; height: clamp(300px,22.4vw,430px); display:flex; flex-direction:column; justify-content:flex-end; padding:clamp(16px,2.08vw,40px);}
.ip-strategy-image{position:absolute;  inset:0; overflow:hidden;}
.ip-strategy-image img{display:block; width:100%; height:100%; object-fit:cover;}
.ip-strategy-caption{ width: 100%; display:flex; align-items:center; justify-content:center;  padding:clamp(16px,1.25vw,24px); background:rgba(0,0,0,0.1); backdrop-filter:blur(40px); border-radius:10px; color:#fff; text-align:center; font-size: clamp(16px,1.04vw,20px); font-weight: 600;}


.ip-portfolio-section{padding:clamp(80px,9.38vw,180px) 0; background:#f7f7f7;} 
.ip-portfolio-list{display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(16px,2.08vw,40px);}
.ip-portfolio-item{ height: 100%; padding:clamp(30px,3.13vw,60px); border:1px solid #ddd; border-radius:20px; background:#fff;}
.ip-portfolio-label{display:block; margin-bottom:10px; color:#262CBC; font-weight:700; font-size: 14px;}
.ip-portfolio-item h3{font-size: clamp(22px,1.67vw,32px); font-weight: 700;}
.ip-portfolio-item p{margin-top: clamp(20px,2.08vw,40px); font-size: clamp(16px,0.94vw,18px);color: #333;}





.pipeline-section{margin:clamp(80px,9.38vw,180px) 0;}
.pipeline-section .section-head{border-bottom:1px solid #ddd;  padding-bottom: clamp(40px,4.17vw,80px);}
.pipeline-item + .pipeline-item{margin-top: clamp(50px,6.25vw,120px);}
.pipeline-head{margin-bottom:clamp(20px,2.08vw,40px);}
.pipeline-head h3{font-size: clamp(22px,1.67vw,32px); font-weight: 600;}
.pipeline-head p{margin-top: 10px;color:#333; font-size: clamp(16px,1.04vw,20px);}
.pipeline-table{width:100%;overflow:hidden;}
.pipeline-row{position:relative;display:grid;grid-template-columns:13% 13% repeat(5,13%) 9%; border-bottom:1px dotted #ddd;}
.pipeline-row > div{display:flex;align-items:center;justify-content:center;padding:clamp(10px,1.25vw,24px) 10px;text-align:center;border-right:1px dotted #ddd; font-size: clamp(14px,0.94vw,18px);}
.pipeline-row > div:last-child{border-right:0;}
.pipeline-row-head{background:#f6f6f6;border-top:1px solid #bbb;border-bottom:1px solid #ddd; }
.pipeline-row-head > div{ font-weight:400;border-right:1px solid #e2e2e2; font-size: clamp(15px,1.04vw,20px);}
.pipeline-progress{position:relative;grid-column:3 / 8;justify-content:flex-start!important;padding:0!important;border:0!important;z-index:1;}
.progress-bar{position:absolute;left:0;top:50%;transform:translateY(-50%);display:block;height:clamp(20px,1.56vw,30px);border-radius:0 999px 999px 0;}
.progress-blue{width:95%;background:linear-gradient(90deg,rgba(74,185,234,.15) 0%,#36b5ed 100%);}
.progress-purple{width:70%;background:linear-gradient(90deg,rgba(87,64,153,.12) 0%,#3932c5 100%);}
.progress-pink{width:50%;background:linear-gradient(90deg,rgba(208,83,197,.12) 0%,#d83fe4 100%);} 
.progress-short{width:35%;}




 

.supply-section{margin:clamp(80px,9.38vw,180px) 0;}    
.supply-content{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(20px,2.08vw,40px);align-items:stretch;}
.supply-image{overflow:hidden;border-radius:16px;background:#ECF9FF; display:flex; align-items:center; justify-content:center;}
.supply-image img{display:block;width:100%;height:100%;object-fit:contain;}
.supply-list{display:flex;flex-direction:column;gap:clamp(10px,1.35vw,26px);}
.supply-card{display:flex;align-items:flex-start;gap:clamp(16px,2.60vw,50px); padding:clamp(20px,2.60vw,50px);border:1px solid #C3C5EC;border-radius:16px;background:#F7F8FD;}
.supply-num{display:flex;align-items:center;justify-content:center;     flex-shrink: 0;width:clamp(30px,2.08vw,40px); aspect-ratio:1; border-radius:50%;background:#372D55;color:#fff;font-size:clamp(12px,0.83vw,16px);font-weight:700;}
.supply-card-text{min-width:0;}
.supply-card h3{font-size: clamp(18px,1.25vw,24px); font-weight: 600;}
.supply-card p{ color: #333; font-size: clamp(16px,0.94vw,18px); margin-top: 10px;} 



.map-structure-section{margin:clamp(80px,9.38vw,180px) 0;}   
.map-structure{ display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;max-width:1400px;margin:0 auto; padding:clamp(10px,2.08vw,40px) 0; gap:clamp(20px,6.5vw,100px);}
.map-item{position:relative;text-align:center;} 
.map-circle{position:relative;width: 100%; max-width:400px; aspect-ratio:1; margin:0 auto; border-radius:50%;background:#f7f7f7; padding:30px;display:flex;align-items:center;justify-content:center;} 
.map-circle:before{content:''; width: 100%; height: 180px; position:absolute; right:50%; background: #f7f7f7;z-index:-1;} 
.map-item:not(:last-child) .map-circle:after{content:''; width: 50px; aspect-ratio:1;  position:absolute; right: -75px; background: url('/images/sub/icon-plus.png') no-repeat center center / contain;} 
.map-item:nth-child(2) .map-circle:after{background: url('/images/sub/icon-equal.png') no-repeat center center / contain;} 
.map-item:first-child .map-circle:before{display:none;}
.map-circle img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain;border-radius:50%;} 
.map-info h3{font-size: clamp(22px,1.25vw,24px); font-weight:600; margin-top: clamp(24px,3.13vw,60px);}
.map-info p{font-size: clamp(16px,1.04vw,20px); color: #333; margin-top: clamp(10px,1.04vw,20px);} 


 
.capabilities-section{position:relative;  min-height:100vh; margin:clamp(40px,4.17vw,80px) 0; padding:clamp(50px,5.21vw,100px) 0;} 
.capabilities-wrap{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(40px,4.17vw,80px); }    
.capabilities-list{display:flex;flex-direction:column;gap:12px;}
.capability-item{overflow:hidden;border:1px solid #ddd;border-radius:16px;background:#fff;}
.capability-head{ width:100%;min-height:80px;padding:0 clamp(24px,1.56vw,30px);border:0;background:none;text-align:left;cursor:pointer; transition:all ease .35s;}
.capability-head strong{font-size:clamp(20px,1.25vw,24px);font-weight:600;}
.capability-icon{display:flex;align-items:center;justify-content:center;width:64px; aspect-ratio:1;     flex-shrink: 0;}
.capability-icon img{display:block; width:100%; height:100%;object-fit:contain;}
.capability-content{height:0;overflow:hidden;padding:0 clamp(24px,1.56vw,30px); transition:opacity .3s;}
.capability-content p{color: #333; margin-top: 10px; font-size: clamp(16px,0.94vw,18px); display:flex;align-items:flex-start;justify-content:space-between; gap:clamp(10px,1.56vw,30px);}
.capability-image{overflow:hidden;border-radius:12px; height: clamp(200px,20.83vw,400px); width: 100%; margin-top: clamp(20px,2.08vw,40px);}
.capability-image img{display:block;width:100%;height:100%; object-fit:cover;}
.capability-item.active .capability-content{height:auto;padding-bottom:clamp(20px,2.08vw,40px);}
.capability-item:not(.active) .capability-content{/*visibility:hidden; opacity:0;*/}
.capability-item.active .capability-head{padding-top:clamp(24px,1.56vw,30px);}



.business-area-section{background:#f7f7f7; padding:clamp(80px,9.38vw,180px) 0;} 
.business-area-list{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(20px,2.08vw,40px);}
.business-area-item{padding:clamp(24px,3.13vw,60px);border:1px solid #ddd;border-radius:16px;background:#fff;}
.business-area-item h3{font-size: clamp(20px,1.25vw,24px); font-weight: 700;}
.business-area-desc{margin-top: clamp(14px,1.04vw,20px); padding-top: clamp(14px,1.04vw,20px); border-top:1px solid #ddd;}
.business-area-desc p{color: #333; font-size: clamp(16px,0.94vw,18px);}
.business-process{display:flex;align-items:center;gap:clamp(6px,0.52vw,10px);margin-top:clamp(14px,1.04vw,20px);white-space:nowrap; flex-wrap:wrap;}
.business-process span{display:flex;align-items:center;justify-content:center;padding:clamp(5px,0.52vw,10px) clamp(12px,0.83vw,16px);border-radius:999px;background:#EFF1FF;color:#333;font-size:clamp(13px,0.73vw,14px); font-weight: 500;}
.business-process.arrow span + span{position:relative;margin-left:clamp(18px,1.46vw,28px);}
.business-process.arrow span + span:before{content:''; width:clamp(14px,0.94vw,18px); aspect-ratio:1; background: url('/images/sub/icon-arrow.png') no-repeat center center / contain; position:absolute; left:clamp(-28px,-1.46vw,-18px); top:50%; transform:translateY(-50%);}



.quality-section{margin:clamp(80px,9.38vw,180px) 0;}
.quality-section .section-head{text-align:center; } 
.quality-list{position:relative;}
.quality-card{position:sticky; top:120px; display:grid; grid-template-columns:1fr 1fr; align-items:center; padding:clamp(24px,2.08vw,40px); background:#F5F8FC; border-radius:16px; overflow:hidden; margin-bottom:clamp(20px,4.17vw,80px);}
.quality-card:nth-child(1){z-index:1;}
.quality-card:nth-child(2){z-index:2;}
.quality-card:nth-child(3){z-index:3;}
.quality-content{padding:0 clamp(24px,3.13vw,60px);}
.quality-point{display:inline-flex; align-items:center; justify-content:center; padding:clamp(6px,0.52vw,10px) clamp(14px,1.04vw,20px); background:#372D55; border-radius:999px; color:#fff;}
.quality-content h3{margin-top: clamp(20px,5.21vw,100px); font-size: clamp(24px,1.77vw,34px); font-weight: 700;}
.quality-content ul{margin-top: clamp(10px,1.56vw,30px);}
.quality-content li{position:relative; padding-left:12px; color: #333; font-size: clamp(16px,0.94vw,18px);}
.quality-content li + li{margin-top:6px;}
.quality-content li:before{content:"·"; position:absolute; left:0; font-weight: 900;}
.quality-image{height:clamp(250px,20.31vw,390px); border-radius:16px; overflow:hidden;}
.quality-image img{display:block; width:100%; height:100%; object-fit:cover;}



.brand-section{position:relative; padding:clamp(80px,9.38vw,180px) 0; background:#fff url('/images/sub/brand-bg.jpg') center/cover no-repeat; overflow:hidden;} 
.brand-list{position:relative; display:flex; align-items:center; justify-content:space-between; gap:clamp(20px,3.65vw,70px); }
.brand-item{position:relative; z-index:2; flex:1;; aspect-ratio:1; padding:clamp(24px,2.08vw,40px); border-radius:50%; background:#F4F4F4;}
.brand-circle{display:flex; align-items:center; justify-content:center; width:100%; height:100%; border:1px solid #ddd; border-radius:50%; background:#fff; padding:30px;}
.brand-info{text-align:center;     display: flex;  flex-direction: column;  align-items:center;  gap: clamp(10px,1.25vw,24px);}
.brand-name{display:block;  max-height:clamp(20px,1.72vw,33px); max-width:50%;}
.brand-desc{ color: #333; font-size: clamp(14px,0.94vw,18px); }
.brand-info h3{  font-size:clamp(16px,1.46vw,28px); font-weight: 700; }
.brand-center{max-width:60%;  position:relative; z-index:1;   flex-shrink: 0;}
.brand-list:before{content:""; position:absolute; top:50%; left:0; right:0; height:1px; background:#E5E5E5; z-index:-1;}
.brand-center img{display:block; width:100%;}
.btn-link{display:inline-flex; align-items:center; justify-content:center; gap:8px;   line-height: 1; padding:12px 20px; border:1px solid #ddd; border-radius:999px; background:#fff; color:#222;  font-size: 14px; font-weight: 600;}
.btn-link img{max-height:13px;  } 
.btn-link i{font-size: 1.2em;font-style:normal; line-height:1;  margin-top: 2px; } 
.btn-link:hover img{filter:brightness(0) invert(1);}
.brand-acropass .btn-link:hover{border-color:transparent; background:linear-gradient(90deg,#574099 0%,#D053C5 100%); color:#fff;}
.brand-banl .btn-link:hover{border-color:transparent; background:linear-gradient(90deg,#574099 0%,#D053C5 100%); color:#fff;}


.partnership-section{margin:clamp(80px,9.38vw,180px) 0;}
.partnership-section .section-label-wrap{display:flex; align-items:center; gap:clamp(10px,1.25vw,24px);margin-bottom: 30px; } 
.partnership-section .section-label{margin-bottom: 0;}
.partnership-section .btn-link{border-color:#262CBC; color: #262CBC;}
.partnership-section .btn-link:hover{background: #262CBC; color: #fff;}
.partnership-process{display:flex; gap:clamp(10px,1.04vw,20px); align-items:center; position:relative; padding:clamp(24px,2.08vw,40px); border:1px solid #ddd; border-radius:9999px; background:#f7f7f7;}
.partnership-step{position:relative; display:flex; flex-direction:column; gap:clamp(10px,1.04vw,20px); align-items:center; justify-content:center; flex:1;   border:1px solid #ddd; border-radius:50%; background:#fff; text-align:center; aspect-ratio:1; transition:all ease .35s; padding:10px;}
.partnership-step + .partnership-step{margin-left:-1px;}
.partnership-step.active{z-index:2; border-color:#8C4CC2;}
.partnership-process .arrow{margin:0 clamp(-35px, -1.82vw, 0px);  z-index:3; display:flex; align-items:center; justify-content:center; width:clamp(30px,2.60vw,50px); aspect-ratio:1; border:1px solid #ddd; border-radius:50%; background:#fff;  transition:all ease .35s;}
.partnership-process .arrow:after{content:"";  z-index:3; width:7px; height:7px; border-top:2px solid #ddd; border-right:2px solid #ddd; transform: rotate(45deg); margin-left: -3px;  transition:all ease .35s;}
.partnership-step.active + .arrow{border-color:#8C4CC2; background:linear-gradient(90deg,#574099 0%,#D053C5 100%); color:#fff;}
.step-num{display:inline-flex; align-items:center; justify-content:center;   padding:5px 12px; font-size: clamp(13px,0.73vw,14px); font-weight: 600; border-radius:999px; background:linear-gradient(90deg,#574099 0%,#D053C5 100%); color:#fff;  }
.partnership-step.active + .arrow:after{border-color:#fff;}
.partnership-step h3{ font-size:   min(1.46vw,28px); font-weight: 600;}
.partnership-step p{font-size:min(0.9375vw,18px); color:#333; max-width:90%;} 

html[lang="en"] .partnership-step{gap:10px;}
html[lang="en"] .partnership-step p{min-height: min(5.63vw,108px);} 
html[lang="ja"] .partnership-step p,
html[lang="cn"] .partnership-step p{min-height: min(2.81vw,54px);}


.contact-info-section{margin:0 0 clamp(80px,9.38vw,180px);}
.contact-info-wrap{display:flex;  justify-content:space-between; gap:30px; padding:clamp(24px,2.60vw,50px) clamp(24px,3.13vw,60px); background:#F7F7F7; border-radius:16px;}
.contact-info-text{flex:1; display:flex; gap:clamp(20px,2.08vw,40px); flex-direction:column;}
.contact-info-text strong{display:block; font-size: clamp(16px,0.94vw,18px); font-weight: 600;}
.contact-info-text p{font-size: clamp(22px,1.56vw,30px); font-weight: 500;}
.contact-info-card{width: 50%; max-width:740px; padding:clamp(20px,2.08vw,40px) clamp(20px,3.13vw,60px); background:#fff; border-radius:16px;}
.contact-info-row{display:flex; align-items:center;  }
.contact-info-row + .contact-info-row{margin-top:10px;}
.contact-info-label{flex:0 0 clamp(60px,4.17vw,80px); font-size: clamp(14px,1.04vw,20px); font-weight: 600;}
.contact-divider{width:1px; height:12px; margin:0 clamp(10px,1.04vw,20px); background:#ddd;}
.contact-value{display:flex; align-items:center; gap:10px; font-size:clamp(15px,1.04vw,20px); color:#333;}
.contact-value a{font-size:clamp(20px,1.88vw,36px); font-weight:700;}
.contact-value i{font-style:normal;    width: clamp(20px,1.25vw,24px);   flex-shrink: 0; }
.contact-value img{ vertical-align: middle;}
.contact-icon{display:inline-flex; align-items:center; justify-content:center; width:18px; height:18px; font-size:20px; line-height:1;} 


.inquiry-section{width:100%; margin:clamp(80px,9.38vw,180px) 0;} 
.inquiry-head{padding-bottom:clamp(20px,2.08vw,40px); border-bottom:1px solid #222;}
.inquiry-head h2{font-size: clamp(24px,1.88vw,36px); font-weight:700;}
.inquiry-form{width:100%; padding-top:clamp(30px,3.13vw,60px); font-size: clamp(18px,1.04vw,20px);}
.inquiry-field{width:100%; margin-bottom:clamp(20px,2.08vw,40px);}
.inquiry-field label{display:block; margin-bottom:clamp(10px,1.04vw,20px); font-weight:500;}
.inquiry-field label em{color:#D72638; font-style:normal;}
.inquiry-field input,.inquiry-field select,.inquiry-field textarea{display:block; width:100%; border:1px solid #e5e5e5; color: #222; background:#fff; border-radius:0; box-sizing:border-box; outline:none;}
.inquiry-field input,.inquiry-field select{height:clamp(60px,4.17vw,80px); padding:0 clamp(20px,1.25vw,24px); font-size: clamp(16px,0.94vw,18px);  font-weight: 500;}
.inquiry-field textarea{height:280px; padding:clamp(20px,1.25vw,24px);   font-size: clamp(16px,0.94vw,18px); }
.inquiry-field input::placeholder,.inquiry-field textarea::placeholder{color:#aaa;}
.inquiry-field input:focus,.inquiry-field select:focus,.inquiry-field textarea:focus{border-color:#222;}
.select-wrap{position:relative;}
.select-wrap:after{content:""; position:absolute; top:50%; right:20px; width:7px; height:7px; border-right:1px solid #111; border-bottom:1px solid #111; transform:translateY(-70%) rotate(45deg); pointer-events:none;}
.inquiry-field select{appearance:none; -webkit-appearance:none; padding-right:45px;} 
.file-input-wrap{display:flex; align-items:center; gap:20px;}  
.inquiry-file-field{margin-top:32px;}
.inquiry-file-field input[type="file"]{display:none;}  
.file-button{display:flex !important; align-items:center; justify-content:center; padding:clamp(12px,0.83vw,16px) clamp(20px,2.08vw,40px); margin:0 !important; border:1px solid #ddd; background:#fff; font-size:16px; font-weight:400; cursor:pointer; box-sizing:border-box;}
.file-input-wrap p{margin:0; color:#333; font-size:14px;}
.file-list{margin-top:20px; padding:clamp(18px,1.46vw,28px); background:#f7f7f7;}
.file-item{display:flex; align-items:center; justify-content:flex-start; gap:10px; height:26px; font-size:16px;  }
.file-item + .file-item{margin-top: 12px;}
.file-item button{padding:0; border:0; background:none; color:#222;  line-height:1; cursor:pointer; font-size: 24px; margin-top: -3px;}
.privacy-agree{margin-top:clamp(40px,4.17vw,80px);}
.privacy-head{padding-bottom:clamp(15px,1.56vw,30px); border-bottom:1px solid #222;}
.privacy-head h3{  font-size:clamp(20px,1.67vw,32px); font-weight:700;}
.privacy-content{margin-top:clamp(20px,2.08vw,40px); padding:clamp(20px,2.08vw,40px); font-size: clamp(14px,0.83vw,16px); background:#f7f7f7; box-sizing:border-box;}
.privacy-content p{margin:0 0 14px; line-height:1.8; color:#333;}
.privacy-content p:last-child{margin-bottom:0;}
.privacy-check{display:flex  ; align-items:center; gap:12px; margin-top:24px; font-size:16px; font-weight:400  ; cursor:pointer;}
.privacy-check input{width:clamp(20px,1.25vw,24px); height:clamp(20px,1.25vw,24px); margin:0; accent-color:#6943aa;} 





.policy-section{margin:0 0 clamp(80px,9.38vw,180px); font-size: clamp(16px,0.94vw,18px);}    
.policy-section .section-head{padding-bottom:50px; margin-bottom: 0;border-bottom:1px solid #222} 
.privacy-section{padding:46px 0;border-bottom:1px solid #e5e5e5}
.privacy-section:last-child{border-bottom:0}
.privacy-section strong{color: #000; font-weight: 600;}
.privacy-section h2{margin:0 0 24px;font-size:1.3em;font-weight:600;line-height:1.4;letter-spacing:-.03em}
.privacy-section h3{margin:28px 0 10px;font-size:1.1em;font-weight:600;line-height:1.5}
.privacy-section p{margin:0 0 12px;color:#555; } 
.privacy-section li{margin:6px 0;color:#555; }
.privacy-list > li{position:relative;margin:12px 0;padding-left:28px;color:#555; }
.privacy-list > li::before{position:absolute;left:0;top:0;  }
.privacy-list.abc > li:nth-child(1)::before{content:"가."}
.privacy-list.abc > li:nth-child(2)::before{content:"나."}
.privacy-list.abc > li:nth-child(3)::before{content:"다."}
.privacy-list.abc > li:nth-child(4)::before{content:"라."}
.privacy-list.abc > li:nth-child(5)::before{content:"마."}
.privacy-list.abc > li:nth-child(6)::before{content:"바."}
.privacy-list.abc > li:nth-child(7)::before{content:"사."}
.privacy-list.abc > li:nth-child(8)::before{content:"아."}
.privacy-list.num > li::before{content:counter(privacy-num) ".";counter-increment:privacy-num}
.privacy-list.num{counter-reset:privacy-num}
.privacy-sub-list{margin:10px 0 0;padding:0;list-style:none;counter-reset:privacy-sub}
.privacy-sub-list > li{position:relative;margin:6px 0;padding-left:24px;color:#555; }
.privacy-sub-list > li::before{position:absolute;left:0;top:0;color:#222}
.privacy-sub-list > li:nth-child(1)::before{content:"①"}
.privacy-sub-list > li:nth-child(2)::before{content:"②"}
.privacy-sub-list > li:nth-child(3)::before{content:"③"}
.privacy-sub-list > li:nth-child(4)::before{content:"④"}
.privacy-notice{margin-top:28px;padding:20px 24px;background:#f7f7f7;color:#555;font-size:.9em}
.privacy-info{margin:18px 0 0;padding:22px 24px;border:1px solid #e5e5e5}
.privacy-info dl{display:grid;grid-template-columns:150px 1fr;margin:0; gap:20px;}
.privacy-info dt,.privacy-info dd{margin:0;padding:6px 0; }
.privacy-info dt{font-weight:600;color:#222}
.privacy-info dd{color:#555} 


@media (max-width:1024px){ 
	.section-desc br,
	.sub .section-title br,
	.core-value-text p br,
	.core-value-text strong br,
	.value-chain-item p br,
	.strength-item strong br,
	.strength-item p br,
	.ip-strategy-caption br,
	.ip-portfolio-item p br,
	.ip-portfolio-item h3 br,
	.business-value-content h3 br,
	.supply-card h3 br,
	.supply-card p br,
	.capability-content p br,
	.business-area-desc p br,
	.quality-content h3 br,
	.contact-info-text p br,
	.history-title br{display:none;} 
	
	.greeting-section .section-desc br{display:block;}


	.core-value-item{position:relative; top:auto; padding:40px 0 0; height:auto;display:block;}
	.core-value-image{ height: 30vh;  aspect-ratio: auto;} 
	.core-value-info{height:auto; padding:30px 10px; justify-content:flex-start;} 

	
	.vision-section{height:auto; height:auto; padding-top: 180px; padding-bottom: 20px;}


	.history-wrap{flex-direction:column;}
	
	 



	.location-item{grid-template-columns:  1fr; }
	.color-list{grid-template-columns: repeat(1, 1fr);}
	.intro-image-content p br{display:none;}
	.value-chain-wrap{display:  block; }
	.value-chain-visual{position:relative; top:auto; padding:clamp(60px,6.25vw,120px) 10%; height:auto;}
	.business-model-list{grid-template-columns:  1fr; }
	.business-model-content p br{display:none;}
	.strength-wrap{grid-template-columns:  1fr; }
	.strength-intro{position:relative; top:auto;}
	.den-process-list{flex-direction:column; align-items: center; margin-bottom: 30px;}
	.den-process-head{margin-bottom: 40px;}
	.den-process-arrow:before{    transform: rotate(135deg); margin-left: -1px; margin-bottom: 2px;}
	.den-process-item:nth-child(4n-1) .den-process-image img{margin-top: -70px;}
	.patents-list{  grid-template-columns:repeat(2,1fr);}

	.common-banner{height:auto; min-height:clamp(360px,34.38vw,660px); padding: 80px 0;}
	.ip-strategy-list{grid-template-columns:  1fr; }
	.ip-portfolio-list{grid-template-columns:  1fr; }



	.business-value-track{display:flex; flex-direction:column; width: 100%; padding:0 5%;}
	.business-value-item{flex-direction:column;  flex: 1; width: 100%; }
	.business-value-image{ aspect-ratio:1.5; flex: 1; width: 100%;  }

	.supply-content{grid-template-columns:  1fr; }
	.map-structure{grid-template-columns:  1fr; gap:100px; }
	.map-circle:before{display:none;} 
	.map-circle{position:static;}
	.capabilities-wrap{grid-template-columns:  1fr; gap:0;}
	.business-area-list{grid-template-columns:  1fr; }
	.map-circle{max-width:300px;}
	.map-item:not(:last-child) .map-circle:after{top:100%; right:50%; transform:translateX(50%) rotate(90deg); aspect-ratio: 0.5;} 
	.capability-head{min-height:60px;}
	.capability-item:not(.active) .capability-content,
	.capability-item .capability-content{height:auto;padding-bottom:clamp(20px,2.08vw,40px); visibility:visible;} 
	.capability-item .capability-head{padding-top:clamp(24px,1.56vw,30px);}

	.quality-card{grid-template-columns:  1fr; position:relative; top:auto; gap:30px;}
	.quality-content{padding:0;}

	.brand-list{flex-direction:column;}
	.brand-list:before{width: 1px; height: 100%; left:50%; top:0;}
	.partnership-section .section-label-wrap{flex-direction:column;     align-items: flex-start;}

	.partnership-process{flex-direction:column;}
	.partnership-process{width: 100%; max-width:300px; margin:0 auto;}
	.partnership-step{width: 100%;  }
	.partnership-step h3{ font-size: min(5vw,20px); }
	.partnership-step p{font-size:min(4vw,15px);} 

	.partnership-process .arrow{transform:rotate(90deg);}

	.contact-info-wrap{flex-direction:column;} 
	.contact-info-card{width: 100%;}
	.contact-info-row{align-items:flex-start;}
	.contact-value{align-items:flex-start;}
	.contact-divider{margin-top: 5px;}



	.pipeline-table{overflow-x:auto;}
	.pipeline-row{min-width:900px;} 

	.footer-info dl{flex-direction:column; }
	.footer-info dl + dl{margin-top: 6px;}
	.footer-info dt{flex:1;}
	
	.privacy-info dl{grid-template-columns:  1fr; gap:0;}
}

