/* =====================================================================
   制作会社のためのAI活用支援 LP
   参考＝kingjim.co.jp/sp/hello/ の構成と数値に合わせている
   （地 #e2e0dc・文字 #353536・金 #cba671・白カード角丸 1.875vw・背面の巨大ループ文字）
   PC＝1600px基準のvw／SP（750px以下）＝375px基準のvw
   ===================================================================== */
:root{
  --bg:#e2e0dc; --ink:#353536; --sub:#646363; --gold:#cba671; --loop:#eeedea;
  --line:#c6c6c6; --card:#fff; --foot:#4b4b4b;
  --jp:'Noto Sans JP',sans-serif; --en:'Cabin',sans-serif; --thin:'Lato',sans-serif;
}
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:hidden;}
main{overflow-x:clip;}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--jp);font-weight:400;
  font-feature-settings:'palt';-webkit-font-smoothing:antialiased;overflow-x:hidden;line-height:1.8;}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4,p,ul,ol,dl,dd{margin:0;padding:0;}
ul,ol{list-style:none;}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;}
.en{font-family:var(--en);line-height:1;}
.sp-only{display:none;}

/* ---------- 改行の整え：段落の最後のひとこと・カタカナ語・数字＋単位を script.js が .u-nw で包む ----------
   text-wrap:pretty/balance と word-break:auto-phrase は使わない（Safariで行長が変わる／和文で語中を割る／Chromeだけ） */
body{line-break:strict;}
.u-nw{white-space:nowrap;}

/* ---------- 出現（js-block-item 相当） ---------- */
.js-item{opacity:0;transform:translateY(2.5vw);transition:opacity .9s cubic-bezier(.22,.61,.36,1),transform .9s cubic-bezier(.22,.61,.36,1);}
.js-item.is-in{opacity:1;transform:none;}
.js-item.d1{transition-delay:.12s}.js-item.d2{transition-delay:.24s}.js-item.d3{transition-delay:.36s}.js-item.d4{transition-delay:.48s}


/* ---------- 固定UI ---------- */
.logo{position:fixed;top:calc(5.625vw - 40px);left:5.625vw;width:11.5vw;min-width:150px;z-index:50;}
.logo img{width:100%;}
.fix-cta{position:fixed;top:5.9vw;right:5vw;z-index:50;display:flex;align-items:center;}
.fix-cta .line{width:2.9vw;height:2px;background:var(--gold);margin-right:1.4vw;}
.fix-cta .t{font-family:var(--en);font-weight:500;font-size:max(12px,.875vw);letter-spacing:.165em;margin-right:1.9vw;}
.fix-cta .btn{display:inline-flex;align-items:center;justify-content:center;height:max(40px,3.1vw);padding:0 1.9vw;border-radius:.6vw;background:#1e1e1f;color:#fff;font-weight:700;font-size:max(12px,.9vw);letter-spacing:.06em;transition:opacity .25s;}
.fix-cta .btn:hover{opacity:.6;}
.indicator{position:fixed;top:50%;left:5.625vw;transform:translateY(-50%);z-index:50;display:flex;flex-direction:column;gap:.75vw;}
.indicator a{display:flex;align-items:center;font-weight:700;font-size:max(12px,.75vw);letter-spacing:.02em;color:var(--ink);opacity:.35;transition:opacity .4s;}
.indicator a .l{width:1.1vw;height:1px;background:var(--gold);margin-right:1vw;transform-origin:0 0;transition:transform .4s;}
.indicator a.is-active{opacity:1;}
.indicator a.is-active .l{transform:scaleX(1.6);}
.indicator a:hover{opacity:1;}
.fix-share{position:fixed;top:50%;right:6.125vw;z-index:50;display:flex;flex-direction:column;align-items:center;transform:translateY(-50%);}
.fix-share .t{font-family:var(--en);font-weight:500;font-size:12px;letter-spacing:.165em;text-transform:uppercase;writing-mode:vertical-rl;color:#000;}
.fix-share a{margin-top:18px;transition:opacity .25s;display:block;}
.fix-share a:hover{opacity:.5;}
.fix-share svg{display:block;width:14px;height:14px;fill:#000;}
.fix-copy{position:fixed;left:5.625vw;bottom:5.625vw;z-index:50;display:flex;align-items:center;}
.fix-copy .mk{width:70px;height:40px;background:#1e1e1f;color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--en);font-weight:700;font-size:12px;letter-spacing:.12em;margin-right:30px;}
.fix-copy > small{font-family:var(--en);font-weight:700;font-size:12px;letter-spacing:.1em;}
.fix-scroll{position:fixed;right:5vw;bottom:5.625vw;z-index:50;width:72px;height:72px;display:flex;align-items:center;justify-content:center;}
.fix-scroll svg.ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);}
.fix-scroll svg.ring circle{fill:none;stroke:var(--gold);stroke-width:1.5;stroke-dasharray:214;stroke-dashoffset:40;animation:ring 3.2s linear infinite;transform-origin:50% 50%;}
@keyframes ring{to{transform:rotate(360deg);}}
.fix-scroll svg.arw{width:20px;height:20px;stroke:var(--ink);fill:none;stroke-width:1.4;transition:transform .3s;}
.fix-scroll:hover svg.arw{transform:translateY(4px);}
.fixui{transition:opacity .5s;}
body.is-foot .fixui{opacity:0;pointer-events:none;}

/* ---------- 背面の巨大ループ文字 ---------- */
.loop{position:absolute;left:0;width:100%;height:20.9375vw;z-index:-1;overflow:hidden;pointer-events:none;}
.loop .track{display:flex;width:max-content;animation:loop 38s linear infinite;}
.loop .track > span{font-family:var(--jp);font-weight:700;font-size:21.5625vw;line-height:1;color:var(--loop);letter-spacing:.03em;white-space:nowrap;padding-right:.3em;}
@keyframes loop{to{transform:translateX(-50%);}}

/* ---------- 縦の区画ラベル（l-area-tag） ---------- */
.tag{position:absolute;display:flex;align-items:center;transform:rotate(90deg);transform-origin:0 0;white-space:nowrap;}
.tag .t{font-family:var(--en);font-weight:500;font-size:max(12px,1vw);letter-spacing:.1em;margin-right:1.625vw;}
.tag .l{width:3.5vw;height:2px;background:var(--gold);}

/* ---------- MV ---------- */
.mv{position:relative;height:100vh;min-height:620px;display:flex;flex-direction:column;align-items:center;justify-content:center;}
@keyframes spin{to{transform:rotate(360deg);}}
.mv .copy{margin-top:3.2vw;text-align:center;font-weight:700;font-size:max(14px,.9375vw);line-height:1.8;letter-spacing:.04em;}

/* ---------- CONCEPT ---------- */
.concept{position:relative;display:flex;flex-direction:column;align-items:center;margin-top:12vw;}
.concept .tag{top:.625vw;right:-1.25vw;left:auto;right:9vw;}
.concept .inner{display:flex;align-items:flex-start;justify-content:center;}
.collage{position:relative;width:41.9375vw;height:42vw;flex-shrink:0;}
.collage img{position:absolute;border-radius:1.875vw;object-fit:cover;box-shadow:0 1vw 3vw rgba(53,53,54,.08);}
.collage .b{top:-8.125vw;left:19.5vw;width:23.8125vw;height:29.1875vw;transform:rotate(12deg);}
.collage .a{top:0;left:-.3125vw;width:27.5vw;height:38.6875vw;transform:rotate(-5deg);}
.collage .c{top:30vw;left:16.5vw;width:16.125vw;height:11.9375vw;transform:rotate(4deg);}
.concept .info{display:flex;flex-direction:column;align-items:flex-start;margin-top:7.625vw;margin-left:4vw;width:27vw;}
.concept .info .ttl{font-family:var(--en);font-weight:700;font-size:4.6vw;line-height:1.02;letter-spacing:-.02em;}
.concept .info h2{white-space:nowrap;font-size:max(18px,1.75vw);font-weight:700;line-height:1.5;letter-spacing:.04em;margin-top:2.2vw;}
.concept .info .text{width:24vw;font-size:max(13px,1.125vw);line-height:1.8;letter-spacing:.04em;text-align:justify;margin-top:2vw;}
.steps-ind{position:absolute;right:6.875vw;bottom:-2.5vw;display:flex;flex-direction:column;align-items:center;gap:1.5vw;}
.steps-ind > span{width:4.625vw;height:4.625vw;min-width:44px;min-height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--en);font-weight:500;font-size:max(12px,.875vw);letter-spacing:.185em;color:#fff;}
.steps-ind span.is-active{color:var(--gold);border:1px solid #fff;}

/* ---------- 3つの数字（p-other の並び） ---------- */
.stats{position:relative;display:flex;flex-direction:column;align-items:center;margin-top:12.5vw;}
.stats .list{display:flex;justify-content:space-between;width:62vw;}
.stats .item{display:flex;flex-direction:column;align-items:center;width:18.5vw;text-align:center;}
.stats .item > b{font-family:var(--en);font-weight:700;font-size:5vw;line-height:1;letter-spacing:-.02em;}
.stats .item b > small{font-family:var(--jp);font-size:.36em;letter-spacing:0;margin-left:.1em;}
.stats .item .l{width:3.5vw;height:2px;background:var(--gold);margin:1.4vw 0 1.2vw;}
.stats .item p{font-size:max(12px,1.125vw);line-height:1.5;letter-spacing:-.01em;}
.stats .sep{width:1px;height:8.125vw;background:var(--line);margin-top:.6vw;}
.stats .note{font-size:max(12px,.75vw);color:var(--sub);margin-top:2.6vw;letter-spacing:.02em;}
.stats .note a{text-decoration:underline;}
.stats .cta{margin-top:3.4vw;}

/* ---------- ボタン ---------- */
.btn-main{display:inline-flex;align-items:center;justify-content:center;min-width:24.375vw;height:max(54px,4.4vw);padding:0 3vw;border-radius:.75vw;background:#1e1e1f;color:#fff;font-weight:700;font-size:max(14px,1.125vw);letter-spacing:.08em;transition:opacity .25s;}
.btn-main:hover{opacity:.6;}
.btn-main .arw{width:1.1em;height:1.1em;margin-left:1.2em;stroke:#fff;fill:none;stroke-width:1.4;}
.link-ul{font-weight:700;font-size:max(13px,1.125vw);text-decoration:underline;text-underline-offset:.35em;transition:opacity .25s;}
.link-ul:hover{opacity:.5;}

/* ---------- 区画の見出し（p-create） ---------- */
.sec{position:relative;display:flex;flex-direction:column;align-items:center;margin-top:26.875vw;}
.sec .tag{top:.9375vw;left:11.5625vw;}
.sec .tag.r{left:auto;right:9vw;}
.sec-head{display:flex;flex-direction:column;align-items:center;text-align:center;}
.sec-head .ttl{font-family:var(--en);font-weight:700;font-size:9.375vw;line-height:.97;letter-spacing:-.03em;}
.sec-head .desc{font-size:max(18px,1.875vw);font-weight:700;letter-spacing:.04em;line-height:1.5;margin-top:1.9375vw;}
.sec-head .text{color:var(--sub);font-size:max(13px,1vw);letter-spacing:.04em;line-height:1.7;margin-top:1.9375vw;max-width:34vw;}

/* ---------- 白カード3列（p-days の panels） ---------- */
.panels{width:78.75vw;display:grid;grid-template-columns:repeat(3,25.25vw);justify-content:space-between;row-gap:1.5vw;margin-top:6vw;}
.panel{position:relative;background:var(--card);border-radius:1.875vw;overflow:hidden;display:flex;flex-direction:column;align-items:center;padding-bottom:3.4vw;}
.panel .photo{width:100%;height:17.375vw;object-fit:cover;margin-bottom:2.3125vw;}
.panel .no{font-family:var(--en);font-weight:500;font-size:max(12px,.875vw);letter-spacing:.185em;color:var(--gold);margin:3vw 0 1.4vw;}
.panel h3{font-size:max(16px,1.5vw);font-weight:700;line-height:1.573;text-align:center;margin-bottom:1.875vw;padding:0 1.5vw;}
.panel p{width:20vw;color:var(--sub);font-size:max(13px,1vw);line-height:1.7;letter-spacing:-.01em;}
.panel .end{width:20vw;margin-top:1.8vw;padding-top:1.6vw;border-top:1px solid #f3f3f3;font-size:max(13px,1vw);line-height:1.7;color:var(--ink);}
.panel .end > i{display:block;font-style:normal;font-family:var(--en);font-weight:500;font-size:max(12px,.75vw);letter-spacing:.185em;color:var(--gold);margin-bottom:.6vw;}
.panel.no-photo{padding-top:.4vw;}

/* ---------- 電話＋説明（p-labelProduction） ---------- */
.prod{position:relative;width:100%;display:flex;align-items:flex-start;justify-content:center;margin-top:14vw;}
.prod .loop{bottom:-13.75vw;}
.prod .info{display:flex;flex-direction:column;align-items:flex-start;margin-top:8.4375vw;margin-right:5.625vw;width:25.3125vw;}
.prod.rev{flex-direction:row-reverse;}
.prod.rev .info{margin-right:0;margin-left:5.625vw;}
.prod .info .sub{font-family:var(--en);font-weight:500;font-size:max(12px,1vw);letter-spacing:.1em;}
.prod .info h2,.prod .info h3{font-size:max(24px,2.7vw);font-weight:700;letter-spacing:-.04em;line-height:1.3;margin-top:1.0625vw;}
.prod .info .l{width:3.5vw;height:2px;background:var(--gold);margin-top:1.5625vw;}
.prod .info .d-ttl{font-size:max(17px,1.875vw);font-weight:700;margin-top:2vw;line-height:1.5;}
.prod .info .d-text{margin-top:1.75vw;color:var(--sub);font-size:max(13px,1vw);letter-spacing:-.01em;line-height:1.7;}
.prod .info .change{margin-top:2.2vw;background:var(--card);border-radius:1vw;padding:1.3vw 1.6vw;font-size:max(13px,1vw);line-height:1.7;width:100%;}
.prod .info .change > i{display:block;font-style:normal;font-family:var(--en);font-weight:500;font-size:max(12px,.75vw);letter-spacing:.185em;color:var(--gold);margin-bottom:.3vw;}
.howlist{margin-top:2vw;width:100%;counter-reset:n;}
.howlist li{position:relative;padding:1.05vw 0 1.05vw 3.2vw;border-top:1px solid var(--line);counter-increment:n;cursor:pointer;opacity:.45;transition:opacity .35s;}
.howlist li:last-child{border-bottom:1px solid var(--line);}
.howlist li::before{content:"0" counter(n);position:absolute;left:0;top:1.35vw;font-family:var(--en);font-weight:500;font-size:max(12px,.875vw);letter-spacing:.185em;color:var(--gold);}
.howlist li > b{display:block;font-size:max(14px,1.125vw);line-height:1.5;}
.howlist li > span{display:block;color:var(--sub);font-size:max(12px,.875vw);line-height:1.7;margin-top:.2vw;}
.howlist li.is-active{opacity:1;}

/* 電話の枠（l-sp-sample） */
.sample{position:relative;width:21.125vw;height:41.875vw;flex-shrink:0;border-radius:3.75vw;background:#1b1c1e;padding:1.3125vw 1.375vw;box-shadow:0 2vw 4vw rgba(53,53,54,.16);cursor:pointer;}
.sample::before{content:"";position:absolute;top:1.3125vw;left:50%;transform:translateX(-50%);width:9vw;height:1.6vw;background:#1b1c1e;border-radius:0 0 1.1vw 1.1vw;z-index:4;}
.sample .scr{position:relative;width:100%;height:100%;border-radius:2.6vw;overflow:hidden;background:#fff;}
.sample .screen{position:absolute;inset:0;opacity:0;transition:opacity .5s;}
.sample .screen.is-on{opacity:1;}
.sample .screen>img{width:100%;height:100%;object-fit:cover;object-position:top;}
.sample .first{position:absolute;inset:0;z-index:3;border-radius:2.6vw;background:rgba(0,0,0,.7);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .25s;}
.sample .first.is-hide{opacity:0;pointer-events:none;}
.sample .first .c{width:74px;height:74px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;font-family:var(--thin);font-weight:400;color:#fff;font-size:12px;letter-spacing:.185em;}
.sample .first p{color:#fff;font-size:max(12px,1vw);line-height:1.6;letter-spacing:.05em;text-align:center;margin-top:.9375vw;font-weight:700;}
/* 画面の上に重ねる部品 */
.pin{position:absolute;width:1.7vw;height:1.7vw;min-width:20px;min-height:20px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--gold);box-shadow:0 .3vw .8vw rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;}
.pin > b{transform:rotate(45deg);color:#fff;font-family:var(--en);font-size:max(12px,.7vw);font-weight:700;}
.bubble{position:absolute;left:8%;right:8%;background:#fff;border-radius:.9vw;padding:.9vw 1vw;box-shadow:0 .6vw 1.8vw rgba(0,0,0,.2);font-size:max(12px,.78vw);line-height:1.6;color:var(--ink);}
.bubble > i{display:block;font-style:normal;font-family:var(--en);font-weight:500;font-size:max(12px,.6vw);letter-spacing:.16em;color:var(--gold);margin-bottom:.25vw;}
.bubble del{color:#b05b4e;text-decoration-thickness:1px;}
.bubble ins{text-decoration:none;background:#f3ecdf;}
.chip{position:absolute;left:8%;top:9%;background:#1e1e1f;color:#fff;border-radius:2vw;padding:.35vw 1vw;font-family:var(--en);font-weight:500;font-size:max(8px,.62vw);letter-spacing:.16em;}
.chip.g{background:var(--gold);}
.veil{position:absolute;inset:0;background:rgba(226,224,220,.55);}
.okmark{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:6vw;height:6vw;min-width:64px;min-height:64px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 .6vw 1.8vw rgba(0,0,0,.18);}
.okmark svg{width:44%;stroke:var(--gold);stroke-width:2.4;fill:none;}
.urlbar{position:absolute;left:6%;right:6%;bottom:5%;background:rgba(30,30,31,.9);color:#fff;border-radius:2vw;padding:.55vw 1vw;font-family:var(--en);font-size:max(8px,.66vw);letter-spacing:.06em;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* 画面の枠（ブラウザ・端末・書類） */
.mock{position:relative;width:32vw;flex-shrink:0;margin-top:6vw;border-radius:1.2vw;background:#fff;box-shadow:0 2vw 4vw rgba(53,53,54,.14);overflow:hidden;}
.mock .bar{height:2.4vw;min-height:30px;background:#f3f3f3;display:flex;align-items:center;padding:0 1vw;gap:.4vw;}
.mock .bar u{width:.6vw;height:.6vw;min-width:7px;min-height:7px;border-radius:50%;background:var(--line);display:block;}
.mock .bar > span{margin-left:.8vw;flex:1;height:1.5vw;min-height:20px;border-radius:1vw;background:#fff;font-family:var(--en);font-size:max(12px,.75vw);letter-spacing:.04em;color:var(--sub);display:flex;align-items:center;padding:0 .8vw;white-space:nowrap;overflow:hidden;}
.mock .body{position:relative;}
.mock .body img{width:100%;}
.mock.term{background:#1e1e1f;}
.mock.term .bar{background:#2b2b2c;}
.mock.term .bar > span{background:#1e1e1f;color:#9a9a9a;}
.mock pre{margin:0;padding:1.6vw 1.8vw 2vw;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:max(12px,.8vw);line-height:1.9;color:#d9d7d2;white-space:pre-wrap;}
.mock pre .g{color:var(--gold);} .mock pre .p{color:#8fbf8f;} .mock pre .m{color:#d08f85;} .mock pre .d{color:#7d7d7d;}
.mock.doc pre{color:var(--ink);background:#fff;}
.mock.doc pre .g{color:#9a7a45;} .mock.doc pre .d{color:#9a9a9a;}

/* ---------- 以前といま（p-other の並び） ---------- */
.nums{width:76.25vw;display:flex;justify-content:space-between;margin-top:5.1875vw;}
.nums .item{width:16.5625vw;display:flex;flex-direction:column;align-items:flex-start;}
.nums .item .k{font-size:max(14px,1.125vw);font-weight:700;line-height:1.5;min-height:3.4em;}
.nums .item .k > small{display:block;font-weight:400;font-size:max(12px,.75vw);color:var(--sub);}
.nums .item .ba{display:flex;align-items:baseline;flex-wrap:nowrap;white-space:nowrap;gap:.5vw;margin-top:1vw;font-size:max(12px,.875vw);color:var(--sub);}
.nums .item .ba > b{font-family:var(--jp);font-weight:700;font-size:1.5vw;color:var(--ink);}
.nums .item .ba svg{width:1.1vw;min-width:12px;flex-shrink:0;align-self:center;stroke:var(--gold);fill:none;stroke-width:1.6;}
.nums .item .r{margin-top:1.2vw;font-family:var(--en);font-weight:700;font-size:3.6vw;line-height:1;letter-spacing:-.02em;}
.nums .item .r > small{font-family:var(--jp);font-size:.3em;font-weight:700;margin-right:.3em;letter-spacing:0;}
.nums .sep{width:1px;height:12vw;background:var(--line);margin:1vw 2vw 0;}
.cond{width:52vw;margin-top:4vw;font-size:max(12px,.875vw);line-height:1.9;color:var(--sub);text-align:center;letter-spacing:.02em;}

/* ---------- 締めの一文 ---------- */
.statement{margin-top:6vw;text-align:center;font-size:max(15px,1.5vw);font-weight:700;line-height:2;letter-spacing:.04em;}

/* ---------- OUR STORY / PROFILE ---------- */
.split{display:flex;align-items:center;justify-content:center;margin-top:6vw;}
.split .ph{width:34vw;height:25.5vw;border-radius:1.875vw;object-fit:cover;transform:rotate(-4deg);box-shadow:0 1vw 3vw rgba(53,53,54,.08);flex-shrink:0;}
.split .ph.port{width:22vw;height:27.5vw;transform:rotate(4deg);}
.split .tx{width:27vw;margin-left:6.5vw;}
.split .tx p{font-size:max(13px,1.125vw);line-height:2;letter-spacing:.04em;text-align:justify;}
.split .tx p+p{margin-top:1.4vw;}
.split .tx .role{font-size:max(12px,.875vw);color:var(--sub);letter-spacing:.04em;text-align:left;line-height:1.8;}
.split .tx .name{font-size:max(22px,2.25vw);font-weight:700;letter-spacing:.06em;margin:.4vw 0 0;}
.split .tx .name > span{font-family:var(--en);font-weight:500;font-size:max(12px,.38em);letter-spacing:.185em;margin-left:1.2em;color:var(--gold);}
.split .tx .l{width:3.5vw;height:2px;background:var(--gold);margin:1.6vw 0 2vw;}

/* ---------- PRICE ---------- */
.prices{width:62vw;display:grid;grid-template-columns:1fr 1fr;gap:2.2vw;margin-top:6vw;}
.price{background:var(--card);border-radius:1.875vw;padding:3.2vw 3vw 3.4vw;text-align:center;}
.price .k{font-family:var(--en);font-weight:500;font-size:max(12px,.875vw);letter-spacing:.185em;color:var(--gold);}
.price h3{font-size:max(15px,1.25vw);margin-top:.5vw;}
.price .v{font-family:var(--en);font-weight:700;font-size:4vw;line-height:1.1;letter-spacing:-.02em;margin-top:1.4vw;}
.price .v > small{font-family:var(--jp);font-size:.32em;font-weight:700;letter-spacing:0;margin-left:.2em;}
.price .tax{font-size:max(12px,.75vw);color:var(--sub);}
.price p{margin-top:1.5vw;font-size:max(13px,1vw);color:var(--sub);line-height:1.7;text-align:center;}
.extra{width:62vw;margin-top:2.4vw;font-size:max(12px,.875vw);color:var(--sub);line-height:1.9;text-align:center;}

/* ---------- FAQ ---------- */
.faq{width:56vw;margin-top:6vw;border-top:1px solid var(--line);}
.faq details{border-bottom:1px solid var(--line);}
.faq summary{list-style:none;cursor:pointer;position:relative;padding:1.9vw 4vw 1.9vw 3.4vw;font-size:max(14px,1.125vw);font-weight:700;line-height:1.6;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::before{content:"Q";position:absolute;left:0;top:2vw;font-family:var(--en);font-weight:700;font-size:max(13px,1.125vw);color:var(--gold);}
.faq summary::after{content:"";position:absolute;right:.6vw;top:50%;width:.8vw;height:.8vw;min-width:9px;min-height:9px;border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);transform:translateY(-70%) rotate(45deg);transition:transform .3s;}
.faq details[open] summary::after{transform:translateY(-20%) rotate(-135deg);}
.faq .a{padding:0 4vw 2.2vw 3.4vw;color:var(--sub);font-size:max(13px,1vw);line-height:1.9;}

/* ---------- CONTACT（p-create.is-download の並び） ---------- */
.contact{margin-top:27.5vw;}
.contact .under{display:flex;align-items:flex-start;justify-content:center;margin-top:7.1875vw;width:64vw;}
.formcard{flex:1;background:var(--card);border-radius:1.875vw;padding:3.4vw 3.6vw 3.8vw;}
.formcard .lead{font-weight:700;font-size:max(14px,1.125vw);}
.formcard ul.get{margin:1vw 0 2.4vw;color:var(--sub);font-size:max(13px,1vw);line-height:1.9;}
.formcard ul.get li{position:relative;padding-left:1.4em;}
.formcard ul.get li::before{content:"";position:absolute;left:0;top:.85em;width:.7em;height:1px;background:var(--gold);}
.field{margin-top:1.5vw;}
.field label{display:flex;align-items:center;font-size:max(12px,.875vw);font-weight:700;letter-spacing:.04em;margin-bottom:.5vw;}
.field label > em{font-style:normal;font-weight:400;font-size:max(12px,.7vw);color:var(--gold);border:1px solid var(--gold);border-radius:2em;padding:0 .7em;margin-left:.8em;line-height:1.6;}
.field input,.field select,.field textarea{width:100%;border:1px solid #dcdad5;border-radius:.6vw;background:#faf9f7;padding:0 1vw;height:max(46px,3.2vw);font:inherit;font-size:16px;color:var(--ink);outline:none;transition:border-color .25s;appearance:none;}
.field textarea{height:8vw;min-height:110px;padding:.8vw 1vw;resize:vertical;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);}
.formcard .send{display:flex;justify-content:center;margin-top:2.6vw;}
.formcard .send .btn-main{min-width:0;width:100%;}
.formcard .alt{margin-top:1.8vw;text-align:center;font-size:max(12px,.875vw);color:var(--sub);letter-spacing:.04em;}
.formcard .alt a{color:var(--ink);font-weight:700;text-decoration:underline;text-underline-offset:.3em;}
.contact .side{flex-shrink:0;margin-left:5vw;margin-top:2vw;}
.contact .side .sample{width:15.9375vw;height:31.6vw;border-radius:2.9vw;padding:1vw;cursor:default;}
.contact .side .sample::before{top:1vw;width:6.8vw;height:1.2vw;}
.contact .side .sample .scr{border-radius:2vw;}

/* ---------- フッター ---------- */
.foot{position:relative;width:100%;height:16vw;min-height:200px;background:var(--foot);margin-top:10vw;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.foot .flogo{position:absolute;left:5vw;top:50%;transform:translateY(-50%);width:11vw;min-width:130px;}
.foot .sub{position:absolute;top:50%;transform:translateY(-50%);left:0;width:100%;display:flex;flex-direction:column;align-items:center;color:#fff;}
.foot .sub .co{font-size:max(12px,.8vw);letter-spacing:.08em;margin-bottom:1vw;text-align:center;line-height:1.9;opacity:.85;}
.foot .sub > small{font-family:var(--en);font-weight:700;font-size:max(12px,.625vw);letter-spacing:.1em;}
.foot .fnav{position:absolute;right:5vw;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:1.75vw;color:#fff;font-size:max(12px,.8vw);letter-spacing:.06em;}
.foot .fnav a{text-decoration:underline;text-underline-offset:.3em;transition:opacity .25s;}
.foot .fnav a:hover{opacity:.5;}

/* ---------- SPメニュー ---------- */
.menu-btn,.menu{display:none;}

/* =====================================================================
   SP（750px以下・375px基準）
   ===================================================================== */
@media screen and (max-width:750px){
  .pc-only{display:none;} .sp-only{display:block;}
  .js-item{transform:translateY(6vw);}
  .logo{top:9.4667vw;left:9.0667vw;width:36vw;min-width:0;}
  .fix-cta{top:10.4vw;right:8vw;}
  .fix-cta .line{width:4vw;margin-right:2.4vw;}
  .fix-cta .t{display:none;}
  .fix-cta .btn{height:9.6vw;padding:0 4vw;border-radius:1.6vw;font-size:3.2vw;}
  .indicator,.fix-share,.fix-copy{display:none;}
  .fix-scroll{right:6.5333vw;bottom:6.6667vw;width:10.9333vw;height:10.9333vw;}
  .fix-scroll svg.arw{width:3.0667vw;height:3.0667vw;}
  .menu-btn{display:flex;flex-direction:column;gap:1.1vw;position:fixed;left:8vw;bottom:8vw;z-index:60;padding:2vw 0;}
  .menu-btn > i{display:block;width:4vw;height:1px;background:#fff;}
  .menu-btn > i:first-child{background:var(--gold);}
  .menu{display:block;position:fixed;inset:0;z-index:70;background:var(--bg);opacity:0;visibility:hidden;transition:opacity .4s,visibility 0s .4s;overflow:hidden;}
  .menu.is-open{opacity:1;visibility:visible;transition:opacity .4s;}
  .menu .bg{position:absolute;top:-37vw;left:16vw;width:153.6vw;height:153.6vw;opacity:.3;animation:spin 60s linear infinite;}
  .menu .bg text{font-family:var(--en);font-size:30px;letter-spacing:.09em;fill:none;stroke:#fff;stroke-width:1;}
  .menu nav{position:absolute;left:11.8667vw;bottom:17.3333vw;display:flex;flex-direction:column;gap:1.6vw;}
  .menu nav a{display:flex;align-items:center;font-weight:700;font-size:4.2667vw;letter-spacing:.02em;line-height:2.1;}
  .menu nav a > i{display:block;width:4vw;height:1px;background:var(--gold);margin-right:4.8vw;}
  .menu .close{position:absolute;right:8.6667vw;bottom:18.6667vw;width:10.9333vw;height:10.9333vw;border-radius:50%;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;}
  .menu .close svg{width:4vw;height:4vw;stroke:var(--ink);stroke-width:1.4;}

  .loop{height:44.6667vw;}
  .loop .track > span{font-size:46vw;}
  .tag{display:none;}

  .mv{min-height:0;}
  .mv .copy{margin-top:9vw;font-size:4.2667vw;line-height:1.9;}

  .concept{margin-top:24vw;}
  .concept .inner{flex-direction:column;align-items:center;}
  .collage{width:89.4667vw;height:106.2667vw;}
  .collage img{border-radius:4vw;}
  .collage .b{top:-17.3333vw;left:41.6vw;width:50.8vw;height:62.2667vw;}
  .collage .a{left:-.6667vw;width:58.6667vw;height:82.5333vw;}
  .collage .c{top:64vw;left:35.2vw;width:34.4vw;height:25.4667vw;}
  .concept .info{align-items:center;margin:8vw 0 0;width:auto;}
  .concept .info .ttl{font-size:11.2vw;text-align:center;}
  .concept .info h2{white-space:normal;font-size:5.3333vw;text-align:center;margin-top:6vw;}
  .concept .info .text{font-size:3.7333vw;width:71.3333vw;text-align:center;margin-top:8vw;letter-spacing:0;}
  .steps-ind{top:77.3333vw;bottom:auto;right:4.5333vw;gap:2.6667vw;}
  .steps-ind > span{width:9.8667vw;height:9.8667vw;min-width:0;min-height:0;font-size:3.2vw;}

  .stats{margin-top:24vw;}
  .stats .list{flex-direction:column;align-items:center;width:84vw;}
  .stats .item{width:100%;}
  .stats .item > b{font-size:17vw;}
  .stats .item .l{width:9.3333vw;margin:4vw 0 3.4vw;}
  .stats .item p{font-size:3.7333vw;}
  .stats .sep{width:72vw;height:1px;margin:9vw 0;}
  .stats .note{font-size:3.2vw;width:84vw;text-align:center;margin-top:9vw;line-height:1.9;}
  .stats .cta{margin-top:10vw;}
  .btn-main{min-width:0;width:84vw;height:14.4vw;border-radius:2.4vw;font-size:3.7333vw;padding:0 3.2vw;white-space:nowrap;letter-spacing:.04em;}
  .btn-main .arw{margin-left:.8em;}
  .link-ul{font-size:3.7333vw;}

  .sec{margin-top:56.6667vw;}
  .sec-head .ttl{font-size:17.6vw;}
  .sec-head .desc{font-size:5.3333vw;margin-top:5.3333vw;}
  .sec-head .text{font-size:3.7333vw;max-width:none;width:76vw;margin-top:5.3333vw;text-align:justify;}

  /* カードは横に送る（参考サイトのSPと同じ） */
  .panels{width:100%;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:4.2667vw;padding:0 11.4667vw;margin-top:14vw;scrollbar-width:none;justify-content:flex-start;}
  .panels::-webkit-scrollbar{display:none;}
  .panel{flex:0 0 77.0667vw;scroll-snap-align:center;border-radius:4vw;padding-bottom:10vw;}
  .panel .photo{height:53.0667vw;margin-bottom:7vw;}
  .panel .no{font-size:3.2vw;margin:9vw 0 4vw;}
  .panel h3{font-size:5.0667vw;margin-bottom:5.6vw;padding:0 5vw;}
  .panel p,.panel .end{width:61.3333vw;font-size:3.7333vw;line-height:1.8;}
  .panel .end{margin-top:6vw;padding-top:5vw;}
  .panel .end > i{font-size:3.2vw;margin-bottom:1.6vw;}

  .prod,.prod.rev{flex-direction:column-reverse;align-items:center;margin-top:30vw;}
  .prod .loop{bottom:auto;top:62vw;}
  .prod .info,.prod.rev .info{width:76vw;margin:12vw 0 0;align-items:center;text-align:center;}
  .prod .info .sub{font-size:3.2vw;}
  .prod .info h2,.prod .info h3{font-size:8vw;margin-top:3.2vw;}
  .prod .info .l{width:9.3333vw;margin-top:5.3333vw;}
  .prod .info .d-ttl{font-size:5.0667vw;margin-top:6vw;}
  .prod .info .d-text{font-size:3.7333vw;margin-top:5vw;text-align:justify;line-height:1.8;}
  .prod .info .change{border-radius:3.2vw;padding:4.4vw 5vw;font-size:3.7333vw;margin-top:7vw;text-align:left;}
  .prod .info .change > i{font-size:3.2vw;margin-bottom:1vw;}
  .howlist{margin-top:7vw;text-align:left;}
  .howlist li{padding:4vw 0 4vw 11vw;}
  .howlist li::before{top:5vw;font-size:3.2vw;}
  .howlist li > b{font-size:4vw;}
  .howlist li > span{font-size:3.4667vw;margin-top:1vw;}
  .sample{width:56.2667vw;height:111.4667vw;border-radius:10vw;padding:3.4vw 3.6vw;}
  .sample::before{top:3.4vw;width:24vw;height:4.2vw;border-radius:0 0 3vw 3vw;}
  .sample .scr,.sample .first{border-radius:7vw;}
  .sample .first p{font-size:3.2vw;margin-top:3vw;}
  .pin{width:6vw;height:6vw;min-width:24px;min-height:24px;}
  .pin > b{font-size:12px;}
  .bubble{border-radius:2.6vw;padding:2.6vw 3vw;font-size:3.2vw;}
  .bubble > i{font-size:12px;}
  .chip{border-radius:5vw;padding:1vw 3vw;font-size:2.2vw;}
  .okmark{width:18vw;height:18vw;min-width:0;min-height:0;}
  .urlbar{border-radius:5vw;padding:1.6vw 3vw;font-size:2.3vw;}
  .mock{width:84vw;margin-top:0;border-radius:3.2vw;}
  .mock .bar{height:8.4vw;padding:0 3vw;gap:1.2vw;}
  .mock .bar u{width:1.8vw;height:1.8vw;}
  .mock .bar > span{height:5.4vw;font-size:3.2vw;margin-left:2vw;padding:0 2.4vw;}
  .mock pre{padding:5vw 5vw 6vw;font-size:3.2vw;}

  .nums{flex-direction:column;width:76vw;margin-top:14vw;}
  .nums .item{width:100%;align-items:center;text-align:center;}
  .nums .item .k{font-size:4.2667vw;min-height:0;}
  .nums .item .k > small{font-size:3.2vw;}
  .nums .item .ba{font-size:3.7333vw;gap:2.4vw;margin-top:3vw;}
  .nums .item .ba > b{font-size:6.4vw;}
  .nums .item .ba svg{width:4vw;}
  .nums .item .r{font-size:13vw;margin-top:3vw;}
  .nums .sep{width:72vw;height:1px;margin:9vw auto;}
  .cond{width:76vw;font-size:3.2vw;margin-top:12vw;text-align:justify;}

  .statement{font-size:4.5333vw;width:80vw;margin-top:16vw;}
  .split{flex-direction:column;margin-top:14vw;}
  .split .ph{width:80vw;height:60vw;border-radius:4vw;}
  .split .ph.port{width:56vw;height:70vw;}
  .split .tx{width:76vw;margin:12vw 0 0;}
  .split .tx p{font-size:3.7333vw;}
  .split .tx p+p{margin-top:4vw;}
  .split .tx .role{font-size:3.2vw;text-align:center;}
  .split .tx .name{font-size:6.4vw;text-align:center;margin-top:1.6vw;}
  .split .tx .name > span{display:block;margin:2vw 0 0;font-size:3.2vw;}
  .split .tx .l{width:9.3333vw;margin:6vw auto 7vw;}

  .prices{width:84vw;grid-template-columns:1fr;gap:4.2667vw;margin-top:14vw;}
  .price{border-radius:4vw;padding:10vw 7vw;}
  .price .k{font-size:3.2vw;} .price h3{font-size:4.2667vw;margin-top:1.6vw;}
  .price .v{font-size:12vw;margin-top:4vw;} .price .tax{font-size:3.2vw;}
  .price p{font-size:3.7333vw;margin-top:5vw;}
  .extra{width:76vw;font-size:3.2vw;margin-top:8vw;text-align:justify;}

  .faq{width:84vw;margin-top:14vw;}
  .faq summary{padding:5.6vw 9vw 5.6vw 9vw;font-size:4vw;}
  .faq summary::before{top:5.8vw;font-size:4vw;}
  .faq summary::after{right:1.6vw;width:2.4vw;height:2.4vw;}
  .faq .a{padding:0 2vw 6.4vw 9vw;font-size:3.7333vw;}

  .contact{margin-top:56vw;}
  .contact .under{flex-direction:column;align-items:center;width:84vw;margin-top:14vw;}
  .formcard{width:100%;border-radius:4vw;padding:9vw 6.4vw 10vw;}
  .formcard .lead{font-size:4.2667vw;}
  .formcard ul.get{font-size:3.7333vw;margin:3vw 0 7vw;}
  .field{margin-top:5vw;}
  .field label{font-size:3.4667vw;margin-bottom:1.8vw;}
  .field label > em{font-size:3.2vw;}
  .field input,.field select,.field textarea{border-radius:1.6vw;padding:0 3.2vw;height:12.8vw;}
  .field textarea{height:30vw;padding:3vw 3.2vw;}
  .formcard .send{margin-top:8vw;}
  .formcard .alt{font-size:3.2vw;margin-top:6vw;line-height:1.9;}
  .contact .side{display:none;}

  .foot{height:84vw;min-height:0;margin-top:20vw;align-items:flex-start;}
  .foot .flogo{left:50%;top:auto;transform:translateX(-50%);bottom:62vw;width:36vw;min-width:0;}
  .foot .fnav{right:auto;left:0;top:auto;transform:none;width:100%;justify-content:center;bottom:38vw;gap:7vw;font-size:3.2vw;padding:9vw 0;}
  .foot .fnav::before,.foot .fnav::after{content:"";position:absolute;left:14vw;width:72vw;height:1px;background:rgba(196,196,196,.3);}
  .foot .fnav::before{top:0;} .foot .fnav::after{bottom:0;}
  .foot .sub{top:auto;transform:none;bottom:12vw;}
  .foot .sub .co{font-size:3.2vw;margin-bottom:6vw;}
  .foot .sub > small{font-size:3.2vw;}
}
@media (prefers-reduced-motion:reduce){
  .loop .track,.fix-scroll svg.ring circle,.menu .bg{animation:none;}
  .js-item{opacity:1;transform:none;transition:none;}
}

/* =====================================================================
   bottleworks.jp から取り入れた要素（2026-09-22 社長指示）
   ・切り抜き枠（SVGマスク＋わずかな傾き・ホバーで起き上がる）
   ・節の罫線と左の縦書きラベル「＜ LABEL」（1文字だけ反転）
   ・括弧つきの巨大英字マーキー＋方眼の飾り
   ・( VIEW MORE → ) 型のリンク・(001) の番号・右上の縦並びナビ
   ・写真が左から右へ開く出現・ヒーローのクロスフェード
   ===================================================================== */
:root{--rule:rgba(53,53,54,.32);--lat:rgba(53,53,54,.13);}
.indicator,.fix-cta,.menu-btn{display:none!important;}

/* 右上の縦並びナビ */
.bwnav{position:fixed;top:calc(5.4vw - 40px);right:5vw;z-index:50;display:flex;flex-direction:column;align-items:flex-start;gap:.55vw;}
.bwnav a{font-weight:700;font-size:max(13px,1.05vw);letter-spacing:.06em;line-height:1.6;color:var(--ink);transition:opacity .25s;}
.bwnav a:hover{opacity:.5;}
.bwnav sup{font-family:var(--en);font-weight:500;font-size:12px;margin-left:.3em;vertical-align:top;position:relative;top:-.1em;letter-spacing:0;}
.bwnav a.cta{margin-top:.8vw;display:inline-flex;align-items:center;height:max(38px,2.9vw);padding:0 1.5vw;border-radius:.6vw;background:#1e1e1f;color:#fff;font-size:max(12px,.9vw);}
.bwnav a.cta .arw{font-family:var(--en);margin-left:.8em;}
.plus-btn{display:none;}

/* ヒーロー */
.bwhero{position:relative;height:auto;min-height:100vh;display:block;padding:7.2vw 5vw 12vw 8.5vw;overflow:hidden;}
body.is-top .fix-copy{opacity:0;pointer-events:none;}
.hero-cut{position:relative;width:70vw;aspect-ratio:16/8.6;margin-left:3vw;z-index:1;}
.xfade{position:absolute;inset:0;}
.xfade .slide{position:absolute;inset:0;opacity:0;transition:opacity 2s;}
.xfade .slide.is-on{opacity:1;}
.xfade .slide>img{width:100%;height:100%;object-fit:cover;}
.hero-bubble{top:58%;left:36%;right:auto;width:22vw;}
.bw-h{position:relative;z-index:2;margin:-4.2vw 0 0 0;font-size:5.2vw;font-weight:700;line-height:1.25;letter-spacing:-.045em;}
.vcap{position:absolute;right:5vw;bottom:calc(14vw + 120px);z-index:2;writing-mode:vertical-rl;font-family:var(--en);font-weight:500;font-size:max(12px,.9vw);line-height:1.7;letter-spacing:.05em;padding-left:1vw;border-left:1px solid var(--ink);}
.hero-lat{left:0;bottom:2vw;width:24vw;height:14vw;}

/* 切り抜き枠 */
.cut,.cut-2,.cut-3,.cut-4,.cut-5{-webkit-mask-position:center;mask-position:center;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;}
.hero-cut{-webkit-mask-image:url(clippings/clip-1.svg);mask-image:url(clippings/clip-1.svg);}
.cut-2{-webkit-mask-image:url(clippings/clip-2.svg);mask-image:url(clippings/clip-2.svg);}
.cut-3{-webkit-mask-image:url(clippings/clip-3.svg);mask-image:url(clippings/clip-3.svg);}
.cut-4{-webkit-mask-image:url(clippings/clip-4.svg);mask-image:url(clippings/clip-4.svg);}
.cut-5{-webkit-mask-image:url(clippings/clip-5.svg);mask-image:url(clippings/clip-5.svg);}
.cut{rotate:var(--r,0deg);border-radius:0!important;box-shadow:none!important;transform:none!important;transition:rotate .4s cubic-bezier(.34,1.56,.64,1),clip-path .6s ease-out,opacity .9s;}
.cut:hover{rotate:0deg;}
.cut.js-item{clip-path:inset(0 100% 0 0);opacity:1;}
.cut.js-item.is-in{clip-path:inset(0 0 0 0);}
.collage img{border-radius:0;box-shadow:none;transition:rotate .4s cubic-bezier(.34,1.56,.64,1);}
.collage .b{transform:none;rotate:6deg;} .collage .a{transform:none;rotate:-3deg;} .collage .c{transform:none;rotate:3deg;}
.collage img:hover{rotate:0deg;}

/* 節の罫線と縦書きラベル */
.sec,.concept,#how{border-top:1px solid var(--rule);padding-top:7vw;}
.sec::before,.concept::before,#how::before{content:"";position:absolute;left:0;top:-1px;width:100%;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:0 0;transition:transform 1.2s cubic-bezier(.22,.61,.36,1);}
.sec.is-vis::before,.concept.is-vis::before,#how.is-vis::before{transform:scaleX(1);}
.sec::after,.concept::after,#how::after{content:"";position:absolute;left:5vw;top:0;bottom:0;width:1px;background:var(--rule);}
.contact.sec::after{bottom:auto;height:60%;}
.vlabel{position:absolute;left:1.35vw;top:2.4vw;writing-mode:vertical-rl;font-family:var(--en);font-weight:500;font-size:max(13px,1.2vw);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;}
.vlabel .lt{margin-bottom:.5em;}
.vlabel .flip{display:inline-block;font-weight:500;rotate:0deg;transition:rotate .5s cubic-bezier(.34,1.56,.64,1) .3s;}
.vlabel.is-in .flip{rotate:180deg;}
.sec .tag,.concept .tag{display:none;}

/* 括弧つきの巨大英字マーキー */
.bwq{position:relative;overflow:hidden;margin-top:16vw;padding:1vw 0;white-space:nowrap;}
.bwq-track{display:flex;width:max-content;animation:bwq 40s linear infinite;}
.bwq-track > span{font-family:var(--en);font-weight:500;font-size:8.4vw;line-height:1.1;letter-spacing:-.01em;color:var(--ink);}
@keyframes bwq{to{transform:translateX(-33.3333%);}}
.lattice{position:absolute;z-index:0;pointer-events:none;background-image:linear-gradient(var(--lat) 1px,transparent 1px),linear-gradient(90deg,var(--lat) 1px,transparent 1px);background-size:1.25vw 1.25vw;}
.bwq .lattice{left:0;bottom:0;width:18vw;height:9vw;}
.bwq.q2 .lattice{left:auto;right:0;top:0;bottom:auto;}
.bwq .bwq-track{position:relative;z-index:1;}
.q1{margin-top:12vw;} .q2{margin-top:18vw;} .q3{margin-top:20vw;}
#worry.sec{margin-top:12vw;} #numbers.sec{margin-top:12vw;} .contact.sec{margin-top:12vw;}

/* ( VIEW MORE → ) */
.plink{display:inline-flex;align-items:center;gap:.5em;white-space:nowrap;font-family:var(--en);font-weight:500;font-size:max(14px,1.1vw);letter-spacing:.08em;color:var(--ink);}
.plink > u{font-family:var(--jp);font-weight:700;text-decoration:underline;text-underline-offset:.35em;text-decoration-thickness:1px;}
.plink .pl,.plink .pr{font-size:1.3em;font-weight:400;}
.plink .arw{display:inline-block;transition:transform .4s cubic-bezier(.34,1.56,.64,1);}
.plink:hover .arw{transform:translateX(.4em);}
.plink.sm{font-size:max(12px,.9vw);}

/* (001) の番号 */
.has-num{position:relative;}
.num-lab{position:absolute;right:0;bottom:-3.2vw;display:flex;flex-direction:column;align-items:flex-end;line-height:1;z-index:2;}
.num-lab > b{font-family:var(--en);font-weight:500;font-size:2.6vw;letter-spacing:-.02em;}
.num-lab > small{font-family:var(--en);font-weight:500;font-size:max(12px,.7vw);letter-spacing:.14em;margin-top:.5vw;color:var(--sub);}
.prod .info{margin-bottom:3vw;}

@media screen and (max-width:750px){
  .bwnav{display:none;}
  .plus-btn{display:block;position:fixed;top:9.4667vw;right:8vw;width:8vw;height:8vw;z-index:60;}
  .plus-btn i{position:absolute;left:50%;top:50%;width:7vw;height:1.5px;background:var(--ink);translate:-50% -50%;}
  .plus-btn i:last-child{rotate:90deg;}
  .bwhero{min-height:0;padding:26vw 4vw 10vw 6vw;}
  .hero-cut{width:74vw;aspect-ratio:4/3;margin-left:1vw;}
  .hero-bubble{width:52vw;top:56%;left:24%;}
  .bw-h{font-size:9.6vw;margin:6vw 0 0;padding-right:10vw;}
  .vcap{right:4.5vw;bottom:auto;top:26vw;font-size:12px;padding-left:2vw;}
  .hero-lat{bottom:8vw;width:46vw;height:24vw;}
  .sec,.concept,#how{padding-top:16vw;}
  .sec::after,.concept::after,#how::after{left:9.6vw;}
  .vlabel{left:3vw;top:6vw;font-size:3.6vw;letter-spacing:.1em;}
  .bwq{margin-top:30vw;padding:2vw 0;}
  .bwq-track > span{font-size:18vw;}
  .lattice{background-size:3.2vw 3.2vw;}
  .bwq .lattice{width:44vw;height:18vw;}
  .q1,.q2,.q3{margin-top:26vw;}
  #worry.sec,#numbers.sec,.contact.sec{margin-top:24vw;}
  .plink{font-size:3.7333vw;}
  .plink.sm{font-size:3.2vw;}
  .collage{scale:.88;transform-origin:0 0;height:94vw;margin-left:9vw;}
  .num-lab{bottom:-9vw;right:2vw;}
  .num-lab > b{font-size:8.5vw;} .num-lab > small{font-size:3.2vw;margin-top:1.4vw;}
  .prod .info{margin-bottom:0;}
}
@media (prefers-reduced-motion:reduce){.bwq-track{animation:none;} .xfade .slide{transition:none;} .cut.js-item{clip-path:none;}}

/* ---------- 電話の切り替え：CLICKの幕をやめ、画面下の白いピルに（2026-09-22 社長指示） ---------- */
.sample .first{display:none;}
.sample .sw{position:absolute;left:50%;bottom:5.5%;transform:translateX(-50%);z-index:3;display:flex;align-items:center;gap:.7vw;padding:.55vw .95vw .55vw .8vw;border-radius:3vw;background:rgba(255,255,255,.94);box-shadow:0 .4vw 1.2vw rgba(0,0,0,.16);white-space:nowrap;pointer-events:none;}
.sample .sw > .dots{display:flex;gap:.32vw;}
.sample .sw > .dots > i{display:block;width:.5vw;height:.5vw;min-width:6px;min-height:6px;border-radius:50%;background:var(--line);transition:background .3s;}
.sample .sw > .dots > i.on{background:var(--gold);}
.sample .sw > .lbl{font-family:var(--jp);font-weight:700;font-size:max(12px,.78vw);letter-spacing:.04em;color:var(--ink);line-height:1;}
.sample .sw > .lbl::after{content:"→";font-family:var(--en);font-weight:500;margin-left:.5em;}
.sample:hover .sw{background:#fff;}
@media screen and (max-width:750px){
  .logo{top:9.4667vw;}
  .sample .sw{bottom:5.5%;gap:2vw;padding:1.8vw 3vw 1.8vw 2.6vw;border-radius:8vw;}
  .sample .sw > .dots{gap:1vw;}
  .sample .sw > .lbl{font-size:12px;}
}

/* 無料相談フォームの返事（送信の成否） */
.lpmsg{margin-top:1.2vw;padding:1vw 1.2vw;border-radius:.4vw;font-size:max(13px,.9vw);line-height:1.9}
.lpmsg.ok{background:#eef1ec;border-left:3px solid #5a6b52;color:#33402d}
.lpmsg.ng{background:#f3ecec;border-left:3px solid #8a5a5a;color:#5c3434}
@media (max-width:750px){.lpmsg{margin-top:4vw;padding:3.5vw 4vw;border-radius:1.6vw;font-size:3.4vw}}
