/* 支給LPの配色・波形・吹き出しを維持した調整。 */

/* FV：キャッチ（画像→h1テキスト） */
.p-mv .site-mv-catch {
	color: #fff;
	font-weight: 900;
	text-align: left;
	margin: 0;
}
.site-mv-catch__main {
	display: block;
	font-size: 3.6rem;
	line-height: 1.32;
	letter-spacing: .02em;
}
.site-mv-catch__band {
	display: inline-block;
	background-color: #000;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.5;
	margin-top: 2rem;
	padding: .6rem 1.4rem;
}

/* FV：吹き出し（SPは2列で縦に積む） */
@media (max-width: 767px) {
	.p-mv-wrp {
		padding: 4rem 0 11rem;
	}
	.p-mv .site-mv-catch {
		position: relative;
		width: auto;
		text-align: center;
	}
	.p-mv-talk {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 1.2rem 1rem;
		margin: 3.2rem 0 0;
		padding: 0;
	}
	.p-mv-talk .abs {
		position: relative;
		top: auto;
		right: auto;
		left: auto;
		width: 100%;
	}
	.p-mv-talk .abs-6 {
		grid-column: 1 / -1;
		width: calc(50% - .5rem);
		margin: 0 auto;
	}
}

@media (min-width: 768px) {
	.p-mv .site-mv-catch {
		bottom: auto;
		top: 13rem;
		left: 13rem;
		width: 66rem;
	}
	.site-mv-catch__main {
		font-size: 6.4rem;
	}
	.site-mv-catch__band {
		font-size: 2.6rem;
		margin-top: 3.6rem;
		padding: .8rem 2.2rem;
	}
	.p-mv .abs-2 { top: 7rem;  right: 35rem; left: auto; width: 28rem; }
	.p-mv .abs-3 { top: 16rem; right: 3rem;  left: auto; width: 31rem; }
	.p-mv .abs-4 { top: 29rem; right: 36rem; left: auto; width: 28rem; }
	.p-mv .abs-5 { top: 38rem; right: 4rem;  left: auto; width: 31rem; }
	.p-mv .abs-6 { top: 51rem; right: 30rem; left: auto; width: 30rem; }
}

/* 役割フロー図：矢印ラベル（REFERENCEのCSS content「API連携」を上書き）と中央の黒箱 */
.p-about .about-flow-item:nth-child(4) span::after { content: "ご依頼"; left: -5.4rem; }
.p-about .about-flow-item:nth-child(6) span::after { content: "制作"; left: -4.2rem; }
.p-about .about-flow--bg-black {
	letter-spacing: .08em;
}

/* 料金：公開後の費用（3行） */
.p-price .site-price-line {
	font-weight: 400;
	line-height: 1.7;
	margin-top: 1.6rem;
}
.p-price .price-sub + .price-txt {
	margin-top: -2rem;
	white-space: nowrap;
}
@media (max-width: 767px) {
	.p-price .price-sub + .price-txt {
		font-size: 4rem;
		margin-top: 0;
	}
	.p-price .price-sub + .price-txt .num {
		font-size: 6.4rem;
	}
}
.site-nw {
	white-space: nowrap;
}
.p-price .site-price-line b {
	display: block;
	color: #050505;
	font-weight: 700;
}

/* フォーム：お問い合わせ内容（textarea）とポリシーリンク */
.frm-control.site-frm-textarea {
	height: auto;
	min-height: 16rem;
	padding: 1.2rem 1.7rem;
	resize: vertical;
}
.frm .site-frm-privacy {
	text-decoration: underline;
}

/* 流れ：アイコン撤去後の文字だけの楕円 */
.flow-section .flow-txt {
	margin-top: 0;
}
@media (max-width: 767px) {
	.flow-section .flow-box {
		padding: 2.2rem 2rem;
	}
}
@media (min-width: 768px) {
	.flow-section .flow-item {
		display: flex;
	}
	.flow-section .flow-box {
		flex: 1;
		display: flex;
		align-items: center;
		justify-content: center;
	}
}

.revenue-section{background:#f2f2f2;padding:1rem 2rem 5rem}
.revenue-box{max-width:105.6rem;margin:auto;padding:4rem 5rem;background:#fff;border:2px solid #111;border-radius:3rem;box-shadow:0 .5rem 0 #0001}
.revenue-label{display:table;margin:0 auto 1.5rem;background:#68f2a8;border-radius:2rem;padding:.6rem 1.6rem;font-size:1.4rem;font-weight:700;text-align:center}
.revenue-box h2{text-align:center;font-size:3.2rem;line-height:1.5}.revenue-intro{text-align:center;font-size:1.8rem;line-height:1.9;margin:1.5rem 0 3rem}
.revenue-calculation{margin:0}.revenue-calculation>div{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:2rem 1rem;border-top:1px dashed #bbb}.revenue-calculation dt{font-size:1.8rem;font-weight:700}.revenue-calculation dt span{display:block;font-size:1.4rem;font-weight:400;margin-top:.6rem}.revenue-calculation dd{margin:0;white-space:nowrap;font-size:2rem;font-weight:700}.revenue-calculation dd strong{font-size:4.4rem;line-height:1.3;margin-right:.5rem}.revenue-minus{margin-right:2rem;font-weight:400}.revenue-calculation>.revenue-result{background:#fff0f4;border-top:2px solid #111;border-radius:0 0 1.8rem 1.8rem;padding:2.6rem 2rem;margin-top:.5rem}.revenue-result dd{color:#e60a48}.revenue-result dd strong{font-size:6rem}.revenue-month{font-size:1.4rem;color:#212121}.revenue-note{font-size:1.25rem;line-height:1.9;margin-top:2.2rem;color:#555}
@media(max-width:767px){.revenue-section{padding:0 2rem 4rem}.revenue-box{padding:2.5rem 2rem;border-radius:2.5rem}.revenue-label{font-size:1.1rem;padding:.5rem 1rem}.revenue-box h2{font-size:2.4rem}.revenue-intro{font-size:1.4rem;margin:1.2rem 0 2.3rem}.revenue-calculation>div{padding:1.8rem 0;gap:1rem}.revenue-calculation dt{font-size:1.35rem}.revenue-calculation dt span{font-size:1.1rem}.revenue-calculation dd{font-size:1.4rem}.revenue-calculation dd strong{font-size:3.2rem}.revenue-minus{margin-right:.6rem}.revenue-calculation>.revenue-result{display:block;padding:2rem 1.4rem;text-align:center}.revenue-result dt{font-size:1.4rem}.revenue-result dd{margin-top:1.3rem}.revenue-result dd strong{font-size:4.8rem}.revenue-month{font-size:1.2rem}.revenue-note{font-size:1.1rem;line-height:1.9;margin-top:1.8rem}}

.role-guide{background:#f5f5f5;border-radius:2.5rem;padding:3rem;margin:1rem}
.role-stage{border:2px solid #111;border-radius:1.8rem;overflow:hidden;background:#fff;text-align:center}
.role-stage h3{background:#e60a48;color:#fff;font-size:2rem;line-height:1.5;padding:1.2rem 1.5rem;font-weight:700}
.role-stage-production h3{background:#303030}.role-task{font-size:1.9rem;font-weight:700;line-height:1.9;padding:2rem 1.4rem}
.role-transfer{text-align:center;padding:1.4rem 0 1rem}.role-transfer p{font-size:1.4rem;font-weight:700}.role-transfer>span{display:block;font-size:3rem;line-height:1.25;margin-top:.3rem}
.role-direct{font-size:1.4rem;line-height:1.8;border-top:1px dashed #ccc;padding:1.4rem;margin:0 1.6rem}
@media(max-width:767px){.role-guide{margin:2.5rem 0 0;padding:1.5rem;border-radius:2rem}.role-stage{border-radius:1.4rem}.role-stage h3{font-size:1.65rem;padding:1rem}.role-task{font-size:1.55rem;padding:1.6rem 1rem}.role-transfer{padding:1.3rem 0 1rem}.role-transfer p{font-size:1.25rem}.role-direct{font-size:1.2rem;margin:0 1rem;padding:1.2rem .4rem}}

/* ロゴの形・色は維持し、背景のドットから分離する */
.header .header-logo{box-sizing:content-box;flex-shrink:0;background:#fff;padding:1.1rem 1.5rem;border-radius:1.4rem}
.header .header-logo img{display:block;width:100%;height:auto}
@media(max-width:767px){.header .header-logo{width:11.5rem;padding:.9rem 1.1rem;border-radius:1.1rem}}

/* 元のポップな構成に合わせて、文字組みと導線を整理 */
.p-about{padding-bottom:4rem}
html{scroll-padding-top:24px}
body{font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif}
.header{padding:2.8rem 0}.header .container{max-width:132rem;padding-inline:4rem}.header-wrp{align-items:center}
.p-mv .container{max-width:132rem;padding-inline:4rem}
.p-mv-wrp{height:auto;min-height:76rem;display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;overflow:visible;padding:4rem 0 20rem;align-items:start}
.p-mv .site-mv-catch{position:static;top:auto;left:auto;width:auto}
.site-mv-catch__main{font-size:5.5rem;line-height:1.45;letter-spacing:.01em;font-weight:900}
.site-mv-catch__band{font-size:2.25rem;margin-top:2.3rem;padding:.8rem 1.4rem}
.pop-label{display:inline-block;font-size:1.5rem;font-weight:700;color:white;border:1px solid #fff;border-radius:3rem;padding:.65rem 1.7rem;margin-bottom:1.9rem}
.pop-hero-note{color:#fff;font-size:1.6rem;font-weight:600;line-height:1.9;margin:2rem 0 2.4rem}
.pop-cta{display:flex;justify-content:center;align-items:center;gap:2rem;width:38rem;max-width:100%;min-height:6rem;padding:1.4rem 2.4rem;border:2px solid #000;border-radius:999px;background:#000;color:#fff;font-size:1.7rem;font-weight:700;box-shadow:0 .5rem 0 #0002;transition:transform .2s,box-shadow .2s;cursor:pointer;text-align:center}
.pop-cta-white{background:#fff;color:#000;box-shadow:0 .5rem 0 #000}.pop-cta span{font-size:2rem;line-height:1}.pop-cta:hover{transform:translateY(-3px);box-shadow:0 .8rem 0 #0003;color:inherit}.pop-cta:not(.pop-cta-white):hover{color:white}
.p-mv-talk{position:relative;height:50rem;margin-top:4rem}
.p-mv-talk .abs{max-width:none}
.p-mv .abs-2{top:0;left:0;right:auto;width:28rem}
.p-mv .abs-3{top:10rem;right:0;left:auto;width:30rem}
.p-mv .abs-4{top:21rem;left:0;right:auto;width:27rem}
.p-mv .abs-5{top:31rem;right:0;left:auto;width:30rem}
.p-mv .abs-6{top:42rem;left:3rem;right:auto;width:28rem}
.p-mv:after{pointer-events:none;z-index:0}.p-mv-slogan,.p-mv-talk{z-index:1;position:relative}
.p-about{padding-top:1rem}.c-title{font-size:4.2rem}.c-title--bg{max-width:100rem;margin-inline:auto}
.c-sub{margin-top:2.8rem;font-size:2.8rem;line-height:1.9}
.p-about-content{margin-top:3rem}.p-about-txt{font-size:1.8rem;line-height:2;margin-bottom:4.6rem}
.p-about .about-wrp{border-width:3px;border-radius:3.5rem;box-shadow:0 .6rem 0 #0002;padding:2rem 1.2rem}
.p-about .about-column-left{padding-left:4rem}.p-about .about-ttl{font-size:3.3rem;line-height:1.55}.p-about .about-txt{font-size:1.7rem;line-height:1.95;margin-top:2rem}
.pop-speech{display:inline-block;border:2px solid #000;border-radius:1.3rem;padding:1rem 1.5rem;font-size:1.4rem;font-weight:700;position:relative;background:#fff;margin-bottom:2.6rem}
.pop-speech:after{content:"";position:absolute;width:1.2rem;height:1.2rem;background:#fff;border-right:2px solid #000;border-bottom:2px solid #000;bottom:-.8rem;left:2rem;transform:rotate(45deg)}
.p-casestudy:after{height:17vw}.p-price{padding-bottom:4rem}.p-price-content{margin-top:3rem}.pop-section-intro{text-align:center;font-size:1.7rem;line-height:1.9;margin:1.4rem 1rem 0}
.p-price .price-box{padding:3.5rem 3.4rem 2.8rem;border:2px solid #111;border-radius:3rem;display:flex;flex-direction:column;box-shadow:0 .5rem 0 #0001}
.p-price .price-top{height:auto!important;flex:1}.p-price .price-ttl{font-size:2.6rem}.p-price .price-sub{font-size:1.7rem;margin-top:1.7rem}.p-price .price-sub+.price-txt{margin-top:0;font-size:4.5rem;line-height:1.6}.p-price .price-txt .num{font-size:10rem;font-weight:700}.p-price .price-bottom{font-size:1.5rem;margin-top:2.5rem}.p-price .price-bottom span{font-size:2rem;font-weight:700}.p-price .site-price-line{font-size:1.7rem;line-height:1.9}
.pop-fees{margin-top:2rem}.pop-fees>div{border-top:1px dashed #ccc;padding:1.6rem 0}.pop-fees>div:first-child{border:0;padding-top:0}.pop-fees dt{font-weight:700;font-size:1.6rem}.pop-fees dd{margin:0}.pop-fees strong{display:block;font-size:2.8rem;line-height:1.6;margin:.5rem 0}.pop-fees strong span{font-size:1.3rem;margin-left:.5rem}.pop-fees p{font-size:1.25rem;line-height:1.8}.pop-optional{font-size:1.1rem;background:#68f2a8;border-radius:1rem;padding:.2rem .8rem;margin-left:.5rem}
.pop-consult{text-align:center;background:#f2f2f2;padding:1rem 2rem 2rem;position:relative;z-index:1}.pop-consult>p{font-size:2.1rem;font-weight:700;line-height:1.8}.pop-consult .pop-cta{margin:2rem auto 0}
.p-faq:before{height:14vw}.p-faq-content{margin-top:3rem}.faq-section .faq-ttl{font-size:2rem;line-height:1.65;padding-right:3.2rem}.faq-section .faq-box{font-size:1.7rem;line-height:1.9;padding:2rem 2.4rem}.faq-section .faq-item{border-width:2px}.p-faq:after{height:18vw;margin-top:4rem}.p-flow-content{margin-top:3.5rem}.flow-section .flow-box{padding:3.5rem 2rem}.p-form:before{height:17vw}
.p-form-content{margin-top:2rem;padding:5rem 7rem;border-radius:3rem;border:2px solid #111;box-shadow:0 .6rem 0 #0001}.frm-ttl{text-align:center;font-size:3.2rem}.frm-sub{text-align:center;font-size:1.6rem;line-height:1.9;font-weight:400}.frm-wrp{margin-top:3.5rem}.frm-title{font-size:1.7rem}.frm-required{font-size:1.1rem;width:auto;padding:.35rem .8rem}.frm-control{font-size:16px;min-height:50px;padding:1rem 1.4rem}.frm-row:not(:last-child){margin-bottom:2.4rem}.frm .custom-checkbox input{position:relative;opacity:1;visibility:visible;width:18px;height:18px;margin-right:8px;accent-color:#000;flex-shrink:0}.frm .custom-checkbox>span{display:none}.frm .custom-checkbox{align-items:center;flex-wrap:wrap;justify-content:center;gap:3px}.frm .btn{min-height:56px;font-size:1.7rem}.footer{padding-top:4rem}
:focus-visible{outline:3px solid #002f7d;outline-offset:4px}
dialog{border:3px solid #111;border-radius:24px;padding:35px;width:min(540px,calc(100% - 32px));max-height:85vh;color:#111;background:#fff}dialog::backdrop{background:#000a}dialog h2{font-size:23px;text-align:center}dialog dl{margin:20px 0}dialog dt{font-size:12px;margin-top:15px}dialog dd{font-size:15px;margin:4px 0 0;padding-bottom:10px;border-bottom:1px dashed #bbb;white-space:pre-wrap;overflow-wrap:anywhere}dialog .pop-cta{font-size:15px;width:100%}
@media(min-width:768px) and (max-width:1100px){html{font-size:8px}.p-mv .container{padding-inline:3rem}.site-mv-catch__main{font-size:5rem}.p-mv-wrp{gap:2rem}.p-about .about-wrp{max-width:96%}.p-about .about-flow-item{max-width:100%}.p-price .price-item{flex-basis:48%;max-width:48%}.p-faq-content,.p-flow-content{max-width:90%}}
@media(max-width:767px){
html{font-size:10px}.header{padding:2rem 0}.header .container{padding-inline:2rem}.header-logo{width:12rem}.menu-item:not(:last-child){margin-right:1rem}.menu-link{font-size:1rem}.menu .anchor-link{font-size:1rem;width:9rem;height:3.6rem;line-height:3.6rem}
.p-mv .container{padding-inline:2rem}.p-mv-wrp{display:block;min-height:0;padding:2.3rem 0 11rem}.p-mv-slogan{text-align:center}.pop-label{font-size:1.15rem;padding:.6rem 1.3rem;margin-bottom:1.8rem}.site-mv-catch__main{font-size:clamp(28px,8.4vw,39px);line-height:1.45;letter-spacing:0}.site-mv-catch__band{font-size:1.55rem;margin-top:1.8rem;padding:.7rem 1.3rem}.pop-hero-note{font-size:1.25rem;line-height:1.9;margin:1.7rem 0 2rem}.pop-cta{width:32rem;min-height:5.4rem;font-size:1.35rem;padding:1.3rem 1.6rem;gap:1rem}.p-mv-slogan>.pop-cta{margin-inline:auto}.p-mv-talk{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;height:auto;margin-top:3.8rem;padding:0}.p-mv-talk .abs{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:100%;max-width:100%;height:auto}.p-mv-talk .abs-6{grid-column:1/-1;width:calc(50% - .6rem);margin:0 auto}.p-mv:after{height:10rem}
.p-about{padding-top:2rem}.p-about:before,.p-about:after{opacity:.55;pointer-events:none}.p-about .container{padding-inline:2rem}.c-title{font-size:2.7rem}.c-sub{font-size:1.85rem;margin-top:2rem;line-height:2}.c-sub-span{padding:0 .7rem}.p-about-content{margin-top:2.6rem}.p-about-txt{font-size:1.35rem;line-height:2.1;margin-bottom:3rem}.p-about .about-wrp{border-width:2px;padding:2.6rem 1.5rem 1.2rem;border-radius:2.5rem}.p-about .about-column-left{padding:0}.pop-speech{font-size:1.1rem;padding:.8rem 1.1rem;display:table;margin:0 auto 2rem}.p-about .about-ttl{font-size:2.4rem;text-align:center}.p-about .about-txt{font-size:1.35rem;line-height:1.95;margin-top:1.5rem}.p-about .about-flow{padding:2.5rem 1.2rem;margin-top:2rem}.p-about .about-flow-item{font-size:1.3rem;max-width:100%}.p-about .about-flow--small{font-size:1.4rem}.p-casestudy:after{height:17rem}
.pop-section-intro{font-size:1.3rem;line-height:1.9;margin-top:1.2rem}.p-price .container{padding-inline:2rem}.p-price-content{margin-top:2.5rem}.p-price .price-box{padding:2.5rem 2.3rem;border-radius:2.5rem}.p-price .price-ttl{font-size:2.2rem}.p-price .price-sub{font-size:1.4rem;margin-top:1.4rem}.p-price .price-sub+.price-txt{font-size:3.7rem;margin-top:.4rem}.p-price .price-sub+.price-txt .num{font-size:7.6rem}.p-price .site-price-line{font-size:1.4rem}.p-price .price-bottom{font-size:1.2rem;margin-top:2rem}.p-price .price-bottom span{font-size:1.5rem}.pop-fees dt{font-size:1.4rem}.pop-fees strong{font-size:2.7rem}.pop-fees strong span{font-size:1.15rem}.pop-fees p{font-size:1.2rem}.pop-consult{padding:0 2rem 2rem}.pop-consult>p{font-size:1.7rem}.p-faq:before{height:9rem}.p-faq-content{margin-top:2.5rem}.faq-section .container{padding-inline:2rem}.faq-section .faq-item{padding:1.8rem 3.3rem 1.8rem 1.6rem;border-radius:1.6rem}.faq-section .faq-item:not(:last-child){margin-bottom:1.5rem}.faq-section .faq-ttl{font-size:1.4rem;line-height:1.7;padding-right:0}.faq-section .faq-ttl:after{right:-2rem;width:1.5rem;height:1.5rem}.faq-section .faq-box{font-size:1.3rem;line-height:1.9;padding:1.5rem;margin-right:-1.5rem}.p-faq:after{height:10rem}.p-flow-content{margin-top:2.8rem}.flow-section .flow-txt{font-size:1.4rem}.flow-section .flow-box{padding:1.8rem 2rem}.p-flow{padding-bottom:3rem}.p-form:before{height:10rem}.p-form-content{margin-top:2rem;padding:3rem 2rem;border-radius:2.5rem}.p-form>.container{padding-inline:2rem}.frm-ttl{font-size:2.3rem}.frm-sub{font-size:1.3rem;line-height:1.9}.frm-sub br{display:none}.frm-title{font-size:1.4rem}.frm-control{min-height:48px}.frm .custom-checkbox{font-size:1.1rem}.frm .btn{font-size:1.4rem}.footer{padding-top:3rem;font-size:1.1rem}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.wow{visibility:visible!important;opacity:1!important;transform:none!important}html{scroll-behavior:auto}}
.company-summary{font-size:1.4rem;line-height:1.9;margin-bottom:2rem}.company-summary a{text-decoration:underline}.faq-section{padding-bottom:4rem}.flow-section .flow-txt{line-height:1.7}
.hero-case-cta{margin-top:1.6rem}.hero-case-note{font-size:1.2rem;color:#fff;line-height:1.8;margin-top:1.2rem}.case-cta-end{padding-bottom:3rem}.case-cta-end .case-cta-note{font-size:1.3rem;font-weight:400;margin-top:1.5rem}

.header .header-logo{background:none;padding:0;border-radius:0}.header .header-logo img{filter:brightness(0) invert(1)}
.menu .menu-link:not(.anchor-link){display:inline-block;border-radius:2.4rem;background:#fff;color:#111;text-align:center;font-size:1.2rem;height:4rem;width:10rem;line-height:4rem}
@media(min-width:768px){.menu .menu-link:not(.anchor-link){font-size:1.5rem;height:4.8rem;width:18.3rem;line-height:4.8rem}.menu-item:not(:last-child){margin-right:1.6rem}}
@media(max-width:767px){.header .header-logo{padding:0}.menu .menu-link:not(.anchor-link){font-size:1rem;width:9rem;height:3.6rem;line-height:3.6rem}.menu-item:not(:last-child){margin-right:.8rem}}
.p-mv-wrp{display:flex;flex-direction:column;justify-content:center;min-height:calc(100svh - 11.4rem);padding:4rem 0 14rem}
.p-mv-slogan{text-align:center;max-width:none}
.site-mv-catch__main{font-size:7.2rem;line-height:1.4}
.site-mv-catch__band{font-size:2.6rem}
.pop-hero-note{font-size:1.8rem}
.p-mv-slogan .pop-cta{display:inline-flex;margin:0 .8rem;vertical-align:top}
.p-mv-slogan .hero-case-cta{margin-top:0}
.hero-case-note{font-size:1.3rem;margin-top:1.8rem}
.site-mv-bubbles{background:#4abed3;padding:3rem 0 2rem;position:relative;z-index:1}
.site-mv-bubbles .container{max-width:132rem;padding-inline:4rem}
.site-mv-bubbles .p-mv-talk{display:grid;grid-template-columns:repeat(5,1fr);gap:2rem;height:auto;margin:0;align-items:start}
.site-mv-bubbles .p-mv-talk .abs{position:relative;inset:auto;width:100%;max-width:100%;height:auto}
.site-mv-bubbles .p-mv-talk .abs:nth-child(even){margin-top:4rem}
@media(min-width:768px) and (max-width:1100px){.site-mv-catch__main{font-size:6rem}.site-mv-bubbles .p-mv-talk{gap:1.2rem}}
@media(max-width:767px){.p-mv-wrp{min-height:0;padding:3rem 0 9rem}.site-mv-catch__main{font-size:clamp(28px,8.4vw,39px)}.site-mv-catch__band{font-size:1.55rem}.pop-hero-note{font-size:1.25rem}.p-mv-slogan .pop-cta{display:flex;margin:0 auto}.p-mv-slogan .hero-case-cta{margin-top:1.6rem}.hero-case-note{font-size:1.2rem}.site-mv-bubbles{padding:1rem 0 1rem}.site-mv-bubbles .container{padding-inline:2rem}.site-mv-bubbles .p-mv-talk{grid-template-columns:1fr 1fr;gap:1.2rem}.site-mv-bubbles .p-mv-talk .abs:nth-child(even){margin-top:0}.site-mv-bubbles .p-mv-talk .abs-6{grid-column:1/-1;width:calc(50% - .6rem);margin:0 auto}}
.p-mv-wrp{padding-bottom:20rem}
.p-mv-slogan{width:100%}
.p-mv .site-mv-catch{text-align:center}
.site-mv-catch__main{display:block;font-size:6.6rem}
.mr-mask{display:block;overflow:hidden;padding-bottom:.08em}
.mr-mask--band{display:table;margin:0 auto}
.mr-mask--band .site-mv-catch__band{display:inline-block;margin-top:0}
.mr-rule{display:block;width:38rem;max-width:80%;height:4px;margin:2.2rem auto 1.4rem;background:#fff;border-radius:2px;transform-origin:center}
.mr .mr-in{display:block;animation:mrUp .65s cubic-bezier(.23,1,.32,1) .35s both}
.mr .site-mv-catch__main .mr-mask+.mr-mask .mr-in{animation-delay:.47s}
.mr .mr-mask--band .mr-in{display:inline-block;animation-name:mrDown;animation-duration:.6s;animation-delay:.55s}
.mr .mr-rule{animation:mrRule .4s cubic-bezier(.65,0,.35,1) .1s both}
@keyframes mrUp{from{transform:translateY(105%)}to{transform:none}}
@keyframes mrDown{from{transform:translateY(-105%)}to{transform:none}}
@keyframes mrRule{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(min-width:768px) and (max-width:1100px){.site-mv-catch__main{font-size:5.6rem}}
@media(max-width:767px){.p-mv-wrp{padding-bottom:9rem}.site-mv-catch__main{font-size:clamp(28px,8.4vw,39px)}.mr-rule{width:24rem;height:3px;margin:1.6rem auto 1.1rem}}
@media(min-width:768px){.p-mv-wrp{padding:2rem 0 26rem}}
.mr-mask--band{margin-top:2.4rem}@media(max-width:767px){.mr-mask--band{margin-top:1.8rem}}
.site-overview{text-align:center;color:#111;padding:2rem 0 6rem}
.site-overview__ttl{font-size:3.4rem;font-weight:900;line-height:1.5}
.site-overview__txt{font-size:1.8rem;font-weight:500;line-height:2;margin-top:2.4rem}
.sp-br{display:none}
@media(max-width:767px){.site-overview{padding:1rem 0 3.6rem}.site-overview__ttl{font-size:2.3rem}.site-overview__txt{font-size:1.4rem;line-height:2;margin-top:1.8rem;text-align:left}.site-overview__txt br{display:none}.sp-br{display:inline}}
.site-overview{padding-top:0}@media(max-width:767px){.site-overview__txt{text-align:center;font-size:1.4rem}.site-overview__txt br{display:inline}}
.header{position:sticky;top:0;z-index:50;box-shadow:0 .4rem 1.2rem rgba(0,0,0,calc(.16 * var(--header-shadow,0)))}
html{scroll-padding-top:11.4rem}
@media(max-width:767px){html{scroll-padding-top:7.6rem}}
.company-summary a{position:relative;display:inline-block;text-decoration:none}
.company-summary a::after{content:"";position:absolute;left:0;right:0;bottom:-.3rem;height:3px;background:#e60a48;transform:scaleX(0);transform-origin:right;transition:transform .3s cubic-bezier(.33,1,.68,1)}
.company-summary a:hover::after,.company-summary a:focus-visible::after{transform:scaleX(1);transform-origin:left}
.flow-chart{display:grid;grid-template-columns:9rem repeat(5,1fr);grid-template-rows:auto auto auto;column-gap:1.4rem;row-gap:0;max-width:110rem;margin:0 auto;color:#111}
.fc-phase{grid-row:1;position:relative;font-size:1.4rem;font-weight:700;text-align:center;padding-bottom:1.6rem;margin-bottom:1.6rem}
.fc-phase::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#111}
.fc-phase--once{grid-column:2/4}
.fc-phase--each{grid-column:4/7}
.fc-phase--each::before{content:"";position:absolute;right:-.2rem;bottom:-.6rem;border:.75rem solid transparent;border-left:1.2rem solid #111;border-right:0}
.fc-lane{grid-column:1/-1;display:flex;align-items:center;padding-left:2rem;font-size:1.6rem;border-radius:1.6rem}
.fc-lane--you{grid-row:2;background:#fde6ed;color:#e60a48;margin-bottom:1rem}
.fc-lane--us{grid-row:3;background:#ececec}
.fc-step{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;min-height:11rem;margin:1.2rem 0;padding:1.6rem 1rem;border-radius:1.4rem;background:#fff;border:2px solid #111;font-size:1.5rem;font-weight:700;line-height:1.6}
.fc-step p{margin:0}
.fc-who{display:none}
.fc-s1{grid-column:2;grid-row:2/4}
.fc-s2{grid-column:3;grid-row:2/4}
.fc-s3{grid-column:4;grid-row:2;border-color:#e60a48;background:#e60a48;color:#fff}
.fc-s4{grid-column:5;grid-row:3;background:#111;color:#fff}
.fc-s5{grid-column:6;grid-row:3;background:#111;color:#fff}
.fc-handoff{grid-column:4;grid-row:3;z-index:1;align-self:center;text-align:center;font-size:1.3rem;font-weight:700;line-height:1.5}
.fc-handoff span{display:block;font-size:2.4rem;line-height:1}
@media(min-width:768px) and (max-width:1100px){.flow-chart{grid-template-columns:6rem repeat(5,1fr);column-gap:.8rem}.fc-lane{padding-left:1rem;font-size:1.4rem}.fc-step{font-size:1.3rem}}
@media(max-width:767px){
.flow-chart{display:flex;flex-direction:column;position:relative;padding-left:2.4rem}
.flow-chart::before{content:"";position:absolute;left:.7rem;top:1rem;bottom:1rem;width:3px;background:#111}
.fc-lane{display:none}
.fc-phase{order:0;text-align:left;padding:0;margin:0 0 1rem -2.4rem;padding-left:2.4rem;background:#fff;font-size:1.4rem}
.fc-phase::after{display:none}.fc-phase--each::before{display:none}
.fc-phase--each{order:3;margin-top:1.6rem}
.fc-s1{order:1}.fc-s2{order:2}.fc-s3{order:4}.fc-handoff{order:5}.fc-s4{order:6}.fc-s5{order:7}
.fc-step{flex-direction:row;justify-content:flex-start;gap:1.2rem;min-height:0;margin:0 0 1rem;padding:1.4rem 1.6rem;text-align:left;font-size:1.4rem}
.fc-step p br{display:none}
.fc-step::before{content:"";position:absolute;left:-2.2rem;top:50%;width:1.1rem;height:1.1rem;margin-top:-.55rem;border-radius:50%;background:#111;border:2px solid #fff}
.fc-who{display:inline-block;flex-shrink:0;font-size:1.1rem;padding:.3rem .8rem;border-radius:2rem;background:#111;color:#fff}
.fc-step--both .fc-who{background:#fde6ed;color:#e60a48}
.fc-s3 .fc-who{background:#fff;color:#e60a48}
.fc-s4 .fc-who,.fc-s5 .fc-who{background:#fff;color:#111}
.fc-handoff{display:flex;align-items:center;gap:.8rem;margin:0 0 1rem 1.6rem;font-size:1.25rem}
.fc-handoff span{display:inline;font-size:1.8rem}
}
/* CTA outline: black buttons get a white inner ring, white buttons a black ring, so every CTA reads as outlined on red, gray and white backgrounds. */
.pop-cta:not(.pop-cta-white),.frm-btn .btn,.menu .anchor-link{box-shadow:inset 0 0 0 3px #fff,0 0 0 2px #111,0 .5rem 0 #0003}
.pop-cta:not(.pop-cta-white):hover,.frm-btn .btn:hover,.menu .anchor-link:hover{box-shadow:inset 0 0 0 3px #fff,0 0 0 2px #111,0 .8rem 0 #0003}
.pop-cta-white,.menu .menu-link:not(.anchor-link){box-shadow:inset 0 0 0 3px #111,0 .5rem 0 #111}
.pop-cta-white:hover,.menu .menu-link:not(.anchor-link):hover{box-shadow:inset 0 0 0 3px #111,0 .8rem 0 #111}
.menu .menu-link{box-shadow:none}
.menu .anchor-link{box-shadow:inset 0 0 0 3px #fff,0 0 0 2px #111}
.menu .menu-link:not(.anchor-link){box-shadow:inset 0 0 0 3px #111}
/* Design review 2026-10-16 */
/* 6: the post-price prompt is a text link so the two remaining prompts read differently */
.pop-consult--link .pop-textlink{display:inline-flex;align-items:center;gap:1rem;margin-top:1.6rem;font-size:1.8rem;font-weight:700;color:#111;padding-bottom:.4rem;border-bottom:3px solid #e60a48;min-height:44px}
.pop-consult--link .pop-textlink:hover{color:#e60a48}
/* 8: color roles = red for the partner, black for WINXCY; backgrounds limited to cyan and gray */
.p-flow{background:#4abed3}
.p-faq::after{background-image:url(images/bg_flow.svg?v=2)}
.p-form::before{background-image:url(images/bg_form.svg?v=2)}
.revenue-label{display:block;background:none;border-radius:0;padding:0;margin:0 auto 1rem;font-size:1.5rem;font-weight:700;color:#555}
/* 10: phrase-aware wrapping so lines do not end with one or two stray characters */
.faq-ttl,.case-work h3,.c-title,.site-overview__ttl,.revenue-box h2,.fc-step p{word-break:auto-phrase;text-wrap:balance}
.pop-section-intro,.revenue-intro,.p-about-txt,.faq-box,.case-work-copy p,.site-overview__txt{word-break:auto-phrase;text-wrap:pretty}
/* 13 */
.footer .copyright{font-size:1.3rem;font-weight:400}
/* 11: tap targets of at least 44px on phones */
@media(max-width:767px){
.menu .menu-link:not(.anchor-link),.menu .anchor-link{height:4.4rem;line-height:4.4rem}
.frm .custom-checkbox{min-height:44px}
.frm .custom-checkbox input{width:22px;height:22px}
.site-frm-privacy{display:inline-block;padding:1.4rem 0}
.pop-consult--link .pop-textlink{font-size:1.6rem}
}
/* Form sending */
.frm-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.review-error{margin:0 0 16px;padding:12px 14px;border:2px solid #e60a48;border-radius:10px;color:#a50030;font-size:14px;line-height:1.7}
dialog .review-back{display:block;margin:16px auto 0;min-height:44px;padding:0 12px;background:none;border:0;font-size:14px;font-weight:700;color:#111;text-decoration:underline;cursor:pointer}
#send-form:disabled{opacity:.6;cursor:wait}
.frm-done{text-align:center;padding:4rem 0}.frm-done:focus{outline:none}
