/* 紹介ページだけに適用。認証画面・アプリのスタイルには影響させない。 */
.landing{background:#f3efe7;color:#34303b;line-height:1.9}.landing main{max-width:1120px;padding:0 32px 64px}.site-header,.site-footer{max-width:1120px;margin:auto;padding:26px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.landing .brand{text-decoration:none;color:#43364f;font-weight:700;font-size:23px;letter-spacing:.04em}.landing .brand img{width:42px;height:42px;border-radius:14px}.account-link{font-size:14px;text-underline-offset:5px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;padding:72px 0 88px}.eyebrow{font-size:13px;letter-spacing:.15em;color:#756780;margin:0 0 16px}.hero h1{font-size:clamp(40px,5vw,64px);letter-spacing:.08em;font-weight:800;margin:0 0 28px}.intro{font-size:23px;line-height:1.8;margin-bottom:18px}.intro-secondary{font-size:17px;color:#655d6b}.hero-link{margin-top:20px}.landing .button,.landing button{background:var(--cta-color);border-radius:8px;padding:13px 30px}.schedule-demo{background:#fff;padding:26px;border:1px solid #e6dfee;border-radius:24px;box-shadow:0 24px 65px #5c427314;transform:rotate(1deg)}.demo-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;font-size:20px;font-weight:600}.example-label{font-size:12px;font-weight:400;color:#746b7b;background:#f4f1f7;padding:2px 10px;border-radius:20px}.illustration-definitions{position:absolute;width:0;height:0}.demo-row{display:flex;gap:18px;align-items:center;padding:14px 0;border-top:1px solid #f0edf2;font-size:19px}.demo-picture{width:95px;height:76px;border-radius:12px;flex-shrink:0}.demo-picture svg{width:100%;height:100%}.lilac{background:#eee7f5}.sage{background:#e8efea}.sand{background:#f1ede2}.peach{background:#f5eae3}.done-label{margin-left:auto;font-size:13px;color:#506a5c;padding:4px 10px;background:#edf3ed;border-radius:20px;white-space:nowrap}.feature-section{padding:56px 0 76px;border-top:1px solid #e8e2ec}.section-heading h2{font-size:28px;font-weight:600;letter-spacing:.03em;margin:6px 0 28px}.feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.feature{background:#fff;border:1px solid #e9e3ed;border-radius:16px;padding:22px}.feature-number{font-size:12px;letter-spacing:.1em;color:#8b7b9a}.feature h3{font-size:19px;margin:8px 0 22px;font-weight:500}.mini-pictures{display:flex;gap:8px}.mini-pictures svg{width:calc(50% - 4px);height:92px;border-radius:8px}.completion-example{display:flex;align-items:center;gap:10px}.completion-example svg{width:90px;height:92px;border-radius:8px}.completion-example span{font-size:13px;color:#506a5c;white-space:nowrap}.change-example{display:flex;gap:8px;align-items:center}.change-example>div{flex:1;min-width:0;text-align:center;font-size:13px}.change-example svg{width:100%;height:70px;border-radius:8px}.change-arrow{color:#82708f}.cancel-example{position:relative;width:96px;height:78px;margin:auto}.cancel-example>svg{width:100%;height:100%;border-radius:8px}.cancel-example .no-mark{position:absolute;inset:0;fill:none;stroke:#a66368;stroke-width:7}.cancel-caption{display:block;text-align:center;font-size:13px;margin-top:7px}.example-note{font-size:12px;color:#756e7a;margin-top:18px}.purchase-section{background:#f0ebf5;border:1px solid #d3c5df;border-radius:24px;padding:48px;margin:0 0 40px;scroll-margin-top:24px}.purchase-section>p{max-width:680px}.purchase-details{border-top:1px solid #dcd2e5;margin-top:32px;padding-top:12px;font-size:15px;color:#5f5668;max-width:780px}.preparation-note{font-size:13px;color:#665d70;margin-top:28px}.storage-section{padding:16px 8px;max-width:800px}.storage-section h2{font-weight:500;font-size:22px}.storage-section p{font-size:15px;color:#655d6b}.site-footer{border-top:1px solid #e8e2ec;font-size:13px;color:#756780}.site-footer a{text-underline-offset:4px}.landing a:focus-visible,.landing button:focus-visible{outline:3px solid #9c7abd;outline-offset:5px}
@media(max-width:900px){.hero{gap:30px}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.intro{font-size:20px}.schedule-demo{padding:20px}.demo-picture{width:72px}.demo-row{gap:12px;font-size:17px}.done-label{padding:3px 7px;font-size:12px}}
@media(max-width:600px){.site-header{padding:20px}.landing .brand{font-size:18px;gap:8px}.landing .brand img{width:34px;height:34px;border-radius:12px}.account-link{font-size:12px;max-width:110px;text-align:right}.landing main{padding:0 20px 36px}.hero{grid-template-columns:1fr;gap:32px;padding:40px 0 48px}.hero h1{font-size:42px;margin-bottom:22px}.intro{font-size:20px}.hero-link{margin-top:12px}.schedule-demo{transform:none;padding:22px}.demo-picture{width:84px}.feature-section{padding:40px 0}.section-heading h2{font-size:23px}.feature-grid{gap:10px}.feature{padding:16px 12px}.feature h3{margin-bottom:14px}.mini-pictures svg{height:72px}.completion-example{gap:5px}.completion-example svg{width:65px;height:72px}.completion-example span{font-size:11px}.purchase-section{padding:26px 22px;border-radius:18px}.purchase-details{font-size:14px}.site-footer{padding:24px 20px;align-items:flex-start;flex-direction:column;gap:8px}.done-label{margin-left:auto}}
@media(max-width:600px){.site-header{gap:10px}.account-link{font-size:11px;max-width:none;white-space:nowrap}}

/* 見本の削除後は紹介文を1列で表示する。 */
.landing .hero{grid-template-columns:1fr;max-width:760px;padding-bottom:64px}.landing .hero-copy{max-width:680px}

/* 利用者が撮影した実画面を端末別に掲載。 */
.app-description{padding:0 0 32px;max-width:760px}
.app-description ul{margin:0;padding-left:1.4em}
.app-description li{margin:10px 0}
#purchase-hero{margin-top:18px}
.screens-section{border-top:1px solid #ded6ca;padding:40px 0 16px}
.device-screens{margin:0 0 56px}
.device-screens h2{font-size:28px;font-weight:700;margin:0 0 22px}
.screens-grid{display:grid;gap:24px;align-items:start}
.screens-phone{grid-template-columns:repeat(4,minmax(0,1fr))}
.screens-ipad{grid-template-columns:repeat(2,minmax(0,1fr))}
.screens-grid figure{margin:0;min-width:0}
.screens-grid figcaption{font-size:16px;font-weight:700;color:#655d6b;margin-bottom:12px}
.screens-grid a{display:block;padding:6px;border:1px solid #d8cfc1;border-radius:18px;background:#fffdf9;box-shadow:0 8px 24px rgba(83,66,45,.12)}
.screens-grid img{display:block;width:100%;height:auto;border-radius:12px}
@media(max-width:600px){.screens-grid{gap:18px}.screens-phone{grid-template-columns:repeat(2,minmax(0,1fr))}.screens-ipad{grid-template-columns:1fr}.device-screens{margin-bottom:36px}.device-screens h2{font-size:25px}.screens-grid a{padding:4px;border-radius:14px}.screens-grid img{border-radius:10px}}

/* 冒頭には実際のアプリ画面を掲載。スマホではCTAの下に配置。 */
.landing .hero{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);max-width:none;gap:40px}
.hero-app-screens{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:18px;align-items:start}
.hero-app-screens figure{margin:0;min-width:0}
.hero-app-screens img{display:block;width:100%;height:auto;border:1px solid #d8cfc1;border-radius:16px;box-shadow:0 10px 28px rgba(83,66,45,.15)}
.hero-app-screens figcaption{margin:0 0 12px;text-align:center;font-size:14px;color:#655d6b}
@media(max-width:900px){.landing .hero{grid-template-columns:1fr;gap:28px}.hero-app-screens{max-width:480px;width:100%}}
@media(max-width:600px){.hero-app-screens{max-width:340px;gap:14px}.hero-app-screens img{border-radius:12px}}
/* スマホの購入済みリンクと、冒頭の文字の間隔を調整。 */
.hero-copy .eyebrow{margin-bottom:10px}
.hero-copy h1{line-height:1.3;margin-bottom:18px}
.hero-copy .intro{margin:0 0 12px;line-height:1.65}
.hero-copy .intro-secondary{margin:0;line-height:1.65}
@media(max-width:600px){.landing .brand{flex-shrink:0}.account-link{font-size:16px;white-space:normal;line-height:1.5;max-width:150px}.hero-copy h1{margin-bottom:16px}}
/* スマホの購入CTAは中央に置き、タップしやすい大きさにする。 */
@media(max-width:600px){.landing #purchase-hero,.landing #purchase{display:block;width:100%;max-width:280px;min-height:56px;margin-left:auto;margin-right:auto;font-size:19px;padding:15px 24px}}

.trial-price{margin:18px 0 10px;font-size:16px;color:#43364f}.trial-price strong{font-size:26px;font-weight:800;white-space:nowrap}

.trial-price>span{display:block}
@media(max-width:600px){.trial-price{text-align:center}}

/* 価格と購入操作のまとまりを、白地と紫のアクセントで明確にする。 */
.purchase-offer{max-width:380px;margin:24px 0 0;padding:20px 24px;background:#fffdf9;border:1px solid #d3c5df;border-radius:18px;box-shadow:0 6px 20px rgba(83,66,45,.08)}
.purchase-offer .trial-price{margin:0 0 16px}
.purchase-offer .trial-price>span:first-child{display:table;padding:3px 12px;margin-bottom:8px;border-radius:20px;background:#eeeafb;color:#705888;font-size:14px;font-weight:700}
.purchase-offer .trial-price>span:last-child{font-size:14px}
.purchase-offer .trial-price strong{font-size:40px;line-height:1.3;color:#705888;letter-spacing:.01em}
.purchase-offer #purchase-hero{margin-top:0}
@media(max-width:600px){.purchase-offer{margin-left:auto;margin-right:auto;padding:20px 16px}.purchase-offer .trial-price>span:first-child{margin-left:auto;margin-right:auto}}
