/*PC*/

@media all {
	/*contactフォーム7*/
	.wpcf7-response-output,
	.wpcf7-spinner {
		display: none !important;
	}
	.wpcf7-select {
		border: 1px solid #707070;
		padding: 10px;
	}
	.wpcf7-not-valid-tip {
		font-size: 1.2rem;
		margin-top: 6px;
	}

	.wpcf7-list-item {
		margin: 0 !important;
		font-size: 1.6rem !important;
	}

	:focus-visible {
		outline: none;
	}

	html {
		background-color: #fff !important;
		font-size: 62.5%;
		padding: 25px;
	}

	main {
		border: 1px solid #707070;
		border-bottom: unset;
		border-radius: 20px 20px 0 0;
	}

	.serif {
		font-family: "Noto Serif JP", serif;
	}

	ul {
		list-style: none;
	}

	table {
		border-collapse: collapse;
	}

	.br_850,
	.br_600,
	.table_sp {
		display: none;
	}

	header {
		.sp_menu {
			display: none;
		}
	}

	.b_t {
		border-top: 1px solid #707070;
	}

	.b_b {
		border-bottom: 1px solid #707070;
	}

	.p {
		padding: 100px 60px;
		line-height: 2;
	}

	.t_c {
		text-align: center;
	}

	.t_r {
		text-align: right;
	}

	.line {
		background: linear-gradient(transparent 50%, #e2ff00 50%);
	}

	h2 {
		min-width: 550px;
		width: 100%;
		margin: 0px auto 40px;
		line-height: 1.5;
		text-align: center;
		font-size: 2.6rem;
		display: flex;
		align-items: center;
		justify-content: center;
		color: #2cc0c4;
		border: 3px solid #2cc0c4;
		padding: 8px 90px;
		width: fit-content;
		border-radius: 10px;
		box-shadow: 8px 8px 0px 0px #2cc0c4;
		letter-spacing: 0.1em;
	}

	p {
		font-size: 2rem;
		line-height: 2;
	}

	.f_small {
		font-size: 70%;
		display: block;
	}

	figure {
		margin: 0;
	}

	.button {
		max-width: 520px;
		width: 100%;
		background-color: #ff7f00;
		color: white !important;
		text-align: center;
		font-size: 2.2rem;
		position: relative;
		display: block;
		margin: 40px auto 0px;
		line-height: 2;
		border-radius: 200px;
		&::after {
			font-family: "Font Awesome 5 Free";
			content: "\f061";
			position: absolute;
			right: 20px;
			top: 50%;
			transform: translate(-50%, -50%);
			transition: all 0.25s;
		}
		&:hover {
			&::after {
				right: 13px;
			}
		}
	}

	#header {
		width: 100%;
		z-index: 999;
		.header_wrapper {
			margin: auto;
			display: flex;
			flex-wrap: wrap;
			align-items: center;
			justify-content: space-between;
			figure {
				max-width: 280px;
				padding: 15px 20px;
			}
			div {
				a {
					font-size: 2.4rem;
					letter-spacing: 0em;
					color: #fa8f8f;
					margin-right: 15px;
					.fa-phone-flip {
						margin-right: 5px;
					}
					&:nth-of-type(2) {
						color: #067dc7;
					}
				}
			}
			nav {
				width: 100%;
				padding: 20px;
				display: flex;
				justify-content: center;
				border-top: 1px solid #707070;
				& a {
					margin-right: 35px;
					span {
						font-size: 1.2rem;
					}
					transition: all 0.25s;
					&:last-child {
						margin-right: 0px;
					}
					&:hover {
						color: #ff7f00;
					}
				}
			}
		}
	}
	.button_contact {
		position: fixed;
		bottom: calc(30px + env(safe-area-inset-bottom)); /* Safe Area対応 */
		right: 30px;
		max-width: 180px;
		z-index: 9999;

		opacity: 0;
		pointer-events: none;

		/* フェードイン用 */
		transition: opacity 0.3s ease;

		/* iOS Safari安定化 */
		-webkit-backface-visibility: hidden;
		-webkit-transform-style: preserve-3d;
	}

	.button_contact.show {
		opacity: 1;
		pointer-events: auto;
	}

	h1 {
		text-align: center;
		font-size: 3.2rem;
		width: fit-content;
		margin: auto;
		padding: 80px 0;
		position: relative;
		&::after {
			position: absolute;
			color: #a0a0a0;
			top: 110px;
			right: -20px;
			font-family: "Oooh Baby";
			font-weight: 400;
			font-size: 2.6rem;
			letter-spacing: 0em;
			transform: rotate(-14deg);
		}
		span {
			font-size: 2rem;
		}
		.pattern {
			position: absolute;
		}
	}

	.page_h3 {
		text-align: center;
		font-size: 2.8rem;
		color: #004da7;
		margin-bottom: 40px;
	}

	.page_ul {
		margin: 0 auto 60px;
		width: fit-content;
		li {
			width: fit-content;
			font-size: 2.2rem;
			line-height: 2.6;
			&::before {
				font-family: "Font Awesome 5 Free";
				content: "\f00c";
				right: 10px;
			}
		}
	}

	.page_price {
		article {
			margin-bottom: 80px;
			div {
				display: flex;
				width: fit-content;
				margin: 0 auto 30px;
				p {
					font-size: 2.2rem;
					margin: 0px 20px;
					.size {
						font-size: 3rem;
					}
				}
			}
			h3 {
				text-align: center;
				margin-bottom: 25px;
				font-size: 2.8rem;
				span {
					font-size: 2.4rem;
				}
			}
			&:last-of-type {
				margin-bottom: 0px;
			}
		}
	}

	.page_point {
		max-width: 800px;
		margin: auto;
		border: 1px solid #707070;
		border-radius: 15px;
		padding: 50px 40px 40px;
		p {
			color: #ff7f00;
			font-size: 2.6rem;
			background-color: white;
			padding: 0px 30px;
			margin: -78px auto 20px;
			width: fit-content;
		}
		ul {
			li {
				font-size: 1.8rem !important;
				line-height: 1.8;
				text-indent: -0.5em;
				padding-left: 1em;
				word-break: break-all;
				margin-bottom: 10px;
				&:last-of-type {
					margin-bottom: 0px;
				}
			}
		}
	}

	.pattern {
		z-index: -1;
	}

	#top {
		.mv {
			.slider {
				width: 100%;
				height: 580px;
				margin: 0 auto 200px;
				background-image: url(../images/top_mv_bg.png);
				background-repeat: repeat;
				padding: 60px 40px;
				article {
					width: 100%;
					.inner {
						max-width: 1100px;
						margin: 0 auto;
						display: flex;
						justify-content: space-between;
						p {
							&:nth-child(1) {
								text-wrap: nowrap;
								font-size: 4.5rem;
								line-height: 1.5;
								margin-bottom: 60px;
								position: relative;
								span {
									span {
										font-size: 4rem;
									}
								}
								&::after {
									position: absolute;
									font-family: "Oooh Baby";
									font-weight: 400;
									font-size: 3rem;
									letter-spacing: 0em;
									transform: rotate(-14deg);
									right: -50px;
									bottom: -30px;
								}
							}
							&:nth-child(2) {
								font-size: 3.5rem;
								margin-bottom: 20px;
								color: #004da7;
								text-align: right;
							}
							&:nth-child(3) {
								font-size: 2rem;
								text-align: right;
							}
						}
						figure {
							&:nth-child(1) {
								max-width: 210px;
								margin: 0 30px 30px auto;
							}
							&:nth-child(2) {
								max-width: 350px;
							}
						}
					}
				}
				.slide1 {
					p {
						&:nth-child(1) {
							&::after {
								content: "Small Business Specialty";
							}
						}
					}
				}

				.slide2 {
					p {
						&:nth-child(1) {
							&::after {
								content: "Solo Entrepreneur";
							}
						}
					}
					.inner {
						figure {
							&:nth-child(2) {
								max-width: 300px !important;
							}
						}
					}
				}
				.slide3 {
					p {
						&:nth-child(1) {
							&::after {
								content: "Foreign Entrepreneur";
							}
						}
					}
				}
			}
			h2 {
				color: #fa8f8f;
				border: 3px solid #fa8f8f;
				box-shadow: 8px 8px 0px 0px #fa8f8f;
				margin: 0px auto 50px;
			}
			.marquee {
				width: 100%;
				overflow: hidden;
				margin-bottom: 100px;
				div {
					padding: 0px 3px;
					img {
						width: 100%;
						display: block;
						margin: 0px 5px;
					}
				}
			}
		}

		.news {
			article {
				background-color: #f7f7f7;
				border-radius: 15px;
				max-width: 1000px;
				width: 100%;
				padding: 40px 30px 50px;
				margin: auto;
				position: relative;
				h3 {
					text-align: center;
					font-size: 3rem;
					margin-bottom: 40px;
					&::after {
						content: "";
						display: block;
						margin: 10px auto 0px;
						width: 40px;
						border-bottom: 2px solid black;
					}
				}
				div {
					width: fit-content;
					margin: auto;
					a {
						display: flex;
						font-size: 1.8rem;
						margin-bottom: 15px;
						time {
							margin-right: 15px;
						}
						p {
							font-size: 1.8rem;
						}
						&:last-of-type {
							margin-bottom: 0px;
						}
					}
				}
				.pattern {
					position: absolute;
					bottom: -40px;
					right: -100px;
					max-width: 160px;
					z-index: 1;
				}
			}
		}

		.page_price {
			position: relative;
			.pattern {
				&:nth-of-type(1) {
					position: absolute;
					top: 200px;
					left: -40px;
					max-width: 250px;
				}
				&:nth-of-type(2) {
					position: absolute;
					bottom: 220px;
					right: -10px;
					max-width: 150px;
				}
			}
		}

		.instagram {
			position: relative;
			> figure:nth-of-type(1) {
				display: flex;
				justify-content: center;
				align-items: center;
				margin-bottom: 60px;
				h3 {
					letter-spacing: 0.1em;
					font-size: 3rem;
					margin-left: 10px;
					position: relative;
					&::after {
						position: absolute;
						color: #a0a0a0;
						top: 53px;
						right: -58px;
						content: "Follow us on Instagram";
						font-family: "Oooh Baby";
						font-weight: 400;
						font-size: 2.6rem;
						letter-spacing: 0em;
						transform: rotate(-14deg);
					}
				}
			}
			> figure:last-of-type {
				position: absolute;
				bottom: 0;
				left: 10%;
				z-index: -1;
				max-width: 250px;
			}

			div {
				display: flex;
				align-items: center;
				justify-content: center;
				margin-bottom: 40px;
				a {
					margin-left: 10px;
					font-size: 2.6rem;
				}
			}
			h4 {
				text-align: center;
				font-size: 2.2rem;
				margin-bottom: 20px;
			}
			p {
				text-align: center;
				font-size: 1.8rem;
				margin-bottom: 40px;
			}
			.button {
				max-width: 300px;
			}
		}

		.support {
			position: relative;
			.pattern {
				&:nth-of-type(1) {
					position: absolute;
					top: 160px;
					left: 30px;
				}
				&:nth-of-type(2) {
					position: absolute;
					bottom: 220px;
					right: -10px;
					max-width: 200px;
				}
			}
			div {
				display: flex;
				align-items: center;
				justify-content: center;
				margin: 0 auto 50px;
				.page_ul {
					margin: 0;
				}
				figure {
					max-width: 320px;
				}
			}
			p {
				margin-bottom: 40px;
			}
		}

		.reason {
			p {
				text-align: center;
				margin-bottom: 60px;
			}
			div {
				max-width: 1000px;
				width: 100%;
				margin: auto;
				display: flex;
				flex-wrap: wrap;
				gap: 50px 30px;
				article {
					position: relative;
					width: calc((100% - 30px) / 2);
					background-color: #f7f7f7;
					border-radius: 15px;
					padding: 30px 25px 25px;
					.point {
						position: absolute;
						left: 20px;
						top: -35px;
						font-size: 2.4rem;
						span {
							font-size: 3rem;
						}
					}
					&:nth-of-type(1) {
						.point {
							color: #ff7c25;
						}
					}
					&:nth-of-type(2) {
						.point {
							color: #ffbb2e;
						}
					}
					&:nth-of-type(3) {
						.point {
							color: #41ae53;
						}
					}
					&:nth-of-type(4) {
						.point {
							color: #3aa8aa;
						}
					}
					h3 {
						font-size: 2.4rem;
						text-align: center;
						margin-bottom: 10px;
					}
					p {
						text-align: justify;
						font-size: 1.8rem;
						margin-bottom: 0px;
					}
				}
			}
		}

		.solo {
			position: relative;
			div {
				display: flex;
				align-items: center;
				justify-content: center;
				margin-bottom: 60px;
				figure {
					max-width: 350px;
					margin-right: 40px;
				}
				p {
					max-width: 380px;
				}
			}
			.pattern {
				&:nth-of-type(1) {
					position: absolute;
					top: 140px;
					left: -40px;
					max-width: 200px;
				}
				&:nth-of-type(2) {
					position: absolute;
					bottom: 180px;
					right: -15px;
					max-width: 180px;
				}
			}
		}

		.entrust {
			position: relative;
			padding-bottom: 0px;
			ul {
				margin: 60px 0 40px;
				li {
					text-align: center;
					font-size: 2.2rem;
					line-height: 2.5;
				}
			}
			p {
				margin-bottom: 50px;
			}
			a {
				margin-bottom: 80px;
			}
			figure {
				max-width: 1020px;
				margin: auto;
			}
			.pattern {
				&:nth-of-type(1) {
					position: absolute;
					top: 260px;
					left: 40px;
					max-width: 110px;
				}
				&:nth-of-type(2) {
					position: absolute;
					bottom: 560px;
					right: 25px;
					max-width: 130px;
				}
			}
		}
	}

	#service {
		h1 {
			&::after {
				content: "Service";
			}
			.pattern {
				top: 50px;
				left: -80px;
				max-width: 120px;
			}
		}
		.heading {
			position: relative;
			width: fit-content;
			margin: 0 auto 120px;
			figure {
				position: absolute;
				top: -50px;
				right: -110px;
				max-width: 190px;
			}
		}
		article {
			.qa {
				background-color: #fafafa;
				border-radius: 15px;
				max-width: 900px;
				width: 100%;
				padding: 40px;
				margin: 0 auto 80px;
				h4 {
					font-size: 8rem;
					margin: -80px 0 20px;
					line-height: 1;
				}
				&:nth-of-type(1) {
					h4 {
						color: #067dc7;
					}
					p {
						font-size: 2.2rem;
					}
				}
				&:nth-of-type(2) {
					margin-bottom: 0px;
					h4 {
						color: #fa8f8f;
					}
					p {
						font-size: 1.8rem;
						margin-bottom: 30px;
						&:last-of-type {
							margin-bottom: 0px;
						}
					}
				}
				h5 {
					font-size: 1.7rem;
					border-bottom: 1px dotted #707070;
					padding-bottom: 3px;
					margin: 30px 0 15px;
				}
				ul {
					li {
						text-indent: -0.5em;
						padding-left: 1em;
						margin-bottom: 5px;
						&:last-of-type {
							margin-bottom: 0px;
						}
					}
				}
			}
			i {
				padding: 60px 0px;
				color: #ff7f00;
				font-size: 5rem;
				text-align: center;
				display: block;
			}
		}
	}

	#flow {
		h1 {
			&::after {
				content: "Flow";
			}
			.pattern {
				top: 60px;
				left: -70px;
				max-width: 120px;
			}
		}
		h4 {
			font-size: 2.4rem;
			width: fit-content;
			margin: 0 auto 30px;
			text-align: center;
		}
		.p {
			&:nth-of-type(2),
			&:nth-of-type(3),
			&:nth-of-type(4) {
				padding-bottom: 0px;
			}
		}
		h2 {
			margin-bottom: 70px;
		}
		.wrapper_step {
			margin: auto;
			width: fit-content;
			article {
				display: flex;
				padding-bottom: 50px;
				.step {
					width: 80px;
					min-width: 80px;
					height: 100%;
					color: #ff7f00;
					background-color: white;
					font-size: 1.4rem;
					text-align: center;
					border: 1px solid #ff7f00;
					border-radius: 50%;
					aspect-ratio: 1 / 1;
					display: flex;
					justify-content: center;
					align-items: center;
					flex-direction: column;
					margin-right: 20px;
					line-height: 1.2;
					position: relative;
					span {
						font-size: 2.8rem;
						display: block;
					}
					&::after {
						content: "";
						position: absolute;
						top: 100%;
						left: 50%;
						transform: translateX(-50%);
						width: 0;
						height: 213%;
						border-right: 1px solid #ff7f00;
					}
				}
				&:nth-last-of-type(1) {
					.step::after {
						display: none;
					}
				}
				div {
					max-width: 600px;
					h3 {
						font-size: 2.4rem;
						margin: 18px 0 20px;
						span {
							font-size: 1.6rem;
						}
					}
					p {
						font-size: 1.8rem;
						font-weight: 400;
					}
				}
			}
		}
		.wrapper_etc {
			h3 {
				text-align: center;
				font-size: 2.4rem;
			}
			p {
				text-align: center;
				font-size: 1.8rem;
			}
		}
		figure {
			margin: 60px auto 0;
			width: fit-content;
		}
	}

	#price {
		.p {
			&:last-of-type {
				padding-bottom: 0px;
			}
		}
		h1 {
			&::after {
				content: "Price";
			}
			.pattern {
				top: 50px;
				left: -70px;
				max-width: 110px;
			}
		}
		table {
			max-width: 1000px;
			width: 100%;
			margin: 0 auto 30px;
			td,
			th {
				padding: 15px;
				border: 1px solid #707070;
				span {
					font-size: 1.2rem;
					color: #ff0000;
				}
			}
			th {
				background-color: #fafafa;
			}
			.back_b {
				background-color: #c7eaff;
			}
			.back_y {
				background-color: #fff4c7;
			}
			.space {
				border: none;
				padding: 15px 0px;
			}
		}
		ul {
			max-width: 1000px;
			width: 100%;
			margin: auto;
			li {
				font-size: 1.4rem;
				span {
					color: #ff0000;
					margin-right: 8px;
				}
			}
		}
		article {
			margin: 0 auto 70px;
			max-width: 800px;
			width: 100%;
			&:last-of-type {
				margin-bottom: 0px;
			}
			&:first-of-type {
				margin-top: 80px;
			}
			h4 {
				font-size: 2.5rem;
				margin: 0 auto 40px;
				text-align: center;
				display: flex;
				align-items: center;
				flex-direction: column;
				&::after {
					content: "";
					width: 60px;
					border-bottom: 3px solid black;
					padding-top: 20px;
				}
			}
			article {
				margin-bottom: 40px;
				&:last-of-type {
					margin-bottom: 0px;
				}
				&:first-of-type {
					margin-top: 0px;
				}
				h5 {
					font-size: 2.2rem;
					color: #2cc0c4;
					margin-bottom: 10px;
					span {
						font-size: 1.4rem;
					}
				}
				p {
					font-size: 1.8rem;
				}
			}
		}

		.page_point {
			margin: 100px auto 80px;
		}

		a {
			margin-bottom: 50px;
		}
		figure {
			margin: auto;
			width: fit-content;
			padding-bottom: -100px;
		}
	}

	#support {
		h1 {
			&::after {
				content: "Support";
			}
			.pattern {
				top: 80px;
				left: -80px;
				max-width: 130px;
				transform: rotate(45deg);
			}
		}
		article {
			article {
				margin-bottom: 80px;
				&:last-child {
					margin-bottom: 0px;
				}

				h4 {
					font-size: 2.5rem;
					margin: 0 auto 40px;
					text-align: center;
					display: flex;
					align-items: center;
					flex-direction: column;
					&::after {
						content: "";
						width: 60px;
						border-bottom: 3px solid black;
						padding-top: 20px;
					}
				}

				table {
					max-width: 1000px;
					width: 100%;
					margin: 0 auto 30px;
					tr {
						td,
						th {
							padding: 15px;
							border: 1px solid white;
							background-color: #e6eaf2;
						}
						th {
							background-color: #4374b2 !important;
							color: white;
							font-size: 2rem;
						}
						td {
							&:nth-of-type(1),
							&:nth-of-type(2) {
								text-wrap: nowrap;
							}
						}
						&:nth-of-type(even) {
							th,
							td {
								background-color: #c8d2e4;
							}
						}
					}
				}
				&:last-of-type {
					.supplement {
						margin: 50px auto 80px;
					}
				}
			}
			p {
				.line {
					font-size: 2.8rem;
				}
			}
			.wrapper_list {
				background-color: #f7f7f7;
				border-radius: 15px;
				padding: 35px 30px 30px;
				max-width: 800px;
				margin: 0 auto 60px;
				&:nth-of-type(1) {
					margin-top: 100px;
					h5 {
						color: #ff7c25;
					}
				}
				&:nth-of-type(2) {
					h5 {
						color: #ffbb2e;
					}
				}
				&:nth-of-type(3) {
					h5 {
						color: #41ae53;
					}
				}
				&:nth-of-type(4) {
					h5 {
						color: #3aa8aa;
					}
				}
				h5 {
					font-size: 2.2rem;
					margin: -53px 0 10px;
				}
				p {
					font-size: 1.8rem;
				}
			}
			.page_point {
				margin: 100px auto 80px;
			}
			.supplement {
				max-width: 800px;
				margin: auto;
				width: 100%;
				font-size: 1.8rem;
			}
		}
	}

	#home {
		h1 {
			&::after {
				content: "information";
			}
			.pattern {
				top: 35px;
				left: -80px;
				max-width: 110px;
			}
		}
		.wrapper {
			max-width: 800px;
			gap: 30px;
			margin: 80px auto 0;
			display: flex;
			flex-wrap: wrap;
			a {
				aspect-ratio: 1 / 1;
				height: 100%;
				width: calc((100% - 60px) / 3);
				border: 1px solid #707070;
				border-radius: 15px;
				background-color: #f9f9f9;
				padding: 15px;
				display: flex;
				align-items: center;
				justify-content: center;
				transition: all 0.25s;
				h3 {
					font-size: 2rem;
				}
				&:hover {
					background-color: #f1f1f1;
				}
			}
		}
	}

	#overview {
		h1 {
			&::after {
				content: "Overview";
			}
			.pattern {
				top: 45px;
				left: -50px;
				max-width: 80px;
			}
		}
		p {
			max-width: 800px;
			margin: 0 auto 50px;
		}
		table {
			max-width: 800px;
			width: 100%;
			margin: auto;
			tr {
				th,
				td {
					padding: 20px 30px;
				}
				ul {
					margin-bottom: 10px;
					&:last-of-type {
						margin-bottom: 0px;
					}
				}
				&:nth-child(odd) {
					th,
					td {
						background-color: #f7f7f7;
					}
				}
			}
		}
		.map {
			aspect-ratio: 13 / 5;
		}
		.wrapper_link {
			margin: auto;
			padding-bottom: 100px;
		}
	}

	#contact,
	#contact-end {
		h1 {
			&::after {
				content: "Contact";
			}
			.pattern {
				top: 70px;
				left: -70px;
				max-width: 120px;
				transform: rotate(30deg);
			}
		}
		figure {
			margin: 0 auto 100px;
			width: fit-content;
			a {
				pointer-events: none;
			}
		}
		article {
			.link_tel {
				font-size: 4rem;
				display: block;
				i {
					margin-right: 8px;
				}
			}
			p {
				font-size: 2.2rem;
			}
			margin-bottom: 100px;
			&:last-of-type {
				margin-bottom: 0px;
			}
			table {
				max-width: 600px;
				width: 100%;
				margin: auto;
				tr {
					td,
					th {
						display: block;
						width: 100%;
						text-align: justify;
					}
					th {
						span {
							font-size: 1.2rem;
							color: #ff0000;
						}
					}
					td {
						margin-bottom: 60px;
					}
					.form_01 {
						width: 100%;
						border-bottom: 1px solid #707070;
						padding: 10px 0 3px;
						letter-spacing: 0.1em;
					}
					.form_02 {
						width: 100%;
						border: 1px solid #707070;
						height: 200px;
						padding: 10px;
						margin-top: 5px;
						letter-spacing: 0.1em;
					}
				}
			}
			div {
				text-align: center;
				p {
					text-align: center;
					font-size: 1.8rem;
					margin-bottom: 5px;
				}
				a {
					border-bottom: 1px solid #707070;
				}
			}
		}
	}

	#contact-end {
		p {
			padding: 60px 0px;
		}
	}

	#privacypolicy {
		h1 {
			&::after {
				content: "Privacy Policy";
			}
			.pattern {
				top: 50px;
				left: -70px;
				max-width: 100px;
			}
		}
		p {
			font-size: 1.7rem;
			margin-bottom: 30px;
		}
		article {
			h2 {
				min-width: unset;
				margin: 50px 0 20px;
				line-height: 1;
				text-align: left;
				font-size: 2.2rem;
				display: flex;
				align-items: center;
				justify-content: center;
				color: #2cc0c4;
				border: unset;
				border-left: 2px solid #2cc0c4;
				padding: 0 0 0 10px;
				width: fit-content;
				border-radius: unset;
				box-shadow: unset;
				letter-spacing: 0.1em;
			}
			ul {
				li {
					margin-bottom: 10px;
					text-indent: -1em;
					padding-left: 1em;
					&:last-of-type {
						margin-bottom: 0px;
					}
				}
			}
		}
	}

	footer {
		width: 100%;
		padding: 60px 50px;
		background-color: #f2f2f2;
		border: 1px solid #707070;
		border-top: unset;
		border-radius: 0 0 20px 20px;
		.wrapper {
			max-width: 900px;
			margin: auto;
			figure {
				width: 280px;
				margin-bottom: 20px;
			}
			div {
				display: flex;
				justify-content: space-between;
				width: 100%;
				ul {
					&:first-child {
						li {
							.fa-brands {
								font-size: 2.1rem;
								margin: 20px 8px 0 0;
							}
						}
						a {
							&:nth-of-type(1) {
								color: #d11759;
							}
						}
					}
					&:last-child {
						height: 116px;
						display: flex;
						flex-direction: column;
						flex-wrap: wrap;
						gap: 0px 25px;
						li {
							a {
								font-size: 1.4rem !important;
								span {
									font-size: 1.1rem;
								}
							}
						}
					}
				}
			}
		}
	}

	#single {
		h2 {
			margin-bottom: 60px;
			min-width: unset;
		}
		.wrapper {
			max-width: 700px;
			margin: auto;
			figure {
				width: 100%;
				margin-bottom: 50px;
			}
			p {
				margin-bottom: 30px;
				font-size: 1.8rem;
				font-weight: 400;
			}
		}
		.single_pn {
			display: flex !important;
			justify-content: center;
			align-items: center;
			margin: 80px auto 0px;
			padding: 20px 20px;
			transition: all 0.25s;
			a {
				margin: 0px 60px;
			}
		}
		.fa-angle-left {
			margin-right: 5px;
		}
		.fa-angle-right {
			margin-left: 5px;
		}
		& a:hover {
			opacity: 0.8;
		}
	}
}

@media screen and (max-width: 1150px) {
	#top {
		.mv {
			.slider {
				height: 500px;
				article {
					.inner {
						p {
							&:nth-child(1) {
								font-size: 3.8rem;
								margin-bottom: 60px;
								span {
									span {
										font-size: 3.3rem;
									}
								}
								&::after {
									font-size: 2.5rem;
								}
							}
							&:nth-child(2) {
								font-size: 3rem;
							}
							&:nth-child(3) {
								font-size: 1.6rem;
							}
						}
						figure {
							&:nth-child(1) {
								max-width: 180px;
							}
							&:nth-child(2) {
								max-width: 300px;
							}
						}
					}
				}
				.slide2 {
					.inner {
						figure {
							&:nth-child(2) {
								max-width: 270px !important;
							}
						}
					}
				}
			}
		}
	}
}

/*ipad*/
@media screen and (max-width: 1024px) {
	img {
		backface-visibility: hidden;
	}
}

@media screen and (max-width: 980px) {
	.p {
		padding: 100px 40px;
	}

	h1 {
		font-size: 3rem;
	}

	h2 {
		font-size: 2.3rem;
	}

	.page_h3 {
		font-size: 2.4rem;
	}

	p {
		font-size: 1.8rem;
	}

	.page_ul {
		li {
			font-size: 2rem;
		}
	}

	.button {
		max-width: 480px;
		font-size: 1.8rem;
	}

	#header {
		.header_wrapper {
			nav {
				a {
					margin-right: 22px;
				}
			}
		}
	}

	#top {
		.mv {
			.slider {
				article {
					.inner {
						p {
							&:nth-child(1) {
								font-size: 3.2rem;
								margin-bottom: 60px;
								span {
									span {
										font-size: 2.8rem;
									}
								}
								&::after {
									font-size: 2.5rem;
								}
							}
							&:nth-child(2) {
								font-size: 3rem;
							}
							&:nth-child(3) {
								font-size: 1.6rem;
							}
						}
						figure {
							&:nth-child(1) {
								max-width: 180px;
							}
							&:nth-child(2) {
								max-width: 300px;
							}
						}
					}
				}
				.slide2 {
					.inner {
						figure {
							&:nth-child(2) {
								max-width: 240px !important;
							}
						}
					}
				}
			}
		}

		.instagram {
			> figure:last-of-type {
				position: absolute;
				left: 5%;
			}
		}

		.reason {
			div {
				article {
					h3 {
						font-size: 2.2rem;
					}
					.point {
						font-size: 2rem;
						top: -30px;
						span {
							font-size: 2.6rem;
						}
					}
				}
			}
		}

		.entrust {
			ul {
				li {
					font-size: 2rem;
					line-height: 2.3;
				}
			}
		}
	}

	#service {
		article {
			.qa {
				&:nth-of-type(1) {
					p {
						font-size: 2rem;
					}
				}
			}
		}
	}

	#flow {
		h4 {
			font-size: 2.1rem;
		}
	}
}

@media screen and (max-width: 950px) {
	.button_contact {
		max-width: 160px;
	}

	footer {
		padding: 60px 30px;
	}

	#header {
		.header_wrapper {
			nav {
				a {
					margin-right: 18px;
					font-size: 1.5rem;
				}
			}
		}
	}

	#top {
		.mv {
			.slider {
				article {
					.inner {
						p {
							&:nth-child(2) {
								font-size: 2.6rem;
							}
						}
						figure {
							&:nth-child(1) {
								max-width: 160px;
							}
						}
					}
				}
			}
		}
		.news {
			article {
				h3 {
					font-size: 2.6rem;
				}
			}
		}
		.support {
			div {
				figure {
					max-width: 280px;
				}
			}
		}
	}
}

@media screen and (max-width: 850px) {
	.br_850 {
		display: block;
	}

	h2 {
		min-width: 480px;
		padding: 8px 40px;
	}

	p {
		font-size: 1.6rem;
	}

	#header {
		.header_wrapper {
			nav {
				a {
					margin-right: 15px;
					font-size: 1.4rem;
				}
			}
		}
	}

	#flow {
		h1 {
			.pattern {
				top: 30px;
				left: -40px;
				max-width: 90px;
			}
		}
	}

	#price {
		article {
			&:first-of-type {
				margin-top: 40px;
			}
			h4 {
				font-size: 2.3rem;
			}
			article {
				h5 {
					font-size: 2rem;
				}
				p {
					font-size: 1.6rem;
				}
			}
		}
	}

	#support {
		article {
			p {
				.line {
					font-size: 2.6rem;
				}
			}
			.wrapper_list {
				h5 {
					font-size: 2rem;
				}
				p {
					font-size: 1.6rem;
				}
			}
			.supplement {
				font-size: 1.6rem;
			}
			article {
				h4 {
					font-size: 2.3rem;
				}
				table {
					tr {
						td,
						th {
							padding: 10px;
						}
						th {
							font-size: 1.8rem;
						}
						td {
							&:nth-of-type(1),
							&:nth-of-type(2) {
								text-wrap: unset;
							}
						}
					}
				}
			}
		}
	}

	#home {
		.wrapper {
			& a {
				h3 {
					font-size: 1.6rem;
				}
			}
		}
	}

	#single {
		.wrapper {
			p {
				font-size: 1.6rem;
			}
		}
	}

	#privacypolicy {
		p {
			font-size: 1.6rem;
		}
	}
}

/*ipadmini*/
@media screen and (max-width: 790px) {
	.p {
		padding: 80px 30px;
	}

	.page_point {
		padding: 40px 30px 30px;
		ul {
			li {
				font-size: 1.6rem !important;
			}
		}
	}

	#header {
		.header_wrapper {
			nav {
				a {
					margin-right: 11px;
				}
			}
		}
	}

	#top {
		.mv {
			.slider {
				height: 430px;
				margin: 0 auto 150px;
				padding: 50px 20px;
				article {
					.inner {
						p {
							&:nth-child(1) {
								font-size: 2.8rem;
								span {
									span {
										font-size: 2.2rem;
									}
								}
								&::after {
									font-size: 2.3rem;
								}
							}
							&:nth-child(2) {
								font-size: 2.6rem;
							}
							&:nth-child(3) {
								font-size: 1.4rem;
							}
						}
						figure {
							&:nth-child(1) {
								max-width: 150px;
							}
							&:nth-child(2) {
								max-width: 260px;
							}
						}
					}
				}
				.slide2 {
					.inner {
						figure {
							&:nth-child(2) {
								max-width: 220px !important;
							}
						}
					}
				}
			}
			article {
				.inner {
					p {
						&:nth-child(1) {
							font-size: 3.2rem;
							margin-bottom: 60px;
							span {
								span {
									font-size: 2.8rem;
								}
							}
							&::after {
								font-size: 2.5rem;
							}
						}
						&:nth-child(2) {
							font-size: 3rem;
						}
						&:nth-child(3) {
							font-size: 1.6rem;
						}
					}
					figure {
						&:nth-child(1) {
							max-width: 180px;
						}
						&:nth-child(2) {
							max-width: 300px;
						}
					}
				}
			}
			article {
				.inner {
					p {
						&:nth-child(1) {
							font-size: 3.2rem;
							margin-bottom: 60px;
							span {
								span {
									font-size: 2.8rem;
								}
							}
							&::after {
								font-size: 2.5rem;
							}
						}
						&:nth-child(2) {
							font-size: 3rem;
						}
						&:nth-child(3) {
							font-size: 1.6rem;
						}
					}
					figure {
						&:nth-child(1) {
							max-width: 180px;
						}
						&:nth-child(2) {
							max-width: 300px;
						}
					}
				}
			}
			.marquee {
				margin-bottom: 0px;
			}
		}

		.news {
			article {
				.pattern {
					bottom: -60px;
					right: -80px;
					max-width: 130px;
				}
			}
		}

		.page_price {
			.pattern {
				&:nth-of-type(1) {
					top: 200px;
					left: -60px;
					max-width: 220px;
				}
				&:nth-of-type(2) {
					bottom: 220px;
					right: -15px;
					max-width: 130px;
				}
			}
		}

		.instagram {
			> figure:last-of-type {
				left: 0%;
				max-width: 210px;
			}
		}

		.support {
			div {
				figure {
					max-width: 210px;
				}
			}
			.pattern {
				&:nth-of-type(1) {
					top: 160px;
					left: -10px;
					max-width: 100px;
				}
				&:nth-of-type(2) {
					bottom: 180px;
					right: -10px;
					max-width: 170px;
				}
			}
		}

		.solo {
			.pattern {
				&:nth-of-type(1) {
					top: 140px;
					left: -40px;
					max-width: 160px;
				}
				&:nth-of-type(2) {
					bottom: 110px;
					right: -15px;
					max-width: 160px;
				}
			}
		}
	}

	#service {
		article {
			.qa {
				h4 {
					font-size: 6rem;
				}
			}
		}
	}

	#flow {
		.wrapper_step {
			article {
				div {
					h3 {
						font-size: 2.2rem;
					}
					p {
						font-size: 1.6rem;
					}
				}
				.step {
					&::after {
						height: 200%;
					}
				}
			}
		}
		figure {
			max-width: 450px;
			margin: 0 auto;
		}
		.hayashida {
			margin-top: 60px;
			max-width: 230px !important;
		}
	}
}

/*スマホ*/
@media screen and (min-width: 600px) {
	/*電話番号発信スマホのみ*/
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}

@media screen and (max-width: 599px) {
	.br_600 {
		display: block;
	}

	header {
		.sp_menu {
			display: block;
			position: fixed;
			z-index: 1000;
			@keyframes bugfix {
				from {
					padding: 0;
				}
				to {
					padding: 0;
				}
			}
			@-webkit-keyframes bugfix {
				from {
					padding: 0;
				}
				to {
					padding: 0;
				}
			}
			#overlay-button {
				position: fixed;
				right: 25px;
				top: 25px;
				padding: 26px 11px;
				z-index: 999;
				cursor: pointer;
				user-select: none;
				span {
					height: 2px;
					width: 30px;
					border-radius: 2px;
					background-color: black;
					position: relative;
					display: block;
					transition: all 0.2s ease-in-out;
					&::before {
						top: -10px;
						visibility: visible;
					}
					&::after {
						top: 10px;
					}
					&::before,
					&::after {
						height: 2px;
						width: 30px;
						border-radius: 2px;
						background-color: black;
						position: absolute;
						content: "";
						transition: all 0.2s ease-in-out;
					}
				}
			}

			input[type="checkbox"] {
				display: none;
			}

			input[type="checkbox"]:checked ~ #overlay {
				visibility: visible;
			}

			input[type="checkbox"]:checked ~ #overlay-button:hover span,
			input[type="checkbox"]:checked ~ #overlay-button span {
				background: transparent;
			}
			input[type="checkbox"]:checked ~ #overlay-button span:before {
				transform: rotate(45deg) translate(7px, 7px);
			}
			input[type="checkbox"]:checked ~ #overlay-button span:after {
				transform: rotate(-45deg) translate(7px, -7px);
			}

			#overlay {
				height: 100vh;
				width: 100vw;
				background: white;
				z-index: 2;
				visibility: hidden;
				position: fixed;
				top: 0;
				ul {
					display: flex;
					justify-content: center;
					align-items: center;
					flex-direction: column;
					text-align: center;
					height: 100vh;
					padding-left: 0;
					list-style-type: none;
					margin-left: -15px;
					li {
						line-height: 3.5;
						color: #ff7f00;
						font-size: 1.5rem;
					}
				}
			}
		}
	}

	.p {
		padding: 60px 20px;
	}

	#header {
		padding: 20px 20px 0px;
		nav {
			display: none;
		}
	}
	html {
		padding: 15px;
	}

	.button {
		max-width: 340px;
		font-size: 1.65rem;
		margin: 30px auto 0px;
		letter-spacing: 0em;
		line-height: 2.4;
		&::after {
			right: 5px;
		}
	}

	h1 {
		font-size: 2.4rem;
		padding: 50px 0;
		&::after {
			top: 77px;
			right: -30px;
			font-size: 2.2rem;
		}
	}

	h2 {
		min-width: unset;
		font-size: 1.9rem;
		padding: 8px 20px;
	}

	.page_h3 {
		font-size: 2rem;
	}

	.button_contact {
		max-width: 120px;
		right: 20px;
		bottom: 20px;
	}

	.page_ul {
		li {
			font-size: 1.8rem;
		}
	}

	.page_point {
		padding: 30px 10px 20px;
		p {
			font-size: 2.2rem;
			padding: 0px 15px;
			margin: -56px auto 20px;
		}
	}

	.page_price {
		article {
			h3 {
				font-size: 2.2rem;
				span {
					font-size: 2rem;
				}
			}
			div {
				flex-direction: column;
			}
		}
	}

	#header {
		.header_wrapper {
			figure {
				max-width: 240px;
				padding: 0;
				position: fixed;
				top: 30px;
				z-index: 9999;
			}
			div {
				width: 100%;
				text-align: center;
				margin: 40px 0 15px;
			}
			nav {
				display: none;
			}
		}
	}

	#top {
		.mv {
			.slider {
				height: fit-content;
				margin: 0 auto 80px;
				padding: 30px 20px;
				article {
					.inner {
						flex-direction: column;
						p {
							text-align: center !important;
							&:nth-child(1) {
								font-size: 2.6rem;
								&::after {
									right: 20px;
									bottom: -50px;
								}
							}
							&:nth-child(2) {
								font-size: 2.3rem;
								line-height: 1.5;
							}
							&:nth-child(3) {
								font-size: 1.8rem;
							}
						}
						figure {
							&:nth-child(1) {
								max-width: 130px;
								margin: -70px 0px 40px auto;
							}
							&:nth-child(2) {
								max-width: 210px;
							}
						}
					}
				}
				.slide2 {
					.inner {
						figure {
							&:nth-child(2) {
								max-width: 180px !important;
							}
						}
					}
				}
			}
		}
		.news {
			article {
				padding: 30px 20px 40px;
				div {
					a {
						font-size: 1.6rem;
						flex-direction: column;
					}
				}
				.pattern {
					bottom: -40px;
					right: -30px;
					max-width: 110px;
				}
			}
		}

		.page_price {
			.pattern {
				&:nth-of-type(1) {
					max-width: 180px;
				}
				&:nth-of-type(2) {
					bottom: 190px;
					right: -15px;
					max-width: 110px;
				}
			}
		}

		.instagram {
			> figure:nth-of-type(1) {
				margin-bottom: 60px;
				flex-direction: column;
				text-align: center;
				img {
					max-width: 50px;
					margin-bottom: 10px;
				}
				h3 {
					font-size: 2.3rem;
					margin-left: 0px;
					&::after {
						top: 43px;
						right: -8px;
						font-size: 2rem;
					}
				}
			}
			> figure:last-of-type {
				max-width: 150px;
				left: -2%;
			}
			div {
				figure {
					max-width: 90px;
				}
				a {
					margin-left: 10px;
					font-size: 1.9rem;
				}
			}
		}

		.support {
			div {
				flex-direction: column;
			}
			.pattern {
				&:nth-of-type(2) {
					bottom: 180px;
					right: -10px;
					max-width: 120px;
				}
			}
		}

		.reason {
			div {
				article {
					width: 100%;
					padding: 25px 20px 20px;
				}
			}
		}

		.solo {
			div {
				flex-direction: column-reverse;
				margin-bottom: 30px;
				p {
					text-align: center;
					font-size: 1.8rem;
				}
				figure {
					max-width: 240px;
					margin: 30px auto 0;
					z-index: 999;
				}
			}
			.pattern {
				&:nth-of-type(1) {
					top: 250px;
					left: -20px;
					max-width: 120px;
				}
				&:nth-of-type(2) {
					max-width: 130px;
				}
			}
		}

		.entrust {
			& ul {
				li {
					font-size: 1.7rem;
					letter-spacing: 0em;
				}
			}
			.pattern {
				&:nth-of-type(1) {
					top: 210px;
					left: -10px;
					max-width: 80px;
				}
				&:nth-of-type(2) {
					bottom: 370px;
					right: -7px;
					max-width: 110px;
				}
			}
		}
	}

	#home {
		h1 {
			.pattern {
				top: 25px;
				left: -70px;
				max-width: 90px;
			}
		}
		.wrapper {
			gap: 20px;
			margin: 50px auto 0;
			a {
				width: calc((100% - 20px) / 2);
			}
		}
	}

	#service {
		h1 {
			.pattern {
				top: 30px;
				left: -60px;
				max-width: 90px;
			}
		}
		.heading {
			margin: 0 auto 80px;
			figure {
				position: unset;
				max-width: 220px;
				margin: auto;
			}
		}
		article {
			.qa {
				padding: 20px;
				margin: 0 auto 80px;
				&:nth-of-type(1) {
					p {
						font-size: 1.9rem;
						letter-spacing: 0.05em;
					}
				}
				h4 {
					font-size: 7rem;
					margin: -70px 0 20px;
					text-align: center;
				}
			}
			i {
				padding: 40px 0px 50px;
			}
		}
	}

	#flow {
		.wrapper_step {
			article {
				flex-direction: column;
				.step {
					margin: 0 auto;
					&::after {
						display: none;
					}
				}
				div {
					h3 {
						text-align: center;
						span {
							display: block;
						}
					}
				}
			}
		}
		.wrapper_etc {
			h3 {
				font-size: 2.2rem;
			}
		}
		.hayashida {
			max-width: 200px !important;
		}
	}

	#price {
		h1 {
			.pattern {
				top: 30px;
				left: -50px;
				max-width: 90px;
			}
		}
		.table_pc {
			display: none;
		}

		.table_sp {
			display: block;
		}

		.container {
			width: 100%;
			border: 1px solid #e3e3e3;
			overflow: hidden;
			margin-bottom: 25px;
			input[type="radio"] {
				position: absolute;
				opacity: 0;
				pointer-events: none;
			}

			.tabs {
				display: flex;
				gap: 0;
				background: #f7f7f7;
				border-bottom: 1px solid #e6e6e6;

				input[type="radio"] {
					position: absolute;
					opacity: 0;
					pointer-events: none;
				}

				label {
					font-size: 1.6rem;
					flex: 1 1 0;
					font-weight: 600;
					padding: 8px;
					text-align: center;
					cursor: pointer;
					user-select: none;
					border-right: 1px solid #e6e6e6;
					&:last-of-type {
						border-right: none;
					}

					transition:
						background 0.18s ease,
						color 0.18s ease;
					&:focus {
						outline: 3px solid rgba(11, 95, 255, 0.15);
						outline-offset: 2px;
					}
				}
			}

			.panels {
				.content {
					display: none;
					padding: 20px 15px;
					background: white;
					min-height: 140px;
				}
				p {
					text-align: center;
					font-size: 1.9rem;
					margin-bottom: 20px;
				}
				table {
					margin-bottom: 0px;
					th,
					td {
						padding: 10px;
						font-size: 1.4rem;
					}
					.t_r {
						text-wrap: nowrap;
					}
				}
			}
		}

		/* ← ここは container の外で書く */
		#tab1:checked ~ .panels #panel1,
		#tab2:checked ~ .panels #panel2 {
			display: block;
		}

		#tab1:checked ~ .tabs label[for="tab1"],
		#tab2:checked ~ .tabs label[for="tab2"] {
			border-bottom: 2px solid #2cc0c4;
		}
	}

	#support {
		h1 {
			.pattern {
				top: 60px;
				left: -50px;
				max-width: 100px;
				transform: rotate(45deg);
			}
		}
		article {
			article {
				margin-bottom: 60px;
				h4 {
					font-size: 2rem;
				}
			}
			p {
				.line {
					font-size: 2.3rem;
				}
			}
			.wrapper_list {
				padding: 30px 25px 25px;
			}
			.page_point {
				margin: 60px auto 50px;
			}
		}
	}

	#overview {
		h1 {
			font-size: 2.4rem;
			padding: 50px 0;
			.pattern {
				top: 25px;
				left: -40px;
				max-width: 60px;
			}
		}
		table {
			tr {
				th,
				td {
					display: block;
					width: 100%;
					padding: 15px 20px;
				}
				th {
					background-color: #f7f7f7 !important;
				}
				td {
					background-color: white !important;
				}
			}
		}

		.map {
			aspect-ratio: 1 / 1;
		}

		.wrapper_link {
			margin: auto;
			padding: 0 20px 50px;
		}
	}

	#privacypolicy {
		h1 {
			.pattern {
				top: 30px;
				left: -40px;
				max-width: 80px;
			}
		}
		article {
			h2 {
				line-height: 1.5;
				font-size: 1.8rem;
			}
		}
	}

	#single {
		h2 {
			margin-bottom: 50px;
		}
		.single_pn {
			margin: 50px auto 0px;
			a {
				margin: 0px 15px;
				font-size: 1.4rem;
			}
		}
	}

	#contact {
		article {
			margin-bottom: 60px;
			.link_tel {
				font-size: 3rem;
			}
		}
		figure {
			margin: 0 auto 40px;
			a {
				pointer-events: auto;
				img {
					max-width: 180px;
				}
			}
		}
	}

	#contact-end {
		p {
			font-size: 1.6rem !important;
		}
	}

	footer {
		padding: 40px 20px;
		.wrapper {
			figure {
				max-width: 220px;
			}
			div {
				flex-direction: column;
				ul {
					margin-bottom: 25px;
					&:last-of-type {
						margin-bottom: 0px;
					}
					&:last-child {
						height: 126px;
						li {
							line-height: 2.2;
						}
					}
					li {
						font-size: 1.4rem;
						.fa-brands {
							font-size: 2rem;
							margin: 12px 5px 0 0;
						}
					}
				}
			}
		}
	}
}
