:root{
  --blue:#00699b;
  --red:#d72021;
  --green:#41d037;
  --green-border:#58d037;
  --brown:#3c2415;
  --gray:#666;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#fff;color:#111}
body{font-family:Inter,"Noto Sans JP","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.coming-soon{min-height:100svh;background:#fff}
.stage{position:relative;width:min(100%,1440px);height:1024px;margin:0 auto;background:#fff;overflow:hidden}
.brand{position:absolute;left:50%;top:164px;width:626px;height:130px;transform:translateX(-50%)}
.brand img{display:block;width:626px;height:130px;object-fit:cover}
.message-block{position:absolute;top:384px;left:50%;width:900px;transform:translateX(-50%);text-align:center;color:var(--blue)}
.message-block h1{margin:0;font-size:54px;line-height:1.5;font-weight:700;letter-spacing:0}
.message-block p{margin:17px 0 0;font-size:24px;line-height:1.5;font-weight:400}
.social-block{position:absolute;top:669px;left:50%;width:949px;transform:translateX(-50%)}
.callout{margin:0 0 35px;text-align:center;color:var(--red);font-size:24px;line-height:1.5;font-weight:700}
.channels{display:grid;grid-template-columns:586px 327px;gap:36px}
.channel{height:145px;background:#fff;display:flex;align-items:center;transition:transform .15s ease,box-shadow .15s ease}
.channel:hover{transform:translateY(-2px);box-shadow:0 7px 22px rgba(0,0,0,.08)}
.channel:focus-visible{outline:3px solid #111;outline-offset:4px}
.instagram{border:3px solid var(--red);border-radius:20px;padding:24px 26px;gap:33px}
.insta-girl{width:54px;height:92px;object-fit:cover;flex:none}
.insta-copy{display:flex;flex-direction:column;align-items:flex-start}
.channel-title-row{display:flex;align-items:center;gap:16px}
.insta-icon{width:44px;height:44px;object-fit:cover;flex:none}
.instagram .channel-title{color:var(--red);font-size:38px;line-height:1.5;font-weight:700;white-space:nowrap}
.channel-sub{font-size:12px;line-height:1.4;font-weight:500;color:var(--gray)}
.insta-sub{font-size:22px;line-height:1.5;color:var(--blue);margin-top:1px}
.line{border:3px solid var(--green-border);border-radius:20px;padding:26px;gap:13px;justify-content:center}
.line-icon{width:83px;height:83px;object-fit:cover;border-radius:12px;flex:none}
.line-copy{height:63px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:175px}
.line .channel-title{color:var(--green);font-size:34px;line-height:1.1;font-weight:700;white-space:nowrap}
.line .channel-sub{margin-top:3px}
.watermark{position:absolute;top:942px;left:50%;transform:translateX(-50%);color:var(--brown);opacity:.3;font-size:12px;line-height:1;font-weight:700;text-align:center}

@media (max-width: 767px){
  .stage{width:100%;height:874px;min-height:874px}
  .brand{top:108px;width:336px;height:70px}
  .brand img{width:336px;height:70px;object-fit:cover}
  .message-block{top:218px;width:362px;max-width:calc(100% - 40px)}
  .message-block h1{font-size:24px;line-height:1.4;white-space:nowrap}
  .message-block p{margin-top:16px;font-size:14px;line-height:1.55}
  .social-block{top:374px;width:362px;max-width:calc(100% - 40px)}
  .callout{margin:0 0 40px;font-size:14px;line-height:20px;white-space:nowrap}
  .channels{display:flex;flex-direction:column;gap:16px}
  .channel{height:80px;width:100%}
  .instagram{border-width:2px;border-radius:16px;padding:16px;gap:16px}
  .insta-girl{width:28px;height:48px}
  .insta-icon{width:20px;height:20px}
  .channel-title-row{gap:8px}
  .instagram .channel-title{font-size:18px;line-height:1.4}
  .insta-sub{font-size:12px;line-height:1.4;margin-top:4px}
  .line{border-width:2px;border-color:var(--green);border-radius:16px;padding:13px 16px;gap:16px;justify-content:flex-start}
  .line-icon{width:54px;height:54px;border-radius:8px}
  .line-copy{width:auto;height:46px;gap:4px}
  .line .channel-title{font-size:18px;line-height:1.4}
  .line .channel-sub{font-size:12px;line-height:1.4;margin-top:0}
  .watermark{top:690px;font-size:12px}
}

@media (max-width: 401px){
  .brand{width:calc(100% - 66px);height:auto}
  .brand img{width:100%;height:auto}
  .message-block,.social-block{max-width:calc(100% - 40px)}
  .message-block h1{font-size:clamp(21px,6vw,24px)}
  .callout{font-size:clamp(12px,3.5vw,14px)}
}
@media (prefers-reduced-motion:reduce){.channel{transition:none}}
