:root{--navy:#182246;--footer:#394261;--pale:#f2f4fb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--navy);font-family:Arial,'Noto Sans JP',sans-serif}a{color:inherit}header{height:86px;background:var(--footer);color:white;display:flex;align-items:center;justify-content:space-between;padding:0 max(calc((100vw - 1165px)/2),6%);gap:30px}header.hero-header{position:absolute;inset:0 0 auto;background:transparent;z-index:2}header .logo{width:164px;height:auto}nav{display:flex;gap:clamp(18px,3vw,52px);align-items:center}nav a{font-size:14px;font-weight:bold;text-decoration:none;white-space:nowrap}.menu-button{display:none}h1,h2,h3,p{margin-top:0}h2{font-size:40px;text-align:center;margin-bottom:60px}.hero{height:min(900px,63vw);min-height:580px;background-position:center;background-size:cover;display:flex;align-items:center;color:#fff}.hero-inner{width:80%;margin:auto}.hero h1{font-size:clamp(44px,4.2vw,64px);margin-bottom:10px}.hero p{font-size:20px;font-weight:bold}.mission{background:var(--pale);text-align:center;padding:160px 20px;font-size:20px;line-height:2}.mission h2{margin-bottom:20px;font-size:32px}.section{padding:95px 20px}.wrap{width:min(100%,1060px);margin:auto}.demos{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 30px}.demo{text-align:center}.demo button{border:0;background:none;padding:0;cursor:pointer;width:100%}.demo img{width:100%;display:block}.demo h3{font-size:19px;margin:18px 0}.services{background:linear-gradient(125deg,#dee0f7,#f6f6f8 55%,#dedff3)}.service{max-width:880px;margin:0 auto 90px;background:white;display:flex;min-height:360px;border:1px solid #ddd;box-shadow:0 2px 4px #0002}.service:nth-child(odd){flex-direction:row-reverse}.service img{width:50%;object-fit:cover}.service div{width:50%;padding:65px 40px;line-height:1.9}.service h3{font-size:22px;line-height:1.3}.advantages{background:var(--pale)}.advgrid,.members,.cases{display:grid;gap:50px;grid-template-columns:repeat(2,1fr);max-width:880px;margin:auto}.advgrid>div{text-align:center;padding:70px 30px;line-height:2}.advgrid h3{font-size:28px}.members>article{border:1px solid #ddd;text-align:center;box-shadow:0 2px 4px #0002;line-height:1.8;padding-bottom:25px}.members img{width:100%;height:290px;object-fit:cover}.members p{padding:0 28px;font-size:14px}.members h3{margin:8px}.cases{grid-template-columns:repeat(3,1fr);gap:0}.case{position:relative;color:white;text-align:center;min-height:400px;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;flex-direction:column;text-shadow:0 2px 6px #000}.case:before{content:'';position:absolute;inset:0;background:#0005}.case>*{z-index:1}.case h3{font-size:30px}.case a{color:white}.news{background:var(--pale)}.newsrows{max-width:760px;margin:auto}.newsrow{display:flex;gap:50px;padding:18px;border-bottom:1px solid #dfe3ef;text-decoration:none;font-size:14px}.newsrow time{white-space:nowrap}.pill{display:block;width:220px;margin:44px auto 0;border:1px solid var(--navy);border-radius:30px;text-align:center;padding:12px;color:var(--navy);text-decoration:none;font-size:14px}.contact{text-align:center;background:var(--pale);line-height:2}.contact h2{margin-bottom:28px}.recruit{color:white;text-align:center;background-position:center;background-size:cover;position:relative}.recruit .wrap{position:relative}.recruit:before{content:'';position:absolute;inset:0;background:#0008}.recruit p{line-height:2;max-width:850px;margin:0 auto}.recruit .pill{background:white}.footer{background:var(--footer);color:white;padding:75px 20px}.footer .wrap{display:flex;justify-content:space-between;gap:40px}.footer img{width:208px}.footer h3{font-size:22px}.footer p{font-size:14px;line-height:2}.footer nav{display:grid;grid-template-columns:1fr 1fr;gap:20px 30px}.footer nav a{text-decoration:underline;letter-spacing:2px;font-weight:normal}.inner{max-width:930px;margin:auto;padding:80px 20px 110px;min-height:620px}.inner h1{font-size:52px;font-weight:normal;margin-bottom:60px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.details p{margin:30px 0 60px;line-height:2}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:14px;margin-bottom:16px}input,textarea{display:block;width:100%;border:1px solid var(--navy);font:inherit;padding:10px;margin-top:7px}textarea{min-height:85px}.send{background:var(--navy);color:white;border:0;padding:10px 50px;float:right}.article{max-width:880px;margin:auto;line-height:2}.article h1{font-size:38px}.article img{max-width:100%;height:auto}.news-list article{display:grid;grid-template-columns:250px 1fr;gap:30px;padding:20px 0;border-bottom:1px solid #ddd}.news-list img{width:100%}.article p{white-space:pre-wrap}.status{clear:both;padding-top:12px}.video-modal{border:0;background:#000;max-width:min(1000px,90vw);width:100%;color:white}.video-modal video{width:100%}.video-modal button{color:white;background:none;border:0;font-size:30px;float:right;cursor:pointer}dialog::backdrop{background:#000b}@media(max-width:760px){header{height:70px;padding:0 22px}.menu-button{display:block;background:none;color:white;border:0;font-size:30px}header nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--footer);padding:25px;z-index:5;flex-direction:column}header nav.open{display:flex}.hero{min-height:610px;height:85vh}.hero-inner{width:86%}.hero h1{font-size:36px}.hero p{font-size:15px}.mission{padding:90px 20px;font-size:15px}.mission h2{font-size:23px}.section{padding:70px 20px}h2{font-size:32px;margin-bottom:45px}.demos{grid-template-columns:repeat(2,1fr);gap:25px 12px}.demo h3{font-size:14px}.service,.service:nth-child(odd){flex-direction:column;margin-bottom:30px}.service img,.service div{width:100%}.service img{height:250px}.service div{padding:30px}.advgrid,.members,.cases{grid-template-columns:1fr;gap:20px}.advgrid>div{padding:25px}.case{min-height:300px}.footer .wrap{display:block}.footer nav{margin-top:40px}.contact-grid{grid-template-columns:1fr;gap:10px}.inner h1{font-size:38px}.news-list article{grid-template-columns:1fr}.newsrow{gap:20px}.article h1{font-size:28px}}
.advgrid>div{background:white;border:1px solid #ddd;box-shadow:0 2px 5px #0002;text-align:left;padding:65px 40px}.advgrid>div:before{content:'';display:block;width:2px;height:44px;background:#182246;margin-bottom:24px}.advgrid h3{font-size:20px}.advgrid p{font-size:14px}.case a{background:white;color:#182246;border-radius:3px;padding:14px 28px;text-decoration:none;text-shadow:none;font-size:14px}.case h3{font-size:30px;font-weight:normal;letter-spacing:4px}.services{background:linear-gradient(150deg,#fff 0%,#fff 65%,#e5e6f0 65%,#f4f5ec 100%)}.news{background:linear-gradient(135deg,#e1e3f9,#f4f5fb 45%,#f2f3e9)}.mission h2,.mission p{text-align:left;max-width:950px;margin-left:auto;margin-right:auto}
.case button{position:relative;z-index:1;background:white;color:#182246;border:0;border-radius:3px;padding:14px 28px;font-size:14px;cursor:pointer}.case-modal{width:min(730px,92vw);border:0;padding:45px 55px;color:#182246;max-height:90vh;overflow:auto}.case-modal>button{float:right;border:0;background:none;font-size:28px;cursor:pointer}.case-modal h2{font-size:30px;margin:10px 0 30px}.case-modal>div{display:grid;grid-template-columns:1fr 1fr;gap:40px}.case-modal img{width:100%}.case-modal h3{font-size:19px;margin:14px 0}.case-modal p{line-height:1.5}@media(max-width:760px){.case-modal{padding:25px}.case-modal>div{grid-template-columns:1fr}.case-modal h2{font-size:24px}}
.news-list{max-width:790px}.news-list>h1{text-align:center}.news-list article{grid-template-columns:250px 1fr;gap:38px;margin:0 0 56px;padding:0;border:1px solid #e4e4e4;min-height:268px}.news-list article img{width:250px;height:265px;object-fit:cover}.news-list article>div:not(.news-image-empty){padding:38px 32px 30px 0;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}.news-list article h2{text-align:left;font-size:18px;line-height:1.5;margin:0;font-weight:500}.news-list article a{font-size:14px;color:#525d7c;text-decoration:none}@media(max-width:760px){.news-list article{grid-template-columns:1fr;gap:0}.news-list article img{width:100%;height:200px}.news-list article>div:not(.news-image-empty){padding:25px;min-height:130px}.news-list .news-image-empty{display:none}}
.trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.send:disabled{opacity:.6;cursor:wait}
@media(min-width:761px){.hero{height:min(855px,59.4vw)}.mission{padding:128px 20px 91px}#demo{padding-bottom:112px}.service{margin-bottom:72px}}
.article{max-width:720px}.article h1{font-size:46px;font-weight:normal;line-height:1.45;margin:24px 0 45px}.article>img{display:block;max-width:100%;margin:0 auto 40px}.article p{font-size:15px;line-height:1.7;margin-bottom:24px}.article-controls{display:flex;justify-content:space-between;margin-top:100px}.article-controls a{font-weight:normal;text-decoration:none}@media(max-width:760px){.article h1{font-size:30px}}
@media(max-width:760px){header.hero-header{justify-content:center}header.hero-header .menu-button{position:absolute;right:22px}.demos{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:0}.demo{min-width:100%;scroll-snap-align:start}.demo img{aspect-ratio:16/9;object-fit:cover}.demo h3{background:#111;color:white;margin:0;padding:12px}.services{background:linear-gradient(#f2f4fb 0 13%,#182246 13% 100%)}.service img{height:220px}.service div{padding:24px}.advgrid>div{padding:25px}.members>article{margin-bottom:15px}}
@media(max-width:760px){.hero h1{font-size:26px;white-space:nowrap}.hero p{font-size:12px}}
.article-image-empty{height:450px}@media(max-width:760px){.article-image-empty{height:200px}}
@media(min-width:761px){.hero{height:min(900px,63vw)}.mission{padding:83px 20px 123px}#advantages{padding-bottom:162px}#members{padding-bottom:169px}#news{padding-bottom:182px}#contact{padding-bottom:108px}}
.demo-pages{display:none}@media(max-width:760px){.demo-pages{display:flex;justify-content:center;background:#111;padding:8px}.demo-pages button{border:0;background:none;color:white;font-size:9px;padding:4px;cursor:pointer}}
@media(min-width:761px){.hero-inner{transform:translateY(12px)}}
/* Wix の各セクションで使われていた背景画像とスクロール効果。 */
@media (min-width: 761px) {
  .services, #members, #news {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    background-attachment: fixed;
  }
  .services { background-image: url('/media/0cb4809f4ab19df85157.jpg'); }
  #members { background-image: url('/media/42de76a19333c07f82a1.jpg'); }
  #news { background-image: url('/media/aa396b7274063cd3f4cf.jpg'); }
}
/* Advantages: Wix のカード寸法と縦のアクセント線を再現。 */
@media (min-width: 761px) {
  #advantages h2 { font-size: 56px; margin-bottom: 60px; }
  #advantages .advgrid { max-width: 880px; grid-template-columns: repeat(2, minmax(0, 392px)); justify-content: space-between; gap: clamp(24px, 6.7vw, 96px); }
  #advantages .advgrid > div { position: relative; min-height: 420px; padding: 85px 40px 48px 67px; border-radius: 9px; }
  #advantages .advgrid > div::before { position: absolute; left: 34px; top: 44px; bottom: 17px; width: 1px; height: auto; margin: 0; background: #18224680; }
  #advantages .advgrid > div::after { content: ''; position: absolute; left: 34px; top: 72px; width: 3px; height: 129px; background: #182246; }
  #advantages .advgrid h3 { font-size: 24px; line-height: 1.8; margin: 0 0 70px; letter-spacing: .04em; }
  #advantages .advgrid p { font-size: 18px; line-height: 1.8; margin: 0; letter-spacing: .02em; }
}
@media (min-width: 761px) { #advantages { padding-bottom: 128px; } }
