@charset "UTF-8";
/* ============================================
   AI PoC開発支援ページ
   design: ALION AI PoC.dc.html
============================================ */

.poc {
	color: #1A212F;
}

/* ---- 共通 ---- */
.poc-inner {
	width: 90%;
	margin: 0 auto;
	max-width: 1200px;
}

.poc-secTtl {
	font-family: 'Chillax', 'Chillax-local', sans-serif;
	font-size: min(80px, 10vw);
	line-height: 130%;
	letter-spacing: normal;
	font-weight: 500;
}

.poc-secBadge {
	display: inline-block;
	font-size: 14px;
	padding: 4px 14px;
	border-radius: 100px;
	color: #fff;
	background-color: #005FFF;
	font-weight: 600;
	line-height: 160%;
	letter-spacing: normal;
	white-space: nowrap;
}

.poc-gradBtn {
	white-space: nowrap;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: #fff;
	color: #005FFF;
	font-weight: 700;
	padding: 17px 34px;
	border-radius: 100px;
	letter-spacing: normal;
	font-size: 16px;
	box-shadow: 0 12px 30px rgba(0, 0, 0, .15);
	transition: all .3s;
}

.poc-gradBtn:hover {
	transform: translateY(-2px);
	color: #005FFF;
}

.poc-ghostBtn {
	white-space: nowrap;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: transparent;
	color: #fff;
	font-weight: 700;
	padding: 17px 32px;
	border-radius: 100px;
	letter-spacing: normal;
	font-size: 16px;
	border: 1px solid rgba(255, 255, 255, .7);
	transition: all .3s;
}

.poc-ghostBtn:hover {
	background: rgba(255, 255, 255, .15);
	color: #fff;
}

.poc-darkBtn {
	white-space: nowrap;
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: #1A212F;
	color: #fff;
	font-weight: 700;
	padding: 16px 30px;
	border-radius: 100px;
	letter-spacing: normal;
	font-size: 15px;
	transition: all .3s;
}

.poc-darkBtn:hover {
	opacity: .88;
	color: #fff;
}

/* ---- Hero ---- */
.pocHero {
	position: relative;
	padding: 170px 0 200px;
	background: linear-gradient(135deg, #5ECEE5 0%, #005FFF 100%);
}

.pocHero-shape {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	z-index: 2;
	line-height: 0;
}

.pocHero-shape img {
	width: 100%;
	max-width: none;
	display: block;
}

.pocHero-marquee {
	position: absolute;
	left: 0;
	bottom: 80px;
	z-index: 1;
	display: flex;
	width: max-content;
	animation: pocMqL 60s linear infinite;
	pointer-events: none;
}

.pocHero-marquee span {
	font-family: 'Chillax', 'Chillax-local', sans-serif;
	font-size: 180px;
	font-weight: 500;
	line-height: 100%;
	letter-spacing: normal;
	color: rgba(255, 255, 255, .12);
	white-space: nowrap;
	padding-right: 110px;
	flex: 0 0 auto;
}

@keyframes pocMqL {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

.pocHero-inner {
	position: relative;
	z-index: 3;
	width: 90%;
	margin: 0 auto;
	max-width: 1100px;
	text-align: center;
	color: #fff;
}

.pocHero-tag {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 20px;
	border-radius: 100px;
	border: 1px solid rgba(255, 255, 255, .45);
	background: rgba(255, 255, 255, .14);
	backdrop-filter: blur(10px);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .05em;
	line-height: 1;
	white-space: nowrap;
	margin-bottom: 26px;
}

.pocHero-ttl {
	font-family: 'Chillax', 'Chillax-local', sans-serif;
	font-size: min(88px, 8.4vw);
	font-weight: 500;
	line-height: 112%;
	letter-spacing: normal;
	color: #fff;
}

.pocHero-sub {
	font-size: min(26px, 3.6vw);
	font-weight: 600;
	line-height: 150%;
	letter-spacing: normal;
	margin-top: 14px;
}

.pocHero-lead {
	font-size: min(18px, 2.6vw);
	line-height: 190%;
	letter-spacing: normal;
	margin-top: 22px;
	color: rgba(255, 255, 255, .95);
}

.pocHero-btns {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 38px;
}

/* ---- Challenge ---- */
.pocChallenge {
	background-color: #F9FAFB;
	padding: 120px 0;
}

.pocChallenge-lead {
	font-size: min(28px, 4vw);
	font-weight: 700;
	line-height: 170%;
	letter-spacing: normal;
	margin: 24px 0 48px;
}

.pocChallenge-list {
	display: grid;
	gap: 16px;
}

.pocChallenge-item {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	background: #fff;
	border: 1px solid #CFD5D8;
	border-radius: 16px;
	overflow: hidden;
}

.pocChallenge-q {
	flex: 1 1 330px;
	padding: 24px 30px;
	display: flex;
	align-items: center;
	gap: 18px;
}

.pocChallenge-num {
	flex: 0 0 auto;
	font-family: 'Chillax', 'Chillax-local', sans-serif;
	font-size: 20px;
	font-weight: 600;
	color: #005FFF;
	background: #EAF3FF;
	width: 54px;
	height: 54px;
	border-radius: 13px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.pocChallenge-q h3 {
	font-size: 19px;
	font-weight: 700;
	line-height: 150%;
	letter-spacing: normal;
}

.pocChallenge-a {
	flex: 1 1 400px;
	background: linear-gradient(90deg, #FFF4F4 0%, #FDECEC 100%);
	border-left: 1px solid #F3DADA;
	padding: 22px 30px;
	display: flex;
	align-items: center;
	gap: 12px;
}

.pocChallenge-mark {
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #E5484D;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
}

.pocChallenge-a p {
	font-size: 14px;
	line-height: 180%;
	letter-spacing: normal;
	color: #8A3A3A;
}

.pocChallenge-a b {
	color: #C13333;
}

.pocChallenge-cta {
	margin-top: 48px;
	border-radius: 20px;
	background: linear-gradient(135deg, #5ECEE5 0%, #005FFF 100%);
	padding: 48px min(56px, 6vw);
	color: #fff;
	text-align: center;
}

.pocChallenge-cta .big {
	font-size: min(26px, 3.6vw);
	font-weight: 700;
	line-height: 170%;
	letter-spacing: normal;
}

.pocChallenge-cta .big span {
	text-decoration: underline;
	text-underline-offset: 6px;
	text-decoration-thickness: 2px;
}

.pocChallenge-cta .small {
	font-size: 15px;
	line-height: 200%;
	letter-spacing: normal;
	margin-top: 16px;
	color: rgba(255, 255, 255, .95);
}

/* ---- About ---- */
.pocAbout {
	background: #fff;
	padding: 120px 0;
}

.pocAbout-lead {
	font-size: min(28px, 4vw);
	font-weight: 700;
	line-height: 170%;
	letter-spacing: normal;
	margin: 24px 0 20px;
}

.pocAbout-body {
	font-size: 16px;
	line-height: 210%;
	letter-spacing: normal;
	color: #3A424E;
	max-width: 900px;
}

/* ---- Point ---- */
.pocPoint {
	background-color: #F9FAFB;
	padding: 120px 0;
}

.pocPoint-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 24px;
	margin-top: 40px;
}

.pocPoint-card {
	background: #fff;
	border: 1px solid #CFD5D8;
	border-radius: 20px;
	padding: 36px 32px;
}

.pocPoint-icon {
	display: flex;
	width: 56px;
	height: 56px;
	border-radius: 14px;
	background: linear-gradient(135deg, #5ECEE5, #005FFF);
	align-items: center;
	justify-content: center;
	box-shadow: 0 10px 22px rgba(0, 95, 255, .28);
}

.pocPoint-card h3 {
	font-size: 21px;
	font-weight: 700;
	line-height: 160%;
	letter-spacing: normal;
	margin-top: 22px;
}

.pocPoint-card p {
	font-size: 14px;
	line-height: 200%;
	letter-spacing: normal;
	color: #3A424E;
	margin-top: 12px;
}

/* ---- 通常開発との違い ---- */
.pocDiff {
	margin-top: 64px;
}

.pocDiff-head {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 40px;
}

.pocDiff-head .label {
	display: inline-block;
	font-size: min(22px, 3.4vw);
	font-weight: 700;
	color: #fff;
	background: #1A212F;
	border-radius: 12px;
	padding: 12px 26px;
	letter-spacing: normal;
}

.pocDiff-head .note {
	font-size: 14px;
	line-height: 2;
	letter-spacing: normal;
	color: #5B6472;
	margin-top: 20px;
	text-wrap: pretty;
}

.pocDiff-head .note b {
	color: #1A212F;
	border-bottom: 2px solid #005FFF;
	padding-bottom: 1px;
}

.pocDiff-normal {
	background: #F4F6F9;
	border: 1px solid #E4E8EE;
	border-radius: 20px;
	padding: min(36px, 4vw);
}

.pocDiff-capWrap {
	text-align: center;
	margin-bottom: 18px;
}

.pocDiff-cap {
	display: inline-block;
	font-size: 13px;
	font-weight: 700;
	color: #5B6472;
	background: #fff;
	border: 1px solid #DDE2E9;
	border-radius: 100px;
	padding: 7px 20px;
	letter-spacing: normal;
}

.pocDiff-bar {
	background: #9AA6B4;
	color: #fff;
	text-align: center;
	font-weight: 700;
	padding: 12px;
	border-radius: 8px;
	letter-spacing: normal;
}

.pocDiff-flow {
	display: flex;
	gap: 5px;
	flex-wrap: wrap;
	margin-top: 12px;
}

.pocDiff-flow > div {
	flex: 1 1 110px;
	padding: 16px 10px;
	font-weight: 700;
	text-align: center;
	font-size: 14px;
	letter-spacing: normal;
	color: #5B6472;
	clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 50%, calc(100% - 18px) 100%, 0 100%, 18px 50%);
}

.pocDiff-flow > div:first-child {
	clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 50%, calc(100% - 18px) 100%, 0 100%);
}

.pocDiff-flow > div:last-child {
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 18px 50%);
}

.pocDiff-flow .f1 { background: #E4E8EE; }
.pocDiff-flow .f2 { background: #DBE0E8; }
.pocDiff-flow .f3 { background: #D2D8E2; }
.pocDiff-flow .f4 { background: #C7CFDB; }
.pocDiff-flow .f5 { background: #BCC5D3; color: #3A424E; }

.pocDiff-poc {
	background: linear-gradient(180deg, #F5FAFF, #EAF3FF);
	border: 1px solid #D6E4FB;
	border-radius: 20px;
	padding: min(36px, 4vw);
	margin-top: 24px;
}

.pocDiff-poc .pocDiff-cap {
	color: #005FFF;
	border-color: #CFE0FA;
}

.pocDiff-poc .pocDiff-bar {
	background: linear-gradient(135deg, #5ECEE5, #005FFF);
}

.pocDiff-pocFlow {
	display: flex;
	gap: min(28px, 3vw);
	align-items: center;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 24px;
}

.pocDiff-circleWrap {
	text-align: center;
	flex: 0 0 auto;
}

.pocDiff-circleWrap .cap {
	font-size: 12px;
	font-weight: 700;
	color: #005FFF;
	margin-bottom: 10px;
	letter-spacing: normal;
}

.pocDiff-circle {
	width: 132px;
	height: 132px;
	border-radius: 50%;
	background: conic-gradient(#005FFF 0 76%, #CFE0FA 76% 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 13px;
	box-shadow: 0 12px 26px rgba(0, 95, 255, .18);
}

.pocDiff-circle > div {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	color: #1A212F;
	font-size: 15px;
}

.pocDiff-arrow {
	flex: 0 0 auto;
	width: 38px;
	height: 24px;
	background: linear-gradient(135deg, #5ECEE5, #005FFF);
	clip-path: polygon(0 30%, 58% 30%, 58% 0, 100% 50%, 58% 100%, 58% 70%, 0 70%);
}

.pocDiff-judge {
	flex: 1 1 400px;
	background: #fff;
	border: 1px solid #E4E8EE;
	border-radius: 16px;
	padding: 26px min(28px, 3vw);
}

.pocDiff-judge .cap {
	text-align: center;
	font-size: 15px;
	font-weight: 700;
	margin-bottom: 18px;
	letter-spacing: normal;
}

.pocDiff-judgeRow {
	display: flex;
	gap: 10px;
	align-items: center;
	flex-wrap: wrap;
	justify-content: center;
}

.pocDiff-judgeRow .go {
	background: linear-gradient(135deg, #5ECEE5, #005FFF);
	color: #fff;
	font-weight: 700;
	padding: 14px 20px;
	border-radius: 12px;
	font-size: 15px;
	letter-spacing: normal;
}

.pocDiff-judgeRow .retry {
	background: #EAF3FF;
	color: #005FFF;
	font-weight: 700;
	padding: 14px 20px;
	border-radius: 12px;
	font-size: 15px;
	letter-spacing: normal;
}

.pocDiff-judgeRow .stop {
	background: #F1F3F6;
	color: #5B6472;
	font-weight: 700;
	padding: 14px 20px;
	border-radius: 12px;
	font-size: 15px;
	letter-spacing: normal;
}

.pocDiff-judgeRow .or {
	font-size: 12px;
	font-weight: 700;
	color: #9AA4B2;
}

/* ---- Step ---- */
.pocStep {
	background: #1A212F;
	padding: 120px 0;
}

.pocStep-inner {
	width: 90%;
	margin: 0 auto;
	max-width: 1200px;
	display: flex;
	gap: min(72px, 6vw);
	flex-wrap: wrap;
	align-items: flex-start;
}

.pocStep-left {
	flex: 1 1 320px;
}

.pocStep-left .poc-secTtl {
	color: #fff;
	line-height: 118%;
}

.pocStep-left .poc-secBadge {
	margin-top: 14px;
}

.pocStep-lead {
	font-size: 15px;
	line-height: 210%;
	letter-spacing: normal;
	color: rgba(255, 255, 255, .8);
	margin-top: 28px;
	max-width: 420px;
}

.pocStep-btn {
	white-space: nowrap;
	display: inline-flex;
	align-items: center;
	gap: 14px;
	margin-top: 32px;
	background: linear-gradient(90deg, #F1F0F1, #D8E5EE);
	color: #1A212F;
	font-weight: 700;
	padding: 14px 16px 14px 28px;
	border-radius: 100px;
	letter-spacing: normal;
	font-size: 15px;
	transition: all .3s;
}

.pocStep-btn:hover {
	opacity: .9;
	color: #1A212F;
}

.pocStep-btn .circle {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #1A212F;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
}

.pocStep-timeline {
	flex: 1 1 480px;
	background: #fff;
	border-radius: 24px;
	padding: min(52px, 5vw);
}

.pocStep-row {
	display: flex;
	gap: 22px;
}

.pocStep-rail {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.pocStep-dot {
	width: 15px;
	height: 15px;
	border-radius: 50%;
	background: linear-gradient(135deg, #5ECEE5, #005FFF);
	box-shadow: 0 0 0 4px rgba(0, 95, 255, .12);
}

.pocStep-line {
	flex: 1;
	width: 2px;
	background: #E4E8EE;
	margin-top: 6px;
}

.pocStep-body {
	flex: 1;
	padding-bottom: 34px;
}

.pocStep-row:last-child .pocStep-body {
	padding-bottom: 0;
}

.pocStep-num {
	font-family: 'Chillax', 'Chillax-local', sans-serif;
	font-size: 13px;
	font-weight: 700;
	color: #005FFF;
	letter-spacing: .08em;
}

.pocStep-body h3 {
	font-size: 20px;
	font-weight: 700;
	line-height: 150%;
	letter-spacing: normal;
	margin-top: 8px;
}

.pocStep-body p {
	font-size: 14px;
	line-height: 1.95;
	letter-spacing: normal;
	color: #5B6472;
	margin-top: 10px;
}

/* ---- CTA band ---- */
.pocCta {
	background: linear-gradient(135deg, #5ECEE5 0%, #005FFF 100%);
	padding: 80px 0;
}

.pocCta-inner {
	width: 90%;
	margin: 0 auto;
	max-width: 1000px;
	text-align: center;
	color: #fff;
}

.pocCta-inner h2 {
	font-size: min(34px, 4.6vw);
	font-weight: 700;
	line-height: 150%;
	letter-spacing: normal;
	color: #fff;
}

.pocCta-inner .lead {
	font-size: 15px;
	line-height: 200%;
	letter-spacing: normal;
	margin-top: 14px;
	color: rgba(255, 255, 255, .95);
}

.pocCta-btns {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 30px;
}

/* ---- Case ---- */
.pocCase {
	background-color: #F9FAFB;
	padding: 120px 0;
}

.pocCase-lead {
	font-size: 15px;
	line-height: 200%;
	letter-spacing: normal;
	color: #5B6472;
	margin: 20px 0 40px;
}

.pocCase-card {
	background: #fff;
	border: 1px solid #CFD5D8;
	border-radius: 24px;
	padding: min(48px, 5vw);
}

.pocCase-head {
	text-align: center;
	margin-bottom: 34px;
}

.pocCase-label {
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	color: #fff;
	background: linear-gradient(135deg, #5ECEE5, #005FFF);
	border-radius: 100px;
	padding: 5px 16px;
	letter-spacing: .04em;
}

.pocCase-head h3 {
	font-size: min(26px, 4vw);
	font-weight: 700;
	margin-top: 14px;
	letter-spacing: normal;
}

.pocCase-flow {
	display: flex;
	gap: min(28px, 3vw);
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
}

.pocCase-side {
	flex: 1 1 300px;
}

.pocCase-sideCap {
	text-align: center;
	font-size: 13px;
	font-weight: 700;
	color: #1A212F;
	background: #F1F3F6;
	border-radius: 100px;
	padding: 6px 16px;
	letter-spacing: normal;
	margin-bottom: 18px;
}

.pocCase-side.after .pocCase-sideCap {
	color: #005FFF;
	background: #EAF3FF;
}

.pocCase-icons {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
}

.pocCase-iconItem {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}

.pocCase-iconBox {
	width: 64px;
	height: 64px;
	border-radius: 14px;
	background: #F4F6F9;
	border: 1px solid #E1E6EC;
	display: flex;
	align-items: center;
	justify-content: center;
}

.pocCase-iconBox.ai {
	background: linear-gradient(135deg, #5ECEE5, #005FFF);
	border: none;
	color: #fff;
	font-weight: 700;
	font-size: 18px;
	box-shadow: 0 10px 20px rgba(0, 95, 255, .24);
}

.pocCase-iconItem span {
	font-size: 12px;
	color: #5B6472;
	letter-spacing: normal;
}

.pocCase-sep {
	color: #B0B7C0;
	font-size: 20px;
}

.pocCase-mid {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}

.pocCase-mid .cap {
	font-size: 12px;
	font-weight: 700;
	color: #005FFF;
	letter-spacing: normal;
	white-space: nowrap;
}

.pocCase-mid .arrow {
	width: 66px;
	height: 32px;
	background: linear-gradient(135deg, #5ECEE5, #005FFF);
	clip-path: polygon(0 30%, 60% 30%, 60% 0, 100% 50%, 60% 100%, 60% 70%, 0 70%);
}

.pocCase-detail {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 20px;
	margin-top: 34px;
}

.pocCase-req {
	background: #F9FAFB;
	border: 1px solid #E4E8EE;
	border-radius: 16px;
	padding: 26px min(28px, 3vw);
}

.pocCase-req .tag {
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	color: #fff;
	background: #1A212F;
	border-radius: 100px;
	padding: 4px 16px;
	letter-spacing: .04em;
}

.pocCase-req.solve {
	background: linear-gradient(90deg, #F5FAFF, #EAF3FF);
	border-color: #D6E4FB;
}

.pocCase-req.solve .tag {
	background: linear-gradient(135deg, #5ECEE5, #005FFF);
}

.pocCase-req ul {
	margin-top: 16px;
	display: grid;
	gap: 12px;
}

.pocCase-req li {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	font-size: 14px;
	line-height: 1.85;
	letter-spacing: normal;
	color: #3A424E;
}

.pocCase-req.solve li {
	color: #1A212F;
}

.pocCase-req li .check {
	color: #005FFF;
	flex: 0 0 auto;
	margin-top: 1px;
}

/* ---- Reason ---- */
.pocReason {
	background: #1A212F;
	padding: 120px 0;
}

.pocReason .poc-secTtl {
	color: #fff;
}

.pocReason-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(400px, 100%), 1fr));
	gap: 0 64px;
	margin-top: 32px;
}

.pocReason-item {
	display: flex;
	gap: 22px;
	padding: 26px 4px;
	border-top: 1px solid rgba(255, 255, 255, .14);
}

.pocReason-num {
	flex: 0 0 auto;
	width: 44px;
	font-family: 'Chillax', 'Chillax-local', sans-serif;
	font-size: 34px;
	font-weight: 500;
	background: linear-gradient(135deg, #5ECEE5, #005FFF);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: #005FFF;
	line-height: 1;
}

.pocReason-item h3 {
	font-size: 18px;
	font-weight: 700;
	line-height: 150%;
	letter-spacing: normal;
	color: #fff;
}

.pocReason-item p {
	font-size: 13px;
	line-height: 190%;
	letter-spacing: normal;
	color: rgba(255, 255, 255, .72);
	margin-top: 8px;
}

.pocReason-item p span {
	color: rgba(255, 255, 255, .5);
}

/* ---- Pricing ---- */
.pocPricing {
	background: #fff;
	padding: 120px 0;
}

.pocPricing-catch {
	font-size: min(34px, 4.8vw);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: normal;
	margin-top: 28px;
	text-wrap: pretty;
}

.pocPricing-catch .blue {
	color: #005FFF;
}

.pocPricing-lead {
	font-size: 15px;
	line-height: 2;
	letter-spacing: normal;
	color: #5B6472;
	margin-top: 16px;
	max-width: 820px;
	text-wrap: pretty;
}

.pocPricing-compare {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 20px;
	margin-top: 52px;
	align-items: stretch;
}

.pocPricing-col {
	background: #F9FAFB;
	border: 1px solid #E4E8EE;
	border-radius: 20px;
	padding: 32px min(30px, 3vw);
}

.pocPricing-col .cap {
	font-size: 14px;
	font-weight: 700;
	color: #8A94A3;
	letter-spacing: normal;
}

.pocPricing-col .price {
	font-size: min(30px, 4.4vw);
	font-weight: 800;
	color: #5B6472;
	margin-top: 14px;
	letter-spacing: normal;
}

.pocPricing-col .sub {
	font-size: 13px;
	color: #8A94A3;
	margin-top: 4px;
	letter-spacing: normal;
}

.pocPricing-col .desc {
	font-size: 13px;
	line-height: 1.9;
	color: #5B6472;
	margin-top: 16px;
	letter-spacing: normal;
}

.pocPricing-col.ours {
	position: relative;
	background: linear-gradient(150deg, #0B4FD6 0%, #005FFF 55%, #38B6E0 130%);
	border: none;
	padding: 34px min(30px, 3vw);
	box-shadow: 0 24px 50px rgba(0, 95, 255, .32);
}

.pocPricing-col.ours .ribbon {
	position: absolute;
	top: -13px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 12px;
	font-weight: 700;
	color: #005FFF;
	background: #fff;
	border-radius: 100px;
	padding: 5px 18px;
	letter-spacing: .04em;
	box-shadow: 0 6px 16px rgba(0, 0, 0, .12);
	white-space: nowrap;
}

.pocPricing-col.ours .cap { color: rgba(255, 255, 255, .9); }
.pocPricing-col.ours .price { font-size: min(34px, 5vw); color: #fff; }
.pocPricing-col.ours .sub { color: rgba(255, 255, 255, .85); }
.pocPricing-col.ours .desc { color: rgba(255, 255, 255, .92); }

.pocPricing-includes {
	margin-top: 52px;
}

.pocPricing-includes .catch {
	font-size: min(24px, 3.6vw);
	font-weight: 700;
	letter-spacing: normal;
}

.pocPricing-includes .lead {
	font-size: 14px;
	color: #5B6472;
	line-height: 1.9;
	margin-top: 8px;
	letter-spacing: normal;
}

.pocPricing-incList {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 20px;
	margin-top: 24px;
}

.pocPricing-incCard {
	background: #fff;
	border: 1px solid #CFD5D8;
	border-radius: 20px;
	padding: 32px 30px;
}

.pocPricing-incIcon {
	display: flex;
	width: 52px;
	height: 52px;
	border-radius: 13px;
	background: linear-gradient(135deg, #5ECEE5, #005FFF);
	align-items: center;
	justify-content: center;
	box-shadow: 0 10px 22px rgba(0, 95, 255, .26);
}

.pocPricing-incCard h4 {
	font-size: 18px;
	font-weight: 700;
	margin-top: 20px;
	letter-spacing: normal;
}

.pocPricing-incCard p {
	font-size: 13px;
	line-height: 1.95;
	color: #5B6472;
	margin-top: 10px;
	letter-spacing: normal;
}

.pocPricing-scopeCap {
	font-size: 13px;
	font-weight: 700;
	color: #005FFF;
	margin-top: 52px;
	letter-spacing: .06em;
}

.pocPricing-scope {
	display: flex;
	flex-wrap: wrap;
	gap: 28px 24px;
	margin-top: 24px;
}

.pocPricing-scopeItem {
	flex: 1 1 300px;
	min-width: 240px;
}

.pocPricing-scopeHead {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 12px;
}

.pocPricing-scopeNum {
	flex: 0 0 auto;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: linear-gradient(135deg, #5ECEE5, #005FFF);
	color: #fff;
	font-family: 'Chillax', 'Chillax-local', sans-serif;
	font-size: 18px;
	font-weight: 600;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 8px 18px rgba(0, 95, 255, .22);
}

.pocPricing-scopeHead .rule {
	flex: 1;
	height: 2px;
	background: linear-gradient(90deg, #9FC0F5, rgba(159, 192, 245, 0));
}

.pocPricing-scopeItem > p {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: normal;
	color: #1A212F;
}

.pocPricing-notes {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
	gap: 20px;
	margin-top: 32px;
}

.pocPricing-note {
	background: #fff;
	border: 1px solid #CFD5D8;
	border-radius: 20px;
	padding: 32px min(34px, 4vw);
}

.pocPricing-note.free {
	background: linear-gradient(180deg, #F5FAFF, #EAF3FF);
	border-color: #D6E4FB;
}

.pocPricing-note .cap {
	font-size: 16px;
	font-weight: 700;
	letter-spacing: normal;
}

.pocPricing-note .cap .blue {
	color: #005FFF;
}

.pocPricing-note .zero {
	font-family: 'Chillax', 'Chillax-local', sans-serif;
	font-size: min(38px, 6vw);
	font-weight: 600;
	color: #005FFF;
	margin-top: 8px;
	letter-spacing: normal;
	line-height: 1.1;
}

.pocPricing-note .desc {
	font-size: 14px;
	line-height: 1.95;
	color: #3A424E;
	margin-top: 12px;
	letter-spacing: normal;
}

.pocPricing-msg {
	margin-top: 24px;
	background: #1A212F;
	border-radius: 20px;
	padding: min(40px, 5vw);
	display: flex;
	flex-wrap: wrap;
	gap: 14px 40px;
	align-items: flex-start;
}

.pocPricing-msg .cap {
	flex: 0 0 auto;
}

.pocPricing-msg .cap .en {
	font-size: 12px;
	font-weight: 700;
	color: #5ECEE5;
	letter-spacing: .14em;
}

.pocPricing-msg .cap .ja {
	font-size: 14px;
	font-weight: 700;
	color: #fff;
	margin-top: 4px;
	letter-spacing: normal;
}

.pocPricing-msg .body {
	flex: 1 1 420px;
	font-size: min(18px, 2.9vw);
	line-height: 1.9;
	color: #fff;
	font-weight: 600;
	letter-spacing: normal;
}

.pocPricing-foot {
	margin-top: 24px;
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	align-items: center;
	justify-content: space-between;
	background: #F5FAFF;
	border: 1px solid #D6E4FB;
	border-radius: 16px;
	padding: 24px min(36px, 4vw);
}

.pocPricing-foot p {
	font-size: 13px;
	color: #5B6472;
	line-height: 1.9;
	letter-spacing: normal;
	flex: 1 1 400px;
}

/* ---- Compare table ---- */
.pocCompare {
	background-color: #F9FAFB;
	padding: 120px 0;
}

.pocCompare-lead {
	font-size: 15px;
	line-height: 2;
	letter-spacing: normal;
	color: #5B6472;
	margin: 20px 0 0;
	max-width: 820px;
	text-wrap: pretty;
}

.pocCompare-lead b {
	color: #1A212F;
}

.pocCompare-tableWrap {
	margin-top: 32px;
	overflow-x: auto;
	border-radius: 20px;
	border: 1px solid #CFD5D8;
	background: #fff;
}

.pocCompare-table {
	width: 100%;
	min-width: 900px;
	border-collapse: collapse;
	font-size: 14px;
	letter-spacing: normal;
}

.pocCompare-table th {
	padding: 22px 18px;
	background: #fff;
	border-bottom: 1px solid #E4E8EE;
	font-weight: 700;
	color: #1A212F;
	text-align: center;
}

.pocCompare-table th:first-child {
	text-align: left;
	padding: 22px 24px;
	font-weight: 600;
	color: #8A94A3;
	width: 20%;
}

.pocCompare-table th.ours {
	background: linear-gradient(135deg, #5ECEE5, #005FFF);
	color: #fff;
	font-size: 15px;
}

.pocCompare-table td {
	padding: 18px 16px;
	text-align: center;
	border-bottom: 1px solid #EEF1F5;
	color: #5B6472;
}

.pocCompare-table tr:last-child td {
	border-bottom: none;
}

.pocCompare-table td:first-child {
	padding: 18px 24px;
	font-weight: 700;
	text-align: left;
	color: #1A212F;
}

.pocCompare-table tr.star td:first-child {
	background: #F3F8FF;
}

.pocCompare-table tr.star td:first-child .star {
	color: #005FFF;
	margin-right: 6px;
}

.pocCompare-table tr.star td {
	background: #F3F8FF;
}

.pocCompare-table td.ours {
	background: #F5FAFF;
	font-weight: 700;
	color: #005FFF;
}

.pocCompare-table tr.star td.ours {
	background: #E3EEFF;
	font-weight: 800;
}

.pocCompare-table .sub {
	font-size: 12px;
	font-weight: 600;
}

/* ---- Flow ---- */
.pocFlow {
	background: #fff;
	padding: 120px 0;
}

.pocFlow-steps {
	display: flex;
	gap: 5px;
	flex-wrap: wrap;
	margin-top: 48px;
}

.pocFlow-steps > div {
	flex: 1 1 150px;
	padding: 20px 24px;
	font-weight: 700;
	text-align: center;
	font-size: 15px;
	letter-spacing: normal;
	clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0 100%, 20px 50%);
}

.pocFlow-steps > div:first-child {
	clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0 100%);
}

.pocFlow-steps > div:last-child {
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 20px 50%);
}

.pocFlow-steps .s1 { background: #CDE1FF; color: #0B3A8A; }
.pocFlow-steps .s2 { background: #8FBBFF; color: #0B3A8A; }
.pocFlow-steps .s3 { background: #3D82F5; color: #fff; }
.pocFlow-steps .s4 { background: #005FFF; color: #fff; }

.pocFlow-descs {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 16px;
	margin-top: 16px;
}

.pocFlow-descs > div {
	background: #fff;
	border: 1px solid #E4E8EE;
	border-radius: 14px;
	padding: 22px;
}

.pocFlow-descs p {
	font-size: 13px;
	line-height: 1.95;
	color: #5B6472;
	letter-spacing: normal;
}

.pocFlow-foot {
	margin-top: 32px;
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	align-items: center;
	justify-content: space-between;
	background: #F5FAFF;
	border: 1px solid #D6E4FB;
	border-radius: 16px;
	padding: 28px min(40px, 4vw);
}

.pocFlow-foot .cap {
	font-size: 13px;
	font-weight: 700;
	color: #005FFF;
	letter-spacing: .06em;
}

.pocFlow-foot .big {
	font-size: min(22px, 3.4vw);
	font-weight: 700;
	margin-top: 6px;
	line-height: 1.5;
}

.pocFlow-foot .big .blue {
	color: #005FFF;
}

.pocFlow-foot .small {
	font-size: 13px;
	color: #5B6472;
	margin-top: 6px;
	line-height: 1.8;
	letter-spacing: normal;
}

/* ---- FAQ ---- */
.pocFaq {
	background-color: #F9FAFB;
	padding: 120px 0;
}

.pocFaq-inner {
	width: 90%;
	margin: 0 auto;
	max-width: 900px;
}

.pocFaq-head {
	margin-bottom: 40px;
}

.pocFaq-list {
	display: grid;
	gap: 14px;
}

.pocFaq-list details {
	background: #fff;
	border: 1px solid #E4E8EE;
	border-radius: 14px;
	padding: 4px 24px;
}

.pocFaq-list summary {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 22px 0;
	cursor: pointer;
	font-weight: 700;
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: normal;
	list-style: none;
}

.pocFaq-list summary::-webkit-details-marker {
	display: none;
}

.pocFaq-q {
	flex: 0 0 auto;
	width: 26px;
	height: 26px;
	border-radius: 6px;
	background: #005FFF;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-family: 'Chillax', 'Chillax-local', sans-serif;
}

.pocFaq-list details p {
	padding: 0 0 22px 40px;
	font-size: 14px;
	line-height: 1.95;
	color: #3A424E;
	letter-spacing: normal;
}
