.tcv2{
  --tc-navy:#082b4c;
  --tc-navy-2:#0d3d67;
  --tc-blue:#0b6e9d;
  --tc-sky:#dff3fb;
  --tc-orange:#e85f00;
  --tc-orange-dark:#a94300;
  --tc-ink:#142536;
  --tc-gray:#526577;
  --tc-bg:#f3f7f9;
  --tc-line:#cbd9e2;
  --tc-white:#fff;
  position:relative;
  left:50%;
  width:100vw;
  max-width:100vw;
  margin-left:-50vw;
  overflow:clip;
  color:var(--tc-ink);
  background:#fff;
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,system-ui,sans-serif;
  font-size:16px;
  font-weight:500;
  line-height:1.85;
  letter-spacing:.015em;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
.tcv2 *{box-sizing:border-box}
.tcv2 img{display:block;max-width:100%;height:auto}
.tcv2 button,.tcv2 input,.tcv2 select,.tcv2 textarea{font:inherit}
.tcv2 p,.tcv2 li,.tcv2 dd,.tcv2 dt,.tcv2 span,.tcv2 a,.tcv2 button{line-break:strict;overflow-wrap:break-word}
.tcv2 h1,.tcv2 h2,.tcv2 h3{margin-top:0;color:inherit;font-weight:900;letter-spacing:.015em;line-height:1.35;line-break:strict;text-wrap:balance}
.tcv2 .wrap{width:min(100% - 48px,1180px);margin-inline:auto}
.tcv2 .narrow{width:min(100% - 48px,900px)}
.tcv2 .nobr{white-space:nowrap}

.tcv2 .hero{position:relative;isolation:isolate;min-height:760px;overflow:hidden;background:#041829;color:#fff}
.tcv2 .hero::before{content:"";position:absolute;z-index:1;top:0;bottom:0;left:clamp(18px,4vw,68px);width:1px;background:#ffffff30;box-shadow:8px 0 0 #e85f00}
.tcv2 .hero::after{content:"";position:absolute;z-index:1;top:0;right:0;width:38%;height:9px;background:linear-gradient(90deg,var(--tc-orange),#ff9a54)}
.tcv2 .hero-media{position:absolute;z-index:-3;inset:0}
.tcv2 .hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 54%;filter:saturate(.78) contrast(1.05)}
.tcv2 .hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#031827f7 0%,#082b4ce8 43%,#061c2e8c 68%,#04111d70 100%),linear-gradient(0deg,#021421d9 0%,transparent 42%),radial-gradient(circle at 72% 32%,transparent 0 15%,#04152266 68%)}
.tcv2 .hero-gridlines{position:absolute;inset:0;opacity:.17;background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,#000 0%,#000 38%,transparent 78%)}
.tcv2 .hero-watermark{position:absolute;z-index:-1;right:-22px;bottom:80px;color:#ffffff0e;font-size:clamp(76px,9vw,150px);font-weight:900;letter-spacing:-.04em;line-height:.78;text-align:right;white-space:nowrap;transform:rotate(-1deg);user-select:none}
.tcv2 .hero-stage{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.42fr) minmax(280px,.58fr);gap:58px;align-items:center;min-height:700px;padding-top:56px;padding-bottom:72px}
.tcv2 .hero-copy{max-width:760px}
.tcv2 .hero-meta{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}
.tcv2 .hero-meta span{padding:6px 10px;border-left:3px solid var(--tc-orange);background:#ffffff0e;color:#fff;font-size:11px;font-weight:900;letter-spacing:.08em}
.tcv2 .eyebrow,.tcv2 .section-kicker{margin:0 0 7px;color:var(--tc-blue);font-size:14px;font-weight:900;letter-spacing:.09em}
.tcv2 .service-area{margin:0 0 15px;color:#b8e5f7;font-size:14px;font-weight:900;letter-spacing:.06em}
.tcv2 .hero h1{margin:0 0 22px;color:#fff;font-size:clamp(42px,5.15vw,72px);line-height:1.12;text-shadow:0 4px 25px #0007}
.tcv2 .hero h1 span,.tcv2 .hero h1 em,.tcv2 .hero h1 strong{display:block;color:#fff!important}
.tcv2 .hero h1 em{position:relative;width:max-content;max-width:100%;margin:.14em 0;padding:6px 14px 7px 13px;background:linear-gradient(90deg,var(--tc-orange),#f47a21);box-shadow:10px 10px 0 #071b2c99;color:#fff;font-size:.58em;font-style:normal;letter-spacing:.015em;text-shadow:none}
.tcv2 .hero h1 strong{font-size:.87em}
.tcv2 .lead{max-width:680px;margin:0;color:#eef8fc;font-size:18px;line-height:1.9;text-shadow:0 2px 12px #000b}
.tcv2 .lead b{color:#fff;font-weight:900;border-bottom:2px solid var(--tc-orange)}
.tcv2 .chips{display:flex;gap:9px;flex-wrap:wrap;margin:23px 0 0}
.tcv2 .chips span{display:inline-flex;align-items:center;min-height:35px;padding:5px 11px;border:1px solid #ffffff55;border-radius:999px;background:#061a2bbf;color:#fff;font-size:13px;font-weight:900;white-space:nowrap;box-shadow:0 5px 18px #0003;backdrop-filter:blur(8px)}
.tcv2 .chips span::before{content:"✓";margin-right:5px;color:#66df93;font-weight:900}
.tcv2 .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:26px}
.tcv2 .btn{display:inline-flex;min-height:58px;align-items:center;justify-content:center;border:0;border-radius:10px;padding:13px 20px;color:#fff;font-size:16px;font-weight:900;line-height:1.35;text-align:center;text-decoration:none!important;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.tcv2 .btn small{display:block;margin-right:9px;font-size:10px;font-weight:800;line-height:1.25;opacity:.86}
.tcv2 .btn:hover{transform:translateY(-2px);filter:brightness(1.03)}
.tcv2 .orange{background:linear-gradient(180deg,#f57516,var(--tc-orange));box-shadow:0 5px 0 var(--tc-orange-dark),0 10px 22px #e85f0025}
.tcv2 .navy{background:linear-gradient(180deg,#103f68,var(--tc-navy));box-shadow:0 5px 0 #031d33,0 10px 22px #082b4c20}
.tcv2 .glass{border:1px solid #ffffff8a;background:#ffffff14;color:#fff;box-shadow:0 5px 0 #ffffff24,0 10px 22px #0003;backdrop-filter:blur(12px)}
.tcv2 .white{background:#fff;color:var(--tc-navy);box-shadow:0 5px 0 #bfd0db}
.tcv2 .outline{border:2px solid #ffffffa8;background:transparent;color:#fff}
.tcv2 .micro,.tcv2 .note{color:#607487;font-size:12px;line-height:1.7}
.tcv2 .micro{margin:15px 0 0;color:#d9eaf2;text-shadow:0 2px 8px #000}
.tcv2 .hero-plan{position:relative;overflow:hidden;padding:25px 23px 21px;border:1px solid #ffffff54;border-radius:2px 18px 2px 18px;background:linear-gradient(145deg,#071c2bd9,#0b385bd9);box-shadow:0 24px 60px #0006;backdrop-filter:blur(14px)}
.tcv2 .hero-plan::before{content:"";position:absolute;top:0;left:0;width:70px;height:5px;background:var(--tc-orange)}
.tcv2 .plan-label{margin:0 0 7px;color:#83d6f4;font-size:11px;font-weight:900;letter-spacing:.18em}
.tcv2 .hero-plan h2{margin:0 0 19px;color:#fff!important;font-size:21px;line-height:1.55;text-align:left;text-shadow:0 2px 10px #0007}
.tcv2 .hero-plan ol{display:grid;gap:7px;margin:0;padding:0;list-style:none}
.tcv2 .hero-plan li{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;padding:10px 9px;border-bottom:1px solid #ffffff27;color:#fff}
.tcv2 .hero-plan li b{color:#ff9b56;font-size:13px;letter-spacing:.08em}
.tcv2 .hero-plan li span{font-size:13px;font-weight:800;line-height:1.45}
.tcv2 .plan-foot{display:flex;justify-content:space-between;align-items:flex-end;margin-top:17px;padding-top:14px;border-top:1px solid #ffffff35}
.tcv2 .plan-foot span{color:#8cb6cc;font-size:9px;font-weight:900;letter-spacing:.16em}
.tcv2 .plan-foot b{color:#fff;font-size:17px;letter-spacing:.05em}
.tcv2 .hero-bottom{position:absolute;z-index:3;right:0;bottom:0;left:0;border-top:1px solid #ffffff2c;background:#041624b5;backdrop-filter:blur(8px)}
.tcv2 .hero-bottom .wrap{display:flex;min-height:60px;align-items:center;justify-content:space-between;gap:25px;color:#fff}
.tcv2 .hero-bottom span{color:#ff9d5b;font-size:9px;font-weight:900;letter-spacing:.18em}
.tcv2 .hero-bottom b{font-size:13px;letter-spacing:.035em;text-align:right}

.tcv2 .trust{background:var(--tc-navy);color:#fff}
.tcv2 .trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.tcv2 .trust-grid div{position:relative;display:flex;min-width:0;flex-direction:column;justify-content:center;min-height:98px;padding:20px 18px 20px 38px;border-right:1px solid #ffffff29}
.tcv2 .trust-grid div:last-child{border-right:0}
.tcv2 .trust-grid div::before{content:"";position:absolute;left:18px;width:4px;height:38px;border-radius:2px;background:var(--tc-orange)}
.tcv2 .trust-grid b{font-size:15px;line-height:1.45}
.tcv2 .trust-grid span{margin-top:4px;font-size:12px;line-height:1.45;opacity:.78}

.tcv2 .section{position:relative;padding:88px 0}
.tcv2 .section h2{position:relative;max-width:980px;margin:7px auto 43px;padding:20px 74px 21px 27px;border:1px solid #244f70;border-left:7px solid var(--tc-orange);border-radius:2px 17px 2px 17px;background:linear-gradient(112deg,#051d33 0%,var(--tc-navy) 58%,#0b4c72 100%);box-shadow:0 14px 34px #082b4c20;color:#fff!important;font-size:clamp(29px,3.8vw,44px);text-align:left;text-shadow:0 3px 15px #0006}
.tcv2 .section h2::before{display:none!important;content:none!important}
.tcv2 .section h2::after{content:"";position:absolute;top:13px;right:18px;width:38px;height:38px;border-top:2px solid #ffffff4a;border-right:2px solid #ffffff4a;transform:skew(-8deg)}
.tcv2 .section-kicker{width:max-content;max-width:100%;margin:0 auto 8px;padding:4px 12px;border:1px solid #a9cede;border-radius:999px;background:#e8f6fb;text-align:center}
.tcv2 .section-intro{max-width:760px;margin:-22px auto 36px;color:#dce9f2;font-size:17px;text-align:center}
.tcv2 .pain{background:#fff}
.tcv2 .pain-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.tcv2 .pain-grid article{position:relative;min-width:0;min-height:230px;padding:27px 24px;border:1px solid var(--tc-line);border-radius:14px;background:linear-gradient(155deg,#fff,#f8fbfc);box-shadow:0 10px 28px #082b4c0a}
.tcv2 .pain-grid article::after{content:"";position:absolute;right:0;bottom:0;width:56px;height:4px;background:var(--tc-orange)}
.tcv2 .pain-grid span{color:var(--tc-orange);font-size:32px;font-weight:900;line-height:1}
.tcv2 .pain-grid h3{margin:14px 0 12px;padding:9px 12px;border-left:4px solid var(--tc-orange);border-radius:2px 8px 2px 8px;background:linear-gradient(105deg,#071f37,var(--tc-navy-2));color:#fff!important;font-size:18px;line-height:1.5;box-shadow:0 7px 18px #082b4c1d}
.tcv2 .pain-grid h3::before,.tcv2 .benefit h3::before,.tcv2 .case-body h3::before{display:none!important;content:none!important}
.tcv2 .pain-grid p{margin:0;color:var(--tc-gray);font-size:15px;line-height:1.85}

.tcv2 .comparison,.tcv2 .price,.tcv2 .faq{background:var(--tc-bg)}
.tcv2 .table-scroll{overflow-x:auto;border-radius:14px;box-shadow:0 12px 32px #082b4c10}
.tcv2 table{width:100%;border:0;border-collapse:collapse;background:#fff;table-layout:fixed}
.tcv2 th,.tcv2 td{padding:17px 15px;border:1px solid var(--tc-line);font-size:15px;text-align:center;vertical-align:middle}
.tcv2 thead th{border-color:#315371;background:var(--tc-navy);color:#fff;font-weight:900}
.tcv2 tbody th{background:linear-gradient(100deg,#082b4c,#0d466c);color:#fff!important;font-weight:900}
.tcv2 .best{background:#fff3e9;color:#bd4d00}
.tcv2 .comparison .note{margin:14px 2px 0}

.tcv2 .one-stop{overflow:hidden;background:linear-gradient(145deg,#061f38 0%,var(--tc-navy) 58%,#0b496c 100%);color:#fff}
.tcv2 .one-stop .section-kicker{border-color:#55a6c9;background:#ffffff0e;color:#9be0fb}
.tcv2 .one-stop h2{color:#fff}
.tcv2 .process-visual{position:relative;overflow:hidden;margin:0 0 28px;border:1px solid #ffffff38;border-radius:18px;background:linear-gradient(180deg,#fff,#d8e3e8);box-shadow:0 20px 54px #0005}
.tcv2 .process-visual img{width:100%;aspect-ratio:1600/533;object-fit:cover;object-position:center bottom}
.tcv2 .process-visual span,.tcv2 .consultation-art span{position:absolute;right:12px;bottom:10px;padding:4px 9px;border-radius:5px;background:#071f38d9;color:#fff;font-size:10px;font-weight:700}
.tcv2 .flow{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:0 0 28px}
.tcv2 .flow div{position:relative;display:flex;min-width:0;flex-direction:column;min-height:115px;padding:18px 14px;border:1px solid #ffffff33;border-radius:10px;background:#ffffff0e}
.tcv2 .flow div:not(:last-child)::after{content:"›";position:absolute;z-index:2;top:50%;right:-10px;transform:translate(50%,-50%);color:#ffb16d;font-size:27px;font-weight:900}
.tcv2 .flow b{color:#ffae68;font-size:24px;line-height:1}
.tcv2 .flow span{margin-top:11px;color:#fff;font-size:14px;font-weight:800;line-height:1.55}
.tcv2 .benefit{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tcv2 .benefit article{position:relative;min-width:0;padding:25px 24px 23px;border-radius:13px;background:#fff;color:var(--tc-ink);box-shadow:0 14px 32px #0002}
.tcv2 .benefit-no{position:absolute;top:18px;right:19px;color:#dae4ea;font-size:32px;font-weight:900;line-height:1}
.tcv2 .benefit h3{position:relative;margin:0 0 12px;padding:9px 11px;border-left:4px solid var(--tc-orange);border-radius:2px 8px 2px 8px;background:linear-gradient(105deg,#071f37,var(--tc-navy-2));color:#fff!important;font-size:18px;line-height:1.5}
.tcv2 .benefit p{position:relative;margin:0;color:var(--tc-gray);font-size:14px;line-height:1.8}

.tcv2 .cases{background:#fff}
.tcv2 .case-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.tcv2 .case-grid article{min-width:0;overflow:hidden;border:1px solid var(--tc-line);border-radius:13px;background:#fff;box-shadow:0 10px 28px #082b4c10;transition:transform .18s ease,box-shadow .18s ease}
.tcv2 .case-grid article:hover{transform:translateY(-3px);box-shadow:0 16px 34px #082b4c1b}
.tcv2 .case-grid img{width:100%;height:180px;object-fit:cover;background:#dfe8ed}
.tcv2 .case-body{padding:18px}
.tcv2 .case-area{margin:0;color:var(--tc-blue);font-size:12px;font-weight:900}
.tcv2 .case-body h3{margin:7px 0 13px;padding:8px 10px;border-left:4px solid var(--tc-orange);border-radius:2px 7px 2px 7px;background:linear-gradient(105deg,#071f37,var(--tc-navy-2));color:#fff!important;font-size:17px;line-height:1.45}
.tcv2 .case-body dl{margin:0}
.tcv2 .case-body dl div{display:grid;grid-template-columns:54px 1fr;gap:6px;padding:6px 0;border-top:1px solid #e1e9ee}
.tcv2 .case-body dt{color:#6b7b89;font-size:11px}
.tcv2 .case-body dd{min-width:0;margin:0;font-size:13px;font-weight:800;line-height:1.55}
.tcv2 .center{margin-top:32px;text-align:center}
.tcv2 .text-link{display:inline-block;padding:10px 4px;border-bottom:2px solid var(--tc-blue);color:var(--tc-blue)!important;font-weight:900;text-decoration:none!important}

.tcv2 .price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tcv2 .price-grid article{position:relative;display:flex;min-width:0;flex-direction:column;gap:10px;justify-content:center;min-height:205px;padding:30px 22px;border:1px solid var(--tc-line);border-radius:14px;background:#fff;text-align:center;box-shadow:0 10px 28px #082b4c0a}
.tcv2 .price-grid b{padding:8px 12px;border-radius:2px 9px 2px 9px;background:linear-gradient(105deg,#071f37,var(--tc-navy-2));color:#fff!important;font-size:25px;line-height:1.35}
.tcv2 .price-grid strong{color:var(--tc-orange);font-size:22px;line-height:1.45}
.tcv2 .price-grid span{color:var(--tc-gray);font-size:13px}
.tcv2 .price-grid .popular{border:3px solid var(--tc-orange)}
.tcv2 .price-grid i{position:absolute;top:-15px;left:50%;transform:translateX(-50%);width:max-content;max-width:90%;padding:5px 13px;border-radius:99px;background:var(--tc-orange);color:#fff;font-size:11px;font-style:normal;font-weight:900}
.tcv2 .price .note{max-width:900px;margin:18px auto 0;text-align:center}

.tcv2 .voices{background:#fff}
.tcv2 .voice-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.tcv2 .voice-grid blockquote{position:relative;margin:0;padding:34px 31px 27px;border-left:6px solid var(--tc-orange);border-radius:0 12px 12px 0;background:#fff;box-shadow:0 10px 32px #082b4c14}
.tcv2 .voice-grid blockquote::before{content:"“";position:absolute;top:8px;left:18px;color:#dfe9ee;font-family:serif;font-size:55px;line-height:1}
.tcv2 .voice-grid p{position:relative;margin:0;color:#344c60;font-size:15px;line-height:1.95}
.tcv2 .voice-grid footer{margin-top:17px;color:var(--tc-blue);font-size:13px;font-weight:900}

.tcv2 .consultation{background:linear-gradient(115deg,#ecf3f6,#fff)}
.tcv2 .consultation-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:48px;align-items:center}
.tcv2 .consultation-art{position:relative;overflow:hidden;border-radius:18px;background:#111;box-shadow:0 22px 50px #082b4c25}
.tcv2 .consultation-art img{width:100%;aspect-ratio:3/2;object-fit:cover}
.tcv2 .consultation-copy .section-kicker{margin-right:0;margin-left:0;text-align:left}
.tcv2 .consultation-copy h2{margin:5px 0 20px;text-align:left}
.tcv2 .consultation-copy>p{margin:0 0 18px;color:var(--tc-gray);font-size:16px}
.tcv2 .consultation-copy ul{display:grid;gap:8px;margin:0 0 25px;padding:0;list-style:none}
.tcv2 .consultation-copy li{position:relative;padding:10px 12px 10px 37px;border:1px solid #d1dfe6;border-radius:8px;background:#ffffffbd;color:#244158;font-weight:800}
.tcv2 .consultation-copy li::before{content:"✓";position:absolute;left:13px;color:#118245;font-weight:900}

.tcv2 .faq details{max-width:880px;overflow:hidden;margin:12px auto;padding:0;border:1px solid #284e6c;border-radius:2px 11px 2px 11px;background:#fff;box-shadow:0 8px 22px #082b4c13}
.tcv2 .faq summary{position:relative;padding:18px 58px 18px 22px;background:linear-gradient(105deg,#071f37,var(--tc-navy-2));color:#fff!important;font-size:16px;font-weight:900;cursor:pointer;list-style:none}
.tcv2 .faq summary::-webkit-details-marker{display:none}
.tcv2 .faq summary::after{content:"＋";position:absolute;top:50%;right:22px;transform:translateY(-50%);color:#ff9a54;font-size:23px}
.tcv2 .faq details[open] summary::after{content:"−"}
.tcv2 .faq details p{margin:0;padding:18px 22px 20px;border-top:1px solid #e2eaef;color:var(--tc-gray);font-size:14px}

.tcv2 .final-cta{background:linear-gradient(120deg,#061f38,var(--tc-navy-2));color:#fff}
.tcv2 .final-cta .section-kicker{margin-right:0;margin-left:0;border-color:#55a6c9;background:#ffffff0e;color:#9be0fb;text-align:left}
.tcv2 .final-cta h2{margin:5px 0 13px;color:#fff;text-align:left}
.tcv2 .final-cta p{margin-bottom:0;color:#dce9f2}
.tcv2 .final-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:42px;align-items:center}
.tcv2 .final-buttons{display:grid;gap:12px}

.tcv2 .form-section{background:#e7f1f6}
.tcv2 .form-section form{padding:38px;border:1px solid #d2e0e8;border-radius:16px;background:#fff;box-shadow:0 16px 44px #082b4c17}
.tcv2 .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}
.tcv2 .form-section label{display:block;color:#263e52;font-size:14px;font-weight:900}
.tcv2 .form-section label em{padding-left:5px;color:#c74600;font-size:11px;font-style:normal}
.tcv2 .form-section input,.tcv2 .form-section select,.tcv2 .form-section textarea{display:block;width:100%;min-height:49px;margin-top:6px;padding:11px 12px;border:1px solid #9fb4c2;border-radius:7px;background:#fff;color:#172d3f;font-size:16px;line-height:1.5}
.tcv2 .form-section textarea{min-height:132px;margin-bottom:15px;resize:vertical}
.tcv2 .form-section input:focus,.tcv2 .form-section select:focus,.tcv2 .form-section textarea:focus{border-color:var(--tc-blue);box-shadow:0 0 0 3px #0b6e9d20;outline:0}
.tcv2 .consent{font-size:13px!important}
.tcv2 .consent input{display:inline;width:auto;min-height:auto;margin:0 7px 0 0}
.tcv2 .submit{width:100%;margin-top:20px}
.tcv2 .hp{position:absolute!important;left:-9999px!important}
.tcv2 #tcv2-status{min-height:1.8em;margin:14px 0 0;color:var(--tc-navy);font-weight:800;text-align:center}

.mobile-bar{display:none}
#tcv2-ai{width:min(92vw,600px);max-height:min(88vh,760px);overflow:auto;border:0;border-radius:17px;padding:31px;box-shadow:0 22px 90px #0007;color:#172738;font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif}
#tcv2-ai::backdrop{background:#06192de8}
#tcv2-ai .close{float:right;border:0;background:transparent;color:#172738;font-size:32px;line-height:1;cursor:pointer}
#tcv2-ai .ai-label{margin:0 0 8px;color:#0b6e9d;font-size:14px;font-weight:900}
#tcv2-ai .progress{height:7px;overflow:hidden;border-radius:7px;background:#dce7ed}
#tcv2-ai .progress i{display:block;height:100%;background:#e85f00;transition:width .2s ease}
#tcv2-ai h3{margin:25px 0 16px;padding:12px 15px;border-left:5px solid #e85f00;border-radius:2px 9px 2px 9px;background:linear-gradient(105deg,#071f37,#0d466c);color:#fff;font-size:22px;line-height:1.5}
#tcv2-ai .options{display:grid;gap:10px}
#tcv2-ai .options button{padding:14px;border:1px solid #cbd9e2;border-radius:8px;background:#fff;color:#20384c;font-weight:800;text-align:left;cursor:pointer}
#tcv2-ai .options button:hover{border-color:#0b6e9d;background:#edf7fb}
#tcv2-ai .ai-note{color:#61727f;font-size:12px}
#tcv2-ai .btn{display:flex;width:100%;min-height:56px;align-items:center;justify-content:center;border:0;border-radius:9px;padding:13px 20px;background:#e85f00;color:#fff;font-weight:900;cursor:pointer}
.tcv2 :focus-visible,#tcv2-ai :focus-visible,.mobile-bar :focus-visible{outline:3px solid #ffbf47;outline-offset:3px}

@media(max-width:1050px){
  .tcv2 .hero-stage{grid-template-columns:minmax(0,1.24fr) minmax(260px,.76fr);gap:30px}
  .tcv2 .hero-actions{grid-template-columns:1fr}
  .tcv2 .case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tcv2 .case-grid img{height:240px}
}

@media(max-width:800px){
  .tcv2{font-size:16px;line-height:1.85;padding-bottom:65px}
  .tcv2 .wrap,.tcv2 .narrow{width:min(100% - 34px,1180px)}
  .tcv2 .hero{min-height:auto;padding:0}
  .tcv2 .hero::before{left:10px;box-shadow:5px 0 0 #e85f00}
  .tcv2 .hero::after{width:70%;height:6px}
  .tcv2 .hero-media img{object-position:62% center}
  .tcv2 .hero-overlay{background:linear-gradient(90deg,#031827f9 0%,#082b4ce8 70%,#04111dbd 100%),linear-gradient(0deg,#021421f2 0%,transparent 54%)}
  .tcv2 .hero-gridlines{background-size:45px 45px;opacity:.11}
  .tcv2 .hero-watermark{display:none}
  .tcv2 .hero-stage,.tcv2 .final-grid,.tcv2 .consultation-grid{grid-template-columns:1fr}
  .tcv2 .hero-stage{gap:29px;min-height:auto;padding-top:48px;padding-bottom:94px}
  .tcv2 .hero-meta{gap:6px;margin-bottom:13px}
  .tcv2 .hero-meta span{font-size:9px}
  .tcv2 .service-area{font-size:12px}
  .tcv2 .hero h1{font-size:clamp(35px,11.4vw,49px);line-height:1.15}
  .tcv2 .hero h1 em{width:auto;max-width:100%;padding:7px 10px;font-size:.61em;line-height:1.45}
  .tcv2 .lead{font-size:16px;line-height:1.9}
  .tcv2 .hero-actions{grid-template-columns:1fr}
  .tcv2 .btn{width:100%;font-size:16px}
  .tcv2 .hero-plan{padding:23px 18px 18px;background:#061d31e8}
  .tcv2 .hero-plan h2{font-size:19px}
  .tcv2 .hero-bottom .wrap{min-height:61px;align-items:flex-start;flex-direction:column;justify-content:center;gap:0}
  .tcv2 .hero-bottom b{font-size:11px;text-align:left}
  .tcv2 .trust-grid{grid-template-columns:1fr 1fr}
  .tcv2 .trust-grid div{min-height:91px;padding:15px 12px 15px 28px;border-bottom:1px solid #ffffff29}
  .tcv2 .trust-grid div::before{left:12px;height:32px}
  .tcv2 .trust-grid b{font-size:13px}
  .tcv2 .section{padding:61px 0}
  .tcv2 .section h2{margin-bottom:30px;padding:16px 48px 17px 18px;border-left-width:6px;font-size:clamp(25px,7.5vw,34px);line-height:1.45}
  .tcv2 .section h2::after{top:12px;right:13px;width:27px;height:27px}
  .tcv2 .section-intro{margin-top:-16px;font-size:15px;text-align:left}
  .tcv2 .pain-grid,.tcv2 .benefit,.tcv2 .price-grid,.tcv2 .voice-grid{grid-template-columns:1fr}
  .tcv2 .pain-grid article{min-height:auto}
  .tcv2 .pc-only{display:none}
  .tcv2 .process-visual{margin-inline:-8px;border-radius:12px}
  .tcv2 .process-visual img{aspect-ratio:1.75/1;object-fit:cover}
  .tcv2 .flow{grid-template-columns:1fr;gap:8px}
  .tcv2 .flow div{min-height:auto;flex-direction:row;align-items:center;gap:14px;padding:14px 16px}
  .tcv2 .flow div:not(:last-child)::after{content:"⌄";top:auto;right:50%;bottom:-17px;transform:translateX(50%);font-size:23px}
  .tcv2 .flow span{margin-top:0}
  .tcv2 .flow span br{display:none}
  .tcv2 .case-grid{grid-template-columns:1fr}
  .tcv2 .case-grid img{height:240px}
  .tcv2 .price-grid{gap:27px}
  .tcv2 .consultation-grid{gap:31px}
  .tcv2 .consultation-copy .section-kicker{margin-right:auto;margin-left:auto;text-align:center}
  .tcv2 .consultation-copy h2{text-align:center}
  .tcv2 .consultation-copy h2 br{display:none}
  .tcv2 .final-cta .section-kicker{margin-right:auto;margin-left:auto;text-align:center}
  .tcv2 .final-cta h2{text-align:center}
  .tcv2 .final-cta p{text-align:center}
  .tcv2 .form-grid{grid-template-columns:1fr}
  .tcv2 .form-section form{padding:23px 19px}
  .tcv2 th,.tcv2 td{min-width:105px;padding:14px 10px;font-size:13px}
  .mobile-bar{position:fixed;z-index:99999;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(4,1fr);padding-bottom:env(safe-area-inset-bottom);background:#fff;box-shadow:0 -5px 20px #0004;font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif}
  .mobile-bar a,.mobile-bar button{display:flex;min-width:0;min-height:56px;align-items:center;justify-content:center;border:0;border-right:1px solid #ffffff2b;padding:9px 2px;background:#082b4c;color:#fff;font-size:13px;font-weight:900;line-height:1.2;text-align:center;text-decoration:none}
  .mobile-bar button{background:#e85f00}
}

@media(max-width:430px){
  .tcv2 .chips{gap:6px}
  .tcv2 .chips span{font-size:11px}
  .tcv2 .trust-grid{grid-template-columns:1fr}
  .tcv2 .trust-grid div{min-height:72px;border-right:0}
  .tcv2 .case-grid img{height:215px}
  .tcv2 .hero h1{font-size:clamp(32px,10.8vw,43px)}
  .tcv2 .hero h1 em{font-size:.59em}
  .tcv2 .hero-plan li{grid-template-columns:34px 1fr}
  #tcv2-ai{padding:23px 19px}
}

@media(prefers-reduced-motion:reduce){.tcv2 *{scroll-behavior:auto!important;transition:none!important}}

/* v2.3 bright first view — actual tent warehouse photo */
.tcv2.bright-tent{--tc-bg:#f3fbff;--tc-sky:#dff5ff}
.tcv2.bright-tent .hero{background:#dff5ff}
.tcv2.bright-tent .hero-media picture{display:block;width:100%;height:100%}
.tcv2.bright-tent .hero-media img{filter:saturate(1.06) brightness(1.04) contrast(1.01);object-position:center center}
.tcv2.bright-tent .hero-overlay{background:linear-gradient(90deg,#07365ee8 0%,#0a5681c9 40%,#0c779d56 62%,transparent 82%),linear-gradient(0deg,#0634538f 0%,transparent 38%)}
.tcv2.bright-tent .hero-copy{padding:27px 29px 29px;border:1px solid #ffffff78;border-radius:4px 24px 4px 24px;background:linear-gradient(135deg,#07345ac9,#0a5b83a8);box-shadow:0 22px 54px #07345a31;backdrop-filter:blur(7px)}
.tcv2.bright-tent .hero h1{font-size:clamp(39px,4.65vw,65px)}
.tcv2.bright-tent .hero h1 em{background:linear-gradient(90deg,#ff790f,#f05b00);box-shadow:8px 8px 0 #07345a75}
.tcv2.bright-tent .hero-plan{background:linear-gradient(145deg,#ffffffee,#e7f8ffed);border-color:#fff;box-shadow:0 22px 55px #07345a33;color:#12344d}
.tcv2.bright-tent .hero-plan h2,.tcv2.bright-tent .hero-plan li,.tcv2.bright-tent .plan-foot b{color:#08395a!important;text-shadow:none}
.tcv2.bright-tent .hero-plan li{border-bottom-color:#0b6e9d24}
.tcv2.bright-tent .plan-label{color:#087dac}.tcv2.bright-tent .plan-foot{border-top-color:#0b6e9d2b}.tcv2.bright-tent .plan-foot span{color:#56798c}
.tcv2.bright-tent .trust{background:linear-gradient(90deg,#087eac,#0ba2cf)}
@media(max-width:800px){
 .tcv2.bright-tent .hero{min-height:930px}
 .tcv2.bright-tent .hero-media img{object-position:center center;filter:saturate(1.05) brightness(1.03)}
 .tcv2.bright-tent .hero-overlay{background:linear-gradient(180deg,#06365edb 0%,#0a6e9fc2 35%,transparent 61%,#052e49a8 100%)}
 .tcv2.bright-tent .hero-stage{display:block;min-height:870px;padding-top:36px;padding-bottom:90px}
 .tcv2.bright-tent .hero-copy{max-width:none;padding:20px 18px 22px;border-radius:3px 18px 3px 18px;background:linear-gradient(145deg,#06365ed9,#0a6792b8)}
 .tcv2.bright-tent .hero h1{font-size:clamp(31px,9.7vw,42px);line-height:1.16}
 .tcv2.bright-tent .hero h1 em{font-size:.57em}
 .tcv2.bright-tent .lead{font-size:14px;line-height:1.75}
 .tcv2.bright-tent .chips{margin-top:14px}.tcv2.bright-tent .chips span{font-size:10px}
 .tcv2.bright-tent .hero-actions{margin-top:17px}.tcv2.bright-tent .btn{min-height:52px}
 .tcv2.bright-tent .hero-plan{display:none}
 .tcv2.bright-tent .micro{margin-top:12px;font-size:10px}
}
@media(max-width:430px){.tcv2.bright-tent .hero{min-height:900px}.tcv2.bright-tent .hero-stage{min-height:840px}}
