/* AI入居時点検（/checksheet）専用。
   色・部品の感じは AI退去立会（/aimi）とそろえている（リモデラの緑系・角丸のカード・黄色のグラデーションボタン）。
   相談CTA（.t-contact）はトップと同じ部品なので top.css を共用する。
   保証会社のバナー（.cs-banner）は /aimi の .am-banner と同じ作り（841px 以上は横長、840px 以下は縦長の画像）。
   ブレークポイントは他の LP と同じ 1280 / 840 / 540 / 320px。 */
.cs{--g:#286b4a;--g2:#309873;--deep:#085f2a;--ink:#242528;--txt:#333;--pale:#e9f2ed;--mint:#f0f8f3;--line:rgba(36,37,40,.12);--warn:#fff7e0;--warn-ink:#9a6400;background:#fff;color:var(--ink)}
.cs img{display:block}
/* shared.css の strong{display:block} を打ち消す */
.cs strong{display:inline;margin:0;font-weight:700}
.cs h1,.cs h2,.cs h3{font-weight:700;font-feature-settings:'palt' 1}
/* 語の途中で折り返さないよう、<wbr> の位置（文節の区切り）でだけ折り返す */
.cs .cs-kw{word-break:keep-all;overflow-wrap:anywhere}
.cs-pc{display:inline}

/* 役割のラベル（管理会社・入居者・AI） */
.cs .cs-role{display:inline-block;padding:6px 18px 5px;border-radius:24px;background:var(--g);color:#fff;font-size:15px;font-weight:600;line-height:1.2;letter-spacing:.05em}
.cs .cs-role--ai{background:#fff;color:var(--deep);box-shadow:inset 0 0 0 2px var(--deep);font-family:Overpass,sans-serif;font-weight:800}

/* ---------- ファーストビュー ---------- */
.cs-hero{position:relative;z-index:1;isolation:isolate;padding:90px 40px 90px}
.cs-hero::before{content:'';position:absolute;inset:0;z-index:-1;background:url(img/hero-bg.webp) center top/cover no-repeat,#f0f8f3;opacity:.8;pointer-events:none}
.cs-hero__in{width:1280px;max-width:100%;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:60px}
.cs-hero__copy{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.cs .cs-hero__catch{color:var(--ink);font-size:40px;font-weight:800;line-height:1.4}
.cs-hero__em{color:var(--deep);background:linear-gradient(transparent 68%,#ffef5c 68%,#ffef5c 92%,transparent 92%)}
.cs .cs-hero__sub{margin-top:6px;color:var(--txt);font-size:24px;font-weight:700;line-height:1.5}
.cs .cs-hero__title{margin-top:18px;color:var(--deep);font-size:76px;font-weight:800;line-height:1.2;letter-spacing:.01em;white-space:nowrap}
.cs-hero__ai{margin-right:.06em;font-family:Overpass,sans-serif;font-weight:800}
.cs .cs-hero__lead{max-width:640px;margin-top:22px;color:var(--txt);font-size:18px;font-weight:500;line-height:1.85}
.cs .cs-hero__tags{margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px;list-style:none}
.cs-hero__tags li{padding:7px 16px 6px 12px;border:1px solid rgba(40,107,74,.35);border-radius:99px;background:#fff;display:flex;align-items:center;gap:6px;color:var(--deep);font-size:15px;font-weight:700;line-height:1.3}
.cs-hero__tags svg{flex:none;width:18px;height:18px;fill:var(--g2)}
.cs-hero__dl{width:460px;max-width:100%;margin-top:34px;padding:10px 30px;border-radius:96px;background:linear-gradient(90deg,#ff6 0%,#ffb054 100%);box-shadow:3px 3px 0 rgba(0,0,0,.2);display:flex;align-items:center;justify-content:center;color:#282828;transition:opacity .3s}
.cs-hero__dl:hover{opacity:.85}
.cs .cs-hero__dl img{flex:none;width:90px;height:auto}
.cs-hero__dl-text{padding-left:12px;font-size:24px;font-weight:700;line-height:1.25;white-space:nowrap}
.cs-hero__dl-icon{flex:none;width:30px;height:30px;margin-left:6px;fill:#333}
.cs-hero__media{flex:none;width:360px;margin:0}
.cs-hero__video{aspect-ratio:4/5;overflow:hidden;border:6px solid #fff;border-radius:28px;background:#dfe7e2;box-shadow:0 14px 34px rgba(8,95,42,.18)}
.cs-hero__video video{display:block;width:100%;height:100%;object-fit:cover}
.cs .cs-hero__media figcaption{margin-top:14px;color:var(--txt);font-size:14px;font-weight:600;line-height:1.6;text-align:center}

/* ---------- お悩み ---------- */
.cs-worry{position:relative;z-index:1;padding:90px 100px 50px;background:var(--g2);display:flex;flex-direction:column;align-items:center}
.cs-worry__in{width:1280px;max-width:100%;padding:0 40px;display:flex;flex-direction:column;align-items:center}
.cs .cs-worry__title{margin-bottom:40px;color:#fff;font-size:36px;line-height:1.4;text-align:center}
.cs .cs-worry__list{width:100%;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:stretch;justify-content:center;gap:30px 20px;list-style:none}
.cs-worry__item{width:calc(33.33% - 13.4px);padding:15px 14px;border:3px solid var(--deep);border-radius:8px;background:#fff;display:flex;align-items:center;gap:12px}
.cs .cs-worry__item img{flex:none;width:96px;height:auto}
.cs-worry__text{flex:1;color:var(--ink);font-size:19px;font-weight:500;line-height:1.55}
.cs .cs-worry__text p{margin:0}
.cs .cs-worry__text strong{color:var(--ink);font-weight:800}
.cs .cs-wave{width:100%;height:auto;margin-top:-4px;background:var(--pale);rotate:180deg}

/* ---------- AI入居時点検とは（撮る → 見つける → 保存する） ---------- */
.cs-flow{padding:50px 60px 100px;background:var(--pale);display:flex;flex-direction:column;align-items:center}
.cs-flow__in{width:1280px;max-width:100%;display:flex;flex-direction:column;align-items:center}
.cs .cs-flow__title{color:var(--deep);font-size:38px;line-height:1.35;text-align:center}
.cs .cs-flow__lead{max-width:820px;margin:20px 0 0;color:var(--txt);font-size:18px;font-weight:500;line-height:1.85;text-align:left}
.cs-flow__prep{width:100%;max-width:1000px;margin-top:40px;padding:18px 30px;border:2px dashed rgba(40,107,74,.35);border-radius:16px;background:rgba(255,255,255,.7);display:flex;align-items:center;gap:24px}
.cs .cs-flow__prep img{flex:none;width:130px;height:auto}
.cs-flow__prep-body{flex:1;min-width:0;display:flex;align-items:center;gap:18px}
.cs .cs-flow__prep-body .cs-role{flex:none}
.cs .cs-flow__prep-text{margin:0;color:var(--txt);font-size:16px;font-weight:500;line-height:1.75}
.cs .cs-flow__prep-text strong{margin-right:.6em;color:var(--ink);font-weight:700}
.cs .cs-flow__list{width:100%;margin:30px 0 0;padding:0;display:flex;align-items:stretch;justify-content:center;gap:56px;list-style:none;counter-reset:none}
.cs-flow__step{position:relative;flex:1;min-width:0;padding:28px 28px 30px;border:1px solid rgba(36,37,40,.15);border-radius:16px;background:#fff;box-shadow:3px 3px 0 rgba(0,0,0,.12);display:flex;flex-direction:column;align-items:center}
/* カードの間の矢印 */
.cs-flow__step+.cs-flow__step::before{content:'';position:absolute;top:50%;left:-42px;width:28px;height:28px;background:var(--g2);clip-path:polygon(0 0,100% 50%,0 100%);translate:0 -50%}
/* 手順の番号は全ページ共通の「STEP 1」の札。見出しより目立たせない */
.cs .cs-flow__no{width:fit-content;margin:0 0 10px;padding:4px 12px 3px;border:1px solid var(--g);border-radius:99px;background:#fff;color:var(--g);font-size:13px;font-weight:700;line-height:1.4;letter-spacing:.04em;white-space:nowrap}
.cs .cs-flow__name{margin-top:14px;color:var(--ink);font-size:22px;line-height:1.45;text-align:center}
.cs-flow__verb{display:block;margin-bottom:4px;color:var(--deep);font-size:34px;font-weight:800;line-height:1.25;letter-spacing:.04em}
.cs .cs-flow__img{width:190px;max-width:70%;height:auto;margin:16px 0 18px}
.cs .cs-flow__text{margin:0;color:var(--txt);font-size:16px;font-weight:500;line-height:1.8}
.cs .cs-flow__text strong{color:var(--ink);font-weight:700}

/* ---------- できること（Point 01〜03） ---------- */
.cs-feature{padding:100px 100px 60px;background:#fff;display:flex;flex-direction:column;align-items:center}
.cs .cs-feature__title{margin-bottom:60px;color:var(--deep);font-size:38px;line-height:1.35;text-align:center}
.cs-point{width:1200px;max-width:100%;margin-bottom:90px;display:flex;align-items:center;gap:70px}
.cs-point--rev{flex-direction:row-reverse}
.cs-point__fig{flex:none;width:calc(45% - 35px);display:flex;justify-content:center}
.cs-point__fig--illust{padding:20px;border-radius:24px;background:var(--mint)}
.cs .cs-point__fig--illust img{width:340px;max-width:100%;height:auto}
.cs-point__body{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.cs .cs-point__title{width:100%;margin-top:0;color:var(--ink);font-size:32px;line-height:1.4}
.cs .cs-point__lead{margin:16px 0 0;color:var(--txt);font-size:18px;font-weight:500;line-height:1.8}
.cs .cs-point__box{width:100%;margin:20px 0 0;padding:24px 28px;border-radius:12px;background:var(--pale);display:flex;flex-direction:column;gap:14px;list-style:none}
.cs-point__box li{position:relative;padding-left:22px;color:var(--txt);font-size:16px;font-weight:500;line-height:1.75}
.cs-point__box li::before{content:'';position:absolute;top:.6em;left:2px;width:10px;height:10px;border-radius:50%;background:var(--g2)}
.cs .cs-point__box strong{display:block;color:var(--deep);font-size:17px}

/* Point 01 の図：AIが書き出す記録の例 */
.cs-ex{width:100%;max-width:470px;padding:22px 22px 18px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(8,95,42,.12)}
.cs .cs-ex__head{margin:0 0 14px;color:var(--deep);font-size:15px;font-weight:700;line-height:1.4}
.cs .cs-ex__list{margin:0;padding:0;display:flex;flex-direction:column;gap:12px;list-style:none}
.cs-ex__list li{padding:12px;border:1px solid var(--line);border-radius:12px;background:#fafcfb;display:flex;align-items:flex-start;gap:12px}
.cs-ex__thumb{flex:none;width:64px;height:64px;border-radius:8px;background:linear-gradient(135deg,#d7e1db,#eef2ef 60%,#cfd9d3);position:relative}
.cs-ex__thumb::after{content:'';position:absolute;inset:0;margin:auto;width:26px;height:26px;background:rgba(40,107,74,.45);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z'/%3E%3C/svg%3E") center/contain no-repeat}
.cs-ex__body{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.cs-ex__tag{padding:2px 10px;border-radius:6px;background:var(--pale);color:var(--deep);font-size:12px;font-weight:700;line-height:1.6}
.cs-ex__desc{color:var(--ink);font-size:14px;font-weight:500;line-height:1.6}
.cs .cs-ex__foot{margin:14px 0 0;padding:10px 12px;border-radius:10px;background:var(--pale);display:flex;align-items:flex-start;gap:6px;color:var(--deep);font-size:13px;font-weight:700;line-height:1.6}
.cs-ex__foot svg{flex:none;width:18px;height:18px;margin-top:1px;fill:var(--g2)}

/* Point 03 の図：入居者のスマホ画面の例 */
.cs-phone{width:300px;max-width:100%;padding:22px 18px 24px;border:10px solid #1f2523;border-radius:40px;background:#fff;box-shadow:0 14px 34px rgba(8,95,42,.18)}
.cs .cs-phone__app{padding-bottom:10px;border-bottom:1px solid var(--line);color:var(--deep);font-size:16px;font-weight:800;line-height:1.3;text-align:center}
.cs .cs-phone__room{margin:14px 0 10px;color:var(--ink);font-size:17px;font-weight:700;line-height:1.3}
.cs-phone__warn{padding:12px 14px;border-radius:10px;background:var(--warn);color:var(--ink);font-size:13px;font-weight:500;line-height:1.65}
.cs .cs-phone__warn-head{display:flex;align-items:center;gap:5px;font-weight:700}
.cs .cs-phone__warn-head~.cs-phone__warn-head{margin-top:10px}
.cs-phone__warn-head svg{flex:none;width:16px;height:16px;fill:#e0a100}
.cs .cs-phone__btn{margin-top:12px;padding:10px;border-radius:8px;background:var(--deep);display:flex;align-items:center;justify-content:center;gap:6px;color:#fff;font-size:14px;font-weight:700;line-height:1.3}
.cs .cs-phone__btn--ghost{margin-top:8px;background:#fff;box-shadow:inset 0 0 0 1px #ced4d1;color:var(--ink)}
.cs-phone__btn svg{flex:none;width:18px;height:18px;fill:currentColor}

/* ---------- 管理画面に保存 ---------- */
.cs-store{padding:100px 60px;background:var(--pale);display:flex;flex-direction:column;align-items:center}
.cs-store__in{width:1200px;max-width:100%;display:flex;flex-direction:column;align-items:center}
.cs .cs-store__title{color:var(--deep);font-size:38px;line-height:1.35;text-align:center}
.cs .cs-store__lead{max-width:820px;margin:20px 0 0;color:var(--txt);font-size:18px;font-weight:500;line-height:1.85;text-align:left}
.cs-store__row{width:100%;margin-top:50px;display:flex;align-items:center;gap:60px}
.cs-store__fig{flex:none;width:calc(55% - 30px);margin:0}
.cs .cs-store__fig figcaption{margin-top:12px;color:var(--txt);font-size:14px;font-weight:600;text-align:center}
.cs .cs-store__list{flex:1;min-width:0;margin:0;padding:0;display:flex;flex-direction:column;gap:22px;list-style:none}
.cs-store__list li{display:flex;align-items:flex-start;gap:16px}
.cs-store__icon{flex:none;width:52px;height:52px;border-radius:50%;background:var(--g);display:grid;place-items:center}
.cs-store__icon svg{width:26px;height:26px;fill:#fff}
.cs .cs-store__list h3{margin:2px 0 4px;color:var(--ink);font-size:20px;line-height:1.45}
.cs .cs-store__list p{margin:0;color:var(--txt);font-size:16px;font-weight:500;line-height:1.75}

/* 管理画面のイメージ */
.cs-pm{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#f6f7f9;box-shadow:0 14px 34px rgba(8,95,42,.14)}
.cs .cs-pm__bar{padding:10px 14px;background:var(--deep);display:flex;align-items:center;gap:6px;color:#fff;font-size:13px;font-weight:700;line-height:1.3}
.cs-pm__bar span{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.45)}
.cs-pm__bar span:nth-child(3){margin-right:8px}
.cs-pm__card{margin:14px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff}
.cs .cs-pm__room{display:flex;align-items:center;gap:8px;color:var(--ink);font-size:15px;font-weight:700;line-height:1.3}
.cs-pm__badge{padding:2px 10px;border-radius:99px;background:#e3f4ea;color:#1e7b45;font-size:11px;font-weight:700;line-height:1.6}
.cs .cs-pm__label{margin:14px 0 6px;color:#6b7280;font-size:11px;font-weight:700;line-height:1.3}
.cs .cs-pm__videos{display:flex;gap:8px}
.cs-pm__videos span{padding:5px 12px;border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;gap:4px;color:var(--ink);font-size:12px;font-weight:700;line-height:1.3}
.cs-pm__videos svg{width:14px;height:14px;fill:var(--g)}
.cs .cs-pm__miss{margin-top:8px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;color:#6b7280;font-size:12px;font-weight:500;line-height:1.5}
.cs-pm__miss svg{flex:none;width:15px;height:15px;fill:#f59e0b}
.cs-pm__miss span{flex-basis:100%;color:var(--ink)}
.cs-pm__table{border:1px solid var(--line);border-radius:8px}
.cs .cs-pm__tr{display:grid;grid-template-columns:28% 1fr 44px;align-items:center;gap:8px;padding:7px 10px;color:var(--ink);font-size:12px;font-weight:500;line-height:1.5}
.cs .cs-pm__tr+.cs-pm__tr{border-top:1px solid var(--line)}
.cs .cs-pm__th{background:#f3f5f4;color:#6b7280;font-size:11px;font-weight:700}
.cs .cs-pm__table--fix .cs-pm__tr{grid-template-columns:1fr 92px}
.cs-pm__tr i{display:inline-block;width:38px;height:30px;border-radius:5px;background:linear-gradient(135deg,#d7e1db,#eef2ef 60%,#cfd9d3);vertical-align:middle}
.cs-pm__tr i+i{margin-left:6px}

/* ---------- 保証会社のバナー（/aimi と同じ） ---------- */
.cs-banner{width:1200px;max-width:calc(100% - 80px);margin:80px auto;display:flex;flex-direction:column;align-items:center;transition:opacity .3s cubic-bezier(.4,.4,0,1)}
.cs-banner:hover{opacity:.8}
.cs .cs-banner img{width:100%;height:auto}
.cs .cs-banner__sp{display:none}
.cs-banner-note{width:1200px;max-width:calc(100% - 80px);margin:-56px auto 80px !important;color:#333;font-size:16px;line-height:1.8}
.cs-banner-note a{color:var(--g);text-decoration:underline}

/* ---------- 料金 ---------- */
.cs-price{padding:0 40px 100px;display:flex;justify-content:center}
.cs-price__card{width:1000px;max-width:100%;padding:50px 40px;border-radius:24px;background:var(--mint);box-shadow:inset 0 0 0 1px rgba(40,107,74,.15);display:flex;flex-direction:column;align-items:center;text-align:center}
.cs .cs-price__title{color:var(--deep);font-size:36px;line-height:1.35}
.cs .cs-price__text{margin:18px 0 0;color:var(--ink);font-size:24px;font-weight:700;line-height:1.5}
.cs .cs-price__note{margin:8px 0 0;color:var(--txt);font-size:16px;font-weight:500;line-height:1.75}
.cs-price__btn{margin-top:26px;padding:14px 26px 14px 34px;border-radius:64px;background:var(--g);box-shadow:3px 3px 0 rgba(0,0,0,.2);display:flex;align-items:center;gap:6px;color:#fff;font-size:18px;font-weight:700;line-height:1.3;transition:opacity .3s}
.cs-price__btn:hover{opacity:.85}
.cs-price__btn svg{flex:none;width:24px;height:24px;fill:#fff}

/* ---------- よくある質問 ---------- */
.cs-faq{padding:100px 100px 80px;border-top:1px solid rgba(36,37,40,.1);background:#fff;display:flex;flex-direction:column;align-items:center}
.cs-faq__in{width:1280px;max-width:100%;padding:0 40px;display:flex;align-items:flex-start;gap:80px}
.cs-faq__head{flex:none;width:340px}
.cs .cs-faq__title{color:var(--ink);font-size:40px;line-height:1.35}
.cs-faq__list{flex:2;min-width:0;display:flex;flex-direction:column;gap:10px}
/* shared.css の details / summary の装飾を打ち消す */
.cs .cs-faq__item{margin:0;padding:0;border:0;border-radius:0;background:#fff}
.cs .cs-faq__item summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px;border:1px solid transparent;border-radius:12px;font-weight:700;list-style:none;cursor:pointer;transition:border-color .3s cubic-bezier(.4,.4,0,1)}
.cs .cs-faq__item summary::before,.cs .cs-faq__item summary::after{content:none}
.cs-faq__item summary::-webkit-details-marker{display:none}
.cs .cs-faq__item summary:hover{border-color:rgba(36,37,40,.7)}
.cs-faq__q-row{flex:1;min-width:0;display:flex;align-items:flex-start;gap:20px}
.cs-faq__q{flex:none;color:var(--ink);font-size:28px;font-weight:700;line-height:1}
.cs-faq__question{flex:1;min-width:0;color:var(--ink);font-size:18px;font-weight:700;line-height:1.7}
.cs-faq__icon{flex:none;width:40px;height:40px;padding:7px;border:1px solid rgba(36,37,40,.1);border-radius:96px;fill:var(--ink);transition:rotate .3s cubic-bezier(.4,.4,0,1),border-color .3s cubic-bezier(.4,.4,0,1)}
.cs-faq__item summary:hover .cs-faq__icon{border-color:rgba(36,37,40,.7)}
.cs-faq__item[open] .cs-faq__icon{rotate:180deg}
.cs-faq__item.is-closing .cs-faq__icon{rotate:0deg}
.cs-faq__answer{overflow:hidden}
.cs .cs-faq__answer p{margin:0;padding:5px 15px 15px 63px;color:var(--ink);font-size:17px;font-weight:500;line-height:1.8}

/* ---------- 1280px 以下 ---------- */
@media (max-width:1280px){
  .cs-hero{padding:80px 50px}
  .cs-hero__in{gap:40px}
  .cs .cs-hero__catch{font-size:36px}
  .cs .cs-hero__sub{font-size:22px}
  .cs .cs-hero__title{font-size:64px}
  .cs-hero__media{width:320px}
  .cs-worry{padding:70px 60px 40px}
  .cs-worry__in{padding:0}
  .cs .cs-worry__title{font-size:32px}
  .cs-worry__text{font-size:17px}
  .cs .cs-worry__item img{width:80px}
  .cs-flow{padding:50px 40px 90px}
  .cs .cs-flow__title{font-size:34px}
  .cs .cs-flow__list{gap:44px}
  .cs-flow__step{padding:24px 20px 26px}
  .cs-flow__step+.cs-flow__step::before{left:-34px;width:24px;height:24px}
  .cs-flow__verb{font-size:30px}
  .cs .cs-flow__name{font-size:20px}
  .cs-feature{padding:90px 60px 40px}
  .cs .cs-feature__title{font-size:34px}
  .cs-point{gap:50px}
  .cs-point__fig{width:calc(45% - 25px)}
  .cs .cs-point__title{font-size:28px}
  .cs-store{padding:90px 40px}
  .cs .cs-store__title{font-size:34px}
  .cs-store__row{gap:40px}
  .cs-store__fig{width:calc(55% - 20px)}
  .cs-faq{padding:90px 60px 70px}
  .cs-faq__in{padding:0;flex-direction:column;gap:30px}
  .cs-faq__head{width:auto}
  .cs-faq__list{width:100%}
}
/* ---------- 1024px 以下（流れ・保存の段組みを縦に） ---------- */
@media (max-width:1024px){
  .cs .cs-flow__list{max-width:560px;flex-direction:column;gap:46px}
  .cs-flow__step+.cs-flow__step::before{top:-36px;left:50%;width:26px;height:26px;translate:-50% 0;clip-path:polygon(0 0,100% 0,50% 100%)}
  .cs-store__row{max-width:640px;flex-direction:column;align-items:stretch}
  .cs-store__fig{width:100%}
}
/* ---------- 840px 以下 ---------- */
@media (max-width:840px){
  .cs-pc{display:none}
  .cs-hero{padding:56px 40px 60px}
  .cs-hero__in{flex-direction:column;align-items:center;gap:36px}
  .cs-hero__copy{width:100%;align-items:center;text-align:center}
  .cs .cs-hero__catch{font-size:32px}
  .cs .cs-hero__sub{font-size:20px}
  .cs .cs-hero__title{font-size:min(64px,calc((100vw - 80px) / 6.2))}
  .cs .cs-hero__lead{text-align:left}
  .cs .cs-hero__tags{justify-content:center}
  .cs-hero__dl{width:440px}
  .cs-hero__media{width:min(340px,80%)}
  .cs-worry{padding:50px 40px 40px}
  .cs .cs-worry__title{margin-bottom:30px;font-size:26px}
  .cs .cs-worry__list{flex-direction:column;align-items:center;gap:16px}
  .cs-worry__item{width:100%;max-width:520px}
  .cs-flow{padding:40px 40px 80px}
  .cs .cs-flow__title{font-size:28px}
  .cs .cs-flow__lead{font-size:16px;text-align:left}
  .cs-flow__prep{padding:16px 20px;flex-direction:column;gap:10px}
  .cs .cs-flow__prep img{width:120px}
  .cs-flow__prep-body{flex-direction:column;gap:10px}
  .cs .cs-flow__prep-text{font-size:15px}
  .cs-feature{padding:70px 40px 30px}
  .cs .cs-feature__title{margin-bottom:46px;font-size:28px}
  .cs-point,.cs-point--rev{margin-bottom:70px;flex-direction:column;align-items:stretch;gap:30px}
  .cs-point__fig{width:100%}
  .cs .cs-point__title{font-size:26px}
  .cs .cs-point__lead{font-size:16px}
  .cs-store{padding:70px 40px}
  .cs .cs-store__title{font-size:28px}
  .cs .cs-store__lead{font-size:16px;text-align:left}
  .cs-store__row{margin-top:36px}
  .cs-banner{width:calc(100% - 60px);max-width:none;margin:60px 30px}
  .cs-banner-note{width:auto;max-width:none;margin:-40px 30px 60px !important}
  .cs .cs-banner__pc{display:none}
  .cs .cs-banner__sp{display:block}
  .cs-price{padding:0 30px 80px}
  .cs-price__card{padding:40px 24px}
  .cs .cs-price__title{font-size:30px}
  .cs .cs-price__text{font-size:21px}
  .cs-faq{padding:70px 40px 60px}
  .cs .cs-faq__title{font-size:34px}
  .cs-faq__list{width:calc(100% + 30px);margin:0 -15px}
}
/* ---------- 540px 以下 ---------- */
@media (max-width:540px){
  .cs .cs-role{font-size:14px}
  .cs-hero{padding:40px 20px 50px}
  .cs .cs-hero__catch{font-size:26px}
  .cs .cs-hero__sub{font-size:17px}
  .cs .cs-hero__title{margin-top:12px;font-size:min(48px,calc((100vw - 40px) / 6.2))}
  .cs .cs-hero__lead{margin-top:16px;font-size:16px;line-height:1.8}
  .cs .cs-hero__tags{margin-top:18px;gap:8px}
  .cs-hero__tags li{padding:6px 12px 5px 9px;font-size:13px}
  .cs-hero__tags svg{width:15px;height:15px}
  .cs-hero__dl{width:100%;margin-top:26px;padding:10px 16px}
  .cs .cs-hero__dl img{width:70px}
  .cs-hero__dl-text{font-size:20px}
  .cs-hero__dl-icon{width:26px;height:26px}
  .cs-hero__media{width:min(300px,86%)}
  .cs-hero__video{border-width:5px;border-radius:22px}
  .cs .cs-hero__media figcaption{font-size:13px}
  .cs-worry{padding:44px 20px 34px}
  .cs .cs-worry__title{margin-bottom:22px;font-size:21px}
  .cs-worry__item{padding:12px}
  .cs .cs-worry__item img{width:70px}
  .cs-worry__text{font-size:16px}
  .cs-flow{padding:34px 20px 70px}
  .cs .cs-flow__title{font-size:24px}
  .cs .cs-flow__lead{margin-top:14px}
  .cs-flow__prep{margin-top:28px;padding:16px}
  .cs .cs-flow__list{margin-top:24px}
  .cs-flow__step{padding:22px 18px 24px}
  .cs-flow__verb{font-size:28px}
  .cs .cs-flow__name{font-size:18px}
  .cs .cs-flow__img{width:160px}
  .cs .cs-flow__text{font-size:15px}
  .cs-feature{padding:56px 20px 20px}
  .cs .cs-feature__title{margin-bottom:36px;font-size:23px}
  .cs-point,.cs-point--rev{margin-bottom:56px;gap:24px}
  .cs .cs-point__title{font-size:21px}
  .cs .cs-point__lead{margin-top:12px;font-size:15px}
  .cs .cs-point__box{padding:20px 16px;gap:12px}
  .cs-point__box li{padding-left:18px;font-size:15px}
  .cs-point__box li::before{width:8px;height:8px}
  .cs .cs-point__box strong{font-size:16px}
  .cs-point__fig--illust{padding:14px}
  .cs-ex{padding:16px 14px 14px}
  .cs-ex__list li{padding:10px;gap:10px}
  .cs-ex__thumb{width:52px;height:52px}
  .cs-ex__desc{font-size:13px}
  .cs-ex__tag{font-size:13px}
  .cs .cs-ex__foot{font-size:13px}
  .cs-phone{width:280px;border-width:9px;border-radius:36px}
  .cs-store{padding:56px 20px}
  .cs .cs-store__title{font-size:23px}
  .cs .cs-store__lead{margin-top:14px;font-size:15px}
  .cs-store__list li{gap:12px}
  .cs-store__icon{width:44px;height:44px}
  .cs-store__icon svg{width:22px;height:22px}
  .cs .cs-store__list h3{font-size:18px}
  .cs .cs-store__list p{font-size:15px}
  .cs-pm__card{margin:10px;padding:12px}
  /* 管理画面の図：スマホでは文字を13px以上にし、傷・汚れの表は「部位」の下に「内容」を置いて2列にする（3列だと部位名が語の途中で折れるため） */
  .cs-pm__badge,.cs .cs-pm__label,.cs-pm__videos span,.cs .cs-pm__miss{font-size:13px}
  .cs .cs-pm__tr{grid-template-columns:1fr 38px;gap:2px 10px;padding:8px 10px;font-size:13px}
  .cs .cs-pm__th{font-size:13px}
  .cs .cs-pm__table:not(.cs-pm__table--fix) .cs-pm__th{display:none}
  .cs .cs-pm__table:not(.cs-pm__table--fix) .cs-pm__th+.cs-pm__tr{border-top:0}
  .cs .cs-pm__table:not(.cs-pm__table--fix) .cs-pm__tr span:first-child{grid-column:1;font-weight:700}
  .cs .cs-pm__table:not(.cs-pm__table--fix) .cs-pm__tr span:nth-child(2){grid-column:1}
  .cs .cs-pm__table:not(.cs-pm__table--fix) .cs-pm__tr span:nth-child(3){grid-column:2;grid-row:1 / span 2}
  .cs .cs-pm__table--fix .cs-pm__tr{grid-template-columns:1fr 80px}
  .cs-pm__tr i{width:32px;height:26px}
  .cs-pm__tr i+i{margin-left:4px}
  .cs-banner{width:calc(100% - 30px);margin:44px 15px}
  .cs-banner-note{margin:-28px 15px 44px !important;font-size:15px}
  .cs-price{padding:0 15px 64px}
  .cs-price__card{padding:34px 18px;border-radius:18px}
  .cs .cs-price__title{font-size:26px}
  .cs .cs-price__text{margin-top:12px;font-size:19px}
  .cs .cs-price__note{font-size:15px}
  .cs-price__btn{padding:13px 18px 13px 24px;font-size:16px}
  .cs-faq{padding:56px 20px 50px}
  .cs .cs-faq__title{font-size:28px}
  .cs-faq__list{width:calc(100% + 20px);margin:0 -10px}
  .cs .cs-faq__item summary{gap:10px;padding:12px 10px}
  .cs-faq__q-row{gap:12px}
  .cs-faq__q{font-size:24px}
  .cs-faq__question{font-size:16px;line-height:1.65}
  .cs-faq__icon{width:34px;height:34px;padding:5px}
  .cs .cs-faq__answer p{padding:4px 10px 12px 46px;font-size:15px;line-height:1.75}
}
/* ---------- 320px 以下 ---------- */
@media (max-width:320px){
  .cs-hero{padding:34px 15px 44px}
  .cs .cs-hero__catch{font-size:22px}
  .cs .cs-hero__sub{font-size:15px}
  .cs .cs-hero__title{font-size:min(40px,calc((100vw - 30px) / 6.2))}
  .cs-hero__tags li{font-size:12px}
  .cs .cs-hero__dl img{width:56px}
  .cs-hero__dl-text{font-size:17px}
  .cs-worry{padding:40px 15px 30px}
  .cs-flow{padding:30px 15px 60px}
  .cs-flow__step{padding:20px 14px}
  .cs-feature{padding:50px 15px 10px}
  .cs .cs-point__title{font-size:19px}
  .cs-store{padding:50px 15px}
  .cs-pm__card{margin:8px;padding:10px}
  .cs-faq{padding:50px 15px 44px}
  .cs .cs-faq__answer p{padding-left:10px}
}
/* 動きを減らす設定の端末ではホバー・開閉のアニメーションを止める（動画の自動再生は cs.js で止める） */
@media (prefers-reduced-motion:reduce){
  .cs .cs-faq__item summary,.cs-faq__icon,.cs-banner,.cs-hero__dl,.cs-price__btn{transition:none}
}
