@charset "UTF-8";
/* ----------------------------- 0. 共通パーツ */
.index-works-list, .works-content {
		content-visibility: auto;
		contain-intrinsic-size: 1000px;
		/* Explained in the next section. */ }

.ecplan .ttl {
		line-height: 125%;
		padding-right: 16px; }

.about-plan {
		margin: 0 0 80px; }

.about-about .flex li {
		flex-basis: initial; }

.flex {
		display: flex; }

.function {
		background-color: #eee; }
		.function .sub__title {
				background-color: #222;
				padding: 12.5px;
				position: relative;
				top: 50px;
				width: max-content;
				margin: 50px auto 0 auto; }
				.function .sub__title p {
						font-size: 22px;
						color: #FFF;
						text-align: center;
						margin: 0; }
		.function .flex {
				margin-top: 50px;
				padding: 30px 0;
				flex-wrap: wrap;
				text-align: center; }
				.function .flex li {
						width: 25%; }
						.function .flex li:nth-child(n+5) {
								padding-top: 20px; }

.point__wrap {
		display: flex;
		padding-bottom: 60px; }
		.point__wrap:last-child {
				padding-bottom: 0; }

.point__img, .point__main {
		max-width: 46%; }

.point__img {
		margin-right: 4%; }

.point__main h3 {
		font-size: 20px;
		padding-bottom: 12px; }

.plan {
		text-align: center;
		padding-top: 60px; }
		.plan__wrap {
				display: flex;
				padding-bottom: 84px; }
				.plan__wrap .plantitle h3 {
						font-size: 26px; }
		.plantext p {
				margin-bottom: 10px; }
		.planblock {
				padding-bottom: 12px;
				border-bottom: 1px #222 dotted;
				margin-bottom: 12px; }
				.planblock:last-child {
						margin-bottom: 0;
						border: none; }
				.planblock p {
						margin: 0 !important; }
		.planprice {
				font-size: 36px;
				font-weight: bold; }
				.planprice p {
						line-height: 125%; }
				.planprice span {
						font-size: 20px; }
		.plan .plan1 {
				width: 48%;
				margin-right: 4%;
				padding: 30px;
				background-color: #F0F7F7; }
		.plan .plan2 {
				width: 48%;
				padding: 30px;
				background-color: #ffcb98; }
		.plan .plan3 {
				padding: 30px;
				background-color: #eee; }
				.plan .plan3 p {
						margin: 0 !important; }
				.plan .plan3 .plantitle {
						position: relative;
						top: 10px; }
				.plan .plan3 .planlist ul li {
						max-width: 31%;
						background-color: #fff;
						padding: 20px; }
				.plan .plan3 .planlist .optiontext {
						min-height: 100px; }
				.plan .plan3 .planlist .optiontitle {
						border-bottom: 1px #222 dotted;
						padding-bottom: 6px;
						margin-bottom: 6px; }
				.plan .plan3 .planlist .optionprice p {
						font-size: 20px;
						font-weight: bold; }
						.plan .plan3 .planlist .optionprice p span {
								font-size: 16px; }
				.plan .plan3 .optiontext2 {
						padding-top: 30px; }
						.plan .plan3 .optiontext2 p {
								font-size: 16px; }

.gtform {
		padding: 60px;
		text-align: center; }
		.gtform p {
				margin: 0 !important; }
		.gtform .btn {
				margin: 20px 0; }

.sp-only {
		display: none; }

@media screen and (max-width: 768px) {
		.index-works-list {
			height: auto!important;
		}
		.index-works-list .index-works-entry {
			position: initial!important;
		}

		.ecplan .ttl {
				padding-right: 0; }
		.function .sub__title {
				top: 30px;
				margin: 30px auto 0 auto;
				padding: 6px; }
				.function .sub__title p {
						font-size: 20px; }
		.function .flex {
				margin-top: 30px;
				padding: 30px; }
				.function .flex li {
						width: 45%;
						padding-top: 20px; }
		.point {
				padding-top: 30px; }
				.point__wrap {
						display: block; }
				.point__img, .point__main {
						max-width: 100%; }
				.point__img {
						margin-right: 0; }
				.point__main {
						padding-top: 12px; }
						.point__main p {
								margin: 0 !important; }
		.plan {
				padding-top: 30px; }
				.plan__wrap {
						display: block;
						padding-bottom: 48px; }
				.plan .plan1 {
						width: 100%;
						margin-right: 0;
						margin-bottom: 48px;
						padding: 20px; }
				.plan .plan2 {
						width: 100%;
						padding: 20px; }
				.plan .plan3 .optiontext2 {
						padding-top: 20px; }
						.plan .plan3 .optiontext2 p {
								font-size: 14px; }
				.plantitle {
						font-size: 18px; }
				.planlist ul {
						display: block !important; }
						.planlist ul li {
								max-width: 100% !important;
								margin-bottom: 20px;
								padding: 20px;
								font-size: 14px; }
								.planlist ul li:last-child {
										margin-bottom: 0; }
				.planlist .optiontitle h3 {
						font-size: 16px; }
		.planprice {
				font-size: 32px;
				padding-bottom: 24px; }
		.gtform {
				padding: 40px; }
				.gtform .btn {
						margin: 40px 0; }
		.sp-only {
				display: block; } }
