/*!************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./_src/css/style.scss ***!
  \************************************************************************************************************************************************************************************/
@charset "UTF-8";

/* box sizing
-------------------------------------*/
*,
::before,
::after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

/* general params
-------------------------------------*/
h1,
h2,
h3,
h4,
h5,
h6,
div,
p,
pre,
ul,
ol,
dl,
dt,
dd,
address,
form,
blockquote {
	margin: 0;
	padding: 0;
	/* margin&padding reset */
	font-style: normal;
	font-weight: normal;
}

hr,
.areaAnchor,
.anchor {
	display: none;
}

li {
	list-style: none;
}

/* word break
-------------------------------------*/
p {
	word-break: normal;
}

i {
	font-style: normal;
}

/*  2: form setting
-------------------------------------*/
option {
	padding-right: 10px;
}

input,
select {
	vertical-align: middle;
}

/*-------------------------------------------> Viewport size */
/*-------------------------------------------> Design comp size */
/*-------------------------------------------> Media queries */
/*-------------------------------------------> SP : contents width */
/*-------------------------------------------> PC : contents width */
/*-------------------------------------------> web font */
/*-------------------------------------------> animation */
/* easeInOutExpo */
@-webkit-keyframes animate-panel {
	0% {
		-webkit-transform-origin: left top;
		transform-origin: left top;
		-webkit-transform: scale(0, 1);
		transform: scale(0, 1);
	}

	49% {
		-webkit-transform-origin: left top;
		transform-origin: left top;
		-webkit-transform: scale(1, 1);
		transform: scale(1, 1);
	}

	50% {
		-webkit-transform-origin: right top;
		transform-origin: right top;
		-webkit-transform: scale(1, 1);
		transform: scale(1, 1);
	}

	100% {
		-webkit-transform-origin: right top;
		transform-origin: right top;
		-webkit-transform: scale(0, 1);
		transform: scale(0, 1);
	}
}

@keyframes animate-panel {
	0% {
		-webkit-transform-origin: left top;
		transform-origin: left top;
		-webkit-transform: scale(0, 1);
		transform: scale(0, 1);
	}

	49% {
		-webkit-transform-origin: left top;
		transform-origin: left top;
		-webkit-transform: scale(1, 1);
		transform: scale(1, 1);
	}

	50% {
		-webkit-transform-origin: right top;
		transform-origin: right top;
		-webkit-transform: scale(1, 1);
		transform: scale(1, 1);
	}

	100% {
		-webkit-transform-origin: right top;
		transform-origin: right top;
		-webkit-transform: scale(0, 1);
		transform: scale(0, 1);
	}
}

@-webkit-keyframes animate-content {
	0% {
		visibility: hidden;
	}

	49% {
		visibility: hidden;
	}

	50% {
		visibility: visible;
	}

	100% {
		visibility: visible;
	}
}

@keyframes animate-content {
	0% {
		visibility: hidden;
	}

	49% {
		visibility: hidden;
	}

	50% {
		visibility: visible;
	}

	100% {
		visibility: visible;
	}
}

@-webkit-keyframes stickyShow {
	0% {
		-webkit-transform: translateY(-100%);
		transform: translateY(-100%);
	}

	100% {
		-webkit-transform: none;
		transform: none;
	}
}

@keyframes stickyShow {
	0% {
		-webkit-transform: translateY(-100%);
		transform: translateY(-100%);
	}

	100% {
		-webkit-transform: none;
		transform: none;
	}
}

@-webkit-keyframes stickyHide {
	0% {
		-webkit-transform: none;
		transform: none;
	}

	100% {
		-webkit-transform: translateY(-100%);
		transform: translateY(-100%);
	}
}

@keyframes stickyHide {
	0% {
		-webkit-transform: none;
		transform: none;
	}

	100% {
		-webkit-transform: translateY(-100%);
		transform: translateY(-100%);
	}
}

/*-------------------------------------------> font size (rem) */
/*-------------------------------------------> font size (vw -> rem) */
/*-------------------------------------------> fletter space */
/*-------------------------------------------> percentage (%) */
/*-------------------------------------------> vw ( width / height / padding / margin / position / and more ) */
/*-------------------------------------------> color */
/* Base color
-------------------------------------*/
/* Material color
-------------------------------------*/
/*-------------------------------------------> easing */
/*-------------------------------------------> Overwrite　logo size (local navi) */
.localnavi>p a img {
	max-width: 136px;
	width: 100%;
}

/*-------------------------------------------> guide */
.guide {
	max-width: 1152px;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	margin: auto;
	pointer-events: none;
	border-left: 1px solid #ebebeb;
	border-right: 1px solid #ebebeb;
}

@media screen and (max-width: 1199px) {
	.guide {
		max-width: calc(100% - 20px);
	}
}

@media screen and (max-width: 768px) {
	.guide {
		max-width: calc(100% - 30px);
	}
}

.guide::before {
	content: "";
	width: 1px;
	height: 100%;
	background-color: #ebebeb;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
}

.guide::after {
	content: "";
	width: 100vw;
	height: 100%;
	background: url(../img/common/bg_content_pc.png) center top -460px/contain repeat-y;
	position: absolute;
	left: 50%;
	top: 0;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

@media screen and (max-width: 768px) {
	.guide::after {
		background: url(../img/common/bg_content_sp.png) center top/contain repeat-y;
	}
}

/*-------------------------------------------> body */
.content {
	color: #000;
	background-color: #fff;
	max-width: 1150px;
	font-size: 1.5rem;
	line-height: 1em;
	letter-spacing: 0em;
	font-family: "Noto Sans JP", "Original Yu Gothic", "Yu Gothic", YuGothic, "Hiragino Sans", sans-serif;
	font-weight: 400;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	padding-bottom: 0;
}

@media screen and (max-width: 768px) {
	.content {
		font-size: 1.4rem;
		line-height: 1em;
		letter-spacing: 0em;
		padding: 0 15px;
	}
}

.content figure {
	margin-bottom: 0;
}

.page-content {
	position: relative;
}

/*-------------------------------------------> link */
.content a {
	line-height: 1;
	outline: none;
	cursor: pointer;
	text-decoration: none;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.content a.underline {
	text-decoration: underline;
}

.content a:hover {
	text-decoration: none;
}

.content a:focus {
	outline: none;
}

/*-------------------------------------------> image */
.content img {
	max-width: 100%;
	height: auto;
	line-height: 1;
}

/*-------------------------------------------> br */
.content br.sp {
	display: block;
}

@media screen and (min-width: 769px) {
	.content br.sp {
		display: none;
	}
}

.content br.pc {
	display: none;
}

@media screen and (min-width: 769px) {
	.content br.pc {
		display: block;
	}
}

/*-------------------------------------------> local navi */
.localnavi[data-page=page-features] .local-menu-features a {
	color: #c40161;
	-webkit-box-shadow: 0 -3px #c40161 inset;
	box-shadow: 0 -3px #c40161 inset;
}

.localnavi[data-page=page-price] .local-menu-price a {
	color: #c40161;
	-webkit-box-shadow: 0 -3px #c40161 inset;
	box-shadow: 0 -3px #c40161 inset;
}

.localnavi[data-page=page-scene] .local-menu-scene a {
	color: #c40161;
	-webkit-box-shadow: 0 -3px #c40161 inset;
	box-shadow: 0 -3px #c40161 inset;
}

.localnavi[data-page=page-system] .local-menu-system a {
	color: #c40161;
	-webkit-box-shadow: 0 -3px #c40161 inset;
	box-shadow: 0 -3px #c40161 inset;
}

@media screen and (max-width: 768px) {
	.index .localnavi {
		display: none;
	}
}

/*-------------------------------------------> button */
.content .button-wrap {
	display: flex;
	justify-content: center;
}

.content .button-wrap.column {
	flex-direction: column;
	gap: 15px;
}

.content .button-wrap.column a:not(:last-child) {
	margin-bottom: 0;
}

@media screen and (max-width: 768px) {
	.content .button-wrap {
		flex-direction: column;
	}
}

.content .button-wrap a {
	position: relative;
	display: block;
	width: 350px;
	text-align: center;
	padding: 27px 30px;
	border-radius: 37px;
	background-color: #c40161;
	margin: 0 17px;
}

@media screen and (max-width: 768px) {
	.content .button-wrap a {
		width: 220px;
		border-radius: 50px;
		margin: 0 auto;
		padding: 13px 0;
	}

	.content .button-wrap a:not(:last-child) {
		margin-bottom: 15px;
	}
}

@media (hover: hover) {
	.content .button-wrap a {
		-webkit-transition: opacity 0.2s ease-in-out;
		transition: opacity 0.2s ease-in-out;
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
	}

	.content .button-wrap a:hover {
		opacity: 0.7;
	}
}

.content .button-wrap a::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5.5px 0 5.5px 6px;
	border-color: transparent transparent transparent #fff;
	position: absolute;
	right: 30px;
	top: 0;
	bottom: 0;
	margin: auto;
}

@media screen and (max-width: 768px) {
	.content .button-wrap a::after {
		right: 14px;
		border-width: 4.25px 0 4.25px 6px;
	}
}

.content .button-wrap a span {
	color: #fff;
	font-weight: 500;
	font-size: 1.8rem;
	line-height: 1em;
	letter-spacing: 0.01em;
	display: inline-block;
	padding-bottom: 2px;
}

@media screen and (max-width: 768px) {
	.content .button-wrap a span {
		font-size: 1.3rem;
		line-height: 1.5384615385em;
		letter-spacing: 0.01em;
	}
}

.content .button-wrap.button-border a {
	background-color: rgba(0, 0, 0, 0);
	border: 1px solid #4c4c4c;
	padding: 26px 30px;
	width: 320px;
}

@media screen and (max-width: 768px) {
	.content .button-wrap.button-border a {
		width: 220px;
		padding: 13px 20px;
	}
}

.content .button-wrap.button-border a::after {
	border-color: transparent transparent transparent #4c4c4c;
}

.content .button-wrap.button-border a span {
	color: #4c4c4c;
}

.content .button-wrap.button-border.l-single a {
	width: 310px;
}

@media screen and (max-width: 768px) {
	.content .button-wrap.button-border.l-single a {
		width: 220px;
	}
}

.content .hero-button a {
	text-align: center;
	position: relative;
	display: block;
	background-color: #fff;
	padding: 12px 10px;
	width: 260px;
	border-radius: 20px;
}

@media screen and (max-width: 768px) {
	.content .hero-button a {
		display: inline-block;
		width: auto;
		padding: 12px 30px 12px 18px;
		border-radius: 20px;
	}
}

@media (hover: hover) {
	.content .hero-button a {
		-webkit-transition: opacity 0.2s ease-in-out;
		transition: opacity 0.2s ease-in-out;
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
	}

	.content .hero-button a:hover {
		opacity: 0.7;
	}
}

.content .hero-button a::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5.5px 0 5.5px 6px;
	border-color: transparent transparent transparent #c40161;
	position: absolute;
	right: 16px;
	top: 0;
	bottom: 0;
	margin: auto;
}

@media screen and (max-width: 768px) {
	.content .hero-button a::after {
		right: 14px;
		border-width: 4.25px 0 4.25px 6px;
	}
}

.content .hero-button a span {
	color: #c40161;
	font-weight: 500;
	font-size: 1.5rem;
	line-height: 1.0666666667em;
	letter-spacing: 0.01em;
	display: inline-block;
	padding-bottom: 2px;
}

@media screen and (max-width: 768px) {
	.content .hero-button a span {
		font-size: 1.1rem;
		line-height: 1em;
		letter-spacing: 0em;
		padding-bottom: 2px;
	}
}

/*-------------------------------------------> modal */
.modal {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 1001;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.9);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

@media screen and (min-width: 769px) {
	.modal {
		padding: 90px 40px 40px;
	}
}

.modal-bg {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}

.modal-content {
	position: relative;
	width: 87.4666666667%;
}

@media screen and (min-width: 769px) {
	.modal-content {
		width: 100%;
		max-width: 950px;
	}
}

.modal-content-close {
	width: 35px;
	height: 35px;
	position: absolute;
	right: 0;
	top: -40px;
}

@media screen and (min-width: 769px) {
	.modal-content-close {
		width: 50px;
		height: 50px;
		top: -58px;
		right: 0px;
	}
}

@media (hover: hover) {
	.modal-content-close {
		cursor: pointer;
	}
}

.modal-content-close i {
	width: 100%;
	height: 1px;
	background-color: #fff;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
}

.modal-content-close i:nth-child(1) {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.modal-content-close i:nth-child(2) {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.modal-content-block {
	position: relative;
	padding: 56.75% 0 0;
	width: 100%;
	overflow: hidden;
	background-color: #000;
}

.modal-content-block video {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

/*-------------------------------------------> PAGE WRAPPER */
/*-------------------------------------------> PAGE HEADER */
.hero.l-page-header {
	margin: 0 calc(50% - 50vw);
	padding: 0 calc(50vw - 50%);
}

@media screen and (max-width: 768px) {
	.hero.l-page-header {
		padding: 26px 15px 33px;
	}
}

.hero.l-page-header .section-inner {
	width: 100%;
	height: 350px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	color: #fff;
}

@media screen and (max-width: 768px) {
	.hero.l-page-header .section-inner {
		height: auto;
	}
}

.hero.l-page-header h1 {
	font-weight: 700;
	font-size: 4rem;
	line-height: 1em;
	letter-spacing: 0em;
	margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
	.hero.l-page-header h1 {
		font-size: 2.7rem;
		line-height: 1.4814814815em;
		letter-spacing: 0em;
		margin-bottom: 8px;
	}
}

.hero.l-page-header p {
	font-weight: 500;
	font-size: 1.7rem;
	line-height: 1.8823529412em;
	letter-spacing: 0.05em;
	margin-bottom: 28px;
	text-shadow: 0 0 4px #c40161;
}

@media screen and (max-width: 768px) {
	.hero.l-page-header p {
		font-size: 1.3rem;
		line-height: 1.6923076923em;
		letter-spacing: 0.05em;
		margin-bottom: 14px;
	}
}

.index {
	padding-bottom: 0;
}

.index-entitle {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	color: #fff;
	font-family: "Poppins", sans-serif;
	font-style: normal;
	font-weight: 600;
	font-size: 1.4rem;
	line-height: 1em;
	letter-spacing: 0.01em;
	margin-bottom: 15px;
}

.index-entitle else {
	font-weight: 500;
}

@media screen and (max-width: 768px) {
	.index-entitle {
		font-size: 1rem;
		line-height: 1em;
		letter-spacing: 0.01em;
		margin-bottom: 13px;
	}
}

.index-entitle::after {
	content: "";
	width: 50px;
	height: 1px;
	background-color: rgba(255, 255, 255, 0.7);
	display: inline-block;
	margin-left: 10px;
}

@media screen and (max-width: 768px) {
	.index-entitle::after {
		width: 30px;
		margin-left: 5px;
	}
}

.index-belt-title {
	background-color: #c40161;
	margin: 0 calc(50% - 50vw);
	padding: 50px calc(50vw - 50%) 50px;
}

@media screen and (max-width: 768px) {
	.index-belt-title {
		padding: 28px 15px 23px;
	}
}

.index-belt-title p {
	text-align: center;
	color: #fff;
	font-family: "Poppins", sans-serif;
	font-style: normal;
	font-weight: 600;
	font-size: 1.4rem;
	line-height: 1em;
	letter-spacing: 0.07em;
	margin-bottom: 10px;
}

.index-belt-title p else {
	font-weight: 500;
}

@media screen and (max-width: 768px) {
	.index-belt-title p {
		font-size: 1rem;
		line-height: 1em;
		letter-spacing: 0.01em;
		margin-bottom: 9px;
	}
}

.index-belt-title h2 {
	color: #fff;
	text-align: center;
	font-weight: 700;
	font-size: 3.2rem;
	line-height: 1.40625em;
	letter-spacing: 0em;
}

@media screen and (max-width: 768px) {
	.index-belt-title h2 {
		font-size: 2.2rem;
		line-height: 1.4090909091em;
		letter-spacing: 0em;
	}
}

.index .hero .section-inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding: 64px 0 70px;
	position: relative;
}

@media screen and (max-width: 1000px) {
	.index .hero .section-inner {
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}
}

@media screen and (max-width: 768px) {
	.index .hero .section-inner {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		padding: 30px 0 60px;
	}
}

.index .hero-body {
	width: 432px;
	padding-top: 40px;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.index .hero-body {
		width: 100%;
		padding-top: 0;
	}
}

.index .hero-body-copy {
	font-size: 3rem;
	line-height: 1.5;
	letter-spacing: 0.02em;
	font-weight: 700;
	border-bottom: 3px solid #000;
	margin-bottom: 15px;
	padding-bottom: 10px;
}

@media screen and (max-width: 768px) {
	.index .hero-body-copy {
		font-size: 2rem;
		letter-spacing: 0em;
		border-width: 2px;
		margin-bottom: 16px;
	}
}

.index .hero-body-title span {
	display: block;
	font-size: 2rem;
	line-height: 1.5em;
	letter-spacing: 0.02em;
	font-weight: 700;
	margin-bottom: 18px;
}

@media screen and (max-width: 768px) {
	.index .hero-body-title span {
		font-size: 1.6rem;
		line-height: 1em;
		letter-spacing: 0em;
		margin-bottom: 23px;
	}
}

.index .hero-body-title div {
	width: 368px;
	margin: 0 auto 50px;
}

@media screen and (max-width: 768px) {
	.index .hero-body-title div {
		width: 84.1379310345%;
		margin-bottom: 13px;
	}
}

.index .hero-body-title div img {
	width: 100%;
}

.index .hero-body-share,
.index .hero-body-award {
	width: 70.3703703704%;
	margin: auto;
}

.index .hero-body-award {
	margin-top: 20px;
}

@media screen and (max-width: 768px) {

	.index .hero-body-share,
	.index .hero-body-award {
		width: 75.8620689655%;
		margin-bottom: 20px;
	}
}

.index .hero-image {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	width: 59.5652173913%;
	margin-right: -19px;
}

@media screen and (max-width: 768px) {
	.index .hero-image {
		width: 101.724137931%;
		margin-right: 0;
		margin-left: -6px;
	}
}

.index .info {
	position: relative;
	margin: 30px 0 50px;
	z-index: 0;
}

@media screen and (max-width: 768px) {
	.index .info {
		margin-top: 0;
	}
}

.index .info::before {
	content: "";
	background-color: #C40161;
	width: 85vw;
	height: 100%;
	position: absolute;
	right: 15%;
	z-index: -1;
}

.index .info.light::before {
	background: #EFDAE3;
}

@media screen and (max-width: 768px) {
	.index .info::before {
		width: 100vw;
		right: 0;
		margin: 0 -15px;
	}
}

.index .info .section-inner {
	padding: 30px 0 40px;
}

@media screen and (max-width: 768px) {
	.index .info .section-inner {
		padding-bottom: 30px;
	}
}

.index .info .heading {
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: #fff;
	text-align: center;
	margin-bottom: 20px;
}

.index .info.light .heading {
	color: #C40161;
}

@media screen and (max-width: 768px) {
	.index .info .heading {
		text-align: center;
		margin: 0 auto;
		font-size: 1.7rem;
		line-height: 1.5;
	}
}

.index .info .button-wrap {
	margin-left: auto;
}

@media screen and (max-width: 1057px) {
	.index .info .button-wrap {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
}

@media screen and (max-width: 768px) {
	.index .info .button-wrap {
		margin: 15px auto 0;
	}
}

.index .info .button-wrap a {
	background-color: #c40161;
	width: 335px;
	border-radius: 999px;
	margin: 0;
	padding-right: 45px;
}

.index .info .button-wrap a::after {
	border-width: 8px 0 8px 13px;
}

.index .info .button-wrap .yellow-btn {
	background-color: #E9C300;
	box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
}

.index .info .button-wrap .yellow-btn::after {
	border-left-color: #000;
}

.index .info .button-wrap .yellow-btn span {
	color: #000;
	font-size: 20px;
}

.index .info .button-wrap .white-btn {
	background-color: #fff;
	box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
}

.index .info .button-wrap .white-btn::after {
	border-left-color: #C40161;
}

.index .info .button-wrap .white-btn span {
	color: #C40161;
	font-size: 20px;
}

@media screen and (max-width: 768px) {
	.index .info .button-wrap a {
		width: 100%;
		max-width: 360px;
		margin: 0 auto;
		padding-right: 35px;
		padding-left: 35px;
		font-size: 1.8rem;
	}
}

.index .info .button-wrap a+a {
	margin-left: 80px;
}

@media screen and (max-width: 1057px) {
	.index .info .button-wrap a+a {
		margin-left: 0;
		margin-top: 15px;
	}
}

.index .info .button-wrap a span {
	font-size: 1.6rem;
	font-weight: bold;
}

@media screen and (max-width: 768px) {
	.index .info .button-wrap a span {
		font-size: 1.3rem;
	}
}

.index .hero-note {
	color: #4c4c4c;
	font-size: 1rem;
	line-height: 1em;
	letter-spacing: 0.02em;
	position: absolute;
	left: 0;
	bottom: 20px;
}

@media screen and (max-width: 768px) {
	.index .hero-note {
		font-size: 1rem;
		line-height: 1.4em;
		letter-spacing: 0.02em;
	}
}

.index .problem {
	margin-bottom: 120px;
}

@media screen and (max-width: 768px) {
	.index .problem {
		margin-bottom: 60px;
	}
}

.index .problem .section-inner {
	position: relative;
}

.index .problem .section-inner::before {
	content: "";
	width: 50vw;
	height: 336px;
	background-color: #c40161;
	position: absolute;
	right: 50%;
	top: 0;
	z-index: 0;
}

@media screen and (max-width: 768px) {
	.index .problem .section-inner::before {
		width: 100vw;
		height: 228px;
		right: -15px;
		background: #c40161;
	}
}

.index .problem-title-wrap {
	position: relative;
	z-index: 1;
	padding-top: 72px;
}

@media screen and (max-width: 768px) {
	.index .problem-title-wrap {
		padding-top: 38px;
	}
}

.index .problem-title {
	background: -webkit-gradient(linear, left top, right top, color-stop(50%, #c40161), color-stop(50%, #ffffff));
	background: linear-gradient(90deg, #c40161 50%, #ffffff 50%);
}

@media screen and (max-width: 768px) {
	.index .problem-title {
		background: #c40161;
	}
}

.index .problem-title span {
	display: block;
	background: -webkit-gradient(linear, right top, left top, color-stop(50%, #c40161), color-stop(50%, #ffffff));
	background: linear-gradient(-90deg, #c40161 50%, #ffffff 50%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	font-size: 3.8rem;
	line-height: 1.5em;
	letter-spacing: 0.01em;
	font-weight: 700;
}

@media screen and (max-width: 768px) {
	.index .problem-title span {
		font-size: 2.2rem;
		line-height: 1.4090909091em;
		letter-spacing: 0em;
		margin-bottom: 19px;
		background: #c40161;
		color: #fff;
		-webkit-text-fill-color: inherit;
	}
}

.index .problem-list {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding-top: 40px;
	margin-bottom: 125px;
}

@media screen and (max-width: 768px) {
	.index .problem-list {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		padding-top: 0;
		margin-bottom: 35px;
	}
}

.index .problem-list li {
	position: relative;
	width: 30.7826086957%;
	padding-bottom: 60px;
}

@media screen and (max-width: 768px) {
	.index .problem-list li {
		width: 82.7586206897%;
		padding-bottom: 30px;
		margin: auto;
	}

	.index .problem-list li:not(:last-child) {
		margin-bottom: 20px;
	}
}

.index .problem-list li:nth-child(2) {
	-webkit-transform: translateY(60px);
	transform: translateY(60px);
}

@media screen and (max-width: 768px) {
	.index .problem-list li:nth-child(2) {
		-webkit-transform: inherit;
		transform: inherit;
	}
}

.index .problem-list li div {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 84.7457627119%;
	min-height: 170px;
	background-color: #fff;
	position: absolute;
	right: 0;
	bottom: 0;
	padding: 26px 10px;
	-webkit-box-shadow: 0 0 12px rgba(0, 0, 0, 0.1);
	box-shadow: 0 0 12px rgba(0, 0, 0, 0.1);
}

@media screen and (max-width: 768px) {
	.index .problem-list li div {
		width: 87.5%;
		padding: 20px 25px;
		min-height: auto;
		-webkit-box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
		box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
	}
}

.index .problem-list li div span,
.reason-item-number {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 75px;
	height: 75px;
	background: url(../img/common/balloon_number.svg) center/contain no-repeat;
	font-family: "Poppins", sans-serif;
	font-style: normal;
	font-weight: 400;
	color: #fff;
	font-size: 1.8rem;
	line-height: 1em;
	letter-spacing: 0em;
	position: absolute;
	left: -37.5px;
	top: -37.5px;
}

.index .problem-list li div span else {
	font-weight: 500;
}

@media screen and (max-width: 768px) {
	.index .problem-list li div span {
		width: 50px;
		height: 50px;
		font-size: 1.5rem;
		line-height: 1em;
		letter-spacing: 0em;
		left: -20px;
		top: -25px;
	}
}

.index .problem-list li div p {
	font-size: 1.6rem;
	line-height: 1.8125em;
	letter-spacing: 0em;
	width: 74.2857142857%;
}

@media screen and (max-width: 768px) {
	.index .problem-list li div p {
		font-size: 1.3rem;
		line-height: 1.6923076923em;
		letter-spacing: 0em;
		width: 100%;
	}
}

.index .problem-flow {
	margin-bottom: 120px;
}

@media screen and (max-width: 768px) {
	.index .problem-flow {
		margin-bottom: 60px;
	}
}

.index .problem-flow p {
	text-align: center;
	margin-bottom: 50px;
}

@media screen and (max-width: 768px) {
	.index .problem-flow p {
		margin-bottom: 25px;
	}
}

.index .problem-flow p span {
	display: inline;
	padding: 0 2px;
	font-weight: 700;
	font-size: 2.8rem;
	line-height: 1.7142857143em;
	letter-spacing: 0.01em;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #f9e5ef));
	background: linear-gradient(transparent 60%, #f9e5ef 60%);
}

@media screen and (max-width: 768px) {
	.index .problem-flow p span {
		font-size: 1.8rem;
		line-height: 1.7777777778em;
		letter-spacing: 0.01em;
	}
}

.index .problem-company {
	margin: 0 calc(50% - 50vw);
	padding: 45px calc(50vw - 50%) 50px;
	background-color: #e5e5e5;
}

.index .problem-company p {
	text-align: center;
	font-weight: 700;
	font-size: 2.8rem;
	line-height: 1.7857142857em;
	letter-spacing: 0em;
	margin-bottom: 40px;
}

@media screen and (max-width: 768px) {
	.index .problem-company p {
		font-size: 1.8rem;
		line-height: 1.6111111111em;
		letter-spacing: 0em;
		margin-bottom: 18px;
	}
}

.index .problem-company-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.index .problem-company-list li {
	margin: 0 1px 1px 0;
}

@media screen and (max-width: 768px) {
	.index .problem-company-list li {
		width: 33.1034482759%;
	}

	.index .problem-company-list li:nth-child(3n) {
		margin-right: 0;
	}
}

.index .problem-company-list li img {
	width: 100%;
}

.index .about {
	margin-bottom: 50px;
	padding-top: 50px;
}

@media screen and (max-width: 768px) {
	.index .about {
		margin-bottom: 55px;
	}
}

.index .about .section-inner {
	position: relative;
}

.index .about .section-inner::before {
	content: "";
	width: 50vw;
	height: 430px;
	background-color: #c40161;
	position: absolute;
	left: 50%;
	top: 75px;
	z-index: 0;
}

@media screen and (max-width: 768px) {
	.index .about .section-inner::before {
		width: 100vw;
		height: 264px;
		left: -15px;
		top: 0;
	}
}

.index .about .section-inner::after {
	content: "";
	width: 770px;
	height: 350px;
	border: 8px solid #c40161;
	position: absolute;
	left: -50px;
	top: 105px;
	z-index: 0;
}

@media screen and (max-width: 768px) {
	.index .about .section-inner::after {
		border-width: 5px;
		width: 91.3793103448%;
		height: 0;
		padding-top: 93.4482758621%;
		top: 212px;
		left: 25px;
	}
}

.index .about-title-wrap {
	position: relative;
	z-index: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
	margin-bottom: 180px;
}

@media screen and (max-width: 768px) {
	.index .about-title-wrap {
		display: block;
		margin-bottom: 73px;
	}
}

.index .about-title-body {
	width: 360px;
	margin-top: 75px;
	margin-left: 45px;
	padding-top: 80px;
}

@media screen and (max-width: 768px) {
	.index .about-title-body {
		width: 100%;
		margin: 0;
		padding-top: 36px;
	}
}

.index .about-title-image {
	width: 58.5217391304%;
}

@media screen and (max-width: 768px) {
	.index .about-title-image {
		width: 98.275862069%;
		-webkit-transform: translateX(-15px);
		transform: translateX(-15px);
	}
}

.index .about-title-image img {
	-webkit-box-shadow: 0 0 32px rgba(0, 0, 0, 0.18);
	box-shadow: 0 0 32px rgba(0, 0, 0, 0.18);
}

@media screen and (max-width: 768px) {
	.index .about-title-image img {
		-webkit-box-shadow: 0 0 16px rgba(0, 0, 0, 0.18);
		box-shadow: 0 0 16px rgba(0, 0, 0, 0.18);
	}
}

.index .about-title {
	color: #fff;
	font-size: 3.8rem;
	line-height: 1.5em;
	letter-spacing: -0.01em;
	font-weight: 700;
	margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
	.index .about-title {
		font-size: 2.2rem;
		line-height: 1.4090909091em;
		letter-spacing: 0em;
		margin-bottom: 19px;
	}
}

.index .about-copy {
	color: #fff;
	font-weight: 700;
	font-size: 2.4rem;
	line-height: 2em;
	letter-spacing: 0em;
}

@media screen and (max-width: 768px) {
	.index .about-copy {
		font-size: 1.6rem;
		line-height: 1.625em;
		letter-spacing: 0em;
		margin-bottom: 24px;
	}
}

.index .about-content {
	max-width: 950px;
	margin: auto;
}

.index .about-content-text {
	text-align: center;
	font-size: 1.6rem;
	line-height: 1.8125em;
	letter-spacing: 0em;
	padding: 0 1em;
}

@media screen and (max-width: 768px) {
	.index .about-content-text {
		font-size: 1.3rem;
		line-height: 1.6923076923em;
		letter-spacing: 0em;
		padding: 0;
		text-align: left;
	}
}

.index .about-content figure {
	margin: 70px 0 32px;
}

@media screen and (max-width: 768px) {
	.index .about-content figure {
		margin: 25px 0;
	}
}

.index .reason {
	margin-top: 115px;
}

@media screen and (max-width: 768px) {
	.index .reason {
		margin-top: 60px;
	}
}

.index .task {
	margin-bottom: 90px;
}

@media screen and (max-width: 768px) {
	.index .task {
		margin-bottom: 60px;
	}
}

.index .task .index-belt-title {
	margin-bottom: 70px;
}

@media screen and (max-width: 768px) {
	.index .task .index-belt-title {
		margin-bottom: 40px;
	}
}

.index .task-content {
	max-width: 950px;
	margin: auto;
}

.index .task-content figure:nth-child(1) {
	margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
	.index .task-content figure:nth-child(1) {
		margin-bottom: 10px;
	}
}

.index .task-content .button-wrap {
	margin-top: 70px;
}

@media screen and (max-width: 768px) {
	.index .task-content .button-wrap {
		margin-top: 30px;
	}
}

.index .other {
	margin-bottom: 50px;
}

@media screen and (max-width: 768px) {
	.index .other {
		margin-bottom: 50px;
	}
}

.index .other .index-belt-title {
	margin-bottom: 55px;
}

@media screen and (max-width: 768px) {
	.index .other .index-belt-title {
		margin-bottom: 24px;
	}
}

.index .other-text {
	text-align: center;
	font-size: 1.6rem;
	line-height: 1.8125em;
	letter-spacing: 0em;
	margin-bottom: 60px;
}

@media screen and (max-width: 768px) {
	.index .other-text {
		text-align: left;
		font-size: 1.3rem;
		line-height: 1.6923076923em;
		letter-spacing: 0em;
		margin-bottom: 25px;
	}
}

.index .other-list {
	display: flex;
	justify-content: center;
	margin-bottom: 50px;
}

@media screen and (max-width: 768px) {
	.index .other-list {
		margin-bottom: 30px;
	}
}

.index .other-list li {
	width: 151px;
	margin: 0 36px;
}

@media screen and (max-width: 768px) {
	.index .other-list li {
		width: 34.4827586207%;
		margin: 0 10px;
	}
}

.index .other .button-wrap.button-border.l-single a {
	width: 460px;
}

@media screen and (max-width: 768px) {
	.index .other .button-wrap.button-border.l-single a {
		width: 240px;
		padding: 8px 20px;
	}
}

.index .case {
	background-color: #f3f2f2;
	margin: 0 calc(50% - 50vw);
	padding: 110px calc(50vw - 50%) 120px;
}

@media screen and (max-width: 768px) {
	.index .case {
		padding: 60px 15px;
	}
}

.index .case h2 {
	text-align: center;
	font-weight: 700;
	font-size: 3.6rem;
	line-height: 1em;
	letter-spacing: -0.01em;
	margin-bottom: 55px;
}

@media screen and (max-width: 768px) {
	.index .case h2 {
		font-size: 2.2rem;
		line-height: 1em;
		letter-spacing: 0em;
		margin-bottom: 25px;
	}
}

.case-content {
	max-width: 950px;
	margin: 0 auto;
}

.case-area {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	max-width: 960px;
	margin: 45px auto 60px;
}

.case-area::after {
	content: "";
	width: 31%;
	display: block;
}

.case-box {
	width: 31%;
	box-shadow: 0px 0px 26px 0px rgba(49, 60, 71, 0.2);
	margin-bottom: 20px;
}

.case-box a {
	display: block;
	background: #fff;
	padding-bottom: 30px;
	transition: .3s;
	height: 100%;
	line-height: 1.7;

}

.case-box a:hover {
	opacity: 0.7;
}

.cat {
	display: flex;
	flex-wrap: wrap;
}

.cat li {
	color: #fff;
	font-size: 1.2rem;
	background: #0099a5;
	line-height: 1;
	padding: 8px 10px;
}

.cat li+li {
	margin-left: 1px;
}

.case-txt {
	text-align: left;
	padding: 20px 20px 10px;
}

.case-txt dt {
	font-weight: bold;
	margin-bottom: 15px;
	display: flex;
	align-items: center;
	font-size: 1.7rem;
}

.case-txt dd {
	font-size: 1.4rem;
}

.case-txt+p {
	padding: 0 15px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.case-data {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	background: #eff0f0;
	font-size: 1.3rem;
	padding: 3px;
	margin: 15px 0;
}

.case-data dd+dt {
	margin-left: 10px;
}

.link-txt {
	text-align: center;
}

.link-txt span {
	font-size: 1.5rem;
	color: #b70d5c;
	display: inline-block;
	padding: 0 5px 5px;
	border-bottom: 2px solid #b70d5c;

}

.link-txt span::after {
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 0 5px 8.7px;
	border-color: transparent transparent transparent #b70d5c;
	margin-left: 10px;
}

.case-study {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: center;
	flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
	.case-study {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.case-area {
		margin: 10px 0 30px;
	}

	.case-box {
		width: 100%;
	}

	.case-box+.case-box {
		margin-top: 20px;
	}

	.case-txt dt {
		font-size: 1.6rem;
	}

	.case-box figure img {
		max-width: none;
		width: 100%;
	}
}

.case-item {
	width: 31%;
	background-color: #fff;
	padding-bottom: 25px;
	-webkit-box-shadow: 0 0 26px rgba(49, 60, 71, 0.12);
	box-shadow: 0 0 26px rgba(49, 60, 71, 0.12);
}

.case-item+.case-item {
	margin-left: 3%;
}

@media screen and (max-width: 768px) {
	.case-item {
		width: 100%;
		-webkit-box-shadow: 0 0 13px rgba(49, 60, 71, 0.12);
		box-shadow: 0 0 13px rgba(49, 60, 71, 0.12);
		margin-left: 0;
	}

	.case-item:not(:last-child) {
		margin-bottom: 25px;
	}

	.case-item+.case-item {
		margin-left: 0;
	}
}

.case-itemfigure img {
	width: 100%;
}

.case-item-text {
	padding: 20px 20px 4px;
}

.case-item-text h3 {
	text-align: center;
	font-weight: 700;
	font-size: 1.8rem;
	line-height: 1.6666666667em;
	letter-spacing: 0em;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	/* min-height: 10em; */
}

@media screen and (max-width: 768px) {
	.case-item-text h3 {
		text-align: left;
		font-size: 1.6rem;
		line-height: 1.4375em;
		letter-spacing: 0em;
		min-height: auto;
	}

	.case-item-text h3 br {
		display: none;
	}
}

.case-item-logo {
	text-align: center;
	margin: 10px 0 15px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.case-item-data {
	padding: 7px 5px;
	background-color: #eff0f0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-bottom: 17px;
}

@media screen and (max-width: 768px) {
	.case-item-data {
		padding: 5px 10x;
		font-size: 1.1rem;
		line-height: 1.9090909091em;
		letter-spacing: 0em;
	}
}

.case-item-data dd+dt {
	margin-left: 10px;
}

.case-item-link {
	text-align: center;
}

.case-item-link a {
	color: #c40161;
	display: inline-block;
	padding: 0 5px 5px;
	border-bottom: 2px solid #c40161;
}

@media screen and (max-width: 768px) {
	.case-item-link a {
		padding: 8px 5px 8px;
	}
}

@media (hover: hover) {
	.case-item-link a {
		-webkit-transition: opacity 0.2s ease-in-out;
		transition: opacity 0.2s ease-in-out;
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
	}

	.case-item-link a:hover {
		opacity: 0.7;
	}
}

.case-item-link a span {
	font-weight: 500;
	font-size: 1.5rem;
	line-height: 2.1333333333em;
	letter-spacing: -0.04em;
}

@media screen and (max-width: 768px) {
	.case-item-link a span {
		font-size: 1.2rem;
		line-height: 1em;
		letter-spacing: 0em;
	}
}

.case-item-link a span::after {
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 0 5px 8.7px;
	border-color: transparent transparent transparent #c40161;
	margin-left: 10px;
}

.case .button-wrap {
	margin-top: 60px;
}

@media screen and (max-width: 768px) {
	.case .button-wrap {
		margin-top: 30px;
	}
}

.index .price {
	padding: 90px 0 120px;
}

@media screen and (max-width: 768px) {
	.index .price {
		padding: 60px 0;
	}
}

.index .price h2 {
	text-align: center;
	font-weight: 700;
	font-size: 3.6rem;
	line-height: 1em;
	letter-spacing: -0.01em;
	margin-bottom: 35px;
}

@media screen and (max-width: 768px) {
	.index .price h2 {
		font-size: 2.2rem;
		line-height: 1em;
		letter-spacing: 0em;
		margin-bottom: 25px;
	}
}

.index .price-text {
	text-align: center;
	font-size: 1.6rem;
	line-height: 1.8125em;
	letter-spacing: 0em;
	margin-bottom: 55px;
}

@media screen and (max-width: 768px) {
	.index .price-text {
		font-size: 1.3rem;
		line-height: 1.6923076923em;
		letter-spacing: 0em;
		margin-bottom: 25px;
	}
}

.index .contact {
	background: url(../img/index/contact_bg.png) center top/cover no-repeat;
	margin: 0 calc(50% - 50vw);
	padding: 60px calc(50vw - 50%);
}

@media screen and (max-width: 768px) {
	.index .contact {
		background: url(../img/index/contact_bg_sp.png) center top/cover no-repeat;
		padding: 40px 30px;
	}
}

.index .contact-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

@media screen and (max-width: 768px) {
	.index .contact-list {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
}

.index .contact-list li {
	text-align: center;
	width: 43.0434782609%;
	border-radius: 10px;
	background-color: #fff;
	padding: 40px 0 45px;
	margin: 0 3.4782608696%;
}

@media screen and (max-width: 768px) {
	.index .contact-list li {
		width: 100%;
		margin: 0;
		padding: 19px 0 15px;
	}

	.index .contact-list li:not(:last-child) {
		margin-bottom: 20px;
	}
}

.index .contact-list li:nth-child(1) figure {
	width: 42px;
}

@media screen and (max-width: 768px) {
	.index .contact-list li:nth-child(1) figure {
		width: 32px;
	}
}

.index .contact-list li:nth-child(2) figure {
	width: 63px;
}

@media screen and (max-width: 768px) {
	.index .contact-list li:nth-child(2) figure {
		width: 46px;
	}
}

.index .contact-list li figure {
	margin: 0 auto 17px;
}

@media screen and (max-width: 768px) {
	.index .contact-list li figure {
		margin-bottom: 20px;
	}
}

.index .contact-list li p {
	text-align: center;
	font-size: 2.2rem;
	line-height: 1em;
	letter-spacing: 0em;
	font-weight: 500;
	margin-bottom: 34px;
}

@media screen and (max-width: 768px) {
	.index .contact-list li p {
		font-size: 1.6rem;
		line-height: 1em;
		letter-spacing: 0em;
		margin-bottom: 20px;
	}
}

.index .contact-button a {
	position: relative;
	display: block;
	width: 276px;
	text-align: center;
	padding: 18px 30px;
	border-radius: 26px;
	background-color: #c40161;
	margin: auto;
}

@media screen and (max-width: 768px) {
	.index .contact-button a {
		width: 75.8620689655%;
		border-radius: 50px;
		margin: 0 auto;
		padding: 18px 0;
	}

	.index .contact-button a:not(:last-child) {
		margin-bottom: 15px;
	}
}

@media (hover: hover) {
	.index .contact-button a {
		-webkit-transition: opacity 0.2s ease-in-out;
		transition: opacity 0.2s ease-in-out;
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
	}

	.index .contact-button a:hover {
		opacity: 0.7;
	}
}

.index .contact-button a::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5.5px 0 5.5px 6px;
	border-color: transparent transparent transparent #fff;
	position: absolute;
	right: 30px;
	top: 0;
	bottom: 0;
	margin: auto;
}

@media screen and (max-width: 768px) {
	.index .contact-button a::after {
		right: 14px;
		border-width: 4.25px 0 4.25px 6px;
	}
}

.index .contact-button a span {
	color: #fff;
	font-weight: 500;
	font-size: 1.5rem;
	line-height: 1em;
	letter-spacing: -0.01em;
	display: inline-block;
	padding-bottom: 1px;
}

@media screen and (max-width: 768px) {
	.index .contact-button a span {
		font-size: 1.3rem;
		line-height: 1.0769230769em;
		letter-spacing: 0.01em;
	}
}

.index .banner {
	padding: 60px 0;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.index .banner {
		padding: 30px 0 70px;
	}
}

.page-price {
	padding-bottom: 0;
}

.page-price .hero {
	background: url(../img/price/hero_bg_pc.png) center top/cover no-repeat;
}

@media screen and (max-width: 768px) {
	.page-price .hero {
		background: url(../img/price/hero_bg_sp.png) center top/cover no-repeat;
	}
}

.page-price .content-nav {
	background-color: #f3f2f2;
	margin: 0 calc(50% - 50vw);
	padding: 30px calc(50vw - 50%);
}

@media screen and (max-width: 768px) {
	.page-price .content-nav {
		padding: 20px 15px;
	}
}

.page-price .content-nav ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

@media screen and (max-width: 768px) {
	.page-price .content-nav ul {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
}

.page-price .content-nav li {
	width: 48.6956521739%;
	background-color: #fff;
	border-left: 4px solid #c40161;
}

@media screen and (max-width: 768px) {
	.page-price .content-nav li {
		width: 100%;
		border-width: 3px;
	}

	.page-price .content-nav li:not(:last-child) {
		margin-bottom: 10px;
	}
}

.page-price .content-nav li a {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 11px 50px 11px 0;
}

@media screen and (max-width: 768px) {
	.page-price .content-nav li a {
		padding: 11px 50px 11px 0;
	}
}

@media (hover: hover) {
	.page-price .content-nav li a {
		-webkit-transition: opacity 0.2s ease-in-out;
		transition: opacity 0.2s ease-in-out;
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
	}

	.page-price .content-nav li a:hover {
		opacity: 0.7;
	}
}

.page-price .content-nav li a::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 5.5px 0 5.5px;
	border-color: #c40161 transparent transparent transparent;
	position: absolute;
	right: 30px;
	top: 0;
	bottom: 0;
	margin: auto;
}

@media screen and (max-width: 768px) {
	.page-price .content-nav li a::after {
		right: 14px;
		border-width: 5.5px 5px 0 5px;
	}
}

.page-price .content-nav li a i {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 55px;
	height: 54px;
	margin-left: 26px;
	background: url(../img/common/balloon_number.svg) center/contain no-repeat;
	font-family: "Poppins", sans-serif;
	font-style: normal;
	font-weight: 500;
	color: #fff;
	font-size: 1.5rem;
	line-height: 1em;
	letter-spacing: 0em;
}

.page-price .content-nav li a i else {
	font-weight: 500;
}

@media screen and (max-width: 768px) {
	.page-price .content-nav li a i {
		width: 35px;
		height: 34px;
		font-size: 1.15rem;
		line-height: 1.0434782609em;
		letter-spacing: 0em;
		margin-left: 11px;
	}
}

.page-price .content-nav li a span {
	padding-left: 20px;
	color: #c40161;
	font-weight: 700;
	font-size: 1.8rem;
	line-height: 1.3888888889em;
	letter-spacing: 0em;
}

@media screen and (max-width: 768px) {
	.page-price .content-nav li a span {
		font-size: 1.3rem;
		line-height: 1.5384615385em;
		letter-spacing: 0em;
		padding-left: 11px;
	}
}

.page-price .price-title {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

@media screen and (max-width: 768px) {
	.page-price .price-title {
		margin-left: -4px;
	}
}

.page-price .price-title i {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 70px;
	height: 69px;
	background: url(../img/common/balloon_number.svg) center/contain no-repeat;
	font-family: "Poppins", sans-serif;
	font-style: normal;
	font-weight: 500;
	color: #fff;
	font-size: 1.9rem;
	line-height: 1em;
	letter-spacing: 0em;
	margin-right: 20px;
}

.page-price .price-title i else {
	font-weight: 500;
}

@media screen and (max-width: 768px) {
	.page-price .price-title i {
		font-size: 1.9rem;
		line-height: 1em;
		letter-spacing: 0em;
		width: 60px;
		height: 59px;
		margin-right: 13px;
	}
}

.page-price .price-title span {
	font-weight: 700;
	font-size: 3.6rem;
	line-height: 1em;
	letter-spacing: 0em;
}

@media screen and (max-width: 768px) {
	.page-price .price-title span {
		font-size: 2.2rem;
		line-height: 1.2272727273em;
		letter-spacing: 0em;
	}
}

.page-price .price-text {
	font-size: 1.6rem;
	line-height: 1.8125em;
	letter-spacing: 0em;
}

@media screen and (max-width: 768px) {
	.page-price .price-text {
		font-size: 1.3rem;
		line-height: 1.6923076923em;
		letter-spacing: 0em;
	}
}

.page-price .price-text.l-center {
	text-align: center;
}

.page-price .price-illust.l-column {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

@media screen and (max-width: 768px) {
	.page-price .price-illust.l-column {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
}

.page-price .price-illust.l-column figure {
	text-align: center;
	width: 47.7894736842%;
}

@media screen and (max-width: 768px) {
	.page-price .price-illust.l-column figure {
		width: 100%;
	}

	.page-price .price-illust.l-column figure:not(:last-child) {
		margin-bottom: 15px;
	}
}

.page-price .price-content {
	max-width: 950px;
	margin: auto;
}

.page-price .price01 {
	padding: 90px 0 110px;
}

@media screen and (max-width: 768px) {
	.page-price .price01 {
		padding: 40px 0 60px;
	}
}

.page-price .price01 .price-title {
	margin-bottom: 13px;
}

@media screen and (max-width: 768px) {
	.page-price .price01 .price-title {
		margin-bottom: 15px;
	}
}

.page-price .price01 .price-text {
	margin-bottom: 35px;
}

.page-price .price01 h2+.price-text {
	padding-right: 150px;
}

@media screen and (max-width: 768px) {
	.page-price .price01 .price-text {
		margin-bottom: 25px;
	}

	.page-price .price01 h2+.price-text {
		padding-right: 0;
	}
}

.page-price .price01 .price-illust {
	margin-bottom: 52px;
}

@media screen and (max-width: 768px) {
	.page-price .price01 .price-illust {
		margin-bottom: 35px;
	}

	.page-price .price01 .price-illust.l-graph {
		overflow: auto;
	}

	.page-price .price01 .price-illust.l-graph::-webkit-scrollbar {
		height: 10px;
	}

	.page-price .price01 .price-illust.l-graph::-webkit-scrollbar-track {
		border-radius: 10px;
		background: #f5f5f5;
	}

	.page-price .price01 .price-illust.l-graph::-webkit-scrollbar-thumb {
		border-radius: 10px;
		background: #c40161;
	}

	.page-price .price01 .price-illust.l-graph figure {
		width: 747px;
		padding-bottom: 25px;
	}
}

.page-price .price01 .price-illust.l-column {
	margin-bottom: 60px;
}

@media screen and (max-width: 768px) {
	.page-price .price01 .price-illust.l-column {
		margin-bottom: 40px;
	}
}

.page-price .price01 .button-wrap.button-border.l-single {
	margin-top: 52px;
}

@media screen and (max-width: 768px) {
	.page-price .price01 .button-wrap.button-border.l-single {
		margin-top: 35px;
	}
}

.page-price .price01 .button-wrap.button-border.l-single a {
	width: 360px;
}

@media screen and (max-width: 768px) {
	.page-price .price01 .button-wrap.button-border.l-single a {
		width: 240px;
	}
}

.page-price .price02 {
	background-color: #f3f2f2;
	margin: 0 calc(50% - 50vw);
	padding: 105px calc(50vw - 50%);
}

@media screen and (max-width: 768px) {
	.page-price .price02 {
		padding: 40px 15px 80px;
	}
}

.page-price .price02 .price-title {
	margin-bottom: 42px;
}

@media screen and (max-width: 768px) {
	.page-price .price02 .price-title {
		margin-bottom: 30px;
	}
}

.page-price .price02 .price-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

@media screen and (max-width: 768px) {
	.page-price .price02 .price-list {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
}

.page-price .price02 .price-list .price-item {
	position: relative;
	width: 23.8947368421%;
	padding: 30px 10px 40px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}

@media screen and (max-width: 768px) {
	.page-price .price02 .price-list .price-item {
		width: 100%;
		padding: 25px 10px 30px;
	}
}

.page-price .price02 .price-list .price-item:nth-child(odd) {
	background-color: #eedae3;
}

.page-price .price02 .price-list .price-item:nth-child(even) {
	background-color: #fff;
}

@media screen and (max-width: 768px) {
	.page-price .price02 .price-list .price-item:not(:last-child) {
		margin-bottom: 10px;
	}
}

.page-price .price02 .price-list .price-item:not(:last-child)::after {
	content: "";
	width: 28px;
	height: 28px;
	background: url(../img/price/price02_arrow.svg) center/contain no-repeat;
	position: absolute;
	right: -21px;
	top: 0;
	bottom: 0;
	margin: auto;
	z-index: 2;
}

@media screen and (max-width: 768px) {
	.page-price .price02 .price-list .price-item:not(:last-child)::after {
		width: 24px;
		height: 24px;
		left: 0;
		right: 0;
		top: inherit;
		bottom: -17px;
		-webkit-transform: rotate(90deg);
		transform: rotate(90deg);
	}
}

.page-price .price02 .price-list .price-item-number {
	text-align: center;
	margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
	.page-price .price02 .price-list .price-item-number {
		margin-bottom: 15px;
	}
}

.page-price .price02 .price-list .price-item-number span {
	color: #c40161;
	display: inline-block;
	font-family: "Poppins", sans-serif;
	font-style: normal;
	font-weight: 500;
	font-size: 1.9rem;
	line-height: 1em;
	letter-spacing: 0.02em;
	padding-bottom: 12px;
	border-bottom: 1px solid #c40161;
}

.page-price .price02 .price-list .price-item-number span else {
	font-weight: 500;
}

@media screen and (max-width: 768px) {
	.page-price .price02 .price-list .price-item-number span {
		font-size: 1.4rem;
		line-height: 1em;
		letter-spacing: -0.02em;
		padding-bottom: 7px;
	}
}

.page-price .price02 .price-list .price-item h3 {
	text-align: center;
	color: #c40161;
	font-weight: 700;
	font-size: 2rem;
	line-height: 1.3em;
	letter-spacing: -0.01em;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	min-height: 3em;
	margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
	.page-price .price02 .price-list .price-item h3 {
		font-size: 1.4rem;
		line-height: 1.5714285714em;
		letter-spacing: 0em;
		min-height: auto;
		margin-bottom: 12px;
	}
}

.page-price .price02 .price-list .price-item-text {
	text-align: center;
	font-size: 1.4rem;
	line-height: 1.6428571429em;
	letter-spacing: -0.02em;
	min-height: 5em;
	margin-bottom: 17px;
}

@media screen and (max-width: 768px) {
	.page-price .price02 .price-list .price-item-text {
		font-size: 1.1rem;
		line-height: 1.6363636364em;
		letter-spacing: -0.02em;
		margin-bottom: 0;
		min-height: auto;
	}
}

.page-price .price02 .price-list .price-item-link {
	text-align: center;
	margin-top: auto;
}

@media screen and (max-width: 768px) {
	.page-price .price02 .price-list .price-item-link {
		margin-top: 14px;
	}
}

.page-price .price02 .price-list .price-item-link a {
	position: relative;
	color: #c40161;
	display: inline-block;
	padding: 0 20px 5px 5px;
	border-bottom: 2px solid #c40161;
}

@media screen and (max-width: 768px) {
	.page-price .price02 .price-list .price-item-link a {
		border-width: 2px;
		padding-right: 14px;
	}
}

@media (hover: hover) {
	.page-price .price02 .price-list .price-item-link a {
		-webkit-transition: opacity 0.2s ease-in-out;
		transition: opacity 0.2s ease-in-out;
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
	}

	.page-price .price02 .price-list .price-item-link a:hover {
		opacity: 0.7;
	}
}

.page-price .price02 .price-list .price-item-link a::after {
	content: "";
	position: absolute;
	right: 5px;
	bottom: 7px;
	-webkit-transform: translateY(-2px);
	transform: translateY(-2px);
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 0 5px 8.7px;
	border-color: transparent transparent transparent #c40161;
	margin-left: 10px;
}

@media screen and (max-width: 768px) {
	.page-price .price02 .price-list .price-item-link a::after {
		border-width: 4px 0 4px 6px;
		right: 0;
		top: 0;
		bottom: 0;
		margin: auto;
	}
}

.page-price .price02 .price-list .price-item-link a span {
	text-align: center;
	font-weight: 500;
	font-size: 1.5rem;
	line-height: 1.3333333333em;
	letter-spacing: -0.04em;
}

@media screen and (max-width: 768px) {
	.page-price .price02 .price-list .price-item-link a span {
		font-size: 1.2rem;
		line-height: 1.5em;
		letter-spacing: 0em;
	}
}

.page-price .price-graph {
	margin-bottom: 52px;
}

@media screen and (max-width: 768px) {
	.page-price .price-graph {
		margin-bottom: 35px;
		overflow: auto;
		overflow-y: hidden;
	}

	.page-price .price-graph::-webkit-scrollbar {
		height: 10px;
	}

	.page-price .price-graph::-webkit-scrollbar-track {
		border-radius: 10px;
		background: #f5f5f5;
	}

	.page-price .price-graph::-webkit-scrollbar-thumb {
		border-radius: 10px;
		background: #c40161;
	}
}

.page-price .price-graph table {
	width: 100%;
	border-collapse: collapse;
	background-color: #f5f5f5;
}

@media screen and (max-width: 768px) {
	.page-price .price-graph .scroll {
		min-width: 870px;
		padding-bottom: 20px;
	}
}

.page-price .price-graph table th,
.page-price .price-graph table td {
	vertical-align: middle;
	text-align: center;
	border-bottom: 2px solid #fff;
	border-right: 2px solid #fff;
}

.page-price .price-graph table thead tr {
	background-color: #c40161;
}

.page-price .price-graph table thead tr td {
	color: #fff;
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 2em;
	letter-spacing: 0em;
	padding: 23px 10px;
}

.page-price .price-graph table td:first-child {
	border-right: none;
}

@media screen and (max-width: 768px) {
	.page-price .price-graph table thead tr td {
		padding: 13px 10px;
		font-size: 1.4rem;
		line-height: 1.7857142857em;
		letter-spacing: 0em;
	}
}

.page-price .price-graph table tbody td {
	color: #111;
	padding: 26px 10px;
	font-weight: 500;
	font-size: 1.4rem;
	line-height: 1.4285714286em;
	letter-spacing: 0em;
}

@media screen and (max-width: 768px) {
	.page-price .price-graph table tbody td {
		padding: 12px 8px;
		font-size: 1.2rem;
		line-height: 1.6666666667em;
		letter-spacing: 0em;
	}
}

.page-price .price-graph table tbody td span {
	font-size: 1.2rem;
}

.page-price .price-graph table tbody td p span {
	display: inline-flex;
	text-align: left;
	line-height: 1.75em;
	letter-spacing: 0em;
	width: 12em;
}

.page-price .price-graph table tr:first-of-type td p span {
	max-width: 12em;
	width: auto;
}

.page-price .price-graph table tbody td p+p {
	margin-top: 1em;
}

.page-price .price-graph table tbody td i {
	display: inline-block;
	width: 27px;
	height: 26px;
	background: url(../img/price/checkbox@2x.png) center/contain no-repeat;
}

.page-price .price-graph table tbody td sup {
	vertical-align: super;
	font-size: 70%;
	margin-right: -2em;
}

.page-price .price-graph table tbody tr:nth-child(1) td:first-child,
.page-price .price-graph table tbody tr:nth-child(2) td:first-child,
.page-price .price-graph table tbody tr:last-child td:first-child {
	background-color: #bfbfbf;
}

.page-price .price-graph table tbody tr:nth-child(1) td.bg-emphasis:first-child,
.page-price .price-graph table tbody tr:nth-child(2) td.bg-emphasis:first-child {
	background-color: #ebccd2;
}

@media screen and (max-width: 768px) {

	.page-price .price-graph table tbody tr:nth-child(1) td:nth-child(1),
	.page-price .price-graph table tbody tr:nth-child(1) td:nth-child(4),
	.page-price .price-graph table tbody tr:nth-child(1) td:nth-child(5) {
		width: 14.367816092%;
	}
}

@media screen and (max-width: 768px) {
	.page-price .price-graph table tbody tr:nth-child(1) td:nth-child(2) {
		width: 14.367816092%;
	}
}

@media screen and (max-width: 768px) {
	.page-price .price-graph table tbody tr:nth-child(1) td:nth-child(3) {
		width: 19.5402298851%;
	}
}

@media screen and (max-width: 768px) {
	.page-price .price-graph table tbody tr:nth-child(1) td:nth-child(6) {
		width: 22.9885057471%;
		padding: 13px 15px;
	}
}

.page-price .price-graph table tbody tr:nth-child(1) td:nth-child(2),
.page-price .price-graph table tbody tr:nth-child(2) td:nth-child(2) {
	background-color: #dcdcdc;
}

.page-price .price-graph table tbody tr:nth-child(1) td.bg-emphasis:nth-child(2),
.page-price .price-graph table tbody tr:nth-child(2) td.bg-emphasis:nth-child(2) {
	background-color: #f3e2e5;
}

.page-price .price-graph table tbody tr:nth-child(4) td:first-child,
.page-price .price-graph table tbody tr:last-child td:nth-child(2) {
	background-color: #dcdcdc;
}

.page-price .price-graph .bg-emphasis {
	background-color: #f9f0f2;
}

.page-price .price-graph .bdr-white {
	border-right: 2px solid #fff !important;
}

.page-price .price-graph .bdr-btm {
	border-bottom: 2px solid #d895a4;
}

.page-price .price-graph .bdr-left,
.page-price .price-graph .bdr-right {
	position: relative;
}

.page-price .price-graph .bdr-left::before,
.page-price .price-graph .bdr-right::before {
	content: "";
	position: absolute;
	display: block;
	top: -2px;
	width: 2px;
	height: calc(100% + 4px);
	background: #d895a4;
}

.page-price .price-graph .bdr-left::before {
	left: -2px;
}

.page-price .price-graph .bdr-right::before {
	right: -2px;
	height: calc(100% + 4px);
}

.page-price .price-graph .note {
	line-height: 1.5;
	font-size: 1.2rem;
	text-indent: -2.6em;
	padding-left: 2.6em;
	margin-top: 10px;
}

.page-price .price-graph .note li+li {
	margin-top: 8px;
}

.page-price .price-license {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: 60px;
	position: relative;
}

.page-price .price-license .balloon {
	position: absolute;
	line-height: 1.5;
	font-size: 1.1rem;
	text-align: center;
	width: 13em;
	height: 13em;
	border-radius: 50%;
	background: #eedae3;
	display: flex;
	justify-content: center;
	align-items: center;
	right: -1em;
	top: -7.5em;
}

@media screen and (max-width: 768px) {
	.page-price .price-license {
		margin-bottom: 40px;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.page-price .price-license .balloon {
		border-radius: 50px;
		width: auto;
		height: auto;
		position: relative;
		right: auto;
		top: auto;
		margin-top: 15px;
		padding: 5px;
	}
}

.page-price .price-license>div {
	width: 35%;
	padding: 38px 25px;
	background-color: #f5f5f5;
}

.page-price .price-license>div:last-child {
	width: 62%;
}

.page-price .price-license .flbox {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.page-price .price-license .flbox dl {
	width: 48%;
}

.page-price .price-license dl {
	border: 2px solid #c40161;
	background: #fff;
	padding-bottom: 20px;
}

.page-price .price-license dt {
	font-weight: bold;
	color: #c40161;
	text-align: center;
	background: #f9f0f2;
	padding: 10px 0;
	font-size: 1.4rem;
	line-height: 1.3;
}

@media screen and (max-width: 768px) {
	.page-price .price-license>div {
		width: 100% !important;
		padding: 29px 25px;
	}

	.page-price .price-license .flbox dl {
		width: 100%;
	}

	.page-price .price-license .flbox dl+dl {
		margin-top: 15px;
	}
}

@media screen and (max-width: 768px) {
	.page-price .price-license>div:not(:last-child) {
		margin-bottom: 15px;
	}
}

.page-price .price-license h4 {
	text-align: center;
	font-weight: 700;
	color: #c40161;
	font-size: 2.2rem;
	line-height: 1em;
	letter-spacing: 0em;
	padding-bottom: 25px;
	border-bottom: 2px solid #e3e3e3;
	margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
	.page-price .price-license h4 {
		font-size: 1.6rem;
		line-height: 1em;
		letter-spacing: 0em;
		margin-bottom: 15px;
		padding-bottom: 15px;
	}
}

.page-price .price-license-lead {
	color: #c40161;
	text-align: center;
	font-weight: bold;
	font-size: 2rem;
	margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
	.page-price .price-license-lead {
		font-size: 1.4rem;
		margin-bottom: 10px;
	}
}

.page-price .price-license-text {
	text-align: center;
	font-size: 1.5rem;
	line-height: 1.6666666667em;
	letter-spacing: 0em;
	margin-bottom: 30px;
}

@media screen and (max-width: 768px) {
	.page-price .price-license-text {
		font-size: 1.2rem;
		line-height: 1.6666666667em;
		letter-spacing: 0em;
		margin-bottom: 16px;
	}
}

.page-price .price-license figure {
	margin: 0 auto 32px;
	max-width: 280px;
}

@media screen and (max-width: 768px) {
	.page-price .price-license figure {
		width: 91.6666666667%;
		margin-bottom: 20px;
	}
}

.page-price .price-license-label {
	text-align: center;
	font-size: 1.2rem;
	margin: 10px 0 8px;
}

@media screen and (max-width: 768px) {
	.page-price .price-license-label {
		font-size: 1.1rem;
		line-height: 1.9230769231em;
		letter-spacing: 0em;
		margin-bottom: 5px;
	}
}

.page-price .price-license-cost {
	text-align: center;
	margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
	.page-price .price-license-cost {
		margin-bottom: 8px;
	}
}

.page-price .price-license-cost i {
	color: #c40161;
	font-family: "Poppins", sans-serif;
	font-style: normal;
	font-weight: 300;
	font-size: 3rem;
	line-height: 1em;
	letter-spacing: 0em;
	display: inline-block;
	padding: 0 5px;
}

.page-price .price-license-cost i else {
	font-weight: 500;
}

@media screen and (max-width: 768px) {
	.page-price .price-license-cost i {
		font-size: 3rem;
		line-height: 1em;
		letter-spacing: 0em;
	}
}

.page-price .price-license-cost span {
	font-weight: 700;
	font-size: 1.3rem;
	line-height: 1.3333333333em;
	letter-spacing: 0em;
}

@media screen and (max-width: 768px) {
	.page-price .price-license-cost span {
		font-size: 1.1rem;
		line-height: 1.8181818182em;
		letter-spacing: 0em;
	}
}

.page-price .price-license-note {
	text-align: center;
	font-size: 1.2rem;
	line-height: 1em;
	letter-spacing: 0em;
}

@media screen and (max-width: 768px) {
	.page-price .price-license-note {
		font-size: 1rem;
		line-height: 1em;
		letter-spacing: 0em;
	}
}

.page-features {
	padding-bottom: 0;
}

.page-features .hero {
	background: #c40161;
}

@media screen and (max-width: 768px) {
	.page-features .hero {
		background: url(../img/price/hero_bg_sp.png) center top/cover no-repeat;
	}
}

.page-features .hero .section-inner {
	position: relative;
}

.page-features .hero .section-inner::before {
	content: "";
	width: 41.5652173913%;
	height: 308px;
	position: absolute;
	right: -25px;
	top: 0;
	bottom: 0;
	margin: auto;
	background: #c40161 url(../img/features/feature_kv.svg) center right/contain no-repeat;
}

@media screen and (max-width: 768px) {
	.page-features .hero .section-inner::before {
		display: none;
	}
}

.page-features .hero-body {
	position: relative;
	padding-right: 39.1304347826%;
}

@media screen and (max-width: 768px) {
	.page-features .hero-body {
		padding-right: 0;
	}
}

.page-features .content-nav {
	background-color: #f3f2f2;
	margin: 0 calc(50% - 50vw);
	padding: 0 calc(50vw - 50%);
}

@media screen and (max-width: 768px) {
	.page-features .content-nav {
		padding: 20px 15px 0;
	}
}

.page-features .content-nav ul {
	height: 136px;
	margin: auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
}

@media screen and (max-width: 768px) {
	.page-features .content-nav ul {
		height: 85px;
	}
}

.page-features .content-nav li {
	width: 32.7826086957%;
}

@media screen and (max-width: 768px) {
	.page-features .content-nav li {
		width: 32.0689655172%;
	}
}

.page-features .content-nav li a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding: 23px 10px;
	background-color: #aaaaaa;
}

@media screen and (max-width: 768px) {
	.page-features .content-nav li a {
		text-align: center;
		padding: 15px 0;
	}
}

@media (hover: hover) {
	.page-features .content-nav li a {
		-webkit-transition: opacity 0.2s ease-in-out;
		transition: opacity 0.2s ease-in-out;
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
	}

	.page-features .content-nav li a:hover {
		opacity: 0.7;
	}
}

.page-features .content-nav li a.is-active {
	background-color: #fff;
	border-top: 6px solid #c40161;
	padding: 27px 10px 23px;
}

@media screen and (max-width: 768px) {
	.page-features .content-nav li a.is-active {
		border-width: 3px;
		padding: 16px 0;
	}
}

.page-features .content-nav li a.is-active span {
	color: #c40161;
}

.page-features .content-nav li a span {
	color: #fff;
	font-weight: 700;
	font-size: 1.8rem;
	line-height: 1.6666666667em;
	letter-spacing: -0.01em;
}

@media screen and (max-width: 768px) {
	.page-features .content-nav li a span {
		font-size: 1.1rem;
		line-height: 1.4090909091em;
		letter-spacing: -0.02em;
	}
}

.page-features .features-block {
	display: none;
}

.page-features .features-block .section-inner {
	max-width: 950px;
	margin: auto;
}

.page-features .features-block.is-show {
	display: block;
}

.page-features .features-about {
	text-align: center;
	padding-top: 75px;
	margin-bottom: 120px;
}

@media screen and (max-width: 768px) {
	.page-features .features-about {
		padding-top: 36px;
		margin-bottom: 60px;
	}
}

.page-features .features-about-title {
	text-align: center;
	margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
	.page-features .features-about-title {
		margin-bottom: 16px;
	}
}

.page-features .features-about-title span {
	color: #c40161;
	font-weight: 700;
	font-size: 3.6rem;
	line-height: 1.7222222222em;
	letter-spacing: -0.01em;
	padding: 0 10px;
	display: inline-block;
	border-bottom: 3px solid #c40161;
}

@media screen and (max-width: 768px) {
	.page-features .features-about-title span {
		font-size: 2.2rem;
		line-height: 2.0454545455em;
		letter-spacing: 0em;
		border-width: 2px;
		padding: 0;
	}
}

.page-features .features-about-lead {
	font-weight: 700;
	font-size: 2.2rem;
	line-height: 1.8181818182em;
	letter-spacing: 0em;
	margin-bottom: 35px;
}

@media screen and (max-width: 768px) {
	.page-features .features-about-lead {
		text-align: left;
		font-size: 1.5rem;
		line-height: 1.6em;
		letter-spacing: 0em;
		margin-bottom: 20px;
	}
}

.page-features .features-about-lead b {
	font-weight: 700;
	color: #c40161;
}

.page-features .features-about-text {
	font-size: 1.6rem;
	line-height: 1.8125em;
	letter-spacing: 0em;
	margin-bottom: 60px;
}

@media screen and (max-width: 768px) {
	.page-features .features-about-text {
		text-align: left;
		font-size: 1.4rem;
		line-height: 1.5714285714em;
		letter-spacing: 0em;
		margin-bottom: 25px;
	}
}

.page-features .features-about-text b {
	font-weight: 400;
	color: #c40161;
}

.page-features .features-about-illust {
	max-width: 950px;
	margin: auto;
}

.page-features .section-nav {
	background-color: #c40161;
	margin: 0 calc(50% - 50vw);
	padding: 27px calc(50vw - 50%) 29px;
}

@media screen and (max-width: 768px) {
	.page-features .section-nav {
		padding: 13px 15px 13px;
	}
}

.page-features .section-nav.l-features01 ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

@media screen and (max-width: 768px) {
	.page-features .section-nav.l-features01 ul {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
}

.page-features .section-nav.l-features01 li {
	position: relative;
	width: 20%;
}

@media screen and (max-width: 768px) {
	.page-features .section-nav.l-features01 li {
		width: 100%;
	}
}

.page-features .section-nav.l-features01 li:not(:last-child)::after {
	content: "";
	width: 1px;
	height: 90%;
	background-color: rgba(247, 247, 247, 0.4);
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}

@media screen and (max-width: 768px) {
	.page-features .section-nav.l-features01 li:not(:last-child)::after {
		width: 100%;
		height: 1px;
		top: inherit;
	}
}

.page-features .section-nav.l-features01 li a {
	display: block;
	text-align: center;
	padding-bottom: 18px;
}

@media screen and (max-width: 768px) {
	.page-features .section-nav.l-features01 li a {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		padding: 11px 0;
	}
}

@media (hover: hover) {
	.page-features .section-nav.l-features01 li a {
		-webkit-transition: opacity 0.2s ease-in-out;
		transition: opacity 0.2s ease-in-out;
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
	}

	.page-features .section-nav.l-features01 li a:hover {
		opacity: 0.7;
	}
}

.page-features .section-nav.l-features01 li a::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 5.5px 0 5.5px;
	border-color: #fff transparent transparent transparent;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}

@media screen and (max-width: 768px) {
	.page-features .section-nav.l-features01 li a::after {
		border-width: 5px 4.5px 0 4.5px;
		left: inherit;
		top: 0;
	}
}

.page-features .section-nav.l-features01 li .section-nav-number {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 73px;
	height: 70px;
	margin: 0 auto 5px;
	background: url(../img/common/balloon_number_wt.svg) center/contain no-repeat;
	color: #c40161;
}

@media screen and (max-width: 768px) {
	.page-features .section-nav.l-features01 li .section-nav-number {
		width: 60px;
		height: 58px;
		margin: 0;
	}
}

.page-features .section-nav.l-features01 li .section-nav-number span {
	font-weight: 700;
	font-size: 1.2rem;
	line-height: 1em;
	letter-spacing: 0em;
	margin-bottom: 3px;
}

@media screen and (max-width: 768px) {
	.page-features .section-nav.l-features01 li .section-nav-number span {
		font-size: 1rem;
		line-height: 1em;
		letter-spacing: 0em;
	}
}

.page-features .section-nav.l-features01 li .section-nav-number i {
	font-family: "Poppins", sans-serif;
	font-style: normal;
	font-weight: 500;
	font-size: 1.9rem;
	line-height: 1em;
	letter-spacing: 0em;
}

.page-features .section-nav.l-features01 li .section-nav-number i else {
	font-weight: 500;
}

@media screen and (max-width: 768px) {
	.page-features .section-nav.l-features01 li .section-nav-number i {
		font-size: 1.6rem;
		line-height: 1em;
		letter-spacing: 0em;
	}
}

.page-features .section-nav.l-features01 li .section-nav-text {
	color: #fff;
	font-weight: 700;
	font-size: 1.5rem;
	line-height: 1.6666666667em;
	letter-spacing: 0em;
}

@media screen and (max-width: 768px) {
	.page-features .section-nav.l-features01 li .section-nav-text {
		font-size: 1.6rem;
		line-height: 1em;
		letter-spacing: 0em;
		padding-left: 12px;
	}
}

@media screen and (max-width: 768px) {
	.page-features .section-nav.l-features02 {
		padding: 5px 15px;
	}
}

.page-features .section-nav.l-features02 ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

@media screen and (max-width: 768px) {
	.page-features .section-nav.l-features02 ul {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
}

.page-features .section-nav.l-features02 li {
	position: relative;
	width: 50%;
}

.page-features #features02 .section-nav.l-features02 ul {
	justify-content: space-between;
}

.page-features #features02 .section-nav.l-features02 li {
	width: 31%;
}

.page-features #features02 .section-nav-copy {
	color: #fff;
	font-size: 1.4rem;
	margin-bottom: 5px;
	line-height: 1.4;
}

@media screen and (max-width: 768px) {

	.page-features .section-nav.l-features02 li,
	.page-features #features02 .section-nav.l-features02 li {
		width: 100%;
	}
}

@media screen and (min-width: 769px) {
	.page-features #features03 .section-nav.l-features02 li:nth-child(1) {
		padding-right: 4.8695652174%;
	}

	.page-features #features03 .section-nav.l-features02 li:nth-child(1) a {
		-webkit-box-pack: end;
		-ms-flex-pack: end;
		justify-content: flex-end;
	}

	.page-features #features03 .section-nav.l-features02 li:nth-child(2) {
		padding-left: 4.8695652174%;
	}

	.page-features #features03 .section-nav.l-features02 li:nth-child(2) a {
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
	}

	.page-features #features02 .section-nav.l-features02 li:nth-child(1),
	.page-features #features02 .section-nav.l-features02 li:nth-child(2) {
		padding: 0;
	}
}

.page-features #features03 .section-nav.l-features02 li:not(:last-child)::after,
.page-features #features02 .section-nav.l-features02 li+li::after {
	content: "";
	width: 1px;
	height: 90%;
	background-color: rgba(247, 247, 247, 0.4);
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}

.page-features #features02 .section-nav.l-features02 li+li::after {
	right: auto;
	left: -6%;
}

@media screen and (max-width: 768px) {

	.page-features #features03 .section-nav.l-features02 li:not(:last-child)::after,
	.page-features #features02 .section-nav.l-features02 li+li::after {
		width: 100%;
		height: 1px;
		top: inherit;
	}

	.page-features #features02 .section-nav.l-features02 li+li::after {
		right: auto;
		left: 0;
		bottom: auto;
		top: 0;
	}
}

.page-features .section-nav.l-features02 li a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

@media screen and (max-width: 768px) {
	.page-features .section-nav.l-features02 li a {
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
		padding: 20px 0;
	}
}

@media (hover: hover) {
	.page-features .section-nav.l-features02 li a {
		-webkit-transition: opacity 0.2s ease-in-out;
		transition: opacity 0.2s ease-in-out;
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
	}

	.page-features .section-nav.l-features02 li a:hover {
		opacity: 0.7;
	}
}

.page-features .section-nav.l-features02 li .section-nav-number {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 73px;
	height: 70px;
	flex-shrink: 0;
	background: url(../img/common/balloon_number_wt.svg) center/contain no-repeat;
	color: #c40161;
}

@media screen and (max-width: 768px) {
	.page-features .section-nav.l-features02 li .section-nav-number {
		width: 60px;
		height: 58px;
		margin: 0;
	}
}

.page-features .section-nav.l-features02 li .section-nav-number span {
	font-weight: 700;
	font-size: 1.2rem;
	line-height: 1em;
	letter-spacing: 0em;
	margin-bottom: 3px;
}

@media screen and (max-width: 768px) {
	.page-features .section-nav.l-features02 li .section-nav-number span {
		font-size: 1rem;
		line-height: 1em;
		letter-spacing: 0em;
	}
}

.page-features .section-nav.l-features02 li .section-nav-number i {
	font-family: "Poppins", sans-serif;
	font-style: normal;
	font-weight: 500;
	font-size: 1.9rem;
	line-height: 1em;
	letter-spacing: 0em;
}

.page-features .section-nav.l-features02 li .section-nav-number i else {
	font-weight: 500;
}

@media screen and (max-width: 768px) {
	.page-features .section-nav.l-features02 li .section-nav-number i {
		font-size: 1.6rem;
		line-height: 1em;
		letter-spacing: 0em;
	}
}

.page-features .section-nav.l-features02 li div {
	position: relative;
	display: inline-block;
	padding-right: 52px;
	margin-left: 22px;
}

.page-features #features02 .section-nav.l-features02 li div {
	padding-right: 30px;
	margin-left: 15px;
}

@media screen and (max-width: 768px) {
	.page-features .section-nav.l-features02 li div {
		-webkit-box-flex: 1;
		-ms-flex: 1;
		flex: 1;
		display: block;
		padding-left: 10px;
		margin-left: 15px;
	}
}

.page-features .section-nav.l-features02 li div::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 5.5px 0 5.5px;
	border-color: #fff transparent transparent transparent;
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}

@media screen and (max-width: 768px) {
	.page-features .section-nav.l-features02 li div::after {
		border-width: 5px 4.5px 0 4.5px;
	}
}

.page-features .section-nav.l-features02 li div p {
	color: #fff;
}

.page-features .section-nav.l-features02 li div .section-nav-copy {
	font-size: 1.4rem;
	line-height: 1.7857142857em;
	letter-spacing: 0em;
	margin-bottom: 5px;
}

@media screen and (max-width: 768px) {
	.page-features .section-nav.l-features02 li div .section-nav-copy {
		font-size: 1.1rem;
		line-height: 1.3636363636em;
		letter-spacing: 0em;
	}
}

.page-features .section-nav.l-features02 li div .section-nav-text {
	font-weight: 700;
	font-size: 2.1rem;
	line-height: 1.0869565217em;
	letter-spacing: 0em;
}

@media screen and (max-width: 768px) {
	.page-features .section-nav.l-features02 li div .section-nav-text {
		font-size: 1.6rem;
		line-height: 1em;
		letter-spacing: 0em;
	}
}

.page-features .features-content {
	padding-top: 88px;
	padding-bottom: 120px;
}

@media screen and (max-width: 768px) {
	.page-features .features-content {
		padding-top: 40px;
		padding-bottom: 60px;
	}
}

.page-features .features-content.l-bg-gray {
	background-color: #f3f2f2;
	margin: 0 calc(50% - 50vw);
	padding: 75px calc(50vw - 50%) 120px;
}

@media screen and (max-width: 768px) {
	.page-features .features-content.l-bg-gray {
		padding: 36px 15px 60px;
	}
}

.page-features .features-content .l-nomargin {
	margin-bottom: 0;
}

.page-features .features-content .l-nomargin+.features-content-text {
	margin-top: 35px;
}

@media screen and (max-width: 768px) {
	.page-features .features-content .l-nomargin+.features-content-text {
		margin-top: 25px;
	}
}

.page-features .features-content-title {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-left: -12px;
	margin-bottom: 16px;
}

@media screen and (max-width: 768px) {
	.page-features .features-content-title {
		margin-left: -4px;
	}
}

.page-features .features-content-title h3 {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	font-weight: 700;
	font-size: 3.6rem;
	line-height: 1em;
	letter-spacing: 0em;
	padding-left: 20px;
}

@media screen and (max-width: 768px) {
	.page-features .features-content-title h3 {
		font-size: 2.2rem;
		line-height: 1.2954545455em;
		letter-spacing: 0em;
		padding-left: 15px;
	}
}

.page-features .features-content-title h3 small {
	font-weight: 700;
	font-size: 1.9rem;
	line-height: 1.8947368421em;
	letter-spacing: 0em;
}

@media screen and (max-width: 768px) {
	.page-features .features-content-title h3 small {
		display: block;
		font-size: 1.3rem;
		line-height: 1.3846153846em;
		letter-spacing: 0em;
	}

	.page-features .features-content-title h3 small+i {
		margin-left: 4px;
	}
}

.page-features .features-content-title h3 i {
	display: inline-block;
	vertical-align: middle;
	color: #c40161;
	font-size: 1.4rem;
	line-height: 2.0714285714em;
	letter-spacing: 0em;
	border: 1px solid #c40161;
	border-radius: 3px;
	padding: 0 10px;
	margin-left: 15px;
}

@media screen and (max-width: 768px) {
	.page-features .features-content-title h3 i {
		vertical-align: auto;
		font-size: 1.1rem;
		line-height: 1.8181818182em;
		letter-spacing: 0em;
		padding: 0 6px;
		margin-left: 8px;
	}
}

.page-features .features-content-number {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 83px;
	height: 81px;
	background: url(../img/common/balloon_number.svg) center/contain no-repeat;
	color: #fff;
}

@media screen and (max-width: 768px) {
	.page-features .features-content-number {
		width: 70px;
		height: 69px;
	}
}

.page-features .features-content-number span {
	font-weight: 700;
	font-size: 1.2rem;
	line-height: 1em;
	letter-spacing: 0em;
	margin-bottom: 4px;
}

.page-features .features-content-number i {
	font-family: "Poppins", sans-serif;
	font-style: normal;
	font-weight: 500;
	font-size: 2.2rem;
	line-height: 1em;
	letter-spacing: 0em;
}

.page-features .features-content-number i else {
	font-weight: 500;
}

@media screen and (max-width: 768px) {
	.page-features .features-content-number i {
		font-size: 2.2rem;
		line-height: 1em;
		letter-spacing: 0em;
	}
}

.page-features .features-content-text {
	font-size: 1.6rem;
	line-height: 1.8125em;
	letter-spacing: 0em;
	margin-bottom: 33px;
}

@media screen and (max-width: 768px) {
	.page-features .features-content-text {
		font-size: 1.3rem;
		line-height: 1.6923076923em;
		letter-spacing: 0em;
		margin-bottom: 25px;
	}
}

.page-features .features-content-text b {
	color: #c40161;
	font-weight: 400;
}

.page-features .features-content-bttext {
	text-align: center;
	margin: 56px 0 38px;
}

@media screen and (max-width: 768px) {
	.page-features .features-content-bttext {
		margin: 42px 0 22px;
	}
}

.page-features .features-content-bttext span {
	background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #f9e5ef));
	background: linear-gradient(transparent 60%, #f9e5ef 60%);
	font-weight: 700;
	font-size: 2.5rem;
	line-height: 2em;
	letter-spacing: 0.01em;
}

@media screen and (max-width: 768px) {
	.page-features .features-content-bttext span {
		font-size: 1.5rem;
		line-height: 1.8666666667em;
		letter-spacing: 0.01em;
	}
}

.page-features .features-content-bttext+.button-wrap.button-border.l-single a {
	width: 460px;
}

@media screen and (max-width: 768px) {
	.page-features .features-content-bttext+.button-wrap.button-border.l-single a {
		width: 280px;
	}
}

.page-features .features-content-func {
	background-color: #fcf0f6;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 25px 15px 25px 0;
	margin-top: 20px;
	margin-bottom: 55px;
}

@media screen and (max-width: 768px) {
	.page-features .features-content-func {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		padding: 28px 15px 25px;
		margin-top: 15px;
		margin-bottom: 35px;
	}
}

.page-features .features-content-func p {
	width: 214px;
	text-align: center;
	color: #c40161;
	font-size: 2rem;
	line-height: 1em;
	letter-spacing: 0em;
	font-weight: 700;
}

@media screen and (max-width: 768px) {
	.page-features .features-content-func p {
		width: 100%;
		font-size: 1.6rem;
		line-height: 1em;
		letter-spacing: 0em;
		margin-bottom: 23px;
	}
}

.page-features .features-content-func li {
	position: relative;
	padding-left: 1em;
	font-size: 1.6rem;
	line-height: 1.8125em;
	letter-spacing: 0em;
}

@media screen and (max-width: 768px) {
	.page-features .features-content-func li {
		font-size: 1.3rem;
		line-height: 1.6923076923em;
		letter-spacing: 0em;
	}
}

.page-features .features-content-func li::before {
	content: "";
	width: 7px;
	height: 7px;
	background-color: #c40161;
	border-radius: 50%;
	position: absolute;
	left: 0;
	top: 12px;
}

@media screen and (max-width: 768px) {
	.page-features .features-content-func li::before {
		width: 5px;
		height: 5px;
		top: 9px;
	}
}

.page-features .features-content-image {
	margin-bottom: 70px;
}

@media screen and (max-width: 768px) {
	.page-features .features-content-image {
		margin-bottom: 25px;
	}
}

@media screen and (max-width: 768px) {
	.page-features .features-content-video {
		background: url(../img/features/movie_thumb.png) center/cover no-repeat;
	}
}

.page-features .features-content-video video {
	width: 100%;
	height: 100%;
}

.page-features .features-content-label {
	margin-bottom: 22px;
}

.page-features .features-content-label span {
	font-weight: 700;
	display: inline-block;
	background-color: #c40161;
	color: #FFF;
	font-size: 2.1rem;
	line-height: 1.619047619em;
	letter-spacing: 0em;
	padding: 0 10px;
}

@media screen and (max-width: 768px) {
	.page-features .features-content-label span {
		padding: 5px 10px;
		font-size: 1.6rem;
		line-height: 1.25em;
		letter-spacing: 0em;
	}
}

.page-features .features-content-label span small {
	font-weight: 700;
}

@media screen and (max-width: 768px) {
	.page-features .features-content-label span small {
		display: block;
		font-size: 1.3rem;
		line-height: 1.5384615385em;
		letter-spacing: 0em;
	}
}

.page-features .features-content-note {
	font-size: 1.4rem;
	line-height: 1.7857142857em;
	letter-spacing: 0em;
	margin-top: 8px;
	margin-bottom: 33px;
}

@media screen and (max-width: 768px) {
	.page-features .features-content-note {
		margin-top: 6px;
		font-size: 1rem;
		line-height: 1.6em;
		letter-spacing: 0em;
		margin-bottom: 25px;
	}
}

.page-features .features-content-note li {
	text-indent: -1em;
	margin-left: 1em;
}

.page-features .features-content-operation {
	max-width: 600px;
	margin: auto;
}

.page-features .features-content-operation a {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 21px 60px 21px 23px;
	border: 1px solid #b6b6b6;
}

@media screen and (max-width: 768px) {
	.page-features .features-content-operation a {
		padding: 10px 20px 10px 10px;
	}
}

@media (hover: hover) {
	.page-features .features-content-operation a {
		-webkit-transition: opacity 0.2s ease-in-out;
		transition: opacity 0.2s ease-in-out;
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
	}

	.page-features .features-content-operation a:hover {
		opacity: 0.7;
	}
}

.page-features .features-content-operation a::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5.5px 0 5.5px 6px;
	border-color: transparent transparent transparent #c40161;
	position: absolute;
	right: 45px;
	top: 0;
	bottom: 0;
	margin: auto;
}

@media screen and (max-width: 768px) {
	.page-features .features-content-operation a::after {
		right: 10px;
		border-width: 4.25px 0 4.25px 6px;
	}
}

@media screen and (max-width: 768px) {
	.page-features .features-content-operation a figure {
		width: 38.4615384615%;
	}
}

.page-features .features-content-operation a p {
	padding-left: 30px;
	font-weight: 500;
	font-size: 1.5rem;
	line-height: 1.6666666667em;
	letter-spacing: 0em;
}

@media screen and (max-width: 768px) {
	.page-features .features-content-operation a p {
		font-size: 1.2rem;
		line-height: 1.3333333333em;
		letter-spacing: 0em;
		padding-left: 10px;
	}

	.page-features .features-content-operation a p small {
		font-size: 1rem;
		line-height: 1.6em;
		letter-spacing: 0em;
	}
}

.page-features .features-content-operation a p span {
	display: block;
	color: #c40161;
	font-weight: 400;
	padding-top: 7px;
	font-size: 1.4rem;
	line-height: 1.7857142857em;
	letter-spacing: 0em;
}

@media screen and (max-width: 768px) {
	.page-features .features-content-operation a p span {
		padding-top: 4px;
		font-size: 1.1rem;
		line-height: 1.4545454545em;
		letter-spacing: 0em;
	}
}

.page-features .features-content-box {
	border-bottom: 1px solid #b1b0b0;
	padding-bottom: 80px;
	margin-bottom: 75px;
}

.page-features #feature02-section03 .features-content-box {
	padding-bottom: 20px;
	margin-bottom: 60px;
}

@media screen and (max-width: 768px) {
	.page-features .features-content-box {
		padding-bottom: 40px;
		margin-bottom: 40px;
	}

	.page-features #feature02-section03 .features-content-box {
		padding-bottom: 0px;
		margin-bottom: 30px;
	}
}

.page-features .features-content-detail {
	background-color: #F5F5F5;
	padding: 60px 65px;
	margin-bottom: 20px;
}

.page-features .l-bg-gray .features-content-detail {
	background-color: #fff;
}

@media screen and (max-width: 768px) {
	.page-features .features-content-detail {
		padding: 16px 12px 20px;
		margin-bottom: 15px;
	}
}

.page-features .features-content-detail h4 {
	font-weight: 700;
	color: #c40161;
	font-size: 2.2rem;
	line-height: 1em;
	letter-spacing: 0em;
	margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
	.page-features .features-content-detail h4 {
		font-size: 1.6rem;
		line-height: 1.4375em;
		letter-spacing: 0em;
		margin-bottom: 11px;
	}
}

.page-features .features-content-detail h4 small {
	font-weight: 700;
}

@media screen and (max-width: 768px) {
	.page-features .features-content-detail h4 small {
		font-size: 1.4rem;
		line-height: 1.6428571429em;
		letter-spacing: 0em;
		display: block;
	}
}

.page-features .features-content-detail picture {
	display: block;
	text-align: center;
}

.page-features .features-content-detail p {
	font-size: 1.6rem;
	line-height: 1.8125em;
	letter-spacing: 0em;
	margin-bottom: 17px;
}

@media screen and (max-width: 768px) {
	.page-features .features-content-detail p {
		font-size: 1.3rem;
		line-height: 1.6923076923em;
		letter-spacing: 0em;
		margin-bottom: 20px;
	}
}

.page-features .features-content-column {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.page-features .demo {
	margin-bottom: 110px;
	padding-top: 20px;
	position: relative;
}

.page-features .demo::before {
	content: "";
	background-color: #fff;
	width: 100vw;
	height: 20px;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0 calc(50% - 50vw);
}

@media screen and (max-width: 768px) {
	.page-features .demo::before {
		height: 10px;
	}
}

@media screen and (max-width: 768px) {
	.page-features .demo {
		margin-bottom: 80px;
		padding-top: 10px;
	}
}

.page-features .demo-title {
	text-align: center;
	margin: 0 calc(50% - 50vw) 90px;
	padding: 50px calc(50vw - 50%) 45px;
	background-color: #c40161;
}

@media screen and (max-width: 768px) {
	.page-features .demo-title {
		padding: 30px 15px 25px;
		margin-bottom: 38px;
	}
}

.page-features .demo-title h2 {
	color: #fff;
	font-weight: 700;
	font-size: 3.6rem;
	line-height: 1em;
	letter-spacing: -0.01em;
	margin-bottom: 14px;
}

@media screen and (max-width: 768px) {
	.page-features .demo-title h2 {
		font-size: 2.2rem;
		line-height: 1em;
		letter-spacing: 0em;
	}
}

.page-features .demo-title p {
	color: #fff;
	font-size: 1.6rem;
	line-height: 1.8125em;
	letter-spacing: 0em;
}

@media screen and (max-width: 768px) {
	.page-features .demo-title p {
		font-size: 1.3rem;
		line-height: 1.6923076923em;
		letter-spacing: 0em;
	}
}

.page-features .demo-content {
	max-width: 950px;
	margin: 0 auto 40px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

@media screen and (max-width: 768px) {
	.page-features .demo-content {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		margin-bottom: 38px;
	}
}

.page-features .demo-content figure {
	text-align: center;
	width: 59.4736842105%;
	-webkit-transform: translateX(-36px);
	transform: translateX(-36px);
}

@media screen and (max-width: 768px) {
	.page-features .demo-content figure {
		width: 100%;
		-webkit-transform: translateX(0);
		transform: translateX(0);
		margin-bottom: 38px;
	}
}

.page-features .demo-content ul {
	width: 344px;
}

@media screen and (max-width: 768px) {
	.page-features .demo-content ul {
		width: 100%;
	}
}

.page-features .demo-content li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding-bottom: 20px;
	padding-left: 10px;
	border-bottom: 1px solid #cccccc;
}

@media screen and (max-width: 768px) {
	.page-features .demo-content li {
		padding-bottom: 10px;
	}
}

.page-features .demo-content li:not(:last-child) {
	margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
	.page-features .demo-content li:not(:last-child) {
		margin-bottom: 10px;
	}
}

.page-features .demo-content li::before {
	content: "";
	width: 29px;
	height: 27px;
	background: url(../img/features/checkbox@2x.png) center/contain no-repeat;
}

@media screen and (max-width: 768px) {
	.page-features .demo-content li::before {
		width: 20px;
		height: 18px;
	}
}

.page-features .demo-content li span {
	padding-left: 15px;
	font-weight: 500;
	font-size: 2rem;
	line-height: 1em;
	letter-spacing: 0em;
}

@media screen and (max-width: 768px) {
	.page-features .demo-content li span {
		font-size: 1.6rem;
		line-height: 1em;
		letter-spacing: 0em;
		padding-left: 6px;
	}
}

.page-features .demo .button-wrap a {
	width: 310px;
}

@media screen and (max-width: 768px) {
	.page-features .demo .button-wrap a {
		width: 220px;
	}
}

.page-features #featurea-nav {
	position: relative;
	top: -40px;
}

@media screen and (max-width: 768px) {
	.page-features #featurea-nav {
		top: 0;
	}
}

.index .news {
	background-color: #f3f2f2;
	margin: 0 calc(50% - 50vw);
	padding: 110px calc(50vw - 50%) 120px;
}

@media screen and (max-width: 768px) {
	.index .news {
		padding: 60px 15px;
	}
}

.index .news h2 {
	text-align: center;
	font-weight: 700;
	font-size: 3.6rem;
	line-height: 1em;
	letter-spacing: -0.01em;
	margin-bottom: 35px;
}

@media screen and (max-width: 768px) {
	.index .news h2 {
		font-size: 2.2rem;
		line-height: 1em;
		letter-spacing: 0em;
		margin-bottom: 25px;
	}
}

.news .news-list {
	width: 100%;
	max-width: 1050px;
	margin: 62px auto 0
}

@media screen and (max-width: 768px) {
	.news .news-list {
		margin-top: 40px
	}
}

.news .news-list__item {
	width: 100%;
	position: relative;
	border-top: 1px solid #ebebeb;
	border-bottom: 1px solid #ebebeb
}

.news .news-list__item+.news-list__item {
	border-top: none
}

.news .news-list__item::before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 0 5px 9px;
	border-color: transparent transparent transparent #c40561;
	position: absolute;
	top: 50%;
	right: 26px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}

@media screen and (max-width: 768px) {
	.news .news-list__item::before {
		right: 0;
		border-width: 3.5px 0 3.5px 4px
	}
}

@media (hover: hover) {
	.news .news-list__item {
		-webkit-transition: opacity 0.2s ease-in-out;
		transition: opacity 0.2s ease-in-out
	}

	.news .news-list__item:hover {
		opacity: 0.7
	}
}

.news .news-list__item .link {
	width: 100%;
	height: 100%;
	min-height: 100px;
	padding: 10px 40px 10px 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}

@media screen and (max-width: 768px) {
	.news .news-list__item .link {
		padding: 14px 20px 14px 0;
		min-height: 87px;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-align: start;
		-ms-flex-align: start;
		align-items: flex-start
	}
}

.news .news-list__item .item-date {
	color: #c40561;
	font-size: 15px;
	font-family: "Poppins", sans-serif;
	font-weight: 500;
	min-width: 6em;
}

@media screen and (max-width: 768px) {
	.news .news-list__item .item-date {
		font-size: 12px
	}
}

.news .news-list__item .item-text {
	font-size: 14px;
	line-height: 2.35714;
	margin-left: 24px;
	padding-left: 28px;
	position: relative
}

@media screen and (max-width: 768px) {
	.news .news-list__item .item-text {
		font-size: 11px;
		line-height: 1.63636;
		margin: 0;
		padding-left: 0
	}
}

.news .news-list__item .item-text::before {
	content: "";
	width: 1px;
	height: 100%;
	background-color: #ebebeb;
	position: absolute;
	top: 0;
	left: 0
}

@media screen and (max-width: 768px) {
	.news .news-list__item .item-text::before {
		display: none
	}
}


.index .mv .section-inner {
	position: relative;
	padding: 45px 0 40px;
}

@media screen and (max-width: 768px) {
	.index .mv .section-inner {
		padding: 30px 0 0;
	}
}

.index .mv .mv-inner {
	width: 430px;
}

@media screen and (max-width: 768px) {
	.index .mv .mv-inner {
		width: 100%;
	}
}

.index .mv .mv-title {
	margin-bottom: 35px;
}

@media screen and (max-width: 768px) {
	.index .mv .mv-title {
		margin-bottom: 15px;
	}
}

.index .mv .mv-title-copy {
	font-size: 3rem;
	line-height: 1.5;
	text-align: center;
	letter-spacing: 0.02em;
	font-weight: 700;
	border-bottom: 3px solid #000;
	margin-bottom: 15px;
	padding-bottom: 10px;
}

@media screen and (max-width: 768px) {
	.index .mv .mv-title-copy {
		font-size: 2rem;
		letter-spacing: 0em;
		border-width: 2px;
		margin-bottom: 16px;
	}
}

.index .mv .mv-title-heading span {
	display: block;
	font-size: 2rem;
	line-height: 1.5em;
	text-align: center;
	letter-spacing: 0.02em;
	font-weight: 700;
	margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
	.index .mv .mv-title-heading span {
		font-size: 1.6rem;
		line-height: 1em;
		letter-spacing: 0em;
		margin-bottom: 23px;
	}
}

.index .mv .mv-title-heading div {
	width: 368px;
	margin: 0 auto;
}

@media screen and (max-width: 768px) {
	.index .mv .mv-title-heading div {
		width: 84.1379310345%;
	}
}

.index .mv .mv-title-heading img {
	width: 100%;
}

.index .mv .mv-share {
	/* width: 304px; */
	height: 90px;
	display: flex;
	gap: 20px;
	justify-content: center;
	margin: 0 auto 30px;
}

@media screen and (max-width: 768px) {
	.index .mv .mv-share {
		/* width: 100%; */
		width: 75%;
		margin: 0 auto 15px;
	}
}

.index .mv .mv-share img {
	/* width: 100%; */
	height: 100%;
}

.index .mv .mv-note {
	width: 575px;
}

@media screen and (max-width: 1000px) {
	.index .mv .mv-note {
		width: 100%;
	}
}

.index .mv .mv-note p {
	position: relative;
	color: #4c4c4c;
	font-size: 1rem;
	line-height: 1em;
	letter-spacing: 0.02em;
	z-index: 1;
}

@media screen and (max-width: 768px) {
	.index .mv .mv-note p {
		font-size: 1rem;
		line-height: 1.4em;
		letter-spacing: 0.02em;
	}
}

.index .mv .mv-img img {
	position: absolute;
	right: 0;
	bottom: 15%;
	display: block;
	/* width: 29.7vw; */
	/* max-width: 381px; */
	width: 48.7vw;
	max-width: 560px;
	z-index: 0;
}

@media screen and (max-width: 768px) {
	.index .mv .mv-img img {
		position: static;
		/* width: 62.19vw;
		max-width: 398px; */
		width: 100%;
		display: block;
		margin: 15px auto 0;
	}
}

.index .info.type01 {
	margin: 0;
}

.index .info.type01::before {
	width: 100vw;
	right: 50%;
	transform: translateX(50%);
}

@media screen and (max-width: 768px) {
	.index .info.type01::before {
		margin: 0;
	}
}

@media screen and (max-width: 768px) {
	.index .problem-flow p span {
		font-size: 2.2rem;
	}
}

.index .problem-flow {
	position: relative;
	z-index: 1;
}

.index .problem-person img {
	position: relative;
	display: block;
	width: 325px;
	margin: -230px 0 0 -85px;
	z-index: 0;
}

@media screen and (max-width: 768px) {
	.index .problem-person img {
		width: 50.78vw;
		max-width: 325px;
		margin: -35px auto 0;
	}
}


.index .reason .index-belt-title.type01 {
	position: relative;
	padding: 50px 0;
}

@media screen and (max-width: 768px) {
	.index .reason .index-belt-title.type01 {
		padding: 28px 15px 23px;
	}
}

/* .index .reason .index-belt-title.type01::before {
	content: '';
	position: absolute;
	left: calc(50% - 275px);
	bottom: 0;
	width: 352px;
	height: 271px;
	background: url(../img/index/reason_img01.png) no-repeat center/cover;
	transform: translateX(-50%);
	z-index: 0;
}
@media screen and (max-width: 768px) {
	.index .reason .index-belt-title.type01::before {
		left: calc(50% - 100px);
		width: 192px;
		height: 170px;
		background: url(../img/index/reason_img02.png) no-repeat center/cover;
	}
} */

.index .reason .index-belt-title.type01 p,
.index .reason .index-belt-title.type01 h2 {
	position: relative;
	z-index: 2;
}


.index .task .index-belt-title.type01 {
	position: relative;
	/* padding: 50px calc(50vw - 38%) 50px calc(50vw - 62%); */
}

@media screen and (max-width: 768px) {
	.index .task .index-belt-title.type01 {
		padding: 28px 15px 23px;
	}
}

/* .index .task .index-belt-title.type01::before {
	content: '';
	position: absolute;
	left: calc(50% + 485px);
	bottom: 0;
	width: 317px;
	height: 303px;
	background: url(../img/index/task_img01.png) no-repeat center/cover;
	transform: translateX(-50%);
	z-index: 0;
}
@media screen and (max-width: 768px) {
	.index .task .index-belt-title.type01::before {
		left: calc(50% + 110px);
		width: 173px;
		height: 214px;
		background: url(../img/index/task_img02.png) no-repeat center/cover;
	}
} */

.index .task .index-belt-title.type01 p,
.index .task .index-belt-title.type01 h2 {
	position: relative;
	z-index: 2;
}

.index .lineup {
	margin: 0 calc(50% - 50vw) 125px;
	padding: 45px calc(50vw - 50%) 50px;
	background-color: #EFDAE3;
}

.lineup-inner {
	max-width: 725px;
	margin: 0 auto;
}

.lineup-title {
	font-size: 3.2rem;
	font-weight: bold;
	margin-bottom: 35px;
	text-align: center;
	line-height: 1.4;
}

.lineup-title span {
	color: #C40161;
	font-weight: bold;
}

.lineup-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 55px;
}

.lineup-item {
	background: #fff;
	padding: 23px 13px 30px;
}

.tags {
	display: flex;
	flex-wrap: wrap;
}

.tags span {
	margin-right: 10px;
	padding: 8px 10px;
	color: #C40161;
	background: #EFDAE3;
	font-size: 14px;
	font-weight: bold;
}

.lineup-logo {
	display: block;
	text-align: center;
	margin: 5px auto;
}

.lineup-logo img {
	max-width: 100%;
}

.lineup-text {
	display: block;
	font-size: 14px;
	padding: 0 12px;
	line-height: 1.5;
}

.lineup-btn {
	position: relative;
	display: block;
	max-width: 228px;
	width: 100%;
	text-align: center;
	padding: 6px 30px;
	border-radius: 999px;
	background-color: #c40161;
	margin: 20px auto 0;
	transition: opacity 0.3s;
}

.lineup-btn::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5.5px 0 5.5px 6px;
	border-color: transparent transparent transparent #fff;
	position: absolute;
	right: 30px;
	top: 0;
	bottom: 0;
	margin: auto;
}

.lineup-btn:hover {
	opacity: 0.7;
}

.lineup-btn span {
	color: #fff;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1em;
	display: inline-block;
	padding-bottom: 1px;
}

.button-wrap.button-border.cta {
	margin-top: 62px;
}

.button-wrap.button-border.cta a {
	width: 360px;
	border-color: #C40161;
}

.button-wrap.button-border.cta a::after {
	border-left-color: #C40161;
	border-width: 6px 0 6px 8px;
}

.button-wrap.button-border.cta a span {
	font-size: 1.6rem;
	font-weight: bold;
	color: #C40161;
}


@media screen and (max-width: 768px) {
	.index .lineup {
		margin-bottom: 80px;
	}

	.lineup-title {
		font-size: 2.4rem;
	}

	.lineup-list {
		gap: 20px;
	}
}

.index .reason .reason-content {
	position: relative;
	z-index: 0;
}

.index .reason .reason-content::before {
	content: "";
	top: 0;
	width: 100dvw;
	height: 100%;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	background: #FFF5F9 url(../img/common/bg_content_pc.png) center top repeat-y;
	background-size: 100%;
	z-index: -1;
}

.index .reason .reason-content-inner {
	padding-block: 102px 130px;
	padding-inline: 15px;
	border-left: 1px solid #ebebeb;
	border-right: 1px solid #ebebeb;
}

.index .reason .reason-content-inner::before {
	content: "";
	width: 1px;
	height: 100%;
	background-color: #ebebeb;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
}

@media screen and (max-width: 768px) {
	.index .reason .reason-content {
		margin-inline: -15px;
		background-image: none;
	}

	.index .reason .reason-content-inner {
		padding: 60px 15px;
	}
}

/* hdiバナー */
.quality {
	padding-top: 90px;
	position: relative;
}

@media screen and (max-width: 768px) {
	.quality {
		padding-top: 30px;
	}
}

.quality .quality-banner {
	display: flex;
	align-items: center;
	gap: 20px 38px;
	max-width: 930px;
	width: 100%;
	padding: 40px;
	border: 1px solid #C40161;
	margin-inline: auto;
	background-color: #fff5f9;
}

@media screen and (max-width: 768px) {
	.quality .quality-banner {
		flex-direction: column;
		max-width: none;
		padding: 20px 20px 30px;
	}
}

.quality .quality-banner-img {
	width: 220px;
}

@media screen and (max-width: 768px) {
	.quality .quality-banner-img {
		width: 179px;
	}
}

.quality .quality-banner-desc {
	flex: 1;
}

.quality .quality-banner-text {
	font-size: 16px;
	letter-spacing: 0.04em;
	line-height: 1.6;
}

@media screen and (max-width: 768px) {
	.quality .quality-banner-text {
		font-size: 14px;
	}
}

.quality .quality-banner-text strong {
	font-weight: bold;
}

.quality .quality-banner-text sup {
	font-size: 0.5em;
	vertical-align: text-top;
}

.quality .quality-banner-note {
	font-size: 10px;
	margin-top: 20px;
	letter-spacing: 0.04em;
	line-height: 1.3;
}

@media screen and (max-width: 768px) {
	.quality .quality-banner-note {
		margin-top: 10px;
	}
}

.reason-item {
	background: #fff;
	border-radius: 10px;
	padding: 45px 20px 30px;
	position: relative;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.reason-item+.reason-item {
		margin-top: 50px;
	}
}

.reason-item-number {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -40%);
	width: 70px;
	height: 68px;
}

.reason-item-title {
	font-size: 1.8rem;
	font-weight: bold;
	color: #C40161;
	line-height: 1.45;
	margin-bottom: 10px;
	display: block;
}

.reason-item-text {
	font-size: 1.3rem;
	line-height: 1.5;
}


@media screen and (min-width: 769px) {
	.reason-list {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 84px 42px;
		max-width: 930px;
		margin: 0 auto;
	}

	.reason-item {
		padding: 60px 25px 45px;
	}

	.reason-item-number {
		font-size: 2.4rem;
		width: 86px;
		height: 84px;
		transform: translate(-50%, -50%);
	}

	.reason-item-title {
		font-size: 2.4rem;
	}

	.reason-item-text {
		font-size: 1.6rem;
	}
}

/* 2026.6.29追加 WA1ST_SIDE3_TASK-641 */
.cta-link {
	margin-top: 1em;
	text-align: center;
}

.cta-link a {
	text-decoration: underline;
	font-size: 1.3rem;
	text-underline-offset: 3px;
	font-weight: 600;
}

.cta-link a:hover {
	text-decoration: none;
}

.cta-link.-white a {
	color: #fff;
}


@media screen and (max-width: 768px) {
	.cta-link {
		margin-top: 1em;
	}

	.cta-link a {
		font-size: 1.2rem;
	}
}