/* =========================================================
   CSS変数 / サイト全体で使用
   ========================================================= */
:root {
	--blue: #07579f;
	--blue2: #0c77be;
	--blue-dark: #063b70;
	--red: #e6242a;
	--yellow: #ffd51f;
	--orange: #f59a23;
	--green: #21a34a;
	--pink: #ef4d8b;
	--ink: #171717;
	--gray: #66727d;
	--line: #cdd8e3;
	--sans: "Noto Sans JP", "Yu Gothic", sans-serif;
}
/* =========================================================
   RESET / BASE
   HTML全体の基本設定
   ========================================================= */
* {
	box-sizing: border-box
}
html {
	scroll-behavior: smooth
}
body {
	margin: 0;
	color: var(--ink);
	font-family: var(--sans);
	line-height: 1.75;
	background: #fff
}
img {
	display: block;
	width: 100%
}
a {
	color: inherit;
	text-decoration: none
}
button {
	font: inherit
}
/* =========================================================
   HEADER
   index.html: <header class="site-header"> ～ </header>
   ========================================================= */
.site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: rgba(255, 255, 255, .96);
	border-bottom: 1px solid #dce5ec;
	backdrop-filter: blur(10px)
}
.header-inner {
	width: min(1320px, 100%);
	min-height: 74px;
	margin: auto;
	padding: 10px 20px;
	display: flex;
	align-items: center;
	gap: 25px
}
.brand {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: max-content
}
.brand-mark {
	width: 42px;
	height: 42px;
	display: grid;
	place-items: center;
	border: 3px solid var(--blue);
	color: var(--blue);
	font-weight: 900;
	font-size: 24px;
	transform: skew(-7deg)
}
.brand-copy {
	display: grid;
	line-height: 1.15
}
.brand-copy small {
	font-size: 9px;
	font-weight: 700
}
.brand-copy strong {
	font-size: 16px;
	font-weight: 900
}
.nav {
	margin-left: auto;
	display: flex;
	gap: 26px
}
.nav a {
	font-size: 13px;
	font-weight: 800;
	position: relative
}
.nav a:after {
	content: "";
	position: absolute;
	left: 0;
	right: 100%;
	bottom: -8px;
	height: 3px;
	background: var(--red);
	transition: .25s
}
.nav a:hover:after {
	right: 0
}
.header-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--yellow);
	border: 2px solid #111;
	box-shadow: 4px 4px 0 #111;
	padding: 10px 16px;
	border-radius: 6px;
	font-size: 12px;
	font-weight: 900;
	transition: .2s
}	
.header-cta:hover {
	transform: translate(2px, 2px);
	box-shadow: 2px 2px 0 #111
}
.menu-btn {
	display: none;
	margin-left: auto;
	border: 0;
	background: none
}
.menu-btn span {
	display: block;
	width: 26px;
	height: 2px;
	background: #222;
	margin: 5px
}
/* =========================================================
   HERO
   index.html: <section class="hero">
   ========================================================= */
.hero {
	position: relative;
	overflow: hidden;
	background: radial-gradient(circle at 10% 20%, rgba(12, 119, 190, .08) 0 2px, transparent 3px) 0 0/18px 18px, linear-gradient(180deg, #fff, #f8fcff);
	border-bottom: 1px solid #dce8f1
}
.hero-inner {
	width: min(1260px, 100%);
	margin: auto;
	padding: 58px 22px 46px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 38px;
	align-items: center
}

/* HERO > メインロゴ
   index.html: <h1 class="hero-title"> 内の img/logo.png
   PCでは左カラムから少し右にはみ出させ、ロゴの迫力を確保する */
.hero-copy {
	min-width: 0;
	position: relative
}
.hero-title {
	position: relative;
	z-index: 2;
	width: 128%;
	margin: 0 0 22px;
	line-height: 1
}
.hero-title img {
	width: 100%;
	height: auto
}
/* h1のテキストを読み上げ・SEO用に残しつつ画面上では非表示 */
.visually-hidden {
	position: absolute!important;
	width: 1px!important;
	height: 1px!important;
	padding: 0!important;
	margin: -1px!important;
	overflow: hidden!important;
	clip: rect(0, 0, 0, 0)!important;
	white-space: nowrap!important;
	border: 0!important
}

.hero-lead {
	font-size: 20px;
	font-weight: 800;
	margin: 0 0 24px
}
.hero-lead strong {
	color: var(--red);
	border-bottom: 4px solid var(--red)
}
.hero-points {
	display: flex;
	gap: 10px;
	margin-bottom: 28px
}
.hero-points span {
	flex: 1;
	min-width: 0;
	padding: 12px 10px;
	text-align: center;
	border: 2px solid var(--blue2);
	border-radius: 12px;
	background: #fff;
	color: var(--blue);
	font-size: 12px;
	font-weight: 900;
	line-height: 1.5;
	box-shadow: 0 4px 0 #cce8f8;
	position: relative;
}
.hero-points span::before{
	position: absolute;
	content: "\f058";
	font-family: "Font Awesome 7 Free";
	font-weight: 900;
	font-size: 32px;
	left:-10px;
	top:-15px;
	background: #fff;
	border-radius: 50%;
}
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	min-height: 58px;
	padding: 0 30px;
	border-radius: 6px;
	font-weight: 900;
	border: 2px solid #111;
	box-shadow: 4px 4px 0 #111;
	transition: .2s
}
.btn:hover {
	transform: translate(2px, 2px);
	box-shadow: 2px 2px 0 #111
}
.btn-yellow {
	background: var(--yellow);
	color: #000;
}
.hero-visual {
	position: relative
}
/* =========================================================
   共通セクション
   index.html: WHY / PURPOSE / FLOW / WORKS / FAQ で共通使用
   ========================================================= */
.section {
	padding: 88px 22px
}
.section-inner {
	width: min(1180px, 100%);
	margin: auto
}
.section-heading {
	text-align: center;
	margin-bottom: 38px
}
.section-heading.left {
	text-align: left
}
.eyebrow {
	color: var(--blue);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .18em;
	margin: 0 0 2px
}
.section-heading h2 {
	font-size: clamp(30px, 4vw, 46px);
	margin: 0;
	font-weight: 900;
	letter-spacing: -.03em
}
.section-heading h2 em, .section-heading h2 span {
	color: var(--red);
	font-style: normal
}
.section-note {
	font-size: 16px;
	text-align: center;
	color: #505b64;
	margin: 26px auto 0;
}
.section-note .red, .section-note .orange{
    font-size: 20px;
}
.section-note .red{
	color: var(--red);
}
.section-note .orange{
	color: var(--orange);
}
.reveal {
	opacity: 0;
	transform: translateY(18px);
	transition: .6s
}
.reveal.visible {
	opacity: 1;
	transform: none
}
/* =========================================================
   WHY MANGA?
   index.html: <section class="section why" id="features">
   ========================================================= */

.why {
	background: #fff
}
.compare {
	display: grid;
	grid-template-columns: 1fr 90px 1fr;
	gap: 22px;
	align-items: center
}
.compare-card {
	position: relative;
	border: 2px solid var(--gray);
	border-radius: 12px;
	background: #fff;
	min-height: 300px
}
.compare-card.after {
	background: #eaf8ff;
	border-color: var(--blue2)
}
.compare-label {
	position: absolute;
	left: -2px;
	right: -2px;
	top: -2px;
	padding: 10px 16px;
	background: #ececec;
	border-radius: 12px 12px 0 0;
	text-align: center;
	font-size: 18px;
	font-weight: 900
}
.before .compare-label{
  border: 2px solid var(--gray);
}
.after .compare-label {
	background: var(--blue);
	color: #fff
}
.compare-card img {
	object-fit: contain;
	margin: 50px auto 0;
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
}
.compare-arrow {
	font-size: 66px;
	text-align: center;
	color: var(--blue);
	font-weight: 900
}
/* =========================================================
   3つの目的
   index.html: <section class="section purpose" id="purpose">
   ========================================================= */

.purpose {
	background: #f8fbfd;
	border-top: 1px solid #e5edf3;
	border-bottom: 1px solid #e5edf3
}
.purpose-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px
}
.purpose-card {
	position: relative;
	background: #fff;
	border: 2px solid #cfd8df;
	border-radius: 8px;
	padding: 20px 18px 18px;
	overflow: hidden
}
.purpose-card:before {
	content: "";
	position: absolute;
	right: -40px;
	top: -40px;
	width: 150px;
	height: 150px;
	border-radius: 50%;
	background: radial-gradient(circle, currentColor 0 1px, transparent 1.5px) 0 0/8px 8px;
	opacity: .15
}
.purpose-no {
	position: absolute;
	left: 14px;
	top: 14px;
	width: 58px;
	height: 58px;
	display: grid;
	place-items: center;
	color: #fff;
	border-radius: 4px;
	font-weight: 900;
	font-size: 26px;
	transform: rotate(-2deg)
}
.purpose-card h3 {
	margin: 4px 0 15px;
	padding-left: 74px;
	min-height: 70px;
	font-size: 20px;
	line-height: 1.35
}
.purpose-card p {
	font-size: 14px;
	margin: 14px 0 0
}
.p1 {
	color: var(--orange)
}
.p1 .purpose-no {
	background: var(--orange)
}
.p2 {
	color: var(--green)
}
.p2 .purpose-no {
	background: var(--green)
}
.p3 {
	color: var(--pink)
}
.p3 .purpose-no {
	background: var(--pink)
}
.purpose-card p {
	color: #333
}
/* =========================================================
   制作の流れ
   index.html: <section class="section flow" id="flow">
   ========================================================= */

.flow {
	background: #fff
}
.flow-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 0;
	border: 2px solid #b8cfe1;
	border-radius: 8px;
	overflow: hidden
}
.flow-step {
	position: relative;
	padding: 20px 14px 16px;
	text-align: center;
	background: #fff;
	border-right: 1px solid #c7d8e6
}
.flow-step:last-child {
	border-right: 0
}
.flow-step:not(:last-child):after {
	content: "";
	position: absolute;
	right: -10px;
	top: 48%;
	width: 20px;
	height: 20px;
	background: var(--blue);
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	z-index: 2
}
.flow-step b {
	position: absolute;
	left: 10px;
	top: 10px;
	background: var(--blue);
	color: #fff;
	padding: 4px 8px;
	border-radius: 4px;
	font-size: 18px
}
.flow-step img {
	height: 130px;
	object-fit: contain;
	margin: 18px auto 5px
}
.flow-step h3 {
	font-size: 15px;
	margin: 6px 0
}
.flow-step p {
	font-size: 14px;
	color: #58636d;
	margin: 0
}
/* =========================================================
   制作実績一覧
   index.html: #works / #worksGrid
   .work-card 等は script.js が動的生成
   ========================================================= */

.works {
	background: linear-gradient(135deg, rgba(12, 119, 190, .08) 25%, transparent 25%) 0 0/24px 24px, #f6fbff
}
.works-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px
}
.work-card {
	background: #fff;
	border: 2px solid #bcd4e6;
	border-radius: 8px;
	padding: 20px;
	text-align: center;
	cursor: pointer;
	transition: .25s;
	box-shadow: 0 7px 0 #d3e7f5
}
.work-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 13px 0 #d3e7f5
}
.work-cover {
	aspect-ratio: .72;
	display: grid;
	place-items: center;
	margin: 0 auto 14px;
	overflow: hidden;
	background: #e9f2f7;
	box-shadow: 0 10px 24px rgba(15, 53, 82, .18)
}
.work-cover img {
	height: 100%;
	object-fit: cover
}
.work-card h3 {
	font-size: 15px;
	margin: 0
}
.work-card p {
	font-size: 12px;
	color: #66727d
}
.work-card .more {
	display: inline-block;
	background: var(--blue);
	color: #fff;
	padding: 8px 20px;
	border-radius: 5px;
	font-size: 12px;
	font-weight: 900
}
/* =========================================================
   FAQ
   index.html: <section class="section faq-section" id="faq">
   ========================================================= */

.faq-section {
	background: #fff;
  position: relative;
}
.faq-inner {
	display: grid;
	grid-template-columns: 1fr 280px;
	gap: 40px;
	align-items: end;
}
.faq {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px
}
.faq details {
	border: 1px solid #9cb0c0;
	background: #fff;
	overflow: hidden;
}
.faq summary {
	cursor: pointer;
	list-style: none;
	padding: 15px 44px 15px 16px;
	font-size: 13px;
	font-weight: 800;
	position: relative;
	transition: color .25s ease;
}
.faq summary::-webkit-details-marker {
	display: none
}
.faq summary:after {
	content: "＋";
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--blue);
	font-size: 20px;
	font-weight: 900
}
.faq details[open] summary:after {
	content: "−";
	color: var(--blue);
}
.faq details div {
	padding: 0 16px 14px
}
.faq details p {
	margin: 0;
	color: #5e6871;
	font-size: 12px
}
.faq-character {
	position: absolute;
  bottom: 0;
  right: 30px;
}
.faq-character img {
	max-width: 300px;
	margin-left: auto
}
/* =========================================================
   CONTACT / CTA
   index.html: <section class="contact" id="contact">
   ========================================================= */

.contact {
	position: relative;
	overflow: hidden;
	background: radial-gradient(circle at 20% 30%, rgba(255, 255, 255, .2) 0 1px, transparent 1.5px) 0 0/10px 10px, linear-gradient(135deg, #064680, #0878bd);
	color: #fff;
	border-top: 5px solid var(--blue-dark)
}
.contact:before {
	content: "";
	position: absolute;
	inset: 0;
	background: repeating-conic-gradient(from 0deg at 18% 50%, rgba(255, 255, 255, .08) 0 8deg, transparent 8deg 16deg);
}
.contact-inner {
	position: relative;
	z-index: 2;
	width: min(1180px, 100%);
	margin: auto;
	display: grid;
	grid-template-columns: 1.1fr 1fr 270px;
	gap: 24px;
	align-items: center
}
.contact-copy p {
	margin: 0;
	color: #bfe9ff;
	font-weight: 900
}
.contact-copy h2 {
	font-size: 28px;
	margin: 4px 0 0;
	line-height: 1.45
}
.contact .btn {
	width: 100%
}
.contact-people img {
	height: 180px;
	object-fit: contain
}
/* =========================================================
   FOOTER
   index.html: <footer>
   ========================================================= */
footer {
	background: #fff
}
.footer-inner {
	width: min(1180px, 100%);
	margin: auto;
	padding: 28px 22px;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 30px;
	align-items: center
}
.footer-inner nav {
	display: flex;
	gap: 18px;
	justify-content: center;
	flex-wrap: wrap
}
.footer-inner nav a {
	font-size: 11px;
	font-weight: 800
}
.company {
	font-size: 10px;
	color: #66727d;
	margin: 0;
	text-align: right
}
.footer-bottom {
	padding: 10px 20px;
	text-align: center;
	font-size: 9px;
	color: #fff;
	background: var(--blue-dark)
}
/* =========================================================
   PAGE TOP
   index.html: <a class="page-top" href="#top">
   表示切替・スクロールは script.js
   ========================================================= */
.page-top {
	position: fixed;
	right: 18px;
	bottom: 18px;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: var(--yellow);
	border: 2px solid #111;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(10px);
	transition:
		opacity .3s ease,
		transform .3s ease,
		visibility .3s ease;
	z-index: 100;
}

.page-top.show {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
}
/* =========================================================
   制作実績モーダル
   index.html: #workModal
   .work-page は script.js が動的生成
   ========================================================= */

.work-modal {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 3000
}
.work-modal.is-open {
	display: block
}
.work-modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .65)
}
.work-modal-panel {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: min(1000px, calc(100% - 30px));
	max-height: 92vh;
	overflow: auto;
	background: #fff;
	border: 3px solid #111;
	border-radius: 8px;
}

.work-modal-content {
	padding: 34px;
	display: block;
}
.work-modal-close {
	position: absolute;
	right: 12px;
	top: 10px;
	width: 42px;
	height: 42px;
	border: 2px solid #111;
	background: var(--yellow);
	font-size: 20px;
	font-weight: 900;
	cursor: pointer;
	z-index: 2
}
/* 表紙＋作品情報 */
.work-modal-info {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 32px;
	align-items: center;
}

.work-modal-info > img {
	width: 100%;
	box-shadow: 0 15px 30px rgba(0, 0, 0, .18);
}

.work-modal-copy h2 {
	font-size: 28px;
	margin: 4px 0 5px;
}

.work-modal-client {
	margin: 0 0 16px;
	font-size: 13px;
	font-weight: 800;
	color: var(--blue);
}

.work-modal-copy #workDescription {
	font-size: 13px;
	color: #59636b;
	margin: 0;
}

/* 中面見本 */
.work-sample {
	margin-top: 34px;
	padding-top: 28px;
	border-top: 2px solid #d9e5ed;
}

.work-sample-title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 18px;
	font-size: 18px;
	font-weight: 900;
}

.work-sample-title::before {
	content: "";
	width: 7px;
	height: 24px;
	background: var(--red);
}

/* 2ページを見開き風に */
.work-pages {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px;
	/* PCでは漫画の読み順に合わせて、01を右・02を左に配置 */
	direction: rtl;
}

.work-page {
	display: block;
	padding: 0;
	border: 0;
	background: #eef3f6;
	cursor: pointer;
	overflow: hidden;
	box-shadow: 0 5px 15px rgba(0,0,0,.12);
	transition: .2s;
	direction: ltr;
}

.work-page:hover {
	transform: translateY(-3px);
	box-shadow: 0 9px 20px rgba(0,0,0,.18);
}

.work-page img {
	width: 100%;
	height: auto;
	display: block;
}
/* =========================================================
   RESPONSIVE: 1100px以下
   ナビをハンバーガー化 / 問い合わせをメールアイコン化
   ========================================================= */
@media (max-width:1100px) {
	.nav {
		display: none
	}
	.menu-btn {
		display: block
	}
	.nav.open {
		display: flex;
		position: absolute;
		left: 0;
		right: 0;
		top: 74px;
		flex-direction: column;
		gap: 0;
		background: #fff;
		border-top: 1px solid #ddd;
		padding: 12px 20px
	}
	.nav.open a {
		padding: 11px 0;
		border-bottom: 1px solid #eee
	}
	.purpose-card h3 {
		font-size: 17px
	}
	.flow-grid {
		grid-template-columns: repeat(3, 1fr)
	}
	.flow-step {
		border-bottom: 1px solid #c7d8e6
	}
	.flow-step:nth-child(3) {
		border-right: 0
	}
	.flow-step:nth-child(3):after {
		display: none
	}
	.flow-step:nth-child(4), .flow-step:nth-child(5) {
		border-bottom: 0
	}
  .faq-character {
    right: 5px;
  }
  .faq-character img {
	  max-width: 250px;
  }
	.contact-inner {
		grid-template-columns: 1.1fr 1fr
	}
	.contact-people {
		display: none
	}
	.header-cta {
		width: 42px;
		height: 42px;
		min-width: 42px;
		padding: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: 6px;
	}
	.header-cta span {
		display: none;
	}
	.header-cta i {
		font-size: 18px;
	}
}
/* =========================================================
   RESPONSIVE: 800px以下
   主要レイアウトを1～2カラムへ変更
   ========================================================= */
@media (max-width:800px) {
	.section {
		padding: 68px 18px
	}
	.hero-inner {
		grid-template-columns: 1fr;
		padding-top: 40px
	}
	.hero-copy {
		text-align: center
	}
	.hero-title {
		width: min(700px, 100%);
		margin: 0 auto 20px
	}
	.hero-points {
		justify-content: center
	}
	.hero-points span::before{
		font-size: 20px;
		top:-10px;
		left:-5px;
	}
	.hero-visual {
		width: min(620px, 100%);
		margin: auto
	}
	.compare {
		grid-template-columns: 1fr
	}
	.compare-arrow {
		transform: rotate(90deg);
		font-size: 44px;
		line-height: 1
	}
	.purpose-grid, .works-grid {
		grid-template-columns: 1fr
	}
	.purpose-card {
		display: grid;
		grid-template-columns: 90px 1fr;
		gap: 12px;
		align-items: center
	}
	.purpose-card .purpose-no {
		position: static;
		grid-row: 1 / span 2
	}
	.purpose-card h3 {
		padding: 0;
		margin: 0;
		min-height: 0
	}
	.purpose-card img {
		grid-column: 1/-1;
		width: 100%;
	}
	.purpose-card p {
		grid-column: 1/-1
	}
	.flow-grid {
		grid-template-columns: 1fr 1fr
	}
	.flow-step:nth-child(2n) {
		border-right: 0
	}
	.flow-step:nth-child(2n):after {
		display: none
	}
	.flow-step:nth-child(3) {
		border-right: 1px solid #c7d8e6
	}
	.flow-step:nth-child(3):after {
		display: block
	}
	.flow-step:nth-child(4) {
		border-bottom: 1px solid #c7d8e6
	}
	.faq-inner {
		grid-template-columns: 1fr
	}
	.faq {
		grid-template-columns: 1fr
	}
	.faq-character {
		display: none
	}
  .contact{
    padding: 24px 12px;
  }
	.contact-inner {
		grid-template-columns: 1fr;
		text-align: center
	}
	.footer-inner {
		grid-template-columns: 1fr;
		text-align: center
	}
	.company {
		text-align: center
	}
	.work-modal-content {
		padding: 25px 18px;
	}

	.work-modal-info {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.work-modal-info > img {
		max-width: 200px;
		margin: auto;
	}

	.work-modal-copy {
		text-align: center;
	}

	.work-pages {
		grid-template-columns: 1fr;
		gap: 14px;
		/* スマホは縦並びなので、01 → 02 の通常順に戻す */
		direction: ltr;
	}
}
/* =========================================================
   RESPONSIVE: 520px以下
   スマートフォン向け微調整
   ========================================================= */
@media (max-width:520px) {
.header-inner {
		min-height: 66px;
		padding: 8px 14px
	}
	.brand-mark {
		width: 36px;
		height: 36px;
		font-size: 20px
	}
	.brand-copy small {
		font-size: 7px
	}
	.brand-copy strong {
		font-size: 13px
	}
	.nav.open {
		top: 66px
	}
	.hero-inner {
		padding: 28px 14px 36px;
		gap: 24px
	}
	.hero-title {
		width: 108%;
		margin-left: -4%;
		margin-right: -4%;
	}
	.hero-lead {
		font-size: 15px
	}
	.hero-points {
		gap: 6px
	}
	.hero-points span {
		font-size: 9px;
		padding: 9px 5px
	}
	.btn {
		min-height: 52px;
		font-size: 13px
	}
	.section-heading h2 {
		font-size: 30px
	}
	.compare-card {
		min-height: auto
	}
	.purpose-card {
		grid-template-columns: 70px 1fr
	}
	.purpose-card .purpose-no {
		width: 52px;
		height: 52px;
		font-size: 22px
	}
	.flow-grid {
		grid-template-columns: 1fr
	}
	.flow-step {
		border-right: 0!important;
		border-bottom: 1px solid #c7d8e6!important
	}
	.flow-step:last-child {
		border-bottom: 0!important
	}
	.flow-step:after {
		display: none!important
	}
	.contact-copy h2 {
		font-size: 22px
	}
}