@charset "utf-8";

/********** 
** popup 
**********/
.popup{position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);}
.haoPopup{position:fixed; inset:0; z-index:9999; display:none;}
.haoPopup[aria-hidden="false"]{display:block;}
.haoPopupDim{position:absolute; inset:0; background:rgba(0,0,0,.55); backdrop-filter:blur(2px);}
.popup{width:min(90vw,520px); overflow:hidden;}
.haoPopupImg{display:block; width:100%; height:auto; -webkit-user-drag:none; user-select:none;}
.today,.close{cursor:pointer;}

/********* 
** header 
*********/
.siteHeader{width:100%; left:0; top:0;}
.siteHeaderSpacer{width:100%;}
.headerContactBtn {border:1px solid #FFAB2E;}

/********* 
** index 
*********/
/** mainBanner **/
.mainBanner {background:url('/img/mainBanner.jpg'); background-position:center; background-size:cover;}
.mainBannerCenter {left:50%; transform:translateX(-50%); bottom:60px;}
/** case **/
/** about **/
.about {background:url('/img/aboutBg.jpg'); background-position:center; background-size:cover; --about-bleed:10dvw;}
.about .inner{overflow:visible;}
.aboutControls{position:relative; z-index:2;}
.aboutArrow{cursor:pointer; transition:transform .25s ease, background-color .25s ease;}
.aboutMedia{position:relative; width:calc(50% + var(--about-bleed)); flex:0 0 calc(50% + var(--about-bleed)); margin-right:calc(var(--about-bleed) * -1);}
.aboutSlider{overflow:hidden;}
.aboutSlideImage{display:block; width:100%; aspect-ratio:1/1; object-fit:cover;}
/** feature **/
.featureCnts {display:grid; grid-template-columns:repeat(4, 1fr);}
/** place **/
.placeCnts {display:grid; grid-template-columns:repeat(3,1fr);}
.placeCnts > div {position:relative; overflow:hidden; isolation:isolate;}
.placeCnts > div::before {content:''; position:absolute; inset:0; background-position:center; background-size:cover; transition:transform .4s ease; z-index:0;}
.placeCnts > div > * {position:relative; z-index:1;}
@media (hover: hover) and (pointer: fine) {.placeCnts > div:hover::before {transform:scale(1.14);}}
.placeCnt1::before {background-image:url('/img/place-001.jpg');}
.placeCnt2::before {background-image:url('/img/place-002.jpg');}
.placeCnt3::before {background-image:url('/img/place-003.jpg');}
.placeCnt4::before {background-image:url('/img/place-004.jpg');}
.placeCnt5::before {background-image:url('/img/place-005.jpg');}
.placeCnt6::before {background-image:url('/img/place-006.jpg');}
/** subBanner **/
.subBanner {background:url('/img/subBanner.jpg'); background-position:center; background-size:cover;}
/** work **/
.workCnts {display:grid; grid-template-columns:minmax(0, 1fr) max-content minmax(0, 1fr) max-content minmax(0, 1fr); align-items:stretch; column-gap:0;}
.workCnt {position:relative; height:100%; border:1px solid #D9DADE; background:#fefefe; overflow:visible; z-index:1;}
.workCnt > div:last-of-type {margin-top:auto;}
.workLink {width:max-content; align-self:stretch;}
.workLinkLine {flex:none;}
.workpointRight,
.workpointLeft {top:50%; z-index:2; pointer-events:none;}
.workpointRight {right:0; transform:translate(50%, -50%);}
.workpointLeft {left:0; transform:translate(-50%, -50%);}
/** product **/
.patternLeft {top:0; left:0;}
.patternRight {bottom:0; right:0;}
.productCnts {display:grid; grid-template-columns:repeat(3, 1fr);}
.productCard {cursor:pointer;}
.productCard:focus-visible {outline:2px solid #5D5AB6; outline-offset:8px;}
.productModal {position:fixed; inset:0; z-index:9999; display:none; align-items:center; justify-content:center; padding:24px;}
.productModal[aria-hidden="false"] {display:flex;}
.productModalDim {position:absolute; inset:0; background:rgba(0, 0, 0, .55);}
.productModalFrame {position:relative; max-width:100%; max-height:100%;}
.productModalDialog {position:relative; display:flex; flex-direction:column; width:100%; height:100%; background:#fefefe; box-shadow:0 24px 80px rgba(0, 0, 0, .18); overflow:hidden; z-index:1;}
.productModalHead {border-radius:24px 24px 0 0;}
.productModalBody {flex:1 1 auto; overflow-y:auto;}
.productModalContent {display:flex; flex-direction:column; align-items:center; justify-content:flex-start; min-height:100%;}
.productModalClose {position:absolute; top:0; right:0; transform:translateY(calc(-100% - 24px)); padding:0; border:0; background:transparent; cursor:pointer; line-height:0; z-index:4; pointer-events:auto; touch-action:manipulation;}
.productModalClose img {display:block; height:auto;}
.productTemplateHighPressTable tr{border-top:1px solid #B8BAC1;}
.productTemplateHighPressTable tr:last-child{border-bottom:1px solid #B8BAC1;}
.productTemplateHighPressTable th {border-left:1px solid #B8BAC1;}
.productTemplateHighPressTable th {border-right:1px solid #B8BAC1;}
.productTemplateHighPressTable td {border-right:1px solid #B8BAC1;}
.productTable {border:1px solid #AFB6E1;}
.productTable th{border-bottom:1px solid #AFB6E1;}
.productTable th{border-right:1px solid #AFB6E1;}
.productTable td{border-bottom:1px solid #AFB6E1;}
.productTable td{border-right:1px solid #AFB6E1;}
/** why **/
.whyCnts {display:grid; grid-template-columns:repeat(3,1fr);}
/** who **/
.whoCnts {display:grid; grid-template-columns:repeat(4,1fr);}
.whoCnts > div {position:relative; overflow:hidden; isolation:isolate;}
.whoCnts > div::before {content:''; position:absolute; inset:0; background-position:center; background-size:cover; transition:transform .4s ease; z-index:0;}
.whoCnts > div > * {position:relative; z-index:1;}
@media (hover: hover) and (pointer: fine) {.whoCnts > div:hover::before {transform:scale(1.14);}}
.whoCnt1::before {background-image:url('/img/who-001.jpg');}
.whoCnt2::before {background-image:url('/img/who-002.jpg');}
.whoCnt3::before {background-image:url('/img/who-003.jpg');}
.whoCnt4::before {background-image:url('/img/who-004.jpg');}
/** subBanner **/
.subBanner {background:url('/img/subBanner-002.jpg'); background-position:center; background-size:cover;}
/** contact **/
.contactLeft {bottom:0; left:0;}
.contactRight {top:0; right:0;}
.inputBox {border:1px solid #D9DADE;}
.checkBoxLine {appearance:none; -webkit-appearance:none; position:static; width:24px; height:24px; border:0; background:transparent url('/img/chkOff.svg') center / contain no-repeat; cursor:pointer;}
.checkBoxLine:checked {background-image:url('/img/chkOn.svg');}
.checkBoxLine:focus-visible {outline:2px solid #5D5AB6; outline-offset:3px;}
.underLine {text-decoration: underline;}
/********* 
** footer 
*********/
.fixBtn {bottom:56px; right:60px;}
/********* 
** login 
*********/
.loginBg {background:url('/img/mainBanner.jpg'); background-position:center; background-size:cover;}

/********* 
** admin 
*********/
.adminBg {background:url('/img/mainBanner.jpg'); background-position:center; background-size:cover;}

/********* 
** contact 
*********/
/** list **/
.contactTable tr{border-top:1px solid #D9DADE;}
.contactTable tr:last-child{border-bottom:1px solid #D9DADE;}
.contactTable th, .contactTable td {border-right:1px solid #D9DADE;}
.contactTable th:last-child, .contactTable td:last-child {border-right:0;}
/** view **/
.consiltCntLine {border-top:1px solid #D9DADE;}
.consiltCntLine:last-child {border-bottom:1px solid #D9DADE;}
.successBtnLine {border:1px solid #D9DADE;}

.policyTp {border-bottom:1px solid #222;}
