@charset "UTF-8";
@import "/datarecovery/include/css/common.sp.css";

/* ---------------------------------------------------------
	CSS Document visual
--------------------------------------------------------- */

#visualbg {
	position: relative;
	z-index: 0;
}

#visualbg figure {
	width: 100%;
	height: 90vw;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}

#visualbg img {
	max-width: 400%;
	height: 94vw;
	transform: translateX(-50%);
	position: absolute;
	top: 0;
	left: 50%;
	z-index: -1;
}

#visual {
	padding: 8vw 0 2vw;
	color: #fff;
	position: relative;
	z-index: 0;
}

#visual .bg {
	width: 96vw;
	height: 35vw;
	position: absolute;
	top: 10%;
	left: 2vw;
	z-index: -1;
}

#visual h2 {
	margin-bottom: 2vw;
	font-weight: 800;
	font-size: 5.5vw;
	line-height: 1.6;
}

#visual h2 .ko {
	display: block;
	font-size: 9vw;
	color: #dc2a2b;
}

#visual p {
	margin: 0 5vw 8vw 5vw;
	font-size: 3.5vw;
	line-height: 1.6;
	word-break: keep-all;
}

#visual figure img {
	height: 17.59573333333333vw;
}

/* ---------------------------------------------------------
	CSS Document anchor
--------------------------------------------------------- */

#anchor {
	width: 100%;
	height: 25vw;
	padding-top: 3vw;
	background: #000;
	color: #fff;
	position: sticky;
	top: 59px;
	left: 0;
	z-index: 8;
}

#anchor ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

#anchor ul li {
	margin: 0 3vw 1.5vw;
	font-size: 3vw;
	line-height: 1.2;
}

#anchor ul li a {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	height: 7.5vw;
	padding-bottom: 1vw;
	border-bottom: solid 1px rgba(255, 255, 255, 0.6);
	text-decoration: none;
	font-weight: 600;
	color: #fff;
}

/* ---------------------------------------------------------
	CSS Document layout
--------------------------------------------------------- */

.wrapper {
	overflow: hidden;
}

.target {
	margin-top: calc(-60px - 24.5vw);
	padding-top: calc(60px + 24.5vw);
}

#bread {
	margin-bottom: 0;
}

/* ---------------------------------------------------------
	CSS Document guide
--------------------------------------------------------- */

#failure .bg {
	padding: 8vw 5vw 10vw;
	background: #efefef;
}

#failure h2 {
	margin-bottom: 4vw;
	font-weight: 800;
	font-size: 6vw;
}

#failure .nth1 {
	margin-bottom: 6vw;
	line-height: 1.7;
}

#failure .section {
	margin-bottom: 5vw;
	padding: 0 5vw 5vw;
	border-radius: 10px;
	background: #fff;
	position: relative;
}

#failure .num {
	display: inline-block;
	vertical-align: top;
	width: 60vw;
	margin-bottom: 4vw;
	border-radius: 0 0 5px 5px;
	background: #723e70;
	text-align: center;
	font-weight: 600;
	line-height: 8vw;
	color: #fff;
}

#failure .lv2 .num {
	background: #31428a;
}

#failure .section p {
	margin-bottom: 2vw;
	font-weight: 600;
	font-size: 4vw;
}

#failure li {
	margin-left: 1.5em;
	text-align: left;
	list-style: disc;
	line-height: 1.7;
	word-break: keep-all;
}

/* ---------------------------------------------------------
	CSS Document device
--------------------------------------------------------- */

#device .bg {
	padding: 8vw 5vw 10vw;
}

#device h2 {
	margin-bottom: 4vw;
	font-weight: 800;
	font-size: 6vw;
	word-break: keep-all;
}

#device .nth1 {
	margin-bottom: 8vw;
	line-height: 1.6;
	word-break: keep-all;
}

#device ul {
	padding: 5vw;
	border-radius: 10px;
	border: solid 1px #31428a;
	text-align: left;
}

#device li span {
	font-weight: 600;
}

#device li {
	margin: 0.5em 0;
	margin-left: 1.1em;
	text-align: left;
	list-style: disc;
	word-break: keep-all;
}

/* ---------------------------------------------------------
	CSS Document flow
--------------------------------------------------------- */

#flow .bg {
	padding: 8vw 5vw 10vw;
	background: #ece8fe;
}

#flow h2 {
	margin-bottom: 4vw;
	font-weight: 800;
	font-size: 6vw;
}

#flow .copy {
	margin-bottom: 6vw;
	text-align: left;
}

#flow .flex {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

#flow .section {
	width: 49%;
	overflow: hidden;
	margin-bottom: 2%;
	border-radius: 10px;
	border: solid 1px #723e70;
	background: #f7f7f7;
	position: relative;
}

#flow .num {
	width: 10vw;
	height: 10vw;
	background: rgba(0, 0, 0, 0.5);
	text-align: center;
	font-weight: 600;
	font-size: 6vw;
	line-height: 10vw;
	color: #fff;
	position: absolute;
	top: 0;
	left: 0;
}

#flow figure img {
	height: 34.71361111111111vw;
}

#flow .section p {
	padding: 3vw;
	font-size: 3vw;
	line-height: 1.5;
}

/* ---------------------------------------------------------
	CSS Document result
--------------------------------------------------------- */

#result {
	padding: 5vw 5vw 15vw;
	background: #e5f4f8;
}

#result p.nth2 {
	padding: 20vw 0;
	background: url(../images/result_bg.png) no-repeat center / auto 100%;
}

#result dl {
	margin-top: 5vw;
	border-radius: 10px;
	border: solid 1px #3c3c3c;
	background: #fff;
	position: relative;
}

#result dl.result_01,
#result dl.result_04 {
	border-color: #31428a;
}

#result dt img {
	height: 49.6416vw;
	border-radius: 10px;
}

#result dd {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 15vw;
	border-radius: 0 0 10px 10px;
	line-height: 1.5;
	color: #fff;
}

#result .result_01 dd,
#result .result_04 dd {
	background: rgba(0, 147, 188, 0.8);
}

#result .result_02 dd,
#result .result_03 dd {
	background: rgba(0, 0, 0, 0.8);
}

#result dd img {
	height: 30vw;
	position: absolute;
	top: -2vw;
	left: -2vw;
}

/* ---------------------------------------------------------
	CSS Document technology
--------------------------------------------------------- */

#technology .bg {
	padding: 8vw 5vw 5vw;
	background: #efefef;
}

#technology h2 {
	margin-bottom: 5vw;
	font-weight: 800;
	font-size: 6vw;
}

#technology .container {
	margin-bottom: 10vw;
}

#technology p.nth1 {
	margin-bottom: 5vw;
	text-align: left;
}

#technology .nth1 i {
	display: block;
	width: 100px;
	height: 34px;
	margin: 0 auto 3vw;
	border-radius: 34px;
	background: #31428a;
	text-align: center;
	font-weight: 600;
	font-size: 20px;
	line-height: 34px;
	color: #fff;
}

#technology .section {
	overflow: hidden;
	margin-bottom: 5vw;
	border-radius: 10px;
	border: solid 1px #723e70;
	background: #fff;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
	position: relative;
}

#technology .section.lv2 {
	margin-bottom: 15px;
	border: solid 1px #4e4e4f;
}

#technology .section.lv3 {
	border: solid 1px #4e4e4f;
}

#technology .section.lv5 {
	border: solid 1px #4e4e4f;
}

#technology dt {
	padding: 5vw;
	background: #723e70;
	font-weight: 600;
	font-size: 3.5vw;
	line-height: 1.5;
	word-break: keep-all;
	color: #fff;
}

#technology .lv2 dt,
#technology .lv3 dt,
#technology .lv5 dt {
	background: #4e4e4f;
}

#technology .lv1 img {
	height: 83.34986666666667vw;
}

#technology .lv2 img {
	height: 38.4792vw;
}

#technology .lv3 img {
	height: 29.9792vw;
}

#technology .lv4 img {
	height: 83.21253333333333vw;
}

#technology .lv5 img {
	height: 83.21253333333333vw;
}

/* ---------------------------------------------------------
	CSS Document price
--------------------------------------------------------- */

#price .bg {
	padding: 8vw 5vw 10vw;
}

#price h2 {
	margin-bottom: 4vw;
	font-weight: 800;
	font-size: 6vw;
}

#price .nth1 {
	margin-bottom: 6vw;
	line-height: 1.7;
}

#price .nth1 strong {
	font-weight: 600;
}

#price .section {
	margin-bottom: 5vw;
	padding: 0 5vw 5vw;
	border-radius: 10px;
	border: solid 1px #efefef;
	background: #f7f7f7;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

#price .section .dt {
	margin-bottom: 1vw;
	font-weight: 600;
	font-size: 5vw;
	line-height: 1.4;
}

#price .section .dt span {
	display: block;
	width: 25vw;
	margin: 0 auto 4vw;
	border-radius: 0 0 5px 5px;
	background: #ff9902;
	text-align: center;
	font-size: 4vw;
	line-height: 8vw;
	color: #fff;
}

#price .section.lv2 .dt span {
	background: #ff6602;
}

#price .section.lv3 .dt span {
	background: #db3154;
}

#price .price {
	margin-bottom: 5vw;
	font-weight: 800;
	font-size: 5vw;
	line-height: 1;
	color: #0559aa;
}

#price ol {
	padding-top: 5vw;
	border-top: solid 1px #ccc;
	text-align: left;
	font-weight: 600;
}

#price li {
	margin-bottom: 0.5em;
	margin-left: 1.5em;
	list-style: disc;
}

/* ---------------------------------------------------------
	CSS Document case
--------------------------------------------------------- */

#case .bg {
	padding: 8vw 5vw 15vw;
	background: #e3f3ff;
}

#case h2 {
	margin-bottom: 4vw;
	font-weight: 800;
	font-size: 6vw;
}

#case p.nth1 {
	margin-bottom: 4vw;
}

#case li a {
	display: inline-block;
	vertical-align: top;
	width: 45vw;
	border-radius: 5px;
	border: solid 1px #333;
	text-decoration: none;
	font-weight: 600;
	font-size: 3vw;
	line-height: 9vw;
	color: #000;
}

#case li a:after {
	display: inline-block;
	vertical-align: 0.01em;
	content: '';
	width: 6px;
	height: 6px;
	margin: 0 -0.3em 0 0.5em;
	border-top: solid 2px #333;
	border-right: solid 2px #333;
	transform: rotate(45deg);
}

#case .section {
	display: block;
	width: 100%;
	overflow: hidden;
	margin: 10vw auto 0;
}

#case .section h3 {
	margin-bottom: 20px;
	border-radius: 10vw;
	background: #ff9900;
	font-weight: 600;
	font-size: 4vw;
	line-height: 10vw;
	color: #fff;
	position: relative;
}

#case .section:first-child h3 {
	background: #0559aa;
}

#case .section:last-child h3 {
	background: #ff6602;
}

#case .section h3:before {
	content: '';
	width: 0;
	height: 0;
	border: solid 10px transparent;
	border-top: solid 16px #ff9902;
	transform: translateX(-50%);
	position: absolute;
	left: 50%;
	bottom: -25px;
}

#case .section:first-child h3:before {
	border-top: solid 16px #0559aa;
}

#case .section:last-child h3:before {
	border-top: solid 16px #ff6602;
}

#case .section dl {
	padding-top: 5vw;
	border: solid 1px #ff9902;
	overflow: hidden;
	border-radius: 10px;
	background: #fff;
}

#case .section:first-child dl {
	border: solid 1px #0559aa;
}

#case .section:last-child dl {
	border: solid 1px #ff6602;
}

#case .section dt {
	font-weight: 600;
	font-size: 3.5vw;
	line-height: 1.5;
}

#case .section dt img {
	height: 150px;
}

#case .section dd {
	border-top: solid 1px #ff9902;
}

#case .section:first-child dd {
	border-top: solid 1px #0559aa;
}

#case .section:last-child dd {
	border-top: solid 1px #ff6602;
}

#case .section dd img {
	height: 47.6416vw;
}
