@media screen and (max-width: 1023px) {
	/*************************** 00. 共通設定 *******************/

	.onlyTab {
		display: block !important;
	}

	.onlyLg {
		display: none !important;
	}

	/*************************** 00. 共通パーツ *******************/
	/*===============================
	流れるテキスト
	================================*/
	/* TOP-ABOUT */
	.scroll-infinity.-top-about {
		top: 145px;
	}

	.scroll-infinity.-top-about .scroll-infinity__list {
		width: calc(2025px * 2);
	}

	.scroll-infinity.-top-about .scroll-infinity__item {
		/* 画像の幅 */
		width: 2025px;
	}

	.scroll-infinity.-top-about .scroll-infinity__item img,
	.scroll-infinity.-top-about .scroll-infinity__item picture {
		/* 画像の高さ */
		height: 66px;
	}

	/* GRADATION */
	.scroll-infinity.-gradation {
		position: absolute;
		top: 0;
		left: 0;
	}

	.scroll-infinity.-gradation .scroll-infinity__list {
		width: calc(1925px * 2);
	}

	.scroll-infinity.-gradation .scroll-infinity__list.-left {
		animation: infinity-scroll-left 80s infinite linear 0.5s both;
	}

	.scroll-infinity.-gradation .scroll-infinity__item {
		/* 画像の幅 */
		width: 1925px;
	}

	.scroll-infinity.-gradation .scroll-infinity__item img,
	.scroll-infinity.-gradation .scroll-infinity__item picture {
		/* 画像の高さ */
		height: 74px;
	}

	/*************************** 01. 固定ページのh1,h2見出し *******************/
	/*===============================
	heading-underline
	================================*/
	.heading-underline h2 > span {
		font-size: 20px;
	}

	.heading-underline h2 {
		font-size: 28px;
	}

	.heading-underline.-pcBig h2 {
		font-size: 28px;
	}

	.heading-underline.-pcSmall h2 {
		font-size: 28px;
	}

	/*===============================
	heading
	================================*/
	.heading span {
		font-size: 48px !important;
	}

	.heading.-pcLeft {
		justify-content: center;
		align-items: center;
	}

	.heading.-pcLeft h2 {
		text-align: center;
	}

	.heading.-pcLeft span {
		text-align: center;
	}

	/*************************** 02. toppage ***********************/
	/*===============================
	FV
   ================================*/
	.top-fv__content .top-fv__catch {
		font-size: 50px;
	}

	/*===============================
	ABOUT
   ================================*/
	.top-about__wrapper {
		flex-flow: column-reverse;
		padding-block: 30px;
		padding-inline: 30px;
	}

	.top-about__textArea {
		width: 100%;
		margin-block-start: 30px;
	}

	.top-about__textArea h1 {
		color: var(--text-color-03);
		font-size: 19px;
		font-weight: 700;
	}

	.top-about__textArea p {
		width: 100%;
		margin-block-start: 30px;
		color: var(--text-color-03);
	}

	.top-about__wrapper figure {
		width: 100%;
		max-width: 300px;
	}

	/*===============================
	PROBLEM
	================================*/
	.problem__inner {
		padding-inline: var(--sp-sidePadding-narrow);
	}

	.problem__heading {
	}

	.problem__content {
		position: relative;
		z-index: 2;
		margin-block-start: 19px;
	}

	.problem__content ul {
		grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
		gap: 10px;
	}

	.problem__content ul li {
		width: 100%;
		min-height: 100px;
		border-radius: 8px;
	}

	/*===============================
	STRENGTH
	================================*/
	.top-strength {
		padding-block: 69px 73px;
	}

	.top-strength__deco.-first {
		top: -134px;
		left: calc(50% - 340px);
		z-index: 1;
		width: 179px;
	}

	.top-strength__deco.-second {
		right: calc(50% - 338px);
		bottom: -120px;
		width: 179px;
	}

	.top-strength__deco.-third {
		top: 115px;
		right: calc(50% - 346px);
		rotate: -131deg;
		width: 181px;
	}

	.top-strength__deco.-fourth {
		top: 1024px;
		bottom: unset;
		left: calc(50% - 321px);
		rotate: -50deg;
		width: 179px;
	}

	/*===============================
	LIST
	================================*/
	.list__item {
		width: 100%;
	}

	.list__item section {
		flex-direction: column-reverse;
		gap: 29px;
	}

	.list__item:nth-child(even) section {
		flex-direction: column-reverse;
	}

	.list__head h3 {
		font-size: 22px;
	}

	.list__head h3.-fz24 {
		font-size: 24px;
	}

	.list__head p {
		font-size: 16px;
	}

	.list__item section figure {
		width: 100%;
		max-width: 400px;
	}

	.list__textArea {
		max-width: 600px;
	}

	/*===============================
	CTA
	================================*/
	.cta::before {
		width: 258px;
		height: 396px;
		right: calc(50% - 313px);
	}

	.cta__heading {
		flex-direction: column;
		align-items: flex-start;
		padding-block: 15px;
		padding-inline: 50px;
	}

	.cta__heading > div {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		width: 100%;
		max-width: 600px;
		margin-inline: auto;
	}

	.cta__heading span {
		position: relative;
		z-index: 2;
		height: 28px;
		padding-inline: 26px;
		font-size: 14px;
	}

	.cta__heading h2 {
		position: relative;
		z-index: 2;
		font-size: 18px;
		text-align: left;
		text-shadow: 0 0 10px #e76c00;
	}

	.cta__content {
		padding-block: 21px 45px;
		max-width: 600px;
		margin-inline: auto;
	}

	.cta__content h3 {
		justify-content: center;
		max-width: 345px;
		font-size: 18px;
	}

	.cta__buttons {
		flex-direction: column;
		gap: 12px;
		width: 100%;
		max-width: 345px;
		margin-inline: 0;
	}

	.cta__buttons a {
		justify-content: flex-end;
		padding-inline: 23px;
		min-height: 96px;
		font-size: 20px;
	}

	.cta__buttons a:first-child span {
		margin-inline-start: 27px;
	}

	.cta__buttons a span {
		width: 34px;
		height: 34px;
	}

	/*===============================
	SERVICE
	================================*/
	.top-service {
		padding-block: 65px 90px;
	}

	.top-service__content {
		margin-block-start: 33px;
	}

	.top-service__head ul {
		gap: 10px;
	}

	.top-service__head ul li a {
		width: calc((100% - 10px * 2) / 3);
		min-height: 170px;
		height: auto;
	}

	.top-service__head ul li a section {
		flex-direction: column-reverse;
		justify-content: space-between;
		gap: 10px;
	}

	.top-service__head ul li a section h3 {
		display: grid;
		place-content: center;
		height: 42px;
		color: var(--text-color-2);
		font-size: 16px;
		font-weight: 700;
		line-height: 1.18;
		text-align: center;
	}

	.top-service__head ul li a section figure {
		width: 100%;
	}

	.top-service__head ul li a section figure picture img {
		aspect-ratio: 153 / 104;
	}

	.top-service__foot {
		margin-block-start: 50px;
		flex-direction: column;
	}

	.top-service__foot > section {
		padding-block: 32px 12px;
	}

	.top-service__foot section h3 {
		font-size: 25px;
	}

	.top-service__foot section h3.-noGood {
		font-size: 20px;
	}

	.top-service__foot section ul {
		max-width: 750px;
	}

	.top-service__head ul li a {
		padding: 5px 5px 10px;
	}

	.top-service__foot section ul li section h4::before {
		top: 3px;
	}

	/*===============================
	CASE
	================================*/
	.top-case {
		padding-block: 52px 140px;
	}

	.top-case__button {
		top: unset;
		right: unset;
		bottom: -31px;
		left: 50%;
		translate: -50% 100%;
	}

	.top-case__button a {
		width: 234px;
		color: white;
		background: #373737;
	}

	.top-case__button a::before,
	.top-case__button a::after {
		background-color: white;
	}

	.top-case__content {
		margin-block-start: 54px;
	}

	.top-case__swiper-slide {
		width: 400px;
		padding-block-end: 20px;
		border-radius: 8px;
		border: 1px solid rgba(0, 0, 0, 0.2);
		background: rgba(255, 255, 255, 0.5);
		backdrop-filter: blur(31.104650497436523px);
	}

	.top-case__swiper-slide section {
	}

	.top-case__swiper-slide > section > h3 {
		padding-block: 8px;
		font-size: 18px;
	}

	.top-case__swiper-slide > section > p {
		padding-block-start: 21px;
		font-size: 14px;
	}

	.top-case__swiper-slide > section > section > h4 {
		font-size: 16px;
	}

	.top-case__swiper-slide section > section h4::after {
		width: 52px;
	}

	.top-case__swiper-slide > section > section > ul > li {
		font-size: 14px;
	}

	.top-case__swiper-slide > section > section > figure {
		width: 100%;
	}

	.top-case__swiper-nav {
		margin-block-start: 18px;
	}

	/*===============================
	NEWS
	================================*/
	.top-news {
		padding-block: 141px 55px;
	}

	.top-news__inner {
		flex-direction: column;
		gap: unset;
	}

	.top-news__heading {
		display: contents;
	}

	.top-news__heading a {
		order: 3;
		justify-content: flex-end;
		margin-block-start: 40px;
	}

	.top-news__content {
		order: 2;
		margin-block-start: 34px;
		padding-block-start: 23px;
		border-top: 1px solid rgba(49, 49, 49, 0.2);
	}

	.top-news__content section {
	}

	.top-news__content section a {
		align-items: center;
	}

	.top-news__content section a time {
		font-size: 15px;
		text-box-trim: trim-both;
	}

	.top-news__content section a h3 {
		margin-block-start: -4px;
		font-size: 16px;
		line-height: 1.8;
		text-box-trim: trim-both;
	}

	/*===============================
	PROMISE
	================================*/
	.top-promise {
		padding-block: 60px;
	}

	.top-promise__deco {
	}

	.top-promise__deco.-first {
		top: 11px;
		right: calc(50% - 300px);
		left: unset;
		width: 107px;
	}

	.top-promise__deco.-second {
		top: 38px;
		right: calc(50% - 250px);
		left: unset;
		width: 107px;
	}

	.top-promise__deco.-third {
		top: 22px;
		bottom: unset;
		right: calc(50% - 300px);
		width: 104px;
	}

	.top-promise__deco.-fourth {
		top: 94px;
		bottom: unset;
		right: calc(50% - 220px);
		width: 73px;
	}

	.top-promise__content > section {
		flex-direction: column;
		gap: 40px;
	}

	.top-promise__content > section.-notPromise {
		flex-direction: column;
		margin-block-start: 60px;
	}

	.top-promise__content section ul li {
		padding: 30px 16px;
	}

	.top-promise__content section ul li section h3 {
		line-height: 1.4;
		font-size: 20px;
	}

	.top-promise__foot {
		margin-block-start: 60px;
	}

	.top-promise__foot h2 {
		font-size: 24px;
	}

	.top-promise__button {
		width: 100%;
		max-width: 360px;
	}

	/*===============================
	MESSAGE
	================================*/
	.top-message {
		padding-block: 60px 70px;
	}

	.top-message__content {
		flex-direction: column-reverse;
		gap: 36px;
		margin-block-start: 27px;
	}

	.top-message__content {
		max-width: 600px;
		margin-inline: auto;
	}

	.top-message__content figure {
		margin-inline: auto;
	}

	.top-message__content figure img {
		aspect-ratio: 336 / 364;
	}

	/*===============================
	FAQ
	================================*/
	.faq {
		padding-block: 66px 90px;
	}

	.faq__content {
		margin-block-start: 39px;
		gap: 34px;
	}

	/*===============================
	QA
	================================*/

	.p-qa-box__q {
		margin-inline-start: 60px;
		padding: 10px 18px;
		border-radius: 0 8px 8px 8px;
	}

	.p-qa-box__q::before {
		left: calc(-48px - 12px);
		width: 48px;
		height: 48px;
	}

	.p-qa-box__content {
		margin-block-start: 22px;
	}

	.p-qa-box__a {
		margin-inline-end: 60px;
		padding: 10px 14px;
		border-radius: 8px 0 8px 8px;
	}

	.p-qa-box__a::before {
		right: calc(-48px - 12px);
		width: 48px;
		height: 48px;
	}

	.p-qa-box__a-text {
		font-size: 14px;
	}

	/*************************** 03. form  ***********************/

	/*************************** 04. 下層ページ  ***********************/
	/*===============================
   FV
	================================*/
	.page-fv {
		padding-block: 70px;
		background: url(../../img/sp/service-fv_bg-min.webp) no-repeat bottom right / cover;
	}

	.page-fv__deco.-first {
		top: -67px;
		right: calc(50% - 350px);
		left: unset;
		width: 181px;
	}

	.page-fv__deco.-second {
		top: 193px;
		bottom: unset;
		left: calc(50% - 450px);
		width: 319px;
	}

	.page-fv__inner {
		flex-direction: column;
		gap: 36px;
	}

	.page-fv__content h2 {
		font-size: 40px;
		line-height: 1.5;
	}

	.page-fv__content p {
		margin-block-start: 20px;
		font-size: 14px;
		line-height: 1.8;
	}

	.page-fv__content ul {
		margin-block-start: 35px;
		padding-inline-end: 100px;
	}

	.page-fv__content ul::after {
		width: 116px;
		height: 144px;
		background: url(../../img/sp/service-fv-min.webp) no-repeat bottom right / cover;
	}

	.page-fv__content ul li {
		padding: 10px;
		font-size: 16px;
	}

	.page-fv__content ul li:last-child {
		border-bottom: none;
	}

	/*===============================
      コンタクトセクション
	================================*/
	.page-fv__contact {
		width: 100%;
		max-width: 485px;
		padding-block: 17px 26px;
	}

	.page-fv__contact > div {
		padding-inline: 21px;
	}

	.page-fv__contactHead {
		gap: 9px;
	}

	.page-fv__contactHead > h3 {
		font-size: 24px;
		line-height: 1.16;
		letter-spacing: 0.06em;
	}

	.page-fv__contactWrapper {
		margin-block-start: 15px;
	}

	.page-fv__contact > div > p {
		margin-block-start: 13px;
		font-size: 11px;
	}

	/*===============================
   SUPPORT
	================================*/
	.service-support {
		padding-block: 77px 60px;
		background: url(../../img/sp/service-support_bg-min.webp) no-repeat top right / cover;
	}

	.service-support__inner {
		padding-inline: var(--sp-sidePadding);
	}

	.service-support__content {
		margin-block-start: 33px;
	}

	.service-support__content ul {
		flex-wrap: wrap;
		gap: 23px;
		align-items: center;
		justify-content: center;
	}

	.service-support__content ul > li {
		width: calc((100% - 23px * 1) / 2);
	}

	.service-support__content ul li section h3 {
		padding-block: 8px 7px;
		font-size: 24px;
	}

	/*===============================
   ABOUT
	================================*/
	.service-about {
		padding-block: 52px 75px;
	}

	.service-about__deco.-first {
		top: -56px;
		width: 179px;
		rotate: -130deg;
	}

	.service-about__deco.-second {
		bottom: 0px;
		width: 196px;
		rotate: 33deg;
	}

	.service-about__content {
		padding: 39px 20px;
	}

	.service-about__content section h3 {
		font-size: 20px;
	}
	.service-about__content section h4{
		font-size:18px;
	}

	.service-about__content section h3::after {
		width: 80px;
	}

	.service-about__box {
		display: flex;
		flex-wrap: wrap;
		gap: 12px;
	}

	.service-about__box li {
		width: calc((100% - 12px * 1) / 2);
		height: 90px;
		padding: 8px 0px;
		font-size: 14px;
	}

	.service-about__box li > span {
		font-size: 13px;
	}

	/*===============================
   REASON
	================================*/
	.reason {
		padding-block: 136px 55px;
	}

	.reason.-reason {
		padding-block-start: 60px;
	}

	.reason__deco.-first {
		bottom: -122px;
		right: calc(50% - 350px);
		width: 174px;
	}

	.reason__deco.-second {
		top: 169px;
		right: calc(50% - 296px);
		width: 180px;
		rotate: -126deg;
		z-index: -1;
	}

	.reason__deco.-third {
		bottom: 1300px;
		left: calc(50% - 400px);
		width: 300px;
		rotate: -53deg;
	}

	.reason__content {
		margin-block-start: 28px;
	}

	/*===============================
   MERIT
	================================*/
	.service-merit {
		padding-block: 65px 99px;
		background: url(../../img/sp/service-merit_bg-min.webp) no-repeat top center / cover;
	}

	.service-merit__content {
		gap: 80px;
	}

	.service-merit__headList {
		gap: 47px 20px;
	}

	.service-merit__headList li section span {
		top: -29px;
		left: 50%;
		translate: -50%;
	}

	.service-merit__headList {
		flex-direction: column;
		align-items: center;
		gap: 40px;
	}

	.service-merit__headList li {
		padding: 36px 20px 23px;
		width: 100%;
		max-width: 500px;
	}

	.service-merit__headList li section p {
		margin-block-start: 20px;
	}

	.service-merit__footList {
		padding: 30px 20px 8px;
	}

	.service-merit__footList > li > section > ul {
		display: block;
	}

	.service-merit__footList > li > section > div {
		align-items: flex-start;
	}

	.service-merit__footList > li > section > ul > li {
		display: inline;
		padding-inline-end: 0;
	}

	/*===============================
   COMPARE
	================================*/
	.service-compare {
		padding-block: 60px;
	}

	.service-compare__wrapper {
		gap: 9px;
		width: 877px;
		padding-block: 32px;
	}

	.service-compare__wrapper > div {
		width: 88px;
	}

	.service-compare__wrapper > div ul {
		margin-block-start: 60px;
	}

	.service-compare__wrapper > div ul li {
		height: 65px;
		font-size: 14px;
	}

	.service-compare__wrapper > section.-main {
		margin-inline: 8px;
	}

	.service-compare__wrapper > section > div {
		height: 60px;
	}

	.service-compare__wrapper > section > div img {
		width: 97px;
	}

	.service-compare__wrapper > section > div h3 {
		font-size: 13px;
	}

	.service-compare__wrapper > section > ul li {
		height: 65px;
		padding-inline: 12px;
	}

	.service-compare__wrapper > section > ul li img {
		width: 27px;
	}

	.service-compare__wrapper > section > ul li p {
		font-size: 14px;
	}

	/*===============================
   FLOW
	================================*/
	.service-flow {
		padding-block: 66px 58px;
	}

	.service-flow__deco.-first {
		top: 30px;
		left: unset;
		right: calc(50% - 330px);
		width: 180px;
	}

	.service-flow__deco.-second {
		top: 70px;
		left: unset;
		right: calc(50% - 251px);
		width: 180px;
	}

	.service-flow__inner {
		flex-direction: column;
		gap: 35px;
	}

	.service-flow__content ol {
		gap: 36px;
		margin-inline: auto;
	}

	.service-flow__content ol li {
		padding: 22px 20px;
		border-radius: 8px;
	}

	.service-flow__content ol li::before {
		top: -28px;
	}

	.service-flow__content ol li section > div {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}

	.service-flow__content ol li section > div > h3 {
		font-size: 22px;
	}

	.service-flow__content ol li section > p {
		margin-block-start: 17px;
	}
}
