/*
Theme Name: MIROKU LABO
Theme URI: https://miroku-labo.com
Author: MIROKU LABO
Description: MIROKU LABO 渋川印刷 オリジナルテーマ
Version: 3.0.0
Text Domain: miroku-labo
*/

/* ===== 基本 ===== */
:root{--red:#ed1c24;--ink:#000;--grey:#808080;--yellow:#fcee21;--font:'ud-shin-go-pr6n','shin-go-pr6n','Noto Sans JP','Noto Sans CJK JP','Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;--hero:'Dela Gothic One','ud-shin-go-pr6n','Noto Sans JP','Noto Sans CJK JP',sans-serif;--head:'ud-shin-go-pr6n','shin-go-pr6n','Noto Sans JP','Noto Sans CJK JP',sans-serif;--lat:'Montserrat','Noto Sans JP',sans-serif;--num:'din-2014-narrow','din-2014','Oswald','Noto Sans JP',sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-feature-settings:"palt";font-family:var(--font);font-weight:400;color:var(--ink);background:#fff;line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none;margin:0;padding:0}
h1,h2,h3,h4,p{margin:0}
button{font:inherit;color:inherit;cursor:pointer}
.wrap{width:min(1200px,100% - 40px);margin-inline:auto}
.skip{position:absolute;left:-999px;top:0;background:#fff;color:#000;padding:8px 14px;z-index:10000}.skip:focus{left:8px;top:8px}
:focus-visible{outline:3px solid #2b8cff;outline-offset:2px}
.ic{display:inline-block;vertical-align:middle;flex:none}

/* ===== ヘッダー ===== */
.hdr{background:#000;border-bottom:6px solid #f00;position:relative;z-index:50}
.hdr-in{width:min(1500px,100%);margin:0 auto;height:120px;display:flex;align-items:center;padding:0 40px}
.brand{display:flex;align-items:center;gap:22px;color:#fff}
.brand-ring{height:80px;width:auto}
.brand-txt{display:block}
.brand-name{display:block;font:800 32px/1 var(--lat);letter-spacing:.005em;white-space:nowrap}
.brand-name i{font-style:normal;color:var(--red)}
.brand-sub{display:block;margin-top:9px;font:700 13px/1 var(--lat);text-align:center;letter-spacing:.01em}
.hdr-r{margin-left:auto;text-align:right;color:#fff;padding-top:2px}
.hdr-c1,.hdr-c2{font-size:16px;line-height:20px;font-weight:400}
.hdr-c2{margin-top:11px}
.gnav{margin-top:13px}
.gnav ul{display:flex;justify-content:flex-end;flex-wrap:nowrap;gap:clamp(12px,1.55vw,24px)}
.gnav a{display:block;font:400 clamp(12px,1.12vw,16px)/24px var(--lat);color:#fff;letter-spacing:0;white-space:nowrap;position:relative}
.gnav a::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.gnav a:hover::after,.gnav a:focus-visible::after{transform:scaleX(1)}
.gnav a{display:grid!important;justify-items:center}
.gnav .nv-en,.gnav .nv-ja{grid-area:1/1;transition:opacity .2s}
.gnav .nv-ja{opacity:0;font-family:var(--font);font-weight:700;letter-spacing:0}
.gnav a:hover .nv-en,.gnav a:focus-visible .nv-en{opacity:0}
.gnav a:hover .nv-ja,.gnav a:focus-visible .nv-ja{opacity:1}
@media (hover:none){.gnav .nv-ja{display:none}}
.burger{display:none}

/* ===== ボタン共通 ===== */
.pill-red{display:flex;align-items:center;justify-content:center;gap:12px;width:484px;max-width:100%;height:57px;border-radius:999px;background:var(--red);color:#fff;font:700 32px/1 var(--font);position:relative;transition:filter .2s,transform .2s}
.pill-red:hover{filter:brightness(1.08);transform:translateY(-1px)}
.pill-red .chev{position:absolute;right:30px}
.sns3{display:flex;justify-content:center;gap:19px;margin:17px auto 19px;padding:0 20px}
.sb{display:flex;align-items:center;justify-content:center;gap:9px;width:289px;height:66px;border-radius:11px;color:#fff;font:700 19px/1 var(--font);white-space:nowrap;transition:filter .2s,transform .2s}
.sb:hover{filter:brightness(1.07);transform:translateY(-1px)}
.sb img{height:36px;width:auto}
.sb-line{background:#60bd38}.sb-insta{background:linear-gradient(90deg,#ed2375,#f5812c)}.sb-mail{background:#29abe2}
.sb-line img{height:34px}.sb-mail img{height:38px}
.sb-mail span{font-size:20px}
.sns3.on-dark{margin:0 auto}.sns3.on-dark .sb{height:64px}
.sns3.on-dark .sb-mail{background:#fff;color:#000}

/* ===== 全ページ共通ルール：一番上の背景は、画面の端から端までいっぱいに（background-size:cover）。
   中の文字・写真は max-width の中央に置く。各ページのヒーローを作る時も必ずこれに合わせる ===== */

/* ===== TOP ヒーロー ===== */
.hero{background:#0a0a0a url(assets/img/hero.jpg) center/cover no-repeat;height:min(37.64vw,542px)}
.hero-in{container-type:inline-size;position:relative;max-width:1440px;height:100%;margin:0 auto;color:#fff}
.hero-in>*{position:absolute}
.hero-mascot{left:2.6cqw;top:.9cqw;height:36.2cqw;width:auto}
.hero-h1{left:30.4cqw;top:3.6cqw;font-family:var(--hero);font-style:italic;font-weight:900;font-synthesis:none;letter-spacing:-.01em;line-height:1;white-space:nowrap;text-shadow:.35cqw .35cqw 0 rgba(0,0,0,.55);transform:rotate(-2.5deg) skewX(-7deg);transform-origin:left bottom}
.hero-h1 span{display:block}
.hero-h1 .l1{font-size:5.5cqw;height:6.1cqw}
.hero-h1 .l2{font-size:5.95cqw;margin-top:-.2cqw;padding-left:1.1cqw}
.hero-h1 small{font-size:3.6cqw}
.hero-h1 em{font-style:normal;color:#f00;font-size:1.28em}
.hero-s1,.hero-s2,.hero-note{left:50%;transform:translateX(-50%);text-align:center;white-space:nowrap;text-shadow:0 0 .6cqw #000,0 0 1.2cqw #000}
.hero-s1{top:20.5cqw;font-size:2.55cqw;font-weight:700;line-height:1.3}
.hero-s2{top:24.2cqw;font-size:1.68cqw;font-weight:500;line-height:1.3}
.hero-in .pill-red{left:50%;transform:translateX(-50%);top:27.6cqw;width:33.6cqw;height:4cqw;font-size:2.25cqw;gap:.8cqw}
.hero-in .pill-red:hover{transform:translateX(-50%) translateY(-1px)}
.hero-in .pill-red .ic:first-child{width:2.4cqw;height:2.4cqw}
.hero-in .pill-red .chev{right:2.2cqw;width:1.6cqw;height:1.6cqw}
.hero-note{top:32.7cqw;font-size:1.08cqw;line-height:1.4;font-weight:500}

/* ===== TOP カード ===== */
.home-cards{padding-top:0}
.grid{display:grid;gap:18px}
.g2{grid-template-columns:1fr 1fr}
.g4{grid-template-columns:repeat(4,1fr);gap:17px}
.card{position:relative;display:block;overflow:hidden;border-radius:16px;color:#fff;background:#222;isolation:isolate}
.card-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .5s}
.card::after{content:"";position:absolute;inset:0;z-index:-1}
.card:hover .card-bg{transform:scale(1.04)}
.card-t{display:block;font:900 30px/1.2 var(--font);letter-spacing:.01em;text-shadow:0 1px 6px rgba(0,0,0,.45)}
.card-t small{font:700 21px/1 var(--lat);margin-left:14px;letter-spacing:.01em}
.card-d{display:block;font-size:16px;line-height:23px;font-weight:500;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.card-body{position:absolute;left:27px;right:27px;bottom:22px}
.card-body .card-d{margin-top:10px}
.c-big{height:376px}
.c-big::after,.c-shade-b::after{background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.88) 100%)}
.c-mid{height:187px}
.c-mid .card-body{bottom:18px}.c-mid .card-bg{object-position:50% 62%}.c-mid .card-d{margin-top:6px;line-height:23px}
.c-shade-all::after{background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.72))}
.g2-mid{margin-top:17px}
.g4{margin-top:17px}
.c-sm{height:183px;padding:13px 17px}
.c-sm .card-t{font-size:27px;line-height:1.25}
.c-sm .card-d{position:absolute;left:17px;right:17px;bottom:14px;font-size:16px;line-height:20px}
.c-top::after{background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.25) 55%,rgba(0,0,0,.6))}
.c-gray::after{background:rgba(60,60,60,.62)}
.card:focus-visible{outline-offset:3px}

/* 同業者バナー */
.biz-banner{position:relative;display:block;height:138px;margin-top:19px;border-radius:12px;overflow:hidden;background:var(--yellow);color:#000}
.biz-img{position:absolute;right:0;top:0;height:100%;width:38%;object-fit:cover;filter:brightness(.55) saturate(.65) contrast(1.1);clip-path:polygon(23% 0,100% 0,100% 100%,0 100%)}
.biz-ic{position:absolute;left:24px;top:26px;width:110px;height:auto}
.biz-txt{position:absolute;left:150px;top:22px}
.biz-txt strong{display:block;font:900 32px/1.25 var(--font);letter-spacing:.005em}
.biz-txt em{font-style:normal;color:#c1272d}
.biz-txt span{display:block;margin-top:8px;font-size:20px;font-weight:700;line-height:1.3}
.biz-btn{position:absolute;right:40px;top:44px;width:170px;height:54px;border-radius:10px;background:var(--red);color:#fff;font:700 20px/54px var(--font);text-align:center;transition:filter .2s}
.biz-btn b{font-weight:700;margin-left:6px}
.biz-banner:hover .biz-btn{filter:brightness(1.1)}

/* Instagram */
.insta{margin-top:27px;border-top:2px solid #000;padding-top:20px}
.insta-head{display:flex;align-items:center;gap:26px}
.insta-head img{width:260px;height:auto}
.insta-head h2{font:700 24px/1 var(--font)}
.insta-feed{margin-top:27px}
.insta-ph{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.insta-ph li{aspect-ratio:1;background:#f2f2f2;border-radius:10px;overflow:hidden}
.insta-ph a{display:block;width:100%;height:100%}.insta-ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.insta-ph a:hover img{transform:scale(1.06)}

/* 選ばれる理由 */
.why{margin-top:32px;border-top:2px solid #000;padding-top:20px}
.why-head{display:flex;align-items:center;min-height:93px;gap:20px}
.why-t h2{font:900 38px/1.1 var(--head);font-synthesis:none;letter-spacing:.02em}
.why-t span{display:block;margin-top:6px;font:700 18px/1 var(--lat);letter-spacing:.2em;color:#9a9a9a}
.why-lead{font-size:22px;font-weight:700;line-height:1.4;flex:1}
.gbadge{display:flex;align-items:center;justify-content:space-between;gap:20px;width:473px;height:93px;border:2px solid #000;border-radius:14px;padding:0 18px 0 22px;flex:none}
.gb-l{display:flex;flex-direction:column;align-items:center;line-height:1.1}.gb-l b{font-size:16px;font-weight:900;margin-top:2px}
.glogo{font:700 40px/1 'Montserrat',sans-serif;letter-spacing:0}
.glogo i{font-style:normal}.glogo i:nth-child(1){color:#4285f4}.glogo i:nth-child(2){color:#ea4335}.glogo i:nth-child(3){color:#fbbc05}.glogo i:nth-child(4){color:#4285f4}.glogo i:nth-child(5){color:#34a853}.glogo i:nth-child(6){color:#ea4335}
.gb-r{font-size:18px;font-weight:900}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:20px}
.why-c{border:2px solid #000;border-radius:26px;height:270px;padding:20px 12px 0;text-align:center}
.why-c img{margin:0 auto;height:84px;width:auto}
.why-c h3{margin-top:19px;font:700 24px/1.2 var(--font)}
.why-c p{margin-top:15px;font-size:18px;line-height:1.45;font-weight:900;color:var(--grey)}

/* 設備 */
.equip{background:#000;color:#fff;margin-top:28px;padding:30px 0 34px}
.equip h2{font:900 34px/1.3 var(--font);letter-spacing:.04em}
.eq-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:20px}
.eq-grid img{width:100%;aspect-ratio:288/164;object-fit:cover;border-radius:12px}
.eq-grid span{display:block;margin-top:8px;font-size:21px;font-weight:700;line-height:1.3}

/* information */
.news-sec{padding:34px 0 0}
.news-in{width:min(1160px,100% - 40px);margin-inline:auto;display:flex;align-items:flex-end;gap:30px;padding-left:10px}
.news-mascot{width:190px;height:auto;flex:none;margin-bottom:-1px}
.news-box{flex:1;min-height:198px;border:2px solid #000;border-radius:16px;padding:14px 34px 18px}
.news-box h2{display:flex;align-items:center;gap:14px;font:700 22px/1 var(--lat)}
.news-box h2 i{flex:1;height:2px;background:#000}
.news-list{margin-top:18px}
.news-item{display:flex;gap:18px;align-items:baseline;background:none;border:0;padding:6px 0;text-align:left;font-weight:700;font-size:18px;width:100%}
.news-item time{font-family:var(--lat);font-weight:700;flex:none}
.news-item span{border-bottom:1px solid transparent}
.news-item:hover span{border-color:#000}
.news-empty{margin-top:18px;font-weight:700}

/* SNS行・キャッチ */
.sns-row{width:min(1120px,100% - 40px);margin:30px auto 0;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:nowrap;padding-bottom:17px;border-bottom:2px solid #000}
.sns-row-t{font:900 26px/1.2 var(--font);letter-spacing:-.01em;white-space:nowrap}
.sns-row-t .chk{display:inline-block;width:26px;height:26px;margin:0 2px;vertical-align:-3px;border:2px solid #444;background:#e7e7e7;position:relative}
.sns-row-t .chk::after{content:"";position:absolute;left:3px;top:-6px;width:12px;height:22px;border:solid #6cba2c;border-width:0 5px 5px 0;transform:rotate(40deg)}
.sns-row-b{display:flex;gap:11px}
.sns-row-b img{height:43px;width:auto;border-radius:9px}
.tagline{text-align:center;font:700 22px/1.4 var(--font);letter-spacing:.02em;padding:16px 20px 18px}

/* フッター */
.foot{background:#000;color:#fff;text-align:center;padding:22px 20px 22px}
.foot-h{font:700 32px/1.3 var(--font);letter-spacing:.03em}
.foot-sub{margin:6px 0 24px;font-size:17px;font-weight:700}
.foot .pill-red{width:416px;height:48px;margin:21px auto 0;font-size:28px}
.foot .pill-red .chev{right:26px}
.foot-tel{margin-top:14px;font:700 50px/1.1 var(--num);letter-spacing:.015em}
.foot-hours{margin-top:11px;font-size:17px;font-weight:700}
.foot-addr{font-size:16px;font-weight:400}
.foot-nav{margin-top:34px}.foot-nav ul{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 34px}
.foot-nav a{font:400 17px/1.6 var(--lat)}.foot-nav a:hover{text-decoration:underline}
.copy{text-align:center;padding:9px 0 12px;font:700 15px/1.6 var(--lat)}
.copy-l{margin-top:2px;font:400 13px/1.6 var(--font)}.copy-l a{margin:0 10px;color:#555;text-decoration:underline}

/* ===== ポップアップ（トピックス・制作実績） ===== */
.modal[hidden]{display:none}
.modal{position:fixed;inset:0;z-index:9990;display:flex;align-items:center;justify-content:center;padding:20px}
.modal-bg{position:absolute;inset:0;background:rgba(0,0,0,.62);animation:mfade .3s ease both}
.modal-box{position:relative;width:min(880px,100%);max-height:min(88vh,860px);background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 20px 70px rgba(0,0,0,.45);animation:mfloat .38s cubic-bezier(.2,.8,.25,1) both;outline:0}
.modal-scroll{max-height:min(88vh,860px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.modal-x{position:absolute;top:12px;right:12px;z-index:5;width:44px;height:44px;border-radius:50%;border:0;background:rgba(0,0,0,.82);box-shadow:0 2px 10px rgba(0,0,0,.3)}
.modal-x span{position:absolute;left:11px;right:11px;top:21px;height:2px;background:#fff;transform:rotate(45deg)}
.modal-x span+span{transform:rotate(-45deg)}
.modal-x:hover{background:var(--red)}
.modal-text{padding:26px 34px 36px}
.modal-meta{font:700 14px/1 var(--lat);color:var(--red);letter-spacing:.06em}
.modal-meta:empty{display:none}
.modal-title{margin-top:8px;font:900 26px/1.45 var(--font)}
.modal-body{margin-top:16px;font-size:16px;line-height:1.95;font-weight:500}
.modal-body p{margin:0 0 1em}.modal-body img{border-radius:8px;margin:1em 0}
.gal{position:relative;background:#111}
.gal-view{aspect-ratio:3/2;display:flex;align-items:center;justify-content:center;overflow:hidden}
.gal-img{width:100%;height:100%;object-fit:contain;transition:opacity .25s}
.gal-btn{position:absolute;top:calc(50% - 22px);width:46px;height:46px;border-radius:50%;border:0;background:rgba(0,0,0,.65);color:#fff}
.gal-btn::before{content:"";position:absolute;left:50%;top:50%;width:12px;height:12px;border:solid #fff;border-width:3px 3px 0 0}
.gal-prev{left:12px}.gal-prev::before{transform:translate(-30%,-50%) rotate(-135deg)}
.gal-next{right:12px}.gal-next::before{transform:translate(-70%,-50%) rotate(45deg)}
.gal-btn:hover{background:var(--red)}
.gal-dots{display:flex;justify-content:center;gap:10px;padding:14px 0;background:#fff}
.gal-dots button{width:11px;height:11px;border-radius:50%;border:0;padding:0;background:#c9c9c9;transition:background .2s,transform .2s}
.gal-dots button[aria-selected="true"]{background:var(--red);transform:scale(1.35)}
@keyframes mfade{from{opacity:0}to{opacity:1}}
@keyframes mfloat{from{opacity:0;transform:translateY(28px) scale(.97)}to{opacity:1;transform:none}}
body.modal-open{overflow:hidden}

/* ===== ロゴの導入アニメーション（毎回・約1秒） ===== */
#intro{position:fixed;inset:0;z-index:10001;background:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(26px,6vmin,48px);animation:introOut .6s ease 3.3s forwards}
#intro .intro-svg{width:min(52vmin,420px);height:auto;overflow:visible}
#intro .il{opacity:0;transform-box:fill-box;transform-origin:center;animation:ilIn .8s cubic-bezier(.2,.9,.3,1.2) calc(var(--i)*.08s) forwards,ilBurst .7s cubic-bezier(.3,0,.8,.4) 3.05s forwards}
@keyframes ilIn{from{opacity:0;transform:scale(.55)}to{opacity:1;transform:none}}
@keyframes ilBurst{from{opacity:1;transform:none}to{opacity:0;transform:translate(var(--dx,0px),var(--dy,0px)) rotate(var(--rot,0deg)) scale(1.5)}}
@keyframes introOut{to{opacity:0;visibility:hidden}}
@media (prefers-reduced-motion:reduce){#intro{display:none}.modal-bg,.modal-box{animation:none}html{scroll-behavior:auto}}

/* ===== マウスに追従する玉 ===== */
.cursor{position:fixed;left:0;top:0;width:16px;height:16px;margin:-8px 0 0 -8px;border:2px solid var(--red);border-radius:50%;pointer-events:none;z-index:9995;opacity:0;transition:width .25s,height .25s,margin .25s,background .25s,opacity .25s;will-change:transform}
.cursor.on{opacity:1}
.cursor.big{width:46px;height:46px;margin:-23px 0 0 -23px;background:rgba(237,28,36,.16)}
@media (hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.cursor{display:none}}

/* ===== 画面幅が狭いとき ===== */
@media (max-width:1240px){
  .hdr-in{padding:0 20px}
}
@media (max-width:1100px){
  .hdr-in{height:76px}
  .brand{gap:12px}.brand-ring{height:48px}
  .brand-name{font-size:21px}.brand-sub{font-size:9px;margin-top:5px}
  .hdr-r{position:fixed;inset:82px 0 0 0;background:#000;padding:26px 24px;text-align:left;overflow:auto;transform:translateX(100%);transition:transform .3s;visibility:hidden}
  .menu-open .hdr-r{transform:none;visibility:visible}
  .hdr-c1,.hdr-c2{display:none}
  .gnav{margin:0}.gnav ul{flex-direction:column;gap:0}
  .gnav a{font-size:20px;padding:15px 4px;border-bottom:1px solid #333;line-height:1.4}
  .gnav a::after{display:none}
  .burger{display:block;margin-left:auto;width:48px;height:48px;background:none;border:0;position:relative}
  .burger span{position:absolute;left:11px;right:11px;height:3px;background:#fff;border-radius:2px;transition:transform .25s,opacity .2s}
  .burger span:nth-child(1){top:15px}.burger span:nth-child(2){top:23px}.burger span:nth-child(3){top:31px}
  .menu-open .burger span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .menu-open .burger span:nth-child(2){opacity:0}
  .menu-open .burger span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  body.menu-open{overflow:hidden}
}
@media (max-width:900px){
  /* TOP ヒーロー：スマホ用に組み直し */
  .hero{height:auto;background:#0a0a0a url(assets/img/hero.jpg) 62% center/cover no-repeat}
  .hero-in{container-type:normal;height:auto;padding:30px 20px 34px;display:flex;flex-direction:column;align-items:center;text-align:center;background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.78))}
  .hero-in>*{position:static;transform:none!important}
  .hero-mascot{order:5;height:150px;margin:6px 0 0;align-self:flex-end;margin-right:-4px}
  .hero-h1{font-size:0;transform:rotate(-2.5deg) skewX(-7deg)!important;text-align:left;align-self:flex-start}
  .hero-h1 .l1{font-size:41px;height:auto}.hero-h1 .l2{font-size:36px;margin-top:4px;padding-left:0}.hero-h1 small{font-size:27px}
  .hero-s1{margin-top:20px;font-size:21px}.hero-s2{margin-top:4px;font-size:15px}
  .hero-in .pill-red{width:100%;max-width:340px;height:56px;margin-top:18px;font-size:23px}
  .hero-in .pill-red .ic:first-child{width:26px;height:26px}.hero-in .pill-red .chev{right:20px;width:17px;height:17px}
  .hero-note{margin-top:12px;font-size:12.5px;white-space:normal}
  .hero-note br{display:none}
  .sns3{flex-direction:column;align-items:center;gap:10px}
  .sb{width:100%;max-width:340px}
  .grid,.g2,.g4{grid-template-columns:1fr;gap:14px}
  .g4{grid-template-columns:1fr 1fr;gap:12px}
  .c-big{height:260px}.c-mid{height:200px}.c-sm{height:190px;padding:12px 14px}
  .card-t{font-size:24px}.card-t small{font-size:16px;margin-left:10px}
  .c-sm .card-t{font-size:17px}.c-sm .card-d{font-size:13px;line-height:1.5;left:14px;right:14px}
  .card-body{left:18px;right:18px}.card-d{font-size:14px;line-height:1.6}
  .c-mid .card-d br{display:none}
  .biz-banner{height:auto;min-height:170px;padding:18px 18px 70px}
  .biz-img{width:100%;opacity:.35;clip-path:none}
  .biz-ic,.biz-txt,.biz-btn{position:relative;left:auto;right:auto;top:auto}
  .biz-ic{width:70px}.biz-txt{display:block;margin-top:8px}.biz-txt strong{font-size:21px}.biz-txt span{font-size:14px}
  .biz-btn{position:absolute;right:18px;bottom:16px;width:140px;height:44px;line-height:44px;font-size:17px}
  .insta-head{gap:14px}.insta-head img{width:150px}.insta-head h2{font-size:18px}
  .insta-ph{grid-template-columns:repeat(3,1fr)}.insta-ph li:nth-child(n+4){display:none}
  .why-head{flex-direction:column;align-items:flex-start;gap:12px}
  .why-t h2{font-size:30px}.why-lead{font-size:17px}
  .gbadge{width:100%;height:auto;min-height:76px;padding:10px 14px}
  .why-grid{grid-template-columns:1fr 1fr;gap:10px}
  .why-c{height:auto;padding:16px 10px 18px;border-radius:20px}
  .why-c h3{font-size:15px;margin-top:12px}.why-c p{font-size:13px;margin-top:8px}.why-c img{height:60px}
  .equip h2{font-size:23px}.eq-grid{grid-template-columns:1fr 1fr;gap:12px}.eq-grid span{font-size:15px}
  .news-in{flex-direction:column;align-items:stretch;gap:0;padding-left:0}
  .news-mascot{width:130px;align-self:flex-start;margin-left:6px}
  .news-box{padding:12px 18px 16px}.news-item{font-size:15px;flex-wrap:wrap;gap:4px 12px}
  .sns-row{flex-direction:column;align-items:flex-start}.sns-row-t{font-size:19px}
  .tagline{font-size:15px}
  .foot-h{font-size:22px}.foot-sub{font-size:13px}
  .foot .pill-red{width:100%;max-width:340px;font-size:23px}
  .foot-tel{font-size:38px}.foot-hours{font-size:14px}
  .foot-nav ul{gap:8px 22px}.foot-nav a{font-size:15px}
  .modal{padding:12px}.modal-text{padding:20px 20px 30px}.modal-title{font-size:21px}
}
@media (max-width:420px){
  .hero-h1 .l1{font-size:35px}.hero-h1 .l2{font-size:30px}.hero-h1 small{font-size:23px}
}


/* ===== 下層ページ共通（SIGN など） ===== */
.sh{background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.66) 55%,rgba(0,0,0,.5)) ,#0a0a0a var(--bg) center/cover no-repeat;overflow:hidden}
.sh .hero-in{overflow:visible}
.sh-title,.sh-en,.sh-lead{left:8.33cqw;white-space:nowrap;color:#fff;font-weight:900;paint-order:stroke fill;-webkit-text-stroke:.55cqw #000;text-stroke:.55cqw #000;line-height:1;letter-spacing:-.01em}
.sh-title{top:2.4cqw;font-size:4.5cqw;font-family:var(--head);-webkit-text-stroke-width:.7cqw;letter-spacing:-.01em}
.sh-en{top:7.9cqw;font-size:2.45cqw;font-family:var(--lat);font-weight:800;letter-spacing:-.01em}
.sh-lead{top:11.6cqw;font-size:1.46cqw;font-weight:700;-webkit-text-stroke-width:.3cqw;letter-spacing:0}
.sh-s1,.sh-s2,.sh-note{left:25.3cqw;transform:translateX(-50%);text-align:center;white-space:nowrap;text-shadow:0 0 .6cqw #000,0 0 1.2cqw #000,0 0 2.2cqw rgba(0,0,0,.85)}
.sh-s1{top:16.9cqw;font-size:2.78cqw;font-weight:700;line-height:1.3}
.sh-s2{top:20.9cqw;font-size:1.53cqw;font-weight:500;line-height:1.3}
.sh .hero-in .pill-red{left:8.5cqw;transform:none;top:24.6cqw;width:33.7cqw;height:4cqw;font-size:2.25cqw}
.sh .hero-in .pill-red:hover{transform:translateY(-1px)}
.sh-note{top:29.4cqw;font-size:1.1cqw;line-height:1.4;font-weight:500}
.sh-mascot{left:62cqw;top:5.6cqw;width:36.5cqw;height:auto}

.pg-intro{text-align:center;font:700 19px/34px var(--font);margin:0 auto;padding:0 20px;max-width:1100px}
.pill-mid{width:485px;margin:19px auto 0;height:57px;font:400 30px/1 var(--font)}
.pill-mid .chev{right:34px}
.img-note{text-align:right;font:300 14px/1.4 var(--font);margin-top:6px;color:#444}
.blk{padding-top:14px}
.blk-line{border-top:2px solid #000;margin-top:22px;padding-top:24px}
.blk-h{font:900 34px/1.3 var(--head);font-synthesis:none;letter-spacing:.01em}
.blk-h small{margin-left:20px;font:700 20px/1 var(--font);color:#666;letter-spacing:0}
.blk-hc{text-align:center;font:900 34px/1.3 var(--head);font-synthesis:none}

/* SIGN */
.sg-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:18px}
.sg-photo{display:block;border-radius:15px;overflow:hidden;aspect-ratio:293/172}
.sg-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.sg-photo:hover img{transform:scale(1.04)}
.sg-cards h2{margin-top:14px;font:900 27px/1.25 var(--head);font-synthesis:none;letter-spacing:.01em;white-space:nowrap}
.sg-kinds{margin-top:10px;padding-bottom:9px;width:275px;max-width:100%;border-bottom:2px solid #c1272d}
.sg-kinds li{font:700 19px/28px var(--font)}
.sg-cards>li>p{margin-top:12px;width:275px;max-width:100%;font:400 19px/28px var(--font);color:#333}
.flow{display:flex;align-items:flex-start;justify-content:space-between;margin-top:30px}
.flow-i{width:232px;text-align:center}
.flow-ar{flex:1;display:flex;justify-content:center;padding-top:94px}
.flow-img{position:relative;display:block;width:232px;height:232px;border:2px solid #000;border-radius:28px;padding:9px;background:#fff}
.flow-img img{width:100%;height:100%;object-fit:cover;border-radius:20px}
.flow-img.s1 img{background:#f7931e;object-fit:cover}
.tag-anken{position:absolute;left:20.5%;top:27%;transform:translate(-50%,-50%) rotate(-12deg);font:700 17px/1 var(--font);color:#222;white-space:nowrap}
.tag-uchi{position:absolute;left:57%;top:67.5%;transform:translate(-50%,-50%);font:700 23px/1 var(--font);letter-spacing:.04em;color:#222;white-space:nowrap}
.flow-i h3{margin-top:7px;font:900 25px/1.3 var(--font);font-synthesis:none;letter-spacing:-.01em;white-space:nowrap}
.flow-i p{margin-top:4px;font:400 15.5px/1.5 var(--font);color:#333}
.blk-price{padding-top:30px}
.price-sub{text-align:center;margin-top:6px;font:700 16px/1.5 var(--font)}
.pr-grid{display:grid;grid-template-columns:repeat(3,1fr);width:1204px;max-width:100%;margin:16px 0 0 -2px}
.pr-grid>li{text-align:center;padding:0 10px}.pr-grid>li+li{border-left:1px dashed #000}
.pr-grid h3{font:900 26px/1.3 var(--font);font-synthesis:none}
.pr-n{margin-top:6px;font:700 56px/1.1 var(--num);color:#00a99d;letter-spacing:.005em}
.pr-n span{font-family:var(--font)}.pr-n .pr-t{font-size:.8em}
.pr-n small{font:700 .42em var(--num)}
.pr-grid ul{margin-top:2px}.pr-grid ul li{font:700 19px/28px var(--font)}
.pr-note{width:min(715px,100%);margin:34px auto 0}
.pr-note li{position:relative;padding-left:18px;font:700 19px/27px var(--font)}.pr-note li+li{margin-top:7px}
.pr-note li::before{content:"・";position:absolute;left:0}
.kinds{display:grid;grid-template-columns:repeat(4,1fr);margin-top:22px;padding-left:40px}
.kinds li{font:700 23px/34px var(--font)}
.mk-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:15px;margin-top:22px}
.mk{display:flex;flex-direction:column;height:132px;border:1px solid #000;border-radius:14px;background:#fff;overflow:hidden;transition:transform .2s,box-shadow .2s}
.mk:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.18)}
.mk.gray{background:#999;border-color:#999;color:#e8e8e8}
.mk-logo{flex:1;display:flex;align-items:center;justify-content:center;padding:12px 16px 0;min-height:0}
.mk-logo img{max-width:100%;max-height:78px;width:auto;height:auto;object-fit:contain}
.mk.gray .mk-logo{padding:0 8px;background:#999}.mk.gray .mk-logo img{max-height:84px;mix-blend-mode:normal}
.mk-tateyama{text-align:center;color:#666}.mk-tateyama b{display:block;font:900 30px/1 var(--lat);letter-spacing:.02em;color:#555}.mk-tateyama i{display:block;font:400 19px/1.3 var(--font);font-style:normal;margin-top:4px}
.mk-cap{display:flex;align-items:center;justify-content:center;gap:6px;height:30px;font:700 14px/1 var(--font);padding-bottom:6px}
.equip.c3 h2{text-align:center}
.equip.c3 .eq-grid{grid-template-columns:repeat(3,288px);justify-content:center;gap:29px;margin-top:26px}

@media (max-width:1180px){.sns-row-t{white-space:normal}}
@media (max-width:900px){
  .sh{height:auto;padding:0 0 26px;background-position:60% center}
  .sh .hero-in{display:flex;flex-direction:column;align-items:center;container-type:normal;padding:26px 20px 0;max-width:none;text-align:center}
  .sh .hero-in>*{position:static;transform:none!important;left:auto;top:auto}
  .sh-mascot{order:9;width:62%;max-width:260px;margin:14px auto -26px;align-self:center}
  .sh-title{font-size:38px;-webkit-text-stroke-width:5px;align-self:flex-start}
  .sh-en{font-size:22px;-webkit-text-stroke-width:4px;align-self:flex-start;margin-top:6px}
  .sh-lead{white-space:normal;font-size:15px;-webkit-text-stroke-width:3px;align-self:flex-start;text-align:left;margin-top:10px;line-height:1.5}
  .sh-s1{font-size:24px;margin-top:22px;white-space:normal}.sh-s2{font-size:15px;margin-top:6px;white-space:normal}
  .sh .hero-in .pill-red{position:relative;width:100%;max-width:340px;height:56px;margin-top:18px;font-size:23px}
  .sh .hero-in .pill-red .chev{right:20px;width:17px;height:17px}
  .sh-note{font-size:12.5px;margin-top:12px;white-space:normal}
  .pg-intro{font-size:15px;line-height:1.9;text-align:left}.pg-intro br{display:none}
  .sg-cards{grid-template-columns:1fr 1fr;gap:20px 12px}
  .sg-cards h2{font-size:17px}.sg-kinds li{font-size:15px;line-height:24px}.sg-cards>li>p{font-size:14px;line-height:22px;width:auto}.sg-kinds{width:auto}
  .pill-mid{width:100%;max-width:340px;font-size:20px;height:52px}
  .blk-h,.blk-hc{font-size:26px}.blk-h small{display:block;margin:8px 0 0;font-size:14px;line-height:1.5}
  .flow{flex-wrap:wrap;gap:20px 10px;justify-content:center}.flow-ar{display:none}.flow-i{width:calc(50% - 5px)}.flow-img{width:100%;height:auto;aspect-ratio:1}
  .tag-anken{font-size:12px}.tag-uchi{font-size:17px}
  .flow-i h3{font-size:17px}.flow-i p{font-size:13px}
  .pr-grid{grid-template-columns:1fr;width:100%;margin:20px 0 0}.pr-grid>li+li{border-left:0;border-top:1px dashed #000;margin-top:18px;padding-top:18px}
  .pr-n{font-size:46px}.pr-note li{font-size:14px;line-height:1.7}
  .kinds{grid-template-columns:1fr 1fr;padding-left:6px;gap:0 10px}.kinds li{font-size:16px;line-height:30px}
  .mk-grid{grid-template-columns:1fr 1fr;gap:10px}.mk{height:120px}.mk-cap{font-size:12px;white-space:nowrap;gap:4px}.mk-tateyama b{font-size:21px}.mk-tateyama i{font-size:13px}.mk-logo{padding:10px 10px 0}
  .equip.c3 .eq-grid{grid-template-columns:1fr;gap:16px;justify-items:center}.equip.c3 .eq-grid li{width:100%;max-width:340px}
}

/* PRINT */
.pr-mascot{left:60.5cqw;top:auto;bottom:-.3cqw;width:29cqw;height:auto}
.pg-intro-l{font-size:27px;line-height:38px;margin-top:2px}
.pr-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px 10px;margin-top:14px}
.pr-card{display:flex;height:325px;border:2px solid #000;border-radius:30px;overflow:hidden;background:#fff;transition:box-shadow .2s,transform .2s}
.pr-card:hover{box-shadow:0 8px 22px rgba(0,0,0,.2);transform:translateY(-2px)}
.pr-ph{flex:0 0 42%;max-width:262px;overflow:hidden}
.pr-ph img{width:100%;height:100%;object-fit:cover}
.pr-tx{flex:1;padding:22px 14px 0 18px;min-width:0}
.pr-tx strong{display:block;font:900 27px/1.2 var(--head);font-synthesis:none;letter-spacing:-.01em;white-space:nowrap}
.pr-ls{display:block;margin-top:8px}.pr-ls b{display:block;font:700 19px/28px var(--font)}
.pr-d{display:block;margin-top:8px;font:400 16px/26px var(--font);color:#333}
.img-note-r{width:min(1160px,100%);margin-inline:auto;padding-right:0}
.pr .pill-mid{margin-top:12px}
.pr-method{background:#e6e6e6;margin-top:30px;padding:36px 0 18px}
.pr-method-in{width:min(1160px,100% - 40px);margin:0 auto;display:grid;grid-template-columns:230px 1fr 1fr;gap:0 14px;position:relative;align-items:start}
.pr-method h2{font:900 26px/1.3 var(--head);font-synthesis:none;padding-top:20px;position:relative}
.pr-method h2::after{content:"";display:block;width:122px;height:4px;background:#c1272d;margin-top:10px}
.pm-i{display:flex;gap:16px}
.pm-i img{width:208px;height:255px;object-fit:cover;flex:none}
.pm-i h3{font:900 26px/1.2 var(--head);font-synthesis:none;white-space:nowrap}
.pm-i ul{margin-top:8px}.pm-i li{font:700 19px/28px var(--font)}
.pm-i p{margin-top:8px;font:400 18px/29px var(--font);color:#555}
.pr-method .img-note-r{grid-column:1/-1;margin-top:10px;text-align:right;width:100%;font-weight:300;font-size:13px;color:#777}
.pp-grid>li>img{height:150px;width:auto;margin:14px auto 0;object-fit:contain}
.pp-n{font-size:36px!important;margin-top:8px}
.pp-n small{font-size:1em!important}
.pp-grid ul li{font:700 19px/28px var(--font)}
.pp-caution{margin-top:22px;text-align:center;font:700 18px/1.6 var(--font)}
.pill-tel{width:416px;height:48px;margin:16px auto 0;font:700 28px/1 var(--font)}
.pill-tel .chev{right:26px}
.pp-note{margin-top:26px}
.oflow{display:flex;align-items:flex-start;justify-content:space-between;margin-top:38px}
.oflow-i{width:222px;text-align:center}
.oflow-ic{display:block;margin:0 auto;width:106px;height:106px}
.oflow-ar{flex:1;display:flex;justify-content:center;padding-top:30px}
.oflow-i h3{position:relative;margin-top:24px;height:46px;border-radius:23px;background:#f7931e;color:#fff;font:700 15px/46px var(--font);font-synthesis:none;white-space:nowrap;letter-spacing:-.02em;padding:0}
.oflow-i p{margin-top:12px;font:400 14px/21px var(--font);letter-spacing:0;color:#555;text-align:left}
@media (max-width:900px){
  .pr-mascot{left:auto}
  .pg-intro-l{font-size:17px;line-height:1.8;text-align:left}
  .pr-cards{grid-template-columns:1fr}
  .pr-card{height:auto;flex-direction:column;border-radius:22px}.pr-ph{flex:none;max-width:none;height:190px}
  .pr-tx{padding:16px 18px 20px}.pr-tx strong{font-size:26px}.pr-ls b{font-size:17px}.pr-d{font-size:15px;line-height:1.7}
  .pr-method-in{grid-template-columns:1fr;gap:22px}.pr-method h2{font-size:23px;padding-top:0}
  .pm-i{flex-direction:column}.pm-i img{width:100%;height:210px}.pm-i h3{font-size:24px}.pm-i p{font-size:15px;line-height:1.7}
  .pp-n{font-size:34px!important}.pp-caution{font-size:14px;text-align:left}
  .pill-tel{width:100%;max-width:340px;font-size:22px}
  .oflow{flex-direction:column;align-items:stretch;gap:6px}.oflow-ar{display:none}.oflow-i{width:100%;display:grid;grid-template-columns:70px 1fr;gap:4px 14px;text-align:left;align-items:center;margin-top:14px}
  .oflow-ic{width:70px;height:70px;grid-row:1/3}.oflow-i h3{margin-top:0;height:38px;line-height:38px;font-size:16px}.oflow-i p{margin-top:0;font-size:14px}
}

/* APPAREL */
.ap-mascot{left:45cqw;top:6.2cqw;width:39cqw;height:auto}
.ap-medal{position:relative;width:min(960px,100% - 40px);margin:12px auto 0;text-align:center;min-height:132px}
.ap-medal-t{display:inline-block;font:900 62px/1.1 var(--head);font-synthesis:none;white-space:nowrap;margin-top:10px;letter-spacing:0}
.ap-medal-t em{font:900 88px/1 var(--lat);font-style:normal;color:#c1272d;letter-spacing:0;margin:0 2px}
.ap-medal-t small{font-size:1em}
.ap-medal-y{display:block;margin-top:8px;font:500 20px/1 var(--font);color:#444}
.laurel{position:absolute;top:2px;width:64px;height:110px}.laurel.l{left:-10px}.laurel.r{right:-10px;transform:scaleX(-1)}
.ap-h{margin-top:16px;padding-left:40px;font:900 36px/1.3 var(--head);font-synthesis:none}
.ap-cards{margin-top:12px}.ap-cards .pr-tx{padding-top:24px}.ap-cards .pr-tx strong{font-size:34px;white-space:normal;line-height:1.1}.ap-cards .pr-d{margin-top:22px}
.ap-method{background:#e6e6e6;margin-top:30px;padding:26px 0 14px}
.ap-method h2{font:900 36px/1.3 var(--head);font-synthesis:none;padding-left:40px}
.ap-m3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.ap-m3>li{background:#fff;border-radius:20px;padding:11px 11px 22px}
.ap-m3>li>img{width:100%;aspect-ratio:370/148;object-fit:cover;border-radius:10px}
.ap-m3 h3{margin:10px 0 0 14px;font:900 34px/1.2 var(--head);font-synthesis:none}
.ap-m3 ul{margin:6px 0 0 14px}.ap-m3 ul li{font:700 19px/28px var(--font)}
.ap-m3 p{margin:10px 14px 0;font:400 19px/29px var(--font);color:#555}
.ap-prices{display:grid;grid-template-columns:repeat(3,1fr);margin-top:20px}
.ap-prices>li{display:flex;align-items:center;justify-content:center;gap:12px;padding:6px 8px;min-height:170px}.ap-prices>li+li{border-left:1px dashed #000}
.ap-prices img{width:140px;height:140px;object-fit:contain;flex:none}
.ap-prices h3{font:900 25px/1.2 var(--head);font-synthesis:none}
.ap-pn{font:700 29px/1.15 var(--num);color:#00a99d;margin-top:6px;white-space:nowrap}
.ap-prices small{display:block;margin-top:2px;font:700 16px/1.4 var(--font)}
.ap-pnote{text-align:center;margin-top:18px;font:700 18px/1.5 var(--font)}
.ap-why-t{display:flex;align-items:flex-end;flex-wrap:wrap;gap:0 22px}.ap-why-t span{flex:0 0 100%;margin-top:6px}
.ap-why-t h2{font:900 38px/1.1 var(--head);font-synthesis:none}
.ap-why-t p{position:absolute;margin:0;transform:translate(300px,-34px);font:700 21px/1.4 var(--font);color:#555}
.ap-why-t{position:relative}
.ap-why{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:20px}
.ap-why>li{border:2px solid #000;border-radius:26px;height:270px;padding:28px 14px 0;text-align:center}
.ap-why svg{margin:0 auto}
.ap-why h3{margin-top:24px;font:700 24px/1.2 var(--font);font-synthesis:none}
.ap-why p{margin-top:12px;font:700 17px/1.6 var(--font);color:#808080}
.ap-mk{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
.ap-mk a{position:relative;display:flex;align-items:center;justify-content:flex-start;height:104px;border:1px solid #000;border-radius:14px;padding:0 14px 0 50px;transition:box-shadow .2s,transform .2s}
.ap-mk a:hover{box-shadow:0 6px 16px rgba(0,0,0,.18);transform:translateY(-2px)}
.ap-mk-l{display:flex;align-items:center;justify-content:flex-start;gap:34px;height:60px}.ap-mk-l img{height:54px;width:auto;max-width:240px;object-fit:contain}.ap-mk-l img[src*="mk-printstar"]{height:50px}.ap-mk-l img[src*="mk-glimmer"]{height:38px}.ap-mk-l img[src*="unitedathle"]{height:40px}
.ap-mk .mk-cap{position:absolute;right:14px;bottom:6px;justify-content:flex-end;height:22px;padding:0}
@media (max-width:900px){
  .ap-mascot{left:auto;width:70%;max-width:300px}
  .ap-medal{min-height:0;padding:0 0 4px}.ap-medal-t{font-size:28px;margin-top:8px}.ap-medal-t em{font-size:44px}.ap-medal-y{position:static;font-size:15px;margin-top:2px}.laurel{display:none}
  .ap-h,.ap-method h2{padding-left:0;font-size:22px}
  .ap-cards .pr-tx strong{font-size:24px}.ap-cards .pr-d{margin-top:10px}
  .ap-m3{grid-template-columns:1fr}.ap-m3 h3{font-size:26px}
  .ap-prices{grid-template-columns:1fr}.ap-prices>li+li{border-left:0;border-top:1px dashed #000}.ap-prices img{width:120px;height:110px}.ap-pn{font-size:32px}
  .ap-pnote{font-size:14px;text-align:left}
  .ap-why{grid-template-columns:1fr 1fr}.ap-why>li{height:auto;padding:20px 10px 18px;border-radius:20px}.ap-why svg{width:64px;height:60px}.ap-why h3{font-size:17px;margin-top:12px}.ap-why p{font-size:12.5px}
  .ap-why-t p{position:static;transform:none;margin-top:10px;font-size:15px}
  .ap-mk{grid-template-columns:1fr}.ap-mk a{padding-left:20px}
}

/* DIGITAL */
.dg-mascot{left:53.8cqw;top:8.3cqw;width:34.7cqw;height:auto}
.dg-title{font-size:3.95cqw!important;top:2.2cqw}.dg-title span{font:900 5.7cqw/1 var(--head)}
.dg-win{margin-top:26px;text-align:center;font:900 62px/1.15 var(--head);font-synthesis:none;letter-spacing:-.01em}
.dg-win em{font-style:normal;color:#c1272d}
.dg-win-s{display:flex;align-items:center;gap:26px;margin:2px auto 0;width:min(1060px,100%)}
.dg-win-s::before,.dg-win-s::after{content:"";flex:1;height:2px;background:#000}
.dg-win-s span{font:900 29px/1.3 var(--font)}
.dg-two{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:20px}
.dg-c{position:relative;border-radius:22px;padding:22px 40px 0;min-height:300px}
.dg-c-ai{background:#d6ecf8}.dg-c-hp{background:#fdeed8}
.dg-c h3{font:900 50px/1.2 var(--head);font-synthesis:none;letter-spacing:-.01em}
.dg-c-ai h3 b{color:#0f77be}
.dg-c p{margin-top:8px;font:700 22px/34px var(--font);letter-spacing:-.01em;width:68%}
.dg-c img{position:absolute;right:20px;top:112px;width:30%;height:auto}
.dg-c-hp img{width:25%;top:78px}
.dg-btn{display:flex;align-items:center;justify-content:center;gap:26px;height:77px;border-radius:12px;background:#c1272d;color:#fff;font:400 32px/1 var(--font);position:relative;transition:filter .2s,transform .2s}
.dg-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}
.dg-btn b{font-weight:500;position:absolute;right:42px}
.dg-c .dg-btn{position:absolute;left:42px;right:42px;bottom:24px;font-size:30px}
.dg-btn-c{width:min(508px,100%);margin:20px auto 0}
.dg-panel{border-radius:40px 40px 40px 40px;margin-top:40px;padding:50px 42px 40px}
.dg-ai{background:#d6ecf8}.dg-hp{background:#fdeed8;margin-top:36px}
.dg-panel h2{font:900 56px/1.2 var(--head);font-synthesis:none;letter-spacing:-.025em}
.dg-lead{margin-top:10px;font:400 28px/1.5 var(--font)}
.dg-people{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:30px;align-items:end}
.dg-people>li{display:flex;flex-direction:column;align-items:center}
.dg-people img{width:84%;height:auto;margin-bottom:-4px;position:relative;z-index:1}
.dg-people>li>div{background:#fff;border-radius:22px;width:100%;padding:18px 18px 18px;text-align:center}
.dg-people h3{font:900 28px/1.3 var(--head);font-synthesis:none}
.dg-people p{margin-top:8px;font:400 22px/1.5 var(--font);text-align:left;display:inline-block}
.dg-after{margin-top:26px;text-align:center;font:900 32px/1.4 var(--head);font-synthesis:none}
.dg-robot2{position:absolute;right:50px;margin-top:-50px;width:210px;height:auto}
.dg-sub{display:flex;align-items:center;gap:26px;width:min(1000px,100%);margin:18px auto 0}
.dg-sub img{width:124px;height:auto;flex:none}
.dg-sub>div{flex:1}.dg-sub h3{font:900 29px/1.4 var(--head);font-synthesis:none;color:#0f77be;border-bottom:2px solid #0f77be;display:block;margin-bottom:6px}
.dg-sub-1{font:900 30px/1.4 var(--head)}
.dg-sub-2{font:400 20px/1.6 var(--font)}
.dg-cond{margin-top:12px;font:400 25px/1.5 var(--font);padding-left:200px}
.dg-hp-in{display:grid;grid-template-columns:5fr 6fr;gap:30px;margin-top:34px;align-items:start}
.dg-hp-in figure{margin:0}.dg-hp-in figure img{width:100%}.dg-hs{width:100px;height:auto;flex:none}
.dg-hp-in figcaption{font:400 15px/1.4 var(--font);margin-top:2px}
.dg-hp-in ul li{display:flex;align-items:center;gap:22px;margin-bottom:22px}.dg-hp-in ul li>svg{flex:none;width:100px}
.dg-hp-in h3{font:900 26px/1.3 var(--head);font-synthesis:none}
.dg-hp-in p{margin-top:2px;font:400 21px/1.5 var(--font)}
.dg-after-2{font-weight:500;font-size:30px;margin-top:10px}
.oflow-2 .oflow-i h3{height:78px;border-radius:39px;line-height:1.3;display:flex;align-items:center;justify-content:center;text-align:center;font-size:16px;white-space:normal;letter-spacing:-.01em;padding:0 2px}
.oflow-2 .oflow-i p{font-size:14px;line-height:20px}
@media (max-width:900px){
  .dg-mascot{left:auto;width:68%;max-width:300px}
  .dg-title{font-size:25px!important}.dg-title span{font-size:38px}
  .dg-win{font-size:29px}.dg-win-s span{font-size:15px}.dg-win-s{gap:10px}
  .dg-two{grid-template-columns:1fr}.dg-c{padding:20px 20px 0;min-height:280px}.dg-c h3{font-size:34px}.dg-c p{font-size:16px;line-height:1.6;width:62%}
  .dg-c img{width:34%;top:100px}.dg-c-hp img{width:32%;top:80px}.dg-c .dg-btn{left:20px;right:20px;font-size:19px;height:56px}.dg-btn b{right:20px}
  .dg-panel{padding:30px 18px 28px;border-radius:26px}.dg-panel h2{font-size:26px}.dg-lead{font-size:15px}
  .dg-people{grid-template-columns:1fr;gap:26px}.dg-people h3{font-size:20px}.dg-people p{font-size:15px}
  .dg-after{font-size:18px}.dg-robot2{display:none}
  .dg-sub{flex-direction:column;text-align:left;align-items:flex-start}.dg-sub img{width:80px}.dg-sub h3{font-size:20px}.dg-sub-1{font-size:17px}.dg-sub-2{font-size:13px}.dg-cond{padding-left:0;font-size:15px}
  .dg-hp-in{grid-template-columns:1fr}.dg-hp-in h3{font-size:19px}.dg-hp-in p{font-size:14px}.dg-hp-in ul li>svg{width:56px}
  .dg-btn-c{font-size:17px;height:56px}.dg-after-2{font-size:16px}
  .oflow-2 .oflow-i h3{height:64px;font-size:16px;line-height:1.3}
}

/* WORKS */
.sh-w .sh-s1{top:19cqw}.sh-w .sh-s2{top:23cqw}.sh-w .hero-in .pill-red{top:26.7cqw}.sh-w .sh-note{top:31.3cqw}
.wk-lead{font-size:1.32cqw;line-height:1.45;white-space:normal;-webkit-text-stroke-width:.28cqw;top:11.6cqw}
.wk-mascot{left:49.5cqw;top:4.4cqw;width:45cqw;height:auto}
.works-filter{display:flex;justify-content:center;gap:27px;margin:22px auto 0;flex-wrap:wrap}
.works-filter button{width:212px;height:49px;border:1.5px solid #000;border-radius:999px;background:#fff;color:#000;font:700 18px/1 var(--font);transition:background .2s,color .2s}
.works-filter button:hover{background:#eee}
.works-filter button[aria-pressed="true"]{background:#000;color:#fff}
.works-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px 9px;margin-top:26px}
.works-grid>li[hidden]{display:none}
.wk-card{display:block;width:100%;padding:0;border:0;background:none;text-align:left;font:inherit}
.wk-ph{display:block;aspect-ratio:293/198;border:2px solid #000;border-radius:20px;overflow:hidden;background:#fff}
.wk-ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.wk-card:hover .wk-ph img{transform:scale(1.05)}
.wk-tag{display:inline-block;margin-top:14px;background:#000;color:#fff;font:700 14px/1 var(--font);padding:5px 9px}
.wk-t{display:block;margin-top:6px;font:700 21px/1.4 var(--font);letter-spacing:-.01em}
.wk-l{display:block;font:400 16px/22px var(--font);color:#888}
.wk-empty{text-align:center;margin:40px 0;font:700 20px/1.6 var(--font)}
.sns-row{margin-top:34px}
@media (max-width:900px){
  .wk-mascot{left:auto;width:60%;max-width:250px}.wk-lead{font-size:14px}
  .works-filter{gap:8px}.works-filter button{width:calc(50% - 4px);height:44px;font-size:15px}
  .works-grid{grid-template-columns:1fr 1fr;gap:20px 12px}.wk-t{font-size:16px}.wk-l{font-size:13px;line-height:19px}.wk-ph{border-radius:14px}
}

/* FOR BUSINESS */
.sh-b{background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.68) 50%,rgba(0,0,0,.52)),#444 var(--bg) center/cover no-repeat}
.sh-b .hero-in{overflow:hidden}
.bz-title{left:8.33cqw;color:#c1272d!important;-webkit-text-stroke-color:#fff!important;-webkit-text-stroke-width:.55cqw!important;font-size:4.9cqw!important;font-family:'Noto Sans JP','Noto Sans CJK JP',sans-serif!important;font-weight:900!important;top:2.4cqw;letter-spacing:-.01em}
.sh-b .sh-en{top:9.6cqw;color:#fff;-webkit-text-stroke-color:#000}
.bz-lead{top:13.3cqw;font-size:2.15cqw!important;-webkit-text-stroke-width:.4cqw!important;white-space:nowrap}
.sh-b .sh-s1{top:19.6cqw;left:25.3cqw}.sh-b .sh-s2{top:24.3cqw}.sh-b .hero-in .pill-red{top:27.8cqw}.sh-b .sh-note{top:32.7cqw}
.sh-b .hero-in{height:100%}
.bz-mascot{left:56.5cqw;top:9.3cqw;width:30cqw;height:auto}
.bz-vert{left:81.4cqw;top:1.3cqw;writing-mode:vertical-rl;font:900 3.6cqw/1.1 var(--head);letter-spacing:0;color:#fff;-webkit-text-stroke:.5cqw #000;paint-order:stroke fill;text-shadow:0 0 .8cqw #000}
.bz-ask{margin-top:24px;text-align:center;white-space:nowrap;font:900 36px/1.3 var(--head);font-synthesis:none;letter-spacing:-.01em}
.bz-ask em{font-style:normal;color:#c1272d}
.bz-ask-s{text-align:center;font:900 25px/1.4 var(--head);margin-top:2px}
.bz-sec{padding:26px 0 24px}.bz-sec-l{border-top:2px solid #000}
.bz-head{display:flex;align-items:center;height:72px}
.bz-no{display:flex;align-items:flex-end;font:900 72px/.8 var(--num);color:#ed1c24;letter-spacing:-.01em}.bz-no span{font-size:60px;margin-left:2px}
.bz-t{margin-left:6px;padding-right:18px;border-right:2px solid #000;font:900 38px/1.05 var(--head);font-synthesis:none;letter-spacing:-.01em;white-space:nowrap}
.bz-t small{display:block;font:800 25px/1.1 var(--lat);letter-spacing:-.01em}
.bz-h{margin-left:18px;font:900 28px/1.35 var(--head);font-synthesis:none;letter-spacing:-.01em}
.bz-body{display:grid;grid-template-columns:440px 1fr;gap:20px;margin-top:6px}
.bz-img{width:440px;height:100%;max-height:200px;object-fit:cover;border-radius:0 0 26px 0;margin-top:14px;align-self:end}
.bz-sec-l .bz-img{border-radius:26px;max-height:200px}
.bz-p{font:700 15.5px/1.55 var(--font);letter-spacing:0}
.bz-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:10px}
.bz-cards li{border:1.5px solid #000;border-radius:13px;padding:10px 12px;min-height:130px}
.bz-cards h3{font:700 21px/1.3 var(--head);font-synthesis:none;letter-spacing:-.01em}
.bz-cards li>div{display:flex;gap:10px;align-items:center;margin-top:4px}.bz-cards li>div svg{flex:none;overflow:visible}
.bz-cards p{font:400 14.5px/1.4 var(--font);letter-spacing:0}
.bz-notes{margin:8px 0 0}.bz-notes li{font:700 14px/1.5 var(--font);letter-spacing:0;white-space:nowrap}
.bz-data{display:grid;grid-template-columns:240px 1fr 340px;gap:0 22px;align-items:center;border-top:2px solid #000;border-bottom:2px solid #000;padding:20px 0 20px}
.bz-data-t h2{font:900 28px/1.15 var(--head);white-space:nowrap;font-synthesis:none;letter-spacing:-.01em}.bz-data-t span{display:block;margin-top:6px;font:700 18px/1 var(--lat);letter-spacing:.2em;color:#9a9a9a}
.bz-data-d{border-left:2px solid #000;padding-left:20px}
.bz-data-d p{font:700 14.5px/1.5 var(--font);letter-spacing:0}.bz-data-d .bz-data-1{font:900 18px/1.4 var(--head);font-synthesis:none;letter-spacing:-.01em;white-space:nowrap;margin-bottom:4px}.bz-data-d em{font-style:normal;color:#c1272d;font-size:25px}
.bz-tel{display:block;background:#c1272d;color:#fff;border-radius:14px;text-align:center;padding:16px 14px 14px;transition:filter .2s}.bz-tel:hover{filter:brightness(1.1)}
.bz-tel span{display:block;font:700 16px/1.4 var(--font);white-space:nowrap}.bz-tel b{display:block;font:700 44px/1.1 var(--num);letter-spacing:.015em;white-space:nowrap;margin:2px 0 4px}.bz-tel small{display:block;font:700 12.5px/1.5 var(--font)}
.bz-why{display:grid;grid-template-columns:240px 1fr;gap:20px;padding:30px 0 28px;align-items:center}
.bz-why-t h2{font:900 38px/1.1 var(--head);font-synthesis:none}.bz-why-t span{display:block;margin-top:6px;font:700 18px/1 var(--lat);letter-spacing:.2em;color:#9a9a9a}.bz-why-t p{margin-top:22px;font:700 14.5px/1.6 var(--font)}
.bz-why-g{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.bz-why-g li{border:1.5px solid #000;border-radius:18px;min-height:215px;padding:16px 10px 10px;text-align:center}
.bz-why-g svg,.bz-why-g img{margin:0 auto}.bz-why-g img{height:66px;width:auto}
.bz-why-g h3{margin-top:10px;font:700 19px/1.3 var(--font);font-synthesis:none;letter-spacing:-.01em}.bz-why-g p{margin-top:8px;font:700 12.5px/1.55 var(--font);letter-spacing:0}
.bz-flow{margin-top:6px}
.oflow-red .oflow-i h3{background:#c1272d;font-size:15.5px}
.oflow-red .oflow-i p{color:#808080}
.bz-cta{background:#000;color:#fff;text-align:center;padding:40px 20px 18px}
.bz-cta h2{font:900 66px/1.15 var(--head);font-synthesis:none;letter-spacing:-.01em}.bz-cta em{font-style:normal;color:#c1272d;font-family:var(--lat);font-weight:800}
.bz-cta p{margin-top:10px;font:700 24px/1.5 var(--font)}
.bz .foot{padding-top:6px}
@media (max-width:900px){
  .sh-b .hero-in{overflow:visible}
  .bz-mascot{order:9;width:62%;max-width:260px;margin:12px auto -26px}.bz-vert{display:none}
  .bz-title{font-size:30px!important;-webkit-text-stroke-width:5px!important}.bz-lead{font-size:16px!important;white-space:normal;text-align:left}
  .bz-ask{font-size:21px}.bz-ask-s{font-size:15px}
  .bz-head{flex-wrap:wrap;height:auto;gap:4px 8px}.bz-no{font-size:50px}.bz-t{font-size:25px;padding-right:12px}.bz-t small{font-size:17px}.bz-h{margin:6px 0 0;font-size:17px;flex:0 0 100%}
  .bz-body{grid-template-columns:1fr}.bz-img{width:100%;max-height:none;height:auto;aspect-ratio:16/9;margin-top:0;border-radius:18px!important}
  .bz-cards{grid-template-columns:1fr}.bz-notes{margin-left:0}.bz-cards li{min-height:0}
  .bz-data{grid-template-columns:1fr;gap:14px}.bz-data-d{border-left:0;padding-left:0}.bz-data-d .bz-data-1{font-size:17px}.bz-tel b{font-size:36px}
  .bz-why{grid-template-columns:1fr}.bz-why-g{grid-template-columns:1fr 1fr}.bz-why-g li{min-height:0}.bz-why-g h3{font-size:15px}.bz-why-g p{font-size:11.5px}
  .bz-cta h2{font-size:29px}.bz-cta p{font-size:14px}
}

/* お問い合わせ・会社概要・プライバシー */
.pt{background:#000 url(assets/img/hero.jpg) center/cover no-repeat;position:relative;color:#fff}
.pt::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.72)}
.pt .wrap{position:relative}
.pt h1{padding:44px 0 40px;display:flex;align-items:baseline;gap:22px;flex-wrap:wrap}
.pt h1 span{font:900 46px/1.1 var(--head);font-synthesis:none;letter-spacing:-.01em}
.pt h1 small{font:800 22px/1 var(--lat);letter-spacing:.06em;color:#ed1c24}
.ct-w{padding-top:26px;padding-bottom:10px;max-width:960px}
.ct-lead{text-align:center;font:700 22px/1.8 var(--font)}
.ct-hours{text-align:center;margin-top:12px;font:700 16px/1.5 var(--font)}
.ct .pill-tel{margin-top:16px}
.ct-form{margin-top:44px;border-top:2px solid #000;padding-top:30px}
.ct-form h2{font:900 32px/1.3 var(--head);font-synthesis:none}
.ct-warn{margin-top:10px;padding:12px 16px;background:#fff3f3;border-left:5px solid #c1272d;font:700 16px/1.6 var(--font)}
.ct-note{margin-top:14px;font:400 14px/1.7 var(--font);color:#666}
.ct-f{margin-top:16px}
.ct-f label{display:block;margin-top:20px;font:700 17px/1.4 var(--font)}
.ct-f label b,.ct-f label em{margin-left:8px;font:700 12px/1 var(--font);padding:3px 7px;border-radius:4px;font-style:normal;vertical-align:2px}
.ct-f label b{background:#c1272d;color:#fff}.ct-f label em{background:#e6e6e6;color:#444}
.ct-f input,.ct-f select,.ct-f textarea{display:block;width:100%;margin-top:8px;padding:14px 14px;border:2px solid #555;border-radius:10px;background:#fff;font:400 16px/1.5 var(--font);color:#000}
.ct-f input:focus,.ct-f select:focus,.ct-f textarea:focus{border-color:#ed1c24;outline:3px solid rgba(237,28,36,.25)}
.ct-priv{margin-top:22px;font:400 15px/1.6 var(--font)}.ct-priv a{text-decoration:underline}
.ct-btn{display:block;width:min(420px,100%);height:58px;margin:20px auto 0;border:0;border-radius:999px;background:#ed1c24;color:#fff;font:700 22px/1 var(--font);transition:filter .2s}
.ct-btn:hover{filter:brightness(1.08)}
.co-dl>div{display:grid;grid-template-columns:200px 1fr;gap:20px;padding:18px 6px;border-bottom:1px solid #bbb}
.co-dl>div:first-child{border-top:2px solid #000}
.co-dl dt{font:700 18px/1.6 var(--font)}.co-dl dd{margin:0;font:400 18px/1.8 var(--font)}.co-dl a{text-decoration:underline}
.ct .pill-mid{margin-top:30px}
.pv h2{margin-top:30px;font:700 22px/1.4 var(--head);font-synthesis:none}.pv p{margin-top:8px;font:400 17px/1.9 var(--font)}
@media (max-width:900px){
  .pt h1{padding:30px 0 26px}.pt h1 span{font-size:30px}.pt h1 small{font-size:16px}
  .ct-lead{font-size:16px;text-align:left}.ct-form h2{font-size:24px}
  .co-dl>div{grid-template-columns:1fr;gap:2px}.co-dl dt,.co-dl dd{font-size:16px}
  .pv h2{font-size:19px}.pv p{font-size:15px}
}

/* 見出しの縁どり：角が尖らないよう、丸い縁（text-shadow）で描く */
.sh-title,.sh-en,.sh-lead{-webkit-text-stroke:0!important;paint-order:normal}
.sh-title{text-shadow:0.340cqw 0.000cqw 0 #000,0.314cqw 0.130cqw 0 #000,0.240cqw 0.240cqw 0 #000,0.130cqw 0.314cqw 0 #000,0.000cqw 0.340cqw 0 #000,-0.130cqw 0.314cqw 0 #000,-0.240cqw 0.240cqw 0 #000,-0.314cqw 0.130cqw 0 #000,-0.340cqw 0.000cqw 0 #000,-0.314cqw -0.130cqw 0 #000,-0.240cqw -0.240cqw 0 #000,-0.130cqw -0.314cqw 0 #000,-0.000cqw -0.340cqw 0 #000,0.130cqw -0.314cqw 0 #000,0.240cqw -0.240cqw 0 #000,0.314cqw -0.130cqw 0 #000,0.187cqw 0.000cqw 0 #000,0.162cqw 0.093cqw 0 #000,0.094cqw 0.162cqw 0 #000,0.000cqw 0.187cqw 0 #000,-0.093cqw 0.162cqw 0 #000,-0.162cqw 0.093cqw 0 #000,-0.187cqw 0.000cqw 0 #000,-0.162cqw -0.093cqw 0 #000,-0.094cqw -0.162cqw 0 #000,-0.000cqw -0.187cqw 0 #000,0.094cqw -0.162cqw 0 #000,0.162cqw -0.094cqw 0 #000}
.sh-en{text-shadow:0.220cqw 0.000cqw 0 #000,0.203cqw 0.084cqw 0 #000,0.156cqw 0.156cqw 0 #000,0.084cqw 0.203cqw 0 #000,0.000cqw 0.220cqw 0 #000,-0.084cqw 0.203cqw 0 #000,-0.156cqw 0.156cqw 0 #000,-0.203cqw 0.084cqw 0 #000,-0.220cqw 0.000cqw 0 #000,-0.203cqw -0.084cqw 0 #000,-0.156cqw -0.156cqw 0 #000,-0.084cqw -0.203cqw 0 #000,-0.000cqw -0.220cqw 0 #000,0.084cqw -0.203cqw 0 #000,0.156cqw -0.156cqw 0 #000,0.203cqw -0.084cqw 0 #000,0.121cqw 0.000cqw 0 #000,0.105cqw 0.060cqw 0 #000,0.061cqw 0.105cqw 0 #000,0.000cqw 0.121cqw 0 #000,-0.060cqw 0.105cqw 0 #000,-0.105cqw 0.060cqw 0 #000,-0.121cqw 0.000cqw 0 #000,-0.105cqw -0.060cqw 0 #000,-0.061cqw -0.105cqw 0 #000,-0.000cqw -0.121cqw 0 #000,0.061cqw -0.105cqw 0 #000,0.105cqw -0.061cqw 0 #000}
.sh-lead{text-shadow:0.140cqw 0.000cqw 0 #000,0.129cqw 0.054cqw 0 #000,0.099cqw 0.099cqw 0 #000,0.054cqw 0.129cqw 0 #000,0.000cqw 0.140cqw 0 #000,-0.054cqw 0.129cqw 0 #000,-0.099cqw 0.099cqw 0 #000,-0.129cqw 0.054cqw 0 #000,-0.140cqw 0.000cqw 0 #000,-0.129cqw -0.054cqw 0 #000,-0.099cqw -0.099cqw 0 #000,-0.054cqw -0.129cqw 0 #000,-0.000cqw -0.140cqw 0 #000,0.054cqw -0.129cqw 0 #000,0.099cqw -0.099cqw 0 #000,0.129cqw -0.054cqw 0 #000,0.077cqw 0.000cqw 0 #000,0.067cqw 0.038cqw 0 #000,0.039cqw 0.067cqw 0 #000,0.000cqw 0.077cqw 0 #000,-0.038cqw 0.067cqw 0 #000,-0.067cqw 0.038cqw 0 #000,-0.077cqw 0.000cqw 0 #000,-0.067cqw -0.038cqw 0 #000,-0.039cqw -0.067cqw 0 #000,-0.000cqw -0.077cqw 0 #000,0.039cqw -0.067cqw 0 #000,0.067cqw -0.039cqw 0 #000}
.bz-title{text-shadow:0.300cqw 0.000cqw 0 #fff,0.277cqw 0.115cqw 0 #fff,0.212cqw 0.212cqw 0 #fff,0.115cqw 0.277cqw 0 #fff,0.000cqw 0.300cqw 0 #fff,-0.115cqw 0.277cqw 0 #fff,-0.212cqw 0.212cqw 0 #fff,-0.277cqw 0.115cqw 0 #fff,-0.300cqw 0.000cqw 0 #fff,-0.277cqw -0.115cqw 0 #fff,-0.212cqw -0.212cqw 0 #fff,-0.115cqw -0.277cqw 0 #fff,-0.000cqw -0.300cqw 0 #fff,0.115cqw -0.277cqw 0 #fff,0.212cqw -0.212cqw 0 #fff,0.277cqw -0.115cqw 0 #fff,0.165cqw 0.000cqw 0 #fff,0.143cqw 0.082cqw 0 #fff,0.083cqw 0.143cqw 0 #fff,0.000cqw 0.165cqw 0 #fff,-0.082cqw 0.143cqw 0 #fff,-0.143cqw 0.082cqw 0 #fff,-0.165cqw 0.000cqw 0 #fff,-0.143cqw -0.082cqw 0 #fff,-0.083cqw -0.143cqw 0 #fff,-0.000cqw -0.165cqw 0 #fff,0.083cqw -0.143cqw 0 #fff,0.143cqw -0.083cqw 0 #fff}
.bz-vert{-webkit-text-stroke:0;text-shadow:0.240cqw 0.000cqw 0 #000,0.222cqw 0.092cqw 0 #000,0.170cqw 0.170cqw 0 #000,0.092cqw 0.222cqw 0 #000,0.000cqw 0.240cqw 0 #000,-0.092cqw 0.222cqw 0 #000,-0.170cqw 0.170cqw 0 #000,-0.222cqw 0.092cqw 0 #000,-0.240cqw 0.000cqw 0 #000,-0.222cqw -0.092cqw 0 #000,-0.170cqw -0.170cqw 0 #000,-0.092cqw -0.222cqw 0 #000,-0.000cqw -0.240cqw 0 #000,0.092cqw -0.222cqw 0 #000,0.170cqw -0.170cqw 0 #000,0.222cqw -0.092cqw 0 #000,0.132cqw 0.000cqw 0 #000,0.114cqw 0.066cqw 0 #000,0.066cqw 0.114cqw 0 #000,0.000cqw 0.132cqw 0 #000,-0.066cqw 0.114cqw 0 #000,-0.114cqw 0.066cqw 0 #000,-0.132cqw 0.000cqw 0 #000,-0.114cqw -0.066cqw 0 #000,-0.066cqw -0.114cqw 0 #000,-0.000cqw -0.132cqw 0 #000,0.066cqw -0.114cqw 0 #000,0.114cqw -0.066cqw 0 #000}
@media (max-width:900px){
  .sh-title{text-shadow:2.400px 0.000px 0 #000,2.217px 0.918px 0 #000,1.697px 1.697px 0 #000,0.918px 2.217px 0 #000,0.000px 2.400px 0 #000,-0.918px 2.217px 0 #000,-1.697px 1.697px 0 #000,-2.217px 0.918px 0 #000,-2.400px 0.000px 0 #000,-2.217px -0.918px 0 #000,-1.697px -1.697px 0 #000,-0.918px -2.217px 0 #000,-0.000px -2.400px 0 #000,0.918px -2.217px 0 #000,1.697px -1.697px 0 #000,2.217px -0.918px 0 #000}
  .sh-en{text-shadow:1.800px 0.000px 0 #000,1.663px 0.689px 0 #000,1.273px 1.273px 0 #000,0.689px 1.663px 0 #000,0.000px 1.800px 0 #000,-0.689px 1.663px 0 #000,-1.273px 1.273px 0 #000,-1.663px 0.689px 0 #000,-1.800px 0.000px 0 #000,-1.663px -0.689px 0 #000,-1.273px -1.273px 0 #000,-0.689px -1.663px 0 #000,-0.000px -1.800px 0 #000,0.689px -1.663px 0 #000,1.273px -1.273px 0 #000,1.663px -0.689px 0 #000}
  .sh-lead{text-shadow:1.200px 0.000px 0 #000,1.109px 0.459px 0 #000,0.849px 0.849px 0 #000,0.459px 1.109px 0 #000,0.000px 1.200px 0 #000,-0.459px 1.109px 0 #000,-0.849px 0.849px 0 #000,-1.109px 0.459px 0 #000,-1.200px 0.000px 0 #000,-1.109px -0.459px 0 #000,-0.849px -0.849px 0 #000,-0.459px -1.109px 0 #000,-0.000px -1.200px 0 #000,0.459px -1.109px 0 #000,0.849px -0.849px 0 #000,1.109px -0.459px 0 #000}
  .bz-title{text-shadow:2.200px 0.000px 0 #fff,2.033px 0.842px 0 #fff,1.556px 1.556px 0 #fff,0.842px 2.033px 0 #fff,0.000px 2.200px 0 #fff,-0.842px 2.033px 0 #fff,-1.556px 1.556px 0 #fff,-2.033px 0.842px 0 #fff,-2.200px 0.000px 0 #fff,-2.033px -0.842px 0 #fff,-1.556px -1.556px 0 #fff,-0.842px -2.033px 0 #fff,-0.000px -2.200px 0 #fff,0.842px -2.033px 0 #fff,1.556px -1.556px 0 #fff,2.033px -0.842px 0 #fff}
}
@media (max-width:900px){
  .bz-ask{white-space:normal;font-size:20px}
  .bz-data{grid-template-columns:minmax(0,1fr)}
  .bz-data-d .bz-data-1{white-space:normal}
  .sh-b .hero-in .pill-red{position:relative}
}
@media (min-width:901px) and (max-width:1100px){.pr-tx strong{font-size:22px}.pr-tx{padding-left:14px;padding-right:10px}.pr-ls b{font-size:17px}.pr-d{font-size:15px;line-height:24px}}

.ap .oflow-i h3{font-size:14px;letter-spacing:-.04em}
@media (max-width:900px){.ap-mk a{padding-left:20px}.ap .oflow-i h3{font-size:15px;letter-spacing:-.02em}}

@media (max-width:900px){.bz-notes li{white-space:normal}.bz-data-d .bz-data-1{white-space:normal;font-size:16px}.bz-data-d em{font-size:19px}}

/* --- FOR BUSINESS v2 --- */
.bz-title{font-family:'Noto Sans JP','Noto Sans CJK JP',sans-serif!important;font-weight:900!important;font-synthesis:none;font-size:4.7cqw!important;letter-spacing:0!important;-webkit-text-stroke:0!important;text-shadow:0.170cqw 0.000cqw 0 #fff,0.157cqw 0.065cqw 0 #fff,0.120cqw 0.120cqw 0 #fff,0.065cqw 0.157cqw 0 #fff,0.000cqw 0.170cqw 0 #fff,-0.065cqw 0.157cqw 0 #fff,-0.120cqw 0.120cqw 0 #fff,-0.157cqw 0.065cqw 0 #fff,-0.170cqw 0.000cqw 0 #fff,-0.157cqw -0.065cqw 0 #fff,-0.120cqw -0.120cqw 0 #fff,-0.065cqw -0.157cqw 0 #fff,-0.000cqw -0.170cqw 0 #fff,0.065cqw -0.157cqw 0 #fff,0.120cqw -0.120cqw 0 #fff,0.157cqw -0.065cqw 0 #fff}
.bz-hl{display:flex;align-items:center;width:440px;flex:none;border-right:2px solid #000;box-sizing:border-box;height:72px}
.bz-hl .bz-t{border-right:0;padding-right:0;margin-left:6px;font:900 30px/1.1 'Noto Sans JP','Noto Sans CJK JP',sans-serif;font-synthesis:none;letter-spacing:0}
.bz-hl .bz-t small{font:800 22px/1.1 var(--lat);letter-spacing:-.01em;margin-bottom:2px}
.bz-hl .bz-no{font-size:64px}.bz-hl .bz-no span{font-size:54px}
.bz-head{display:flex;align-items:center}.bz-h{margin-left:20px}
.bz-sec-l .bz-img,.bz-img{border-radius:26px}
.bz-data-d .bz-data-1{font-weight:900}.bz-data-d .bz-data-1 em{font-family:'Noto Sans JP','Noto Sans CJK JP',sans-serif;font-weight:900;font-synthesis:none;font-size:23px;letter-spacing:0}
.bz-data{grid-template-columns:240px 1fr 360px}
.bz-tel b{font-size:38px;letter-spacing:0}
@media (max-width:900px){
 .bz-title{font-size:27px!important;text-shadow:1.400px 0.000px 0 #fff,1.293px 0.536px 0 #fff,0.990px 0.990px 0 #fff,0.536px 1.293px 0 #fff,0.000px 1.400px 0 #fff,-0.536px 1.293px 0 #fff,-0.990px 0.990px 0 #fff,-1.293px 0.536px 0 #fff,-1.400px 0.000px 0 #fff,-1.293px -0.536px 0 #fff,-0.990px -0.990px 0 #fff,-0.536px -1.293px 0 #fff,-0.000px -1.400px 0 #fff,0.536px -1.293px 0 #fff,0.990px -0.990px 0 #fff,1.293px -0.536px 0 #fff}
 .bz-hl{width:auto;height:auto;border-right:0}.bz-hl .bz-t{font-size:22px;padding-right:0}.bz-hl .bz-t small{font-size:15px}
 .bz-data-d .bz-data-1 em{font-size:18px}
 .bz-h{margin:6px 0 0}.bz-head{flex-wrap:wrap}.bz-data{grid-template-columns:minmax(0,1fr)}.bz-tel b{font-size:34px}
}
@media (min-width:901px) and (max-width:1240px){.bz-notes li{white-space:normal}.bz-hl .bz-t{font-size:26px}.bz-hl{width:380px}.bz-body{grid-template-columns:380px 1fr}.bz-img{width:380px}.bz-data{grid-template-columns:200px 1fr 320px}.bz-data-d .bz-data-1{white-space:normal}.bz-tel b{font-size:32px}.bz-h{font-size:22px}.bz-cards{grid-template-columns:1fr}}
@media (min-width:901px) and (max-width:1100px){.pm-i h3{font-size:21px;white-space:normal}}

.bz-title{font-family:'Noto Sans JP','Noto Sans CJK JP',sans-serif!important;font-weight:900!important;font-size:4.9cqw!important;-webkit-text-stroke:.12cqw #c1272d!important}
.bz-hl .bz-t,.bz-data-d .bz-data-1 em{-webkit-text-stroke:.5px currentColor}
.bz-hl .bz-t{font-size:31px}
.bz-ask,.bz-ask-s{font-weight:900;-webkit-text-stroke:.6px currentColor}
.bz-ask em{font-size:1.08em;-webkit-text-stroke:.8px currentColor}
@media (max-width:900px){.bz-title{-webkit-text-stroke-width:.4px!important}}
@media (max-width:900px){.bz-hl .bz-t{font-size:22px}.bz-hl .bz-no{font-size:48px}.bz-hl .bz-no span{font-size:40px}.bz-hl{flex-wrap:nowrap}}
@media (min-width:901px) and (max-width:1240px){.bz-hl .bz-t{font-size:26px}}

.bz-ask-s{font-weight:500;-webkit-text-stroke:0}
.bz-hl .bz-t{font-size:28px}
.bz-cta h2 small{font-size:.72em;font-weight:inherit;letter-spacing:0}
@media (max-width:900px){.bz-hl .bz-t{font-size:22px}}
@media (min-width:901px) and (max-width:1240px){.bz-hl .bz-t{font-size:24px}}

/* --- WORKS: 追加機能 --- */
.wk-card{position:relative}
.wk-new{position:absolute;z-index:2;top:8px;left:8px;background:#ed1c24;color:#fff;font:800 12px/1 var(--lat);letter-spacing:.08em;padding:6px 9px 5px;border-radius:999px;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.wk-more{text-align:center;margin:34px 0 8px}
.wk-more-btn{min-width:300px;height:52px;padding:0 28px;border:1.5px solid #000;border-radius:999px;background:#fff;color:#000;font:700 18px/1 var(--font);cursor:pointer;transition:background .2s,color .2s}
.wk-more-btn:hover{background:#000;color:#fff}
.wk-more-btn[hidden]{display:none}
.modal-works{margin-top:26px;padding-top:22px;border-top:1px solid #ddd}
.modal-works[hidden]{display:none}
.modal-consult.pill-red{position:static;transform:none;width:min(100%,440px);height:54px;margin:0 auto;font-size:18px}
.modal-share{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:20px}
.modal-share .ms-l{font:700 14px/1 var(--font);color:#555;margin-right:4px}
.modal-share a,.modal-share button{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 16px;border-radius:999px;border:1.5px solid #000;background:#fff;color:#000;font:700 14px/1 var(--font);cursor:pointer;text-decoration:none}
.modal-share .ms-line{background:#06c755;border-color:#06c755;color:#fff}
.modal-share .ms-x{background:#000;color:#fff}
.modal-share .ms-fb{background:#1877f2;border-color:#1877f2;color:#fff}
.modal-share a:hover,.modal-share button:hover{filter:brightness(1.12)}
.modal-nav{display:flex;justify-content:space-between;gap:12px;margin-top:22px}
.modal-nav button{flex:1;max-width:220px;height:44px;border:1.5px solid #000;border-radius:999px;background:#fff;font:700 15px/1 var(--font);cursor:pointer}
.modal-nav button:hover:not(:disabled){background:#000;color:#fff}
.modal-nav button:disabled{opacity:.3;cursor:default}
@media (max-width:900px){.wk-more-btn{min-width:0;width:100%}.modal-consult.pill-red{font-size:15px;height:50px}.modal-nav button{font-size:14px}}
.gal-view{max-height:54vh}

/* --- TOP: 追加機能 --- */
.notice-bar{background:#fcee21;color:#000}
.notice-bar a{display:flex;align-items:center;justify-content:center;gap:14px;max-width:1200px;margin:0 auto;padding:9px 20px;font:700 15px/1.4 var(--font);text-decoration:none}
.notice-bar b{flex:none;background:#000;color:#fcee21;font-size:12px;letter-spacing:.06em;padding:4px 10px;border-radius:999px}
.notice-bar span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.notice-bar i{font-style:normal;font-size:20px;line-height:1}
.notice-bar a:hover span{text-decoration:underline}
.goal{margin-top:40px;padding-bottom:4px;text-align:center}
.goal h2{font:900 30px/1.3 var(--head);font-synthesis:none}
.open-now{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:4px 12px;margin-top:10px;padding:7px 18px;border:1.5px solid #bbb;border-radius:999px;background:#fff;font:700 15px/1.4 var(--font)}
.open-now .on-dot{width:11px;height:11px;border-radius:50%;background:#999}
.open-now.is-open{border-color:#2fa84f;background:#effaf2}.open-now.is-open .on-dot{background:#2fa84f;box-shadow:0 0 0 0 rgba(47,168,79,.5);animation:onpulse 1.8s infinite}
.open-now.is-closed{border-color:#bbb;background:#f6f6f6}
.open-now .on-s{color:#555;font-weight:500}
@keyframes onpulse{70%{box-shadow:0 0 0 9px rgba(47,168,79,0)}100%{box-shadow:0 0 0 0 rgba(47,168,79,0)}}
.goal-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px;text-align:left}
.goal-list a{position:relative;display:block;min-height:84px;padding:14px 44px 12px 20px;border:2px solid #000;border-radius:14px;background:#fff;transition:background .2s,color .2s,transform .2s}
.goal-list b{display:block;font:900 19px/1.35 var(--head);font-synthesis:none}
.goal-list small{display:block;margin-top:4px;font:500 14px/1.4 var(--font);color:#555}
.goal-list i{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-style:normal;font-size:28px;line-height:1;color:#ed1c24}
.goal-list a:hover{background:#000;color:#fff;transform:translateY(-2px)}.goal-list a:hover small{color:#ddd}
.cust,.hflow,.faq{margin-top:46px}
.cust{display:grid;grid-template-columns:1fr auto;gap:18px 30px;align-items:center;border-top:2px solid #000;padding-top:30px}
.cust h2,.hflow h2,.faq h2{font:900 34px/1.2 var(--head);font-synthesis:none}
.hflow h2 small,.faq h2 small{margin-left:16px;font:700 17px/1 var(--font);color:#808080}
.cust-l p{margin-top:10px;font:500 16px/1.6 var(--font);color:#333}
.cust-i{display:flex;gap:6px}.cust-i li{width:96px;text-align:center}.cust-i span{display:block;margin-top:6px;font:700 14px/1.3 var(--font)}.cust-i svg{display:block;margin:0 auto}
.cust-stat{grid-column:1/-1;display:flex;align-items:baseline;justify-content:center;gap:6px;padding:14px 0 0;border-top:1px dashed #999;font:900 30px/1.1 var(--head)}
.cust-stat em{font:900 56px/1 var(--lat);font-style:normal;color:#c1272d}.cust-stat small{margin-left:8px;font:700 16px/1 var(--font);color:#555}
.hflow-l{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px;counter-reset:hf}
.hflow-l li{position:relative;border:2px solid #000;border-radius:16px;padding:20px 20px 18px 78px;min-height:128px}
.hflow-l li+li::before{content:"›";position:absolute;left:-14px;top:50%;transform:translateY(-50%);width:20px;text-align:center;font:900 30px/1 var(--lat);color:#f7931e;background:#fff}
.hf-n{position:absolute;left:18px;top:18px;width:46px;height:46px;border-radius:50%;background:#ed1c24;color:#fff;font:800 24px/46px var(--lat);text-align:center}
.hflow-l h3{font:900 19px/1.35 var(--head);font-synthesis:none}.hflow-l p{margin-top:6px;font:500 15px/1.6 var(--font);color:#444}
.hflow-b{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap;margin-top:22px}
.hflow-b .pill-red{position:static;transform:none;width:min(100%,380px);height:54px;font-size:20px}
.hf-line{display:inline-flex;align-items:center;justify-content:center;width:min(100%,300px);height:54px;border-radius:999px;background:#60bd38;color:#fff;font:800 19px/1 var(--font);transition:filter .2s}.hf-line:hover{filter:brightness(1.08)}
.faq-l{margin-top:18px;border-top:2px solid #000}
.faq details{border-bottom:1px solid #bbb}
.faq summary{position:relative;display:flex;align-items:center;gap:14px;padding:16px 46px 16px 4px;font:900 18px/1.5 var(--head);font-synthesis:none;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:10px;top:50%;transform:translateY(-50%);font:400 28px/1 var(--lat);color:#ed1c24}
.faq details[open] summary::after{content:"−"}
.faq details p{display:flex;gap:14px;padding:0 10px 18px 4px;font:500 16px/1.8 var(--font);color:#333}
.fq-q,.fq-a{flex:none;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;font:800 15px/1 var(--lat);color:#fff}
.fq-q{background:#000}.fq-a{background:#ed1c24}
.to-top{position:fixed;right:18px;bottom:20px;z-index:60;width:50px;height:50px;border-radius:50%;border:2px solid #fff;background:#000;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.35);cursor:pointer;opacity:0;transform:translateY(10px);transition:opacity .25s,transform .25s,background .2s}
.to-top.on{opacity:1;transform:none}.to-top:hover{background:#ed1c24}.to-top[hidden]{display:none}
@media (max-width:1100px){.goal-list{grid-template-columns:1fr 1fr}.hflow-l{grid-template-columns:1fr;gap:20px}.hflow-l li+li::before{left:50%;top:-18px;transform:translateX(-50%) rotate(90deg)}.cust{grid-template-columns:1fr}.cust-i{flex-wrap:wrap}}
@media (max-width:900px){.notice-bar a{font-size:13px;padding:8px 14px;gap:10px;justify-content:flex-start}.goal h2,.cust h2,.hflow h2,.faq h2{font-size:22px}.hflow h2 small,.faq h2 small{display:block;margin:6px 0 0;font-size:13px}.goal-list{grid-template-columns:1fr}.goal-list b{font-size:17px}.open-now{font-size:13px;padding:6px 14px}.cust-stat{font-size:20px;flex-wrap:wrap}.cust-stat em{font-size:42px}.cust-stat small{flex:0 0 100%;margin:4px 0 0;text-align:center}.hflow-l li{padding:16px 16px 14px 70px;min-height:0}.hf-n{left:14px;top:14px}.faq summary{font-size:16px;padding-right:38px}.faq details p{font-size:15px}.hflow-b .pill-red{font-size:17px}.to-top{right:12px;bottom:14px;width:46px;height:46px}.cust-i li{width:calc(20% - 5px)}.cust-i svg{width:40px;height:40px}.cust-i span{font-size:11px}}
@media (prefers-reduced-motion:reduce){.open-now.is-open .on-dot{animation:none}.to-top{transition:none}}
.cust-l p{text-wrap:balance;max-width:640px}
.open-wrap{text-align:center;margin:14px 20px 0}.open-wrap .open-now{margin-top:0}
.goal h2{margin-bottom:0}
.goal-list{margin-top:18px}
.open-wrap{margin-bottom:22px}

.hf-insta{display:inline-flex;align-items:center;justify-content:center;width:min(100%,340px);height:54px;border-radius:999px;background:linear-gradient(90deg,#e8267a,#f7931e);color:#fff;font:800 18px/1 var(--font);transition:filter .2s}.hf-insta:hover{filter:brightness(1.08)}
.pt+.open-wrap{margin-top:18px}
@media (max-width:900px){.hf-insta,.hf-line{width:100%;font-size:17px}}

/* --- TOP: 追加機能(2) --- */
.urgent{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:14px;padding:14px 20px;border:2px solid #ed1c24;border-radius:14px;background:#fff5f5;color:#000;transition:background .2s}
.urgent b{flex:none;background:#ed1c24;color:#fff;font:800 14px/1 var(--font);padding:6px 12px;border-radius:999px}
.urgent span{font:700 17px/1.4 var(--font)}.urgent i{font-style:normal;font-size:26px;line-height:1;color:#ed1c24}
.urgent:hover{background:#ffe9e9}
.tel-sub{margin:12px auto 0;text-align:center;font:700 14px/1.6 var(--font);color:#555}.tel-sub.is-open{color:#1f8a3b}
.hf-qr{display:flex;align-items:center;gap:12px;padding:8px 14px 8px 8px;border:1.5px solid #bbb;border-radius:14px;background:#fff}
.hf-qr img{width:84px;height:84px}.hf-qr span{font:700 13px/1.5 var(--font);color:#444}
@media (max-width:1100px),(hover:none){.hf-qr{display:none}}
.quick,.access,.mkvid{margin-top:46px}
.quick h2,.access h2,.mkvid h2{font:900 34px/1.2 var(--head);font-synthesis:none}
.quick h2 small,.access h2 small,.mkvid h2 small{margin-left:16px;font:700 17px/1 var(--font);color:#808080}
.qk-lead{margin-top:8px;font:500 15px/1.7 var(--font);color:#444}
.qk-f{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:14px;align-items:end;margin-top:16px;padding:20px;border:2px solid #000;border-radius:16px;background:#fafafa}
.qk-f label span{display:block;margin-bottom:6px;font:800 15px/1.2 var(--font)}
.qk-f select{width:100%;height:50px;padding:0 12px;border:1.5px solid #000;border-radius:10px;background:#fff;font:700 16px/1 var(--font)}
.qk-f button{height:50px;padding:0 26px;border:0;border-radius:999px;background:#ed1c24;color:#fff;font:800 17px/1 var(--font);cursor:pointer;white-space:nowrap;transition:filter .2s}
.qk-f button:hover{filter:brightness(1.1)}.qk-f button i{font-style:normal;margin-left:8px;font-size:22px;vertical-align:-2px}
.mkvid-v{margin-top:16px;border-radius:18px;overflow:hidden;background:#000}.mkvid-v video{display:block;width:100%;max-height:520px;object-fit:cover}
.ac-g{display:grid;grid-template-columns:1.5fr 1fr;gap:24px;margin-top:18px}
.ac-map{border:2px solid #000;border-radius:16px;overflow:hidden;min-height:320px;background:#eee}.ac-map iframe{display:block;width:100%;height:100%;min-height:320px;border:0}
.ac-i dl{display:grid;grid-template-columns:auto 1fr;gap:12px 18px;font:500 16px/1.7 var(--font)}
.ac-i dt{font-weight:800;border-left:4px solid #ed1c24;padding-left:10px}.ac-i dd{margin:0}.ac-i a{text-decoration:underline}
.ac-btn{display:inline-flex;align-items:center;justify-content:center;margin-top:20px;height:50px;padding:0 26px;border:2px solid #000;border-radius:999px;font:800 16px/1 var(--font);transition:background .2s,color .2s}.ac-btn:hover{background:#000;color:#fff}
@media (max-width:1100px){.qk-f{grid-template-columns:1fr 1fr}.qk-f button{grid-column:1/-1}.ac-g{grid-template-columns:1fr}}
@media (max-width:900px){.urgent{flex-wrap:wrap;gap:8px;padding:12px 14px}.urgent span{font-size:14px;flex:1 1 60%}.quick h2,.access h2,.mkvid h2{font-size:22px}.quick h2 small,.access h2 small,.mkvid h2 small{display:block;margin:6px 0 0;font-size:13px}.qk-f{grid-template-columns:1fr;padding:16px}.ac-map,.ac-map iframe{min-height:260px}.tel-sub{font-size:13px}}

/* DIGITAL v2 */
.dg-c-ai p{width:74%}
.dg-c-ai img{top:50px;right:18px;width:21%}
.oflow-2 .oflow-i h3{font-size:15px;letter-spacing:-.02em}
.ap-why svg{overflow:visible}
@media (max-width:900px){.dg-c-ai img{top:96px;width:30%}.dg-c-ai p{width:62%}}
.dg-c p{text-wrap:balance}.dg-c-ai p{width:76%}

/* DIGITAL: 診断・イメージ・FAQ */
.pick{margin:34px auto 0;padding:26px 28px 24px;background:#fff;border-radius:22px;width:min(1000px,100%)}
.pick-h{font:900 28px/1.3 var(--head);font-synthesis:none;text-align:center}
.pick-h small{display:block;margin-top:4px;font:500 16px/1.5 var(--font);color:#555}
.pick-b{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px}
.pick-b button{padding:12px 20px;border:2px solid #000;border-radius:999px;background:#fff;font:700 17px/1.2 var(--font);cursor:pointer;transition:background .2s,color .2s}
.pick-b button:hover{background:#eee}.pick-b button[aria-pressed="true"]{background:#000;color:#fff}
.pick-ai .pick-b button[aria-pressed="true"]{background:#0f77be;border-color:#0f77be}
.pick-hp .pick-b button[aria-pressed="true"]{background:#f7931e;border-color:#f7931e;color:#000}
.pick-r{margin-top:20px;padding:18px 22px;border-radius:16px;background:#f4f4f4;animation:pickin .3s}
.pick-r[hidden]{display:none}
@keyframes pickin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.pick-t{font:900 22px/1.4 var(--head);font-synthesis:none}.pick-d{margin-top:6px;font:500 18px/1.7 var(--font)}
.pick-n{margin-top:8px;font:500 14px/1.6 var(--font);color:#666}
.pick-go{position:relative;display:flex;align-items:center;justify-content:center;width:min(100%,420px);height:56px;margin:16px auto 0;border-radius:12px;background:#c1272d;color:#fff;font:700 19px/1 var(--font);transition:filter .2s}
.pick-go:hover{filter:brightness(1.1)}.pick-go b{position:absolute;right:20px;font-weight:500}
.dg-ba{margin-top:46px}
.ba-l{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}
.ba-l>li{border:2px solid #000;border-radius:18px;padding:18px 18px 18px;background:#fff}
.ba-l h3{font:900 22px/1.3 var(--head);font-synthesis:none}
.ba-row{display:flex;flex-direction:column;align-items:stretch;gap:2px;margin-top:12px}
.ba-row i{align-self:center;font-style:normal;font-size:30px;line-height:1;color:#f7931e;transform:rotate(90deg);margin:2px 0}
.ba-b,.ba-a{border-radius:12px;padding:12px 14px}
.ba-b{background:#eee}.ba-a{background:#d6ecf8}
.ba-b span,.ba-a span{display:inline-block;font:800 13px/1 var(--font);padding:4px 10px;border-radius:999px;background:#666;color:#fff}.ba-a span{background:#0f77be}
.ba-b p,.ba-a p{margin-top:8px;font:700 16px/1.6 var(--font)}
.dg-ba .blk-h small{display:block;margin-top:6px}
.dg-faq{margin-top:46px}
@media (max-width:1100px){.ba-l{grid-template-columns:1fr}}
@media (max-width:900px){.pick{padding:18px 14px}.pick-h{font-size:20px}.pick-h small{font-size:13px}.pick-b button{font-size:14px;padding:10px 14px}.pick-t{font-size:18px}.pick-d{font-size:15px}.pick-go{font-size:16px;height:52px}}

/* FOR BUSINESS: 追加機能 */
.tbc{display:inline-block;margin-left:6px;padding:2px 7px;border-radius:999px;background:#fcee21;color:#000;font:800 11px/1.3 var(--font);letter-spacing:.04em;vertical-align:1px}
.bz-spec,.bz-check,.bz-due,.bz-quote,.bz-ways,.bz-faq{margin-top:46px}
.blk-h small .tbc{margin-right:6px}
.spec-t{margin-top:16px;overflow-x:auto;border:2px solid #000;border-radius:14px}
.spec-t table{width:100%;border-collapse:collapse;min-width:680px}
.spec-t th,.spec-t td{padding:14px 16px;text-align:left;font:500 16px/1.6 var(--font);border-bottom:1px solid #ddd}
.spec-t thead th{background:#000;color:#fff;font-weight:800;font-size:15px}
.spec-t tbody th{font-weight:900;background:#f6f6f6;white-space:nowrap}
.spec-t tbody tr:last-child th,.spec-t tbody tr:last-child td{border-bottom:0}
.bz-secret{margin-top:16px;padding:14px 20px;border-left:6px solid #c1272d;background:#fff5f5;font:700 16px/1.6 var(--font)}
.bz-secret b{display:inline-block;margin-right:12px;color:#c1272d}
.bz-check{display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:start}
.bz-check h2{font:900 30px/1.3 var(--head);font-synthesis:none}.bz-check h2 small{display:block;margin-top:4px;font:500 15px/1.5 var(--font);color:#555}
.chk-u{margin-top:14px}.chk-u li+li{margin-top:8px}
.chk-u label{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1.5px solid #000;border-radius:12px;background:#fff;font:700 16px/1.5 var(--font);cursor:pointer}
.chk-u input{flex:none;width:22px;height:22px;margin-top:2px;accent-color:#c1272d}
.chk-u label:has(input:checked){background:#fff5f5;border-color:#c1272d}
.chk-r{margin-top:14px;padding:12px 16px;border-radius:12px;background:#f4f4f4;font:700 16px/1.6 var(--font)}.chk-r.ok{background:#e9f7ee;color:#1f6f36}
.chk-m{padding:22px 24px;border:2px solid #000;border-radius:18px}.chk-m h3{font:900 22px/1.3 var(--head);font-synthesis:none}
.chk-m p{margin-top:8px;font:500 15px/1.7 var(--font)}.chk-m ul{margin-top:10px;list-style:disc;padding-left:20px}.chk-m li{font:700 15px/1.8 var(--font)}
.due-f{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;margin-top:16px}
.due-f label span{display:block;margin-bottom:6px;font:800 15px/1.2 var(--font)}
.due-f select{height:50px;min-width:320px;padding:0 12px;border:1.5px solid #000;border-radius:10px;background:#fff;font:700 16px/1 var(--font)}
.due-f button{height:50px;padding:0 26px;border:0;border-radius:999px;background:#c1272d;color:#fff;font:800 17px/1 var(--font);cursor:pointer;transition:filter .2s}.due-f button:hover{filter:brightness(1.1)}
.due-r{margin-top:14px;font:700 22px/1.5 var(--font)}.due-r b{color:#c1272d;font-size:30px}
.due-n{margin-top:6px;font:500 14px/1.7 var(--font);color:#555}
.bz-first{margin-top:34px;font:900 24px/1.3 var(--head);font-synthesis:none}.bz-first small{margin-left:14px;font:700 15px/1 var(--font);color:#808080}
.first-l{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:14px}
.first-l li{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 6px;border:2px solid #000;border-radius:12px;text-align:center;background:#fff}
.first-l b{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#c1272d;color:#fff;font:800 15px/1 var(--lat)}
.first-l span{font:800 15px/1.4 var(--font)}
.first-n{margin-top:10px;font:500 14px/1.7 var(--font);color:#555}
.bq-f{margin-top:16px;padding:24px;border:2px solid #000;border-radius:18px;background:#fafafa}
.bq-g{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 20px}
.bq-f label{display:block;font:800 15px/1.2 var(--font)}.bq-f label b{margin-left:8px;color:#fff;background:#c1272d;font:700 11px/1 var(--font);padding:3px 7px;border-radius:999px}.bq-f label em{margin-left:8px;font:700 11px/1 var(--font);font-style:normal;color:#666}
.bq-f input[type=text],.bq-f input[type=email],.bq-f input[type=tel],.bq-f input[type=date],.bq-f select,.bq-f textarea{display:block;width:100%;margin-top:6px;padding:12px;border:1.5px solid #000;border-radius:10px;background:#fff;font:500 16px/1.4 var(--font)}
.bq-f input[type=file]{display:block;margin-top:6px;font:500 15px/1.4 var(--font)}
.bq-w{display:block;margin-top:14px}
.bq-f .ct-btn{display:block;width:min(100%,360px);margin:20px auto 0}
.way-l{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}
.way-l li{padding:20px;border:2px solid #000;border-radius:16px;background:#fff;text-align:center}
.way-l b{display:block;font:900 19px/1.4 var(--head);font-synthesis:none}.way-l p{margin-top:6px;font:500 15px/1.6 var(--font);color:#444}
.way-b{display:inline-flex;align-items:center;justify-content:center;margin-top:14px;height:46px;padding:0 24px;border-radius:999px;background:#000;color:#fff;font:800 16px/1 var(--font);transition:background .2s}.way-b:hover{background:#c1272d}
.doc-dl{margin-top:22px;text-align:center}.doc-dl a{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;border:2px solid #c1272d;border-radius:999px;color:#c1272d;font:800 18px/1 var(--font);transition:background .2s,color .2s}.doc-dl a:hover{background:#c1272d;color:#fff}
.doc-dl small{display:block;margin-top:10px;font:500 14px/1.6 var(--font);color:#555}
@media (max-width:1100px){.bz-check{grid-template-columns:1fr}.first-l{grid-template-columns:repeat(4,1fr)}.way-l{grid-template-columns:1fr}}
@media (max-width:900px){.bz-check h2{font-size:22px}.bz-first{font-size:19px}.bz-first small{display:block;margin:4px 0 0}.first-l{grid-template-columns:repeat(2,1fr)}.bq-g{grid-template-columns:1fr}.bq-f{padding:16px}.due-f select{min-width:0;width:100%}.due-f label{width:100%}.due-f button{width:100%}.due-r{font-size:17px}.due-r b{font-size:24px}.doc-dl a{font-size:15px;padding:12px 18px}.spec-t th,.spec-t td{font-size:14px;padding:10px 12px}}
.gbadge.gb-bottom{width:min(560px,100%);height:auto;min-height:84px;margin:30px auto 0;white-space:nowrap;transition:background .2s}
.gbadge.gb-bottom:hover{background:#f6f6f6}
.gbadge.gb-bottom .gb-l b{font-size:15px}
@media (max-width:900px){.gbadge.gb-bottom{white-space:normal}}

/* --- TOP: 小鳥 --- */
.bird{position:fixed;left:0;top:0;z-index:60;pointer-events:none;opacity:0;will-change:transform}
.bird-in{width:64px;transform-origin:50% 50%}
.bird.is-left .bird-in{transform:scaleX(-1)}
.bird svg{display:block;width:100%;height:auto;filter:drop-shadow(0 4px 4px rgba(0,0,0,.22))}
.bird-wing{transform-origin:40px 34px;animation:birdflap .22s ease-in-out infinite alternate}
@keyframes birdflap{from{transform:rotate(-28deg)}to{transform:rotate(22deg)}}
@media (max-width:700px){.bird-in{width:48px}}
@media (prefers-reduced-motion:reduce){.bird{display:none}}

/* 導入アニメーション：起動バー */
#intro .intro-bar{width:min(52vmin,420px);animation:ibarOut .35s ease 2.95s forwards}
#intro .intro-lbl{display:flex;align-items:baseline;gap:2px;margin:0 0 10px;color:#fff;font:700 clamp(12px,1.9vmin,15px)/1 var(--font);letter-spacing:.18em}
#intro .intro-dots:after{content:"";animation:idots 1.2s steps(1) infinite}
#intro .intro-pct{margin-left:auto;font:700 clamp(12px,1.9vmin,15px)/1 var(--lat,var(--font));letter-spacing:.08em;font-variant-numeric:tabular-nums}
#intro .intro-track{height:6px;border-radius:99px;background:rgba(255,255,255,.18);overflow:hidden}
#intro .intro-track i{display:block;height:100%;width:100%;border-radius:99px;background:linear-gradient(90deg,#ED1C24,#F7931E,#FCEE21);transform:scaleX(0);transform-origin:left;animation:ibar 2.8s cubic-bezier(.45,.05,.3,1) .15s forwards}
@keyframes ibar{0%{transform:scaleX(0)}35%{transform:scaleX(.42)}55%{transform:scaleX(.58)}85%{transform:scaleX(.93)}100%{transform:scaleX(1)}}
@keyframes ibarOut{to{opacity:0}}
@keyframes idots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}
.co-reg{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.co-reg li{font:500 18px/1.6 var(--font)}
.co-reg b{font-weight:900;margin-right:6px}
.co-reg small{display:block;font:500 14px/1.6 var(--font);color:#555}

/* --- 屋外広告業 登録表示 --- */
.permit{width:min(1100px,100%);margin:0 auto;padding:16px 24px 18px;border:2px solid #000;border-radius:18px;background:#fff}
.pm-t{display:flex;align-items:center;gap:14px}
.pm-t svg{flex:none}
.pm-t b{display:block;font:900 22px/1.3 var(--head);font-synthesis:none}
.pm-t span{display:block;margin-top:2px;font:500 15px/1.5 var(--font);color:#444}
.pm-l{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.pm-l li{padding:10px 14px;border-radius:12px;background:#f4f4f4;text-align:center}
.pm-l em{display:block;font:700 15px/1.5 var(--font);font-style:normal;color:#444}
.pm-l strong{display:block;margin-top:1px;font:900 20px/1.5 var(--head);font-synthesis:none}
.pm-l small{display:block;margin-top:2px;font:500 13px/1.5 var(--font);color:#666}
.permit-w{margin-top:22px;margin-bottom:6px}
.sg .permit,.ct-w .permit{margin-bottom:34px}
.sg>.wrap>.permit{margin-top:50px;margin-bottom:44px}
@media (max-width:900px){
  .permit{padding:14px 14px 16px}
  .pm-t b{font-size:18px}.pm-t span{font-size:13px}
  .pm-l{grid-template-columns:1fr;gap:8px}
  .pm-l li{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:2px 10px}
  .pm-l small{flex-basis:100%}
}

/* --- TOP: キャラクターがふわふわ浮く --- */
.hero-mascot{transform-origin:50% 60%;will-change:transform;animation:mascotFloat 4.6s ease-in-out 3.6s infinite}
@keyframes mascotFloat{0%,100%{transform:translateY(0) rotate(-.8deg)}25%{transform:translateY(-1cqw) rotate(.4deg)}50%{transform:translateY(-1.7cqw) rotate(1deg)}75%{transform:translateY(-.7cqw) rotate(.2deg)}}
@media (max-width:900px){@keyframes mascotFloat{0%,100%{transform:translateY(0) rotate(-.8deg)}50%{transform:translateY(-8px) rotate(1deg)}}}
@media (prefers-reduced-motion:reduce){.hero-mascot{animation:none}}

/* --- TOP: キャッチコピーがゆるく大小する --- */
.hero-h1 .l1,.hero-h1 .l2{transform-origin:0 55%;will-change:scale;animation:h1Breath 5s ease-in-out 3.6s infinite}
.hero-h1 .l2{animation-delay:4.1s}
@keyframes h1Breath{0%,100%{scale:1}50%{scale:1.045}}
@media (prefers-reduced-motion:reduce){.hero-h1 .l1,.hero-h1 .l2{animation:none}}

/* --- TOP: スマホ表示の整え --- */
@media (max-width:900px){
  .hero-in{background:linear-gradient(180deg,rgba(0,0,0,.4),rgba(0,0,0,.72))}
  .hero-in .pill-red{position:relative;left:auto;top:auto;right:auto}
  .hero-mascot{height:190px;margin-top:2px}
  .hero-note{text-wrap:balance}
  /* 登録表示：スマホでは小さくまとめる */
  .permit{padding:12px 12px 12px;border-radius:14px}
  .pm-t{gap:10px}.pm-t svg{width:30px;height:30px}.pm-t b{font-size:17px}
  .permit:not(.permit-full) .pm-t span{display:none}
  .pm-l{margin-top:10px;gap:6px}
  .pm-l li{padding:7px 10px;gap:2px 8px}
  .pm-l em{font-size:13px}.pm-l strong{font-size:17px}
  /* Googleバッジ */
  .gbadge.gb-bottom{flex-direction:column;justify-content:center;gap:6px;padding:12px 14px;text-align:center}
  .gbadge.gb-bottom .gb-l b{font-size:14px}.gbadge.gb-bottom .gb-r{font-size:16px;white-space:nowrap}
  /* お急ぎバナー */
  .urgent{flex-wrap:wrap;gap:8px 10px;padding:12px 14px}
  .urgent span{font-size:15px;flex:1 1 180px;text-align:left}
  .urgent i{display:none}
  /* お知らせの余白 */
  .news-box{min-height:0}
  /* 文字の折り返し（1文字だけの行を防ぐ） */
  .card-d,.hflow-l p,.why-c p,.faq p{text-wrap:pretty}
  .hflow-l h3,.why-c h3,.card-t,.quick h2,.goal h2{text-wrap:balance}
}
@media (max-width:900px){.why-lead{text-wrap:balance}.cust-i{gap:0;justify-content:space-between}.cust-i li{width:auto;flex:1}.cust-i span{white-space:nowrap;font-size:12px}}

/* 屋外広告業の登録：TOP用の小さい帯 */
.permit.permit-compact{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 18px;width:fit-content;max-width:100%;padding:8px 20px;border-width:1.5px;border-radius:999px}
.permit-compact .pm-t{gap:8px}
.permit-compact .pm-t svg{width:22px;height:22px}
.permit-compact .pm-t b{font-size:15px;white-space:nowrap}
.permit-compact .pm-t span{display:none}
.permit-compact .pm-l{margin:0;display:flex;flex-wrap:wrap;gap:2px 16px}
.permit-compact .pm-l li{display:flex;align-items:baseline;gap:6px;padding:0;background:none;border-radius:0;text-align:left}
.permit-compact .pm-l em{display:inline;font-size:12.5px}
.permit-compact .pm-l strong{display:inline;margin:0;font-size:14px}
.permit-compact .pm-l li+li{padding-left:16px;border-left:1px solid #bbb}
.permit-w{margin-top:14px}
@media (max-width:900px){
  .permit.permit-compact{border-radius:16px;padding:8px 12px;gap:4px 10px;justify-content:flex-start}
  .permit-compact .pm-t b{font-size:14px}
  .permit-compact .pm-l{gap:2px 12px}
  .permit-compact .pm-l li{flex-basis:100%;border-left:0;padding-left:0}
  .permit-compact .pm-l li+li{border-left:0;padding-left:0}
  .permit-compact .pm-l em{font-size:12px;min-width:5.6em}
  .permit-compact .pm-l strong{font-size:14px}
}
.permit-w{margin-bottom:18px}

/* TOP：登録表示を、画面の端から端までの黒い帯に */
.permit-band{width:100%;margin:16px 0 20px;padding:11px 20px;background:#000;color:#fff}
.permit-band .permit.permit-compact{width:auto;max-width:1200px;margin:0 auto;padding:0;border:0;border-radius:0;background:none;justify-content:center}
.permit-band .pm-t b{color:#fff}
.permit-band .pm-l strong{color:#fff}
.permit-band .pm-l em{color:#c9c9c9}
.permit-band .pm-l li+li{border-left-color:#666}
.permit-band .pm-t b{font-size:16px}
.permit-band .pm-l strong{font-size:15px}
@media (max-width:900px){
  .permit-band{padding:10px 16px;margin:14px 0 16px}
  .permit-band .permit.permit-compact{justify-content:flex-start}
  .permit-band .pm-l em{min-width:6.2em}
}
.ct-w .permit{margin:44px auto 44px}

/* ---- Contact Form 7（送信できるフォーム）の見た目 ---- */
.wpcf7-form-control-wrap{display:block}
.wpcf7 .wpcf7-spinner{display:none}
.wpcf7-not-valid-tip{display:block;margin-top:6px;color:#c1272d;font:700 14px/1.4 var(--font)}
.wpcf7-not-valid{border-color:#c1272d!important}
.wpcf7 form .wpcf7-response-output{margin:22px 0 0;padding:14px 16px;border:2px solid #000;border-radius:10px;font:700 16px/1.6 var(--font)}
.wpcf7 form.sent .wpcf7-response-output{border-color:#2e8b3d;background:#eef8ef}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.failed .wpcf7-response-output,.wpcf7 form.spam .wpcf7-response-output,.wpcf7 form.unaccepted .wpcf7-response-output{border-color:#c1272d;background:#fdeeee}
.ct-f input[type=file],.bq-f input[type=file]{border:0;padding:8px 0;font-size:15px}
.ct-f input[type=submit].ct-btn,.bq-f input[type=submit].ct-btn{display:block;width:min(420px,100%);height:58px;margin:24px auto 0;padding:0;border:0;border-radius:999px;background:#ed1c24;color:#fff;font:700 22px/1 var(--font);cursor:pointer;text-align:center}.ct-f input[type=submit].ct-btn:hover,.bq-f input[type=submit].ct-btn:hover{filter:brightness(1.08)}.wpcf7-submit:disabled{opacity:.6;cursor:wait}
.wpcf7-list-item{display:block;margin:6px 0 0}.wpcf7-acceptance input{display:inline-block;width:auto;margin:0 8px 0 0}

/* ---- TOP：Instagram を画面いっぱいに、右から左へ流す ---- */
.insta-feed[data-marquee]{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);overflow:hidden}
.insta-feed.mq-on>*:not(.insta-mq){display:none!important}
.insta-mq{display:flex;width:max-content;animation:instaMq var(--mq-dur,70s) linear infinite;will-change:transform}
.insta-feed:hover .insta-mq,.insta-feed:focus-within .insta-mq{animation-play-state:paused}
.insta-mq a{flex:none;display:block;width:clamp(200px,17vw,270px);aspect-ratio:1;margin-right:14px;border-radius:12px;overflow:hidden;background:#f2f2f2}
.insta-mq img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.insta-mq a:hover img,.insta-mq a:focus-visible img{transform:scale(1.06)}
@keyframes instaMq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (max-width:900px){.insta-mq a{width:42vw;margin-right:10px}}
@media (prefers-reduced-motion:reduce){.insta-feed.mq-on{overflow-x:auto}.insta-mq{animation:none}}

/* ---- ヘッダー：スクロールしても、上に付いてくる（付いてくる時は、細く小さくする） ---- */
html{scroll-padding-top:96px}
.hdr-ph{display:none}
.hdr-ph.on{display:block}
.hdr.is-fixed{position:fixed;top:var(--wp-admin--admin-bar--height,0px);left:0;right:0;border-bottom-width:4px;box-shadow:0 4px 18px rgba(0,0,0,.28);animation:hdrIn .25s ease-out}
.hdr.is-fixed .hdr-in{height:70px}
.hdr.is-fixed .brand-ring{height:50px}
.hdr.is-fixed .brand-name{font-size:25px}
.hdr.is-fixed .brand-sub{display:none}
.hdr.is-fixed .hdr-c1,.hdr.is-fixed .hdr-c2{display:none}
.hdr.is-fixed .hdr-r{padding-top:0}
.hdr.is-fixed .gnav{margin-top:0}
@keyframes hdrIn{from{opacity:0}to{opacity:1}}
@media (max-width:1100px){
  .hdr.is-fixed .hdr-in{height:70px}
  .hdr.is-fixed .brand-ring{height:44px}.hdr.is-fixed .brand-name{font-size:20px}
  .hdr.is-fixed .hdr-r{inset:74px 0 0 0;padding-top:26px}
  .admin-bar .hdr.is-fixed .hdr-r{top:calc(74px + var(--wp-admin--admin-bar--height,0px))}
}
@media (prefers-reduced-motion:reduce){.hdr.is-fixed{animation:none}}

/* --- 下層ページ ヒーロー：スマホ表示の文字かぶり解消 --- */
@media (max-width:900px){
  .sh .hero-in .pill-red,.sh-w .hero-in .pill-red,.sh-b .hero-in .pill-red{position:relative;left:auto!important;right:auto;top:auto!important;transform:none!important;width:100%;max-width:340px;margin-left:auto;margin-right:auto}
  .sh .sh-s1,.sh .sh-s2,.sh .sh-note,.sh-w .sh-s1,.sh-w .sh-s2,.sh-w .sh-note,.sh-b .sh-s1,.sh-b .sh-s2,.sh-b .sh-note{position:static;top:auto!important;left:auto!important;transform:none!important}
  .sh-title{white-space:normal;font-size:min(34px,8.4vw);line-height:1.25;max-width:100%;text-align:left;text-wrap:balance}
  .sh-en{white-space:normal;max-width:100%}
  .sh-lead{max-width:100%}
  .sh-note{order:7;line-height:1.6}
  .sh-mascot{order:9;margin-top:18px}
  .sh .hero-in{overflow:hidden}
  .sh-b .hero-in{height:auto;overflow:hidden}
}

/* スマホメニュー：追従中でも画面いっぱいに開く */
@media (max-width:1100px){
  .hdr.is-fixed .hdr-r{height:calc(100vh - 74px);height:calc(100dvh - 74px);bottom:auto;-webkit-overflow-scrolling:touch}
  .admin-bar .hdr.is-fixed .hdr-r{height:calc(100dvh - 74px - var(--wp-admin--admin-bar--height,0px))}
}
@media (max-width:1100px){
  .hdr.is-fixed .hdr-r{padding-top:10px;padding-bottom:24px}
  .hdr.is-fixed .gnav a{padding:12px 4px}
}

/* --- 流れ（STEP）：スマホで文字の納まりを整える --- */
@media (max-width:900px){
  .oflow-i h3,.oflow-2 .oflow-i h3{padding:0 12px 0 20px;justify-content:flex-start;text-align:left;font-size:15.5px;letter-spacing:0;box-sizing:border-box}
  .oflow-i p,.oflow-2 .oflow-i p{font-size:13.5px;line-height:1.65;text-align:left;text-wrap:balance;word-break:auto-phrase;line-break:strict}
  .oflow-i{gap:6px 14px}
  .flow-i p{text-wrap:balance;line-break:strict}
}

/* --- スマホではキャラクターを表示しない --- */
@media (max-width:900px){
  .hero-mascot,.sh-mascot,.news-mascot{display:none!important}
  .hero-in{padding-bottom:30px}
  .sh{padding-bottom:30px}
}

/* --- 会社概要：代表あいさつ --- */
.co-msg{max-width:960px;margin:0 auto 56px}
.co-msg-h{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin:0 0 22px;padding-bottom:12px;border-bottom:3px solid #000;font:900 30px/1.3 var(--font)}
.co-msg-h small{font:700 15px/1 var(--lat);letter-spacing:.12em;color:#e60012}
.co-msg-b p{margin:0 0 1.2em;font:400 17px/2 var(--font);color:#222}
.co-msg-b p:last-child{margin-bottom:0}
.co-msg-sign{text-align:right;font:900 22px/1.6 var(--font)!important;margin-top:1.6em!important}
.co-msg-sign span{font:700 15px/1 var(--font);margin-right:.8em}
@media (max-width:900px){
  .co-msg{margin-bottom:40px}
  .co-msg-h{font-size:24px}
  .co-msg-b p{font-size:15.5px;line-height:1.95;text-wrap:pretty}
  .co-msg-sign{font-size:20px!important}
}

/* --- 会社概要：取引先・登録団体 --- */
.co-grp{max-width:960px;margin:56px auto 0}
.co-grp-h{margin:0 0 6px;padding-bottom:12px;border-bottom:3px solid #000;font:900 26px/1.4 var(--font)}
.co-grp-r{display:grid;grid-template-columns:200px 1fr;gap:20px;padding:18px 6px;border-bottom:1px solid #bbb}
.co-grp-r h3{margin:0;font:700 17px/1.7 var(--font)}
.co-grp-r ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 10px}
.co-grp-r li{padding:4px 14px;border:1px solid #999;border-radius:999px;font:500 16px/1.7 var(--font);background:#fff}
@media (max-width:900px){
  .co-grp{margin-top:40px}
  .co-grp-h{font-size:20px}
  .co-grp-r{grid-template-columns:1fr;gap:8px}
  .co-grp-r h3{font-size:15px;color:#c1272d}
  .co-grp-r li{font-size:14px;padding:3px 12px}
}

/* --- 会社概要：地図 --- */
.co-map-ad{margin:16px 0 14px;font:500 17px/1.7 var(--font)}
.co-map-f{position:relative;height:420px;border:2px solid #000;border-radius:16px;overflow:hidden;background:#eee}
.co-map-f iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.co-map-l{margin:12px 0 0;text-align:right;font:500 15px/1.6 var(--font)}
.co-map-l a{text-decoration:underline}
@media (max-width:900px){.co-map-f{height:320px}.co-map-ad{font-size:15px}.co-map-l{text-align:left}}

/* --- 代表あいさつ：キャラクター --- */
.co-msg-w{display:grid;grid-template-columns:1fr 250px;gap:36px;align-items:center}
.co-msg-f{margin:0;align-self:center}
.co-msg-f img{display:block;width:100%;height:auto}
@media (max-width:900px){
  .co-msg-w{grid-template-columns:1fr;gap:6px}
  .co-msg-f{order:2;width:150px;margin:0 auto}
}

/* 制作実績：準備中の表示 */
.wk-prep{padding:70px 16px 90px;text-align:center;font:700 20px/2 var(--font);color:#333}
@media (max-width:900px){.wk-prep{padding:46px 12px 60px;font-size:16px}}
