/* gfp.css v6 (2026-09-12): /price/ 案Z10 の style ブロックを束ねた下層共通CSS（同じ順序・同じ中身）。
   greenfield 行組み／zizo 角丸シート／巨大英字／番号なし。ページ固有部品は末尾に追加 */
/* ---- p-price-variant ---- */
.gfp{color:#111;font-family:YakuHanJP,"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN",sans-serif;text-align:left;--line:rgba(17,17,17,.2)}.gfp *{box-sizing:border-box}.gfp .gfp__wrap{width:87.5%;margin:0 auto}.gfp .en{font-family:"Hanken Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif}.gfp__head{width:87.5%;margin:0 auto;padding:clamp(96px,9vw,130px) 0 0;display:flex;flex-direction:column;align-items:flex-end;text-align:right}.gfp__h1{font-family:"Hanken Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;font-size:clamp(28px,3.4vw,55px);line-height:1;margin:0;letter-spacing:-.02em}.gfp__nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:0 clamp(1rem,2.2vw,2.4rem);margin:1.2rem 0 0;padding:0;list-style:none}.gfp__nav a{font-family:"Hanken Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:clamp(11px,.8vw,13px);font-weight:500;letter-spacing:.02em;color:#111;text-decoration:none;position:relative;padding-bottom:.3em}.gfp__nav a:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:#111;transform:scaleX(0);transform-origin:right;transition:transform .5s cubic-bezier(.23,1,.32,1)}.gfp__nav a:hover:after,.gfp__nav a.is-on:after{transform:scaleX(1);transform-origin:left}.gfp__crumb{font-family:"Hanken Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:11px;font-weight:500;color:#111;margin:clamp(2rem,5vw,4rem) 0 0;text-align:right;width:87.5%;margin-left:auto;margin-right:auto}.gfp__crumb span{font-family:YakuHanJP,"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN",sans-serif;font-weight:500}.gfp__crumb i{font-style:normal;margin:0 .5em;color:#999}.gfp__img{width:93.8%;margin:clamp(1.6rem,3.5vw,3.5rem) 0 0 auto;position:relative}.gfp__slides{position:relative;aspect-ratio:16/7.2;overflow:hidden;background:#e9e9e9}.gfp__slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;opacity:0;transition:opacity 1.4s ease;transform:scale(1.02)}.gfp__slides img.is-on{opacity:1;transform:translateY(var(--py,0));transition:opacity 1.4s ease}.gfp__dots{display:flex;justify-content:center;gap:10px;padding:18px 0 0}.gfp__dots i{width:6px;height:6px;border-radius:50%;background:#c9c9c9;display:block;transition:background .3s}.gfp__dots i.is-on{background:#111}.gfp__sec{padding:clamp(80px,11vw,150px) 0 0}.gfp__sec:last-of-type{padding-bottom:clamp(80px,11vw,150px)}.gfp__sec+.gfp__sec{padding-top:clamp(90px,12vw,170px)}.gfp__grid{display:flex;flex-wrap:wrap;margin:0 -20px}.gfp__grid>*{padding:0 20px}.gfp__c2{width:16.6667%}.gfp__c10{width:83.3333%}.gfp__vlab{writing-mode:vertical-rl;margin:0;font-family:"Hanken Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:clamp(12px,.94vw,18px);font-weight:500;letter-spacing:.04em;line-height:1;display:inline-flex;align-items:center;gap:22px}.gfp__vlab:after{content:"";display:block;width:1px;height:60px;background:#111}.gfp__title{margin:0;line-height:1}.gfp__title .en{display:block;font-family:"Hanken Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;font-size:clamp(56px,6vw,126px);line-height:.9;letter-spacing:-.02em;margin-top:-.06em}.gfp__title .ja{display:block;font-weight:900;font-size:clamp(1.3rem,2.4vw,2.4rem);line-height:1.35;letter-spacing:.02em;margin-top:clamp(40px,5.5vw,70px)}.gfp__lead{font-family:"Zen Kaku Gothic New",sans-serif;font-size:clamp(14px,1.2vw,15.4px);letter-spacing:.02em;line-height:1.9;font-weight:500;color:#555;margin:clamp(20px,2.4vw,30px) 0 0;max-width:46em}.gfp__body{margin-top:clamp(40px,6vw,80px)}.gfp__row{display:flex;width:100%}.gfp__rh{width:15.4%;padding:25px 0 0;line-height:2}.gfp__rd{width:84.6%;padding:60px 0 40px;border-bottom:.5px solid #dadada}.gfp__rh p,.gfp__rd p{margin:0;font-size:clamp(13px,.83vw,15px);letter-spacing:.05em;line-height:1.6;font-weight:700}.gfp__rh p{color:#111;letter-spacing:.08em}.gfp__rd p{line-height:2;color:#555}.gfp__rd p+p{margin-top:.8em}.gfp__ul{list-style:none;margin:0;padding:0}.gfp__ul li{font-size:clamp(13px,.83vw,15px);letter-spacing:.05em;line-height:2;font-weight:700;color:#555;padding-left:1.2em;position:relative}.gfp__ul li:before{content:"・";position:absolute;left:0}.gfp__tagsm{display:inline-block;font-size:.72em;letter-spacing:.14em;color:#8d8d8d;margin-left:.9em;font-weight:500}.gfp__plans{display:flex;margin:0 -20px}.gfp__plan{width:33.333%;padding:40px 20px 50px;position:relative}.gfp__plan:before{content:"";position:absolute;left:20px;right:20px;top:0;height:1px;background:#111}.gfp__plan.is-main:before{height:2px}.gfp__ptag{margin:0 0 1.2em;font-size:11px;letter-spacing:.2em;font-weight:700;color:#8d8d8d}.gfp__plan.is-main .gfp__ptag{color:#111}.gfp__pname{margin:0 0 1.6em;font-size:clamp(15px,1.1vw,18.4px);font-weight:700;letter-spacing:.05em}.gfp__pprice{margin:0;font-family:"Hanken Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:700;font-size:clamp(26px,2.6vw,42px);line-height:1.1;letter-spacing:-.03em}.gfp__pprice small{display:block;font-size:.5em;font-weight:700;color:#555;margin-top:.5em;letter-spacing:-.01em}.gfp__rd .gfp__pprice--row{margin-bottom:1.2em;font-size:clamp(24px,2.2vw,36px);letter-spacing:-.01em;line-height:1.1}.gfp__rd .gfp__pprice--row small{font-size:.5em;line-height:1.6}.gfp__pdesc{margin:2em 0 0;font-size:clamp(12.5px,.84vw,13.5px);letter-spacing:.04em;line-height:1.9;color:#555;font-weight:700}.gfp__tbl{overflow-x:auto;margin-bottom:0}.gfp__tbl table{width:100%;border-collapse:collapse;min-width:640px}.gfp__tbl th,.gfp__tbl td{text-align:left;padding:22px 16px 22px 0;border-bottom:.5px solid #dadada;font-size:clamp(12px,.8vw,14.5px);letter-spacing:.05em;line-height:1.7;font-weight:700;vertical-align:top;color:#555}.gfp__tbl thead th{font-weight:700;color:#111;border-bottom:1px solid #111;padding-top:0}.gfp__tbl tbody th{font-weight:700;color:#111;width:15.4%}.gfp__tbl .is-ours{color:#111;font-weight:700}.gfp__ctas{margin-top:clamp(40px,5vw,60px);display:flex;gap:16px;flex-wrap:wrap}.gfp__btn{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;text-decoration:none;font-size:clamp(12px,.83vw,15px);font-weight:700;letter-spacing:.06em;transition:opacity .3s,background .3s,color .3s}.gfp__btn svg{width:16px;height:16px;flex:none}.gfp__btn--ghost{border:1px solid #111;color:#111;padding:18px 26px;min-width:260px}.gfp__btn--ghost:hover{background:#111;color:#fff}.gfp__btn--black{background:#111;color:#fff;width:100%;padding:26px 30px}.gfp__btn--black:hover{opacity:.8}.gfp__cta{padding:0 0 clamp(80px,11vw,150px)}.gfp .fadein{opacity:0;transform:translateY(20px);transition:transform .8s cubic-bezier(.23,1,.32,1),opacity .5s cubic-bezier(.25,.46,.45,.94)}.gfp .fadein.is-show{opacity:1;transform:none}.gfp .gfp__body>.fadein:nth-child(2){transition-delay:.1s}.gfp .gfp__body>.fadein:nth-child(3){transition-delay:.2s}.gfp .gfp__body>.fadein:nth-child(4){transition-delay:.3s}.gfp .gfp__body>.fadein:nth-child(5){transition-delay:.4s}.gfp [id]{scroll-margin-top:110px}@media (max-width:820px){.gfp__head{padding-top:1rem}.gfp__nav{gap:0 1rem}.gfp__img{width:100%;margin-top:1.6rem}.gfp__slides{aspect-ratio:16/10}.gfp__grid{display:block;margin:0}.gfp__grid>*{padding:0}.gfp__c2,.gfp__c10{width:100%}.gfp__vlab{writing-mode:horizontal-tb;margin-bottom:1.4rem;gap:14px}.gfp__vlab:after{width:40px;height:1px}.gfp__title .en{font-size:clamp(40px,12vw,56px)}.gfp__title .ja{margin-top:1.4rem}.gfp__body{margin-top:2rem}.gfp__row{display:block}.gfp__rh,.gfp__rd{width:100%}.gfp__rh{padding:28px 0 0}.gfp__rd{padding:12px 0 28px}.gfp__plans{display:block;margin:0}.gfp__plan{width:100%;padding:28px 0 34px}.gfp__plan:before{left:0;right:0}.gfp__sec{padding-top:64px}.gfp__sec+.gfp__sec{padding-top:72px}.gfp__btn--ghost{width:100%;min-width:0}}@media (prefers-reduced-motion:reduce){.gfp .fadein{opacity:1;transform:none;transition:none}}.gfp__zhero{position:relative;height:min(78vh,760px);min-height:480px;overflow:hidden;margin-top:clamp(1.6rem,3vw,3rem);background:#111}.gfp__zhero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 0;opacity:.9;transform-origin:50% 0;transform:scale(1.42) translateY(var(--py,0))}.gfp__zhero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 30%,rgba(0,0,0,.7) 100%)}.gfp__zhero__in{position:absolute;left:6.25%;bottom:clamp(90px,14vh,150px);z-index:1;color:#fff}.gfp__zhero__lab{font-family:"Hanken Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;letter-spacing:.24em;font-weight:500;margin:0 0 1.4rem}.gfp__zhero__st{font-size:clamp(22px,2.9vw,38px);font-weight:900;line-height:1.6;letter-spacing:.02em;margin:0}.gfp__zhero__st .ln{display:block;overflow:hidden}.gfp__zhero__st .ln span{display:block;transform:translateY(110%);animation:gfpln 1.1s cubic-bezier(.19,1,.22,1) forwards}.gfp__zhero__st .ln:nth-child(2) span{animation-delay:.12s}.gfp__zhero__st .ln:nth-child(3) span{animation-delay:.24s}@keyframes gfpln{to{transform:none}}.gfp__sheet{position:relative;border-radius:clamp(28px,4vw,56px) clamp(28px,4vw,56px) 0 0;margin-top:calc(-1 * clamp(28px,4vw,56px));padding:clamp(70px,9vw,120px) 0 clamp(90px,11vw,150px);background:#f4f4f4}.gfp__sheet--w{background:#fff}.gfp__sheet--d{background:#111;color:#fff}.gfp__sheet--d .gfp__rd{border-color:rgba(255,255,255,.25)}.gfp__sheet--d .gfp__vlab:after{background:#fff}.gfp__sheet--d .gfp__pdesc,.gfp__sheet--d .gfp__pprice small{color:#bbb}.gfp__sheet--d .gfp__tbl th,.gfp__sheet--d .gfp__tbl td{color:#bbb;border-color:rgba(255,255,255,.25)}.gfp__sheet--d .gfp__tbl thead th,.gfp__sheet--d .gfp__tbl tbody th,.gfp__sheet--d .gfp__tbl .is-ours{color:#fff;border-color:#fff}.gfp__sheet--d .gfp__btn--ghost{border-color:#fff;color:#fff}.gfp__sheet--d .gfp__btn--ghost:hover{background:#fff;color:#111}.gfp__sheet .gfp__sec{padding:0}.gfp__cards{display:flex;gap:clamp(14px,1.6vw,22px)}.gfp__card{flex:1;background:#fff;border-radius:clamp(18px,2vw,26px);padding:clamp(26px,2.6vw,36px);box-shadow:0 12px 30px -18px rgba(0,0,0,.18);position:relative;transition:transform .5s cubic-bezier(.23,1,.32,1),box-shadow .5s}.gfp__card:hover{transform:translateY(-6px);box-shadow:0 26px 40px -22px rgba(0,0,0,.28)}.gfp__card.is-main{background:#111;color:#fff}.gfp__card.is-main .gfp__ptag,.gfp__card.is-main .gfp__pdesc,.gfp__card.is-main .gfp__pprice small{color:#bdbdbd}.gfp__sheet--d .gfp__card{background:#1c1c1c;color:#fff}.gfp__sheet--d .gfp__card.is-main{background:#fff;color:#111}.gfp__sheet--d .gfp__card.is-main .gfp__ptag,.gfp__sheet--d .gfp__card.is-main .gfp__pdesc,.gfp__sheet--d .gfp__card.is-main .gfp__pprice small{color:#555}.gfp__card .gfp__pprice{margin-top:.2em}.gfp__acc{display:flex;flex-direction:column;gap:14px}.gfp__acc__i{background:#fff;border-radius:clamp(16px,1.8vw,22px);overflow:hidden;box-shadow:0 12px 30px -18px rgba(0,0,0,.18)}.gfp__sheet--d .gfp__acc__i{background:#1c1c1c}.gfp__acc__b{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;width:100%;text-align:left;background:none;border:0;color:inherit;font-family:inherit;cursor:pointer;padding:clamp(22px,2.4vw,30px) clamp(22px,2.6vw,36px)}.gfp__acc__b .t{font-size:clamp(15px,1.15vw,19px);font-weight:700;letter-spacing:.04em;margin:0;line-height:1.6}.gfp__acc__b .s{font-size:clamp(12px,.8vw,14px);letter-spacing:.06em;color:#666;margin:.4em 0 0;font-weight:700}.gfp__sheet--d .gfp__acc__b .s{color:#aaa}.gfp__acc__x{flex:none;width:36px;height:36px;border-radius:50%;background:#111;position:relative;transition:transform .45s cubic-bezier(.23,1,.32,1)}.gfp__acc__x:before,.gfp__acc__x:after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:#fff;transform:translate(-50%,-50%)}.gfp__acc__x:after{transform:translate(-50%,-50%) rotate(90deg)}.gfp__acc__i.is-open .gfp__acc__x{transform:rotate(45deg)}.gfp__sheet--d .gfp__acc__x{background:#fff}.gfp__sheet--d .gfp__acc__x:before,.gfp__sheet--d .gfp__acc__x:after{background:#111}.gfp__acc__w{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s cubic-bezier(.23,1,.32,1)}.gfp__acc__i.is-open .gfp__acc__w{grid-template-rows:1fr}.gfp__acc__c{overflow:hidden}.gfp__acc__c>div{padding:0 clamp(22px,2.6vw,36px) clamp(24px,2.6vw,34px)}.gfp__acc__c p,.gfp__acc__c li{font-size:clamp(13px,.83vw,15px);letter-spacing:.05em;line-height:2;margin:0;font-weight:700;color:#555}.gfp__acc__c .gfp__ul{margin:0}@media (max-width:820px){.gfp__zhero{height:70vh;min-height:420px}.gfp__zhero__in{left:6%;right:6%;bottom:70px}.gfp__cards{flex-direction:column}}.gfp__title .en{overflow:hidden}.gfp__title .en i{font-style:normal;display:inline-block;transform:translateY(110%);transition:transform 1.1s cubic-bezier(.19,1,.22,1);transition-delay:calc(var(--i)*.035s)}.gfp__title.is-show .en i{transform:none}.gfp__c2{position:relative}.gfp__vlab{position:sticky;top:120px}.gfp__row{position:relative;transition:background .4s}.gfp__rd{position:relative}.gfp__rd:after{content:"";position:absolute;left:0;bottom:-.5px;height:1px;width:100%;background:#111;transform:scaleX(0);transform-origin:left;transition:transform .9s cubic-bezier(.19,1,.22,1)}.gfp__row:hover .gfp__rd:after{transform:scaleX(1)}.gfp__rh p{transition:transform .6s cubic-bezier(.19,1,.22,1)}.gfp__row:hover .gfp__rh p{transform:translateX(8px)}.gfp__sheet--d .gfp__rd:after{background:#fff}.gfp__tbl tbody tr{transition:background .3s}.gfp__tbl tbody tr:hover{background:rgba(17,17,17,.04)}.gfp__sheet--d .gfp__tbl tbody tr:hover{background:rgba(255,255,255,.06)}.gfp__cu{font-variant-numeric:tabular-nums}.gfp__img{overflow:hidden}.gfp__slides img{will-change:transform}.gfp__zhero img{will-change:transform}.gfp__nav a{overflow:hidden}.gfp__h1{overflow:hidden}.gfp__h1 i{font-style:normal;display:inline-block;transform:translateY(110%);animation:gfph1 1s cubic-bezier(.19,1,.22,1) forwards;animation-delay:calc(var(--i)*.06s + .2s)}@keyframes gfph1{to{transform:none}}.gfp__plan,.gfp__card{transition:transform .7s cubic-bezier(.19,1,.22,1),box-shadow .7s}.gfp__plan:hover{transform:translateY(-6px)}.gfp__plan:before{transition:height .4s}.gfp__plan:hover:before{height:3px}.gfp__btn--black span{display:inline-block;transition:transform .6s cubic-bezier(.19,1,.22,1)}.gfp__btn--black:hover span{transform:translateX(10px)}.gfp__btn svg{transition:transform .6s cubic-bezier(.19,1,.22,1)}.gfp__btn:hover svg{transform:translate(3px,-3px)}.gfp__lead{opacity:0;transform:translateY(16px);transition:opacity .8s .25s,transform .9s .25s cubic-bezier(.19,1,.22,1)}.gfp__lead.is-show{opacity:1;transform:none}@media (max-width:820px){.gfp__vlab{position:static}}@media (prefers-reduced-motion:reduce){.gfp__title .en i,.gfp__h1 i{transform:none;animation:none;transition:none}}
/* ---- p-price-z ---- */
html,body{overflow-x:clip}.gfp{position:relative;z-index:1}.gfp .tph{background:#f4f4f4;position:relative;z-index:1}.gfp__head--sub{background:#f4f4f4;width:100%!important;padding:.6rem 6.25% calc(clamp(2.4rem,4vw,3.6rem) + clamp(28px,4vw,56px))!important;margin:-1rem 0 0!important;color:#111;flex-direction:row!important;justify-content:space-between;align-items:flex-end;gap:2rem;text-align:left}.gfp__stmt{margin:0;font-weight:900;font-size:clamp(20px,2.6vw,36px);line-height:1.5;letter-spacing:.02em}.gfp__head--sub .gfp__nav{margin:0}@media (max-width:820px){.gfp__head--sub{flex-direction:column!important;align-items:flex-start}}.gfp__head--sub .gfp__nav a{color:#111}.gfp__head--sub .gfp__nav a:after{background:#111}.gfp__sheet{box-shadow:0 -20px 60px rgba(0,0,0,.12)}.gfp__sheet .gfp__row.fadein{transform:translateX(-40px)}.gfp__sheet .gfp__row.fadein.is-show{transform:none}.gfp__body>.gfp__row:nth-child(2){transition-delay:.06s}.gfp__body>.gfp__row:nth-child(3){transition-delay:.12s}.gfp__body>.gfp__row:nth-child(4){transition-delay:.18s}.gfp__body>.gfp__row:nth-child(5){transition-delay:.24s}.gfp__body>.gfp__row:nth-child(6){transition-delay:.3s}.gfp__cta{padding-bottom:0!important}.gfp__sheet--last{background:#f4f4f4;padding:0 0 clamp(80px,11vw,150px)}.gfp .gfp__rh p,.gfp .gfp__rd p,.gfp .gfp__ul li{font-size:clamp(15px,1.15vw,17px)!important;color:#333!important;line-height:2!important}.gfp .gfp__rh p{color:#111!important;font-size:clamp(15px,1.15vw,17px)!important}.gfp .gfp__lead{font-size:clamp(16px,1.25vw,18px)!important;color:#444!important;max-width:44em}.gfp .gfp__title .ja{font-size:clamp(1.5rem,2.7vw,2.7rem)!important}.gfp .gfp__vlab{font-size:clamp(13px,1vw,16px)!important;color:#111}.gfp .gfp__nav a{font-size:clamp(13px,.95vw,15px)!important}.gfp .gfp__crumb{font-size:12px}.gfp .gfp__tagsm{font-size:.8em!important;color:#666!important}.gfp .gfp__rd .gfp__pprice--row{font-size:clamp(30px,2.8vw,44px)!important}.gfp .gfp__rd .gfp__pprice--row small{font-size:.5em!important;color:#444!important}.gfp .gfp__tbl th,.gfp .gfp__tbl td{font-size:clamp(14px,1.05vw,16px)!important;color:#333!important;padding:20px 16px 20px 0!important}.gfp .gfp__tbl thead th,.gfp .gfp__tbl tbody th,.gfp .gfp__tbl .is-ours{color:#111!important}.gfp .gfp__acc__b .t{font-size:clamp(16px,1.25vw,19px)!important}.gfp .gfp__acc__c p{font-size:clamp(15px,1.15vw,17px)!important;color:#333!important}.gfp .gfp__ctas{display:none!important}.gfp .svc-cta{margin-top:0}.gfp .svc-cta a{font-size:clamp(14px,1.05vw,16px);padding:1.1rem 2.6rem}
/* ---- p-price-z10 ---- */
.gfp__sheet{overflow:visible;padding-top:clamp(40px,5vw,70px)!important}.gfp__title .en{font-size:clamp(80px,11vw,190px)!important;line-height:.85!important;margin-top:-.62em!important;letter-spacing:-.03em!important;position:relative;z-index:2}.gfp__title .ja{font-size:clamp(1.2rem,2vw,1.7rem)!important;margin-top:1.2rem!important}.gfp__c2{padding-top:clamp(40px,5vw,70px)!important}.gfp__sheet{padding-bottom:clamp(260px,28vw,420px)!important}.gfp__sheet+.gfp__sheet{margin-top:calc(-1 * clamp(190px,20vw,310px))!important}.gfp__sheet--last{padding-bottom:clamp(80px,11vw,150px)!important}.gfp__sheet{will-change:transform;box-shadow:0 -24px 60px rgba(0,0,0,.14)}
/* ---- p-price-nohead ---- */
/* ver20.259 大串「一言＋ページ内リンクの行いらない」 */.gfp__head--sub{display:none!important}.gfp .tph{padding-bottom:clamp(90px,9vw,130px)!important}
/* ---- p-price-left ---- */
/* ver20.258 大串「タイトルとテキストを少し左に」 */@media (min-width:821px){.gfp .gfp__c2{width:9%!important}.gfp .gfp__c10{width:91%!important}}
/* ---- p-price-space ---- */
/* ver20.257 大串「見出しの下にも余白」 */.gfp .gfp__body{margin-top:clamp(80px,10vw,150px)!important}.gfp .gfp__lead{margin-top:clamp(24px,2.6vw,36px)!important}
/* ---- p-price-cover ---- */
/* ver20.262 大串「スクロールしてピタッと止まる感じ（じわじわ深くなるのではなく）」 */
@media (min-width:821px){.gfp__sheet{transform:translateY(320px);transition:transform 1.8s cubic-bezier(.2,1,.3,1)}.gfp__sheet.is-in{transform:none}.gfp__sheet:first-of-type{transform:none}}
/* ---- p-price-space2 ---- */
/* ver20.264 大串「各セクションの一番下の余白をもっと」「見出しの下も」 */.gfp .gfp__sheet{padding-bottom:clamp(380px,38vw,580px)!important}.gfp .gfp__sheet--last{padding-bottom:clamp(80px,11vw,150px)!important}.gfp .gfp__body{margin-top:clamp(130px,14vw,220px)!important}

/* ==== 下層共通の追加部品（2026-09-12） ==== */
/* 本文中のリンク */
.gfp .gfp__rd a{color:#111;font-weight:700;text-decoration:underline;text-underline-offset:.28em;text-decoration-thickness:1px;transition:opacity .3s}
.gfp .gfp__rd a:hover{opacity:.6}
.gfp .gfp__rd a+a{margin-left:1.6em}
.gfp .gfp__rd .gfp__ul li b{color:#111}
.gfp .gfp__sign{margin-top:1.6em!important;color:#111!important}
.gfp .gfp__sign small{display:block;font-size:.8em;color:#666;font-weight:700;margin-bottom:.3em}
/* Q&A（トップ F4 と同じ: 質問行＋右端の＋で開閉・ホバーでは開かない） */
.gfp__qa{border-top:1px solid #111}
.gfp__qa:last-child{border-bottom:1px solid #111}
.gfp__qa__q{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;width:100%;background:none;border:0;padding:clamp(1.3rem,2vw,1.8rem) 0;font:inherit;color:#111;text-align:left;cursor:pointer}
.gfp__qa__q span{font-size:clamp(16px,1.3vw,20px);font-weight:700;line-height:1.6;letter-spacing:.03em}
.gfp__qa__q i{flex:none;font-style:normal;font-family:"Hanken Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400;font-size:1.9rem;line-height:1;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.gfp__qa__q i::before{content:"+"}
.gfp__qa.is-open .gfp__qa__q i{transform:rotate(45deg)}
.gfp__qa__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.22,1,.36,1)}
.gfp__qa__a>div{overflow:hidden}
.gfp__qa__a p{margin:0;padding:0 0 clamp(1.3rem,2vw,1.8rem);font-size:clamp(15px,1.15vw,17px);letter-spacing:.05em;line-height:2;color:#333;max-width:44em;font-weight:700}
.gfp__qa.is-open .gfp__qa__a{grid-template-rows:1fr}
/* 絞り込み（Works/Journal）: 文字だけ・下線 */
.gfp .svc-filter{margin:0 0 clamp(2rem,3.5vw,3rem);gap:.6rem 2rem}
.gfp .svc-filter button{font-size:clamp(14px,1.05vw,16px);font-weight:700;color:#8d8d8d;padding:.4rem 0}
.gfp .svc-filter button.is-on{color:#111}
.gfp .svc-filter button small{font-family:"Hanken Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:.78em;color:#b5b5b5}
.gfp .svc-pg{margin-top:clamp(2.4rem,4vw,3.4rem)}
.gfp .svc-pg button{border-radius:0;border-color:#111}
.gfp .svc-nohit{font-size:1rem;color:#666;font-weight:700}
/* Works 一覧: 2列・角丸・罫線 */
.gfp .wk{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2.4rem,4vw,3.6rem) clamp(1.6rem,3vw,2.8rem)}
.gfp .wk__fig{border:0;border-radius:clamp(12px,1.4vw,18px);background:#e9e9e9;box-shadow:0 12px 30px -18px rgba(0,0,0,.25)}
.gfp .wk__meta{border-bottom:.5px solid #dadada;padding:1.3rem 0 1.4rem}
.gfp .wk__nm{font-size:clamp(17px,1.35vw,21px);font-weight:900;letter-spacing:.02em;margin:0 0 .4rem}
.gfp .wk__cat{font-size:clamp(13px,1vw,15px);font-weight:700;color:#555;letter-spacing:.06em}
.gfp .wk__url{font-family:"Hanken Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;color:#8d8d8d;margin-top:.5rem}
@media (max-width:820px){.gfp .wk{grid-template-columns:1fr;gap:2rem}}
/* Journal 厳選: 2枚 */
.gfp__pick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.6rem,3vw,2.8rem)}
.gfp__pick__c{display:block;color:#111;text-decoration:none}
.gfp__pick__c figure{margin:0;aspect-ratio:16/9;overflow:hidden;border-radius:clamp(12px,1.4vw,18px);background:#e9e9e9}
.gfp__pick__c img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.22,1,.36,1)}
.gfp__pick__c:hover img{transform:scale(1.04)}
.gfp__pick__t{margin:1.2rem 0 0!important;font-size:clamp(16px,1.3vw,20px)!important;font-weight:900!important;line-height:1.7!important;color:#111!important}
.gfp__pick__m{margin:.6rem 0 0!important;font-family:"Hanken Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px!important;color:#8d8d8d!important;font-weight:500!important}
@media (max-width:820px){.gfp__pick{grid-template-columns:1fr}}
/* Journal 新着: 罫線の行組み（日付｜カテゴリ｜タイトル） */
.gfp__jn{display:block}
.gfp__jn__i{display:grid;grid-template-columns:8.5em 9em minmax(0,1fr);gap:0 clamp(1rem,2vw,2rem);align-items:baseline;padding:clamp(1.3rem,2vw,1.8rem) 0;border-top:.5px solid #dadada;color:#111;text-decoration:none;position:relative}
.gfp__jn__i:last-of-type{border-bottom:.5px solid #dadada}
.gfp__jn__i.is-hide{display:none}
.gfp__jn__i:after{content:"";position:absolute;left:0;bottom:-.5px;height:1px;width:100%;background:#111;transform:scaleX(0);transform-origin:left;transition:transform .9s cubic-bezier(.19,1,.22,1)}
.gfp__jn__i:hover:after{transform:scaleX(1)}
.gfp__jn__d{font-family:"Hanken Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:15px;letter-spacing:.04em;color:#8d8d8d;font-weight:500}
.gfp__jn__c{font-size:13px;font-weight:700;color:#555;letter-spacing:.06em}
.gfp__jn__t{font-size:clamp(16px,1.25vw,19px);font-weight:700;line-height:1.7;letter-spacing:.02em;transition:transform .6s cubic-bezier(.19,1,.22,1)}
.gfp__jn__i:hover .gfp__jn__t{transform:translateX(8px)}
@media (max-width:820px){.gfp__jn__i{grid-template-columns:1fr;gap:.3rem 0}}
/* Contact フォーム: 罫線の行組み・下線入力 */
.gfp .t-formwrap .screen-reader-response{display:none}
.gfp .pm-contactform__list{margin:0;padding:0}
.gfp .pm-contactform__listRow{display:flex;gap:0 clamp(1.5rem,3vw,3rem);padding:clamp(1.6rem,2.4vw,2.2rem) 0;border-bottom:.5px solid #dadada;margin:0}
.gfp .pm-contactform__listRow:first-child{border-top:1px solid #111}
.gfp .pm-contactform__listRowTitle{width:26%;flex:none;margin:0;padding:.55em 0 0}
.gfp .pm-contactform__listRowTitle p{margin:0;font-size:clamp(15px,1.15vw,17px);font-weight:700;letter-spacing:.06em;color:#111;line-height:1.6}
.gfp .pm-contactform__listRowTitle .required{margin-left:.4em;color:#8d8d8d;font-size:.85em}
.gfp .pm-contactform__listRowTxt{flex:1;margin:0;min-width:0}
.gfp .pm-contactform__listRowTxt p{margin:0}
.gfp .c-txtbox,.gfp .c-txtarea{display:block;width:100%;border:0!important;border-bottom:1px solid #111!important;border-radius:0!important;background:transparent!important;padding:.55em 0!important;font:inherit;font-size:clamp(15px,1.15vw,17px)!important;font-weight:700;color:#111;box-shadow:none!important;outline:0;line-height:1.6}
.gfp .c-txtbox::placeholder,.gfp .c-txtarea::placeholder{color:#b5b5b5;font-weight:500}
.gfp .c-txtarea{min-height:9em;resize:vertical}
.gfp .t-choice{display:inline-block;margin:0 1.8em .6em 0}
.gfp .t-choice label{display:inline-flex;align-items:center;gap:.6em;cursor:pointer;font-size:clamp(15px,1.15vw,17px);font-weight:700;color:#111}
/* ver20.301: テーマ(.c-radio)は input を label 全面に敷き :before/:after で 2.5em(41px) の丸を描く設計。
   ver20.280 で input 自体を 18px の丸にした際、その擬似要素が残って二重丸になっていた（大串「ここおかしい」）→ 擬似要素を無効化し 18px の丸だけにする */
.gfp .c-radio label,.gfp .t-choice label{padding-left:0!important;gap:.65em;align-items:center}
.gfp .t-choice input[type=radio]{appearance:none;-webkit-appearance:none;width:18px!important;height:18px!important;flex:0 0 18px;border:1px solid #111;border-radius:50%;margin:0;position:relative!important;top:auto!important;left:auto!important;background:#fff;cursor:pointer}
.gfp .t-choice input[type=radio]::before,.gfp .t-choice input[type=radio]::after,.gfp .c-radio input[type=radio]::before,.gfp .c-radio input[type=radio]::after{content:none!important;display:none!important}
.gfp .t-choice input[type=radio]:checked::after{content:""!important;display:block!important;position:absolute;inset:4px;width:auto!important;height:auto!important;margin:0!important;border-radius:50%;background:#111!important;opacity:1!important}
.gfp .pm-contactform__btn{margin-top:clamp(2rem,3.5vw,3rem)}
.gfp .pm-contactform__btn p{margin:0;position:relative;display:inline-block}
.gfp .pm-contactform__btnBg,.gfp .pm-contactform__btnArrow{display:none!important}
.gfp .pm-contactform__btnBody{appearance:none;-webkit-appearance:none;display:inline-block;background:#111!important;color:#fff!important;border:1px solid #111!important;border-radius:0!important;padding:1.15em 3.2em!important;font:inherit;font-size:clamp(15px,1.15vw,17px)!important;font-weight:700;letter-spacing:.1em;cursor:pointer;transition:background .3s,color .3s;width:auto!important;height:auto!important;position:static!important;transform:none!important}
.gfp .pm-contactform__btnBody:hover{background:#fff!important;color:#111!important}
.gfp .pm-contactform__btnBody[disabled]{opacity:.5;cursor:default}
.gfp .terasu-formresult{margin-top:1.6rem;font-size:clamp(15px,1.15vw,17px);font-weight:700;line-height:1.9;color:#111}
.gfp .terasu-formresult.is-ng{color:#c0392b}
.gfp .t-response-output{display:none}
@media (max-width:820px){.gfp .pm-contactform__listRow{display:block}.gfp .pm-contactform__listRowTitle{width:100%;padding:0 0 .6em}}
/* Service: MISSION/WHAT WE DO の後ろに続くシート。/price/ の tph（灰）→最初の灰シートと同じ見え方にする:
   .gfp 自体を灰にして上に余白を取り、巨大英字がはみ出す分をその余白で受ける */
.p-ism .gfp{position:relative;z-index:5;background:#f4f4f4;padding-top:clamp(90px,10vw,150px)}
.p-ism .gfp .gfp__sheet:first-of-type{margin-top:0!important}


/* ================================================================
   v3（2026-09-13 大串「全部同じすぎる・デザイン性を変えて」）: ページごとに型を変える。
   角丸シートは /price/ だけ。他は同じ世界観（白黒・Hanken＋Zen Kaku・罫線と文字）のまま別レイアウト
   ================================================================ */
/* ---- flat 共通（Works/Guide/Journal/FAQ/Company/Contact）: シートなし・白地 ---- */
main.p-works .gfp:not(.gfp--c) .gfp__sheet,main.p-guide .gfp .gfp__sheet,main.p-journal .gfp .gfp__sheet,main.p-faq .gfp .gfp__sheet,main.p-company .gfp .gfp__sheet,main.p-contact .gfp .gfp__sheet{background:transparent!important;border-radius:0!important;box-shadow:none!important;margin-top:0!important;padding:clamp(60px,8vw,110px) 0 clamp(70px,9vw,130px)!important;transform:none!important;will-change:auto}
main.p-works .gfp:not(.gfp--c),main.p-guide .gfp,main.p-journal .gfp,main.p-faq .gfp,main.p-company .gfp,main.p-contact .gfp{background:#fff}
main.p-works .gfp:not(.gfp--c) .gfp__c2,main.p-guide .gfp .gfp__c2,main.p-journal .gfp .gfp__c2,main.p-faq .gfp .gfp__c2,main.p-company .gfp .gfp__c2,main.p-contact .gfp .gfp__c2{padding-top:0!important}
main.p-works .gfp:not(.gfp--c) .gfp__title .en,main.p-journal .gfp .gfp__title .en{font-size:clamp(48px,7vw,120px)!important;margin-top:0!important;line-height:.92!important}
main.p-works .gfp:not(.gfp--c) .gfp__body,main.p-journal .gfp .gfp__body{margin-top:clamp(40px,5vw,70px)!important}

/* ---- Works: 1列の大判写真を左右にずらして並べるギャラリー ---- */
main.p-works .gfp:not(.gfp--c) .svc-filter{margin-bottom:clamp(2.6rem,4vw,3.6rem)}
main.p-works .gfp:not(.gfp--c) .svc-filter button{font-size:clamp(16px,1.5vw,22px);font-weight:900}
main.p-works .gfp:not(.gfp--c) .wk{display:grid;grid-template-columns:1fr;gap:clamp(4rem,8vw,8rem) 0}
main.p-works .gfp:not(.gfp--c) .wk__i{width:74%}
main.p-works .gfp:not(.gfp--c) .wk__i:nth-child(even){margin-left:auto}
main.p-works .gfp:not(.gfp--c) .wk__fig{border-radius:0;box-shadow:none;border:1px solid #e3e3e3;background:#f2f2f2}
main.p-works .gfp:not(.gfp--c) .wk__meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:.4rem 2rem;border-bottom:0;padding:1.4rem 0 0}
main.p-works .gfp:not(.gfp--c) .wk__nm{font-size:clamp(1.4rem,2.6vw,2.5rem);font-weight:900;margin:0;flex:1 1 auto;letter-spacing:.01em}
main.p-works .gfp:not(.gfp--c) .wk__cat{font-size:clamp(14px,1.1vw,16px)}
main.p-works .gfp:not(.gfp--c) .wk__url{width:100%;margin:.2rem 0 0;font-size:14px}
@media (max-width:820px){main.p-works .gfp:not(.gfp--c) .wk__i{width:100%}}

/* ---- Guide: 左に見出し固定・右を本文が流れる読み物型 ---- */
main.p-guide .gfp .gfp__grid{display:block;margin:0}
main.p-guide .gfp .gfp__c2{display:none}
main.p-guide .gfp .gfp__c10{width:100%!important;padding:0;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:0 clamp(2rem,5vw,5rem);align-items:start}
main.p-guide .gfp .gfp__title{grid-column:1;grid-row:1/3;position:sticky;top:110px}
main.p-guide .gfp .gfp__title .en{font-size:clamp(40px,4.8vw,80px)!important;margin-top:0!important;line-height:.95!important}
main.p-guide .gfp .gfp__title .ja{font-size:clamp(1.1rem,1.55vw,1.45rem)!important;margin-top:1.2rem!important;max-width:16em}
main.p-guide .gfp .gfp__lead{grid-column:2;grid-row:1;margin:0 0 1.2rem!important;max-width:none;font-size:clamp(17px,1.4vw,21px)!important;line-height:2!important}
main.p-guide .gfp .gfp__body{grid-column:2;grid-row:2;margin-top:0!important}
main.p-guide .gfp .gfp__row{display:block}
main.p-guide .gfp .gfp__rh,main.p-guide .gfp .gfp__rd{width:100%}
main.p-guide .gfp .gfp__rh{padding:clamp(1.4rem,2.2vw,2rem) 0 0}
main.p-guide .gfp .gfp__rd{padding:.6rem 0 clamp(1.4rem,2.2vw,2rem)}
main.p-guide .gfp .gfp__rh p{font-size:clamp(17px,1.4vw,21px)!important}
main.p-guide .gfp .gfp__row:hover .gfp__rh p{transform:none}
main.p-guide .gfp .gfp__sheet+.gfp__sheet{border-top:1px solid #111}
main.p-guide .gfp .gfp__tbl{margin-bottom:1.5rem}
@media (max-width:820px){main.p-guide .gfp .gfp__c10{display:block}main.p-guide .gfp .gfp__title{position:static;margin-bottom:1.6rem}}

/* ---- Journal: 新着を3列のカード（雑誌型） ---- */
.gfp__jn__f{display:none}
main.p-journal .gfp .gfp__pick__t{font-size:clamp(18px,1.7vw,26px)!important}
main.p-journal .gfp .gfp__jn{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(2.4rem,4vw,3.8rem) clamp(1.4rem,2.4vw,2.2rem)}
main.p-journal .gfp .gfp__jn__i{display:block;padding:0;border:0!important}
main.p-journal .gfp .gfp__jn__i:after{display:none}
main.p-journal .gfp .gfp__jn__f{display:block;margin:0 0 1rem;aspect-ratio:16/9;overflow:hidden;border-radius:10px;background:#e9e9e9}
main.p-journal .gfp .gfp__jn__f img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.22,1,.36,1)}
main.p-journal .gfp .gfp__jn__i:hover .gfp__jn__f img{transform:scale(1.04)}
main.p-journal .gfp .gfp__jn__d,main.p-journal .gfp .gfp__jn__c{display:inline-block;margin-right:1rem;font-size:13px}
main.p-journal .gfp .gfp__jn__t{display:block;margin-top:.5rem;font-size:clamp(15px,1.15vw,17px);line-height:1.7}
main.p-journal .gfp .gfp__jn__i:hover .gfp__jn__t{transform:none}
@media (max-width:820px){main.p-journal .gfp .gfp__jn{grid-template-columns:1fr 1fr;gap:1.6rem 1rem}}

/* ---- FAQ: 質問を大きな1行にしたタイポ型 ---- */
main.p-faq .gfp .gfp__sheet{padding:clamp(40px,5vw,70px) 0 clamp(30px,4vw,60px)!important}
main.p-faq .gfp .gfp__title .en{font-size:clamp(34px,3.6vw,60px)!important;margin-top:0!important;line-height:1!important;color:#8d8d8d}
main.p-faq .gfp .gfp__title .ja{font-size:1rem!important;color:#8d8d8d!important;margin-top:.8rem!important;font-weight:700!important}
main.p-faq .gfp .gfp__lead{font-size:clamp(17px,1.4vw,21px)!important}
main.p-faq .gfp .gfp__body{margin-top:clamp(28px,3vw,44px)!important}
main.p-faq .gfp .gfp__qa__q{padding:clamp(1.6rem,2.6vw,2.4rem) 0}
main.p-faq .gfp .gfp__qa__q span{font-size:clamp(1.25rem,2.4vw,2.3rem)!important;line-height:1.4!important;letter-spacing:.01em!important}
main.p-faq .gfp .gfp__qa__q i{font-size:2.4rem}
main.p-faq .gfp .gfp__qa__a p{font-size:clamp(15px,1.2vw,18px)!important;max-width:48em}

/* ---- Company: 中央寄せの宣言文型＋MVV は黒地に巨大英字 ---- */
main.p-company .gfp .gfp__grid{display:block;margin:0}
main.p-company .gfp .gfp__c2{display:none}
main.p-company .gfp .gfp__c10{width:100%!important;padding:0;text-align:center}
main.p-company .gfp .gfp__title .en{display:block;font-size:clamp(13px,1vw,16px)!important;letter-spacing:.24em!important;text-transform:uppercase;font-weight:500!important;line-height:1!important;margin:0 0 1.8rem!important;color:#8d8d8d}
main.p-company .gfp .gfp__title .ja{font-size:clamp(1.7rem,4vw,4.2rem)!important;line-height:1.45!important;margin:0!important;letter-spacing:.02em!important}
main.p-company .gfp .gfp__lead{margin:clamp(1.6rem,2.6vw,2.4rem) auto 0!important;max-width:34em;font-size:clamp(16px,1.3vw,19px)!important}
main.p-company .gfp .gfp__body{margin-top:clamp(40px,5vw,70px)!important}
main.p-company .gfp #message .gfp__row{display:block}
main.p-company .gfp #message .gfp__rh{display:none}
main.p-company .gfp #message .gfp__rd{width:100%;max-width:38em;margin:0 auto;padding:0;border:0}
main.p-company .gfp #message .gfp__rd:after{display:none}
main.p-company .gfp #message .gfp__rd p{font-size:clamp(17px,1.45vw,22px)!important;line-height:2.2!important;color:#111!important}
main.p-company .gfp #message .gfp__rd p+p{margin-top:1.4em}
main.p-company .gfp #message .gfp__sign{margin-top:2.4em!important;text-align:right}
main.p-company .gfp #info .gfp__body{max-width:46rem;margin-left:auto;margin-right:auto;text-align:left;border-top:1px solid #111}
main.p-company .gfp #info .gfp__rh{width:34%;padding-top:22px}
main.p-company .gfp #info .gfp__rd{width:66%;padding:22px 0 22px}
main.p-company .gfp .gfp__sheet:last-child{background:#111!important;color:#fff;padding:clamp(80px,10vw,140px) 0 clamp(90px,11vw,150px)!important}
main.p-company .gfp .gfp__sheet:last-child .gfp__c10{text-align:left}
main.p-company .gfp .gfp__sheet:last-child .gfp__title .en{color:#8d8d8d}
main.p-company .gfp .gfp__sheet:last-child .gfp__title .ja{color:#fff}
main.p-company .gfp .gfp__sheet:last-child .gfp__rh p{color:#8d8d8d!important;font-family:"Hanken Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:.2em!important;font-size:13px!important}
main.p-company .gfp .gfp__sheet:last-child .gfp__rd{border-color:rgba(255,255,255,.25)}
main.p-company .gfp .gfp__sheet:last-child .gfp__rd:after{background:#fff}
main.p-company .gfp .gfp__sheet:last-child .gfp__rd p{color:#fff!important;font-size:clamp(1.3rem,2.4vw,2.3rem)!important;line-height:1.5!important}
main.p-company .gfp .gfp__vals li{padding:clamp(1.2rem,2vw,1.8rem) 0!important;border-top:1px solid rgba(255,255,255,.25);color:#bdbdbd!important;font-size:clamp(14px,1.1vw,17px)!important;line-height:1.8!important}
main.p-company .gfp .gfp__vals li:first-child{border-top:0}
main.p-company .gfp .gfp__vals li:before{display:none}
main.p-company .gfp .gfp__vals li b{display:block;font-family:"Hanken Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:800;font-size:clamp(2.2rem,6vw,6.4rem);line-height:1;letter-spacing:-.03em;color:#fff!important;margin-bottom:.25em}

/* ---- Contact: 左に案内を固定・右にフォームの左右分割 ---- */
main.p-contact .gfp .gfp__split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:0 clamp(2rem,5vw,5rem);width:87.5%;margin:0 auto;align-items:start}
main.p-contact .gfp .gfp__wrap{width:100%}
main.p-contact .gfp .gfp__grid{display:block;margin:0}
main.p-contact .gfp .gfp__c2{display:none}
main.p-contact .gfp .gfp__c10{width:100%!important;padding:0}
main.p-contact .gfp .gfp__sheet:first-child{position:sticky;top:100px}
main.p-contact .gfp .gfp__title .en{font-size:clamp(44px,5.6vw,96px)!important;margin-top:0!important;line-height:.95!important}
main.p-contact .gfp .gfp__title .ja{font-size:clamp(1.1rem,1.55vw,1.45rem)!important;margin-top:1.2rem!important}
main.p-contact .gfp .gfp__lead{max-width:none;font-size:clamp(16px,1.3vw,19px)!important}
main.p-contact .gfp .gfp__body{margin-top:clamp(28px,3.5vw,48px)!important}
main.p-contact .gfp .gfp__row{display:block}
main.p-contact .gfp .gfp__rh,main.p-contact .gfp .gfp__rd{width:100%}
main.p-contact .gfp .gfp__rh{padding:1.2rem 0 0}
main.p-contact .gfp .gfp__rd{padding:.4rem 0 1.2rem}
main.p-contact .gfp #form .gfp__title{display:none}
main.p-contact .gfp #form .gfp__body{margin-top:0!important}
/* テーマ側の擬似要素の丸（.t-choice-label::before/after）が二重になるので消す */
main.p-contact .gfp .t-choice-label::before,main.p-contact .gfp .t-choice-label::after{display:none!important;content:none!important}
main.p-contact .gfp .t-choice-label{padding:0!important;margin:0!important;position:static!important}
@media (max-width:820px){main.p-contact .gfp .gfp__split{display:block}main.p-contact .gfp .gfp__sheet:first-child{position:static}}

/* ---- Service: WHY は黒シート／FLOW は3列の柱／PRICE は左右分割 ---- */
.gfp .gfp__sheet--d .gfp__rh p{color:#fff!important}
.gfp .gfp__sheet--d .gfp__rd p,.gfp .gfp__sheet--d .gfp__ul li{color:#d0d0d0!important}
.gfp .gfp__sheet--d .gfp__lead{color:#bdbdbd!important}
.gfp .gfp__sheet--d .gfp__lead strong{color:#fff}
.gfp .gfp__sheet--d .gfp__vlab{color:#fff!important}
main.p-ism .gfp #flow .gfp__body{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(1.5rem,3vw,3rem);border-top:1px solid #111}
main.p-ism .gfp #flow .gfp__row{display:block;padding:clamp(1.6rem,2.6vw,2.4rem) 0 clamp(2rem,3vw,2.8rem);border-bottom:.5px solid #dadada}
main.p-ism .gfp #flow .gfp__rh,main.p-ism .gfp #flow .gfp__rd{width:100%}
main.p-ism .gfp #flow .gfp__rh{padding:0}
main.p-ism .gfp #flow .gfp__rd{padding:.9rem 0 0;border-bottom:0}
main.p-ism .gfp #flow .gfp__rd:after{display:none}
main.p-ism .gfp #flow .gfp__rh p{font-size:clamp(17px,1.4vw,21px)!important}
main.p-ism .gfp #flow .gfp__row:hover .gfp__rh p{transform:none}
main.p-ism .gfp #price .gfp__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 clamp(2rem,4vw,4rem)}
main.p-ism .gfp #price .gfp__row{display:block}
/* ver20.325 大串「品質についてを右のそのほかのプランの下において」「詳しくは消して」:
   左＝スタンダードプラン（縦に伸びるので2行ぶんを占有）／右＝そのほかのプラン→品質について の縦積み。
   「詳しく」の行はマークアップごと削除したので nth-child(4) の指定も外した。 */
main.p-ism .gfp #price .gfp__row:nth-child(1){grid-column:1;grid-row:1/3}
main.p-ism .gfp #price .gfp__row:nth-child(2),main.p-ism .gfp #price .gfp__row:nth-child(3){grid-column:2}
main.p-ism .gfp #price .gfp__rh,main.p-ism .gfp #price .gfp__rd{width:100%}
main.p-ism .gfp #price .gfp__rh{padding:clamp(1.2rem,2vw,1.8rem) 0 0}
main.p-ism .gfp #price .gfp__rd{padding:.6rem 0 clamp(1.4rem,2.2vw,2rem)}
main.p-ism .gfp #price .gfp__pprice--row{font-size:clamp(2.6rem,5.6vw,5.4rem)!important;margin-bottom:.4em!important}
@media (max-width:820px){main.p-ism .gfp #flow .gfp__body,main.p-ism .gfp #price .gfp__body{display:block}}


/* ================================================================
   方向C「動きと構造」（2026-09-13 大串選定・画像あり）: Works / Service
   横スクロール・ギャラリー／ストーリー型／ステッパー／マーキー／カーソル追従の View
   ================================================================ */
.gfp--c{background:#fff}
.gfp--c .en{font-family:"Hanken Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif}
.gfp--c .gfp__lab{font-family:"Hanken Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;font-size:clamp(12px,.95vw,15px);letter-spacing:.22em;text-transform:uppercase;color:#8d8d8d;margin:0 0 1.4rem}
.gfp--c .gfp__lead{max-width:40em}

/* ---- マーキー（文字） ---- */
.mq{overflow:hidden;border-top:1px solid #111;border-bottom:1px solid #111;padding:clamp(.9rem,1.4vw,1.3rem) 0;background:#fff;color:#111}
.mq--d{background:#111;color:#fff;border-color:#111}
.mq__t{display:flex;width:max-content;will-change:transform;animation:mqx 40s linear infinite}
.mq__t>span{display:inline-block;padding:0 1.6em;font-family:"Hanken Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:700;font-size:clamp(14px,1.3vw,20px);letter-spacing:.04em;white-space:nowrap}
.mq__t>span.ja{font-family:YakuHanJP,"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN",sans-serif;font-weight:700}
.mq__t>span i{font-style:normal;margin-left:1.6em;color:#8d8d8d}
@keyframes mqx{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.mq:hover .mq__t{animation-play-state:paused}
/* ---- マーキー（画像の帯） ---- */
.mqi{overflow:hidden;padding:0;background:#fff}
.mqi__t{display:flex;gap:clamp(.8rem,1.2vw,1.2rem);width:max-content;will-change:transform;animation:mqx 60s linear infinite}
.mqi__t figure{margin:0;flex:0 0 auto;width:clamp(220px,22vw,340px);aspect-ratio:1100/690;overflow:hidden;background:#e9e9e9}
.mqi__t img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.mqi:hover .mqi__t{animation-play-state:paused}

/* ---- Works: 横スクロール・ギャラリー ---- */
.wkh__head{padding:clamp(60px,8vw,110px) 0 clamp(30px,4vw,60px)}
.wkh__head .gfp__title .en{font-size:clamp(56px,9vw,150px)!important;line-height:.9!important;margin:0!important}
.wkh__head .gfp__title .ja{font-size:clamp(1rem,1.3vw,1.25rem)!important;margin-top:1rem!important}
.wkh__head .svc-filter{margin:clamp(1.6rem,2.6vw,2.4rem) 0 0}
.wkh__head .svc-filter button{font-size:clamp(15px,1.25vw,18px);font-weight:700}
.wkh__stage{position:relative}
.wkh__stick{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;align-items:center}
.wkh__track{display:flex;align-items:flex-start;gap:clamp(2rem,4vw,5rem);padding:0 6.25%;margin:0;list-style:none;width:max-content;will-change:transform}
.wkh .wk__i{flex:0 0 auto;width:min(58vw,820px);opacity:1;transform:none}
.wkh .wk__i.is-hide{display:none}
.wkh .wk__c{display:block;color:#111;text-decoration:none;cursor:none}
.wkh .wk__fig{margin:0;aspect-ratio:1100/690;overflow:hidden;background:#e9e9e9;border:0;border-radius:0}
.wkh .wk__fig img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;transform:scale(1.02);transition:transform 1.2s cubic-bezier(.19,1,.22,1)}
.wkh .wk__c:hover .wk__fig img{transform:scale(1.06)}
.wkh .wk__meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:.3rem 1.6rem;padding:1.2rem 0 0;border:0}
.wkh .wk__nm{font-size:clamp(1.3rem,2.2vw,2.1rem);font-weight:900;margin:0;flex:1 1 auto;letter-spacing:.01em}
.wkh .wk__cat{font-size:clamp(13px,1vw,15px);font-weight:700;color:#555;letter-spacing:.06em;margin:0}
.wkh .wk__url{width:100%;margin:.2rem 0 0;font-family:"Hanken Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;color:#8d8d8d}
.wkh__cursor{position:absolute;left:0;top:0;pointer-events:none;opacity:0;font-family:"Hanken Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:800;font-size:clamp(30px,3.4vw,52px);line-height:1;letter-spacing:-.02em;color:#fff;mix-blend-mode:difference;transition:opacity .25s;will-change:transform}
.wkh__cursor span{display:block;transform:translate(-50%,-50%)}
.wkh__cursor.is-on{opacity:1}
.wkh__foot{padding:clamp(20px,3vw,40px) 0 clamp(60px,8vw,110px)}
.wkh__foot .svc-pg{display:none}
@media (max-width:820px){
  .wkh__stick{position:static;height:auto;overflow:visible;display:block}
  .wkh__track{display:block;width:auto;padding:0 6.25%;transform:none!important}
  .wkh .wk__i{width:100%;margin:0 0 2.4rem}
  .wkh .wk__c{cursor:pointer}
  .wkh__cursor{display:none}
}

/* ---- Service: ストーリー型（WHY・黒地・写真がクリップで開く） ---- */
.sty{background:#111;color:#fff;position:relative;z-index:5}
.sty__stage{position:relative}
.sty__stick{position:sticky;top:0;height:100vh;display:flex;align-items:center;overflow:hidden}
.sty__grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:0 clamp(2rem,5vw,6rem);align-items:center;width:87.5%;margin:0 auto}
.sty__media{position:relative;aspect-ratio:4/3;overflow:hidden;background:#1a1a1a}
.sty__img{position:absolute;inset:0;margin:0;clip-path:inset(0 0 100% 0);transition:clip-path 1s cubic-bezier(.19,1,.22,1)}
.sty__img img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;transform:scale(1.08);transition:transform 1.6s cubic-bezier(.19,1,.22,1)}
.sty__img.is-act{clip-path:inset(0 0 0 0);z-index:1}
.sty__img.is-act img{transform:scale(1)}
.sty__lab{font-family:"Hanken Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;font-size:clamp(12px,.95vw,15px);letter-spacing:.22em;text-transform:uppercase;color:#8d8d8d;margin:0 0 1.2rem}
.sty__ttl{font-size:clamp(1.4rem,2.6vw,2.6rem);font-weight:900;line-height:1.35;letter-spacing:.02em;margin:0 0 clamp(1.6rem,3vw,3rem)}
.sty__items{display:grid}
.sty__item{grid-area:1/1;opacity:0;transform:translateY(22px);transition:opacity .6s cubic-bezier(.19,1,.22,1),transform .8s cubic-bezier(.19,1,.22,1);pointer-events:none}
.sty__item.is-act{opacity:1;transform:none;pointer-events:auto}
.sty__item h3{font-family:"Hanken Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:800;font-size:clamp(2rem,4.6vw,4.6rem);line-height:.95;letter-spacing:-.03em;margin:0 0 1.2rem;text-transform:uppercase}
.sty__item h4{font-size:clamp(1.05rem,1.5vw,1.35rem);font-weight:900;margin:0 0 1rem;line-height:1.6}
.sty__item p{margin:0;font-size:clamp(15px,1.15vw,17px);line-height:2;color:#bdbdbd;font-weight:700;max-width:34em}
.sty__prog{margin-top:clamp(2rem,3.5vw,3.4rem);height:1px;background:rgba(255,255,255,.25);position:relative}
.sty__prog i{position:absolute;left:0;top:0;height:100%;width:100%;background:#fff;transform:scaleX(0);transform-origin:left;transition:transform .2s linear}
.sty__idx{display:flex;gap:1.6rem;margin-top:1rem}
.sty__idx span{font-family:"Hanken Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;letter-spacing:.1em;color:#666;transition:color .3s}
.sty[data-act="0"] .sty__idx span:nth-child(1),.sty[data-act="1"] .sty__idx span:nth-child(2),.sty[data-act="2"] .sty__idx span:nth-child(3){color:#fff}
@media (max-width:820px){
  .sty__stage{height:auto!important}
  .sty__stick{position:static;height:auto;display:block;padding:3.5rem 0}
  .sty__grid{display:block}
  .sty__media{display:none}
  .sty__items{display:block}
  .sty__item{grid-area:auto;opacity:1;transform:none;padding:1.4rem 0;border-top:1px solid rgba(255,255,255,.2)}
  .sty__prog,.sty__idx{display:none}
}

/* ---- Service: ステッパー（FLOW） ---- */
.stp{background:#fff;color:#111;position:relative;z-index:5}
.stp__stage{position:relative}
.stp__stick{position:sticky;top:0;height:100vh;display:flex;align-items:center;overflow:hidden}
.stp__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:0 clamp(2rem,5vw,6rem);align-items:center;width:87.5%;margin:0 auto}
.stp__lab{font-family:"Hanken Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;font-size:clamp(12px,.95vw,15px);letter-spacing:.22em;text-transform:uppercase;color:#8d8d8d;margin:0 0 1.2rem}
.stp__en{font-family:"Hanken Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;font-size:clamp(48px,6.5vw,110px);line-height:.92;letter-spacing:-.03em;margin:0 0 1.4rem}
.stp__ttl{font-size:clamp(1.1rem,1.5vw,1.4rem);font-weight:900;margin:0 0 1rem;line-height:1.5}
.stp__lead{margin:0;font-size:clamp(15px,1.15vw,17px);line-height:2;color:#555;font-weight:700;max-width:26em}
.stp__prog{margin-top:clamp(1.6rem,2.6vw,2.4rem);height:1px;background:rgba(17,17,17,.2);position:relative;max-width:26em}
.stp__prog i{position:absolute;left:0;top:0;height:100%;width:100%;background:#111;transform:scaleX(0);transform-origin:left;transition:transform .2s linear}
.stp__list{margin:0;padding:0;list-style:none}
.stp__i{padding:clamp(.9rem,1.4vw,1.3rem) 0;border-top:1px solid rgba(17,17,17,.15);opacity:.28;transition:opacity .5s}
.stp__i:last-child{border-bottom:1px solid rgba(17,17,17,.15)}
.stp__i.is-act{opacity:1}
.stp__i h3{margin:0;font-size:clamp(1.1rem,1.9vw,1.9rem);font-weight:900;line-height:1.4;letter-spacing:.02em;display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap}
.stp__i h3 small{font-family:"Hanken Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:.55em;font-weight:500;letter-spacing:.08em;color:#8d8d8d}
.stp__i .w{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s cubic-bezier(.19,1,.22,1)}
.stp__i.is-act .w{grid-template-rows:1fr}
.stp__i .w>div{overflow:hidden}
.stp__i p{margin:0;padding:.8rem 0 .4rem;font-size:clamp(14px,1.05vw,16px);line-height:1.9;color:#555;font-weight:700;max-width:40em}
@media (max-width:820px){
  .stp__stage{height:auto!important}
  .stp__stick{position:static;height:auto;display:block;padding:3rem 0}
  .stp__grid{display:block}
  .stp__i{opacity:1}
  .stp__i .w{grid-template-rows:1fr}
  .stp__prog{display:none}
}

/* ---- Service: 料金（画像の帯＋巨大金額＋含まれるもの） ---- */
.prc{background:#fff;color:#111;position:relative;z-index:5;padding:0 0 clamp(80px,10vw,150px)}
.prc__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:0 clamp(2rem,5vw,6rem);width:87.5%;margin:0 auto;padding-top:clamp(60px,8vw,110px);align-items:start}
.prc__en{font-family:"Hanken Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;font-size:clamp(48px,6.5vw,110px);line-height:.92;letter-spacing:-.03em;margin:0 0 1.4rem}
.prc__ttl{font-size:clamp(1.1rem,1.5vw,1.4rem);font-weight:900;margin:0 0 1rem;line-height:1.5}
.prc__lead{margin:0 0 clamp(2rem,3.5vw,3.2rem);font-size:clamp(15px,1.15vw,17px);line-height:2;color:#555;font-weight:700;max-width:30em}
.prc__amt{display:flex;align-items:baseline;gap:1.2rem;padding:clamp(1rem,1.6vw,1.4rem) 0;border-top:1px solid #111}
.prc__amt:last-of-type{border-bottom:1px solid #111}
.prc__amt small{font-size:clamp(14px,1.1vw,16px);font-weight:700;width:5em;flex:none}
.prc__amt b{font-family:"Hanken Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:700;font-size:clamp(2.6rem,6vw,6rem);line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.prc__amt b i{font-style:normal;font-family:YakuHanJP,"Zen Kaku Gothic New",sans-serif;font-size:.3em;font-weight:700;margin-left:.4em;letter-spacing:0}
.prc__note{margin:1rem 0 0;font-size:13px;color:#8d8d8d;font-weight:700}
.prc__links{display:flex;gap:1.8em;flex-wrap:wrap;margin-top:clamp(1.6rem,2.6vw,2.4rem)}
.prc__links a{color:#111;font-weight:700;font-size:clamp(14px,1.1vw,16px);text-decoration:underline;text-underline-offset:.28em;text-decoration-thickness:1px;transition:opacity .3s}
.prc__links a:hover{opacity:.6}
.prc__lab{font-family:"Hanken Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;font-size:clamp(12px,.95vw,15px);letter-spacing:.22em;text-transform:uppercase;color:#8d8d8d;margin:0 0 1rem}
.prc__list{margin:0;padding:0;list-style:none}
.prc__list li{padding:.9rem 0;border-top:1px solid rgba(17,17,17,.15);font-size:clamp(14px,1.05vw,16px);line-height:1.8;color:#333;font-weight:700}
.prc__list li:last-child{border-bottom:1px solid rgba(17,17,17,.15)}
.prc__list li b{color:#111;margin-right:.6em}
@media (max-width:820px){.prc__grid{display:block}.prc__list{margin-top:2.4rem}}

/* ---- C 版の優先（v3／共通の .wk 指定より強く） ---- */
.p-ism .gfp--c{background:#fff!important;padding-top:0!important}
main.p-works .gfp--c .wkh__track{display:flex!important;grid-template-columns:none!important;gap:clamp(2rem,4vw,5rem)!important;padding:0 6.25%!important;width:max-content!important}
main.p-works .gfp--c .wkh .wk__i{flex:0 0 auto!important;width:min(58vw,820px)!important;margin:0!important}
main.p-works .gfp--c .wkh .wk__fig{border:0!important;border-radius:0!important;box-shadow:none!important}
main.p-works .gfp--c .wkh .wk__meta{border:0!important;padding:1.2rem 0 0!important}
@media (max-width:820px){
  main.p-works .gfp--c .wkh__track{display:block!important;width:auto!important;transform:none!important}
  main.p-works .gfp--c .wkh .wk__i{width:100%!important;margin:0 0 2.4rem!important}
}


/* ── Works 実績カード：PC画面＋スマホ画面の2枚出し（2026-09-14 ver20.295）
      比率はトップの wmq__pair（既存のTERASUの型）に合わせ、
      スマホは PC画像の右下に重ねて下へ少しはみ出させる。
      fig 側に余白（1100/745）を持たせているので meta とは重ならない。 ── */
main.p-works .wk__fig,
main.p-works .gfp:not(.gfp--c) .wk__fig,
main.p-works .gfp--c .wk__fig{
  position:relative;aspect-ratio:1100/1150;overflow:visible;
  border:0;border-radius:0;background:transparent;box-shadow:none;margin:0
}
main.p-works .wk__pc{
  position:absolute;left:0;right:0;top:0;display:block;
  aspect-ratio:1100/1100;overflow:hidden;
  background:#f2f2f2;border:1px solid #e3e3e3;
  /* ver20.351 大串「制作実績PCの角をもうちょっと丸く」 */
  border-radius:clamp(10px,1.4vw,20px)
}
main.p-works .wk__pc img{
  width:100%;height:100%;object-fit:cover;object-position:top;display:block;
  transition:transform .8s cubic-bezier(.22,1,.36,1)
}
main.p-works .wk__c:hover .wk__pc img{transform:scale(1.04)}
main.p-works .wk__sp{
  position:absolute;right:-1.4%;bottom:0;display:block;
  width:32%;aspect-ratio:390/844;overflow:hidden;
  background:#fff;border:1px solid #cfcfcf;border-radius:16% / 7.4%;
  box-shadow:0 16px 40px -12px rgba(0,0,0,.34), 0 0 0 1px rgba(0,0,0,.03)
}
main.p-works .wk__sp img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
main.p-works .wk__c:hover .wk__sp img{transform:none}
@media (max-width:820px){
  main.p-works .wk__sp{border-radius:15% / 6.9%}
}

/* ── Works 一覧を2列に（2026-09-14 ver20.296・大串指示）
      ver20.279 で 1列ギャラリー型にしていたのを2列グリッドへ戻す。
      SP/タブレットは1列のまま（2列だとカードが小さくなりすぎるため）。 ── */
main.p-works .gfp:not(.gfp--c) .wk{
  grid-template-columns:repeat(3,minmax(0,1fr));/* ver20.301: 2列→3列（大串「一つ一つの実績もっと縮小して3列に」） */
  gap:clamp(2.2rem,3.6vw,3.6rem) clamp(1.2rem,2.2vw,2.2rem)
}
@media (max-width:1100px){ main.p-works .gfp:not(.gfp--c) .wk{grid-template-columns:repeat(2,minmax(0,1fr))} }
main.p-works .gfp:not(.gfp--c) .wk__i,
main.p-works .gfp:not(.gfp--c) .wk__i:nth-child(even){width:100%;margin-left:0}
main.p-works .gfp:not(.gfp--c) .wk__nm{font-size:clamp(.95rem,1.15vw,1.15rem)}
main.p-works .gfp:not(.gfp--c) .wk__cat{font-size:clamp(11px,.85vw,13px)}
main.p-works .gfp:not(.gfp--c) .wk__url{font-size:11px}
@media (max-width:820px){
  main.p-works .gfp:not(.gfp--c) .wk{grid-template-columns:1fr;gap:clamp(2.6rem,7vw,3.6rem) 0}
  main.p-works .gfp:not(.gfp--c) .wk__nm{font-size:clamp(1.3rem,4.6vw,1.9rem)}
}


/* ── 制作実績・コラム: 左の縦書き英字ラベル列を削除し本文を全幅に（ver20.303・大串「ここは消して」「コラムページも左側の英字は消して」）── */
main.p-works .gfp .gfp__c2,main.p-journal .gfp .gfp__c2{display:none!important}  /* ver20.304c: 旧「main.p-works,main.p-journal .gfp .gfp__c2」は前半が main 全体を非表示にしていた事故を修正 */
main.p-works .gfp .gfp__c10,main.p-journal .gfp .gfp__c10{width:100%!important}

/* ver20.304a: 制作実績の .gfp は <main> の外にあり main.p-works セレクタが効かないため、セクションIDで指定 */
section#works .gfp__c2{display:none!important}
section#works .gfp__c10{width:100%!important}

/* ===== ver20.305: サービス下部と会社概要の背景を白に統一／会社概要に左サイドナビ（大串指示 2026-09-20） ===== */
/* サービス下部: 現行は WHY=.gfp__sheet--d(#111) / FLOW=.gfp__sheet--w(#fff) / PRICE=.gfp__sheet(#f4f4f4)。3枚とも白にする。
   レイアウトは一切変更なし。黒地前提で白系だった文字・罫線だけ明地の色へ戻す */
main.p-ism .gfp .gfp__sheet,
main.p-ism .gfp .gfp__sheet--w,
main.p-ism .gfp .gfp__sheet--d{background:#fff!important;color:#111!important}
main.p-ism .gfp .gfp__sheet--d .gfp__title .en,
main.p-ism .gfp .gfp__sheet--d .gfp__title .ja,
main.p-ism .gfp .gfp__sheet--d .gfp__rh p,
main.p-ism .gfp .gfp__sheet--d strong{color:#111!important}
main.p-ism .gfp .gfp__sheet--d .gfp__lead{color:#444!important}
main.p-ism .gfp .gfp__sheet--d .gfp__rd p{color:#555!important}
main.p-ism .gfp .gfp__sheet--d .gfp__rd{border-color:#dadada!important}
main.p-ism .gfp .gfp__sheet--d .gfp__vlab,
main.p-ism .gfp .gfp__sheet--d .gfp__vlab *{color:#111!important}
main.p-ism .tsn.is-dark .tsn__item>a{color:#7a7a7a!important}
main.p-ism .tsn.is-dark .tsn__item>a:hover,
main.p-ism .tsn.is-dark .tsn__item.is-active>a{color:#111!important}
main.p-ism .tsn.is-dark .tsn__item::before{background:#111!important}

/* 会社概要: 最後のMVVシートの黒地をやめて全セクション白に */
main.p-company .gfp .gfp__sheet:last-child{background:#fff!important;color:#111!important;border-top:1px solid #dadada}
main.p-company .gfp .gfp__sheet:last-child .gfp__title .ja,
main.p-company .gfp .gfp__sheet:last-child .gfp__rd p{color:#111!important}
main.p-company .gfp .gfp__sheet:last-child .gfp__rd{border-color:#dadada!important}
main.p-company .gfp .gfp__sheet:last-child .gfp__rd:after{background:#111!important}
main.p-company .gfp .gfp__vals li{color:#555!important;border-top-color:#dadada!important}
main.p-company .gfp .gfp__vals li b{color:#111!important}
/* 会社概要は .gfp__grid が display:block で左列を作れないため、wrap の左マージンでサイドナビ幅を確保する。
   wrap は width:1260px 固定なので width:auto を併記しないと本文右端が画面外にはみ出す */
@media (min-width:821px){
  main.p-company .gfp .gfp__c2{display:none!important}
  main.p-company .gfp .gfp__wrap{width:auto!important;max-width:none!important;
    margin-left:clamp(250px,20vw,300px)!important;margin-right:clamp(40px,4.4vw,64px)!important}
  /* 左余白で本文が狭まり見出しが折り返した時、末尾1文字だけが次行に残らないよう均等割りにする */
  main.p-company .gfp .gfp__title .ja{text-wrap:balance}
}

/* ===== ver20.306: サービス FLOW をタイムライン型に（支給 roadmap-timeline-saki-0817 を移植・大串指示 2026-09-20） =====
   支給の骨格＝左に円ラベル／その中心を縦の点線が貫き最後に▼／右に角丸カード（見出し＋本文）。
   支給の寸法は 1440px 基準 rem（円128px・カード左マージン168px・padding 50/56px・行間44px・見出し28px）を
   clamp() で流動化。配色はサイト現行（白地＋#111＋罫線#dadada）、書体も Hanken Grotesk / Zen Kaku Gothic New に置換。
   見出し(.gfp__title)とリードは現行のまま・原稿も現行のまま */
/* 既存の「FLOW=3列グリッド＋上罫線」（ver20.2xx）はタイムライン化で不要になるため、このセクションだけ解除 */
main.p-ism .gfp #flow .gfp__body.tfl-body{display:block!important;grid-template-columns:none!important;
  gap:0!important;border-top:0!important;max-width:none}
main.p-ism .gfp #flow .tfl{position:relative;padding-left:clamp(84px,11.7vw,168px)}
/* 縦の点線（支給: linear-gradient の破線）＋ 最後の下向き三角 */
main.p-ism .gfp #flow .tfl::before{content:"";position:absolute;top:0;bottom:clamp(8px,1vw,14px);
  left:clamp(42px,5.85vw,84px);width:1px;
  background-image:linear-gradient(to bottom,#111 0 3px,transparent 3px 5px);background-size:1px 5px;background-repeat:repeat-y}
main.p-ism .gfp #flow .tfl::after{content:"";position:absolute;left:clamp(42px,5.85vw,84px);bottom:0;
  width:clamp(9px,0.84vw,12px);height:clamp(8px,0.76vw,11px);transform:translateX(-50%);
  background-repeat:no-repeat;background-position:50% 50%;background-size:contain;
  background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMiAxMSI+PHBhdGggZmlsbD0iIzFDMUMxQyIgZD0ibTYgMTEgNi0xMS02IDIuNzVMMCAweiIvPjwvc3ZnPg==")}
main.p-ism .gfp #flow .tfl__item{position:relative;margin-top:clamp(24px,3vw,44px)}
main.p-ism .gfp #flow .tfl__item:first-child{margin-top:0}
/* 左の円ラベル（支給: 黒地・白文字・aspect-ratio 1/1・border-radius full） */
main.p-ism .gfp #flow .tfl__label{position:absolute;top:0;left:clamp(-84px,-5.85vw,-42px);
  transform:translateX(-50%);width:clamp(72px,8.9vw,128px);aspect-ratio:1/1;border-radius:9999px;
  background:#111;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:clamp(2px,0.5vw,8px);line-height:1}
main.p-ism .gfp #flow .tfl__label-en{font-family:"Hanken Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-weight:500;font-size:clamp(9px,0.77vw,11px);letter-spacing:.2em}
main.p-ism .gfp #flow .tfl__label-n{font-family:"Hanken Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-weight:500;font-size:clamp(20px,2.4vw,34px);letter-spacing:-.02em;line-height:1}
/* 右の白カード（支給: 角丸・白背景。サイトが白地のため罫線で輪郭を出す） */
main.p-ism .gfp #flow .tfl__card{background:#fff;border:1px solid #dadada;border-radius:clamp(12px,1vw,14px);
  padding:clamp(22px,3.5vw,50px) clamp(20px,3.9vw,56px) clamp(24px,3.9vw,56px);
  margin-left:clamp(28px,3.9vw,56px)}
main.p-ism .gfp #flow .tfl__ttl{font-family:YakuHanJP,"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN",sans-serif;
  font-weight:900;font-size:clamp(17px,1.95vw,28px);line-height:1.5;letter-spacing:.02em;color:#111}
main.p-ism .gfp #flow .tfl__txt{margin-top:clamp(14px,1.95vw,28px);
  font-size:clamp(15px,1.15vw,17px);font-weight:700;line-height:2;letter-spacing:.05em;color:#555;text-align:justify}
main.p-ism .gfp #flow .tfl__txt p+p{margin-top:1.2em}
/* SP（支給: 円72px・カード左マージン86px・画像なしのため上部padding を確保） */
@media (max-width:767px){
  main.p-ism .gfp #flow .tfl{padding-left:clamp(58px,19vw,72px)}
  main.p-ism .gfp #flow .tfl::before,
  main.p-ism .gfp #flow .tfl::after{left:clamp(29px,9.5vw,36px)}
  main.p-ism .gfp #flow .tfl__label{left:clamp(-72px,-9.5vw,-29px);width:clamp(58px,19vw,72px)}
  main.p-ism .gfp #flow .tfl__card{margin-left:clamp(14px,4vw,20px)}
}

/* ===== ver20.307: 各ページの細部調整（大串指示 2026-09-20） ===== */
/* Contact: 見出しより上の白い余白を消す（他ページは main padding-top:0 なのに contact だけ 250px あった） */
main.p-contact{padding-top:0!important}
/* Journal: カテゴリの絞り込みボタンが 24px と大きかったので他の一覧UIと同じ大きさに */
main.p-journal .jcat .svc-filter button{font-size:clamp(12px,0.95vw,13.5px)!important;letter-spacing:.04em}
main.p-journal .jcat .svc-filter button small{font-size:.78em!important}
/* Price: 各セクションのタイトルと下のテキストの余白を詰める（36px → 20px前後） */
main.p-price .gfp .gfp__lead{margin-top:clamp(12px,1.4vw,20px)!important}
main.p-price .gfp .gfp__title .ja{margin-top:clamp(10px,1.1vw,16px)!important}
/* Company: 各セクションのタイトルを他ページと同じ仕様に（巨大英字＋小さな和文・左寄せ）。
   会社概要だけ英字13-16pxの小ラベル＋和文4.2rem＋中央寄せに上書きされていたのを解除する */
main.p-company .gfp .gfp__c10{text-align:left!important}
main.p-company .gfp .gfp__title .en{font-size:clamp(56px,6vw,126px)!important;letter-spacing:-.02em!important;
  text-transform:none!important;line-height:.9!important;margin:0 0 0!important;color:#111!important}
main.p-company .gfp .gfp__title .ja{font-size:clamp(1.5rem,2.7vw,2.7rem)!important;margin-top:1.4rem!important;line-height:1.35!important}
main.p-company .gfp .gfp__lead{margin-left:0!important;margin-right:0!important;max-width:46em!important}
main.p-company .gfp #info .gfp__body{margin-left:0!important;margin-right:0!important}
main.p-company .gfp .gfp__sheet:last-child .gfp__title .en{color:#111!important}
/* 見出しを左寄せにしたので、中央寄せのままだった本文・会社情報も左に揃える */
main.p-company .gfp #message .gfp__rd{margin-left:0!important;margin-right:0!important}
main.p-company .gfp #message .gfp__sign{text-align:left!important}

/* ver20.308: サービスの PRICE セクションの CTA を他ページ（料金ページ）と同じ .gfp__btn 仕様で表示する。共通の .gfp .gfp__ctas{display:none!important} を、このセクションだけ解除 */
main.p-ism .gfp #price .gfp__ctas{display:flex!important;gap:16px;flex-wrap:wrap;margin-top:clamp(24px,3vw,40px)}

/* ===== ver20.311: お問い合わせの送信ボタンをトップの contact と同じ仕様に（大串指示） =====
   トップの実測値 = 259×60px・角丸59.6px（ピル）・黒地・白文字・15.75px/600・枠なし */
main.p-contact .t-submit{background:#111!important;color:#fff!important;border:0!important;
  border-radius:60px!important;width:259px!important;min-width:0!important;height:60px!important;
  padding:0!important;font-size:15.75px!important;font-weight:600!important;letter-spacing:normal!important;
  transition:opacity .3s}
main.p-contact .t-submit:hover{opacity:.78}
/* ver20.310: 制作実績のカテゴリもコラムと同じ大きさに（大串「制作実績ページのここもっと小さくして」） */
main.p-works .svc-filter button{font-size:clamp(12px,0.95vw,13.5px)!important;letter-spacing:.04em}
main.p-works .svc-filter button small{font-size:.78em!important}
/* ver20.310: よくある質問ページのセクションタイトルを他ページと同じ仕様に（大串指示）。
   FAQだけ英字 clamp(34px,3.6vw,60px)・和文1rem・どちらも #8d8d8d に上書きされていたので解除 */
main.p-faq .gfp .gfp__title .en{font-size:clamp(56px,6vw,126px)!important;line-height:.9!important;
  letter-spacing:-.02em!important;margin-top:-.06em!important;color:#111!important}
main.p-faq .gfp .gfp__title .ja{font-size:clamp(1.5rem,2.7vw,2.7rem)!important;color:#111!important;
  margin-top:1.4rem!important;font-weight:900!important;line-height:1.35!important}

/* ===== ver20.311: MVV の VALUES を輪郭文字に（大串「VALUESは流れなくていい、トップのServiceみたいにテキストを囲って」） =====
   トップ Service の巨大英字と同じ作り（塗りを透明にして 1.5px の輪郭だけ残す） */
main.p-company .gfp .gfp__vals li b{color:transparent!important;-webkit-text-stroke:1.5px #111!important;
  text-stroke:1.5px #111}
@media (max-width:820px){
  main.p-company .gfp .gfp__vals li b{-webkit-text-stroke-width:1px!important}
}

/* ver20.354 大串「サービスページのMISSION、WHAT WE DOより下のセクションたち、タイトルと下のテキストの余白が気になるから詰めて」
   対象＝サービスページの .gfp__sec（Why / Flow / Price）。ver20.257 で入れた「見出しの下にも余白」
   （.gfp__body 80〜150px ／ .gfp__lead 24〜36px）が空きすぎていたので、料金ページ(main.p-price)と
   同じ水準まで詰める。MISSION・WHAT WE DO は .gfp ではないので影響しない。 */
main.p-ism .gfp .gfp__lead{margin-top:clamp(12px,1.4vw,20px)!important}
main.p-ism .gfp .gfp__body{margin-top:clamp(36px,4.2vw,64px)!important}

/* ver20.399 大串「制作実績と料金について 改行〜」: リードの幅の上限(44em)のせいで「…していま／す。」「…くださ／い。」のように末尾だけ次の行に落ちていた。PCでは上限を外し（枠の幅いっぱいまで）、どの幅でも末尾の1〜2字だけが残らないようにする。会社概要・ガイドは専用の幅指定があるので対象外 */
@media (min-width:821px){main:not(.p-company):not(.p-guide) .gfp .gfp__lead{max-width:none}}
.gfp .gfp__lead{text-wrap:pretty}
/* ver20.406 レスポンシブ一括修正（大串「レスポンシブ対応完璧にやって」2026-09-24） */
@media (max-width:820px){
  /* 大きな英字見出しの負の margin-top はPCの2カラム用。縦積みになるSPでは上の小さなラベル（Plans 等）に重なっていた */
  .gfp .gfp__title .en{margin-top:0!important}
  /* 料金ページのプラン比較表: 640px固定で横スクロールになり右の列が切れていた → 4列を画面内に収める */
  main .gfp .gfp__tbl table{min-width:0!important;width:100%!important;table-layout:fixed}
  main .gfp .gfp__tbl th,main .gfp .gfp__tbl td{padding:14px 6px 14px 0!important;font-size:11.5px!important;letter-spacing:0!important;line-height:1.6!important}
  main .gfp .gfp__tbl tbody th{width:24%!important}
}
/* サービスの Flow「STEP」ラベル 9px → 10.5px（10px未満は読めない） */
main.p-ism .gfp #flow .tfl__label-en{font-size:10.5px!important}
/* ver20.412 完全レスポンシブ: 11px未満の文字をなくす（絞り込みの件数 9.4〜10.5px、STEP 10.5px） */
.gfp .svc-filter button small,main.p-journal .jcat .svc-filter button small,main.p-works .svc-filter button small{font-size:max(.78em,11px)!important}
main.p-ism .gfp #flow .tfl__label-en{font-size:11px!important}
