@charset "utf-8";
/*
///////////////////////////////////////////////////////////////////////////////////
//
//  レイアウトCSS設定
//
///////////////////////////////////////////////////////////////////////////////////
/*
/* [01.KV]
/* [02.CONTENTS]
/* [03.CONTACT]
/* [04.TOBIRA]
/* [05.UNDER-PAGE]
/*
///////////////////////////////////////////////////////////////////////////////////
/*
/* [01.KV]
--------------------------------------------------------------------------*/
@-ms-viewport {
	width: device-width;
}
@viewport {
	width: device-width;
}
#main-visual {
	display: block;
	width: 100%;
	height: auto;
	background: #FDF8FA;
	padding-top: 70px;
}
#main-visual .wrap {
	width: 100%;
	max-width: 1460px;
	height: auto;
	margin: 0 auto;
}
.main-inner {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	position: relative;
}
.main-inner .txt-box {
	padding: 30px 20px 0;
	width: 100%;
	max-width: 640px;
	margin: 0 auto;
	z-index: 10;
	opacity: 0;
	animation: fadeUpIn 3s cubic-bezier(0.19, 1, 0.22, 1) forwards;
	animation-delay: 0.2s;
}
@keyframes fadeUpIn {
	0% {
		opacity: 0;
		transform: translateY(30px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}
.main-inner .txt-box .ttl {
	text-align: center;
}
.main-inner .txt-box .ttl h2 {
	color: #EF6079;
	font-size: 30px;
	line-height: 110%;
	font-weight: 600;
	position: relative;
	padding: 10px 10px 16px;
	margin-bottom: 30px;
}
.main-inner .txt-box .ttl h2 span {
	font-size: 20px;
}
.main-inner .txt-box .ttl h2:before,
.main-inner .txt-box .ttl h2:after {
	position: absolute;
	top: -3px;
	width: 70px;
	height: 100%;
	content: "";
	border-top: solid 4px;
	border-bottom: solid 4px;
}
.main-inner .txt-box .ttl h2:before {
	border-left: solid 4px;
	left: 0;
}
.main-inner .txt-box .ttl h2:after {
	border-right: solid 4px;
	right: 0;
}
.main-inner .txt-box .kv-logo {
	width: 100%;
	max-width: 270px;
	margin: 0 auto 20px;
}
.main-inner .txt-box .dsp-box {
	font-size: 15px;
	margin-bottom: 20px;
}
#main-visual .wrap .bg-img-box {
	width: 100%;
	max-width: 1460px;
	height: auto;
}
#main-visual img {
	width: 100%;
	height: auto;
}
.kv-point-li {
	width: 100%;
	max-width: 600px;
	height: auto;
	margin: 0 auto;
}
.kv-point-li li {
	width: 100%;
	margin-bottom: 5px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0px 2px 4px rgba(0,0,0,0.1);
	padding: 15px;
}
.kv-point-li li .visual {
	width: 15%;
	height: auto;
}
.kv-point-li li .box {
	width: 80%;
}
.kv-point-li li .box .big {
	font-size: 18px;
	line-height: 140%;
	font-weight: 900;
	letter-spacing: 0;
	color: #EF6079;
	margin-bottom: 2px;
}
.kv-point-li li .box .dsp {
	font-size: 13px;
	line-height: 140%;
}
.sophiamedi-info-pc {
	display: none;
}
.main-img-wrap {
	position: relative;
}
.sophiamedi-info-sp {
	position: absolute;
	width: 100%;
	max-width: 640px;
	padding: 0 20px;
	left: 0;
	right: 0;
	bottom: 20px;
	margin: 0 auto;
}
.sophiamedi-info-sp .inner {
	background: #fff;
	border-radius: 6px;
	padding: 15px;
}
.sophiamedi-info-sp .inner .s-logo {
	width: 55%;
	margin: 0 auto 5px;
}
.sophiamedi-info-sp .inner .s-txt {
	width: 100%;
	font-size: 11px;
	line-height: 120%;
}
@media (min-width:768px) {
	#main-visual {
		padding-top: 90px;
	}
	.main-inner .txt-box .ttl h2 {
		font-size: 50px;
		padding: 21px 20px 26px;
	}
	.main-inner .txt-box .ttl h2 span {
		font-size: 40px;
	}
	.kv-point-li {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		width: 100%;
		height: auto;
		margin-bottom: 20px;
	}
	.kv-point-li li {
		width: 32%;
		margin-right: 2%;
	}
	.kv-point-li li:last-child,
	.kv-point-li li:nth-child(3n) {
		margin-right: 0;
	}
	.kv-point-li li .visual {
		width: 60%;
		max-width: 85px;
		margin: 0 auto 10px;
	}
	.kv-point-li li .box {
		width: 100%;
		text-align: center;
	}
	.kv-point-li li .box .big {
		line-height: 120%;
		margin-bottom: 5px;
	}
	.kv-point-li li .box .dsn-pc {
		display: block;
	}
}
@media (min-width:1020px) {
	.main-inner {
		padding: 0 40px;
	}
	.main-inner .txt-box {
		width: 100%;
		max-width: 600px;
		padding: 40px 0 0;
		margin: 0;
		position: absolute;
	}
	.sophiamedi-info-sp {
		display: none;
	}
	.sophiamedi-info-pc {
		display: block;
	}
	#main-visual .wrap .bg-img-box img {
		width: 100%;
		height: 806px;
		object-fit: cover; /* 画像が歪まないように余分な部分をトリミング */
		object-position: center; /* 画像のどの部分を中心にするか */
	}
	.sophiamedi-info-pc {
		width: 100%;
		max-width: 600px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		padding: 15px;
		background: #fff;
		border-radius: 6px;
	}
	.sophiamedi-info-pc .s-txt {
		width: 57%;
		font-size: 11px;
		line-height: 140%;
		padding-right: 15px;
		letter-spacing: 0;
	}
	.sophiamedi-info-pc .s-logo {
		width: 43%;
	}
}
/* [02.CONTENT]
--------------------------------------------------------------------------*/
.introduce-wrap {
	width: 100%;
	max-width: 1240px;
	padding: 60px 20px 0px;
	margin: 0 auto;
}
.introduce-ttl {
	text-align: center;
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 10px;
}
.introduce-li {
	width: 100%;
	height: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}
.introduce-li li {
	width: 33%;
	margin-right: 0.5%;
}
.introduce-li li:last-child,
.introduce-li li:nth-child(3n) {
	margin-right: 0;
}
.introduce-li li img {
	width: 100%;
	height: auto;
}
@media (min-width:768px) {
	.introduce-ttl {
		margin-bottom: 20px;
	}
	.introduce-li li {
		width: 20%;
		margin-right: 0;
	}
}
@media (min-width:1020px) {
	.introduce-li li,
	.introduce-li li:nth-child(3n) {
		width:13%;
		margin-right: 1.5%;
	}
	.introduce-li li:last-child,
	.introduce-li li:nth-child(7n) {
		margin-right: 0;
	}
}
.worries-wrap {
	width: 100%;
	max-width: 1240px;
	padding: 60px 20px 30px;
	margin: 0 auto;
}
.worries-catch {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	max-width: 700px;
	height: auto;
	padding-bottom: 20px;
	border-bottom: 1px solid #EF6079;
	position: relative;
	margin: 0 auto 30px;
}
.worries-catch:before {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	width: 32px;
	height: 16px;
	background-color: #EF6079;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	left: 0;
	right: 0;
	bottom: -16px;
	margin: 0 auto;
}
.worries-catch .catch {
	width: 80%;
	padding-right: 10px;
}
.worries-catch .img-box {
	width: 20%;
}
.worries-catch .img-box img {
	width: 100%;
	height: auto;
}
.worries-catch .catch h2 {
	font-size: 18px;
	line-height: 200%;
	font-weight: 500;
}
.worries-catch .catch .hosoku {
	display: block;
	font-size: 12px;
	line-height: 120%;
}
.red-col {
	color: #EF6079;
}
.fs-big {
	font-size: 42px;
}
@media (min-width:768px) {
	.worries-catch .catch {
		width: 86%;
	}
	.worries-catch .img-box {
		width: 14%;
	}
	.worries-catch .catch h2 {
		font-size: 40px;
		line-height: 140%;
	}
	.worries-catch .catch h2 .fs-big {
		font-size: 60px;
	}
	.worries-catch .catch .hosoku {
		display: inline-block;
		
	}
}
@media (min-width:1020px) {
	.worries-wrap {
		padding: 80px 20px 60px
	}
}
.trouble-ttl {
	font-size: 26px;
	font-weight: 500;
	text-align: center;
	margin-bottom: 20px;
}
.trouble-li {
	width: 100%;
	max-width: 880px;
	position: relative;
	padding-bottom: 60px;
	margin: 0 auto 20px;
}
.trouble-li:before {
	content: "";
	position: absolute;
	width: 40px;
	height: 40px;
	border-top: 5px solid #EF6079;
	border-right: 5px solid #EF6079;
	transform: rotate(135deg); /* 下向きに回転させる */
	left: 0;
	right: 0;
	bottom: 10px;
	margin: 0 auto;
}
.trouble-li li {
	width: 100%;
	height: auto;
	padding: 15px;
	border-radius: 10px;
	border: 1px solid #CCC;
	margin-bottom: 10px;
}
.trouble-li li:last-child {
	margin-bottom: 0;
}
.trouble-li li .ttl {
	text-align: center;
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 8px;
}
.trouble-li li .box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	height: auto;
}
.trouble-li li .box .img-box {
	width: 23%;
}
.trouble-li li .box .txt {
	width: 72%;
}
.trouble-li li .box .img-box img {
	width: 100%;
	height: auto;
}
.solution-catch {
	text-align: center;
}
.solution-catch .dsp {
	font-size: 18px;
	line-height: 140%;
	margin-bottom: 5px;
}
.solution-catch .catch {
	font-size: 20px;
	line-height: 160%;
}
.solution-catch .catch .fs-big {
	font-size: 30px;
}
@media (min-width:768px) {
	.trouble-ttl .dsn-sp {
		display: none;
	}
	.trouble-li {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.trouble-li li {
		width: 32%;
		height: auto;
		margin-bottom: 0;
		padding: 20px;
	}
	.trouble-li li .box .img-box {
		width: 100%;
		text-align: center;
		margin-bottom: 8px;
	}
	.trouble-li li .box .img-box img {
		max-width: 105px;
		height: auto;
	}
	.trouble-li li .box .txt {
		width: 100%;
	}
	.solution-catch .catch {
		line-height: 200%;
	}
	.solution-catch .dsp,
	.solution-catch .catch {
		font-size: 20px;
	}
	.solution-catch .catch .fs-big {
		font-size: 40px;
	}
}
@media (min-width:1020px) {
	.trouble-ttl {
		font-size: 30px;
	}
	.trouble-li li {
		border-radius: 20px;
		padding: 30px;
	}
	.trouble-li li .box .img-box img {
		max-width: 140px;
	}
	.solution-catch .dsp,
	.solution-catch .catch {
		font-size: 22px;
	}
}
#product {
	background-image: linear-gradient(180deg, rgba(253, 248, 250, 1), rgba(255, 253, 247, 1) 50%, rgba(255, 255, 255, 1));
	position: relative;
}
#product:before {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	width: 60px;
	height: 30px;
	background-color: #FFF;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	left: 0;
	right: 0;
	top: 0;
	margin: 0 auto;
}
.mirucoms-product {
	width: 100%;
	max-width: 1240px;
	padding: 60px 20px;
	margin: 0 auto;
}
.product-ttl {
	margin-bottom: 20px;
}
.product-ttl .ttl {
	font-size: 22px;
	text-align: center;
	margin-bottom: 20px;
	font-weight: 500;
}
.product-ttl .logo-box {
	width: 100%;
	max-width: 330px;
	margin: 0 auto 20px;
}
.product-ttl .logo-box img {
	width: 100%;
	height: auto;
}
.product-img {
	background: #fff;
	border-radius: 20px;
	padding: 30px 10px;
	box-shadow: 0px 2px 4px rgba(0,0,0,0.1);
}
.product-img .img-box img {
	width: 100%;
	height: auto;
}
.product-img .img-box {
	margin-bottom: 20px;
}
.product-img .catch {
	text-align: center;
	font-size: 20px;
	line-height: 160%;
}
.product-img .catch .fs-big {
	font-size: 30px;
}
@media (min-width:768px) {
	.product-ttl {
		width: 100%;
		max-width: 550px;
		margin: 0 auto 30px;
	}
	.product-ttl .ttl {
		font-size: 32px;
	}
	.product-img {
		max-width: 500px;
		margin: 0 auto;
	}
}
@media (min-width:1020px) {
	.mirucoms-product {
		padding: 80px 20px 80px;
	}
	.product-ttl {
		max-width: 100%;
	}
	.product-ttl .logo-box {
		max-width: 500px;
		margin: 0 auto 30px;
	}
	.product-ttl .dsp {
		text-align: center;
	}
	.product-img {
		max-width: 780px;
		padding: 60px 40px;
	}
	.product-img .img-box {
		width: 100%;
		max-width: 600px;
		margin: 0 auto 30px;
	}
	.product-img .catch {
		font-size: 36px;
	}
	.product-img .catch .fs-big {
		font-size: 46px;
	}
}
.value-conts {
	width: 100%;
	max-width: 1240px;
	padding: 0 20px 60px;
	margin: 0 auto;
}
.brd-ttl-box {
	position: relative;
	padding-top: 60px;
}
.brd-ttl-box:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 2px;
	height: 50px;
	background: #EF6079
}
.value-ttl {
	margin-bottom: 40px;
	text-align: center;
}
.value-ttl .logo-box {
	width: 100%;
	max-width: 180px;
	margin: 0 auto 10px;
}
.value-ttl .logo-box img {
	width: 100%;
	height: auto;
}
.value-ttl .ttl {
	font-size: 40px;
	font-weight: 500;
}
.value-li .wrap {
	width: 100%;
	margin-bottom: 40px;
}
.value-li .wrap:last-child {
	margin-bottom: 0;
}
.value-li .wrap .img-box {
	width: 100%;
	height: auto;
	margin-bottom: 20px;
}
.value-li .wrap .img-box img {
	width: 100%;
	height: auto;
	border-radius: 20px;
	overflow: hidden;
}
.value-li .wrap .txt-box {
	width: 100%;
}
.value-li .wrap .eng {
	font-size: 58px;
	line-height: 100%;
}
.value-li .wrap .txt-box .ttl {
	font-size: 36px;
	font-weight: 600;
	line-height: 140%;
	margin-bottom: 20px;
}
.value-li .wrap .txt-box .dsp {
	margin-bottom: 20px;
}
.value-li .wrap .point-box .icon {
	display: inline-block;
	padding: 6px 10px;
	background: #EF6079;
	color: #fff;
	font-size: 13px;
	line-height: 100%;
	font-weight: 500;
	border-radius: 8px 8px 0 0;
}
.value-li .wrap .check-li {
	background: #fff;
	padding: 10px 20px;
}
.value-li .wrap .check-li li {
	position: relative;
	padding-left: 25px;
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 2px;
}
.value-li .wrap .check-li li:last-child {
	margin-bottom: 0;
}
.value-li .wrap .check-li li:before {
	content: "";
	position: absolute;
	left: 0;
	top: 3px;
	background: url(../images/layouts/value-li-icon.svg) no-repeat;
	width: 18px;
	height: 18px;
}
@media (min-width:768px) {
	.value-li {
		max-width: 500px;
		margin: 0 auto;
	}
}
@media (min-width:1020px) {
	.brd-ttl-box {
		padding-top: 110px;
	}
	.brd-ttl-box:before {
		height: 100px;
	}
	.value-ttl .ttl {
		font-size: 60px;
	}
	.value-li {
		max-width: 100%;
	}
	.value-li .wrap {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		height: auto;
		margin-bottom: 50px;
	}
	.value-li .wrap:nth-child(even) {
		flex-direction: row-reverse;
	}
	.value-li .wrap .img-box {
		width: 42%;
		margin-bottom: 0;
	}
	.value-li .wrap .txt-box {
		width: 55%;
	}
}
.structure-conts {
	width: 100%;
	max-width: 1240px;
	padding: 0 20px 60px;
	margin: 0 auto;
}
.structure-ttl {
	margin-bottom: 20px;
}
.structure-ttl .ttl {
	font-size: 26px;
	text-align: center;
	font-weight: 500;
}
.structure-li {
	width: 100%;
}
.structure-li li {
	padding: 30px;
	border-radius: 20px;
	border: 1px solid #CCC;
	margin-bottom: 10px;
	background: #fff;
	position: relative;
	overflow: hidden;
}
.structure-li .eng {
	display: block;
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 3px;
}
.structure-li .ttl {
	font-size: 24px;
	font-weight: 500;
	text-align: center;
}
.structure-li .img-box {
	width: 100%;
	max-width: 140px;
	margin: 0 auto;
}
.structure-li .img-box img {
	width: 100%;
	height: auto;
}
.structure-li li .notimplemented {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	background-color: rgba(235,235,235, 0.7);
	display: flex;
	align-items: center;
	text-align: center;
}
.structure-li li .notimplemented p {
	font-size: 24px;
	font-weight: 900;
	width: 100%;
	text-align: center;
}
@media (min-width:768px) {
	.structure-ttl .ttl {
		font-size: 32px;
	}
	.structure-ttl .ttl .fs-big {
		font-size: 52px;
	}
	.structure-li {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		width: 100%;
		height: auto;
	}
	.structure-li li {
		width: 49%;
		margin-bottom: 2%;
		height: auto;
	}
}
@media (min-width:1020px) {
	.structure-ttl {
		margin-bottom: 40px;
	}
	.structure-ttl .ttl {
		font-size: 40px;
	}
	.structure-ttl .ttl .fs-big {
		font-size: 70px;
	}
	.structure-li {
		justify-content: flex-start;
	}
	.structure-li li {
		width: 32%;
		margin-right: 2%;
	}
	.structure-li li:nth-child(3n) {
		margin-right: 0;
	}
}
.case-main {
	background: #F7F0F2;
	position: relative;
}
.case-main:before {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	width: 60px;
	height: 30px;
	background-color: #F7F0F2;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	left: 0;
	right: 0;
	bottom: -30px;
	margin: 0 auto;
}
.case-main .wrap {
	width: 100%;
	max-width: 1240px;
	padding: 40px 20px;
	margin: 0 auto;
}
.case-main .icon {
	text-align: center;
	margin-bottom: 10px;
}
.case-main .icon span {
	display: inline-block;
	padding: 6px 20px;
	background: #fff;
	font-weight: 600;
	line-height: 100%;
	border-radius: 16px;
}
.case-main .ttl {
	font-size: 24px;
	line-height: 140%;
	text-align: center;
	font-weight: 500;
	margin-bottom: 20px;
}
.case-main .ttl .fs-big {
	font-size: 32px;
}
@media (min-width:768px) {
	.case-main .ttl .dsn-sp {
		display: none;
	}
	.case-main .dsp {
		text-align: center;
	}
}
@media (min-width:1020px) {
	.case-main .wrap {
		padding: 80px 20px;
	}
	.case-main .ttl {
		font-size: 40px;
	}
	.case-main .ttl .fs-big {
		font-size: 60px;
	}
}
.case-example {
	width: 100%;
	max-width: 1240px;
	padding: 60px 20px;
	margin: 0 auto;
}
.example-catch {
	margin-bottom: 40px;
} 
.example-catch .big {
	font-size: 50px;
	font-weight: 500;
	line-height: 140%;
	text-align: center;
}
.example-catch .txt {
	text-align: center;
	font-size: 28px;
	line-height: 140%;
	margin-bottom: 20px;
}
.example-catch .hosoku {
	font-size: 12px;
	line-height: 160%;
}
.comparison-box {
	position: relative;
}
.comparison-box:before {
	content: "";
	position: absolute;
	display: inline-block;
	width: 262px;
	height: 262px;
	top: -80px;
	right: 0;
	left: 0;
	margin: 0 auto;
	border-radius: 50%;
	background-image: radial-gradient(#DA93AA, #fff);
	filter: blur(50px);
	opacity: 0.3;
	z-index: -1;
}
.comparison-box:after {
	content: "";
	position: absolute;
	display: inline-block;
	width: 110px;
	height: 110px;
	top: 100px;
	left: 0;
	border-radius: 50%;
	background-image: radial-gradient(#FFEF96, #fff);
	filter: blur(50px);
	opacity: 0.3;
	z-index: -1;
}
.comparison-box {
	width: 100%;
	max-width: 800px;
	height: auto;
	margin: 0 auto 30px;
}
.comparison-box img {
	width: 100%;
	height: auto;
}
.result-txt {
	margin-bottom: 20px;
	text-align: center;
	font-weight: 500;
}
.result-txt .txt-01 {
	font-size: 20px;
	line-height: 180%;
	margin-bottom: 10px;
}
.result-txt .txt-02 {
	font-size: 12px;
	line-height: 160%;
	text-align: left;
}
.result-txt .txt-02 .fs-big {
	font-size: 28px;
}
.joint-buy {
	margin-bottom: 40px;
}
.joint-buy .box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	max-width: 740px;
	margin: 0 auto;
	border-top: 1px solid #EEEEEE;
	border-left: 1px solid #EEEEEE;
	font-size: 14px;
	line-height: 140%;
}
.joint-buy .box dt {
	border-right: 1px solid #EEEEEE;
	border-bottom: 1px solid #EEEEEE;
	padding: 15px;
	background: #EEEEEE;
	width: 30%;
	display: flex;
	align-items: center;
	font-weight: 900;
}
.joint-buy .box dd {
	border-right: 1px solid #EEEEEE;
	border-bottom: 1px solid #EEEEEE;
	padding: 15px;
	background: #fff;
	width: 70%;
}
.joint-buy .box dd ul li {
	position: relative;
	padding-left: 25px;
	margin-bottom: 5px;
}
.joint-buy .box dd ul li:before {
	content: "";
	position: absolute;
	left: 0;
	top: 1px;
	background: url(../images/layouts/value-li-icon.svg) no-repeat;
	width: 18px;
	height: 18px;
}
.joint-buy .box dd ul li:last-child {
	margin-bottom: 0;
}
.included-box {
	border: 1px solid #eee;
	border-radius: 10px;
	background: #fff;
	padding: 20px;
	width: 100%;
	max-width: 740px;
	margin: 0 auto 40px;
}
.included-box .ttl {
	font-weight: 900;
	font-size: 22px;
	margin-bottom: 10px;
	text-align: center;
}
.included-li li {
	width: 100%;
	padding: 10px 20px 10px 45px;
	background: #F5FAFD;
	margin-bottom: 2px;
	font-weight: 700;
	position: relative;
}
.included-li li:last-child {
	margin-bottom: 0;
}
.included-li li:before {
	content: "1.";
	position: absolute;
	left: 20px;
	top: 10px;
	color: #EF6079;
	z-index: 1;
}
.included-li li:nth-child(2):before {
	content: "2.";
}
.included-li li:nth-child(3):before {
	content: "3.";
}
.included-li li:nth-child(4):before {
	content: "4.";
}
.included-li li:nth-child(5):before {
	content: "5.";
}
.included-li li:nth-child(6):before {
	content: "6.";
}
@media (min-width:768px) {
	.example-catch .hosoku {
		text-align: center;
	}
	.result-txt .txt-01 .dsn-sp,
	.result-txt .txt-02 .dsn-sp  {
		display: none;
	}
	.joint-buy .box {
		font-size: 16px;
	}
	.included-li {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		width: 100%;
		height: auto;
	}
	.included-li li {
		width: 49.8%;
		margin-bottom: 0.4%;
	}
}
@media (min-width:1020px) {
	.example-catch .big {
		font-size: 70px;
	}
	.example-catch .txt {
		font-size: 38px;
	}
	.comparison-box:before {
		right: 160px;
		left: auto;
		width: 400px;
		height: 400px;
	}
	.comparison-box:after {
		left: 190px;
		width: 200px;
		height: 200px;
		top: 240px;
	}
	.result-txt .txt-01 {
		font-size: 30px;
		margin-bottom: 0;
	}
	.result-txt .txt-01 .fs-big {
		font-size: 50px;
	}
	.result-txt .txt-02 {
		text-align: center;
	}
}
.cv-btn {
	display: block;
	width: 100%;
	max-width: 380px;
	margin: 0 auto;
	color: #fff;
	font-size: 24px;
	font-weight: 900;
	text-align: center;
	background: #EF6079;
	border-radius: 8px;
	border-bottom: 2px solid #C13E55;
	padding: 20px 10px;
}
.user-voice {
	width: 100%;
	max-width: 800px;
	padding: 0 20px 60px;
	margin: 0 auto;
}
.voice-ttl-box {
	background: #F7F0F2;
	padding: 20px;
	border-radius: 10px;
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
	height: auto;
	margin-bottom: 50px;
}
.voice-ttl-box:before {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	width: 60px;
	height: 30px;
	background-color: #F7F0F2;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	left: 0;
	right: 0;
	bottom: -30px;
	margin: 0 auto;
}
.voice-ttl-box .img-box {
	width: 25%;
}
.voice-ttl-box .img-box img {
	width: 100%;
	height: auto;
}
.voice-ttl-box .txt-box {
	width: 65%;
	padding-left: 4%;
	font-size: 15px;
	line-height: 140%;
}
.voice-ttl-box .txt-box .ttl {
	font-size: 30px;
	font-weight: 500;
}
@media (min-width:768px) {
	.voice-ttl-box {
		padding: 30px;
	}
	.voice-ttl-box .img-box {
		width: 18%;
	}
	.voice-ttl-box .txt-box .ttl {
		font-size: 40px;
	}
}
.voice-li {
	width: 100%;
}
.voice-li .wrap {
	width: 100%;
	height: auto;
	padding: 20px;
	border: 1px solid #EEE;
	border-radius: 10px;
	margin-bottom: 10px;
}
.voice-li .wrap .name-box {
	width: 100%;
	height: auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 12px;
}
.voice-li .wrap .name-box .face {
	width: 20%;
	max-width: 60px;
	height: auto;
	border-radius: 30px;
	overflow: hidden;
}
.voice-li .wrap .name-box .face img {
	width: 100%;
	height: auto;
}
.voice-li .wrap .name-box .txt {
	width: 80%;
	padding-left: 10px;
}
.voice-li .wrap .name-box .txt .company {
	font-weight: 900;
	line-height: 120%;
}
.voice-li .wrap .name-box .txt .staff-num {
	font-size: 13px;
	line-break: 120%;
}
.voice-li .wrap .comment {
	margin-bottom: 26px;
}
.voice-li .wrap .effect {
	background: #f8f8f8;
	padding: 25px 20px 20px 20px;
	position: relative;
}
.voice-li .wrap .effect .icon {
	display: inline-block;
	padding: 6px 10px;
	background: #FFF35F;
	position: absolute;
	top: -14px;
	left: 20px;
	line-height: 100%;
	font-size: 15px;
	font-weight: 700;
	border-radius: 14px;
}
.effect-li {
	padding-left: 20px;
}
.effect-li li {
	font-size: 15px;
	list-style: disc;
	line-height: 120%;
	margin-bottom: 5px;
}
.effect-li li:last-child {
	margin-bottom: 0;
}
@media (min-width:768px) {
	.voice-li .wrap {
		padding: 30px;
	}
}
#price {
	width: 100%;
	background: #F7F0F2;
}
.price-wrap {
	width: 100%;
	max-width: 1240px;
	padding: 60px 20px;
	margin: 0 auto;
}
.price-ttl-box {
	margin-bottom: 40px;
}
.price-ttl-box .icon {
	display: block;
	width: 134px;
	height: 46px;
	color: #fff;
	font-weight: 900;
	text-align: center;
	margin: 0 auto 10px;
	background: #EF6079;
	line-height: 44px;
	border-radius: 23px;
}
.price-ttl-box .ttl-wrap {
	text-align: center;
}
.price-ttl-box .ttl {
	display: inline-block;
	font-size: 22px;
	font-weight: 900;
	margin-bottom: 20px;
}
.price-ttl-box .ttl .red-col {
	font-size: 28px;
}
.price-ttl-box .dsp {
	font-weight: 700;
}
.plan-conts {
	width: 100%;
	margin-bottom: 20px;
}
.plan-box {
	width: 100%;
	height: auto;
	margin-bottom: 40px;
	border-radius: 20px;
	background: #fff;
}
.plan-conts .plan-box:last-child {
	margin-bottom: 0;
}
.plan-box .ttl {
	position: relative;
}
.plan-box .ttl .txt {
	padding: 20px 10px;
	text-align: center;
	color: #fff;
	background: #8B8B8B;
	font-size: 24px;
	font-weight: 900;
	border-radius: 20px 20px 0 0;
	overflow: hidden;
	align-items: center;
}
.plan-box .ttl .txt .sml {
	display: block;
	font-size: 15px;
	line-height: 120%;
}
.plan-box .inner {
	padding: 30px;
}
.plan-box .inner .price {
	text-align: center;
	font-weight: 900;
	margin-bottom: 3px;
}
.plan-box .inner .price .eng {
	font-size: 60px;
	color: #3C3C3C;
}
.plan-box .inner .price .unit {
	font-size: 20px;
}
.plan-box .inner .tax {
	text-align: center;
}
.plan-box .function-box {
	margin-top: 15px;
}
.plan-box .function-box .item {
	text-align: center;
	font-weight: 900;
	position: relative;
	padding-bottom: 7px;
	margin-bottom: 15px;
}
.plan-box .function-box .item:before {
	content: "";
	position: absolute;
	width: 20px;
	height: 2px;
	background: #EF6079;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	line-height: 100%;
}
.plan-box .function-box .function-li {
	padding-left: 20px;
}
.plan-box .function-box .function-li li {
	list-style: disc;
	margin-bottom: 8px;
	line-height: 120%;
}
.plan-box .function-box .function-li li::marker {
	color: #EF6079;
}
.plan-box .function-box .function-li li:last-child {
	margin-bottom: 0;
}
.plan-box .ttl .icon {
	position: absolute;
	top: -20px;
	left: 0;
	right: 0;
	margin: 0 auto;
	text-align: center;
}
.plan-box .ttl .can-icon {
	padding: 5px 20px;
	line-height: 140%;
	border-radius: 16px;
	display: inline-block;
	font-size: 15px;
	font-weight: 600;
	text-align: center;
	background: #FFF35F;
	color: #262626;
}
.plan-box .ttl .info-icon {
	padding: 5px 20px;
	line-height: 140%;
	border-radius: 16px;
	display: inline-block;
	font-size: 15px;
	font-weight: 600;
	text-align: center;
	background: #FFF;
	color: #262626;
}
.plan-box.special .txt {
	background: #EF6079;
	border-radius: 10px 10px 0 0;
}
.plan-box.special {
	border: 4px solid #EF6079;
}
.plan-hosoku {
	text-align: center;
	margin-bottom: 40px;
	font-size: 14px;
}
@media (min-width:768px) {
	.price-ttl-box .ttl {
		font-size: 34px;
	}
	.price-ttl-box .ttl .red-col {
		font-size: 58px;
	}
	.price-ttl-box .dsp {
		text-align: center;
	}
	.plan-box .ttl .txt {
		font-size: 18px;
		height: 84px;
	}
	.plan-conts {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		width: 100%;
		height: auto;
	}
	.plan-conts .plan-box {
		width: 32%;
		margin-right: 2%;
		margin-bottom: 0;
	}
	.plan-conts .plan-box:nth-child(3n),
	.plan-conts .plan-box:last-child {
		margin-right: 0;
	}
	.plan-box .inner {
		padding: 25px 20px;
	}
	.plan-box .inner .price .eng {
		font-size: 46px;
	}
}
@media (min-width:1020px) {
	.price-wrap {
		padding: 80px 20px;
	}
	.price-ttl-box .ttl {
		font-size: 40px;
		padding: 0 80px;
		position: relative;
		margin-bottom: 30px;
	}
	.price-ttl-box .ttl:before {
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		width: 58px;
		height: 60px;
		background: url(../images/layouts/price-ttl-left.svg) no-repeat;
	}
	.price-ttl-box .ttl:after {
		content: "";
		position: absolute;
		right: 0;
		bottom: 0;
		width: 58px;
		height: 60px;
		background: url(../images/layouts/price-ttl-right.svg) no-repeat;
	}
	.price-ttl-box .ttl .red-col {
		font-size: 70px;
	}
	.plan-box .ttl .txt {
		font-size: 24px;
		height: auto;
	}
	.plan-box .ttl .txt .sml {
		display: inline-block;
	}
	.plan-box .inner .price .eng {
		font-size: 60px;
	}
	.plan-box .inner {
		padding: 30px;
	}
}
.faq-conts {
	width: 100%;
	max-width: 1240px;
	padding: 60px 20px;
	margin: 0 auto;
}
.faq-conts .ttl {
	font-size: 26px;
	text-align: center;
	font-weight: 500;
	margin-bottom: 30px;
}
/* [FAQ-NAV]
--------------------------------------------------------------------------*/
.facility-btn-wrap {
	width: 100%;
	max-width: 780px;
	margin: 0 auto;
}
.faq-li {
	width: 100%;
	max-width: 940px;
	margin: 0 auto;
}
.faq-li li {
	margin-bottom: 10px;
}
.faq-li .ac_ttl {
	padding: 15px;
	position: relative;
	background-color: #F7F0F2;
	transition: 0.6s ease-in-out;
}
.faq-li .ac_ttl .i_box {
	position: absolute;
	top: 50%;
	right: 15px;
	width: 22px;
	height: 22px;
	margin-top: -10px;
}
.faq-li .ac_ttl .i_box:before,
.faq-li .ac_ttl .i_box:after {
	position: absolute;
	content: "";
	margin: auto;
	vertical-align: middle;
}
.faq-li .ac_ttl .i_box:before {
	border-top: 2px solid #EF6079;
	width: 20px;
	height: 0;
	top: 0;
	bottom: 0;
	right: 0;
}
.faq-li .ac_ttl .i_box:after {
	border-left: 2px solid #EF6079;
	width: 0;
	height: 20px;
	top: 0;
	bottom: 0;
	right: 9px;
	transition: .3s;
}
.faq-li .ac_ttl.open .i_box:after {
	height: 0;
}
.faq-li .ac_inner {
	display: none;
	padding: 15px 0 10px 0;
	background: #fff;
}
.faq-li .ac_txt {
	font-size: 16px;
	line-height: 120%;
	width: 100%;
	font-weight: bold;
	padding: 0 30px 0 25px;
	position: relative;
	display: flex;
	align-items: center;
}
.faq-li .ac_txt:before {
	content: "Q";
	color: #EF6079;
	position: absolute;
	left: 0;
	font-size: 20px;
	line-height: 120%;
}
.faq-li .ac_ttl.open .ac_txt {
	color: #EF6079;
}
@media (min-width:768px) {
	.faq-conts .ttl {
		font-size: 40px;
	}
	.faq-li .ac_ttl {
		padding: 20px 15px;
	}
	.faq-li .ac_txt {
		font-size: 18px;
	}
}
@media (min-width:1020px) {
	.faq-conts {
		padding: 80px 20px 60px;
	}
}
/* [固定ページ]
--------------------------------------------------------------------------*/
.fixd-page {
	margin-top: 70px;
}
.page-ttl-wrap {
	background: #F7F0F2;
}
.page-ttl-wrap .wrap {
	padding: 40px 20px;
	width: 100%;
	max-width: 1240px;
	margin: 0 auto;
}
.page-ttl-wrap .sub-ttl {
	font-weight: 500;
	font-size: 22px;
	line-height: 140%;
	text-align: center;
}
.terms-wrap {
	padding: 40px 20px;
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
}
@media (min-width:768px) {
	.fixd-page {
		margin-top: 90px;
	}
	.page-ttl-wrap .wrap {
		padding: 60px 20px;
	}
	.page-ttl-wrap .sub-ttl {
		font-size: 30px;
	}
}
@media (min-width:1020px) {
	.page-ttl-wrap .sub-ttl {
		font-size: 38px;
	}
	.terms-wrap {
		padding: 60px 20px;
	}
}
/* [03.CONTACT]
--------------------------------------------------------------------------*/
.contact-ttl-wrap {
	background: #F7F0F2;
}
.contact-ttl-wrap .wrap {
	padding: 40px 20px;
	width: 100%;
	max-width: 1240px;
	margin: 0 auto;
}
.contact-ttl-wrap .sub-ttl {
	font-weight: 500;
	font-size: 22px;
	line-height: 140%;
	text-align: center;
}
.contact-inner {
	width: 100%;
	max-width: 980px;
	height: auto;
	padding: 40px 20px 40px;
	margin: 0 auto;
}
.contact-inner .txt-box {
	margin-bottom: 10px;
}
.contact-inner .txt-box .catch {
	font-size: 24px;
	line-height: 140%;
	text-align: center;
	margin-bottom: 20px;
}
.contact-inner .txt-box .dsp {
	margin-bottom: 20px;
}
.contact-inner .txt-box .hosoku {
	font-size: 14px;
	line-height: 140%;
	padding: 20px;
	background: #f8f8f8;
}
#contact-conf {
	margin-top: 70px;
}
#contact-conf-fin {
	padding-top: 120px;
}
@media (min-width:768px) {
	.contact-ttl-wrap .wrap {
		padding: 60px 20px;
	}
	.contact-ttl-wrap .sub-ttl {
		font-size: 30px;
	}
	.contact-inner {
		padding: 40px 20px 50px;
	}
	.contact-inner .txt-box .catch {
		font-size: 34px;
	}
	#contact-conf {
		margin-top: 90px;
	}
}
@media (min-width:1020px) {
	.contact-ttl-wrap .sub-ttl {
		font-size: 38px;
	}
	.contact-inner .txt-box {
		margin-bottom: 10px;
	}
	.contact-inner .txt-box .catch {
		font-size: 40px;
		margin-bottom: 40px;
	}
}
/* [04.TOBIRA]
--------------------------------------------------------------------------*/
.simulation-tobira {
	width: 100%;
	height: 100vh;
	background-image: linear-gradient(180deg, rgba(253, 248, 250, 1), rgba(255, 253, 247, 1) 50%, rgba(255, 255, 255, 1));
}
.tobira-wrap {
	width: 100%;
	max-width: 1240px;
	padding: 30px 20px;
	margin: 0 auto;
}
.tobura-main {
	margin: 0 auto 40px;
}
.tobura-logo {
	width: 100%;
	max-width: 210px;
	margin: 0 auto 20px;
}
.tobura-logo img {
	width: 100%;
	height: auto;
}
.tobura-main .txt {
	font-size: 28px;
	line-height: 140%;
	font-weight: 900;
	text-align: center;
}
.tobira-rink-li {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	height: auto;
	max-width: 1000px;
	margin: 0 auto;
}
.tobira-rink-li li {
	width: 100%;
	max-width: 340px;
	height: auto;
	margin: 0 auto 20px;
}
.tobira-rink-li li a {
	display: block;
	width: 100%;
	height: auto;
	background-image: linear-gradient(0deg, #EF6079, #FF95A7);
	padding: 40px 20px;
	border-radius: 20px;
	border: 4px solid #FFFFFF;
	box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.15);
}
.tobira-rink-li li a .ttl {
	font-size: 38px;
	line-height: 100%;
	color: #fff;
	font-weight: 900;
	text-align: center;
	text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.15);
	margin-bottom: 10px;
}
.tobira-rink-li li a .dsp {
	font-size: 15px;
	line-height: 140%;
	color: #fff;
	font-weight: 900;
	text-align: center;
	text-shadow: 1px 2px 2px rgba(0, 0, 0, 0.15);
	margin-bottom: 10px;
}
.tobira-rink-li li a .go-link {
	width: 100%;
	max-width: 240px;
	margin: 0 auto;
	text-align: center;
	padding: 13px 10px;
	background: #fff;
	border-radius: 24px;
	font-size: 16px;
	font-weight: 900;
	color: #F06D84;
}
.tobira-footer {
	width: 100%;
	max-width: 1240px;
	margin: 0 auto;
	padding: 60px 0 0;
}
.tobira-footer .cp-txt {
	font-size: 12px;
	line-height: 120%;
	text-align: center;
}
@media (min-width:768px) {
	.tobira-wrap {
		padding: 100px 20px;
	}
	.tobura-logo {
		max-width: 250px;
		margin: 0 auto 30px;
	}
	.tobura-main .txt {
		font-size: 32px;
	}
	.tobura-main .txt .dsn-sp {
		display: none;
	}
	.tobira-rink-li li {
		width: 49%;
		max-width: 480px;
		margin: 0;
	}
	.tobira-footer {
		padding: 100px 0 0;
	}
	.tobira-rink-li li a .dsp {
		font-size: 18px;
	}
}
/* [05.UNDER-PAGE]
--------------------------------------------------------------------------*/
#under-main {
	margin-top: 70px;
	background: #F7F0F2;
}
#under-main .inner {
	width: 100%;
	max-width: 1240px;
	padding: 50px 20px;
	margin: 0 auto;
}
#under-main .inner .ttl {
	text-align: center;
	font-size: 20px;
}
.page .inner {
	width: 100%;
	max-width: 940px;
	padding: 40px 20px 60px;
	margin: 0 auto;
}
.terms-box {
	margin-bottom: 30px;
}
.terms-box .ttl {
	font-size: 18px;
	line-height: 140%;
	padding-bottom: 15px;
	border-bottom: 1px solid #3C3C3C;
	margin-bottom: 30px;
}
.num-li {
	padding-left: 20px;
	width: 100%;
	height: auto;
}
.num-li li {
	width: 100%;
	list-style: auto;
	margin-bottom: 20px;
}
.num-li .inner-box p {
	margin-bottom: 6px;
}
.disc-li {
	padding-left: 20px;
	width: 100%;
	height: auto;
}
.disc-li li {
	width: 100%;
	list-style: disc;
	margin-bottom: 6px;
}
.txt-al-right {
	text-align: right;
}
@media (min-width:768px) {
	#under-main {
		margin-top: 90px;
	}
	#under-main .inner .ttl {
		font-size: 24px;
	}
}

/* Retina-specific styles. */
@media print,
(-o-min-device-pixel-ratio: 5/4),
(-webkit-min-device-pixel-ratio: 1.25),
(min-resolution: 120dpi) {
}
@media print {
}

/* Edge */
_:host-context(x)::-ms-clear,


/* IE */
_:-ms-lang(x), 
.logo {
	transition:transform 0.8s;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
}
