/* ===== reset  ===== */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */ 
footer, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
a {
	text-decoration: none;
	cursor: pointer;
}

/* ===== common parts  ===== */
:root {
  --main-color: #F25F96;
	--secondary-color: #fff;
	--bold: 700;
	--semi-bold: 600;
}
*{
    box-sizing: border-box;
}
img {
	width: 100%;
}
.faq-item .question img, 
.slick-prev img, 
.slick-next img, 
.steps-item img,
.testimonial-item img,
.floating-banner img,
.points img {
	width: auto;
}
.pc_only{
	display: block !important;
}
.sp_only{
	display: none !important;
}
body {
	background: var(--secondary-color);
	color: #000;
	font-size: 100%;
	font-weight: var(--bold);
	font-family: Noto Sans JP, Meiryo, sans-serif;
}
section, .footer {
	padding: 0 15px;
}
#contents {
  overflow: hidden;
}
/* ===== Header ===== */
.header {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	z-index: 10;
	width: 100%;
}
.header-block {
	display: flex;
	height: 104px;
	padding: 29px 24px 25px 37px;
	background: var(--main-color);
	color: var(--secondary-color);
	justify-content: space-between;
	align-items: center;
}
.logo {
	margin-right: 20px;
}
.menu-wrap {
	max-width: 1083px;
	width: 100%;
}
.menu {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.menu ul {
	display: flex;
	max-width: 859px;
	width: 100%;
  justify-content: space-between;
	gap: 10px;
}
.menu ul li a {
	position: relative;
	padding-right: 24px;
	border: none;
	font-weight: var(--semi-bold);
}
.menu a {
	color: var(--secondary-color);
	font-size: clamp(13px, 1.5vw, 16px);
	cursor: pointer;
}
.menu .nav-list li a:after { 
  position: absolute;
	top: 2px;
	right: 0;
	width: 16px;
  height: 16px;
  background: url('/kakeiminaoshi/consult/img/ico_arrow.svg') no-repeat center;
	content: "";
  background-size: contain;
}
.btn-consult {
	display: block;
	width: 176px;
	margin-left: 20px;
	padding: 18px 24px;
	border-radius: 6px;
	background: #090037;
	color: var(--secondary-color);
	text-align: center;
}

/* ===== Main Layout ===== */
.main {
	padding: 106px 0 0;
	background: var(--main-color);
}
.mv {
	position: relative;
	margin: 0 1.823vw;
	padding-bottom: 91px;
}
.mv-inner-wrap {
	max-width: 1792px;
	width: 100%;
	margin: 0 auto;
	padding: 0 0 274px;
	border-radius: 25.6px;
	background: var(--secondary-color);
}
.mv-ttl-block {
	display: flex;
	border-radius: 25px;
	justify-content: space-between;
}
.mv-ttl {
	display: flex;
	position: relative;
	padding: 6.4% 0 0 5.5%;
	justify-content: center;
	flex-direction: column;
}
.mv-ttl-txt {
	font-size: 1.875rem;
	text-align: left;
}
.mv-ttl .ttl-img01 {
	max-width: 864px;
}
.mv-ttl .ttl01 {
	margin-top: 46px;
}
.mv-ttl .ttl02 {
	position: absolute;
	top: 52px;
  right: -6px;
	max-width: 15.73vw;
}
.mv-img02 {
	max-width: 771px;
	margin: 4.7% -1.8% 0 1%;
}
.mv-illustration {
	position: absolute;
	bottom: 0;
	left: 50%;
	max-width: 1232px;
	width: 100%;
	margin: 0 auto;
	padding: 18px 64px 38px;
	border-radius: 25.6px;
	background: #FFE5EF;
  transform: translate(-50%, 0);
}
.title-block {
	position: relative;
	max-width: 678px;
	margin: 0 auto 10px;
	padding-top: 21px;
}
.mv-illustration .title {
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
	line-height: 100%;
}
.mv-illustration .title::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 84px;
	height: 78px;
	background: url('/kakeiminaoshi/consult/img/speaker.svg') no-repeat center;
	content: '';
	background-size: contain;
}
.mv-illustration ul {
	margin-top: 50px;
	list-style: none;
}
.mv-illustration li {
	position: relative;
	margin-bottom: 29px;
	padding: 4px 0 0 43px;
	font-size: 1.25rem;
	text-align: left;
}
.mv-illustration li::before { 
  position: absolute;
	top: 0;
	left: 0;
	width: 28px;
  height: 28px;
  background: url('/kakeiminaoshi/consult/img/ico_check.svg') no-repeat center;
	content: "";
  background-size: contain;
}

/* 4ポイント cards */
.points {
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
	padding: 70px 15px 7%;
	color: var(--secondary-color);
	text-align: center;
	align-items: stretch;
}
.points h2 {
	margin-bottom: 43px;
	font-size: 20px;
}
.points-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}
.point-card {
	display: flex;
	padding: 24px;
	border-radius: 14px;
	background: var(--secondary-color);
	color: #333;
	text-align: center;
	flex-direction: column;
}
.point-card h3 {
	margin: 18px auto 17px;
	font-size: 1.375rem;
	line-height: 170%;
	flex: 1;
}
.point-card p {
	margin-top: 6px;
	color: #F55797;
	font-size: 0.875rem;
	font-family: Inter, Noto Sans JP, Meiryo, sans-serif;
}
.point-card p span {
	display: block;
	margin-top: 8px;
	font-size: 2.25rem;
	font-family: Poppins, Noto Sans JP, Meiryo, sans-serif;
}
.points-grid img {
	margin: auto;
}

/* Review Section */
.review {
	width: 100%;
	margin: auto;
  padding: 120px 15px 55px;
  background: #ffe6f0;
  text-align: center;
}
.review .review-ttl {
  color: var(--main-color);
  font-size: 3.125rem;
	line-height: 140%;
}
.subheadings {
	display: flex;
	position: relative;
	width: 87.4%;
	margin: 64px auto 0;
	padding-bottom: 84px;
	gap: 24px;
	justify-content: center;
}
.subheadings li {
  position: relative;
	display: flex;
	max-width: 588px;
	padding-bottom: 42px;
	border-radius: 12px;
	background: var(--secondary-color);
  flex-direction: column;
  align-items: center;
	flex: 1;
}
.subheadings li:last-child::after, 
.subheadings li:first-child::before { 
  position: absolute;
	bottom: 0;
	content: "";
}
.subheadings li:first-child::before {
  left: -11.3vw;
  bottom: -4.4vw;
	width: 17.19vw;
  height: 16.67vw;
  background: url('/kakeiminaoshi/consult/img/subheadings_bg01.png') no-repeat center;
  background-size: contain;
}
.subheadings li:last-child::after {
  right: -7.4vw;
  bottom: -4vw;
	width: 8.23vw;
	height: 16.82vw;
  background: url('/kakeiminaoshi/consult/img/subheadings_bg02.png') no-repeat center;
  background-size: contain;
}
.subheadings-header {
  margin: 28px auto 63px;
  font-size: 2rem;
	line-height: 155%;
}
.subheadings-header sup {
  font-size: 1rem;
  vertical-align: super;
}
.subheadings-header .highlight {
  color: var(--main-color);
	font-size: 3.125rem;
	font-family: Barlow, Noto Sans JP, Meiryo, sans-serif;;
	line-height: 120%;
}
.subheadings li img {
	margin: auto;
}
.subheadings-txt {
	margin-bottom: 8px;
	font-size: 1.25rem;
	font-weight: var(--semi-bold);
}
.subheadings-notes {
	position: relative;
	margin-top: 24px;
	padding-left: 12px;
	color: #3F4252;
	font-size: 0.75rem;
	font-weight: 400;
	text-align: left;
	line-height: 140%;
	text-indent: 10px;
}
.subheadings-notes::before { 
  position: absolute;
	top: 0;
	left: 0;
	font-size: 0.75rem;
	content: "※";
}
.charts {
  display: flex;
  margin-top: 30px;
  justify-content: center;
  gap: 40px;
  flex-wrap: wrap;
}
.chart img {
  max-width: 100%;
  width: 300px;
  height: auto;
}

/* Steps Section */
.steps-section {
  padding: 7.1% 15px 4.8%;
  background: var(--secondary-color);;
  text-align: center;
}
.steps-section h2 {
  margin-bottom: 40px;
  font-size: 2.5rem;
}
.steps-section h2 .highlight {
	display: block;
	padding-bottom: 20px;
	color: var(--main-color);
  font-size: 1.5rem;
	line-height: 140%;;
}
.steps-section h2 .highlight02 {
	margin-left: 10px;
  font-size: 3rem;
}
.steps-section h2 .highlight03 {
  font-size: 1.875rem;
}
.steps {
	display: grid;
	max-width: 1198px;
	width: 100%;
	margin: auto;
	background: url('/kakeiminaoshi/consult/img/line.png') no-repeat 62% 10.4%;
	grid-template-columns: repeat(3, 1fr);
	gap: 56px;
}
.steps-item {
  padding: 20px;
  border-radius: 10px;
	line-height: 170%;
  box-sizing: border-box;
}
.steps-item .circle {
	display: flex;
  width: 64px;
  height: 64px;
	margin: auto;;
  border-radius: 50%;
  background: var(--main-color);;
  color: var(--secondary-color);
  font-size: 1.75rem;
  font-weight: var(--semi-bold);
	justify-content: center;
	align-items: center;
}
.steps-item h3 {
  margin: 35px auto 22px;
  font-size: 1.375rem;
}
.steps-item p {
  font-size: 1rem;
	font-weight: 400;
}
.steps-item img {
  margin: 20px auto 0;
}

/* Testimonials (Slick Slider) */
.testimonials {
  padding: 124px 0 114px;
  background-color: var(--main-color);
}
.testimonials-ttl {
	color: var(--secondary-color);
	font-size: 2.5rem;text-align: center;
	line-height: 140%;
}
.testimonial-item {
	position: relative;
	margin-top: 40px;
	border-radius: 16px;
	flex-direction: column;
}
.testimonial-item img {
	position: absolute;
	top: -39px;
	left: 50%;
	transform: translate(-50%, 0);
}
.testimonial-item p {
  margin-top: 5px;
  font-size: 14px;
}
.slider .slider-txt01 {
	padding-top: 50px;
	color: #6A6A6A;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 140%;
}
.slider .slider-txt02 {
	margin: 21px;
	padding: 16px 20px;
	border-radius: 6.4px;
	background: #F4F4F4;
	font-size: 1rem;
	font-weight: 400;
	line-height: 170%;
}
.testimonial-item {
	background: var(--secondary-color);
  text-align: center;
}

/* Slick Slider */
.slick-dotted.slick-slider {
	margin-bottom: 0;
	padding-bottom: 50px;
}
.slick-initialized .slick-slide {
	display: flex;
	height: auto;
}
.slick-initialized .slick-slide .slider-txt02 {
	flex: 1;
}
.slick-track {
	display: flex;
	gap: 32px;
}
.slide-btn {
	position: relative;
	width: 250px;
  margin: auto;
}
.slide-btn span {
	display: none;
}
.slick-next {
	margin-right: 20px;
}
.slick-prev:before, .slick-next:before {
	display: none;
}
.slick-dots li button:before {
  color: var(--secondary-color);
	font-size: 0.8rem;
	opacity: unset;
}
.slick-dots li.slick-active button:before {
	color: #132B51;
}

/* FAQ Section */
.faq {
  padding: 122px 15px 99px;
  background-color: var(--secondary-color);
}
.faq .faq-ttl {
	font-size: 2.5rem;
	text-align: center;
	line-height: 140%;
}
.faq-list {
	max-width: 1200px;
	width: 100%;
	margin: 59px auto 0;
}
.faq-item {
  margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1.6px solid #E5E5E5;
	font-size: 1rem;
	line-height: 170%;
}
.faq-item li {
	position: relative;
}
.faq-item .question {
  display: flex;
  cursor: pointer;
  justify-content: space-between;
  align-items: center;
}
.faq-item .question p {
	font-weight: var(--semi-bold);
}
.faq-item .question p::before { 
  position: absolute;
	top: 0;
	left: 0;
	width: 32px;
  height: 32px;
  background: url('/kakeiminaoshi/consult/img/ico_question.svg') no-repeat center;
	content: "";
  background-size: contain;
}
.faq-item .question .arrow.rotate {
	-webkit-transition-duration: 1s;
	-moz-transition-duration: 1s;
	-o-transition-duration: 1s;
		transition-duration: 1s;
	-webkit-transition-property: -webkit-transform;
	-moz-transition-property: -moz-transform;
	-o-transition-property: -o-transform;
		transition-property: transform;
	-webkit-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	transform: rotate(180deg);
	transition: transform 0.3s ease;
}
.faq-item .answer {
  display: none;
	margin-top: 16px;
  padding-left: 10px;
}
.faq-item .answer p {
  font-weight: 400;
}
.faq-item .answer p::after { 
  position: absolute;
	top: 0;
	left: 0;
	width: 32px;
  height: 32px;
  background: url('/kakeiminaoshi/consult/img/ico_asnwer.svg') no-repeat center;
	content: "";
  background-size: contain;
}
.faq-item li p {
	padding-left: 50px;
}

/* floating-banner */
.banner {
	width: 100%;
	padding: 0 15px 120px;
	background: var(--secondary-color);
}
.banner-inner-wrap {
	max-width: 1200px;
	margin: auto;
	padding: 53px 0 52px;
	border-radius: 16px;
	background: #FFECF3;
}
.floating-banner {
	display: flex;
	text-align: center;
  justify-content: center;
  align-items: center;
}
.floating-banner .txt-block {
  max-width: 512px;
	width: 100%;
	margin: 0 63px;
}
.floating-banner-ttl {
	display: inline-block;
	position: relative;
	padding: 0 27px;
	font-size: 1.5rem;
	line-height: 160%;
}
.floating-banner-ttl::before,
.floating-banner-ttl::after { 
  position: absolute;
	top: 6px;
	width: 20px;
  height: 30px;
	content: "";
}
.floating-banner-ttl::before {
	left: 0;
  background: url('/kakeiminaoshi/consult/img/ico_banner_left.png') no-repeat center;
  background-size: contain;
}
.floating-banner-ttl::after {
	right: 0;
  background: url('/kakeiminaoshi/consult/img/ico_banner_right.png') no-repeat center;
  background-size: contain;
}
.floating-banner-anchor {
	font-size: 1.5rem;
}
.floating-banner-anchor a {
	display: block;
	margin-top: 32px;
	padding: 24px 0;
	border-radius: 16.001px;
	background: #040533;
	color: var(--secondary-color);
}

/* Footer Section */
.footer {
  padding: 80px 20px 36px;
  background: var(--main-color);
	color: var(--secondary-color);
	font-size: 1rem;
  text-align: center;
}
.footer-list {
	display: flex;
	max-width: 815px;
	margin: auto;
	justify-content: center;
}
.footer-list li a {
	color: var(--secondary-color);
	font-weight: 500;
}
.footer-list li:not(:last-child) {
	margin-right: 40px;
	margin-right: 5.1%;
}
.footer-txt {
	margin-top: 80px;
	font-weight: 400;
}

/* ===== Medium sreen ===== */
@media screen and (max-width: 1500px) {
		.mv-illustration {
			max-width: 82.133vw;
			padding: 1.067vw 4.267vw 2.533vw;
	}
}

/* ===== Small sreen ===== */
@media screen and (max-width: 1200px) {
	/* ===== Header ===== */
	.header-block {
		height: 8.667vw;
		padding: 2.42vw 2.83vw 2.08vw 2.25vw;
	}
	.logo {
		width: 15vw;
		margin-right: 1.67vw;
	}
	.menu-wrap {
		max-width: none;
	}
	.menu ul {
		gap: 0.83vw;
	}
	.menu a {
		font-size: 1.33vw;
	}
	.menu ul li a {
		padding-right: 2.08vw;
	}
	.menu .nav-list li a:after {
		width: 1.33vw;
    height: 1.33vw;
	}
	.btn-consult {
		width: 14.67vw;
		margin-left: 1.67vw;
		padding: 1.5vw 2vw;
	}

	/* ===== Main Layout ===== */
	.main {
		padding: 8.83vw 0 0;
	}
	.mv-illustration li {
		margin-bottom: 2.417vw;
	}

/* ===== Points section ===== */
	.points {
		max-width: none;
	}
	.points-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ===== Mobile ===== */
@media screen and (max-width: 767px) {
	/* ===== common parts ===== */
	.pc_only{
		display: none !important;
	}
	.sp_only{
		display: block !important;
	}
	.testimonial-item img,
	.floating-banner img,
	.points img, 
	.logo img {
		width: 100%;
	}

	/* ===== header parts ===== */
	.header-block {
		height: 66px;
    padding: 0;
		background: none;
		justify-content: flex-start;
		flex-direction: column;
	}
	.header-nav {
		display: flex;
    width: 100%;
		padding: 34px 0 16px 16px;
		background: var(--main-color);
    justify-content: space-between;
    flex-direction: row;
	}
	.logo img {
		width: 28vw;;
	}
	.menu-btn {
		position: relative;
		width: 8.8vw;
		margin-right: 4.27vw;
		cursor: pointer;
	}
	.menu-btn span {
		position: absolute;
		right: 0;
		width: 100%;
		height: 1px;
		background: var(--secondary-color);
		transition: 0.3s;
	}
	.menu-btn span:nth-child(1) { 
		top: 1.1vw;
		width: 8.8vw;
	}
	.menu-btn span:nth-child(2) { 
		bottom: 1.07vw;
		width: 6.4vw;
	}
	.menu-btn.open span:nth-child(1) {
		top: 1.6vw;
		transform: rotate(-150deg);
	}
	.menu-btn.open span:nth-child(2) {
		bottom: 2.4vw;
		width: 8.8vw;
		transform: rotate(-30deg);
	}
	
		/* SP Menu Panel */
	.menu-wrap {
		position: relative;
		right: -100%; 
		z-index: 999;
		max-width: 100%;
		transition: right 0.5s;
		overflow-y: auto;
	}
	.menu-wrap.active { 
		right: 0; 
	}
	.menu {
		width: 82%;
		margin: 0 0 0 18%;
		padding: 6.4vw 5.33vw 0 6.4vw;
		background: var(--secondary-color);
		flex-direction: column;
		justify-content: start;
	}
	.menu a {
		font-size: 1.125rem;
	}
	.menu ul {
		max-width: 100%;
		margin: 0 auto 0 0;
		flex-direction: column;
		gap: 0;
	}
	.menu ul li a {
		display: block;
		padding: 6.4vw 0;
		color: #000;
		font-weight: 500;
		line-height: 100%;
	}
	.menu ul li.nav-item a {
		border-bottom: 1px solid #E5E5E5;
	}
	.menu ul li.nav-item a:after {
		top: 5.6vw;
		width: 24px;
		height: 24px;
		background: url('/kakeiminaoshi/consult/img/ico_arrow_sp.svg') no-repeat center;
    background-size: contain;
	}
	.menu-anchor {
		padding: 32px 0 0;
	}
	.btn-consult {
		width: 68.8vw;
		margin-left: 0;
		padding: 19px 24px;
	}
	.menu .nav-list02 {
		padding: 16.53vw 0 24.8vw;
	}
	.menu .nav-list02 a {
		padding: 0;
		font-size: 0.875rem;
	}
	.menu .nav-list02 li:nth-child(n+2) a {
		padding-top: 27px;
		font-size: 0.875rem;
	}

	/* ===== Main Layout ===== */
	.main {
		padding: 72px 0 0;
	}
	.mv {
		margin: 0 15px 0 15px;
		padding-bottom: 0;
	}
	.mv-inner-wrap {
		max-width: 91.47vw;
		width: 100%;
		padding: 0;
		border-radius: 4.27vw;
		text-align: center;
	}
	.mv-ttl-block {
		flex-direction: column;
	}
	.mv-ttl-block h1 {
		padding: 47px 20px 25px;
	}
	.mv-ttl-txt {
		font-size: 1.25rem;
	}
	.mv-ttl .ttl01 {
    margin-top: 27px;
	}
	.mv-ttl .ttl02 {
    top: -14px;
    right: -9px;
    max-width: 35.67vw;
	}
	.mv-img02 {
		margin: 0 -4.2vw 4.27vw -1.87vw;
	}
	.mv-illustration {
		position: relative;
		left: 0;
		max-width: fit-content;
		margin: 0;
		padding: 42px 18px 40px;
		border-radius: 4.27vw;
		background: #FFE5EF;
		font-size: 14px;
    transform: translate(0, 0);
	}
	.title-block {
		max-width: 100%;
		padding-top: 0;
	}
	.mv-illustration .title {
		margin-left: 25px;
		font-size: 1.25rem;
	}
	.mv-illustration .title::before {
		top: -5.07vw;
		left: -8vw;
		width: 14.67vw;
		height: 14.13vw;
	}
	.mv-illustration ul {
		margin-top: 24px;
	}
	.mv-illustration li {
		margin-bottom: 5.07vw;
		padding: 0 0 0 7.73vw;
		font-size: 0.9375rem;
		line-height: 170%;
	}
	.mv-illustration li::before {
		top: 4px;
		width: 5.33vw;
		height: 5.33vw;
	}

	/* 4ポイント cards */
	.points {
		max-width: none;
		width: 89.33vw;
		padding: 67px 0 82px;
	}
	.points h2 {
    width: 71.2vw;
		margin: 0 auto 32px;
	}
	.points-grid {
		grid-template-columns: repeat(1, 1fr);
	}
	.point-card {
		padding: 21px 21px 28px;
	}
	.point-card-wrap {
		display: flex;
	}
	.point-card p {
		font-size: 0.75rem;
	}
	.point-card p span {
		font-size: 2.25rem;
	}
	.point-card h3 {
		margin: 0 auto 25px 25px;
		font-size: 1.25rem;
		text-align: left;
		line-height: 170%;
	}
	.points-grid img {
		width: 100%;
	}

	/* Review Section */
	.review {
		padding: 80px 0 0;
	}
	.review .review-ttl {
		font-size: 2rem;
	}
	.subheadings {
		width: 91.47vw;
		margin: 33px auto 0;
		flex-direction: column;
	}
	.subheadings li:last-child::after, 
	.subheadings li:first-child::before {
		display: none;
	}
	.subheadings li {
		max-width: none;
		padding-bottom: 32px;
		border-radius: 8px;
	}
	.subheadings li:nth-child(1) .subheadings-header {
		margin: 28px auto 36px;
	}
	.subheadings-header {
		margin: 28px auto 48px;
		font-size: 1.1875rem;
		line-height: 167%;
	}
  .subheadings-header sup {
    font-size: 0.7rem;
  }
	.subheadings-header .highlight {
		font-size: 1.625rem;
	}
	.subheadings-txt {
		margin-bottom: 26px;
		font-size: 1rem;
	}
	.subheadings-notes {
		margin: 14px 20px 0 10px;
	}
  .subheadings-img {
    padding: 0 25px;
  }
	/* Steps Section */
	.steps-section {
		padding: 94px 0 0;
	}
	.steps-section h2 {
		margin-bottom: 21px;
		font-size: 1.75rem;
	}
	.steps-section h2 .highlight {
		font-size: 1rem;
		line-height: 140%;
	}
	.steps-section h2 .highlight02 {
		font-size: 2.375rem;
	}
	.steps-section h2 .highlight03 {
		font-size: 1.3125rem;
	}
  .steps {
		position: relative;
		max-width: 100%;
		padding-bottom: 83px;
		background: none;
    grid-template-columns: repeat(1, 1fr);
		gap: 0;
  }
	.steps::before { 
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 90%;
		background: url('/kakeiminaoshi/consult/img/line_sp.png') 45px top repeat-y;
		content: "";;
		background-size: auto;
	}
	.steps::after { 
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 91%;
		background: url('/kakeiminaoshi/consult/img/line-arrow_sp.png') no-repeat 38px bottom;
		content: "";
		background-size: auto;
	}
  .steps-item {
		display: flex;
    max-width: 100%;
		padding: 22px 21px 0;
  }
	.steps-item .circle {
		z-index: 5;
		width: 52px;
		height: 52px;
		margin: 0;
		font-size: 1.5rem;
	}
	.steps-content{
		margin-left: 1.93vw;
		text-align: left;
	}
	.steps-item h3 {
		margin: 15px auto 11px;
	}
  .steps-img img {
		width: 50% !important;
    margin: 20px auto 0;
	}
  
	/* Testimonials parts */
	.testimonials {
		padding: 52px 0 94px;
	}
	.testimonials-ttl {
		font-size: 1.75rem;
	}

	/* Slick Slider */
	.slider {
		margin: 40px 0 0;
    flex-direction: column;
	}
	.testimonial-item {
		max-width: 100%;
		margin: 40px 20px 0;
	}
	.testimonial-item img {
    max-width: 80px;
  }
	.slider .slider-txt02 {
		margin: 20px;
	}
	.slick-track {
		gap: 0;
	}
	.slick-dotted.slick-slider {
		padding-bottom: 6.4%;
	}
	.slide-btn {
		width: 74%;
		margin: 14px auto 0;
	}
	.slick-prev, 
	.slick-next {
		width: 12.8vw;
		height: 12.8vw;
	}
	.slick-prev {
		left: -30px;
	}
	.slick-next {
    right: -50px;
	}

	/* FAQ Section */
	.faq {
		padding: 21.33vw 20px 16.8vw;
	}
	.faq .faq-ttl {
		font-size: 1.75rem;	
		line-height: 100%;
	}
	.faq-list {
		margin: 45px auto 0;
	}
	.faq-item li p {
		padding-left: 35px;
	}
	.faq-item .question img {
		width: 20px;
		margin: 5px 2px auto;
	}
	.faq-item .question p::before,
	.faq-item .answer p::after {
		width: 24px;
    height: 24px;
	}

	/* floating-banner */
	.banner {
		padding: 0;
	}
	.banner-inner-wrap {
		border-radius: 0;
	}
	.floating-banner {
		display: block;
		position: relative;
		max-width: 100%;
	}
	.floating-banner .txt-block {
		display: block;
		margin: auto;
		font-size: 1.25rem;
	}
	.floating-banner-ttl {
		padding: 31px 0 0;
		font-size: 1.25rem;
	}
	.banner img {
		position: absolute;
	}
	.banner .ttl-img01 {
		left: 12px;
		width: 20.17vw;
	}
	.banner .ttl-img02 {
		top: 0;
		right: 30px;
		width: 14.12vw;
	}
	.floating-banner-anchor a {
		position: fixed;
		bottom: 0;
    left: 0;
		z-index: 7;
		max-width: none;
		width: 100%;
		border-radius: 0;
		font-size: 1.125rem;
		transition: all 0.1s ease;
	} 
	.floating-banner-anchor a.relative  {
		position: relative;
		width: 84%;
		margin: 4vw auto 0;
		padding: 18px 0;
		border-radius: 10px;
		font-size: 1.125rem;
	}
	.floating-banner-ttl::before, 
	.floating-banner-ttl::after {
		top: auto;
    bottom: 1px;
		width: 18px;
    height: 35px;
	}
	.floating-banner-ttl::after {
		right: -17px;
	}
	.floating-banner-ttl::before {
		left: -35px;
	}

/* ===== Footer Section ===== */
	.footer {
		padding: 10.67vw 0 6.4vw;
	}
	.footer-list {
		margin-left: 6.67vw;
		line-height: 100%;
		justify-content: flex-start;
		flex-wrap: wrap;
		gap: 12px;
	}
	.footer-list li:not(:last-child) {
		margin-right: 4vw;
	}
	.footer-list li a {
		font-size: 0.875rem;
	}
	.footer-txt {
		margin-top: 8.53vw;
		font-size: 0.625rem;
		line-height: 140%;
	}
}