@charset "UTF-8";
:root{--navy:#071421;--navy-light:#0d2032;--blue:#126cba;--blue-bright:#28a8e8;--cyan:#32b9bd;--lime:#9bd83f;--white:#ffffff;--off-white:#f3f4f2;--pale-blue:#f2f8fa;--dark:#11191b;--gray:#888e93;--soft-line:#dce5e7;--line:rgba(255, 255, 255, .18);--text:#17202a;--content:1200px;}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--off-white);color:var(--text);font-family:"Noto Sans JP", sans-serif;font-size:16px;line-height:1.9;overflow-x:hidden;}
body.menu-open{overflow:hidden;}
a{color:inherit;text-decoration:none;}
.content-width{margin:0 auto;max-width:var(--content);padding-left:40px;padding-right:40px;width:100%;}
.section{padding:150px 0;}
.loading{align-items:center;background:var(--navy);display:flex;flex-direction:column;inset:0;justify-content:center;position:fixed;z-index:9999;}
.loading__mark{color:var(--white);display:flex;font-family:"Barlow Condensed", sans-serif;font-size:54px;font-weight:700;gap:3px;letter-spacing:-.08em;}
.loading__mark span:last-child{color:var(--blue-bright);}
.loading__line{background:rgba(255, 255, 255, .12);height:1px;margin-top:22px;overflow:hidden;width:150px;}
.loading__line span{background:var(--blue-bright);display:block;height:100%;transform:scaleX(0);transform-origin:left;}
.header{align-items:stretch;border-bottom:1px solid var(--line);display:flex;height:92px;justify-content:space-between;left:0;position:fixed;top:0;width:100%;z-index:100;}

.brand{align-items:center;display:flex;gap:16px;padding:0 34px;}
.brand__symbol{align-items:center;display:flex;flex-shrink:0;height:54px;width:54px;}
.brand__symbol img{display:block;height:100%;object-fit:contain;width:100%;}

.brand__text{display:flex;flex-direction:column;line-height:1.1;}
.brand__text strong{color:var(--white);font-size:24px;letter-spacing:.08em;}
.brand__text small{color:var(--cyan);font-family:"Barlow Condensed", sans-serif;font-size:16px;letter-spacing:.1em;margin-top:6px;}
.global-nav{align-items:center;display:flex;gap:34px;margin-left:auto;padding:0 34px;}
.global-nav a{color:var(--white);font-size:16px;font-weight:500;letter-spacing:.06em;position:relative;}
.global-nav a::after{background:var(--blue-bright);bottom:-10px;content:"";height:1px;left:0;position:absolute;transform:scaleX(0);transform-origin:right;transition:transform .4s ease;width:100%;}
.global-nav a:hover::after{transform:scaleX(1);transform-origin:left;}
.global-nav small{color:var(--cyan);font-family:"Barlow Condensed", sans-serif;margin-right:7px;}
.header__contact{align-items:center;background:var(--blue);color:var(--white);display:flex;font-family:"Barlow Condensed", sans-serif;font-size:16px;font-weight:600;gap:45px;letter-spacing:.12em;padding:0 34px;transition:background .3s ease;}
.header__contact:hover{background:var(--blue-bright);}
.header__contact i{font-size:18px;font-style:normal;}
.menu-button,
.mobile-menu{display:none;}
.hero{background:var(--navy);color:var(--white);height:min(900px, 100vh);min-height:720px;overflow:hidden;position:relative;}
.hero__visual{clip-path:polygon(22% 0, 100% 0, 100% 100%, 8% 100%);height:100%;left:39%;position:absolute;top:0;width:61%;}
.placeholder{background-color:#777e83;background-image:linear-gradient(135deg, rgba(255,255,255,.08) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.08) 50%, rgba(255,255,255,.08) 75%, transparent 75%);background-size:44px 44px;position:relative;}
.placeholder::after{background:linear-gradient(90deg, rgba(7,20,33,.55), rgba(7,20,33,.05));content:"";inset:0;position:absolute;}
.placeholder__label{bottom:35px;color:rgba(255,255,255,.72);display:flex;flex-direction:column;position:absolute;right:35px;text-align:right;z-index:2;}
.placeholder__label span{font-family:"Barlow Condensed", sans-serif;font-size:16px;letter-spacing:.2em;}
.placeholder__label small{font-size:16px;letter-spacing:.14em;}
.hero__grid{background-image:linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);background-size:80px 80px;inset:0;mask-image:linear-gradient(90deg, #000, transparent 62%);position:absolute;}
.hero__content{left:50%;position:absolute;top:48%;transform:translate(-50%, -50%);z-index:3;}
.hero__eyebrow{color:var(--blue-bright);font-family:"Barlow Condensed", sans-serif;font-size:16px;font-weight:600;letter-spacing:.28em;margin-bottom:28px;}
.hero h1{font-size:clamp(58px, 6.1vw, 94px);font-weight:600;letter-spacing:-.06em;line-height:1.16;}
.hero h1 span{display:inline-block;}
.accent-text{-webkit-text-stroke:1px rgba(255,255,255,.88);color:transparent;}
.hero__lead{border-left:2px solid var(--blue-bright);font-size:16px;line-height:2;margin-top:42px;padding-left:20px;}
.hero__bottom{align-items:flex-end;bottom:35px;display:flex;justify-content:space-between;left:50%;position:absolute;transform:translateX(-50%);z-index:3;}
.hero__bottom > p{color:rgba(255,255,255,.46);font-family:"Barlow Condensed", sans-serif;font-size:16px;letter-spacing:.22em;}
.hero__bottom a{align-items:center;display:flex;flex-direction:column;font-family:"Barlow Condensed", sans-serif;font-size:16px;gap:12px;letter-spacing:.2em;}
.hero__bottom i{background:rgba(255,255,255,.3);display:block;height:70px;overflow:hidden;position:relative;width:1px;}
.hero__bottom i::after{animation:scrollLine 1.8s infinite ease-in-out;background:var(--white);content:"";height:35px;left:0;position:absolute;top:-35px;width:1px;}
@keyframes scrollLine{
0%{transform:translateY(0);}
100%{transform:translateY(105px);}
}
.hero__number{bottom:-95px;color:rgba(255,255,255,.028);font-family:"Barlow Condensed", sans-serif;font-size:360px;font-weight:700;left:-15px;line-height:1;position:absolute;}
.section-index{align-items:center;color:var(--navy);display:flex;font-family:"Barlow Condensed", sans-serif;gap:13px;letter-spacing:.14em;white-space:nowrap;}
.section-index span{color:var(--blue);font-size:16px;}
.section-index i{background:currentColor;height:1px;opacity:.35;width:45px;}
.section-index small{font-size:16px;font-weight:600;}
.section-index.light{color:var(--white);}
.section-index.light span{color:var(--blue-bright);}
.kicker{color:var(--blue);font-family:"Barlow Condensed", sans-serif;font-size:16px;font-weight:600;letter-spacing:.25em;margin-bottom:20px;}
.statement{background:var(--off-white);}
.statement__inner{display:grid;gap:100px;grid-template-columns:190px 1fr;}
.statement__copy h2,
.section-heading h2,
.company__side h2{font-size:clamp(38px, 4.1vw, 60px);font-weight:600;letter-spacing:-.045em;line-height:1.45;}
.statement__body{display:block;margin-left:0;margin-top:65px;max-width:850px;}
.statement__body p{font-size:16px;line-height:2.15;}
.statement__body p + p{margin-top:24px;}
.section-heading{display:grid;gap:100px;grid-template-columns:190px 1fr;margin-bottom:90px;}
.service{background:var(--navy);color:var(--white);}
.service-list{border-top:1px solid var(--line);}
.service-item{align-items:center;border-bottom:1px solid var(--line);display:grid;gap:40px;grid-template-columns:50px 300px 1fr;min-height:320px;padding:42px 0;}
.service-item__number{align-self:start;color:var(--blue-bright);font-family:"Barlow Condensed", sans-serif;font-size:16px;padding-top:5px;}
.service-item__visual{height:210px;overflow:hidden;}
.service-item__visual::after{background:rgba(7,20,33,.1);}
.service-item__visual span,
.company__visual span,
.contact__visual > span{color:rgba(255,255,255,.7);font-family:"Barlow Condensed", sans-serif;font-size:16px;left:20px;letter-spacing:.2em;position:absolute;top:18px;z-index:2;}
.service-item__content > p:first-child{color:var(--blue-bright);font-family:"Barlow Condensed", sans-serif;font-size:16px;letter-spacing:.2em;}
.service-item__content h3{font-size:28px;font-weight:500;letter-spacing:.02em;margin:7px 0 20px;}
.tags{display:flex;flex-wrap:wrap;gap:7px;}
.tags span{border:1px solid rgba(255,255,255,.24);font-size:16px;letter-spacing:.08em;padding:2px 12px;}
.description{color:rgba(255,255,255,.62);font-size:16px;line-height:2;margin-top:20px;max-width:560px;}
.strength{background:#e8ebeb;overflow:hidden;position:relative;}
.strength__backword{color:rgba(7,20,33,.035);font-family:"Barlow Condensed", sans-serif;font-size:clamp(130px, 21vw, 330px);font-weight:700;left:50%;line-height:1;position:absolute;top:-25px;transform:translateX(-50%);white-space:nowrap;}
.strength-grid{display:grid;gap:1px;grid-template-columns:repeat(3, 1fr);position:relative;}
.strength-card{background:linear-gradient(135deg, var(--cyan), #55c7a8 60%, var(--lime));color:var(--white);min-height:390px;padding:42px 36px;position:relative;}
.strength-card > span{color:var(--white);font-family:"Barlow Condensed", sans-serif;font-size:16px;}
.strength-card__icon{align-items:center;border:1px solid rgba(255,255,255,.35);border-radius:50%;color:var(--white);display:flex;font-size:28px;height:72px;justify-content:center;margin:45px 0 35px;width:72px;}
.strength-card h3{font-size:20px;font-weight:600;margin-bottom:18px;}
.strength-card p{font-size:16px;line-height:2;opacity:.7;}
.company{background:var(--navy);color:var(--white);}
.company__layout{display:grid;gap:100px;grid-template-columns:38% 1fr;}
.company__side h2{margin:45px 0 55px;}
.company__visual{height:260px;}
.company__visual::after{background:rgba(7,20,33,.15);}
.company__table{border-top:1px solid var(--line);}
.company__table dl{border-bottom:1px solid var(--line);display:grid;font-size:16px;grid-template-columns:145px 1fr;padding:23px 0;}
.company__table dt{color:rgba(255,255,255,.48);}
.company__table dd{line-height:1.8;}
.contact{color:var(--white);min-height:580px;overflow:hidden;position:relative;}
.contact__visual{inset:0;position:absolute;}
.contact__visual::after{display:none;}
.contact__overlay{background:linear-gradient(90deg, rgba(5,15,25,.93) 0%, rgba(5,15,25,.73) 55%, rgba(5,15,25,.4) 100%);inset:0;position:absolute;}
.contact__content{align-items:center;display:flex;justify-content:space-between;min-height:580px;position:relative;z-index:2;}
.contact h2{font-size:clamp(35px, 3.7vw, 54px);font-weight:500;letter-spacing:-.04em;line-height:1.5;}
.contact__content > div > p:last-child{color:rgba(255,255,255,.66);font-size:16px;margin-top:28px;}
.circle-link{align-items:center;border:1px solid rgba(255,255,255,.45);border-radius:50%;display:flex;flex-direction:column;font-family:"Barlow Condensed", sans-serif;font-size:16px;height:205px;justify-content:center;letter-spacing:.18em;position:relative;transition:background .4s ease, border-color .4s ease;width:205px;}
.circle-link::before{background:var(--blue);border-radius:50%;content:"";inset:0;position:absolute;transform:scale(0);transition:transform .4s ease;}
.circle-link:hover::before{transform:scale(1);}
.circle-link span,
.circle-link i{position:relative;z-index:2;}
.circle-link i{font-size:20px;font-style:normal;margin-top:12px;}

.section-more{display:flex;justify-content:center;margin-top:60px}
.more-link{align-items:center;background:linear-gradient(110deg,var(--cyan),var(--lime));color:var(--white);display:inline-flex;font-size:15px;font-weight:600;gap:45px;justify-content:space-between;letter-spacing:.08em;min-width:230px;padding:17px 22px 17px 26px;transition:opacity .3s ease,transform .3s ease}
.more-link:hover{opacity:.85;transform:translateY(-2px)}
.more-link i{font-size:18px;font-style:normal;line-height:1;transition:transform .3s ease}
.more-link:hover i{transform:translate(3px,-3px)}

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

.footer{background:#050d15;color:var(--white);padding:85px 0 25px;}
.footer__top{display:flex;justify-content:space-between;}
.footer__brand{align-items:center;display:flex;gap:16px;width:fit-content;}
.footer__brand .brand__symbol{height:54px;width:54px;}
.footer__brand .brand__symbol img{display:block;height:100%;object-fit:contain;width:100%;}
.footer__brand .brand__text{display:flex;flex-direction:column;line-height:1.1;}
.footer__brand .brand__text small{color:rgba(255,255,255,.56);font-family:"Barlow Condensed", sans-serif;font-size:16px;letter-spacing:.1em;}
.footer__brand .brand__text strong{color:var(--white);font-family:"Noto Sans JP", sans-serif;font-size:24px;font-weight:700;letter-spacing:.08em;margin-top:6px;}
.footer__details{display:grid;font-size:16px;gap:65px;grid-template-columns:1fr 1fr;line-height:2;}
.footer__bottom{border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.38);display:flex;font-family:"Barlow Condensed", sans-serif;font-size:16px;justify-content:space-between;letter-spacing:.12em;margin-top:65px;padding-top:22px;}
@media (max-width: 1000px){
.global-nav,
	.header__contact{display:none;}
.menu-button{align-items:center;background:var(--blue);border:0;display:flex;flex-direction:column;gap:7px;justify-content:center;width:92px;}
.menu-button span{background:var(--white);display:block;height:1px;transition:transform .3s ease;width:28px;}
.menu-button.active span:first-child{transform:translateY(4px) rotate(45deg);}
.menu-button.active span:last-child{transform:translateY(-4px) rotate(-45deg);}
.mobile-menu{align-items:center;background:var(--navy);display:flex;inset:0;justify-content:center;opacity:0;pointer-events:none;position:fixed;transition:opacity .35s ease;z-index:90;}
.mobile-menu.active{opacity:1;pointer-events:auto;}
.mobile-menu nav{display:flex;flex-direction:column;width:min(80%, 500px);}
.mobile-menu a{border-bottom:1px solid var(--line);color:var(--white);display:flex;gap:25px;padding:18px 0;}
.mobile-menu small{color:var(--blue-bright);}
.hero__visual{left:47%;width:53%;}
.service-item{grid-template-columns:35px 240px 1fr;}
.company__layout{gap:55px;}
}
@media (max-width: 767px){
	.content-width{padding-left:22px;padding-right:22px;}
	.section{padding:95px 0;}
	.header{height:70px;}
	.brand{gap:10px;padding:0 18px;}
	.brand__symbol{transform:scale(.78);}
	.brand__text strong{font-size:20px;}
	.brand__text small{display:none;}
	.menu-button{width:70px;}
	.hero{height:760px;min-height:0;}
	.hero__visual{clip-path:polygon(20% 0, 100% 0, 100% 100%, 0 100%);left:30%;opacity:.75;width:70%;}
	.hero__grid{background-size:50px 50px;}
	.hero__content{top:45%;}
	.hero__eyebrow{font-size:16px;letter-spacing:.19em;}
	.hero h1{font-size:48px;}
	.hero__lead{font-size:16px;margin-top:35px;}
	.hero__bottom{bottom:20px;}
	.hero__number{font-size:200px;}
	.pc{display:none;}
	.statement__inner,
	.section-heading,
	.company__layout{gap:48px;grid-template-columns:1fr;}
	.statement__copy h2,
	.section-heading h2,
	.company__side h2{font-size:36px;}
	.statement__body{gap:28px;grid-template-columns:1fr;margin-left:0;margin-top:45px;}
	.section-heading{margin-bottom:55px;}
	.service-item{gap:15px;grid-template-columns:30px 1fr;padding:35px 0 45px;}
	.service-item__visual{grid-column:2;height:180px;width:100%;}
	.service-item__content{grid-column:2;}
	.service-item__content h3{font-size:23px;}
	.strength-grid{gap:12px;grid-template-columns:1fr;}
	.strength-card{min-height:0;padding:32px 28px;}
	.strength-card__icon{margin:28px 0;}
	.company__visual{height:190px;}
	.company__table dl{gap:10px;grid-template-columns:1fr;padding:18px 0;}
	.contact,
	.contact__content{min-height:650px;}
	.contact__content{align-items:flex-start;flex-direction:column;justify-content:center;}
	.contact h2{font-size:34px;}
	.circle-link{align-self:flex-end;height:145px;margin-top:45px;width:145px;}
.section-more{margin-top:40px}
.more-link{max-width:320px;min-width:0;width:100%}
	.footer__top,
	.footer__details{gap:35px;grid-template-columns:1fr;}
	.footer__top{flex-direction:column;}
}
/* =========================================================
   Current cyan / lime theme
   Layout, content and animation are preserved.
========================================================= */
.header{background:rgba(17, 25, 27, .94);display:block;}
.header__inner{align-items:stretch;display:flex;height:100%;justify-content:space-between;margin:0 auto;max-width:1600px;width:100%;}
.loading{background:var(--dark);}
.loading__mark span:last-child,
.hero__eyebrow,
.global-nav small,
.service-item__number,
.service-item__content > p:first-child{color:var(--cyan);}
.loading__line span,
.global-nav a::after{background:linear-gradient(90deg, var(--cyan), var(--lime));}
.brand__symbol i:last-child{border-color:var(--lime);}
.header__contact,
.menu-button{background:linear-gradient(110deg, var(--cyan), var(--lime));}
.header__contact:hover{background:linear-gradient(110deg, #26aeb5, #88cc36);}
.hero{background:var(--dark);}
.hero__lead{border-left-color:var(--cyan);}
.statement{background:#ffffff;}
.section-index span,
.kicker{color:var(--cyan);}
.service{background:var(--pale-blue);color:var(--text);}
.service .section-index.light{color:var(--text);}
.service .section-index.light span{color:var(--cyan);}
.service-list{border-top-color:var(--soft-line);}
.service-item{border-bottom-color:var(--soft-line);}
.tags span{background:#ffffff;border-color:var(--soft-line);color:#536268;}
.description{color:#65747a;}
.strength{background:#ffffff;}

.company{background:#ffffff;color:var(--text);}
.company .section-index.light{color:var(--text);}
.company .section-index.light span{color:var(--cyan);}
.company__table{border-top-color:var(--soft-line);}
.company__table dl{border-bottom-color:var(--soft-line);}
.company__table dt{color:#718087;}
.contact__overlay{background:linear-gradient(90deg, rgba(17,25,27,.88) 0%, rgba(29,126,132,.68) 60%, rgba(132,197,54,.38) 100%);}
.circle-link::before{background:linear-gradient(135deg, var(--cyan), var(--lime));}
.footer{background:linear-gradient(110deg, #24aeb8, #35bca6 65%, #8dcc3a);}

@media (max-width: 1000px){
.header__inner{max-width:none;}
}
.hero__visual{clip-path:polygon(22% 0,100% 0,100% 100%,8% 100%);height:100%;left:auto;position:absolute;right:0;top:0;width:61%;z-index:0;}
.hero__visual img{display:block;height:100%;max-height:none;max-width:none;object-fit:cover;object-position:center center;width:100%;}
.hero__visual::after{background:linear-gradient(90deg,rgba(7,20,33,.45),rgba(7,20,33,.02));content:"";inset:0;pointer-events:none;position:absolute;z-index:1;}
.hero__visual .placeholder__label{z-index:2;}
@media (max-width:1000px){.hero__visual{clip-path:polygon(18% 0,100% 0,100% 100%,5% 100%);left:auto;right:0;width:61%;}}
@media (max-width:767px){.hero__visual{clip-path:polygon(18% 0,100% 0,100% 100%,0 100%);height:100%;left:20%;opacity:.75;right:auto;width:80%;}.hero__visual img{height:100%;object-fit:cover;object-position:center center;width:100%;}}

/* =========================================================
	Responsive stability fix
========================================================= */
html{max-width:100%;overflow-x:hidden;}
body{max-width:100%;overflow-x:hidden;}
img{height:auto;max-width:100%;}
.header__inner{min-width:0;}
.brand{min-width:0;}
.brand__text{min-width:0;}

@media (max-width:1000px){
	.header{z-index:1000;}
	.header__inner{max-width:none;min-width:0;width:100%;}
	.brand{max-width:calc(100% - 92px);min-width:0;}
	.brand__text{min-width:0;}
	.brand__text strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
	.menu-button{flex-shrink:0;position:relative;z-index:1002;}
	.mobile-menu{height:100vh;height:100dvh;inset:0;overflow-y:auto;visibility:hidden;width:100%;z-index:999;}
	.mobile-menu.active{opacity:1;pointer-events:auto;visibility:visible;}
	.mobile-menu nav{max-width:500px;width:calc(100% - 44px);}
	.hero__visual{left:auto;right:0;width:61%;}
}

@media (max-width:767px){
	.header{width:100%;}
	.brand{max-width:calc(100% - 70px);}
	.brand__symbol{flex-shrink:0;height:42px;transform:none;width:42px;}
	.menu-button{width:70px;}
	.mobile-menu nav{width:calc(100% - 44px);}
	.hero__visual{left:20%;right:auto;width:80%;}
}