/* 事業再生・法人破産（/saisei/）
   ・イメージ案HTMLのデザインを、専用ラッパー .saiseiWrap と接頭辞 sa- で閉じ込めて移植
   ・アンカーナビ・パンくずは /global/ と同じ共通パーツを使用
----------------------------------*/
.ancWrap {
	box-sizing: border-box;
	padding-left: 40px;
	padding-right: 40px;
	background: #215b6f;
}
.ancWrap .wrapInr {
	margin: 0 auto;
}
.ancWrap .wrapInr .listWrap {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px 0;
}
.ancWrap .wrapInr .listWrap .list {
	display: flex;
	align-items: center;
	min-height: 42px;
	position: relative;
}
.ancWrap .wrapInr .listWrap .list::before {
	content: " ";
	width: 2px;
	height: 100%;
	background: #a0a4a8;
	position: absolute;
	top: 0;
	left: 0;
}
.ancWrap .wrapInr .listWrap .list:first-child::before {
	content: none;
}
.ancWrap .wrapInr .listWrap .list .anc {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	box-sizing: border-box;
	padding: 0 16px;
	text-decoration: none;
	color: #fff;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0.12em;
}
@media screen and (max-width: 768px) {
.ancWrap {
        padding-left: 0;
        padding-right: 0;
	}
.ancWrap .wrapInr .listWrap {
		height: auto;
		padding: 8px 4px;
		flex-wrap: wrap;
		gap: 0;
	}
.ancWrap .wrapInr .listWrap .list {
		min-height: 38px;
	}
.ancWrap .wrapInr .listWrap .list::before {
		background: none;
		content: '';
		width: 1px;
		height: 80%;
		position: absolute;
		top: 4px;
		right: -1px;
	}
.ancWrap .wrapInr .listWrap .list::after {
		background: #888;
		content: '';
		width: 1px;
		height: 80%;
		position: absolute;
		top: 4px;
		right: -1px;
	}
.ancWrap .wrapInr .listWrap .list .anc {
		font-size: 1.3rem;
		padding: 0 6px;
	}
}
.corpBreadcrumb {
	padding: 12px 30px;
	background: #f2f2f2;
}
.corpBreadcrumb ol {
	display: flex;
	flex-wrap: wrap;
	max-width: 1222px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
	font-size: 1.3rem;
	line-height: 1.6;
	letter-spacing: 0.04em;
}
.corpBreadcrumb li + li::before {
	content: "＞";
	margin: 0 0.7em;
	color: #8a9499;
}
.corpBreadcrumb a {
	color: #00697f;
}
@media screen and (max-width: 768px) {
.corpBreadcrumb {
		padding: 10px 16px;
	}
.corpBreadcrumb ol {
		font-size: 1.1rem;
	}
}
.ancWrap .wrapInr .listWrap {
	flex-wrap: wrap;
}

/* ====== イメージ案のデザイン（.saiseiWrap 内） ====== */
.saiseiWrap { display: block; }
.saiseiWrap .sa-btn .sa-free,
.mainVisWrap .sa-btn .sa-free { white-space: nowrap; }
.saiseiWrap {--teal:#006d8b;
  --primary:#00697f;
  --accent:#33b2bd;
  --ink:#1e2223;
  --sub:#2e3132;
  --gray:#f2f2f2;
  --line:#dcdcdc;
  --navw:230px;}
.saiseiWrap *,
.saiseiWrap *::before,
.saiseiWrap *::after {box-sizing:border-box;margin:0;padding:0}
.saiseiWrap {font-family:"Noto Sans JP",sans-serif;color:var(--ink);font-size:1.6rem;line-height:1.9;letter-spacing:.06em;font-feature-settings:"palt";-webkit-font-smoothing:antialiased}
.saiseiWrap a {color:inherit;text-decoration:none}
.saiseiWrap ul {list-style:none}
.saiseiWrap .sa-en {font-family:"Roboto Condensed",sans-serif}
.saiseiWrap p,
.saiseiWrap li,
.saiseiWrap h1,
.saiseiWrap h2,
.saiseiWrap h3 {text-wrap:pretty}
.saiseiWrap .sa-wrap {max-width:1080px;margin:0 auto;padding:0 56px}
.saiseiWrap .sa-secTtl {position:relative;margin-bottom:32px}
.saiseiWrap .sa-secTtl .sa-jp {font-size:1.8rem;letter-spacing:.2em;font-weight:700;display:flex;align-items:center;gap:14px;color:var(--primary)}
.saiseiWrap .sa-secTtl .sa-jp::before {content:"";width:28px;height:1px;background:currentColor}
.saiseiWrap .sa-secTtl .sa-big {font-family:"Roboto Condensed",sans-serif;font-weight:500;font-size:clamp(5.32rem,8.55vw,10.45rem);line-height:.9;letter-spacing:-.01em;color:var(--teal);margin-top:10px}
.saiseiWrap .sa-secTtl h2 {font-size:clamp(2.2rem,2.4vw,2.8rem);font-weight:700;letter-spacing:.1em;margin-top:22px;line-height:1.6}
.saiseiWrap .sa-dark .sa-secTtl .sa-jp,
.saiseiWrap .sa-dark .sa-secTtl .sa-big {color:#fff}
.saiseiWrap .sa-dark .sa-secTtl .sa-big {opacity:.95}
.saiseiWrap .sa-dark {background:var(--teal);color:#fff}
.saiseiWrap section {padding:80px 0}
.saiseiWrap .sa-btn,
.mainVisWrap .sa-btn {display:inline-flex;align-items:center;gap:22px;height:64px;padding:0 30px;font-weight:700;font-size:1.6rem;letter-spacing:.12em;transition:all .25s;position:relative}
.saiseiWrap .sa-btn .sa-arw,
.mainVisWrap .sa-btn .sa-arw {width:28px;height:1px;background:currentColor;position:relative;transition:width .25s}
.saiseiWrap .sa-btn .sa-arw::after,
.mainVisWrap .sa-btn .sa-arw::after {content:"";position:absolute;right:0;top:0;width:8px;height:1px;background:currentColor;transform:rotate(35deg);transform-origin:right}
.saiseiWrap .sa-btn:hover .sa-arw,
.mainVisWrap .sa-btn:hover .sa-arw {width:40px}
.saiseiWrap .sa-btn-w,
.mainVisWrap .sa-btn-w {background:#fff;color:var(--teal)}
.saiseiWrap .sa-btn-w:hover,
.mainVisWrap .sa-btn-w:hover {background:#e9f4f6}
.saiseiWrap .sa-btn-o,
.mainVisWrap .sa-btn-o {border:1px solid rgba(255,255,255,.6);color:#fff}
.saiseiWrap .sa-btn-o:hover,
.mainVisWrap .sa-btn-o:hover {background:rgba(255,255,255,.1)}
.saiseiWrap .sa-btn .sa-free,
.mainVisWrap .sa-btn .sa-free {font-size:1.1rem;background:var(--accent);color:#fff;padding:2px 8px}
.saiseiWrap .sa-worries {background:var(--gray)}
.saiseiWrap .sa-wGrid {display:grid;grid-template-columns:repeat(2,1fr);gap:2px}
.saiseiWrap .sa-wCard {background:#fff;padding:44px 44px 46px;position:relative}
.saiseiWrap .sa-wCard .sa-cat {
	font-size: 1.5rem;
	font-family: "Roboto Condensed", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	line-height: 1;
	color: var(--teal);
	margin-bottom: 0;
}
.saiseiWrap .sa-wCard h3 {font-size:2.4rem;font-weight:700;margin-top:12px;letter-spacing:.08em;line-height:1.5}
.saiseiWrap .sa-wCard h3 small {display:inline;font-size:1.3rem;color:#6b7a7e;font-weight:500;letter-spacing:.04em;margin-left:2px}
.saiseiWrap .sa-wCard li {padding:14px 0 14px 30px;border-bottom:1px dashed var(--line);position:relative;font-size:1.55rem;line-height:1.8}
.saiseiWrap .sa-wCard li::before {content:"";position:absolute;left:2px;top:23px;width:14px;height:8px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}
.saiseiWrap .sa-wCard.sa-all {grid-column:1/-1;background:#3e3e3e;color:#fff;display:grid;grid-template-columns:240px 1fr;gap:0}
.saiseiWrap .sa-wCard.sa-all .sa-cat {color:#fff}
.saiseiWrap .sa-wCard.sa-all h3 small {color:#9aa7aa}
.saiseiWrap .sa-wCard.sa-all ul {margin-top:0;display:grid;grid-template-columns:1fr 1fr;column-gap:40px}
.saiseiWrap .sa-wCard.sa-all li {border-bottom-color:rgba(255,255,255,.2)}
.saiseiWrap .sa-wNote {margin-top:56px;text-align:center;font-size:2.2rem;font-weight:700;letter-spacing:.1em;line-height:1.7}
.saiseiWrap .sa-wNote em {font-style:normal;color:var(--primary);background:linear-gradient(transparent 62%,#ffe815 62%)}
.saiseiWrap .sa-early .sa-cols {display:grid;grid-template-columns:1.05fr 1fr;gap:72px;align-items:start}
.saiseiWrap .sa-early .sa-txt p {font-size:1.65rem;line-height:2.15;margin-bottom:22px;opacity:.95}
.saiseiWrap .sa-early .sa-txt p.sa-q {border-top:1px solid rgba(255,255,255,.3);padding-top:24px;margin-top:34px;font-weight:500}
.saiseiWrap .sa-meter {background:#fff;color:var(--teal);border:1px solid #fff;padding:40px 38px 34px}
.saiseiWrap .sa-meter .sa-mt {font-family:"PT Sans",sans-serif;font-size:1.3rem;letter-spacing:.24em;font-weight:700;opacity:.8}
.saiseiWrap .sa-meter .sa-axis {display:flex;justify-content:space-between;font-size:1.3rem;margin-top:22px;opacity:.8;letter-spacing:.08em}
.saiseiWrap .sa-bars {display:flex;flex-direction:column;gap:10px;margin-top:14px}
.saiseiWrap .sa-bar {display:flex;align-items:center;gap:16px}
.saiseiWrap .sa-bar .sa-lab {width:120px;font-size:1.35rem;font-weight:500;flex-shrink:0;line-height:1.5;color:#222}
.saiseiWrap .sa-bar .sa-track {flex:1;height:34px;background:rgba(0,109,139,.1);position:relative}
.saiseiWrap .sa-bar .sa-fill {position:absolute;inset:0 auto 0 0;background:var(--teal);transform-origin:left;transform:scaleX(0);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.saiseiWrap .sa-meter.sa-on .sa-fill {transform:scaleX(1)}
.saiseiWrap .sa-bar:nth-child(2) .sa-fill {transition-delay:.1s}
.saiseiWrap .sa-bar:nth-child(3) .sa-fill {transition-delay:.2s}
.saiseiWrap .sa-bar:nth-child(4) .sa-fill {transition-delay:.3s}
.saiseiWrap .sa-meter .sa-cap {margin-top:26px;font-size:1.3rem;line-height:1.9;opacity:.85;color:#222}
.saiseiWrap .sa-meter .sa-opts {display:flex;flex-wrap:wrap;gap:6px;margin-top:22px}
.saiseiWrap .sa-meter .sa-opts span {font-size:1.2rem;border:1px solid rgba(0,109,139,.5);padding:3px 10px;letter-spacing:.06em}
.saiseiWrap .sa-reasons {background:#fff}
.saiseiWrap .sa-reason {display:grid;grid-template-columns:110px 1fr;gap:40px;padding:64px 0;border-top:1px solid var(--line)}
.saiseiWrap .sa-reason:last-child {border-bottom:1px solid var(--line)}
.saiseiWrap .sa-reason h3 {font-size:clamp(2.2rem,2.3vw,2.8rem);font-weight:700;line-height:1.6;letter-spacing:.08em;margin-bottom:26px}
.saiseiWrap .sa-reason p {font-size:1.6rem;line-height:2.1;margin-bottom:16px;color:#33393b}
.saiseiWrap .sa-reason .sa-chips {display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 26px}
.saiseiWrap .sa-reason .sa-chips span {font-size:1.3rem;font-weight:700;padding:6px 14px;background:#e8f4f6;color:var(--primary);letter-spacing:.08em}
.saiseiWrap .sa-reason .sa-assets {display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:28px 0}
.saiseiWrap .sa-reason .sa-assets div {background:#fafafa;padding:16px 18px;font-size:1.6rem;font-weight:500;line-height:1.6}
.saiseiWrap .sa-reason .sa-assets div::before {content:attr(data-n);display:block;font-family:"Roboto Condensed",sans-serif;font-size:1.3rem;color:var(--accent);letter-spacing:.2em;font-weight:700}
.saiseiWrap .sa-services {background:var(--gray)}
.saiseiWrap .sa-svc {display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.saiseiWrap .sa-svcCard {background:#fff;display:flex;flex-direction:column}
.saiseiWrap .sa-svcCard .sa-head {padding:34px 34px 28px;border-bottom:1px solid var(--line);position:relative}
.saiseiWrap .sa-svcCard .sa-head .sa-n {font-family:"PT Sans",sans-serif;font-weight:700;font-size:5.6rem;line-height:1;color:var(--teal)}
.saiseiWrap .sa-svcCard .sa-head .sa-ek {font-family:"Roboto Condensed",sans-serif;font-weight:700;font-size:1.2rem;letter-spacing:.22em;color:var(--accent);position:absolute;right:34px;top:40px}
.saiseiWrap .sa-svcCard h3 {font-size:2.1rem;font-weight:700;letter-spacing:.08em;margin-top:14px;line-height:1.5}
.saiseiWrap .sa-svcCard .sa-lead {font-size:1.5rem;line-height:1.95;margin-top:12px;color:#4a5356}
.saiseiWrap .sa-svcCard ul {padding:20px 34px 34px;flex:1}
.saiseiWrap .sa-svcCard li {font-size:1.5rem;line-height:1.75;padding:12px 0 12px 22px;position:relative;border-bottom:1px dashed var(--line)}
.saiseiWrap .sa-svcCard li:last-child {border-bottom:0}
.saiseiWrap .sa-svcCard li::before {content:"";position:absolute;left:0;top:23px;width:10px;height:1px;background:var(--teal)}
.saiseiWrap .sa-bk {margin-top:24px;background:#fff;display:grid;grid-template-columns:1fr 1fr;}
.saiseiWrap .sa-bk > div {padding:48px 48px}
.saiseiWrap .sa-bk > div:first-child {border-right:1px solid var(--line)}
.saiseiWrap .sa-bk h4 {font-size:2rem;font-weight:700;letter-spacing:.08em;line-height:1.6;margin-bottom:16px}
.saiseiWrap .sa-bk h4 .sa-tag {display:inline-block;font-family:"PT Sans",sans-serif;font-size:1.2rem;letter-spacing:.2em;color:var(--accent);margin-bottom:6px;display:block}
.saiseiWrap .sa-bk p {font-size:1.55rem;line-height:2.05;color:#33393b}
.saiseiWrap .sa-cases {background:#fff}
.saiseiWrap .sa-caseNote {margin-top:32px;font-size:1.45rem;color:#5c6669;text-align:center}
.saiseiWrap .sa-flow {background:var(--gray)}
.saiseiWrap .sa-steps {display:grid;grid-template-columns:repeat(4,1fr);counter-reset:s;position:relative}
.saiseiWrap .sa-step {padding:0 26px 0 0;position:relative}
.saiseiWrap .sa-step .sa-sn {display:flex;align-items:center;gap:12px;font-family:"Roboto Condensed",sans-serif;font-weight:700;color:var(--teal);font-size:1.3rem;letter-spacing:.24em}
.saiseiWrap .sa-step .sa-sn b {font-size:5.4rem;letter-spacing:0;line-height:1}
.saiseiWrap .sa-step .sa-ln {height:2px;background:var(--line);margin:22px 0 26px;position:relative}
.saiseiWrap .sa-step .sa-ln::before {content:"";position:absolute;left:0;top:-5px;width:12px;height:12px;border-radius:50%;background:var(--teal)}
.saiseiWrap .sa-step h3 {font-size:1.9rem;font-weight:700;letter-spacing:.08em;line-height:1.5;margin-bottom:12px}
.saiseiWrap .sa-step p {font-size:1.45rem;line-height:1.95;color:#4a5356}
.saiseiWrap .sa-step .sa-ways {display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.saiseiWrap .sa-step .sa-ways span {font-size:1.2rem;background:#fff;padding:3px 10px;font-weight:500;letter-spacing:.06em}
.saiseiWrap .sa-fee {background:#fff}
.saiseiWrap .sa-feeNotes {margin-top:28px;display:grid;gap:2px}
.saiseiWrap .sa-feeNotes li {font-size:1.35rem;line-height:1.9;color:#55605f;padding-left:1.2em;text-indent:-1.2em}
.saiseiWrap .sa-feeHi {margin-top:36px;background:#e8f4f6;padding:30px 36px;display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center}
.saiseiWrap .sa-feeHi .sa-t {font-family:"Roboto Condensed",sans-serif;font-weight:700;font-size:1.3rem;letter-spacing:.24em;color:var(--primary);writing-mode:horizontal-tb}
.saiseiWrap .sa-feeHi p {font-size:1.55rem;line-height:2;font-weight:500}
.saiseiWrap .sa-faq {background:var(--gray)}
.saiseiWrap .sa-contact {background:var(--teal);color:#fff;position:relative;overflow:hidden;padding:130px 0}
.saiseiWrap .sa-contact .sa-bgword {position:absolute;left:-1vw;bottom:-3vw;font-family:"PT Sans",sans-serif;font-weight:700;font-size:clamp(12rem,18vw,24rem);line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.18);white-space:nowrap;pointer-events:none}
.saiseiWrap .sa-contact .sa-inner {position:relative;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end}
.saiseiWrap .sa-contact h2 {font-size:clamp(2.8rem,3.2vw,4rem);font-weight:700;line-height:1.55;letter-spacing:.08em;margin-top:18px}
.saiseiWrap .sa-contact .sa-sub {margin-top:24px;font-size:1.6rem;line-height:2.05;opacity:.92}
.saiseiWrap .sa-cBox {background:#fff;color:var(--ink)}
.saiseiWrap .sa-cBox a {display:flex;align-items:center;justify-content:space-between;padding:26px 30px;border-bottom:1px solid var(--line);transition:background .2s}
.saiseiWrap .sa-cBox a:last-child {border-bottom:0}
.saiseiWrap .sa-cBox a:hover {background:#f3f8f9}
.saiseiWrap .sa-cBox .sa-l {display:flex;align-items:center;gap:18px}
.saiseiWrap .sa-cBox .sa-ic {width:48px;height:48px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.saiseiWrap .sa-cBox .sa-ic img {width:28px}
.saiseiWrap .sa-cBox .sa-ic.sa-t {background:var(--ink)}
.saiseiWrap .sa-cBox .sa-ic.sa-m {background:#00559d}
.saiseiWrap .sa-cBox .sa-ic.sa-ln {background:#00b900}
.saiseiWrap .sa-cBox .sa-k {font-size:1.2rem;color:#6b7a7e;letter-spacing:.1em;display:block;line-height:1.4}
.saiseiWrap .sa-cBox .sa-v {font-size:1.8rem;font-weight:700;letter-spacing:.06em;line-height:1.5}
.saiseiWrap .sa-cBox .sa-v.sa-num {font-family:"PT Sans",sans-serif;font-size:2.8rem;letter-spacing:.04em}
.saiseiWrap .sa-cBox .sa-arw2 {flex-shrink:0;width:24px;height:1px;background:var(--teal);position:relative;transition:transform .25s}
.saiseiWrap .sa-cBox .sa-arw2::after {content:"";position:absolute;right:0;top:0;width:9px;height:1px;background:var(--teal);transform:rotate(35deg);transform-origin:right center}
.saiseiWrap .sa-cBox a:hover .sa-arw2 {transform:translateX(4px)}
.saiseiWrap .sa-cBox .sa-hours {padding:14px 30px;font-size:1.25rem;color:#6b7a7e;background:#fafafa;letter-spacing:.06em}
.saJs .saiseiWrap .sa-rv {opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.saJs .saiseiWrap .sa-rv.sa-in {opacity:1;transform:none}
@media (max-width:900px){
.saiseiWrap .sa-wrap {padding:0 24px}
.saiseiWrap section {padding:40px 0}
.saiseiWrap .sa-wGrid {grid-template-columns:1fr}
.saiseiWrap .sa-wCard {padding:34px 26px}
.saiseiWrap .sa-wCard.sa-all {grid-template-columns:1fr;gap:20px}
.saiseiWrap .sa-wCard.sa-all ul {grid-template-columns:1fr}
.saiseiWrap .sa-early .sa-cols {grid-template-columns:1fr;gap:40px}
.saiseiWrap .sa-reason {grid-template-columns:1fr;gap:16px;padding:48px 0}
.saiseiWrap .sa-reason .sa-assets {grid-template-columns:1fr 1fr}
.saiseiWrap .sa-svc {grid-template-columns:1fr}
.saiseiWrap .sa-bk {grid-template-columns:1fr}
.saiseiWrap .sa-bk > div {padding:34px 26px}
.saiseiWrap .sa-bk > div:first-child {border-right:0;border-bottom:1px solid var(--line)}
.saiseiWrap .sa-steps {grid-template-columns:1fr 1fr;row-gap:40px}
.saiseiWrap .sa-feeHi {grid-template-columns:1fr;gap:10px;padding:24px}
.saiseiWrap .sa-contact .sa-inner {grid-template-columns:1fr;gap:40px}
}

/* ====== 共通パーツの調整 ====== */
/* .saiseiWrap * のリセット(padding:0)に勝つよう接頭辞を付け、/corporate/ と同じ余白にする */
.saiseiWrap .corpBreadcrumb {
	padding: 12px 30px;
	background: #f2f2f2;
}
@media screen and (max-width: 768px) {
.saiseiWrap .corpBreadcrumb {
	padding: 10px 16px;
}
}

/* ====== ファーストビュー（/global/ と同じ：右に写真・左に半透明の帯）
   .mainVisWrap の基本スタイルは common.css。.saiseiWrap の外に置くので接頭辞なしで定義 ====== */
.mainVisWrap {
	--teal: #006d8b;
	--accent: #33b2bd;
	--ink: #1e2223;
	height: auto;
	min-height: 640px;
	background-image: url(/saisei/images/saisei_vis_img.png);
}
.mainVisWrap .visInr {
	position: relative;
	width: 54%;
	height: auto;
	min-height: 640px;
	justify-content: flex-start;
	padding: 60px 25px 40px;
	background: rgba(0, 109, 139, 0.9);
}
.mainVisWrap .visInr .ttl .jp {
	margin-bottom: 1.6rem;
	font-size: 3.6rem;
	letter-spacing: 0.13em;
}
.mainVisWrap .visInr .ttl .jp .sm {
	display: block;
	margin-bottom: 6px;
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 0.2em;
}
.mainVisWrap .visInr .txtCol .lead span {
	display: inline-block;
	margin-bottom: 10px;
	padding: 0 6px;
	background: #fff;
	color: var(--teal);
	font-size: 2.8rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.5;
}
.mainVisWrap .visInr .txtCol .txt {
	margin-top: 1.6rem;
	line-height: 2;
}
.mainVisWrap .saHeroCta .sa-btn,
.mainVisWrap .saHeroCta .sa-btn:hover {
	text-decoration: none;
}
.mainVisWrap .saHeroCta {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 24px;
}
@media screen and (max-width: 768px) {
.mainVisWrap {
	min-height: 0;
	background-image: url(/saisei/images/sp_saisei_vis_img.png);
}
.mainVisWrap .visInr {
	position: static;
	width: 100%;
	min-height: 100px;
	padding: 20px;
}
.mainVisWrap .visInr .ttl .jp {
	font-size: 2.4rem;
}
.mainVisWrap .visInr .ttl .jp .sm {
	font-size: 1.3rem;
}
.mainVisWrap .visInr .txtCol .lead span {
	font-size: 1.6rem;
}
.mainVisWrap .visInr .txtCol .txt {
	margin-bottom: 15px;
	font-size: 1.4rem;
	line-height: 2.6rem;
}
.mainVisWrap .saHeroCta {
	flex-direction: column;
	gap: 10px;
	margin-top: 16px;
}
.mainVisWrap .saHeroCta .sa-btn {
	justify-content: center;
	height: 54px;
	padding: 0 16px;
	font-size: 1.4rem;
}
}

/* ====== REASON：番号のアイコン（/entertainment/ と同じ画像） ====== */
.saiseiWrap .sa-reason .sa-rno img {
	display: block;
	width: 58px;
	height: auto;
}
@media (max-width: 900px) {
.saiseiWrap .sa-reason .sa-rno img {
	width: 48px;
}
}

/* ====== CASES：タイトルまわりを /outsourcing/ の導入事例と同じデザインに ====== */
.saiseiWrap .sa-caseList {
	display: block;
}
.saiseiWrap .sa-case + .sa-case {
	margin-top: 32px;
}
.saiseiWrap .sa-case {
	box-sizing: border-box;
	border: 2px solid var(--teal);
	background: #fff;
}
.saiseiWrap .sa-case .sa-caseHd {
	position: relative;
	display: flex;
	align-items: center;
}
.saiseiWrap .sa-case .sa-label {
	position: relative;
	left: -8px;
	flex: none;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 160px;
	height: 60px;
	margin-right: 32px;
	background: var(--teal);
	color: #fff;
	font-family: "Roboto Condensed", sans-serif;
	font-optical-sizing: auto;
	font-size: 3.2rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1;
}
.saiseiWrap .sa-case .sa-label::before {
	content: "";
	position: absolute;
	top: 0;
	right: -16px;
	border-top: solid 30px transparent;
	border-bottom: solid 30px transparent;
	border-left: solid 16px var(--teal);
}
.saiseiWrap .sa-case .sa-caseTtl {
	flex: 1;
	min-width: 0;
	padding: 12px 24px 12px 0;
}
.saiseiWrap .sa-case .sa-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 6px;
}
.saiseiWrap .sa-case .sa-ind {
	padding: 3px 12px;
	border-radius: 50vh;
	background: #418a9f;
	color: #fff;
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.1em;
}
.saiseiWrap .sa-case .sa-res {
	padding: 2px 10px;
	border: 1px solid currentColor;
	font-size: 1.2rem;
	font-weight: 700;
	letter-spacing: 0.1em;
}
.saiseiWrap .sa-case .sa-res.sa-r {
	color: var(--teal);
}
.saiseiWrap .sa-case .sa-res.sa-p {
	color: #5c6669;
}
.saiseiWrap .sa-case h3 {
	font-size: 2.2rem;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.06em;
}
.saiseiWrap .sa-case .sa-caseBody {
	box-sizing: border-box;
	padding: 16px 40px 24px;
	background: #fff;
}
.saiseiWrap .sa-case .sa-caseBody p {
	font-size: 1.6rem;
	line-height: 1.9;
	letter-spacing: 0.06em;
	color: #3d4547;
}
@media (max-width: 900px) {
.saiseiWrap .sa-case + .sa-case {
	margin-top: 20px;
}
.saiseiWrap .sa-case .sa-caseHd {
	display: block;
}
.saiseiWrap .sa-case .sa-label {
	width: 100%;
	left: 0;
	height: auto;
	margin-right: 0;
	padding: 6px 0;
	font-size: 2.6rem;
}
.saiseiWrap .sa-case .sa-label::before {
	content: none;
}
.saiseiWrap .sa-case .sa-caseTtl {
	padding: 12px 15px 14px;
}
.saiseiWrap .sa-case h3 {
	font-size: 1.8rem;
}
.saiseiWrap .sa-case .sa-caseBody {
	padding: 15px;
}
.saiseiWrap .sa-case .sa-caseBody p {
	font-size: 1.5rem;
}
}

/* ====== 費用：/internet/hibo/ の「費用の目安」と同じデザイン ====== */
.saiseiWrap .sa-costWrap {
	margin-top: 8px;
}
.saiseiWrap .sa-costItem {
	border: 1px solid #00697f;
	background: #fff;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .06);
}
.saiseiWrap .sa-costItem + .sa-costItem {
	margin-top: 20px;
}
.saiseiWrap .sa-costItemBtn {
	box-sizing: border-box;
	padding: 10px 80px 10px 32px;
	background: #00697f;
}
.saiseiWrap .sa-costItemTtl {
	color: #fff;
	font-size: 2rem;
	font-weight: 600;
	line-height: 1.8;
}
.saiseiWrap .sa-costTable {
	overflow: hidden;
	border: 1px solid #1c8da5;
}
.saiseiWrap .sa-costRow {
	display: flex;
	align-items: stretch;
}
.saiseiWrap .sa-costRow .sa-label {
	flex: 0 0 200px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px 12px;
	background: #1c8da5;
	color: #fff;
	font-size: 1.7rem;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.06em;
	text-align: center;
}
.saiseiWrap .sa-costRow .sa-body {
	flex: 1;
	box-sizing: border-box;
	padding: 24px 32px;
}
.saiseiWrap .sa-priceLine {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 4px 12px;
	margin-bottom: 4px;
	color: #222;
	font-size: 2rem;
	font-weight: 700;
}
.saiseiWrap .sa-priceLine .sa-yen {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border: 2px solid #00697f;
	border-radius: 50%;
}
.saiseiWrap .sa-priceLine .sa-yen img {
	width: 13px;
	height: 13px;
}
.saiseiWrap .sa-priceLine .sa-hl {
	background: linear-gradient(transparent 62%, #f7f17f 62%);
}
.saiseiWrap .sa-costRow .sa-txt {
	margin-top: 8px;
	font-size: 1.5rem;
	line-height: 1.9;
}
@media (max-width: 768px) {
.saiseiWrap .sa-costItemBtn {
	padding: 8px 20px;
}
.saiseiWrap .sa-costItemTtl {
	font-size: 1.9rem;
}
.saiseiWrap .sa-costRow {
	flex-direction: column;
}
.saiseiWrap .sa-costRow .sa-label {
	flex: none;
	padding: 10px 16px;
	font-size: 1.5rem;
}
.saiseiWrap .sa-costRow .sa-body {
	padding: 16px 20px;
}
.saiseiWrap .sa-priceLine {
	font-size: 1.8rem;
}
}

/* ====== Q&A：/internet/hibo/ の「よくある質問」と同じデザイン ====== */
.saiseiWrap .sa-qa {
	margin-top: 40px;
}
.saiseiWrap .sa-qa:first-child {
	margin-top: 0;
}
.saiseiWrap .sa-qa summary {
	position: relative;
	display: flex;
	align-items: flex-start;
	min-height: 60px;
	box-sizing: border-box;
	padding: 16px 55px 16px 24px;
	background: #3289a0;
	color: #fff;
	font-size: 2rem;
	line-height: 1.7;
	letter-spacing: 0.1em;
	list-style: none;
	cursor: pointer;
}
.saiseiWrap .sa-qa summary::-webkit-details-marker {
	display: none;
}
.saiseiWrap .sa-qa .sa-mk {
	flex: none;
	margin-right: 4px;
	font-family: monospace;
	font-size: 3rem;
	font-weight: 600;
	font-feature-settings: normal;
	line-height: 1;
	letter-spacing: 0.16em;
	color: #fff;
	position: relative;
	left: -4px;
}
.saiseiWrap .sa-qa .sa-qt {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: 0.1em;
}
.saiseiWrap .sa-qa .sa-pm {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 35px;
	width: 16px;
	height: 16px;
	margin: auto;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	box-sizing: border-box;
	transform: translateY(-2px) rotate(135deg);
	transition: all .3s ease-out;
}
.saiseiWrap .sa-qa[open] .sa-pm {
	transform: translateY(0) rotate(315deg);
}
.saiseiWrap .sa-qa .sa-ans {
	position: relative;
	display: block;
	box-sizing: border-box;
	padding: 22px 40px 28px 64px;
	background: #fff;
}
.saiseiWrap .sa-qa .sa-ans .sa-mk {
	position: absolute;
	top: 10px;
	left: 24px;
	font-family: inherit;
	font-weight: 400;
	font-feature-settings: normal;
	font-size: 3rem;
	letter-spacing: 0.1em;
	line-height: 1.6;
	color: var(--ink);
}
.saiseiWrap .sa-qa .sa-ans p {
	margin-bottom: 0;
	font-size: 1.6rem;
	line-height: 2;
	letter-spacing: 0.1em;
	color: var(--ink);
}
.saiseiWrap .sa-qa .sa-ans p:last-child {
	margin-bottom: 0;
}
@media (max-width: 768px) {
.saiseiWrap .sa-qa {
	margin-top: 30px;
}
.saiseiWrap .sa-qa summary {
	align-items: center;
	min-height: 45px;
	padding: 6px 35px 6px 15px;
	font-size: 1.4rem;
	line-height: 1.5;
}
.saiseiWrap .sa-qa .sa-mk {
	font-size: 2.4rem;
	line-height: 1.5;
}
.saiseiWrap .sa-qa .sa-qt {
	font-size: 1.4rem;
	line-height: 1.5;
}
.saiseiWrap .sa-qa .sa-pm {
	width: 12px;
	height: 12px;
	right: 15px;
}
.saiseiWrap .sa-qa .sa-ans {
	padding: 16px 20px 16px 40px;
}
.saiseiWrap .sa-qa .sa-ans .sa-mk {
	top: 10px;
	left: 16px;
	font-size: 2rem;
	line-height: 1.6;
}
.saiseiWrap .sa-qa .sa-ans p {
	margin-bottom: 0;
	font-size: 1.4rem;
	line-height: 1.7;
	letter-spacing: 0.04em;
}
}

/* ====== ヒーロー下端の実績バー（イメージ案のデザイン） ====== */
.mainVisWrap .visInr {
	padding-bottom: 160px;
}
.mainVisWrap .saFacts {
	position: absolute;
	left: 50%;
	bottom: 32px;
	z-index: 2;
	transform: translateX(-50%);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	width: calc(100% - 60px);
	max-width: 1000px;
	margin: 0;
	padding: 0;
	list-style: none;
	background: #fff;
	color: var(--ink);
}
.mainVisWrap .saFacts li {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 24px 24px;
	border-right: 1px solid #dcdcdc;
}
.mainVisWrap .saFacts li:last-child {
	border-right: 0;
}
.mainVisWrap .saFacts .saK {
	font-family: "Roboto Condensed", sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: .24em;
	color: var(--accent);
}
.mainVisWrap .saFacts .saV {
	font-size: 1.7rem;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: .06em;
}
.mainVisWrap .saFacts .saV b {
	margin-right: 2px;
	font-family: "PT Sans", sans-serif;
	font-size: 3.6rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	color: var(--teal);
}
@media screen and (max-width: 768px) {
.mainVisWrap .visInr {
	padding-bottom: 20px;
}
.mainVisWrap .saFacts {
	position: static;
	transform: none;
	grid-template-columns: 1fr;
	width: 100%;
	max-width: none;
}
.mainVisWrap .saFacts li {
	padding: 22px 24px;
	border-right: 0;
	border-bottom: 1px solid #dcdcdc;
}
.mainVisWrap .saFacts li:last-child {
	border-bottom: 0;
}
}

/* ====== REASON：本文の横に写真（/corporate/ と同じ構成） ====== */
.saiseiWrap .sa-reason .sa-rwrap {
	display: flex;
	gap: 30px;
	align-items: flex-start;
}
.saiseiWrap .sa-reason .sa-rtxt {
	flex: 4;
	min-width: 0;
}
.saiseiWrap .sa-reason .sa-rtxt > :last-child {
	margin-bottom: 0;
}
.saiseiWrap .sa-reason .sa-rimg {
	flex: 3;
}
.saiseiWrap .sa-reason .sa-rimg img {
	display: block;
	width: 100%;
	height: auto;
}
@media (min-width: 901px) {
.saiseiWrap .sa-reason .sa-rwrap-rev {
	flex-direction: row-reverse;
}
}
@media (max-width: 900px) {
.saiseiWrap .sa-reason .sa-rwrap {
	display: block;
}
.saiseiWrap .sa-reason .sa-rimg {
	margin-top: 20px;
}
}


/* ====== REASON：アイコン左／タイトル右、その下に本文 ====== */
.saiseiWrap .sa-reason {
	display: block;
}
.saiseiWrap .sa-reason .sa-rhead {
	display: flex;
	align-items: center;
	gap: 24px;
	margin-bottom: 28px;
}
.saiseiWrap .sa-reason .sa-rhead .sa-rno {
	flex-shrink: 0;
}
.saiseiWrap .sa-reason .sa-rhead h3 {
	margin-bottom: 0;
}
@media (max-width: 900px) {
.saiseiWrap .sa-reason .sa-rhead {
	gap: 16px;
	margin-bottom: 20px;
}
}

/* ====== PC／SP 改行の出し分け（corporate.css と同じ） ====== */
.pc-none {
	display: none!important;
}
@media screen and (max-width: 768px) {
.pc-none {
	display: block!important;
}
}

/* ====== 費用：POINT を丸囲みのアイコン風に ====== */
.saiseiWrap .sa-feeHi .sa-t {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background: var(--teal);
	color: #fff;
	font-size: 1.5rem;
	line-height: 1;
	letter-spacing: 0.06em;
	text-indent: 0.06em;
}
@media (max-width: 900px) {
.saiseiWrap .sa-feeHi .sa-t {
	width: 64px;
	height: 64px;
	font-size: 1.3rem;
}
}

/* ====== 費用：イメージ案の価格表示に近づける（表はそのまま） ====== */
.saiseiWrap .sa-costRow .sa-body {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
	text-align: right;
}
.saiseiWrap .sa-priceLine {
	justify-content: flex-end;
	margin-bottom: 0;
	font-size: 1.8rem;
	letter-spacing: 0.06em;
}
.saiseiWrap .sa-priceLine .sa-hl {
	background: none;
	display: flex;
	align-items: flex-start;
}
.saiseiWrap .sa-priceLine .sa-hl b {
	margin-right: 4px;
	color: var(--teal);
	font-family: "PT Sans", sans-serif;
	font-size: 4.2rem;
	font-weight: 700;
	line-height: .8;
	letter-spacing: 0;
}
.saiseiWrap .sa-priceLine .sa-hl .sa-unit {
	font-size: 2rem;
}
.saiseiWrap .sa-priceLine .sa-hl.sa-free {
	color: var(--teal);
	font-size: 3.2rem;
	font-weight: 900;
	line-height: 1.3;
	letter-spacing: 0.12em;
}
@media (max-width: 768px) {
.saiseiWrap .sa-costRow .sa-body {
	align-items: flex-start;
	text-align: left;
}
.saiseiWrap .sa-priceLine {
	justify-content: flex-start;
	font-size: 1.6rem;
}
.saiseiWrap .sa-priceLine .sa-hl b {
	font-size: 4.2rem;
}
.saiseiWrap .sa-priceLine .sa-hl .sa-unit {
	font-size: 1.8rem;
}
.saiseiWrap .sa-priceLine .sa-hl.sa-free {
	font-size: 3rem;
}
}

/* ====== CONTACT：SP で文字が折り返して矢印と重ならないように ====== */
.saiseiWrap .sa-cBox a {
	gap: 16px;
}
.saiseiWrap .sa-cBox .sa-l {
	min-width: 0;
}
@media (max-width: 768px) {
.saiseiWrap .sa-cBox a {
	gap: 12px;
	padding: 20px 18px;
}
.saiseiWrap .sa-cBox .sa-l {
	gap: 12px;
}
.saiseiWrap .sa-cBox .sa-ic {
	width: 40px;
	height: 40px;
}
.saiseiWrap .sa-cBox .sa-v {
	font-size: 1.5rem;
}
.saiseiWrap .sa-cBox .sa-v.sa-num {
	font-size: 2.2rem;
	white-space: nowrap;
}
.saiseiWrap .sa-cBox .sa-arw2 {
	width: 18px;
}
.saiseiWrap .sa-cBox .sa-hours {
	padding: 14px 18px;
}
}

/* ====== 費用：「費用目安」の欄をなくし、見出しの横に価格を置く／表同士はくっつける ====== */
.saiseiWrap .sa-costItem {
	display: flex;
	align-items: stretch;
}
.saiseiWrap .sa-costItem + .sa-costItem {
	margin-top: -1px;
}
.saiseiWrap .sa-costItemBtn {
	flex: 0 0 240px;
	display: flex;
	align-items: center;
	padding: 10px 24px;
}
.saiseiWrap .sa-costTable {
	flex: 1;
	min-width: 0;
	border: 0;
}
.saiseiWrap .sa-costRow {
	height: 100%;
}
.saiseiWrap .sa-costRow .sa-body {
	padding: 16px 32px;
}
@media (max-width: 768px) {
.saiseiWrap .sa-costItemBtn {
	flex: 0 0 104px;
	padding: 8px 12px;
}
.saiseiWrap .sa-costItemTtl {
	font-size: 1.5rem;
	line-height: 1.5;
}
.saiseiWrap .sa-costRow {
	flex-direction: row;
}
.saiseiWrap .sa-costRow .sa-body {
	align-items: flex-end;
	padding: 14px 14px;
	text-align: right;
}
.saiseiWrap .sa-priceLine {
	justify-content: flex-end;
	font-size: 1.5rem;
}
.saiseiWrap .sa-priceLine .sa-hl b {
	font-size: 3.6rem;
}
.saiseiWrap .sa-priceLine .sa-hl .sa-unit {
	font-size: 1.5rem;
}
.saiseiWrap .sa-priceLine .sa-hl.sa-free {
	font-size: 2.6rem;
}
.saiseiWrap .sa-costRow .sa-txt {
	font-size: 1.2rem;
	line-height: 1.7;
}
}

/* 費用：見出し帯の区切りを白線に */
.saiseiWrap .sa-costItem + .sa-costItem .sa-costItemBtn {
	border-top: 1px solid #fff;
}

/* ====== 対応業務：3枚のカードで見出し部分の高さを揃え、リストの開始位置を合わせる（subgrid） ====== */
@media (min-width: 901px) {
.saiseiWrap .sa-svc {
	column-gap: 24px;
	row-gap: 0;
}
.saiseiWrap .sa-svcCard {
	display: grid;
	grid-row: span 2;
	grid-template-rows: subgrid;
	row-gap: 0;
}
}

/* お悩み：結びの一文（SP） */
@media (max-width: 768px) {
.saiseiWrap .sa-wNote {
	font-size: 1.8rem;
}
}

/* セクション見出し：SP は現在の90%のサイズ */
@media (max-width: 768px) {
.saiseiWrap .sa-secTtl .sa-big {
	font-size: clamp(4.788rem, 7.695vw, 9.405rem);
}
.saiseiWrap .sa-secTtl h2 {
	font-size: clamp(1.98rem, 2.16vw, 2.52rem);
}
}

/* フロー：SP は右パディングをなくし、列の間隔で左右の幅を均等にする */
@media (max-width: 768px) {
.saiseiWrap .sa-steps {
	column-gap: 26px;
}
.saiseiWrap .sa-step,
.saiseiWrap .sa-step:nth-child(even) {
	padding-right: 0;
}
}

/* 費用：POINT バッジはSPでは円ではなく長方形 */
@media (max-width: 768px) {
.saiseiWrap .sa-feeHi .sa-t {
	justify-self: start;
	width: auto;
	height: auto;
	padding: 6px 16px;
	border-radius: 0;
}
}

/* CONTACT：SP の上下余白 */
@media (max-width: 768px) {
.saiseiWrap .sa-contact {
	padding: 50px 0;
}
}
