/* わたラボ Y2K デザイン（2026-10）
   ロゴのピンククロームに合わせた配色。パール地＋クロームのグラデーション（ピンク→ライラック→アイス→ピーチ）。
   既存の styles.css の上に重ねる。新しい部品は x- で始まるクラス名にして、既存の部品とぶつからないようにする。 */
:root{
  --x-bg:#F6F3FA;
  --x-bg-2:#EFE9F8;
  --x-surface:#FFFFFF;
  --x-glass:rgba(255,255,255,0.72);
  --x-ink:#1F1426;
  --x-sub:#685A72;
  --x-line:rgba(92,58,124,0.14);
  --x-line-strong:rgba(92,58,124,0.28);
  --x-pink:#FF5FAE;
  --x-pink-deep:#C2186F;
  --x-lilac:#B49BFF;
  --x-ice:#8DD6FF;
  --x-peach:#FFC0A3;
  --x-plum:#2A1838;
  --x-chrome:linear-gradient(115deg,#FF8FD0 0%,#D9B6FF 28%,#A8E3FF 52%,#FFD5C2 76%,#FF9AD4 100%);
  --x-chrome-soft:linear-gradient(115deg,#FFE3F2 0%,#EFE4FF 35%,#E2F5FF 65%,#FFEDE4 100%);
  --x-shadow:0 18px 50px rgba(74,40,110,0.12);
  --x-shadow-sm:0 6px 18px rgba(74,40,110,0.10);
  --x-radius-xl:36px;
  --x-radius-lg:26px;
  --x-radius-md:18px;
  --x-font-head:'Zen Maru Gothic','Noto Sans JP',system-ui,sans-serif;
  --x-font-latin:'Unbounded','Zen Maru Gothic',system-ui,sans-serif;

  /* 既存ページ（styles.css）の色もこの配色に寄せる */
  --cream:var(--x-bg);
  --surface:#FFFFFF;
  --ink:var(--x-ink);
  --sub:var(--x-sub);
  --coral:var(--x-pink);
  --coral-deep:var(--x-pink-deep);
  --coral-soft:#FFE0F0;
  --pink-wash:#FBEAF5;
  --mint-wash:#ECEBFC;
  --line:var(--x-line);
  --line-strong:var(--x-line-strong);
}

body.y2k{
  background:var(--x-bg);
  color:var(--x-ink);
  line-height:1.8;
}
/* 背景の虹色のにじみ（固定。動かさない） */
body.y2k::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(42vmax 32vmax at 8% 6%, rgba(255,143,208,0.28), transparent 70%),
    radial-gradient(38vmax 30vmax at 96% 18%, rgba(168,227,255,0.34), transparent 70%),
    radial-gradient(40vmax 34vmax at 70% 96%, rgba(217,182,255,0.30), transparent 70%),
    var(--x-bg);
}
body.y2k a{color:var(--x-pink-deep);}
body.y2k a:hover{color:var(--x-plum);}
body.y2k :focus-visible{outline:3px solid var(--x-lilac);outline-offset:3px;}

.x-wrap{max-width:1180px;margin:0 auto;padding-inline:clamp(16px,4vw,40px);width:100%;}
.x-section{padding-block:clamp(64px,9vw,120px);scroll-margin-top:84px;}
.x-section--tight{padding-block:clamp(40px,6vw,72px);}
.x-center{text-align:center;}

/* 見出し */
.x-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--x-font-latin);font-weight:600;
  font-size:12px;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--x-plum);margin:0 0 14px;
}
.x-eyebrow::before{content:"✦";font-size:14px;background:var(--x-chrome);-webkit-background-clip:text;background-clip:text;color:transparent;}
.x-h2{
  font-family:var(--x-font-head);font-weight:900;
  font-size:clamp(28px,4.2vw,46px);line-height:1.3;letter-spacing:-0.01em;
  margin:0 0 18px;text-wrap:balance;
}
.x-lede{color:var(--x-sub);font-size:clamp(15px,1.6vw,17px);max-width:62ch;margin:0 0 36px;}
.x-center .x-lede{margin-inline:auto;}
.x-chrome-text{
  background:linear-gradient(115deg,#E2389A 0%,#9B6BFF 45%,#3FA9E8 75%,#E2389A 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}

/* ボタン */
.x-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:54px;padding:0 28px;border-radius:999px;border:0;cursor:pointer;
  font-family:var(--x-font-head);font-weight:900;font-size:16px;letter-spacing:0.02em;
  color:var(--x-plum) !important;text-decoration:none;
  background:var(--x-chrome);background-size:200% 100%;background-position:0% 50%;
  box-shadow:inset 0 2px 0 rgba(255,255,255,0.85),inset 0 -3px 8px rgba(120,60,160,0.18),0 10px 24px rgba(255,95,174,0.28);
  transition:background-position .5s ease,transform .2s ease,box-shadow .2s ease;
}
.x-btn:hover{background-position:100% 50%;transform:translateY(-2px);}
.x-btn:active{transform:translateY(0);}
.x-btn[disabled]{opacity:.6;cursor:wait;}
.x-btn--dark{background:var(--x-plum);color:#fff !important;box-shadow:0 10px 24px rgba(42,24,56,0.25);}
.x-btn--dark:hover{background:#3d2452;}
.x-btn--ghost{background:var(--x-glass);box-shadow:inset 0 0 0 1.5px var(--x-line-strong);}
.x-btn--sm{min-height:42px;padding:0 20px;font-size:14px;}
.x-btn-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;}
.x-arrow::after{content:"→";font-family:var(--x-font-latin);font-weight:500;}

/* カード */
.x-card{
  background:var(--x-glass);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,0.9);
  box-shadow:var(--x-shadow-sm);
  border-radius:var(--x-radius-lg);
  padding:clamp(20px,3vw,32px);
}
.x-chip{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 14px;border-radius:999px;
  background:var(--x-surface);border:1px solid var(--x-line);
  font-size:13px;font-weight:700;color:var(--x-plum);
}
.x-sparkle{position:absolute;pointer-events:none;font-size:var(--s,28px);line-height:1;
  background:var(--x-chrome);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 2px 6px rgba(180,120,255,0.35));animation:x-twinkle 4s ease-in-out infinite;animation-delay:var(--d,0s);}
@keyframes x-twinkle{0%,100%{opacity:.6;transform:scale(.85) rotate(0deg);}50%{opacity:1;transform:scale(1.1) rotate(20deg);}}
@keyframes x-float{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}

/* ヘッダー（styles.css の header / footer の指定を打ち消す） */
header.x-header{position:sticky;top:0;z-index:50;padding:12px 0;background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;}
footer.x-footer{border-top:0;}
main{overflow-x:clip;}
.x-header-bar{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:8px 10px 8px 20px;border-radius:999px;
  background:rgba(255,255,255,0.78);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,0.95);box-shadow:var(--x-shadow-sm);
}
.x-logo img{height:34px;width:auto;display:block;}
.x-nav{display:flex;align-items:center;gap:clamp(12px,2vw,26px);}
.x-nav a.x-navlink{color:var(--x-ink);font-weight:700;font-size:14px;}
.x-nav a.x-navlink:hover{color:var(--x-pink-deep);}
.x-tel{display:flex;flex-direction:column;line-height:1.2;font-variant-numeric:tabular-nums;}
.x-tel a{color:var(--x-ink) !important;font-weight:900;font-size:15px;}
.x-tel span{font-size:11px;color:var(--x-sub);}
@media (max-width:880px){.x-nav .x-navlink,.x-tel{display:none;}}

/* ファーストビュー */
.x-hero{position:relative;padding-block:clamp(28px,5vw,64px) clamp(48px,7vw,96px);}
.x-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,4vw,56px);align-items:center;}
@media (max-width:880px){.x-hero-grid{grid-template-columns:1fr;}}
.x-hero h1{
  font-family:var(--x-font-head);font-weight:900;
  font-size:clamp(34px,5.6vw,66px);line-height:1.22;letter-spacing:-0.015em;
  margin:0 0 20px;text-wrap:balance;
}
.x-hero h1 .x-h1-sub{display:block;font-size:max(.42em,17px);line-height:1.5;margin-top:16px;color:var(--x-plum);letter-spacing:0;}
.x-hero-def{color:var(--x-sub);font-size:15px;max-width:52ch;margin:0 0 28px;}
.x-hero-badges{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px;}
.x-hero-visual{position:relative;aspect-ratio:1/1;max-width:560px;width:100%;margin-inline:auto;}
.x-hero-ring{
  position:absolute;inset:6%;border-radius:50%;
  background:conic-gradient(from 210deg,#FF8FD0,#D9B6FF,#A8E3FF,#FFD5C2,#FF8FD0);
  filter:blur(2px);opacity:.9;
}
.x-hero-ring::after{content:"";position:absolute;inset:7%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffffff 0%,#F8F2FF 55%,#EFE6FF 100%);}
.x-hero-visual img{
  position:absolute;inset:13%;width:74%;height:74%;object-fit:cover;border-radius:50%;
  -webkit-mask-image:radial-gradient(circle at 50% 50%,#000 58%,transparent 71%);mask-image:radial-gradient(circle at 50% 50%,#000 58%,transparent 71%);
  mix-blend-mode:multiply;animation:x-float 6s ease-in-out infinite;
}
.x-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:30px;max-width:560px;}
.x-fact{display:block;padding:14px 16px;border-radius:var(--x-radius-md);background:var(--x-glass);border:1px solid rgba(255,255,255,0.95);box-shadow:var(--x-shadow-sm);color:var(--x-ink) !important;}
.x-fact b{display:block;font-family:var(--x-font-head);font-weight:900;font-size:clamp(18px,2.2vw,24px);line-height:1.2;font-variant-numeric:tabular-nums;}
.x-fact span{font-size:12px;color:var(--x-sub);}
@media (max-width:520px){.x-facts{grid-template-columns:1fr 1fr;}.x-facts .x-fact:last-child{grid-column:1/-1;}}

/* 3ステップ（イラスト→三面図→ぬいぐるみ） */
.x-steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,2vw,22px);counter-reset:s;}
@media (max-width:760px){.x-steps3{grid-template-columns:1fr;}}
.x-step3{position:relative;padding:28px 24px 26px;border-radius:var(--x-radius-lg);background:var(--x-glass);border:1px solid rgba(255,255,255,0.95);box-shadow:var(--x-shadow-sm);}
.x-step3::before{counter-increment:s;content:"0" counter(s);font-family:var(--x-font-latin);font-weight:700;font-size:40px;line-height:1;
  background:var(--x-chrome);-webkit-background-clip:text;background-clip:text;color:transparent;display:block;margin-bottom:14px;}
.x-step3 h3{font-family:var(--x-font-head);font-weight:900;font-size:20px;margin:0 0 8px;}
.x-step3 p{margin:0;color:var(--x-sub);font-size:15px;}

/* 料金 */
.x-price{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;}
@media (max-width:900px){.x-price{grid-template-columns:repeat(2,1fr);}.x-price .x-price-item:first-child{grid-column:1/-1;}}
.x-price-item{padding:20px 18px;border-radius:var(--x-radius-md);background:var(--x-surface);border:1px solid var(--x-line);text-align:left;font-variant-numeric:tabular-nums;}
.x-price-item.is-hot{background:var(--x-chrome-soft);border-color:transparent;box-shadow:inset 0 0 0 2px rgba(255,95,174,0.35);}
.x-price-qty{font-weight:700;font-size:14px;color:var(--x-sub);margin:0 0 6px;}
.x-price-unit{font-family:var(--x-font-head);font-weight:900;font-size:clamp(22px,2.6vw,30px);line-height:1.2;margin:0;color:var(--x-ink);}
.x-price-unit small{font-size:12px;font-weight:700;color:var(--x-sub);margin-left:2px;}
.x-price-total{font-size:13px;color:var(--x-sub);margin:6px 0 0;}
.x-factors{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 0;}
.x-note{font-size:13px;color:var(--x-sub);margin:16px 0 0;}

/* 納期 */
.x-lead{display:grid;grid-template-columns:minmax(150px,18fr) minmax(180px,43fr) minmax(170px,12fr) minmax(170px,8fr);gap:6px;margin:6px 0 14px;}
@media (max-width:760px){.x-lead{grid-template-columns:1fr;}}
.x-lead-seg{padding:16px 16px 14px;border-radius:var(--x-radius-md);color:var(--x-plum);font-variant-numeric:tabular-nums;min-width:0;}
.x-lead-seg b{display:block;font-family:var(--x-font-head);font-weight:900;font-size:20px;line-height:1.25;}
.x-lead-seg span{font-size:13px;}
.x-lead-seg:nth-child(1){background:#FFD9EE;}
.x-lead-seg:nth-child(2){background:#E6DCFF;}
.x-lead-seg:nth-child(3){background:#D6F0FF;}
.x-lead-seg:nth-child(4){background:#FFE4D6;}
.x-total{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;padding:18px 22px;border-radius:var(--x-radius-md);background:var(--x-plum);color:#fff;}
.x-total b{font-family:var(--x-font-head);font-weight:900;font-size:clamp(20px,2.6vw,28px);}
.x-total span{font-size:13px;opacity:.85;}

/* 開閉（詳しく見る） */
.x-more{margin-top:18px;border-radius:var(--x-radius-md);background:var(--x-glass);border:1px solid rgba(255,255,255,0.95);}
.x-more > summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;font-weight:700;}
.x-more > summary::after{content:"＋";font-weight:900;color:var(--x-pink-deep);transition:transform .2s;}
.x-more[open] > summary::after{transform:rotate(45deg);}
.x-more-body{padding:0 20px 20px;}
.x-more-body ol,.x-more-body ul{display:grid;gap:10px;}
.x-tl li{display:grid;grid-template-columns:40px 1fr;gap:4px 12px;}
.x-tl .n{grid-row:span 2;font-family:var(--x-font-latin);font-weight:700;color:var(--x-pink-deep);}
.x-tl .t{font-weight:700;margin:0;}
.x-tl .d{margin:0;color:var(--x-sub);font-size:14px;}
.x-list li{position:relative;padding-left:22px;}
.x-list li::before{content:"✦";position:absolute;left:0;top:0;color:var(--x-lilac);}

/* 発注の流れ */
.x-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
@media (max-width:900px){.x-flow{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:560px){.x-flow{grid-template-columns:1fr;}}
.x-flow-item{padding:24px 22px;border-radius:var(--x-radius-md);background:var(--x-surface);border:1px solid var(--x-line);}
.x-flow-no{font-family:var(--x-font-latin);font-weight:700;font-size:13px;letter-spacing:.1em;color:var(--x-pink-deep);margin:0 0 6px;}
.x-flow-item h3{font-family:var(--x-font-head);font-weight:900;font-size:17px;line-height:1.4;margin:0 0 6px;}
.x-flow-item p{margin:0;font-size:14px;color:var(--x-sub);}

/* 目的別 */
.x-purpose{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
@media (max-width:560px){.x-purpose{grid-template-columns:1fr;}}
.x-pcard{display:flex;flex-direction:column;border-radius:var(--x-radius-lg);overflow:hidden;background:var(--x-surface);border:1px solid var(--x-line);box-shadow:var(--x-shadow-sm);color:var(--x-ink) !important;transition:transform .25s ease,box-shadow .25s ease;}
.x-pcard:hover{transform:translateY(-4px);box-shadow:var(--x-shadow);}
.x-pcard img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;}
.x-pcard-body{padding:18px 18px 20px;display:flex;flex-direction:column;gap:6px;flex:1;}
.x-pcard-tag{font-family:var(--x-font-latin);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--x-pink-deep);}
.x-pcard h3{font-family:var(--x-font-head);font-weight:900;font-size:19px;margin:0;}
.x-pcard p{margin:0;font-size:14px;color:var(--x-sub);flex:1;}
.x-pcard-go{margin-top:10px;font-weight:900;color:var(--x-pink-deep);}

/* できること */
.x-duo{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media (max-width:760px){.x-duo{grid-template-columns:1fr;}}
.x-duo h3{font-family:var(--x-font-head);font-weight:900;font-size:18px;margin:0 0 12px;}
.x-duo ul{display:grid;gap:8px;}

/* FAQ */
.x-faq{display:grid;gap:10px;}
.x-faq details{border-radius:var(--x-radius-md);background:var(--x-surface);border:1px solid var(--x-line);}
.x-faq summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 20px;font-weight:700;}
.x-faq summary .q{font-family:var(--x-font-latin);font-weight:700;font-size:12px;color:var(--x-pink-deep);margin-right:10px;}
.x-faq summary::after{content:"＋";font-weight:900;color:var(--x-pink-deep);transition:transform .2s;flex:none;}
.x-faq details[open] summary::after{transform:rotate(45deg);}
.x-faq .a{padding:0 20px 20px;}
.x-faq .a p{margin:0 0 8px;}
.x-faq .a .lead{font-weight:700;}

/* 問い合わせ（styles.css の #contact の指定を打ち消す） */
body.y2k #contact{flex:none;min-width:0;max-width:none;margin-left:0;scroll-margin-top:84px;}
.x-contact{position:relative;border-radius:var(--x-radius-xl);padding:clamp(24px,4vw,56px);background:var(--x-chrome-soft);overflow:hidden;}
.x-contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(20px,4vw,48px);align-items:start;position:relative;}
@media (max-width:900px){.x-contact-grid{grid-template-columns:1fr;}.x-contact-mascot{display:none;}}
.x-contact-mascot{width:min(240px,56%);height:auto;margin-top:18px;border-radius:50%;-webkit-mask-image:radial-gradient(circle,#000 58%,transparent 71%);mask-image:radial-gradient(circle,#000 58%,transparent 71%);mix-blend-mode:multiply;}
.x-form{display:grid;gap:18px;background:var(--x-surface);border-radius:var(--x-radius-lg);padding:clamp(20px,3vw,32px);box-shadow:var(--x-shadow);}
.x-field{display:grid;gap:6px;}
.x-field > label,.x-q{font-weight:700;font-size:14px;margin:0;}
.x-req{color:var(--x-pink-deep);font-size:12px;margin-left:6px;}
.x-form input[type=text],.x-form input[type=email],.x-form input[type=tel],.x-form input[type=url],.x-form textarea,.x-form select{
  width:100%;min-height:50px;padding:12px 16px;border-radius:14px;border:1.5px solid var(--x-line-strong);background:#FCFAFE;
  font:inherit;font-size:16px;color:var(--x-ink);transition:border-color .2s,box-shadow .2s;
}
.x-form textarea{min-height:96px;resize:vertical;}
.x-form input:focus,.x-form textarea:focus,.x-form select:focus{outline:none;border-color:var(--x-pink);box-shadow:0 0 0 4px rgba(255,95,174,0.16);}
.x-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media (max-width:560px){.x-grid2{grid-template-columns:1fr;}}
.x-choices{border:0;margin:0;padding:0;min-width:0;}
.x-choices legend{padding:0;margin-bottom:8px;}
.x-choice-row{display:flex;flex-wrap:wrap;gap:8px;}
.x-choice{position:relative;}
.x-choice input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer;}
.x-choice span{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border-radius:999px;border:1.5px solid var(--x-line-strong);background:#FCFAFE;font-weight:700;font-size:14px;transition:all .15s;}
.x-choice input:checked + span{background:var(--x-chrome);border-color:transparent;color:var(--x-plum);box-shadow:inset 0 1px 0 rgba(255,255,255,.8);}
.x-choice input:focus-visible + span{outline:3px solid var(--x-lilac);outline-offset:2px;}
.x-form .x-more{background:#FAF7FD;border-color:var(--x-line);margin-top:0;}
.x-form .x-more-body{display:grid;gap:14px;}
.x-form-foot{font-size:12px;color:var(--x-sub);margin:0;}
.x-form-status{margin:0;padding:12px 16px;border-radius:12px;background:#EAF8F0;font-weight:700;}
.x-form-status.form-status-error{background:#FFE7EF;color:var(--x-pink-deep);}

/* 会社情報・サービス概要 */
.x-about{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media (max-width:760px){.x-about{grid-template-columns:1fr;}}
.x-dl{display:grid;gap:10px;margin:0;}
.x-dl div{display:grid;grid-template-columns:7.5em 1fr;gap:12px;font-size:14px;}
.x-dl dt{color:var(--x-sub);font-weight:700;}
.x-dl dd{margin:0;}
@media (max-width:520px){.x-dl div{grid-template-columns:1fr;gap:0;}}

/* フッター */
.x-footer{background:var(--x-plum);color:#E9E0F2;padding-block:56px 40px;margin-top:40px;}
.x-footer a{color:#fff !important;}
.x-footer-row{display:grid;grid-template-columns:1fr 1.6fr;gap:32px;}
@media (max-width:760px){.x-footer-row{grid-template-columns:1fr;}}
.x-footer-nav{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:16px;font-weight:700;}
.x-footer h2{font-family:var(--x-font-head);font-size:15px;margin:0 0 8px;color:#fff;}
.x-footer p{font-size:13px;line-height:1.8;margin:0 0 8px;}
.x-footer .x-logo img{height:30px;}

/* スマホの固定ボタン（左: 料金を見る／右: 見積を依頼）。PCでは出さない */
.x-sticky-cta{display:none;}
.x-hero-houjin{display:none;}
@media (max-width:760px){
  .x-sticky-cta{
    display:flex;gap:8px;position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:60;
    padding:6px;border-radius:999px;background:var(--x-glass);
    -webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,0.7),var(--x-shadow-sm);
    transition:opacity .25s,transform .25s;
  }
  .x-sticky-cta .x-btn{flex:1 1 0;min-width:0;min-height:48px;padding:0 12px;font-size:15px;gap:6px;white-space:nowrap;}
  .x-sticky-cta .x-btn--ghost{flex:0.8 1 0;background:#fff;}
  .x-sticky-cta.is-hidden{opacity:0;pointer-events:none;transform:translateY(20px);}
  /* 固定バーで本文・送信ボタン・フッターが隠れないよう、下に余白 */
  body.y2k{padding-bottom:calc(84px + env(safe-area-inset-bottom));}
  /* ファーストビュー: 1段目「無料で相談する」、2段目「料金を見る」「法人の方はこちら」 */
  .x-hero .x-btn-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
  .x-hero .x-btn-row > :first-child{grid-column:1/-1;}
  .x-hero .x-btn-row .x-btn--ghost{min-height:48px;padding:0 10px;font-size:15px;}
  .x-hero-houjin{
    display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:48px;padding:0 10px;
    border-radius:999px;background:var(--x-surface);box-shadow:inset 0 0 0 1.5px var(--x-line-strong);
    font-family:var(--x-font-head);font-size:14px;font-weight:900;color:var(--x-plum) !important;text-decoration:none;white-space:nowrap;
  }
}
@media (max-width:359px){.x-sticky-cta .x-btn{font-size:14px;padding:0 8px;}}

@media (prefers-reduced-motion: reduce){
  .x-sparkle,.x-hero-visual img{animation:none;}
  .x-btn,.x-pcard{transition:none;}
}

/* Grok の素材（2026-10-08） */
.x-hero-visual{aspect-ratio:1168/784;max-width:620px;}
.x-hero-frame{position:absolute;inset:0;padding:6px;border-radius:34px;background:var(--x-chrome);box-shadow:var(--x-shadow);animation:x-float 7s ease-in-out infinite;}
.x-hero-visual .x-hero-frame img{position:static;inset:auto;display:block;width:100%;height:100%;object-fit:cover;border-radius:28px;-webkit-mask-image:none;mask-image:none;mix-blend-mode:normal;animation:none;}
.x-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url(images/y2k/sparkles.webp) right 2% top 4% / min(40vw,480px) auto no-repeat;opacity:.32;}
.x-hero{isolation:isolate;}
.x-ba{display:grid;grid-template-columns:1fr auto 1fr;gap:clamp(10px,2vw,24px);align-items:center;margin:0 0 28px;}
.x-ba-item{margin:0;border-radius:var(--x-radius-lg);overflow:hidden;background:#fff;box-shadow:var(--x-shadow-sm);}
.x-ba-item img{display:block;width:100%;height:auto;aspect-ratio:900/604;object-fit:cover;}
.x-ba-item figcaption{padding:10px 16px 14px;font-size:13px;font-weight:700;color:var(--x-sub);}
.x-ba-arrow{font-size:56px;line-height:1;background:var(--x-chrome);-webkit-background-clip:text;background-clip:text;color:transparent;}
@media (max-width:640px){.x-ba{grid-template-columns:1fr;}.x-ba-arrow{justify-self:center;transform:rotate(90deg);}}
.x-steps5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;counter-reset:s5;padding:0;margin:0;list-style:none;}
@media (max-width:1000px){.x-steps5{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:640px){.x-steps5{grid-template-columns:1fr 1fr;}}
.x-steps5 li{position:relative;padding:14px 16px 18px;border-radius:var(--x-radius-lg);background:#fff;box-shadow:var(--x-shadow-sm);}
.x-steps5 li::before{counter-increment:s5;content:"0" counter(s5);position:absolute;top:12px;left:16px;font-family:var(--x-font-latin);font-weight:700;font-size:15px;color:var(--x-pink-deep);}
.x-steps5 img{display:block;width:78%;height:auto;aspect-ratio:1/1;object-fit:cover;margin:4px auto 6px;}
.x-steps5 h3{font-family:var(--x-font-head);font-weight:900;font-size:17px;margin:0 0 4px;}
.x-steps5 p{margin:0;font-size:13px;color:var(--x-sub);line-height:1.7;}
.x-contact::before{content:"";position:absolute;inset:0;pointer-events:none;background:url(images/y2k/sparkles.webp) left -4% bottom -10% / 380px auto no-repeat;opacity:.45;}
.x-contact-mascot{position:relative;width:min(220px,50%);border-radius:0;-webkit-mask-image:none;mask-image:none;mix-blend-mode:multiply;}

/* 2026-10-08 v3: 画像の見せ方と文字量の見直し */
/* ファーストビュー: 写真を額に入れず、背景に溶かして大きく見せる */
.x-hero{position:relative;overflow:hidden;min-height:clamp(560px,78vh,760px);display:flex;align-items:center;padding-block:clamp(24px,4vw,48px);}
.x-hero .x-hero-grid{grid-template-columns:1fr;}
.x-hero-copy{max-width:560px;position:relative;z-index:1;}
.x-hero-bg{position:absolute;z-index:0;right:-6%;top:50%;transform:translateY(-46%);width:min(68vw,1080px);pointer-events:none;}
.x-hero-bg img{display:block;width:100%;height:auto;mix-blend-mode:multiply;
  -webkit-mask-image:radial-gradient(ellipse 58% 60% at 56% 50%,#000 52%,transparent 100%);mask-image:radial-gradient(ellipse 58% 60% at 56% 50%,#000 52%,transparent 100%);
  animation:x-float 8s ease-in-out infinite;}
.x-hero::after{z-index:0;}
.x-hero-def{font-size:clamp(16px,1.8vw,19px);font-weight:700;color:var(--x-plum);margin:0 0 26px;}
@media (max-width:880px){
  .x-hero{min-height:0;flex-direction:column;align-items:stretch;padding-top:0;}
  .x-hero-bg{position:relative;right:auto;top:auto;transform:none;width:118%;margin:-10px -9% -40px;}
}

/* 目的別: 写真を大きく、文字は1行 */
.x-purpose{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
@media (max-width:640px){.x-purpose{grid-template-columns:1fr;}}

.x-pcard{position:relative;aspect-ratio:4/5;border:0;background:var(--x-chrome-soft);}
.x-pcard img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;transition:transform .5s ease;}
.x-pcard img.is-cutout{object-fit:contain;padding:8% 6% 30%;mix-blend-mode:multiply;}
.x-pcard:hover img{transform:scale(1.04);}
.x-pcard-body{position:absolute;left:10px;right:10px;bottom:10px;flex:none;gap:2px;padding:14px 16px;border-radius:20px;
  background:rgba(255,255,255,0.82);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);}
.x-pcard h3{font-size:20px;}
.x-pcard p{flex:none;font-size:13px;}
.x-pcard-body::after{content:"→";position:absolute;right:16px;top:50%;transform:translateY(-50%);font-family:var(--x-font-latin);font-weight:600;color:var(--x-pink-deep);}

/* 5ステップ: 文字を短く */
.x-steps5 li{text-align:center;padding:14px 12px 18px;}
.x-steps5 h3{font-size:18px;}
.x-steps5 p{font-size:13px;}
.x-steps5 + .x-more{margin-top:16px;}

/* 問い合わせ: キャラクターがフォームの後ろから顔を出す */
.x-contact-grid{grid-template-columns:.8fr 1.2fr;align-items:center;}
.x-form-wrap{position:relative;padding-top:118px;}
.x-form-mascot{position:absolute;top:0;right:28px;width:170px;height:150px;object-fit:cover;object-position:50% 8%;mix-blend-mode:multiply;z-index:0;}
.x-form-wrap .x-form{position:relative;z-index:1;}
@media (max-width:900px){.x-form-wrap{padding-top:96px;}.x-form-mascot{width:140px;height:122px;right:16px;}}
.x-hero::after{display:none;}
.x-pcard{aspect-ratio:1/1;}
.x-pcard-body{padding:10px 14px 12px;}
.x-pcard-tag{font-size:10px;}
.x-pcard h3{font-size:18px;}
.x-pcard img.pos-office{object-position:14% 50%;}
.x-pcard img.pos-keychain{object-position:36% 50%;}
.x-pcard img.pos-gift{object-position:50% 40%;}
.x-pcard img.is-cutout{padding:6% 6% 34%;}
/* 目的別カードの写真: 縦長のカードで目的がわかる部分を残す */
.x-pcard img.pos-corporate{object-position:40% 50%;}
.x-pcard img.pos-ip{object-position:47% 50%;}
.x-pcard img.pos-dantai{object-position:42% 50%;}
.x-pcard img.pos-vtuber{object-position:33% 50%;}
.x-pcard img.pos-jichitai{object-position:72% 50%;}
/* 目的別: 写真の下に短いラベル（被せない） */
.x-pcard{aspect-ratio:auto;background:var(--x-surface);}
.x-pcard img{position:static;inset:auto;width:100%;height:auto;aspect-ratio:1/1;}
.x-pcard img.is-cutout{background:var(--x-chrome-soft);padding:10%;}
.x-pcard-body{position:relative;left:auto;right:auto;bottom:auto;border-radius:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:14px 18px 16px;}
.x-pcard-body::after{right:18px;}
.x-pcard img.is-cutout{background:none;}
.x-pcard.is-ip{background:var(--x-chrome-soft);}
.x-pcard.is-ip .x-pcard-body{background:var(--x-surface);}
@media (max-width:900px){.x-contact-grid{grid-template-columns:1fr;}}
.x-pcard-body{padding-right:40px;}

/* 文字を少し戻した分（2026-10-08） */
.x-hero-def{margin:0 0 10px;}
.x-hero-sub{color:var(--x-sub);font-size:15px;line-height:1.8;max-width:30em;margin:0 0 26px;}
.x-steps5 p{text-align:left;}
.x-pcard p{font-size:13px;line-height:1.7;}

/* 記事・資料ページ（2026-10-08） */
body.y2k .band-cream{background:transparent;}
body.y2k .post{max-width:760px;margin-inline:auto;}
body.y2k .post-breadcrumb{font-size:12px;color:var(--x-sub);padding-top:8px;}
body.y2k .post-breadcrumb a{color:var(--x-sub);}
.x-topic{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 6px;border-radius:999px;background:var(--x-surface);border:1px solid var(--x-line);font-weight:700;font-size:13px;color:var(--x-plum) !important;text-decoration:none;}
.x-topic img{width:30px;height:30px;object-fit:cover;object-position:50% 50%;border-radius:50%;background:#fff;}
.x-topic:hover{border-color:var(--x-pink);}
.x-topic-n{font-family:var(--x-font-latin);font-size:11px;color:var(--x-pink-deep);margin-left:2px;}
.x-post-head{display:grid;gap:16px;margin:18px 0 34px;}
.x-post-head .x-topic{justify-self:start;}
.x-post-title{font-family:var(--x-font-head);font-weight:900;margin:0;line-height:1.3;text-wrap:balance;}
.x-post-title-main{display:block;font-size:clamp(28px,4.4vw,42px);letter-spacing:-0.01em;}
.x-post-title-sub{display:block;margin-top:10px;font-size:clamp(15px,1.9vw,19px);font-weight:700;color:var(--x-sub);line-height:1.6;}
.x-post-summary{padding:18px 22px;border-radius:var(--x-radius-lg);background:var(--x-chrome-soft);}
.x-post-summary p{margin:0;font-size:15px;line-height:1.85;}
.x-post-summary-label{font-weight:900;font-family:var(--x-font-head);color:var(--x-pink-deep);margin-bottom:4px !important;}
.x-post-meta{margin:0;font-size:12px;color:var(--x-sub);}
.x-toc{margin-top:0;}
.x-toc-list{display:grid;gap:6px;margin:0;padding:0 0 0 1.4em;list-style:decimal;}
.x-toc-list li::marker{color:var(--x-pink-deep);font-weight:700;}
.x-toc-list a{color:var(--x-ink) !important;font-weight:700;font-size:14px;}
.x-toc-list a:hover{color:var(--x-pink-deep) !important;}
body.y2k .post .section-title{scroll-margin-top:90px;}
body.y2k .post .stitch-under{background:var(--x-chrome);height:4px;border-radius:4px;}
body.y2k .post-cta{border-radius:var(--x-radius-lg);background:var(--x-chrome-soft);border:0;}

/* 記事一覧 */
.x-index{padding-block:8px 40px;}
.x-index-title{font-family:var(--x-font-head);font-weight:900;font-size:clamp(30px,4.6vw,48px);margin:0 0 12px;}
.x-topics{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px;}
.x-index-report{display:grid;gap:4px;padding:20px 24px;border-radius:var(--x-radius-lg);background:var(--x-plum);color:#fff !important;text-decoration:none;margin-bottom:12px;}
.x-index-report .x-index-tag{color:#FFB3DA;}
.x-index-report-title{font-family:var(--x-font-head);font-weight:900;font-size:20px;}
.x-index-report-desc{font-size:13px;opacity:.85;}
.x-index-group{padding-top:44px;scroll-margin-top:84px;}
.x-index-head{display:flex;align-items:center;gap:14px;margin-bottom:16px;}
.x-index-head img{width:64px;height:64px;object-fit:cover;border-radius:18px;background:#fff;box-shadow:var(--x-shadow-sm);flex:none;}
.x-index-head .x-h2{font-size:clamp(22px,3vw,30px);margin:0;}
.x-index-lede{margin:2px 0 0;font-size:13px;color:var(--x-sub);}
.x-index-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;}
@media (max-width:420px){.x-index-list{grid-template-columns:1fr;}}
.x-index-card{position:relative;display:flex;flex-direction:column;gap:6px;padding:20px 22px 44px;border-radius:var(--x-radius-lg);background:var(--x-surface);border:1px solid var(--x-line);box-shadow:var(--x-shadow-sm);color:var(--x-ink) !important;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease;}
.x-index-card:hover{transform:translateY(-3px);box-shadow:var(--x-shadow);}
.x-index-tag{font-family:var(--x-font-latin);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--x-pink-deep);}
.x-index-card h3{font-family:var(--x-font-head);font-weight:900;font-size:20px;line-height:1.4;margin:0;}
.x-index-sub{margin:0;font-size:13px;font-weight:700;color:var(--x-plum);line-height:1.6;}
.x-index-desc{margin:0;font-size:13px;color:var(--x-sub);line-height:1.75;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.x-index-go{position:absolute;left:22px;bottom:16px;font-weight:900;font-size:13px;color:var(--x-pink-deep);}
.x-index-go::after{content:" →";font-family:var(--x-font-latin);}
.x-index-cta{margin-top:48px;padding:28px;border-radius:var(--x-radius-lg);background:var(--x-chrome-soft);display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;}
.x-index-cta p{margin:0;font-weight:700;}
.x-toc .x-toc-list{padding:0 22px 20px 44px;}
.x-toc > summary{padding-left:22px;}

/* 記事の図・アイキャッチ（2026-10-08） */
.x-post-eyecatch{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:var(--x-radius-lg);box-shadow:var(--x-shadow-sm);background:var(--x-chrome-soft);}
.x-index-card{padding-top:0;overflow:hidden;}
.x-index-thumb{display:block;width:calc(100% + 44px);margin:0 -22px 8px;height:auto;aspect-ratio:16/9;object-fit:cover;background:var(--x-chrome-soft);}
.x-fig{margin:6px 0 22px;padding:20px 22px;border-radius:var(--x-radius-lg);background:var(--x-surface);border:1px solid var(--x-line);box-shadow:var(--x-shadow-sm);}
.x-fig-title{font-family:var(--x-font-head);font-weight:900;font-size:16px;margin:0 0 14px;color:var(--x-plum);}
.x-fig-title::before{content:"✦ ";color:var(--x-lilac);}
.x-fig-note{margin:12px 0 0;font-size:12px;color:var(--x-sub);line-height:1.7;}
.x-fig-bar{display:grid;grid-template-columns:8.5em 1fr 7.5em;align-items:center;gap:10px;margin:8px 0;font-variant-numeric:tabular-nums;}
.x-fig-bar-label{font-size:13px;font-weight:700;}
.x-fig-bar-track{height:14px;border-radius:999px;background:var(--x-bg-2);overflow:hidden;}
.x-fig-bar-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#FF8FD0,#B49BFF);}
.x-fig-bar-value{font-family:var(--x-font-head);font-weight:900;font-size:15px;text-align:right;}
.x-fig-bar-value small{font-size:11px;color:var(--x-sub);margin-left:1px;}
@media (max-width:520px){.x-fig-bar{grid-template-columns:6.5em 1fr 6.4em;gap:6px;}.x-fig-bar-label{font-size:12px;}.x-fig-bar-value{font-size:13px;}}
.x-fig-segs{display:flex;gap:4px;}
.x-fig-seg{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:12px 10px;border-radius:14px;color:var(--x-plum);font-variant-numeric:tabular-nums;}
.x-fig-seg span{font-size:11px;line-height:1.4;}
.x-fig-seg b{font-family:var(--x-font-head);font-weight:900;font-size:15px;line-height:1.3;}
.x-fig-seg-1{background:#FFD9EE;min-width:96px;}
.x-fig-seg-2{background:#E6DCFF;min-width:96px;}
.x-fig-seg-3{background:#D6F0FF;min-width:110px;}
.x-fig-seg-4{background:#FFE4D6;min-width:110px;}
@media (max-width:620px){.x-fig-segs{flex-direction:column;}.x-fig-seg{flex-direction:row;justify-content:space-between;align-items:center;}.x-fig-seg span{font-size:13px;}}
.x-fig-total{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;margin:12px 0 0;padding:12px 16px;border-radius:14px;background:var(--x-plum);color:#fff;}
.x-fig-total b{font-family:var(--x-font-head);font-size:15px;}
.x-fig-total span{font-size:12px;opacity:.85;}
.x-fig-pair{display:grid;gap:0;}
.x-fig-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;list-style:none;margin:0;padding:0;}
@media (max-width:620px){.x-fig-flow{grid-template-columns:1fr 1fr;}}
.x-fig-flow li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;padding:8px 6px 10px;border-radius:16px;background:var(--x-bg);}
.x-fig-flow img{width:72%;height:auto;aspect-ratio:1/1;object-fit:cover;mix-blend-mode:multiply;}
.x-fig-flow b{font-family:var(--x-font-head);font-weight:900;font-size:15px;}
.x-fig-flow span{font-size:11px;line-height:1.5;color:var(--x-sub);}
.x-fig-sizes{display:flex;align-items:flex-end;justify-content:space-around;gap:10px;list-style:none;margin:0;padding:0;}
.x-fig-sizes li{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;}
.x-fig-size-img{display:block;height:var(--h);width:var(--h);}
.x-fig-size-img img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;}
.x-fig-sizes b{font-family:var(--x-font-head);font-weight:900;font-size:15px;}
.x-fig-sizes span{font-size:12px;color:var(--x-sub);}
body.y2k .post .x-fig-total,body.y2k .post .x-fig-total b,body.y2k .post .x-fig-total span{color:#fff;}
body.y2k .post .x-fig p{margin-bottom:0;}

.x-index-report{position:relative;overflow:hidden;padding-right:min(46%,360px);min-height:150px;}
.x-index-report-img{position:absolute;right:0;top:0;width:min(44%,340px);height:100%;object-fit:cover;-webkit-mask-image:linear-gradient(90deg,transparent,#000 40%);mask-image:linear-gradient(90deg,transparent,#000 40%);}
@media (max-width:560px){.x-index-report{padding-right:24px;}.x-index-report-img{opacity:.35;width:100%;}}
.x-index-thumb{max-width:none;}
.x-post-eyecatch{aspect-ratio:auto;height:clamp(180px,26vw,300px);}

/* 2026-10-11 トップのデッドクリック対策・操作の応答（INP）対策 */
/* ページ内リンク（ナビ・ロゴ・料金カード）で移動が目に見えるように。動きを減らす設定の人には付けない */
@media (prefers-reduced-motion: no-preference){html:has(> body.y2k){scroll-behavior:smooth;}}
/* 料金カード: 押すと見積フォームへ（個数を選んだ状態で）。見た目はカードのまま、触れたときだけ浮かせる */
a.x-price-item{display:block;color:var(--x-ink);text-decoration:none;transition:transform .15s ease,box-shadow .15s ease;}
body.y2k a.x-price-item:hover{color:var(--x-ink);transform:translateY(-2px);box-shadow:var(--x-shadow-sm);}
body.y2k a.x-price-item.is-hot:hover{box-shadow:inset 0 0 0 2px rgba(255,95,174,0.35),var(--x-shadow-sm);}
/* FAQ: 回答の1行目（太字）を押すと閉じる */
.x-faq .a .lead{cursor:pointer;}
/* ファーストビューの写真: 押すと「イラスト1枚から」の流れへ */
.x-hero-bg.is-link{pointer-events:auto;cursor:pointer;}
/* ファーストビューの「見積もり無料」バッジ: 押すと見積フォームへ */
body.y2k a.x-chip{text-decoration:none;color:var(--x-plum);transition:transform .15s ease;}
body.y2k a.x-chip:hover{color:var(--x-plum);transform:translateY(-1px);}
/* 説明だけの項目（金額が変わる要因・できること）: ボタンに見えないよう、枠を外してチェック付きの一覧にする */
.x-factors--plain{gap:6px 18px;}
.x-factors--plain .x-chip{background:none;border:0;padding:2px 0;border-radius:0;}
.x-factors--plain .x-chip::before{content:"✓";color:var(--x-pink-deep);font-weight:900;}
/* 納期の色付きボックス: 押すと「11ステップの工程」が開く */
#delivery .is-link{cursor:pointer;}
/* 画面外に出たファーストビューの浮遊アニメは止める（描画の負荷を下げる） */
.x-hero.is-offscreen .x-hero-bg img{animation-play-state:paused;}
@media (prefers-reduced-motion: reduce){a.x-price-item{transition:none;}}

/* 目的別ページ（法人・IPホルダー・団体・VTuber・自治体）2026-10-22: トップと同じ部品で組み直し */
.x-subhero{padding-block:clamp(24px,4vw,56px) clamp(32px,5vw,64px);}
.x-hero.x-subhero .x-hero-grid{grid-template-columns:1fr 1fr;}
@media (max-width:880px){.x-hero.x-subhero .x-hero-grid{grid-template-columns:1fr;}}
.x-subhero .x-hero-copy{max-width:none;}
.x-subhero h1{font-size:clamp(30px,4.6vw,54px);}
.x-subhero-promise{font-weight:700;color:var(--x-plum);margin:-12px 0 24px;}
.x-subhero-visual{position:relative;border-radius:var(--x-radius-xl);overflow:hidden;aspect-ratio:4/3;box-shadow:var(--x-shadow);border:1px solid rgba(255,255,255,0.9);}
.x-subhero-visual::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 6px rgba(255,255,255,0.55);pointer-events:none;}
.x-subhero-visual img{width:100%;height:100%;object-fit:cover;display:block;}
.x-subhero-visual img.pos-corporate{object-position:40% 50%;}
.x-subhero-visual img.pos-ip{object-position:50% 50%;}
.x-subhero-visual img.pos-dantai{object-position:42% 50%;}
.x-subhero-visual img.pos-vtuber{object-position:38% 50%;}
.x-subhero-visual img.pos-jichitai{object-position:70% 50%;}
.x-facts--4{grid-template-columns:repeat(4,1fr);max-width:none;}
@media (max-width:620px){.x-facts--4{grid-template-columns:1fr 1fr;}.x-facts--4 .x-fact:last-child{grid-column:auto;}}
.x-reasons{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
@media (max-width:820px){.x-reasons{grid-template-columns:1fr;}}
.x-reason h3{font-family:var(--x-font-head);font-weight:900;font-size:18px;margin:6px 0 8px;line-height:1.45;}
.x-reason p{margin:0;font-size:14px;color:var(--x-sub);}
.x-reason-n{font-family:var(--x-font-latin);font-weight:700;font-size:13px;background:var(--x-chrome);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:.08em;}
.x-specs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
@media (max-width:900px){.x-specs{grid-template-columns:1fr 1fr;}}
.x-spec{padding:18px;border-radius:var(--x-radius-md);background:var(--x-surface);border:1px solid var(--x-line);}
.x-spec span{font-size:12px;color:var(--x-sub);font-weight:700;}
.x-spec b{display:block;font-family:var(--x-font-head);font-weight:900;font-size:clamp(20px,2.4vw,26px);margin:2px 0 6px;font-variant-numeric:tabular-nums;}
.x-spec p{margin:0;font-size:13px;color:var(--x-sub);}
.x-usecases{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;}
.x-usecase h3{font-family:var(--x-font-head);font-weight:900;font-size:18px;margin:6px 0 8px;line-height:1.45;}
.x-usecase p{margin:0;font-size:14px;color:var(--x-sub);}
.x-usecase-tag{display:inline-block;font-family:var(--x-font-latin);font-weight:600;font-size:11px;letter-spacing:.14em;color:var(--x-pink-deep);}
.x-usecase-go{display:inline-block;margin-top:12px;font-weight:900;color:var(--x-pink-deep) !important;}
.x-table-card{padding:clamp(14px,2.4vw,24px);overflow-x:auto;}
.x-table-card table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;}
.x-table-card caption{caption-side:bottom;text-align:left;font-size:12.5px;color:var(--x-sub);padding-top:12px;}
.x-table-card th,.x-table-card td{padding:12px 14px;border-bottom:1px solid var(--x-line);text-align:left;font-size:15px;}
.x-table-card thead th{font-size:12px;color:var(--x-sub);font-weight:700;border-bottom:2px solid var(--x-line-strong);}
.x-table-card tbody th{font-weight:900;font-family:var(--x-font-head);color:var(--x-plum);white-space:nowrap;}
.x-table-card tbody tr:last-child th,.x-table-card tbody tr:last-child td{border-bottom:0;}
.x-table-card table.pricetable thead th:nth-child(n+2),.x-table-card table.pricetable td{text-align:left;}
.x-table-card table.pricetable:not(.pricetable--text) td:last-child,.x-table-card table.pricetable:not(.pricetable--text) thead th:last-child:nth-child(n+2){text-align:right;font-weight:700;}
.x-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;}
.x-link-card{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:999px;background:var(--x-surface);border:1px solid var(--x-line);font-weight:700;font-size:14px;color:var(--x-plum) !important;text-decoration:none;}
.x-link-card::after{content:"→";color:var(--x-pink-deep);font-family:var(--x-font-latin);}
.x-link-card:hover{border-color:var(--x-pink);}
.x-opt{color:var(--x-sub);font-size:12px;margin-left:6px;font-weight:500;}
/* 料金表ページ: スマホ幅では内訳の列だけ折り返し、総額の列が画面内に収まるように */
@media (max-width:600px){
  .x-ryokin .x-table-card{padding:10px 6px;}
  .x-ryokin .x-table-card th,.x-ryokin .x-table-card td{padding:11px 7px;font-size:14px;}
  .x-ryokin .x-table-card table.pricetable td.x-pay{white-space:normal;font-size:12px;line-height:1.5;color:var(--x-sub);}
  .x-ryokin .x-table-card table.pricetable--combo tbody th{white-space:normal;line-height:1.5;}
  .x-ryokin .x-table-card table.pricetable thead th{white-space:nowrap;}
}

/* 2026-10-27 ファーストビュー: 見出し → イラスト → 料金 → 概算フォーム の順。文字は最小限（運営会社の1行だけ）
   PC: 見出しを横いっぱい、その下の左にイラストを大きく、右に料金と概算フォーム
   スマホ: 同じ順で縦に並べる */
.x-hero{min-height:0;display:block;padding-block:clamp(12px,2.6vw,36px) clamp(28px,4.5vw,60px);}
.x-hero2{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.75fr);grid-template-areas:"h1 h1" "img main";gap:4px clamp(24px,4vw,56px);align-items:center;position:relative;z-index:1;}
.x-hero2 h1{grid-area:h1;margin:0;}
.x-hero2 .x-hero-bg{grid-area:img;position:relative;inset:auto;right:auto;top:auto;bottom:auto;transform:none;width:100%;margin:0;z-index:0;}
.x-hero2 .x-hero-bg img{-webkit-mask-image:radial-gradient(closest-side,#000 72%,transparent 100%);mask-image:radial-gradient(closest-side,#000 72%,transparent 100%);}
.x-hero-main{grid-area:main;min-width:0;}
@media (min-width:881px){.x-hero2 .x-hero-bg{width:122%;margin:-4% -12% -4% -10%;}.x-hero2 h1{font-size:clamp(40px,4.4vw,64px);}}
/* 2026-11-01 PCでは見出しを1行にし、概算フォームを画像の上端にそろえて少し上げる（スマホは2行のまま） */
@media (min-width:881px){.x-br-sp{display:none;}.x-hero2{align-items:start;}.x-hero2 h1{white-space:nowrap;font-size:clamp(34px,4.6vw,66px);}.x-hero2 h1 .x-h1-sub{white-space:normal;}.x-hero2 .x-hero-bg{align-self:start;margin-top:-6%;}.x-hero-main{margin-top:20px;position:relative;z-index:1;}}
.x-hero-prices{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 6px;color:var(--x-ink) !important;text-decoration:none;}
.x-hp{display:block;padding:10px 12px;border-radius:var(--x-radius-md);background:var(--x-glass);border:1px solid rgba(255,255,255,0.95);box-shadow:var(--x-shadow-sm);}
.x-hp-q{display:block;font-size:12px;font-weight:700;color:var(--x-sub);}
.x-hp b{display:block;font-family:var(--x-font-head);font-weight:900;font-size:clamp(19px,2.2vw,26px);line-height:1.25;font-variant-numeric:tabular-nums;}
.x-hp small{display:block;font-size:11.5px;color:var(--x-sub);font-variant-numeric:tabular-nums;}
.x-hero-pnote{font-size:12px;color:var(--x-sub);margin:0 0 14px;}
.x-quick{padding:14px;border-radius:var(--x-radius-md);background:rgba(255,255,255,0.92);border:1px solid rgba(255,255,255,0.95);box-shadow:var(--x-shadow);margin:0 0 12px;}
.x-quick-title{margin:0 0 10px;font-weight:900;font-size:15px;color:var(--x-ink);}
.x-quick-row{display:grid;grid-template-columns:1fr 132px;gap:8px;margin-bottom:10px;}
.x-quick input,.x-quick select{width:100%;min-height:48px;padding:0 12px;border-radius:12px;border:1px solid var(--x-line-strong);background:#fff;font:inherit;font-size:16px;color:var(--x-ink);}
.x-quick .x-btn{width:100%;justify-content:center;min-height:48px;}
.x-quick-foot{margin:8px 0 0;font-size:11.5px;color:var(--x-sub);}
.x-quick .x-form-status{margin:8px 0 0;}
.x-hero-trust{margin:0;font-size:13px;font-weight:700;color:var(--x-plum);}
@media (max-width:880px){
  .x-hero2{grid-template-columns:1fr;grid-template-areas:"h1" "img" "main";gap:0;}
  .x-hero2 h1{font-size:clamp(30px,8.6vw,40px);}
  .x-hero2 h1 .x-h1-sub{margin-top:8px;font-size:15px;}
  .x-hero2 .x-hero-bg{width:100%;margin:2px auto 6px;}
}
@media (max-width:420px){
  .x-quick-row{grid-template-columns:1fr 112px;}
  .x-hp{padding:9px;}
}

/* 2026-10-30 見積フォーム v2：任意の欄・発注の流れ・支払い条件 */
.x-opt{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;font-size:11px;font-weight:700;color:var(--x-sub);background:rgba(0,0,0,0.05);vertical-align:1px;}
.x-field-help{margin:6px 0 0;font-size:12px;color:var(--x-sub);}
.x-more--form{margin:4px 0 16px;}
.x-more--form>summary{font-weight:700;}
.x-check{display:flex;gap:8px;align-items:flex-start;margin:4px 0 14px;font-size:13px;line-height:1.6;color:var(--x-ink);}
.x-check input{margin-top:4px;flex:none;width:18px;height:18px;}
.x-flow-mini{list-style:none;counter-reset:xflow;margin:14px 0 10px;padding:0;display:grid;gap:6px;}
.x-flow-mini li{counter-increment:xflow;display:flex;gap:10px;align-items:baseline;padding:8px 12px;border-radius:var(--x-radius-md);background:var(--x-glass);border:1px solid rgba(255,255,255,0.95);font-size:13px;color:var(--x-sub);}
.x-flow-mini li::before{content:counter(xflow);flex:none;width:20px;height:20px;border-radius:50%;display:inline-grid;place-items:center;font-size:12px;font-weight:900;color:#fff;background:var(--x-pink-deep);}
.x-flow-mini b{color:var(--x-ink);margin-right:6px;white-space:nowrap;}
.x-pay-note{font-size:12.5px;}
