/* 配置の正本: ref/pc-*.png (1440px) / ref/sp-*.png (390px), 2026-11-03。
   色は theme-simpleai.css、本文は BRIEF.md。姉妹LPのワードマーク・フォームを移植。 */
*{box-sizing:border-box}
html{scroll-padding-top:24px}
body{margin:0;color:var(--ink);background:var(--page);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:14px;line-height:1.75;overflow-wrap:anywhere}
h1,h2,h3,h4,p,figure,dl,dd{margin:0}
a{color:inherit}
button,input{font:inherit}
button,summary{cursor:pointer}
button{color:inherit}
img{max-width:100%;height:auto;display:block}
em{font-style:normal;color:var(--accent-ink)}
[hidden]{display:none!important}
a,button,summary,input{touch-action:manipulation}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:5px}
.container{width:min(1200px,calc(100% - 48px));margin-inline:auto;position:relative}
.sp-only{display:none}
.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip-link:focus{position:fixed;left:12px;top:12px;z-index:100;background:#fff;padding:12px}
.button{display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:48px;border-radius:40px;padding:10px 26px;text-decoration:none;font-weight:700;line-height:1.4;transition:opacity .15s}
.button:hover,.pill:hover{opacity:.82}
.button-solid{background:var(--accent);color:var(--accent-on);box-shadow:0 7px 16px rgb(217 80 63 / 16%)}
.button-white{background:var(--surface);color:var(--accent-ink)}
.download-mark{display:inline-flex;justify-content:center;align-items:center;flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:rgb(255 255 255 / 24%);font-size:19px}
.pill{display:flex;justify-content:center;align-items:center;gap:15px;width:max-content;min-height:52px;margin-inline:auto;padding:13px 30px;border:0;border-radius:40px;background:#1b1b1b;color:#fff;font-weight:700;text-align:center;text-decoration:none;line-height:1.5}
.pill::marker,summary::marker{content:""}
summary{list-style:none}
summary::-webkit-details-marker{display:none}
.section-heading{color:var(--accent-ink);font-size:24px;line-height:1.5;font-weight:800;text-align:center}
.section-heading>span{display:block;margin-bottom:10px;color:var(--ink);font-size:18px;font-weight:400;line-height:1.5;letter-spacing:.28em}
.section-heading::after{content:"";display:block;width:54px;height:2px;background:var(--accent);margin:9px auto 0}

/* 姉妹LPのヘッダー・ワードマーク。参考の2段構成と寸法へ合わせる。 */
.wordmark{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;gap:0;font-size:22px;line-height:1;font-weight:800;letter-spacing:-.06em}
.wordmark-name{color:var(--accent-ink)}
.wordmark-service{color:var(--ink);font-size:.78em;letter-spacing:-.075em}
.brand{display:inline-flex;text-decoration:none}
.header{height:115px;position:relative;background:var(--surface);z-index:10}
.corporate-bar{height:42px;background:#f6f7f7;border-bottom:1px solid #eceeee}
.corporate-bar>div{height:100%;width:min(1088px,calc(100% - 48px));margin-inline:auto;display:flex;align-items:center;justify-content:space-between}
.corporate-brand{font-weight:800;font-size:15px;color:var(--accent-ink)}
.corporate-bar span{display:flex;gap:28px;font-size:11px}
.corporate-bar a{text-decoration:none}
.header-inner{width:min(1200px,calc(100% - 48px));height:73px;margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
#main-nav{display:flex;align-items:center;gap:25px;font-size:13px;font-weight:700}
#main-nav>a{text-decoration:none;white-space:nowrap}
.header-contact{color:var(--accent-ink);box-shadow:0 3px 16px rgb(0 0 0 / 8%);padding-inline:25px}
.header-download{padding-inline:22px}
.menu-toggle{display:none}

/* ヒーロー: 115→1015。 */
.hero{overflow:clip;min-height:900px;background:linear-gradient(180deg,#fff1ec 0%,#fff8f5 55%,#fff 100%)}
.hero-inner{width:min(1140px,calc(100% - 48px));height:900px;margin:auto;position:relative}
.hero h1{position:absolute;top:43px;left:0;font-size:44px;line-height:1.35;font-weight:900;letter-spacing:-.035em}
.proofs{position:absolute;right:0;top:43px;display:grid;grid-template-columns:repeat(3,160px);gap:25px}
.proof{height:88px;background:url("assets/wreath.jpg") center/100% 100% no-repeat;text-align:center;font-weight:800;line-height:1.15;padding-top:5px;mix-blend-mode:multiply}
.proof>span{font-size:19px}
.proof strong{display:block;font-size:30px;color:var(--accent-ink);margin-top:6px;white-space:nowrap}
.proof small{font-size:14px}
.hero-note{position:absolute;top:129px;right:90px;color:var(--muted);font-size:11px}
.hero-ghosts{position:absolute;top:320px;left:50%;transform:translateX(-50%);width:calc(100vw - 12px);max-width:1440px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;opacity:.13;pointer-events:none}
.hero-ghosts>div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:#fff;border-radius:10px;height:116px;font-size:15px}
.hero-visual{position:absolute;width:1000px;left:50%;top:150px;transform:translateX(-50%);mix-blend-mode:multiply}
.hero-visual>img{width:100%;height:auto}
.hero-screen{position:absolute;left:15.4%;top:18%;width:60%;height:53%;padding:6% 5%;text-align:left;color:var(--ink);line-height:1.5}
.screen-caption{font-size:15px;color:var(--accent-ink);font-weight:700}
.hero-screen>b{display:block;font-size:36px;letter-spacing:-.035em;margin:15px 0 22px}
.hero-screen>div{display:flex;align-items:center;gap:14px;font-size:17px}
.hero-screen>div>span{border:1px solid var(--input-border);border-radius:8px;padding:10px 14px;background:var(--surface)}
.hero-screen i{font-style:normal;color:var(--accent)}
.hero-phone-copy{position:absolute;left:76%;top:43%;width:18%;text-align:center;line-height:1.45}
.hero-phone-copy b{font-size:25px;color:var(--accent-ink)}
.hero-phone-copy>span{display:block;margin-top:20px;font-size:16px}
.hero-image-note{position:absolute;right:145px;bottom:123px;font-size:10px;color:var(--muted)}
.hero-bottom{position:absolute;bottom:40px;left:0;width:100%;text-align:center;font-size:14px}

/* 制作見本の帯: 1015→1542。画像は生成素材。 */
.intro{min-height:527px;padding:96px 0 35px;text-align:center}
.sample-strip{display:flex;gap:32px;justify-content:center;max-width:1300px;margin:auto;height:275px;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.sample-strip figure{flex:0 0 150px;height:264px;overflow:hidden;border-radius:10px 10px 0 0;background:#fff8f4}
.sample-strip img{width:150px;height:154px;object-fit:cover}
.sample-strip figcaption{padding:18px 8px;font-size:11px;line-height:2;text-align:left}
.strip-card{text-align:left;padding:16px 12px;background:linear-gradient(160deg,#fff0e9,#fff)!important}
.strip-card>span{display:block;font-size:10px;color:var(--accent-ink);border-bottom:1px solid var(--input-border);padding-bottom:12px}
.strip-card>b{display:block;font-size:18px;line-height:1.5;margin-top:20px}
.strip-card>p{font-size:11px;line-height:1.8;margin-top:25px}
.intro h2{font-size:21px;margin-top:25px;line-height:1.55}
.intro-link{display:inline-block;font-size:13px;margin-top:11px;color:var(--link);text-underline-offset:4px}

/* CTA: 1542→1852。 */
.action{min-height:310px;color:#fff;background-color:var(--accent);background-image:repeating-linear-gradient(45deg,transparent 0 90px,rgb(255 255 255 / 5%) 90px 180px),repeating-linear-gradient(-45deg,transparent 0 120px,rgb(255 255 255 / 4%) 120px 240px)}
.action>.container{min-height:310px;padding-top:58px}
.action h2{text-align:center;font-size:30px;line-height:1.5}
.action-buttons{display:flex;justify-content:center;gap:20px;margin-top:31px;position:relative;z-index:1}
.action-buttons .button{width:330px;min-height:73px;font-size:19px}
.action-buttons .button-solid{background:var(--cta-start)}
.action-buttons .download-mark{background:#fff;color:var(--accent);width:34px;height:34px;flex-basis:34px}
.mascot{position:absolute;left:50px;bottom:0;width:170px;height:170px;object-fit:contain;mix-blend-mode:normal}

/* 4つの理由: 1852→2552。SPは中央画像、2×2カード。 */
.service{min-height:700px;padding:112px 0 50px}
.reason-map{position:relative;width:min(810px,100%);height:390px;margin:63px auto 0}
.service-center{position:absolute;left:50%;transform:translateX(-50%);top:10px;width:300px;text-align:center}
.service-center h3{position:absolute;top:48px;left:32px;width:calc(100% - 64px);font-size:24px;line-height:1.3;z-index:1}
.service-center img{width:300px;height:300px;object-fit:contain}
.reason-grid{display:grid;grid-template-columns:220px 220px;justify-content:space-between;gap:65px 0}
.reason{position:relative;text-align:center;z-index:2;min-height:175px}
.reason h3{display:flex;align-items:center;justify-content:center;gap:9px;min-height:57px;border-radius:40px;background:var(--surface);box-shadow:0 8px 24px rgb(40 60 60 / 9%);font-size:18px;line-height:1.3}
.reason p{font-size:14px;line-height:1.9;margin-top:14px}
.reason a{display:inline-block;margin-top:11px;color:var(--muted);font-size:13px;font-weight:700;text-underline-offset:7px}
.reason-3,.reason-4{margin-top:0}
.reason::after{content:"";position:absolute;top:25px;right:-54px;width:64px;height:28px;border-top:8px solid var(--band);transform:rotate(35deg);transform-origin:left center;z-index:-1}
.reason:nth-child(even)::after{right:auto;left:-54px;transform:rotate(-35deg);transform-origin:right center}
.reason:nth-child(n+3)::after{transform:rotate(-35deg)}
.reason:nth-child(4)::after{transform:rotate(35deg)}
.icon{display:block;flex-shrink:0;width:64px;height:64px;background-image:url("assets/icon-sheet.jpg");background-repeat:no-repeat;background-size:400% 300%;mix-blend-mode:multiply}
.icon-0{background-position:0% 0%}
.icon-1{background-position:33.333% 0%}
.icon-2{background-position:66.666% 0%}
.icon-3{background-position:100% 0%}
.icon-4{background-position:0% 50%}
.icon-5{background-position:33.333% 50%}
.icon-6{background-position:66.666% 50%}
.icon-7{background-position:100% 50%}
.icon-8{background-position:0% 100%}
.icon-9{background-position:33.333% 100%}
.icon-10{background-position:66.666% 100%}
.icon-11{background-position:100% 100%}
.reason .icon{width:42px;height:42px}

/* 3つの特徴: 2552→4515。 */
.features{min-height:1963px;padding:112px 0 76px;background:linear-gradient(115deg,#fff8f6,#fff2ed 55%,#fff7f4)}
.features .container{width:min(1240px,calc(100% - 48px))}
.feature-list{margin-top:57px;display:grid;gap:60px}
.feature{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:45px;min-height:487px}
.feature-art{grid-column:2;grid-row:1;position:relative;width:100%;text-align:center}
.feature-art img{width:100%;max-width:520px;height:445px;object-fit:contain;mix-blend-mode:multiply;margin:auto}
.feature-art figcaption{font-size:10px;color:var(--muted);margin-top:2px}
.feature-copy{grid-column:1;grid-row:1;align-self:center}
.feature-number{display:block;color:var(--accent-ink);font-family:Arial,sans-serif;font-size:32px;line-height:1.3;font-weight:800;margin-bottom:16px}
.feature-copy h3{font-size:20px;line-height:1.65;font-weight:800}
.feature-copy>p{color:var(--muted);font-size:13px;line-height:1.8;margin-top:17px}
.feature-copy dl{margin-top:45px;display:grid;gap:22px}
.feature-copy dl>div{position:relative;padding-left:115px;min-height:76px;display:flex;flex-direction:column;justify-content:center}
.feature-copy .icon{position:absolute;left:10px;top:0;width:80px;height:80px}
.feature-copy dt{font-size:17px;line-height:1.5;color:var(--accent-ink);font-weight:700}
.feature-copy dd{font-size:13px;color:var(--muted);line-height:1.75}
.feature-02 .feature-art{grid-column:1}
.feature-02 .feature-copy{grid-column:2}
.feature-02{min-height:540px}
.feature-03{min-height:487px}

/* 機能の初期プレビューと展開状態。4515→5576。 */
.functions{min-height:1061px;padding:112px 0 35px;background:#fff7f4}
.functions .section-heading{margin-bottom:95px}
.function-window{position:relative;max-height:655px;overflow:hidden;mask-image:linear-gradient(#000 0%,#000 78%,transparent 100%)}
.function-group+.function-group{margin-top:29px}
.function-group>h3{border-left:3px solid var(--accent);padding-left:10px;margin:0 0 16px 30px;font-size:16px;line-height:20px}
.function-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-inline:40px}
.function-card{min-height:189px;padding:16px 20px;background:var(--surface);border-radius:9px;position:relative}
.function-card::after{content:"";position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:50%;background:#fff7f4}
.function-card .icon{width:68px;height:68px;margin-left:-10px}
.function-card h4{font-size:17px;line-height:1.45;color:var(--accent-ink);margin:4px 0 9px}
.function-card p{font-size:13px;color:var(--muted);line-height:1.8}
.function-toggle{position:relative;z-index:1;margin-top:-8px}
.function-note{font-size:10px;color:var(--muted);text-align:center;margin-top:12px}
.functions.is-open .function-window{max-height:none;mask-image:none}
.functions.is-open{padding-bottom:60px}
.functions.is-open .function-toggle{margin-top:30px}

/* 料金: 5576→6270。 */
.plans{min-height:694px;padding:112px 0 76px}
.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;margin-top:64px}
.plan{position:relative;border:1px solid #e6e9e9;border-radius:17px;box-shadow:0 3px 12px rgb(50 65 65 / 6%);min-height:280px;padding:24px 24px 25px}
.plan h3{color:var(--accent-ink);font-size:18px;line-height:1.6}
.plan-price{font-size:30px;font-family:Arial,sans-serif;font-weight:700;line-height:1.5;margin-top:12px}
.plan-price small{font-size:13px;font-weight:400;color:var(--muted)}
.plan-copy{font-size:12px;line-height:1.8;margin-top:9px;min-height:50px}
.plan ul{list-style:none;margin:10px 0 0;padding:0;font-size:12px;line-height:1.8}
.plan li{padding-left:24px;position:relative;margin-top:3px}
.plan li::before{content:"✓";position:absolute;left:0;top:3px;width:16px;height:16px;border-radius:50%;background:var(--pale);color:var(--accent-ink);font-size:11px;font-weight:700;text-align:center;line-height:16px}
.plan li.not-included{color:var(--muted)}
.plan li.not-included::before{content:"×";background:#f0f0f0;color:var(--muted)}
.recommended{border-color:var(--accent);box-shadow:0 0 0 4px var(--pale),0 3px 12px rgb(50 65 65 / 6%)}
.popular{position:absolute;left:50%;top:-13px;transform:translateX(-50%);padding:3px 16px;background:var(--accent-ink);color:#fff;font-size:12px;font-weight:700;border-radius:20px;line-height:23px}
.price-details{margin-top:26px}
.price-expanded{padding:40px 35px 15px;margin-top:30px;border:1px solid var(--input-border);border-radius:16px;background:#fffaf8}
.price-expanded h3{margin:24px 0 18px;color:var(--accent-ink);font-size:20px;scroll-margin-top:24px}
.price-expanded h3:first-child{margin-top:0}
.table-wrap{width:100%;overflow:auto}
table{border-collapse:collapse;width:100%;background:#fff;font-size:14px}
th,td{border:1px solid var(--input-border);padding:13px 18px;text-align:left}
thead th{background:var(--pale)}
tbody th{font-weight:500}
.terms,.initial-list,.flow{padding-left:24px;font-size:13px;line-height:1.9}
.terms li,.initial-list li,.flow li{margin-top:8px}
.initial-list{columns:2;column-gap:36px}
.initial-list li{break-inside:avoid}

/* 導入事例: 6270→7032。 */
.study{min-height:762px;padding:75px 0 70px}
.study-track{display:flex;gap:30px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:64px 24px 0;overscroll-behavior-inline:contain}
.study-track::-webkit-scrollbar{display:none}
.study-card{flex:0 0 calc((100% - 60px)/3);scroll-snap-align:start;min-width:0;border-radius:20px;overflow:hidden;min-height:363px;box-shadow:0 2px 4px rgb(0 0 0 / 2%)}
.study-art{display:block;position:relative;height:205px;background:var(--pale);overflow:hidden;text-decoration:none}
.study-art>img{width:100%;height:100%;object-fit:cover}
.study-art>span{position:absolute;left:20px;top:23px;max-width:66%;color:var(--ink);line-height:1.4}
.study-art small{font-size:9px;display:block;margin-bottom:17px}
.study-art b{font-size:24px;letter-spacing:-.04em;background:rgb(255 244 238 / 78%);box-shadow:5px 0 rgb(255 244 238 / 78%)}
.study-own>img{width:62%;margin-left:42%;object-fit:contain;mix-blend-mode:multiply}
.study-body{padding:20px 24px;font-size:12px;line-height:1.65}
.tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:11px}
.tags>span{border-radius:20px;background:var(--pale);color:var(--link);font-size:11px;padding:3px 12px;white-space:nowrap}
.study-body h3{font-size:16px;line-height:1.5}
.study-body>p:not(.tags){margin-top:8px;font-size:12px}
.study-body>a{display:inline-block;margin-top:8px;color:var(--link)}
.carousel-controls{display:flex;gap:36px;justify-content:center;margin-top:0}
.carousel-controls button{width:36px;height:36px;border:0;border-radius:50%;background:#f3f3f3;color:#777;font-size:32px;font-family:Arial,sans-serif;line-height:1}
.carousel-controls button:disabled{opacity:.3;cursor:default}
.study-more{margin-top:32px}

/* FAQ: 7032→7522。 */
.faq{min-height:490px;padding:80px 0 55px}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:64px;align-items:start}
.faq-item{background:var(--surface);border:1px solid #e7e9e9;box-shadow:0 12px 34px rgb(40 50 50 / 7%);border-radius:19px;overflow:hidden}
.faq-item summary{position:relative;display:flex;align-items:center;gap:19px;min-height:78px;padding:15px 48px 15px 24px;color:#1d2b3a;font-size:16px;font-weight:700;line-height:1.65}
.q{width:42px;height:42px;flex:0 0 42px;border-radius:50%;background:var(--accent);color:#fff;font:700 16px/42px Arial,sans-serif;text-align:center}
.chevron{position:absolute;right:29px;top:35px;width:9px;height:9px;transform:rotate(45deg);border-right:2px solid var(--accent);border-bottom:2px solid var(--accent)}
details[open] .chevron{transform:rotate(225deg)}
.faq-answer{padding:0 28px 24px 85px;font-size:14px;line-height:1.9}
.footer{min-height:156px;padding:20px 20px 17px;background:#353535;color:#fff;text-align:center;font-size:12px;font-weight:400;line-height:1.6}
.footer nav{display:flex;justify-content:center;gap:48px;margin-bottom:20px}
.footer a{text-decoration:none}
.footer>a{font-size:11px}
.footer p{font-size:10px;margin-top:13px;color:#ddd}
.footer small{display:block;font-size:10px;margin-top:5px;color:#ccc}

/* 姉妹LPのフォーム部品。資料ページでは自然な縦フローへ。 */
.download-page{padding:80px 24px 100px;background:linear-gradient(120deg,#fff8f5,#fff0e9);min-height:calc(100vh - 271px)}
.contact-card{width:min(950px,100%);margin-inline:auto;padding:50px 65px;background:var(--surface);box-shadow:0 4px 15px var(--shadow);border-radius:15px}
.contact h1{font-size:30px;line-height:1.6;color:var(--accent-ink);text-align:center}
.contact-copy{margin:22px 0 35px;text-align:center;font-size:14px;line-height:1.9;font-weight:400}
.contact-copy a{color:var(--link)}
.contact-form{position:relative}
.contact-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.contact-fields label{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:12px;white-space:nowrap}
.contact-fields input{width:100%;min-width:0;height:44px;padding:8px 10px;border:1px solid var(--input-border);border-radius:6px;color:var(--input-ink);background:var(--input);font-size:16px;font-weight:400}
.contact-fields input::placeholder{color:var(--muted);opacity:1}
.form-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:26px;font-size:12px;font-weight:400}
.privacy{display:flex;align-items:center;flex-wrap:wrap;gap:4px;min-height:44px}
.privacy input{margin:0;width:18px;height:18px}
.privacy a{color:var(--link);text-decoration:underline}
.form-bottom>div{display:flex;align-items:center;gap:10px}
.form-bottom button{min-height:48px;padding:10px 25px;border:0;border-radius:30px;color:var(--cta-on);background:var(--cta-start);font-size:15px;font-weight:700}
.form-bottom button:disabled{opacity:.65}
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-result{text-align:center;padding:24px 0}
.contact-result-message{font-size:17px;line-height:1.8}
.contact-result-actions{display:flex;justify-content:center;gap:12px;margin-top:24px;flex-wrap:wrap}
.contact-result-actions a{display:block;min-height:48px;padding:12px 20px;border-radius:30px;background:var(--cta-start);color:var(--cta-on);font-size:14px;text-decoration:none}
.guide-fallback{margin-top:18px;font-size:13px;color:var(--link)}
.form-error{margin-top:20px;padding:12px;background:var(--pale);color:var(--danger);font-size:14px}
.form-error a{font-weight:700}

@media (min-width:761px) and (max-width:1200px){#main-nav{gap:14px;font-size:12px}
.header-inner{gap:16px}
.header .wordmark{font-size:19px}
.header-contact{display:none}
.hero h1{font-size:38px}
.proofs{grid-template-columns:repeat(3,140px);gap:8px}
.hero-note{right:20px}
.hero-visual{width:min(1000px,100%)}
.hero-screen>b{font-size:clamp(23px,3vw,36px)}
.hero-screen>div{font-size:13px}
.hero-phone-copy b{font-size:22px}
.reason-map{width:100%}
.reason-grid{grid-template-columns:200px 200px}
.service-center{width:280px}
.feature{gap:25px}
.feature-copy dl>div{padding-left:85px}
.feature-copy .icon{width:64px;height:64px;left:0}
.plan{padding:25px 18px}
.plan-copy{min-height:66px}
.study-track{margin-inline:0;gap:20px}
.study-card{flex-basis:calc((100% - 40px)/3)}
.study-body{padding:18px 15px}
.study-art b{font-size:21px}
.faq-item summary{font-size:14px;padding-left:18px;gap:13px}
}

@media(max-width:760px){
 .container{width:calc(100% - 20px)}
.sp-only{display:initial}
.section-heading{font-size:20px;line-height:1.5}
.section-heading>span{font-size:14px;margin-bottom:9px;letter-spacing:.32em}
.section-heading::after{margin-top:9px}
.header{height:65px}
.corporate-bar{display:none}
.header-inner{height:65px;width:calc(100% - 36px);gap:10px}
.wordmark{font-size:21px}
.wordmark-service{font-size:.73em}
.menu-toggle{display:flex;width:44px;height:44px;border:0;background:transparent;padding:10px;flex-direction:column;justify-content:center;gap:5px}
.menu-toggle>span{height:2px;width:22px;background:var(--ink);transition:transform .15s}
.menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded=true]>span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded=true]>span:last-child{transform:translateY(-7px) rotate(-45deg)}
#main-nav{display:none;position:absolute;left:0;right:0;top:65px;flex-direction:column;align-items:stretch;padding:16px 24px 24px;background:var(--surface);box-shadow:0 10px 20px var(--shadow);gap:0;max-height:calc(100dvh - 65px);overflow:auto;font-size:15px}
#main-nav.is-open{display:flex}
#main-nav>a{padding:12px 10px}
#main-nav .button{margin-top:9px}
.header-contact{border:1px solid var(--input-border)}

 .hero{min-height:588px;margin-bottom:32px}
.hero-inner{width:100%;height:588px}
.hero h1{top:30px;left:0;width:100%;text-align:center;font-size:30px;line-height:1.3;letter-spacing:-.035em}
.proofs{top:126px;left:35px;right:35px;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.proof{height:46px;padding-top:0}
.proof>span{font-size:12px}
.proof strong{font-size:20px;margin-top:0;line-height:1.05;letter-spacing:-.04em}
.proof small{font-size:9px}
.hero-note{top:178px;left:12px;right:12px;text-align:center;font-size:10px;line-height:1.7}
.hero-ghosts{top:214px;width:800px;grid-template-columns:repeat(4,1fr);gap:18px}
.hero-ghosts>div{height:95px;font-size:11px}
.hero-visual{top:222px;width:370px;max-width:100%;}
.hero-screen{padding:7% 4%}
.screen-caption{font-size:6px}
.hero-screen>b{font-size:15px;margin:6px 0 10px}
.hero-screen>div{gap:5px;font-size:6px}
.hero-screen>div>span{padding:4px 5px;border-radius:3px}
.hero-phone-copy{top:44%}
.hero-phone-copy b{font-size:11px}
.hero-phone-copy>span{margin-top:6px;font-size:7px}
.hero-image-note{bottom:88px;right:32px;font-size:9px}
.hero-bottom{bottom:17px;left:14px;width:calc(100% - 28px);font-size:13px;line-height:1.65}

 .intro{min-height:309px;padding:0 0 18px}
.sample-strip{height:212px;gap:14px;justify-content:flex-start;padding-left:0}
.sample-strip figure:first-child{margin-left:-50px}
.sample-strip figure{flex-basis:121px;height:210px;border-radius:5px}
.sample-strip img{width:121px;height:122px}
.sample-strip figcaption{padding:11px 8px;font-size:9px}
.strip-card{padding:12px 10px}
.strip-card>span{font-size:9px;padding-bottom:8px}
.strip-card>b{font-size:16px;margin-top:13px}
.strip-card>p{font-size:9px;margin-top:18px}
.intro h2{font-size:16px;line-height:1.45;margin:18px 15px 0}
.intro-link{font-size:11px;margin-top:5px}

 .action{min-height:361px}
.action>.container{min-height:361px;padding-top:38px}
.action h2{font-size:20px;line-height:1.5}
.action-buttons{flex-direction:column;align-items:center;gap:11px;margin-top:22px}
.action-buttons .button{width:min(290px,calc(100% - 30px));min-height:57px;font-size:16px;padding:12px 20px}
.action-buttons .download-mark{width:28px;height:28px;flex-basis:28px}
.mascot{width:105px;height:105px;left:50%;transform:translateX(-50%);bottom:0}

 .service{min-height:908px;padding:40px 0 10px}
.reason-map{height:auto;margin-top:33px}
.service-center{position:relative;left:auto;transform:none;top:auto;width:280px;height:264px;margin:0 auto 12px}
.service-center img{width:280px;height:280px}
.service-center h3{font-size:23px;top:44px}
.reason-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.reason{min-height:230px;border:1px solid #e3e8e8;border-radius:19px;background:var(--surface);padding:16px 9px 20px;box-shadow:0 6px 15px rgb(30 50 50 / 5%);display:flex;flex-direction:column;align-items:center}
.reason h3{flex-direction:column;gap:7px;box-shadow:none;min-height:75px;line-height:1.4;font-size:17px;border-radius:0}
.reason .icon{width:44px;height:44px}
.reason p{font-size:13px;line-height:1.9;margin-top:15px}
.reason a{font-size:12px;line-height:1.6;margin-top:auto;padding-top:16px}
.reason-3,.reason-4{min-height:238px}
.reason::after{display:none}

 .features{min-height:2530px;padding:80px 0 32px}
.features .container{width:calc(100% - 32px)}
.feature-list{margin-top:73px;gap:58px}
.feature{display:flex;flex-direction:column;gap:0;min-height:0;align-items:stretch}
.feature-art{width:100%;height:330px;margin-bottom:52px}
.feature-art img{width:100%;max-width:320px;height:315px;object-fit:contain}
.feature-art figcaption{margin-top:0;font-size:9px}
.feature-copy{width:100%}
.feature-number{font-size:22px;margin-bottom:17px;line-height:1.3}
.feature-copy h3{font-size:16px;line-height:1.65}
.feature-copy>p{font-size:13px;line-height:1.65;margin-top:17px}
.feature-copy dl{margin-top:40px;gap:19px}
.feature-copy dl>div{padding-left:78px;min-height:65px}
.feature-copy .icon{left:0;top:0;width:63px;height:63px}
.feature-copy dt{font-size:15px;line-height:1.5}
.feature-copy dd{font-size:13px;line-height:1.65}
.feature-02 .feature-art{margin-bottom:31px;height:320px}
.feature-02 .feature-art img{height:306px}
.feature-03 .feature-art{height:305px;margin-bottom:24px}
.feature-03 .feature-art img{height:292px}
.feature-03 .feature-copy dl{margin-top:40px}

 .functions{min-height:717px;padding:42px 0 0}
.functions .container{width:calc(100% - 44px)}
.functions .section-heading{margin-bottom:55px}
.function-window{max-height:472px;mask-image:linear-gradient(#000 0%,#000 80%,transparent 100%)}
.function-group>h3{margin:0 0 13px;padding-left:10px;font-size:15px;line-height:18px}
.function-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}
.function-card{min-height:166px;padding:15px 20px}
.function-card .icon{width:63px;height:53px;margin-left:-7px}
.function-card h4{font-size:15px;line-height:1.45;margin:4px 0 9px}
.function-card p{font-size:13px;line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.function-card::after{width:24px;height:24px}
.function-group+.function-group{margin-top:34px}
.function-toggle{margin-top:-8px;min-height:48px;padding:11px 24px;font-size:14px}
.function-note{font-size:9px;line-height:1.6;margin:7px 0 0}
.functions.is-open{padding-bottom:40px}
.functions.is-open .function-card p{display:block}

 .plans{min-height:1074px;padding:40px 0 35px}
.plan-grid{grid-template-columns:1fr;gap:18px;margin-top:34px}
.plan{min-height:250px;padding:25px 24px 25px;border-radius:17px}
.plan h3{font-size:18px}
.plan-price{font-size:30px;margin-top:9px}
.plan-copy{font-size:12px;min-height:0;margin-top:8px;line-height:1.8}
.plan ul{font-size:12px;margin-top:20px}
.plan li{margin-top:5px}
.popular{top:-13px}
.recommended{min-height:280px}
.price-details{margin-top:27px}
.price-details>.pill{font-size:14px;min-height:51px;padding:12px 29px}
.price-expanded{padding:20px 16px 12px;margin-top:26px}
.price-expanded h3{font-size:18px}
.price-expanded th,.price-expanded td{font-size:12px;padding:10px}
.terms,.initial-list,.flow{font-size:12px;padding-left:18px}
.initial-list{columns:auto}

 .study{min-height:604px;padding:25px 0 55px}
.study-track{margin:35px 0 0;gap:18px}
.study-card{flex:0 0 100%;min-height:358px;scroll-snap-align:start}
.study-art{height:208px}
.study-art>span{left:22px;top:24px}
.study-art b{font-size:27px}
.study-art small{font-size:9px}
.study-body{padding:20px 12px 16px}
.study-body h3{font-size:15px}
.study-body>p:not(.tags){font-size:12px;margin-top:7px}
.study-body>a{font-size:12px;margin-top:8px}
.tags{margin-bottom:11px}
.tags>span{font-size:11px}
.carousel-controls{gap:32px;margin-top:4px}
.carousel-controls button{width:36px;height:36px}
.study-more{margin-top:30px;min-height:48px;font-size:14px;padding-inline:26px}

 .faq{min-height:455px;padding:23px 0 10px}
.faq-grid{grid-template-columns:1fr;gap:12px;margin-top:43px}
.faq-item{border-radius:18px}
.faq-item summary{min-height:64px;padding:13px 40px 13px 14px;gap:13px;font-size:13px;line-height:1.8}
.q{width:34px;height:34px;flex-basis:34px;font-size:14px;line-height:34px}
.chevron{right:19px;top:28px;width:8px;height:8px}
.faq-answer{padding:0 19px 18px 61px;font-size:13px;line-height:1.8}
.footer{min-height:235px;padding:19px 20px 21px;font-size:13px}
.footer nav{display:grid;grid-template-columns:1fr 1fr;gap:12px 30px;margin:0 auto 23px;max-width:310px}
.footer>a{font-size:12px}
.footer p{font-size:10px;margin-top:24px}
.footer small{font-size:11px;margin-top:9px}

 .download-page{padding:35px 16px 50px;min-height:0}
.contact-card{padding:30px 20px}
.contact h1{font-size:22px}
.contact-copy{font-size:13px;margin:20px 0 27px}
.contact-fields{grid-template-columns:1fr;gap:20px}
.contact-fields label{font-size:13px;gap:6px}
.contact-fields input{height:48px}
.form-bottom{flex-direction:column;align-items:stretch;gap:18px;margin-top:20px}
.form-bottom>div{display:block}
.form-bottom button{width:100%;min-height:50px}
.privacy{font-size:12px}
.contact-result-actions{flex-direction:column;gap:14px}
.contact-result-message{font-size:15px}

}

@media(max-width:370px){.wordmark{font-size:19px}
.hero h1{font-size:28px}
.proofs{left:24px;right:24px;gap:6px}
.hero-note{font-size:9px}
.reason h3{font-size:16px}
.reason p{font-size:12px}
.feature-copy h3{font-size:15px}
.study-art b{font-size:25px}
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}


/* 機器の後ろに来る4つは、参考と同じく機器に隠れる扱いにする(乗算の重ねで画面に透けるため) */
.hero-ghosts>div:nth-child(2),.hero-ghosts>div:nth-child(3),.hero-ghosts>div:nth-child(6),.hero-ghosts>div:nth-child(7){visibility:hidden}
