@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Outfit:wght@400;500;600&display=swap');
:root{--bg:#fffdf9;--ink:#262821;--muted:#71736d;--sage:#7d9972;--sage-dark:#5e7e57;--sage-light:#eef3e9;--cream:#f7efe5;--line:#e9e4dc;--shadow:0 22px 60px rgba(62,58,49,.11)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Noto Sans JP",sans-serif;line-height:1.8}a{text-decoration:none;color:inherit}.shell{width:min(1160px,calc(100% - 40px));margin:auto}.section{padding:95px 0}.soft{background:#fbfaf7}.muted{color:var(--muted)}
.header{position:sticky;top:0;z-index:20;height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100vw - 1160px)/2));background:rgba(255,255,255,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,0,0,.03)}
.logo{display:flex;align-items:center;gap:12px;font:500 2rem "Outfit",sans-serif;letter-spacing:.06em}.mark{font-size:2rem;color:var(--sage-dark);transform:rotate(-10deg)}.nav{display:flex;align-items:center;gap:36px;font-size:.84rem;font-weight:500}.nav a:hover{color:var(--sage-dark)}.pill{padding:10px 18px;border-radius:999px;background:var(--sage-light)}.menu{display:none;border:0;background:none}.menu span{display:block;width:22px;height:2px;background:var(--ink);margin:5px}
.hero{min-height:665px;display:grid;grid-template-columns:1fr 1.08fr;gap:55px;align-items:center}.hero-copy{padding:90px 0}.hero h1{margin:0;font-size:clamp(2.7rem,4.4vw,4.45rem);line-height:1.4;letter-spacing:-.045em}.hero-copy>p{margin:32px 0;color:var(--muted);font-size:1.03rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:14px 25px;border-radius:999px;font-weight:500;transition:.2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--sage-dark);color:white}.outline{border:1px solid var(--sage-dark);color:var(--sage-dark);font-size:.78rem}
.hero-visual{position:relative;height:660px}.blob{position:absolute;width:680px;height:680px;right:-200px;top:-55px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#f5eadd,#fcf8f1 60%,transparent 61%)}
.phone{position:absolute;top:35px;width:260px;height:535px;border:7px solid #171815;border-radius:39px;background:white;box-shadow:0 30px 60px rgba(28,27,24,.24);overflow:hidden}.phone-a{left:45px;z-index:3}.phone-b{right:10px;top:95px;z-index:2}.notch{position:absolute;z-index:2;top:7px;left:50%;transform:translateX(-50%);width:92px;height:21px;border-radius:13px;background:#151513}.screen{padding:33px 14px 20px;font-size:.7rem}.screen-head{display:flex;justify-content:space-between;margin-bottom:15px}.card{padding:15px;border-radius:14px;background:#fafafa;margin-bottom:12px}.card.green{background:#f0f3eb}.card>small,.card>strong{display:block}.card.green>small,.card.green>strong{text-align:center}.card.green>strong{font-size:1.1rem}.twocol{display:grid;grid-template-columns:1fr 1fr;margin-top:12px;text-align:center}.twocol small,.twocol b{display:block}.card p{margin:5px 0}.card>strong{font-size:1.1rem}.card button{width:100%;margin-top:10px;padding:8px;border:0;border-radius:10px;background:#edf1e8}.recent>b{display:block;margin:12px 0}.recent>div{display:flex;justify-content:space-between;padding:9px;border-bottom:1px solid var(--line)}
.donut{width:145px;height:145px;margin:25px auto;border-radius:50%;background:conic-gradient(#759369 0 26%,#acc09f 26% 39%,#efcf91 39% 53%,#dfb66f 53% 65%,#e6ddd0 65%);display:grid;place-items:center;position:relative}.donut:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;background:white}.donut div{position:relative;z-index:1;text-align:center}.donut small,.donut strong{display:block}.legend{list-style:none;padding:0}.legend li{display:grid;grid-template-columns:1fr auto 30px;gap:6px;padding:8px 0;border-bottom:1px solid var(--line);font-size:.58rem}.legend small{text-align:right;color:var(--muted)}
.section-title{text-align:center;margin-bottom:45px}.section-title h2{margin:0;font-size:2rem}.section-title i{display:block;width:40px;height:2px;background:var(--sage-dark);margin:12px auto}.section-title p{color:var(--muted)}
.product-card{display:grid;grid-template-columns:1.2fr 1fr auto;gap:38px;align-items:center;padding:32px;background:white;border-radius:22px;box-shadow:0 12px 35px rgba(57,55,49,.05)}.product-main{display:flex;gap:20px}.app-icon{width:95px;height:95px;flex:none;display:grid;place-items:center;border-radius:20px;background:linear-gradient(145deg,#c9d6bc,#edf1e7);font-size:2.6rem;color:white}.product-main h3{margin:0 0 8px;font-size:1.35rem}.product-main p{margin:6px 0;font-size:.83rem}.status{display:inline-block;margin-top:7px;padding:5px 10px;border-radius:999px;background:#f3f0e9;font-size:.68rem;color:var(--muted)}.feature-list p{margin:10px 0;font-size:.82rem}
.about{background:linear-gradient(#fffdf9,#faf5ec)}.about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;text-align:center}.circle{width:65px;height:65px;margin:auto;display:grid;place-items:center;border:1px solid #ded8ca;border-radius:50%;font-size:1.2rem;color:var(--sage-dark)}.about-grid h3{margin:18px 0 7px}.about-grid p{color:var(--muted);font-size:.8rem}
.contact{padding:55px 0;background:white}.contact-grid{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:50px}.contact-grid>div+div{border-left:1px solid var(--line);padding-left:50px}.contact h2{font-size:1.2rem;margin:0 0 15px}.contact p{font-size:.78rem;color:var(--muted)}.contact ul{list-style:none;margin:0;padding:0}.contact li{margin:14px 0;font-size:.8rem}.footer-logo{font-size:1.8rem}footer{padding:14px;text-align:center;background:var(--sage-dark);color:white;font-size:.68rem}
.page{width:min(880px,calc(100% - 40px));margin:80px auto}.page h1{font-size:2rem}.page h2{margin-top:40px}.page p,.page li{font-size:.9rem;color:var(--muted)}
@media(max-width:900px){.menu{display:block}.nav{display:none;position:absolute;top:82px;left:20px;right:20px;flex-direction:column;align-items:stretch;padding:24px;background:white;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.nav.open{display:flex}.hero{grid-template-columns:1fr;text-align:center}.hero-copy{padding-bottom:25px}.hero-visual{height:570px;width:min(600px,100%);margin:auto}.product-card{grid-template-columns:1fr}.outline{justify-self:start}.about-grid{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}.contact-grid>div+div{border-left:0;border-top:1px solid var(--line);padding:30px 0 0}}
@media(max-width:600px){.shell{width:min(100% - 28px,1160px)}.header{height:72px;padding:0 14px}.logo{font-size:1.55rem}.nav{top:72px}.hero{min-height:0}.hero-copy{padding-top:60px}.hero h1{font-size:2.3rem}.desktop{display:none}.hero-visual{height:480px}.blob{width:430px;height:430px;right:-150px}.phone{width:195px;height:410px;border-radius:29px}.phone-a{left:0}.phone-b{right:0;top:65px}.notch{width:70px;height:16px}.screen{padding:26px 10px 12px;font-size:.53rem}.donut{width:110px;height:110px}.donut:after{width:68px;height:68px}.section{padding:70px 0}.product-card{padding:24px}.product-main{flex-direction:column}.app-icon{width:78px;height:78px}}

.app-icon{
  overflow:hidden;
  background:#fff;
}
.app-icon img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* Kasane app icon */
.app-icon {
  overflow: hidden;
  background: #fff;
  padding: 6px;
}
.app-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  border-radius: 14px;
}

/* Product card: detail button removed */
.product-card {
  grid-template-columns: 1.35fr 1fr;
}

/* Development mockup notice */
.mock-note{
  position:absolute;
  right:20px;
  bottom:28px;
  z-index:5;
  font-size:.68rem;
  color:var(--muted);
  background:rgba(255,255,255,.78);
  padding:5px 10px;
  border-radius:999px;
}
@media(max-width:600px){
  .mock-note{
    right:8px;
    bottom:10px;
    font-size:.58rem;
  }
}
