@charset "UTF-8";
/*基本設定*/
html {
	scroll-behavior: smooth;
}
body {
	position: relative;
	font-family: "Noto Sans JP", sans-serif;
}
ul {
	margin: 0;
	padding: 0;
}
img {
	width: 100%;
	height: auto;
}
a {
	text-decoration: none;
}
p {
	margin-top: 0;
}
dd {
	margin-left: 0;
}
/*ヘッダー*/
.site-header {
	background-color: #0075A0;
	container-type: inline-size;
	position: fixed;
	z-index: 1000;
	top: 0;
	left: 0;
	width: 100%;
}
@media (min-width: 600px) {
	.site-header {
		height: 70px;
		padding: 8px 48px;
	}
}
@media (max-width: 599px) {
	.site-header {
		height: 17vw;
		padding: 2vw;
	}
}
.site-header_inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	height: 100%;
}
.site-header .site-branding {
	display: flex;
	align-items: center;
	width: min(60%, 250px);
	height: 100%;
	text-align: left;
}
.site-header .site-branding img {
	aspect-ratio: 216/43;
	object-fit: contain;
}
/*ヘッダーメニュー*/
@media (min-width: 960px) {
	#header-menu {
		height: 100%;
	}
	#header-menu .drawer_inner {
		height: 100%;
	}
	#header-menu .drawer_list {
		height: 100%;
	}
	#header-menu .drawer_list li {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 100%;
	}
	#header-menu .drawer_list a {
		height: 100%;
		color: #fff;
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: min(1.08vw, 16px);
	}
}
@media (min-width: 768px) {
	main {
		padding-top: 70px;
		font-size: min(1.08cqw, 16px);
	}
}
@media (max-width: 767px) {
	main {
		padding-top: 17cqw;
		font-size: 3.5cqw;
	}
}
.dot-over {
	position: relative;
}
.dot-over::before {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -0.5em);
	line-height: 1;
	color: #FF529B;
}
.content-width {
	container: main / inline-size;
	width: min(100%, 1100px);
	margin: auto;
}
.content-width.-narrow {
	width: min(100%, 900px);
}
@media (max-width: 959px) {
	.content-width {
		padding-left: 4.5vw;
		padding-right: 4.5vw;
	}
}
@media (min-width: 768px) {
	.half-width {
		width: 50%;
		padding: 2cqw;
		margin-left: auto;
		margin-right: auto;
	}
}
@media (min-width: 768px) {
	section {
		padding-top: 4cqw;
		padding-bottom: 4cqw;
	}
}
@media (max-width: 767px) {
	section {
		padding: 8cqw 4.5cqw;
	}
}
.content-header {
	display: flex;
	flex-direction: column;
	align-items: center;
}
@media (min-width: 768px) {
	.content-header.-mini .content-title {
		font-size: 1.5cqw;
	}
}
@media (max-width: 767px) {
	.content-header.-mini .content-title {
		font-size: 5cqw;
	}
}
.content-header.-mini .content-subtitle {
	font-size: inherit;
}
.content-title {
	margin: 0;
	font-weight: 700;
	order: 1;
}
@media (min-width: 768px) {
	.content-title {
		font-size: 2.25cqw;
	}
}
@media (max-width: 767px) {
	.content-title {
		font-size: 5cqw;
	}
}
.content-subtitle {
	margin: 0;
	color: #02B4BC;
	font-weight: 700;
	font-family: "Roboto", sans-serif;
	line-height: 0.5;
}
@media (min-width: 768px) {
	.content-subtitle {
		font-size: 4.5cqw;
	}
}
@media (max-width: 767px) {
	.content-subtitle {
		font-size: 11cqw;
	}
}
.content-summary {
	order: 2;
}
@media (min-width: 768px) {
	.content-summary {
		text-align: center;
	}
}
/*金文字実績*/
.achievements {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
@media (min-width: 768px) {
	.achievements {
		column-gap: 5%;
		padding: 0 10%;
		margin: auto;
	}
}
.achievements dl {
	container-type: inline-size;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: bottom center;
	text-align: center;
	line-height: 1.2;
}
@media (min-width: 768px) {
	.achievements dl {
		width: 30%;
	}
}
@media (max-width: 767px) {
	.achievements dl {
		width: 50%;
	}
}
.achievements dt {
	color: #9b7500;
	font-size: 7cqw;
}
.achievements dd {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	margin: 0 auto;
	color: #ad8818;
	font-size: 8cqw;
}
.achievements dd .gradient {
	background: linear-gradient(to bottom, #d5a40e 0%, #d5a40e 35%, #ffe186 40%, #e0ad14 60%, #8b701b 100%);
	-webkit-background-clip: text !important;
	background-clip: text !important;
	color: transparent !important;
	font-size: 20cqw;
	font-weight: 900;
	font-family: "Roboto", sans-serif;
	text-shadow: 0.1cqw 0.1cqw 0.2cqw rgba(0, 0, 0, 0.16);
}
.achievements dd .current {
	position: absolute;
	right: 0;
	bottom: 0;
	color: #253539;
	font-size: 3.5cqw;
}
.achievements.-stars {
	background-image: url("/lp/img/white-oval-bg.png");
	background-size: 100% 100%;
	background-repeat: no-repeat;
	background-position: center;
}
.achievements.-stars dl {
	padding-bottom: 1.5cqw;
	background-image: url("/lp/img/achivements-stars.png");
}
/*ボタン型*/
.btn, button.qxCTlb {
	display: flex;
	align-items: center;
	justify-content: center;
	height: fit-content;
	margin: auto;
	padding: 1em 0.6em;
	border-radius: 2em;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
	font-weight: 700;
	transition: 0.3s ease all;
}
.btn:hover, button.qxCTlb:hover {
	transform: translateY(2px);
}
/*ボタン色*/
.-trial {
	background-color: #FF529B;
	border: 1px solid #FF529B;
	color: #fff;
}
.-trial::after {
	content: "";
	display: block;
	width: 2em;
	aspect-ratio: 1/1;
	background-repeat: no-repeat;
	background-size: 80%;
	background-position: center;
	background-image: url("/lp/img/cta-traial-icon.png");
}
.-login {
	background-color: transparent;
	border: 2px solid #fff;
	color: #fff !important;
	border-radius: 4px;
}
button.qxCTlb {
	background-color: #fff;
	border: 1px solid #0075A0;
	color: #0075A0 !important;
}
button.qxCTlb::after {
	content: "";
	display: block;
	width: 2em;
	aspect-ratio: 1/1;
	background-repeat: no-repeat;
	background-size: 80%;
	background-position: center;
	background-image: url("/lp/img/cta-reserve-icon.png");
}
.-login {
	display: flex !important;
	height: 3em !important;
	align-items: center;
	justify-content: center;
}
.cta {
	display: flex;
}
main .cta {
	container-type: inline-size;
	flex-wrap: wrap;
	justify-content: space-around;
	padding-top: 0;
}
@media (min-width: 768px) {
	main .cta a, main .cta button {
		width: 47.5%;
		font-size: 3cqw;
	}
}
@media (max-width: 767px) {
	main .cta a, main .cta button {
		width: 80vw;
		margin: 1em auto;
	}
}
main .cta.-center {
	justify-content: center;
}
.cta.-floating {
	position: fixed;
	z-index: 1;
	pointer-events: none;
	transition: transform 300ms ease;
	opacity: 0;
	transition: transform 300ms ease, opacity 150ms ease;
}
.cta.-floating a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin: 0;
}
.cta.-floating span {
	font-size: 16px;
}
@media (min-width: 768px) {
	.cta.-floating {
		top: 20vh;
		right: 0;
		width: 85px;
		transform: translateX(110%);
	}
	.cta.-floating a {
		flex-direction: column;
		padding: 15px 0;
		border-radius: 16px 0 0 16px;
	}
	.cta.-floating span {
		writing-mode: vertical-rl;
	}
}
@media (max-width: 767px) {
	.cta.-floating {
		bottom: 0;
		left: 0;
		width: 100%;
		transform: translateY(110%);
	}
	.cta.-floating a {
		padding: 15px 0;
		border-radius: 0;
	}
}
.cta.-floating.is-visible {
	transform: translateX(0);
	pointer-events: auto;
	opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
	.cta.-floating {
		transition: none;
		transform: translateX(0);
	}
}
/*ファーストビュー*/
#firstview {
	padding: 0;
	background-image: url("/lp/img/fv_bg-l.jpg"), url("/lp/img/fv_bg-r.jpg");
	background-repeat: no-repeat, no-repeat;
	background-position: left top, right top;
	font-weight: 700;
}
@media (min-width: 768px) {
	#firstview {
		background-size: auto 90%, auto 90%;
	}
}
@media (max-width: 767px) {
	#firstview {
		background-size: auto 45cqw, auto 45cqw;
		padding-top: 32cqw;
	}
}
@media (min-width: 768px) {
	#firstview .content-width {
		position: relative;
		width: min(100%, 1319px);
	}
}
@media (max-width: 767px) {
	#firstview .gradation-bg {
		background-image: url("/lp/img/gradation-bg.png");
		background-size: 100% 100%;
		background-repeat: no-repeat;
		background-position: center;
	}
}
@media (min-width: 768px) {
	#firstview .half-width {
		container: half-width / inline-size;
	}
	#firstview .half-width.-left, #firstview .half-width.cta {
		margin-left: 0;
	}
}
#firstview .half-width.-left {
	display: flex;
	flex-direction: column;
	align-items: center;
}
@media (min-width: 768px) {
	#firstview .half-width.-left {
		padding-bottom: 0;
	}
}
#firstview .half-width.-left .section_sub-title {
	position: relative;
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	font-size: 4.5cqw;
	text-align: center;
}
#firstview .half-width.-left .section_sub-title::after {
	content: "";
	display: block;
	width: 100%;
	aspect-ratio: 576/16;
	background-image: url("/lp/img/fv-subtitle_bg.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}
#firstview .half-width.-left .section_sub-title span {
	color: #0075A0;
	font-size: 120%;
}
#firstview .half-width.-left .section_title {
	width: 100%;
	margin: 0;
	font-size: 9.5cqw;
	color: #0075A0;
}
#firstview .half-width.-left .section_message {
	width: 100%;
	font-size: 5cqw;
}
#firstview .half-width.-right {
	position: relative;
	text-align: center;
}
@media (min-width: 768px) {
	#firstview .half-width.-right {
		position: absolute;
		top: 0;
		right: 0;
	}
}
#firstview .half-width.-right .half-width-title {
	position: absolute;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
	width: fit-content;
	height: fit-content;
	margin: 0;
	padding: 0.5em 1.5em;
	background-color: #0075A0;
	color: #fff;
	border-radius: 1.5em;
	white-space: nowrap;
}
@media (min-width: 768px) {
	#firstview .half-width.-right .half-width-title {
		top: 10cqw;
	}
}
@media (max-width: 767px) {
	#firstview .half-width.-right .half-width-title {
		top: 0;
	}
}
#firstview .half-width.-right .half-width-content {
	position: relative;
	margin-top: 5cqw;
	padding: 5cqw;
	background-color: #fff;
	border: solid #0075A0 0.4cqw;
	border-radius: 1cqw;
	box-shadow: -2cqw 2cqw 0 0 rgba(2, 180, 188, 0.5);
}
@media (max-width: 767px) {
	#firstview .half-width.-right .half-width-content {
		margin-bottom: 10vw;
	}
}
#firstview .half-width.-right .half-width-content .img-name {
	font-size: 4cqw;
}
#firstview .half-width.-right .half-width-content img {
	display: block;
	width: 70%;
	margin: auto;
}
/*こんなお悩みありませんか*/
#issues {
	background-repeat: no-repeat;
	background-position: bottom center;
	background-size: 100% 100%;
}
@media (min-width: 768px) {
	#issues {
		padding-top: 0;
		padding-bottom: 3cqw;
		background-image: url("/lp/img/issues-bg.png");
	}
}
@media (max-width: 767px) {
	#issues {
		padding-top: 0;
		padding-bottom: 0;
		background-image: url("/lp/img/issues-bg-sp.png");
	}
}
#issues h2 {
	position: relative;
	width: 100%;
	background-color: #0075A0;
	text-align: center;
	color: #fff;
}
@media (min-width: 768px) {
	#issues h2 {
		padding: 1.5cqw;
		font-size: 2cqw;
	}
}
@media (max-width: 767px) {
	#issues h2 {
		padding: 3cqw;
		font-size: 5cqw;
	}
}
#issues h2::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	border: solid transparent;
	height: 0;
	width: 0;
	border-color: transparent;
	border-top-width: 10px;
	border-bottom-width: 10px;
	border-left-width: 10px;
	border-right-width: 10px;
	margin-left: -10px;
	border-top-color: #0075A0;
	pointer-events: none;
}
#issues h2 span {
	font-size: 150%;
}
#issues h2 .dot-over::before {
	content: "・・・";
	/* 点の数を調整 */
}
#issues .ncRows {
	container-type: inline-size;
}
#issues .ncRows_title {
	width: 100%;
	margin-bottom: 0;
	font-size: 7cqw;
	line-height: 1.2;
}
@media (max-width: 767px) {
	#issues .ncRows_title {
		margin-bottom: 4cqw;
	}
}
@media (min-width: 768px) {
	#issues .ncRows_title {
		aspect-ratio: 100/29;
	}
}
#issues .ncRows_title p {
	margin: 0 auto;
}
#issues .ncRows_title span {
	font-size: 10cqw;
	color: #0075A0;
}
#issues .ncRows:nth-of-type(1) .ncRows_text {
	background-image: url("/lp/img/issue01.png");
}
#issues .ncRows:nth-of-type(2) .ncRows_text {
	background-image: url("/lp/img/issue02.png");
}
#issues .ncRows:nth-of-type(3) .ncRows_text {
	background-image: url("/lp/img/issue03.png");
}
#issues .ncRows_text {
	position: relative;
	width: 100%;
	aspect-ratio: 370/383;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: bottom center;
}
#issues .ncRows_text:nth-of-type(3) .ncRows_title {
	font-size: 6cqw;
}
#issues .ncRows_text:nth-of-type(3) .ncRows_title span {
	font-size: 7.5cqw;
}
#issues .ncRows_text p {
	position: absolute;
	padding: 2cqw 10cqw;
	background-color: #4d6067;
	border-radius: 3em;
	color: #fff;
	font-size: 5cqw;
	font-weight: 700;
}
#issues .ncRows_text p span {
	position: relative;
	z-index: 1;
}
#issues .ncRows_text p:first-of-type {
	top: 0;
	right: 0;
}
#issues .ncRows_text p:first-of-type::after {
	bottom: -6cqw;
	left: 8cqw;
}
#issues .ncRows_text p:last-of-type {
	bottom: 3cqw;
	left: 0;
}
#issues .ncRows_text p:last-of-type::after {
	top: -6cqw;
	left: 29cqw;
	transform: rotate(180deg);
}
#issues .ncRows_text p::before {
	content: "";
	display: inline-block;
	height: 1em;
	aspect-ratio: 21/19;
	background-image: url("/lp/img/check.svg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}
#issues .ncRows_text p::after {
	position: absolute;
	z-index: 0;
	content: "";
	display: block;
	width: 7cqw;
	aspect-ratio: 25/33;
	background-image: url("/lp/img/bubble-bg.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}
/*解決します*/
#answer {
	background-repeat: no-repeat;
	background-position: bottom center;
	background-size: 100% 100%;
}
@media (min-width: 768px) {
	#answer {
		padding: 9cqw 3cqw 5cqw;
		background-image: url("/lp/img/answer-bg.png");
	}
}
@media (max-width: 767px) {
	#answer {
		padding-top: 17cqw;
		padding-bottom: 10cqw;
		background-image: url("/lp/img/answer-bg-sp.png");
	}
}
#answer .ncColumns_panel {
	container-type: inline-size;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
#answer .title {
	font-weight: 900;
	font-size: 5.8cqw;
	text-align: center;
	margin-bottom: 5cqw;
}
#answer .title p {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0;
	font-size: 130%;
}
#answer .title img {
	display: inline-block;
	width: 88cqw;
}
#answer .merit-list {
	padding: 0;
}
@media (max-width: 767px) {
	#answer .merit-list {
		margin-bottom: 5cqw;
	}
}
#answer .merit-list li {
	list-style: none;
	display: flex;
	align-items: center;
	padding: 2cqw 5cqw;
	margin-bottom: 2cqw;
	background-color: #fff;
	border: solid 0.4cqw #0075A0;
	box-shadow: 1cqw 1.5cqw 3cqw rgba(0, 0, 0, 0.16);
	border-radius: 1.5cqw;
	font-weight: 700;
	font-size: 4cqw;
}
#answer .merit-list li img {
	width: 12cqw;
	margin-right: 3cqw;
}
#answer .merit-list li:nth-of-type(1) .dot-over {
	letter-spacing: -0.05em;
}
#answer .merit-list li:nth-of-type(1) .dot-over::before {
	content: "・・";
	/* 点の数を調整 */
}
#answer .merit-list li:nth-of-type(2) .dot-over::before, #answer .merit-list li:nth-of-type(3) .dot-over::before {
	content: "・・・・";
	/* 点の数を調整 */
}
/*結果*/
#effect {
	font-weight: 700;
}
@media (min-width: 768px) {
	#effect {
		padding-top: 5cqw;
		padding-bottom: 5cqw;
		background-image: url("/lp/img/effect-bg-l.png"), url("/lp/img/effect-bg-r.png");
		background-repeat: no-repeat, no-repeat;
		background-position: left top, right top;
		background-size: auto 100%, auto 100%;
	}
}
@media (max-width: 767px) {
	#effect {
		background-image: url("/lp/img/effect-bg-sp.png");
		background-repeat: no-repeat;
		background-position: top center;
		background-size: contain;
		padding-top: 32cqw;
	}
}
#effect .content-width {
	padding-bottom: 1cqw;
	background: linear-gradient(to bottom, transparent 0%, transparent 5cqw, rgba(255, 255, 255, 0.8) 5cqw, rgba(255, 255, 255, 0.8) 100%);
}
@media (min-width: 768px) {
	#effect .content-width {
		width: 60%;
		border-radius: 1cqw;
	}
}
#effect .effect-trigger {
	container-type: inline-size;
	position: relative;
	background-color: #fff;
	border: solid #0075A0;
}
#effect .effect-trigger::after, #effect .effect-trigger::before {
	border: solid transparent;
	content: "";
	height: 0;
	width: 0;
	pointer-events: none;
	position: absolute;
	top: 100%;
	left: 50%;
}
@media (min-width: 768px) {
	#effect .effect-trigger {
		display: flex;
		justify-content: space-between;
		border-width: 0.2cqw;
		border-radius: 5cqw;
		padding: 2cqw;
	}
	#effect .effect-trigger::after {
		border-color: rgba(255, 255, 255, 0);
		border-top-width: 1cqw;
		border-bottom-width: 1cqw;
		border-left-width: 1cqw;
		border-right-width: 1cqw;
		margin-left: -1cqw;
		border-top-color: #ffffff;
	}
	#effect .effect-trigger::before {
		border-color: rgba(30, 144, 255, 0);
		border-top-width: 1.2cqw;
		border-bottom-width: 1.2cqw;
		border-left-width: 1.2cqw;
		border-right-width: 1.2cqw;
		margin-left: -1.1cqw;
		margin-top: 0.1cqw;
		border-top-color: #0075A0;
	}
}
@media (max-width: 767px) {
	#effect .effect-trigger {
		border-width: 0.4cqw;
		border-radius: 7cqw;
		padding: 4cqw;
	}
	#effect .effect-trigger::after {
		border-color: rgba(255, 255, 255, 0);
		border-top-width: 2cqw;
		border-bottom-width: 2cqw;
		border-left-width: 2cqw;
		border-right-width: 2cqw;
		margin-left: -2cqw;
		border-top-color: #ffffff;
	}
	#effect .effect-trigger::before {
		border-color: rgba(30, 144, 255, 0);
		border-top-width: 2.2cqw;
		border-bottom-width: 2.2cqw;
		border-left-width: 2.2cqw;
		border-right-width: 2.2cqw;
		margin-left: -2.2cqw;
		margin-top: 1px;
		border-top-color: #0075A0;
	}
}
#effect .effect-trigger li {
	position: relative;
	width: fit-content;
	padding-left: 2em;
	list-style: none;
	color: #0075A0;
	font-weight: 700;
}
#effect .effect-trigger li::before {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	content: "";
	display: inline-block;
	height: 1em;
	aspect-ratio: 21/19;
	background-image: url("/lp/img/check-gray.svg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}
@media (min-width: 768px) {
	#effect .effect-trigger li {
		font-size: 2.4cqw;
	}
}
@media (max-width: 767px) {
	#effect .effect-trigger li {
		margin-bottom: 0.8em;
		font-size: 6cqw;
	}
}
#effect .effect-trigger li span {
	font-size: 110%;
	font-weight: 900;
}
@media (min-width: 768px) {
	#effect .ncColumns {
		justify-content: space-around;
		width: 90%;
		margin: 3cqw auto;
	}
}
@media (max-width: 767px) {
	#effect .ncColumns {
		margin: 9cqw auto 0;
	}
}
#effect .ncColumns_panel {
	container-type: inline-size;
	display: flex;
	justify-content: center;
	align-items: center;
	aspect-ratio: 1016/297;
	background-image: url("/lp/img/blue-laurel.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: bottom center;
	text-align: center;
	line-height: 1.2;
}
@media (max-width: 767px) {
	#effect .ncColumns_panel:first-of-type {
		margin-bottom: 5cqw;
	}
}
#effect .ncColumns_panel p {
	margin-top: 1em;
	background: linear-gradient(to bottom, #00a2bf 0%, #00c6d0 100%);
	-webkit-background-clip: text !important;
	background-clip: text !important;
	color: transparent !important;
	font-weight: 900;
}
@media (min-width: 768px) {
	#effect .ncColumns_panel p {
		font-size: 6cqw;
	}
}
@media (max-width: 767px) {
	#effect .ncColumns_panel p {
		font-size: 7cqw;
	}
}
/*選ばれる理由*/
#reasons {
	background-repeat: no-repeat;
	background-position: bottom center;
	background-size: cover;
	background-image: url("/lp/img/reason-bg.png");
}
@media (min-width: 768px) {
	#reasons {
		padding-top: 4cqw;
		padding-bottom: 4cqw;
	}
}
@media (max-width: 767px) {
	#reasons {
		padding-top: 15cqw;
		padding-bottom: 15cqw;
	}
}
#reasons .content-width {
	background-color: #fff;
}
@media (min-width: 768px) {
	#reasons .content-width {
		padding: 2cqw;
		border-radius: 1cqw;
		box-shadow: 0 0.2cqw 1cqw rgba(0, 0, 0, 0.16);
	}
}
@media (max-width: 767px) {
	#reasons .content-width {
		padding: 6cqw 4cqw 4cqw;
		border-radius: 2.5cqw;
		box-shadow: 0 0.4cqw 2cqw rgba(0, 0, 0, 0.16);
	}
}
#reasons .ncColumns_panel {
	container-type: inline-size;
}
@media (min-width: 768px) {
	#reasons .ncColumns_panel {
		padding-left: 2cqw;
		padding-right: 2cqw;
	}
}
#reasons .ncRows_title {
	order: 1;
	margin-bottom: 5cqw;
	font-size: 100%;
}
#reasons .ncRows_image {
	margin-bottom: 5cqw;
}
#reasons .ncRows_text {
	order: 2;
}
#reasons .ncRows_text p {
	margin: 0;
}
/*機能・特長*/
@media (min-width: 768px) {
	#feature {
		padding-top: 4cqw;
		padding-bottom: 4cqw;
	}
}
#feature .feature {
	background-color: #fff;
}
@media (min-width: 768px) {
	#feature .feature {
		padding: 3cqw;
		margin-bottom: 3cqw;
		border-radius: 1cqw;
		box-shadow: 0 0.2cqw 1cqw rgba(2, 180, 188, 0.2);
	}
}
@media (max-width: 767px) {
	#feature .feature {
		padding: 6cqw 4cqw;
		margin: 5cqw;
		border-radius: 2.5cqw;
		box-shadow: 0 0.4cqw 2cqw rgba(2, 180, 188, 0.2);
	}
}
#feature .feature h3 span {
	color: #0075A0;
}
#feature .feature ul {
	padding-left: 1.5em;
}
#feature .ncAccordion_content {
	width: 100%;
	max-width: 900px;
	margin: auto;
}
/*実績*/
#achievements {
	background-repeat: no-repeat;
	background-position: bottom center;
	background-image: url("/lp/img/feature-bg.png");
	text-align: center;
}
@media (min-width: 768px) {
	#achievements {
		padding: 0 10%;
		background-size: 100% 100%;
	}
}
@media (max-width: 767px) {
	#achievements {
		padding-top: 0;
		background-size: 150% auto;
	}
}
#achievements .ncColumns_panel p {
	margin: 0;
}
@media (max-width: 767px) {
	#achievements .ncColumns_panel {
		margin-top: 0;
	}
}
#achievements .cta {
	padding-top: 2cqw;
}
/*お客様の声*/
#voice {
	background: linear-gradient(to bottom, rgba(232, 254, 255, 0.2), rgba(2, 180, 180, 0.2));
}
@media (max-width: 767px) {
	#voice .content-width {
		padding: 0;
	}
}
@media (min-width: 768px) {
	#voice .voiceSlider {
		margin-top: 2cqw;
	}
}
@media (max-width: 767px) {
	#voice .voiceSlider .voiceSlider_track {
		display: flex;
		margin-top: 5cqw;
		align-items: stretch;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		padding: 0;
		gap: 0;
		scrollbar-width: none;
	}
	#voice .voiceSlider .voiceSlider_track::-webkit-scrollbar {
		display: none;
	}
	#voice .voiceSlider .voiceSlider_dots {
		display: flex !important;
		justify-content: center;
		gap: 10px;
		margin-top: 12px;
	}
	#voice .voiceSlider .voiceSlider_dots button {
		display: inline-block;
		appearance: none;
		-webkit-appearance: none;
		width: 10px;
		height: 10px;
		border-radius: 9999px;
		border: 1px solid rgba(0, 0, 0, 0.35);
		background: rgba(0, 0, 0, 0.25) !important;
		padding: 0;
		margin: 0;
		cursor: pointer;
	}
	#voice .voiceSlider .voiceSlider_dots button.-active {
		background: rgba(0, 0, 0, 0.75) !important;
	}
}
@media (min-width: 768px) {
	#voice .-voice:not(:last-of-type) {
		margin-bottom: 5cqw;
	}
}
@media (max-width: 767px) {
	#voice .-voice {
		flex: 0 0 100%;
		width: 100%;
		scroll-snap-align: start;
		box-sizing: border-box;
		padding: 0 16px;
	}
}
#voice .-voice .speech-bubble {
	position: relative;
	background: #fff;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}
#voice .-voice .speech-bubble::after {
	content: "";
	position: absolute;
	top: 50%;
	left: -20px;
	transform: translateY(-50%);
	border-width: 15px 20px 15px 0;
	border-style: solid;
	border-color: transparent #fff transparent transparent;
	filter: drop-shadow(-2px 0 3px rgba(0, 0, 0, 0.05));
}
@media (max-width: 767px) {
	#voice .-voice .speech-bubble {
		height: auto;
		min-height: 60cqw;
		padding: 15cqw 8cqw 8cqw;
		border-radius: 3cqw;
	}
	#voice .-voice .speech-bubble::after {
		top: -15px;
		bottom: auto;
		left: 50%;
		transform: translateX(-50%);
		border-width: 0 12px 15px 12px;
		border-color: transparent transparent #fff transparent;
	}
}
@media (min-width: 768px) {
	#voice .-voice .speech-bubble {
		padding: 5cqw;
		border-radius: 1.5cqw;
	}
}
#voice .-voice .speech-bubble .period {
	position: absolute;
	top: 0;
	left: 0;
	background-color: #0283A5;
	color: #fff;
}
@media (max-width: 767px) {
	#voice .-voice .speech-bubble .period {
		padding: 2cqw;
		border-radius: 3cqw 0 3cqw 0;
	}
}
@media (min-width: 768px) {
	#voice .-voice .speech-bubble .period {
		padding: 1cqw;
		border-radius: 1.5cqw 0 1.5cqw 0;
	}
}
#voice .-voice .speech-bubble .period::before {
	content: "使用歴：";
}
#voice .-voice .speech-bubble .period::after {
	content: "年";
}
#voice .-voice .speech-bubble .voice-title {
	position: relative;
	font-size: 130%;
	font-weight: 700;
	margin-top: 1em;
}
#voice .-voice .speech-bubble .voice-title::before {
	position: absolute;
	top: -0.8em;
	left: -0.6em;
	content: "❝";
	color: #02B4BC;
	font-size: 200%;
	font-weight: 400;
}
#voice .-voice .speech-bubble .voice-message {
	margin-bottom: 0;
	line-height: 2;
}
#voice .signature {
	margin-top: 1em;
	text-align: right;
	line-height: 1.5;
	font-size: 90%;
}
/*利用継続率*/
#continued {
	background-repeat: repeat-x;
	background-position: bottom center;
	background-size: cover;
	background-image: url("/lp/img/continued-bg.png");
	text-align: center;
}
@media (min-width: 768px) {
	#continued {
		padding-top: 4cqw;
		padding-bottom: 4cqw;
	}
}
@media (max-width: 767px) {
	#continued {
		padding: 15cqw 4.5cqw;
	}
}
#continued .content-width {
	width: min(100%, 572px);
	background-image: url("/lp/img/white-oval-bg.png");
	background-size: 100% 100%;
	background-repeat: no-repeat;
	background-position: center;
}
#continued p {
	font-weight: 700;
}
@media (min-width: 768px) {
	#continued p {
		margin-bottom: 0;
	}
}
@media (max-width: 767px) {
	#continued p {
		font-size: 5cqw;
	}
}
#continued dl {
	width: 100%;
	aspect-ratio: 554/194;
	margin: auto;
	background-image: url("/lp/img/achivements-bg.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
#continued dd {
	width: 100%;
	height: 100%;
}
#continued span:not([class]) {
	font-size: 5cqw;
	font-weight: 700;
}
/*導入の流れ*/
#flow {
	background-color: #E8FEFF;
	text-align: center;
}
#flow .content-summary {
	margin-top: 1.5em;
	font-size: 1.1em;
	color: #333;
}
@media (min-width: 768px) {
	#flow .flex {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
}
@media (max-width: 767px) {
	#flow .flex {
		gap: 6cqw;
	}
}
#flow .flex_panel {
	position: relative;
	container-type: inline-size;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1/1;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	text-align: center;
}
#flow .flex_panel:nth-of-type(1) {
	background-image: url("/lp/img/flow-img01.png");
}
#flow .flex_panel:nth-of-type(2) {
	background-image: url("/lp/img/flow-img02.png");
}
#flow .flex_panel:nth-of-type(3) {
	background-image: url("/lp/img/flow-img03.png");
}
#flow .flex_panel:nth-of-type(4) {
	background-image: url("/lp/img/flow-img04.png");
}
@media (min-width: 768px) {
	#flow .flex_panel {
		width: 24%;
	}
}
@media (max-width: 767px) {
	#flow .flex_panel {
		width: 70%;
		margin: auto;
	}
}
#flow .flex_panel p {
	font-weight: 700;
	font-size: 5.7cqw;
	transform: translateY(24cqw);
}
#flow .flex_panel:not(:last-of-type)::after {
	position: absolute;
	content: "";
	display: block;
	aspect-ratio: 1/1;
	mask-image: url("/lp/img/icon/caret-right.svg");
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	background-color: #02B4BC;
}
@media (min-width: 768px) {
	#flow .flex_panel:not(:last-of-type)::after {
		top: 50%;
		right: -10cqw;
		width: 15cqw;
		transform: translateY(-50%);
	}
}
@media (max-width: 767px) {
	#flow .flex_panel:not(:last-of-type)::after {
		bottom: -12.5cqw;
		left: 50%;
		width: 19cqw;
		transform: translateX(-50%) rotate(90deg);
	}
}
#flow .cta {
	margin-bottom: 0;
}
#flow .pop-diagon {
	margin-left: auto;
	margin-right: auto;
	color: #FF529B;
	font-weight: 700;
}
@media (min-width: 768px) {
	#flow .pop-diagon {
		padding-left: 2cqw;
		padding-right: 2cqw;
	}
}
@media (max-width: 767px) {
	#flow .pop-diagon {
		padding-left: 6cqw;
		padding-right: 6cqw;
	}
}
#flow .pop-diagon::before, #flow .pop-diagon::after {
	background-color: #FF529B;
}
@media (min-width: 768px) {
	#flow .pop-diagon::before, #flow .pop-diagon::after {
		width: 2cqw;
		height: 0.1cqw;
	}
}
@media (max-width: 767px) {
	#flow .pop-diagon::before, #flow .pop-diagon::after {
		width: 4cqw;
		height: 0.2cqw;
	}
}
#flow .bg-white {
	position: relative;
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
	background-color: #fff;
	border-radius: 3em;
	box-shadow: 0 0.2cqw 1cqw rgba(0, 0, 0, 0.16);
	font-weight: 700;
	margin-top: 15px;
}
@media (min-width: 768px) {
	#flow .bg-white {
		padding: 1cqw;
	}
}
@media (max-width: 767px) {
	#flow .bg-white {
		width: 100%;
		padding: 3cqw;
	}
}
#flow .bg-white::after {
	content: "";
	position: absolute;
	border-style: solid;
	border-color: transparent;
	top: 0;
	left: 50%;
	translate: -50% -100%;
}
#flow .bg-white::after {
	border-width: 0 6.4px 12.8px 6.4px;
	border-bottom-color: #fff;
}
#flow .bg-white span {
	color: #0075A0;
}
/*利用料金*/
#usagefee :where(table), #usagefee :where(tr), #usagefee :where(th, td) {
	border: none;
}
#usagefee table.fee {
	width: max-content;
	margin: 2em auto 0;
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 0;
	font-size: 16px;
	line-height: 1.4;
	font-weight: 700;
}
@media (min-width: 768px) {
	#usagefee table.fee {
		width: 100%;
		max-width: 1000px;
	}
	#usagefee table.fee col {
		width: calc(100% / 4);
	}
}
@media (max-width: 767px) {
	#usagefee table.fee col:first-child {
		width: 10em;
	}
	#usagefee table.fee col:nth-child(2), #usagefee table.fee col:nth-child(3), #usagefee table.fee col:nth-child(4) {
		width: 9em;
	}
}
#usagefee table.fee th, #usagefee table.fee td {
	padding: 22px 16px;
	text-align: center;
	vertical-align: middle;
}
#usagefee table.fee tr:first-child th:first-child {
	font-size: 80%;
}
#usagefee table.fee tr:first-child th:nth-child(2), #usagefee table.fee tr:first-child th:nth-child(3) {
	border-radius: 10px 10px 0 0;
	color: #fff;
}
#usagefee table.fee tr:first-child th:nth-child(2) {
	background-color: #02B4BC;
}
#usagefee table.fee tr:first-child th:nth-child(3) {
	background-color: #0075A0;
}
#usagefee table.fee tr:not(:first-child) td {
	border-bottom: solid 1px #cccccc;
}
#usagefee table.fee tr:not(:first-child) td:first-child {
	background-color: rgba(204, 204, 204, 0.2);
	font-weight: 700;
}
#usagefee table.fee tr:not(:first-child) td:nth-child(2), #usagefee table.fee tr:not(:first-child) td:nth-child(3) {
	font-weight: 600;
}
#usagefee table.fee tr:not(:first-child) td:nth-child(2) {
	background-color: rgba(18, 180, 188, 0.1);
}
#usagefee table.fee tr:not(:first-child) td:nth-child(3) {
	background-color: rgba(0, 117, 160, 0.1);
}
#usagefee table.fee tr:not(:first-child) td:not(:last-child) {
	border-right: solid 1px #cccccc;
}
#usagefee .ncColumns_panel {
	border: solid 2px;
}
@media (min-width: 768px) {
	#usagefee .ncColumns_panel {
		margin: 5cqw auto;
		padding: 2cqw;
		border-radius: 1cqw;
		box-shadow: 0 0.2cqw 1cqw rgba(0, 117, 160, 0.2);
	}
}
@media (max-width: 767px) {
	#usagefee .ncColumns_panel {
		margin-top: 8cqw;
		margin-bottom: 8cqw;
		padding: 8cqw 4cqw;
		border-radius: 2.5cqw;
		box-shadow: 0 0.4cqw 2cqw rgba(0, 117, 160, 0.2);
	}
}
#usagefee .ncColumns_panel:first-of-type {
	border-color: #02B4BC;
}
#usagefee .ncColumns_panel:first-of-type ul {
	display: flex;
	flex-wrap: wrap;
}
#usagefee .ncColumns_panel:first-of-type ul li {
	width: 50%;
}
#usagefee .ncColumns_panel:nth-of-type(2) {
	border-color: #0075A0;
}
#usagefee .ncColumns_panel i {
	display: flex;
	justify-content: center;
	width: 0.8em;
	margin: 0.5em auto;
}
#usagefee ul {
	list-style-position: inside;
}
#usagefee .inclusions {
	border-radius: 8px;
	padding: 1.5em;
}
#usagefee .inclusions-standard {
	background-color: rgba(18, 180, 188, 0.1);
}
#usagefee .inclusions-pro {
	background-color: rgba(0, 117, 160, 0.1);
}
#usagefee .inclusions-premium {
	background-color: rgba(138, 43, 226, 0.1);
}
#usagefee .inclusions-strage {
	background-color: rgba(226, 226, 226, 0.2);
}
#usagefee .inclusions p {
	margin-bottom: 0;
	text-align: center;
	font-weight: 700;
}
/* Premium plan panel */
#usagefee .ncColumns_panel-premium {
	border-color: #8A2BE2;
}
/* Premium table column */
#usagefee table.fee tr:first-child th.premium {
	background-color: #8A2BE2;
	border-radius: 10px 10px 0 0;
	color: #fff;
}
#usagefee table.fee tr:not(:first-child) td.premium {
	background-color: rgba(138, 43, 226, 0.1);
	font-weight: 600;
}
/* 4 column table adjustments */
@media (min-width: 768px) {
	#usagefee table.fee col:nth-child(4) {
		width: calc(100% / 4);
	}
}
@media (max-width: 767px) {
	#usagefee table.fee col:nth-child(4) {
		width: 10em;
	}
}
/*質問*/
#faq {
	background-color: #E8FEFF;
}
/*相談会*/
#consultation {
	background-repeat: repeat-x;
	background-position: bottom center;
	background-size: cover;
	background-image: url("/lp/img/continued-bg.png");
}
#consultation .content-width {
	padding: 3cqw;
	background-color: #fff;
}
@media (min-width: 768px) {
	#consultation .content-width {
		padding: 4cqw;
		border-radius: 2cqw;
	}
}
@media (max-width: 767px) {
	#consultation .content-width {
		padding: 8cqw 4cqw;
		border-radius: 4cqw;
	}
}
#consultation .content-title {
	color: #0075A0;
}
#consultation .content-subtitle {
	color: rgba(2, 180, 188, 0.1);
}
@media (max-width: 767px) {
	#consultation .content-subtitle {
		font-size: 7cqw;
	}
}
#consultation .ncColumns_panel {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 3cqw;
}
@media (min-width: 768px) {
	#consultation .cta button {
		width: 90%;
	}
}
@media (max-width: 767px) {
	#consultation .cta {
		margin-bottom: 0;
	}
}
/*フッター*/
.cg-footer {
	background: #2d3748;
	color: rgba(255, 255, 255, 0.8);
	padding: 35px 0 30px;
	padding-bottom: calc(30px + env(safe-area-inset-bottom, 0px));
	margin-top: auto;
}
.cg-footer-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 30px;
	text-align: center;
}
.cg-footer-copyright {
	font-size: 13px;
	margin-bottom: 14px;
	color: rgba(255, 255, 255, 0.6);
}
.cg-footer-links {
	display: flex;
	justify-content: center;
	gap: 30px;
	flex-wrap: wrap;
}
.cg-footer-links a {
	color: rgba(255, 255, 255, 0.8);
	text-decoration: none;
	font-size: 13px;
	transition: color 0.3s ease;
}
.cg-footer-links a:hover {
	color: #fff;
}
@media (max-width: 767px) {
	.cg-footer {
		padding: 25px 0 20px;
		padding-bottom: calc(20px + env(safe-area-inset-bottom, 0px));
	}
	.cg-footer-container {
		padding: 0 20px;
	}
	.cg-footer-copyright {
		font-size: 11px;
		margin-bottom: 12px;
	}
	.cg-footer-links {
		gap: 20px;
	}
	.cg-footer-links a {
		font-size: 12px;
	}
}

/* ========================================
   料金比較表スタイル
   ======================================== */
.cg-pricing-table-wrapper {
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
	overflow: hidden;
	margin-top: 40px;
}

.cg-pricing-table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}

.cg-pricing-table th,
.cg-pricing-table td {
	padding: 14px 12px;
	text-align: center;
	border-bottom: 1px solid #e0e0e0;
}

.cg-pricing-table td.cg-pricing-feature {
	text-align: left;
	padding-left: 30px;
}

.cg-pricing-feature-header {
	background: #f8f9fa;
}

.cg-pricing-plan-header {
	padding: 20px 12px;
	color: #fff;
	vertical-align: bottom;
}

.cg-pricing-standard {
	background: linear-gradient(135deg, #4a90a4 0%, #357a8c 100%);
}

.cg-pricing-pro {
	background: linear-gradient(135deg, #f5a623 0%, #e69500 100%);
}

.cg-pricing-premium {
	background: linear-gradient(135deg, #9c27b0 0%, #7b1fa2 100%);
}

.cg-pricing-badge {
	display: inline-block;
	background: rgba(255,255,255,0.25);
	padding: 3px 10px;
	border-radius: 12px;
	font-size: 11px;
	margin-bottom: 6px;
}

.cg-pricing-badge-premium {
	background: rgba(255,255,255,0.3);
}

.cg-pricing-plan-name {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 4px;
}

.cg-pricing-plan-desc {
	font-size: 12px;
	opacity: 0.9;
}

.cg-pricing-section-header td {
	background: #f0f4f7;
	font-weight: bold;
	text-align: left;
	padding: 12px 20px;
	color: #333;
	font-size: 15px;
}

.cg-pricing-section-premium td {
	background: linear-gradient(135deg, #f3e5f5 0%, #e1bee7 100%);
	color: #6a1b9a;
}

.cg-pricing-feature {
	text-align: left;
	padding-left: 30px;
	color: #555;
	font-size: 14px;
}

.cg-pricing-feature-btn {
	display: inline-block;
	background: linear-gradient(135deg, #00a0b0 0%, #0081a3 100%);
	color: #fff;
	font-size: 12px;
	font-weight: bold;
	padding: 6px 14px;
	border-radius: 20px;
	margin-left: 12px;
	text-decoration: none;
	transition: all 0.2s ease;
	box-shadow: 0 2px 6px rgba(0, 160, 176, 0.3);
}

.cg-pricing-feature-btn:hover {
	background: linear-gradient(135deg, #008a99 0%, #006d8a 100%);
	box-shadow: 0 4px 12px rgba(0, 160, 176, 0.4);
	transform: translateY(-1px);
}

.cg-pricing-clickable-row:hover {
	background-color: rgba(74, 144, 164, 0.05);
}

.cg-pricing-clickable-row:hover .cg-pricing-feature-btn {
	background: linear-gradient(135deg, #008a99 0%, #006d8a 100%);
	box-shadow: 0 4px 12px rgba(0, 160, 176, 0.4);
}

.cg-pricing-value {
	font-size: 14px;
}

.cg-pricing-value.cg-pricing-pro-col {
	background: rgba(245, 166, 35, 0.05);
}

.cg-pricing-value.cg-pricing-premium-col {
	background: rgba(156, 39, 176, 0.05);
}

.cg-pricing-price {
	font-size: 24px;
	font-weight: bold;
	color: #333;
}

.cg-pricing-text {
	font-size: 14px;
	color: #666;
}

.cg-pricing-text.cg-pricing-highlight {
	font-weight: bold;
	color: #f5a623;
}

.cg-pricing-check {
	color: #4caf50;
	font-size: 20px;
}

.cg-pricing-check-premium {
	color: #9c27b0;
	font-size: 20px;
}

.cg-pricing-none {
	color: #ccc;
	font-size: 16px;
}

/* 補足説明 */
.cg-fees-note {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	margin-top: 30px;
	background: linear-gradient(135deg, #e8f4f8 0%, #d4eef5 100%);
	border-radius: 12px;
	padding: 20px 24px;
	border-left: 4px solid #00a0b0;
}

.cg-fees-note-icon {
	flex-shrink: 0;
	color: #00a0b0;
	font-size: 24px;
}

.cg-fees-note-content {
	flex: 1;
}

.cg-fees-note-content strong {
	display: block;
	color: #333;
	font-size: 15px;
	margin-bottom: 8px;
}

.cg-fees-note-content p {
	color: #666;
	font-size: 14px;
	margin: 0;
}

/* モバイル対応 */
@media (max-width: 767px) {
	.cg-pricing-table-wrapper {
		margin-top: 20px;
		overflow-x: auto;
	}

	.cg-pricing-table {
		min-width: 600px;
	}

	.cg-pricing-plan-name {
		font-size: 16px;
	}

	.cg-pricing-plan-desc {
		font-size: 10px;
	}

	.cg-pricing-price {
		font-size: 18px;
	}

	.cg-pricing-feature {
		padding-left: 15px;
		font-size: 12px;
	}

	.cg-pricing-feature-btn {
		display: block;
		margin: 8px 0 0 0;
		font-size: 11px;
		padding: 4px 10px;
	}

	.cg-fees-note {
		flex-direction: column;
		gap: 12px;
		padding: 16px;
	}
}

/* ========================================
   モーダルスタイル
   ======================================== */
.cg-modal-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.6);
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
	padding: 20px;
}

.cg-modal-overlay.active {
	opacity: 1;
	visibility: visible;
}

.cg-modal {
	background: #fff;
	border-radius: 16px;
	max-width: 900px;
	width: 100%;
	max-height: 90vh;
	display: flex;
	flex-direction: column;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
	transform: scale(0.9);
	transition: transform 0.3s ease;
}

.cg-modal-overlay.active .cg-modal {
	transform: scale(1);
}

.cg-modal-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px 30px;
	background: linear-gradient(135deg, #00a0b0 0%, #0081a3 100%);
	color: #fff;
	border-radius: 16px 16px 0 0;
}

.cg-modal-header h3 {
	margin: 0;
	font-size: 1.4rem;
	font-weight: bold;
}

.cg-modal-close {
	background: none;
	border: none;
	color: #fff;
	font-size: 32px;
	cursor: pointer;
	line-height: 1;
	padding: 0;
	opacity: 0.8;
	transition: opacity 0.2s;
}

.cg-modal-close:hover {
	opacity: 1;
}

.cg-modal-body {
	flex: 1;
	overflow-y: auto;
	padding: 30px;
}

.cg-modal-hero {
	background: linear-gradient(135deg, #e8f4f8 0%, #f0f9fc 100%);
	border-radius: 16px;
	padding: 30px;
	margin-bottom: 35px;
	display: flex;
	align-items: center;
	gap: 30px;
}

.cg-modal-hero-icon {
	flex-shrink: 0;
	width: 100px;
	height: 100px;
	background: linear-gradient(135deg, #00a0b0 0%, #0081a3 100%);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 8px 25px rgba(0, 160, 176, 0.3);
}

.cg-modal-hero-icon i {
	font-size: 40px;
	color: #fff;
}

.cg-modal-hero-text h4 {
	color: #00a0b0;
	font-size: 1.3rem;
	font-weight: bold;
	margin-bottom: 12px;
}

.cg-modal-hero-text p {
	color: #555;
	font-size: 15px;
	line-height: 1.8;
	margin: 0;
}

.cg-modal-category {
	margin-bottom: 30px;
}

.cg-modal-category h4 {
	color: #00a0b0;
	border-bottom: 2px solid #00a0b0;
	padding-bottom: 8px;
	margin-bottom: 15px;
	font-size: 1.1rem;
}

.cg-modal-category-desc {
	font-size: 14px;
	color: #666;
	background: #f8f9fa;
	padding: 12px 15px;
	border-radius: 8px;
	margin-bottom: 15px;
}

.cg-modal-features-grid ul,
.cg-modal-features-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 4px 20px;
}

.cg-modal-features-list {
	grid-template-columns: 1fr;
}

.cg-modal-features-grid li,
.cg-modal-features-list li {
	padding: 6px 0;
	font-size: 14px;
	color: #333;
}

.cg-modal-features-grid li i,
.cg-modal-features-list li i {
	color: #4caf50;
	margin-right: 8px;
}

/* 機能グループ */
.cg-modal-features-group {
	margin-bottom: 20px;
	padding: 15px;
	background: #fafafa;
	border-radius: 8px;
}

.cg-modal-features-group h5 {
	font-size: 14px;
	color: #00a0b0;
	margin: 0 0 10px 0;
	font-weight: bold;
}

.cg-modal-features-group h5 i {
	margin-right: 6px;
}

.cg-modal-features-group .cg-modal-features-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 4px 15px;
}

/* 様式選択グループ */
.cg-modal-choice-group {
	display: flex;
	gap: 20px;
}

.cg-modal-choice {
	flex: 1;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 8px;
	padding: 12px;
}

.cg-modal-choice h6 {
	font-size: 13px;
	color: #333;
	margin: 0 0 8px 0;
	font-weight: bold;
	text-align: center;
	padding-bottom: 8px;
	border-bottom: 1px solid #eee;
}

.cg-modal-choice .cg-modal-features-list {
	grid-template-columns: 1fr;
}

@media (max-width: 767px) {
	.cg-modal-features-group .cg-modal-features-list {
		grid-template-columns: repeat(2, 1fr);
	}
	.cg-modal-choice-group {
		flex-direction: column;
		gap: 10px;
	}
}

.cg-modal-footer {
	padding: 16px 30px;
	border-top: 1px solid #eee;
	text-align: right;
}

.cg-modal-btn {
	background: #6c757d;
	color: #fff;
	border: none;
	padding: 10px 24px;
	border-radius: 8px;
	font-size: 14px;
	cursor: pointer;
	transition: background 0.2s;
}

.cg-modal-btn:hover {
	background: #5a6268;
}

/* オプション料金ボタン */
.cg-option-btn-wrapper {
	text-align: center;
	margin: 20px 0;
}

.cg-option-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 24px;
	background: #fff;
	border: 2px solid #00a0b0;
	color: #00a0b0;
	border-radius: 8px;
	font-size: 14px;
	font-weight: bold;
	cursor: pointer;
	transition: all 0.2s;
}

.cg-option-btn:hover {
	background: #00a0b0;
	color: #fff;
}

/* オプション料金モーダル */
.cg-modal-option {
	max-width: 900px;
}

.cg-modal-option-intro {
	font-size: 14px;
	color: #666;
	margin-bottom: 20px;
	text-align: center;
}

.cg-option-table-wrapper {
	overflow-x: auto;
}

.cg-option-table {
	width: 100%;
	margin: 15px 0;
	border-collapse: collapse;
	border: none;
}

.cg-option-table th,
.cg-option-table td {
	padding: 12px 15px;
	text-align: left;
	border: none;
	border-bottom: 1px solid #eee;
}

.cg-option-table thead th {
	background: #fafafa;
	font-size: 13px;
	font-weight: bold;
	color: #666;
	border-bottom: 1px solid #eee;
}

.cg-option-table tbody td {
	font-size: 14px;
	border-bottom: 1px solid #eee;
}

.cg-option-table tbody tr:last-child td {
	border-bottom: 1px solid #eee;
}

.cg-option-table td:last-child {
	text-align: right;
}

.cg-option-price {
	font-size: 18px;
	font-weight: bold;
	color: #00a0b0;
}

.cg-option-included {
	background: #e8f4f8;
}

.cg-option-included-premium {
	background: #f3e8ff;
}

.cg-option-included-badge {
	display: inline-block;
	background: linear-gradient(135deg, #4caf50, #388e3c);
	color: #fff;
	font-size: 12px;
	font-weight: bold;
	padding: 4px 10px;
	border-radius: 4px;
}

.cg-option-included-badge-premium {
	background: linear-gradient(135deg, #9333ea, #7c3aed);
}

.cg-option-note {
	font-size: 12px;
	color: #888;
	margin-top: 8px;
}

.cg-modal-category-info {
	background: #e8f4f8;
	border-radius: 8px;
	padding: 15px;
}

.cg-modal-category-info h4 {
	border-bottom: none;
	margin-bottom: 10px;
}

.cg-modal-category-info p {
	font-size: 13px;
	color: #555;
	margin: 0 0 15px 0;
	line-height: 1.6;
}

/* AIクレジット説明 */
.cg-credit-usage {
	background: #fff;
	border-radius: 6px;
	padding: 12px 15px;
	margin-bottom: 15px;
}

.cg-credit-usage h5,
.cg-credit-example h5 {
	font-size: 13px;
	font-weight: bold;
	color: #00a0b0;
	margin: 0 0 10px 0;
}

.cg-credit-usage h5 i,
.cg-credit-example h5 i {
	margin-right: 6px;
}

.cg-credit-usage ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.cg-credit-usage li {
	font-size: 13px;
	color: #555;
	padding: 4px 0;
}

.cg-credit-example {
	background: #fff;
	border-radius: 6px;
	padding: 12px 15px;
}

.cg-credit-example-grid {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.cg-credit-example-item {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.cg-credit-plan {
	font-size: 12px;
	font-weight: bold;
	color: #333;
}

.cg-credit-desc {
	font-size: 13px;
	color: #00a0b0;
	font-weight: bold;
}

/* AIクレジット説明ボックス（インライン版） */
.cg-credit-info-box {
	background: #e3f2fd;
	border-radius: 8px;
	padding: 12px 15px;
	margin-top: 15px;
	font-size: 13px;
	line-height: 1.6;
}

.cg-credit-info-box p {
	margin: 0 0 8px 0;
	color: #555;
}

.cg-credit-info-box p:last-child {
	margin-bottom: 0;
}

.cg-credit-info-box i {
	color: #2196f3;
	margin-right: 4px;
}

.cg-credit-info-box-premium {
	background: #f3e8ff;
}

.cg-credit-info-box-premium i {
	color: #9333ea;
}

.cg-credit-usage-inline,
.cg-credit-example-inline {
	font-size: 12px;
}

/* モバイル対応 */
@media (max-width: 767px) {
	.cg-modal-overlay {
		padding: 10px;
	}

	.cg-modal {
		max-height: 95vh;
	}

	.cg-modal-header {
		padding: 16px 20px;
	}

	.cg-modal-header h3 {
		font-size: 1.1rem;
	}

	.cg-modal-body {
		padding: 20px;
	}

	.cg-modal-hero {
		flex-direction: column;
		text-align: center;
		padding: 20px;
		gap: 16px;
	}

	.cg-modal-hero-icon {
		width: 80px;
		height: 80px;
	}

	.cg-modal-hero-icon i {
		font-size: 32px;
	}

	.cg-modal-hero-text h4 {
		font-size: 1.1rem;
	}

	.cg-modal-hero-text p {
		font-size: 14px;
	}

	.cg-modal-features-grid ul {
		grid-template-columns: 1fr;
	}

	.cg-modal-footer {
		padding: 12px 20px;
	}
}

/* Feature Cards - 1カラム + リスト2カラムレイアウト */
.cg-feature-cards {
	display: flex;
	flex-direction: column;
	gap: 24px;
	margin-top: 32px;
}

.cg-feature-card {
	background: #fff;
	border-radius: 20px;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
	padding: 32px 40px;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.cg-feature-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
}

.cg-feature-card-header {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-bottom: 24px;
	padding-bottom: 20px;
	border-bottom: 2px solid #e8f4f8;
}

.cg-feature-card-icon {
	flex-shrink: 0;
	width: 60px;
	height: 60px;
	background: linear-gradient(135deg, #0075A0 0%, #00a0b0 100%);
	border-radius: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.cg-feature-card-icon i {
	font-size: 28px;
	color: #fff;
}

.cg-feature-card-title {
	font-size: 22px;
	font-weight: bold;
	color: #253539;
	margin: 0;
	line-height: 1.4;
}

.cg-feature-card-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px 24px;
}

.cg-feature-card-list li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 10px 0;
	font-size: 15px;
	color: #444;
	line-height: 1.5;
	border-bottom: 1px solid #f0f0f0;
}

.cg-feature-card-list li:nth-last-child(-n+2) {
	border-bottom: none;
}

.cg-feature-card-list li i {
	flex-shrink: 0;
	color: #00a0b0;
	font-size: 16px;
	margin-top: 2px;
}

/* AI Features Section - 別枠で目立たせる */
.cg-feature-ai-section {
	margin-top: 32px;
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	border-radius: 20px;
	padding: 32px;
	position: relative;
	overflow: hidden;
}

.cg-feature-ai-section::before {
	content: '';
	position: absolute;
	top: -50%;
	right: -20%;
	width: 300px;
	height: 300px;
	background: rgba(255, 255, 255, 0.1);
	border-radius: 50%;
}

.cg-feature-ai-section::after {
	content: '';
	position: absolute;
	bottom: -30%;
	left: -10%;
	width: 200px;
	height: 200px;
	background: rgba(255, 255, 255, 0.08);
	border-radius: 50%;
}

.cg-feature-ai-header {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 24px;
	position: relative;
	z-index: 1;
}

.cg-feature-ai-icon {
	width: 56px;
	height: 56px;
	background: rgba(255, 255, 255, 0.2);
	border-radius: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	backdrop-filter: blur(10px);
}

.cg-feature-ai-icon i {
	font-size: 28px;
	color: #fff;
}

.cg-feature-ai-title {
	font-size: 22px;
	font-weight: bold;
	color: #fff;
	margin: 0;
}

.cg-feature-ai-subtitle {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.8);
	margin: 4px 0 0;
}

.cg-feature-ai-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
	z-index: 1;
}

.cg-feature-ai-list li {
	background: rgba(255, 255, 255, 0.15);
	backdrop-filter: blur(10px);
	border-radius: 12px;
	padding: 20px;
	color: #fff;
	font-size: 14px;
	line-height: 1.6;
	display: flex;
	align-items: flex-start;
	gap: 12px;
	transition: transform 0.2s ease, background 0.2s ease;
}

.cg-feature-ai-list li:hover {
	background: rgba(255, 255, 255, 0.25);
	transform: translateY(-2px);
}

.cg-feature-ai-list li i {
	flex-shrink: 0;
	font-size: 18px;
	color: #ffd54f;
	margin-top: 2px;
}

/* Mobile responsive */
@media (max-width: 960px) {
	.cg-feature-ai-list {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	.cg-feature-card {
		padding: 24px 20px;
	}

	.cg-feature-card-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}

	.cg-feature-card-icon {
		width: 48px;
		height: 48px;
	}

	.cg-feature-card-icon i {
		font-size: 22px;
	}

	.cg-feature-card-title {
		font-size: 18px;
	}

	.cg-feature-card-list {
		grid-template-columns: 1fr;
	}

	.cg-feature-card-list li:last-child {
		border-bottom: none;
	}

	.cg-feature-card-list li:nth-last-child(2) {
		border-bottom: 1px solid #f0f0f0;
	}

	.cg-feature-card-list li {
		font-size: 13px;
		padding: 8px 0;
	}

	.cg-feature-ai-section {
		padding: 24px 20px;
		border-radius: 16px;
	}

	.cg-feature-ai-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}

	.cg-feature-ai-icon {
		width: 48px;
		height: 48px;
	}

	.cg-feature-ai-icon i {
		font-size: 24px;
	}

	.cg-feature-ai-title {
		font-size: 18px;
	}

	.cg-feature-ai-list li {
		padding: 16px;
		font-size: 13px;
	}
}