@charset "utf-8";

/* -------------------------------------------------
	bg-wrap1
------------------------------------------------- */

@media screen and (max-width:767px) {
	.bg-wrap1 {
		position: relative;
	}
	.bg-wrap1 > div,
	.bg-wrap1 > section {
		position: relative;
		z-index: 6;
	}
	.bg-wrap1::before {
		width: 100%;
		height: calc(1400 / 750 * 100vw);
		background: -moz-linear-gradient(top, #fff, #d9e9fc);
		background: -webkit-linear-gradient(top, #fff, #d9e9fc);
		background: linear-gradient(to bottom, #fff, #d9e9fc);
		position: absolute;
		left: 0;
		bottom: 0;
		z-index: 2;
		display: block;
		content: "";
	}
	.bg-wrap1::after {
		width: calc(734 / 750 * 100vw);
		height: calc(80 / 750 * 100vw);
		position: absolute;
		left: 50%;
		bottom: 0;
		z-index: 2;
		display: block;
		content: "";
		background: url(../img/logo_10.svg) no-repeat center bottom / 100% auto;
		transform: translateX(-50%);
	}
}

/* -------------------------------------------------
	lead-block
------------------------------------------------- */

#lead-block {
	margin-top: 70px;
}
#lead-block .lead {
	font-size: 16px;
	line-height: 1.75;
}
#lead-block ul {
	margin-top: 50px;
	display: flex;
	justify-content: center;
}
#lead-block ul li {
	width: 270px;
	height: 270px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	background: url(../img/comparison/bg_02.svg) no-repeat 0 0 / 100% auto;
}
#lead-block ul li + li {
	margin-left: 80px;
}
#lead-block ul li .text1 {
	font-size: 17px;
	font-weight: 700;
	line-height: 1.5;
	color: #2f50aa;
}
#lead-block ul li .text2 {
	margin-top: 0.4em;
	font-size: 24px;
	font-weight: 700;
	color: #e40012;
}

@media screen and (max-width:767px) {
	#lead-block {
		margin-top: calc(50 / 750 * 100vw);
	}
	#lead-block .lead {
		font-size: calc(32 / 750 * 100vw);
	}
	#lead-block ul {
		margin-top: calc(50 / 750 * 100vw);
	}
	#lead-block ul li {
		width: calc(300 / 750 * 100vw);
		height: calc(300 / 750 * 100vw);
	}
	#lead-block ul li + li {
		margin-left: calc(20 / 750 * 100vw);
	}
	#lead-block ul li .text1 {
		font-size: calc(18 / 750 * 100vw);
	}
	#lead-block ul li .text2 {
		margin-top: 0.6em;
		font-size: calc(27 / 750 * 100vw);
	}
}

/* -------------------------------------------------
	comp-table
------------------------------------------------- */

.comp-table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	border-left: solid 1px #2f50aa;
	border-top: solid 1px #2f50aa;
	box-sizing: border-box;
	background: #fff;
}
.comp-table + .comp-table {
	margin-top: 20px;
}
.comp-table th,
.comp-table td {
	text-align: center;
	vertical-align: middle;
	letter-spacing: 0;
	border-right: solid 1px #2f50aa;
	border-bottom: solid 1px #2f50aa;
}
.comp-table th:last-child,
.comp-table td:last-child {
	position: relative;
}
.comp-table thead th:first-child {
	background: #2f50aa;
	color: #fff !important;
}
.comp-table thead th.grad-blue {
	background: -moz-linear-gradient(180deg, #fff 50%, #aac6f4 100%);
	background: -webkit-linear-gradient(180deg, #fff 50%, #aac6f4 100%);
	background: linear-gradient(180deg, #fff 50%, #aac6f4 100%);
}
.comp-table thead th.grad-red {
	background: -moz-linear-gradient(180deg, #fff 50%, #ffc0cd 100%);
	background: -webkit-linear-gradient(180deg, #fff 50%, #ffc0cd 100%);
	background: linear-gradient(180deg, #fff 50%, #ffc0cd 100%);
}
.comp-table thead th.grad-gold {
	background: -moz-linear-gradient(180deg, #fff 30%, #d6b564 100%);
	background: -webkit-linear-gradient(180deg, #fff 30%, #d6b564 100%);
	background: linear-gradient(180deg, #fff 30%, #d6b564 100%);
}
.comp-table thead th.grad-silver {
	background: -moz-linear-gradient(180deg, #fff 30%, rgba(140,142,143,0.8) 100%);
	background: -webkit-linear-gradient(180deg, #fff 30%, rgba(140,142,143,0.8) 100%);
	background: linear-gradient(180deg, #fff 30%, rgba(140,142,143,0.8) 100%);
}
.comp-table thead th.grad-bronze {
	background: -moz-linear-gradient(180deg, #fff 30%, #d19c70 100%);
	background: -webkit-linear-gradient(180deg, #fff 30%, #d19c70 100%);
	background: linear-gradient(180deg, #fff 30%, #d19c70 100%);
}
.comp-table thead .text {
	font-weight: 700;
	color: #2f50aa;
	display: inline-block;
	vertical-align: 3px;
}
.comp-table tbody th {
	padding: 0.5em 0.8em;
	text-align: left;
	color: #2f50aa;
	background: #99ccff;
	line-height: 1.2;
	box-sizing: border-box;
}
.comp-table tbody td {
	padding: 0.5em 0;
	line-height: 1.2;
	box-sizing: border-box;
}
.comp-table tbody td:first-of-type {
	font-size: 16px;
}
.comp-table tbody td:last-of-type {
	font-size: 19px;
	color: #ed1c24;
	font-weight: 700;
}
.comp-table tbody td.blank::before {
	width: 27px;
	height: 2px;
	background: #4d4d4d;
	content: "";
	display: inline-block;
	vertical-align: middle;
}

.comp-table .border {
	background: #ed1c24;
	display: block;
	position: absolute;
}
.comp-table .border.b-l,
.comp-table .border.b-r {
	width: 5px;
	height: calc(100% + 2px);
	top: -1px;
}
.comp-table .border.b-t,
.comp-table .border.b-b {
	width: calc(100% + 4px);
	height: 5px;
	left: -2px;
}
.comp-table .border.b-l { left: 0; transform: translateX(-50%); }
.comp-table .border.b-r { right: 0; transform: translateX(50%); }
.comp-table .border.b-t { top: 0;  transform: translateY(-50%); }
.comp-table .border.b-b { bottom: 0;  transform: translateY(50%); }

@media all and (-ms-high-contrast:none){ /* IE11 */
	*::-ms-backdrop,
	.comp-table .border.b-l,
	.comp-table .border.b-r,
	.comp-table .border.b-t,
	.comp-table .border.b-b { display: none !important; }
	
	*::-ms-backdrop, .comp-table .ie11-red-border-first {
		border: solid 3px #ed1c24 !important;
		border-bottom: none !important;
	}
	*::-ms-backdrop, .comp-table .ie11-red-border-last {
		border: solid 3px #ed1c24 !important;
		border-top: none !important;
	}
	*::-ms-backdrop, .comp-table .ie11-red-border-second {
		border-left: solid 3px #ed1c24 !important;
		border-right: solid 3px #ed1c24 !important;
	}
}

@media screen and (max-width:767px) {
	.comp-table + .comp-table {
		margin-top: calc(33 / 750 * 100vw);
	}
	.comp-table th,
	.comp-table td {
		box-sizing: border-box;
	}
	.comp-table thead .text {
		vertical-align: top;
		line-height: 1;
	}
	.comp-table tbody th {
		padding: 0.5em 0 0.5em 0.7em;
	}
	.comp-table tbody td:first-of-type {
		padding-left: 0.6vw;
		padding-right: 0.6vw;
		font-size: calc(26 / 750 * 100vw);
	}
	.comp-table tbody td:last-of-type {
		font-size: calc(28 / 750 * 100vw);
	}
	.comp-table tbody td.blank::before {
		width: calc(21 / 750 * 100vw);
		height: 1px;
	}

	.comp-table .border.b-l,
	.comp-table .border.b-r {
		width: 3px;
		height: calc(100% + 4px);
		top: -2px;
	}
	.comp-table .border.b-t,
	.comp-table .border.b-b {
		width: calc(100% + 4px);
		height: 3px;
		left: -2px;
	}
}

/* ---------------
	market-comparison > comp-table
--------------- */

#market-comparison .comp-table th,
#market-comparison .comp-table td {
	height: 50px;
}
#market-comparison thead th {
	font-size: 18px;
	color: #2f50aa;
}
#market-comparison thead th:first-child {
	font-size: 17px;
}
#market-comparison thead th:first-child .small {
	margin-top: 0.3em;
	font-size: 12px;
	display: inline-block;
}
#market-comparison .comp-table thead .tpm {
	width: 86px;
}
#market-comparison .comp-table thead .mothers {
	width: 70px;
}
#market-comparison .comp-table thead .jasdaq {
	width: 96px;
}
#market-comparison .comp-table thead .text {
	font-size: 14px;
}
#market-comparison .comp-table tbody th {
	font-size: 16px;
}
#market-comparison .comp-table tbody td {
	font-size: 16px;
}
#market-comparison .comp-table tbody .small {
	font-size: 12px;
}
#market-comparison .comp-table tbody td:last-child {
	font-size: 19px;
}
#market-comparison .comp-table:last-of-type tbody td:last-child {
	color: #4d4d4d;
	font-weight: 500;
}
#market-comparison .comp-table tbody td .sup {
	font-size: 10px;
	vertical-align: 0.8em;
	display: inline-block;
	margin-right: 0.2em;
}

@media screen and (max-width:767px) {
	#market-comparison .comp-table th,
	#market-comparison .comp-table td {
		height: calc(50 / 750 * 100vw);
	}
	#market-comparison thead th {
		font-size: calc(18 / 750 * 100vw);
	}
	#market-comparison thead th:first-child {
		font-size: calc(17 / 750 * 100vw);
	}
	#market-comparison thead th:first-child .small {
		font-size: calc(12 / 750 * 100vw);
	}
	#market-comparison .comp-table thead .tpm {
		width: calc(86 / 750 * 100vw);
	}
	#market-comparison .comp-table thead .mothers {
		width: calc(70 / 750 * 100vw);
	}
	#market-comparison .comp-table thead .jasdaq {
		width: calc(96 / 750 * 100vw);
	}
	#market-comparison .comp-table thead .text {
		font-size: calc(14 / 750 * 100vw);
	}
	#market-comparison .comp-table tbody th {
		font-size: calc(14 / 750 * 100vw);
	}
	#market-comparison .comp-table tbody td {
		font-size: calc(16 / 750 * 100vw);
	}
	#market-comparison .comp-table tbody .small {
		font-size: calc(10 / 750 * 100vw);
	}
	#market-comparison .comp-table tbody td:last-child {
		font-size: calc(19 / 750 * 100vw);
	}
	#market-comparison .comp-table tbody td .sup {
		font-size: calc(10 / 750 * 100vw);
	}
}

/* ---------------
	change > comp-table
--------------- */

#change .comp-table th,
#change .comp-table td {
	height: 45px;
}
#change .comp-table thead th {
	font-size: 16px;
	color: #2f50aa;
}
#change .comp-table thead th:first-child {
	font-size: 14px;
}
#change .comp-table tbody th,
#change .comp-table tbody td {
	font-size: 14px;
	font-weight: 500;
}
#change .comp-table tbody td {
	color: #4d4d4d;
}
#change .comp-table tbody .small {
	font-size: 11px;
}

@media screen and (max-width:767px) {
	#change .comp-table th,
	#change .comp-table td {
		height: calc(45 / 750 * 100vw);
	}
	#change .comp-table thead th {
		font-size: calc(16 / 750 * 100vw);
	}
	#change .comp-table thead th:first-child {
		font-size: calc(15 / 750 * 100vw);
	}
	#change .comp-table tbody th,
	#change .comp-table tbody td {
		font-size: calc(15 / 750 * 100vw);
	}
	#change .comp-table tbody .small {
		font-size: calc(15 / 750 * 100vw);
	}
}

/* ---------------
	comparison-block > comp-table
--------------- */

.comparison-block .comp-table th,
.comparison-block .comp-table td {
	height: 43px;
}
.comparison-block .comp-table thead th:first-child {
	font-size: 15px;
	font-weight: 700;
}
.comparison-block .comp-table thead .tpm {
	width: 188px;
}
.comparison-block .comp-table thead .mothers {
	width: 88px;
}
.comparison-block .comp-table thead .jasdaq {
	width: 120px;
}
.comparison-block .comp-table thead .text {
	font-size: 11px;
}
.comparison-block .comp-table tbody th {
	font-size: 14px;
	font-weight: 700;
}
.comparison-block .comp-table tbody td .small {
	margin-top: 0.7em;
	display: inline-block;
	font-size: 10px;
}

@media screen and (max-width:767px) {
	.comparison-block .comp-table {
		table-layout: auto;
	}
	.comparison-block .comp-table th,
	.comparison-block .comp-table td {
		height: calc(65 / 750 * 100vw);
	}
	.comparison-block .comp-table thead th:first-child {
		width: 32%;
		line-height: 1.2;
		font-size: calc(25 / 750 * 100vw);
	}
	.comparison-block .comp-table thead th:nth-child(2) {
		width: 36%;
		line-height: 1;
		font-size: calc(17 / 750 * 100vw);
	}
	.comparison-block .comp-table thead th:last-child {
		width: 32%;
	}
	.comparison-block .comp-table thead .tpm {
		width: calc(131 / 750 * 100vw);
	}
	.comparison-block .comp-table thead .mothers {
		width: calc(133 / 750 * 100vw);
	}
	.comparison-block .comp-table thead .jasdaq {
		width: calc(185 / 750 * 100vw);
	}
	.comparison-block .comp-table thead .text {
		font-size: calc(17 / 750 * 100vw);
	}
	.comparison-block .comp-table tbody th {
		font-size: calc(23 / 750 * 100vw);
	}
	.comp-table tbody td .small {
		font-size: calc(17 / 750 * 100vw);
	}
}

/* -------------------------------------------------
	five-features
------------------------------------------------- */

#five-features {
	padding-bottom: 45px;
	background: -moz-linear-gradient(180deg, #fff 0%, #e0eafb 100%);
	background: -webkit-linear-gradient(180deg, #fff 0%, #e0eafb 100%);
	background: linear-gradient(180deg, #fff 0%, #e0eafb 100%);
}
#five-features .headline {
	margin-top: 70px;
	padding-bottom: 0.5em;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
	border-bottom: solid 1px #2f50aa;
	color: #2f50aa;
}
#five-features .lead {
	margin: 1.5em 0 2.3em;
	font-size: 16px;
	line-height: 1.75;
}
#five-features .note {
	margin-top: 0.8em;
	font-size: 12px;
	text-align: right;
}
#five-features .schedule {
	width: 100%;
	margin-top: 60px;
}

@media screen and (max-width:767px) {
	#five-features {
		padding-bottom: calc(50 / 750 * 100vw);
	}
	#five-features .headline {
		margin-top: 1em;
		font-size: calc(30 / 750 * 100vw);
	}
	#five-features .lead {
		margin: 1.5em 0;
		font-size: calc(27 / 750 * 100vw);
	}
	#five-features .note {
		font-size: calc(17 / 750 * 100vw);
	}
	#five-features .schedule {
		margin-top: calc(40 / 750 * 100vw);
	}
}

/* -------------------------------------------------
	five-features > kubun
------------------------------------------------- */

#five-features .kubun .headline2 {
	width: 212px;
	height: 56px;
	padding-left: 1.4em;
	box-sizing: border-box;
	background: url(../img/comparison/bg_03.svg) no-repeat left bottom / 100% auto;
	color: #fff;
	font-size: 19px;
	font-weight: 700;
	display: flex;
	align-items: center;
	letter-spacing: 0.1em;
}
.border-box {
	padding: 30px 3% 25px;
	border: solid 3px #2f50aa;
	box-sizing: border-box;
	background: #fff;
}

#five-features .kubun .item {
	border-radius: 26px;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}
#five-features .kubun .item .title {
	font-size: 18px;
	font-weight: 700;
	color: #2f50aa;
	line-height: 1.6;
}
#five-features .kubun .item .sub-title {
	font-size: 13px;
	color: #2f50aa;
}
#five-features .kubun .item .desc {
	font-size: 13px;
}

#five-features .kubun .gold { background: url(../img/comparison/grad_gold.jpg) no-repeat 0 0 / 100% 100%; }
#five-features .kubun .silver { background: url(../img/comparison/grad_silver.jpg) no-repeat 0 0 / 100% 100%; }
#five-features .kubun .bronze { background: url(../img/comparison/grad_bronze.jpg) no-repeat 0 0 / 100% 100%; }
#five-features .kubun .blue { background: url(../img/comparison/grad_blue.jpg) no-repeat 0 0 / 100% 100%; }

@media screen and (max-width:767px) {
	#five-features .kubun .headline2 {
		width: calc(264 / 750 * 100vw);
		height: calc(70 / 750 * 100vw);
		font-size: calc(24 / 750 * 100vw);
	}
	.border-box {
		padding: 3vw 3.4%;
		border-width: 2px;
		margin-top: -1px;
	}

	#five-features .kubun .item {
		border-radius: 2vw;
	}
	#five-features .kubun .item .title {
		font-size: calc(23 / 750 * 100vw);
	}
	#five-features .kubun .item .sub-title {
		font-size: calc(17 / 750 * 100vw);
	}
	#five-features .kubun .item .desc {
		font-size: calc(17 / 750 * 100vw);
	}
}

/* -------------------------------------------------
	five-features > current-market
------------------------------------------------- */

#current-market .group1,
#current-market .group2-1,
#current-market .group2-2 {
	display: flex;
	justify-content: space-between;
}
#current-market .group2 {
	width: calc(621.2 / 840 * 100%);
}
#current-market .item.i6 {
	width: calc(195.2 / 840 * 100%);
	height: 270px;
}
#current-market .item.i1 {
	width: calc(406 / 621.2 * 100%);
}
#current-market .item.i2,
#current-market .group2-2 .item {
	width: calc(195.2 / 621.2 * 100%);
}
#current-market .group2-2 {
	margin-top: 18px;
}
#current-market .item:not(.i6) {
	height: 126px;
}
#current-market .item .title-wrap {
	min-height: 41px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
}
#current-market .item .desc {
	margin-top: 1em;
	white-space: nowrap;
}

@media screen and (max-width:767px) {
	#current-market .group2 {
		width: calc(443 / 750 * 100vw);
	}
	#current-market .item.i6 {
		width: calc(183 / 750 * 100vw);
		height: calc(340 / 750 * 100vw);
	}
	#current-market .item.i1 {
		width: calc(279 / 750 * 100vw);
	}
	#current-market .item.i2,
	#current-market .item.i5 {
		width: calc(148 / 750 * 100vw);
	}
	#current-market .group2-2 {
		margin-top: calc(12 / 750 * 100vw);
	}
	#current-market .item.i3,
	#current-market .item.i4 {
		width: calc(132 / 750 * 100vw);
	}
	#current-market .item:not(.i6) {
		height: calc(164 / 750 * 100vw);
	}
	#current-market .item .title-wrap {
		min-height: calc(47 / 750 * 100vw);
	}
	#current-market .item .desc {
		margin-top: 0.7em;
		white-space: normal;
		line-height: 1.5;
	}
}

/* -------------------------------------------------
	five-features > new-market
------------------------------------------------- */

#new-market {
	margin: 30px 0 110px;
	position: relative;
}
#new-market::before {
	border-width: 52px 33px 0 33px;
	border-style: solid;
	border-color: #2f50aa transparent transparent transparent;
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	top: -7px;
	transform: translateX(-50%);
}
#new-market li.item:not(.blue) {
	display: block;
}
#new-market ul li.item:not(.blue) .title {
	padding-top: 2em;
}
#new-market ul li.item .desc {
	padding: 1.6em 1.3em 1.5em;
	font-size: 14px;
	line-height: 1.6;
	text-align: left;
}

@media print, screen and (min-width:768px) {
	#new-market ul {
		display: flex;
		justify-content: space-between;
	}
	#new-market ul li {
		width: calc(196 / 840 * 100%);
	}
}

@media screen and (max-width:767px) {
	#new-market {
		margin: calc(55 / 750 * 100vw) 0;
	}
	#new-market::before {
		border-width: calc(52 / 750 * 100vw) calc(33 / 750 * 100vw) 0 calc(33 / 750 * 100vw);
		top: calc(-30 / 750 * 100vw);
	}
	#new-market li.item {
		height: calc(160 / 750 * 100vw);
	}
	#new-market li + li {
		margin-top: 1.6vw;
	}
	#new-market li.item:not(.blue) {
		display: flex;
		justify-content: space-between;
	}
	#new-market ul li.item:not(.blue) .title {
		width: 27%;
		padding-top: 0;
		letter-spacing: 0;
	}
	#new-market ul li.item:not(.blue) .desc {
		width: 73%;
	}
	#new-market ul li.item .desc {
		padding: 0 1em 0 0;
		font-size: calc(19 / 750 * 100vw);
		box-sizing: border-box;
	}
}

/* -------------------------------------------------
	comparison-block
------------------------------------------------- */

.comparison-block#jasdaq {
	margin-top: 75px;
}
.comparison-block .lead {
	margin: 3.5em 0 3em;
	font-size: 16px;
	line-height: 1.75;
}

.comparison-block .col2 .btn a {
	width: 275px;
	height: 63px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #2f50aa;
	font-weight: 700;
	font-size: 16px;
	background: #F8D308;
	border-radius: 32px;
	transition: all 0.2s ease-out;
	box-shadow: 4px 5px 7px 0 rgba(0,0,102,0.35);
}
.comparison-block .col2 .btn a span {
	padding-right: 1.8em;
	display: block;
	background: url(../img/arrow_02.svg) no-repeat right center / 18px auto;
}

@media print, screen and (min-width:768px) {
	.comparison-block .col2 {
		margin-top: 45px;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.comparison-block .col2 .text {
		width: calc(100% - 295px);
	}
	.comparison-block .col2 .text p {
		padding: 0.7em 1.8em 0.5em 0;
		font-size: 18px;
		font-weight: 700;
		display: inline-block;
		color: #2f50aa;
		border-bottom: solid 1px #2f50aa;
		position: relative;
		line-height: 1.2;
	}
	.comparison-block .col2 .text p::after {
		content: "";
		display: block;
		width: 1px;
		height: 100%;
		position: absolute;
		right: 0;
		bottom: 0;
		transform-origin: center bottom;
		transform: rotate(-32deg);
		background: #2f50aa;
	}
	
	.comparison-block .col2 .btn a:hover {
		background-color: #F8E47A;
	}
}

@media screen and (max-width:767px) {
	.comparison-block#jasdaq {
		margin-top: calc(100 / 750 * 100vw);
	}
	.comparison-block .lead {
		margin: 1.3em 0 1.6em;
		font-size: calc(32 / 750 * 100vw);
	}
	
	.comparison-block .col2 .text p {
		margin: 1.5em 0;
		font-size: calc(31 / 750 * 100vw);
		color: #2f50aa;
		line-height: 1.6;
		font-weight: 700;
		text-align: center;
	}
	.comparison-block .col2 .btn a {
		width: calc(538 / 750 * 100vw);
		height: calc(104 / 750 * 100vw);
		margin: 0 auto;
		font-size: calc(28 / 750 * 100vw);
		border-radius: calc(52 / 750 * 100vw);
	}
	.comparison-block .col2 .btn a span {
		background-size: 2.4vw auto;
	}
}

/* -------------------------------------------------
	stepup
------------------------------------------------- */

#stepup {
	margin-top: 70px;
}
#stepup .lead {
	margin: 3.5em 0 2em;
	font-size: 16px;
	line-height: 1.75;
}

#stepup .border-box {
	padding: 0 calc(72 / 933 * 100%) 45px;
	border: solid 1px #2f50aa;
	box-shadow: 4px 7px 10px 0 rgba(0,102,204,0.38);
	background: -moz-linear-gradient(180deg, #fff 60%, #e1f0ff 100%);
	background: -webkit-linear-gradient(180deg, #fff 60%, #e1f0ff 100%);
	background: linear-gradient(180deg, #fff 60%, #e1f0ff 100%);
	position: relative;
}
#stepup .border-box + .border-box {
	margin-top: 50px;
}

#stepup .market {
	width: 184px;
	height: 171px;
	background: url(../img/comparison/bg_04.svg) no-repeat 0 0 / 100% auto;
	position: absolute;
	right: calc(47 / 933 * 100%);
	top: -13px;
	z-index: 4;
	display: flex;
	justify-content: center;
	align-items: center;
}
#stepup .market img {
	position: relative;
	top: -6%;
}
#stepup .market img.mothers { width: calc(129 / 184 * 100%); }
#stepup .market img.jasdaq { width: calc(153 / 184 * 100%); }

#stepup .com-name {
	height: 96px;
	padding: 2.3em 0 0 0.8em;
	box-sizing: border-box;
	border-left: solid 2px #2f50aa;
	font-size: 21px;
	font-weight: 700;
}
#stepup .com-image {
	width: calc(640 / 789 * 100%);
	margin-left: -9.14%;
}

#stepup dl.info1 {
	width: calc(100% - 355px);
	margin-top: 35px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
#stepup dl.info1 dt {
	width: 121px;
	height: 26px;
	border-radius: 13px;
	font-size: 11px;
	font-weight: 700;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #2f50aa;
}
#stepup dl.info1 dd {
	width: calc(100% - 121px);
	font-size: 17px;
	padding-left: 1em;
	box-sizing: border-box;
	letter-spacing: 0;
	line-height: 1.2;
}
#stepup dl.info1 dt:not(:first-of-type),
#stepup dl.info1 dd:not(:first-of-type) {
	margin-top: 6px;
}

#stepup dl.info2 {
	margin-top: 35px;
}
#stepup dl.info2 dt {
	height: 42px;
	border-radius: 21px;
	font-size: 18px;
	color: #2f50aa;
	background: #e6e6e6;
	display: flex;
	align-items: center;
	padding-left: 2em;
	font-weight: 700;
}
#stepup dl.info2 dd {
	font-size: 16px;
	line-height: 1.75;
	margin: 0.8em 0.6em 0;
}
#stepup dl.info2 dd + dt {
	margin-top: 1em;
}
#stepup dl.info2 dd .graph {
	width: 100%;
	margin-top: 30px;
}

#stepup dl.point {
	width: 386px;
	min-height: 400px;
	padding: 25px 0 28px 20px;
	box-sizing: border-box;
	position: absolute;
	right: 25px;
	top: 190px;
	background: #ffffcc;
	box-shadow: 5px 7px 10px 0 rgba(0,51,153,0.3);
}
#stepup dl.point dt {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#stepup dl.point dt::before {
	width: 56px;
	height: 56px;
	content: "";
	display: inline-block;
	background: url(../img/ico_point.svg) no-repeat 0 0 / 100% auto;
}
#stepup dl.point dt span {
	width: calc(100% - 68px);
	padding-bottom: 0.4em;
	box-sizing: border-box;
	color: #2f50aa;
	font-weight: 700;
	letter-spacing: 1em;
	display: block;
	border-bottom: solid 1px #2f50aa;
	font-size: 15px;
}
#stepup dl.point dd {
	margin: 1.6em 2em 0 0;
	padding-left: 10px;
	font-size: 16px;
	line-height: 1.75;
	color: #2f50aa;
}
#stepup dl.point dd p {
	font-size: 16px;
	line-height: 1.75;
	font-weight: 700;
	letter-spacing: 0;
}
#stepup dl.point dd .history {
	margin-top: 40px;
}
#stepup dl.point dd .history p {
	line-height: 1.6;
}
#stepup dl.point dd .history p + p {
	margin-top: 0.6em;
}

@media screen and (max-width:767px) {
	#stepup {
		margin-top: calc(100 / 750 * 100vw);
	}
	
	#stepup .lead {
		margin: 1em 0 2em;
		font-size: calc(32 / 750 * 100vw);
	}
	
	#stepup .border-box {
		padding: 0 calc(65 / 933 * 100%) calc(45 / 750 * 100vw);
	}
	#stepup .border-box + .border-box {
		margin-top: calc(95 / 750 * 100vw);
	}
	
	#stepup .market {
		width: calc(184 / 750 * 100vw * 1.2);
		height: calc(171 / 750 * 100vw * 1.2);
		right: calc(20 / 750 * 100vw);
		top: calc(-20 / 750 * 100vw);
	}
	#stepup .market img.mothers { width: calc(129 / 750 * 100vw); }
	#stepup .market img.jasdaq { width: calc(153 / 750 * 100vw); }
	
	#stepup .com-name {
		height: calc(89 / 750 * 100vw);
		padding: 2em 0 0 0.8em;
		font-size: calc(21 / 750 * 100vw);
		letter-spacing: 0;
	}
	
	#stepup .com-image {
		margin-left: -8%;
	}

	#stepup dl.info1 {
		width: calc(270 / 750 * 100vw);
		margin-top: calc(35 / 750 * 100vw);
	}
	#stepup dl.info1 dt {
		width: calc(121 / 750 * 100vw);
		height: calc(26 / 750 * 100vw);
		border-radius: calc(13 / 750 * 100vw);
		font-size: calc(14 / 750 * 100vw);
	}
	#stepup dl.info1 dd {
		width: calc(100% - 17vw);
		font-size: calc(19 / 750 * 100vw);
	}
	#stepup dl.info1 dt:not(:first-of-type),
	#stepup dl.info1 dd:not(:first-of-type) {
		margin-top: 1vw;
	}

	#stepup dl.info2 {
		margin-top: calc(35 / 750 * 100vw);
	}
	#stepup dl.info2 dt {
		height: calc(42 / 750 * 100vw);
		border-radius: calc(21 / 750 * 100vw);
		font-size: calc(18 / 750 * 100vw);
	}
	#stepup dl.info2 dd {
		font-size: calc(20 / 750 * 100vw);
	}

	#stepup dl.point {
		width: calc(314 / 750 * 100vw);
		min-height: 0;
		padding: calc(30 / 750 * 100vw) 0 calc(35 / 750 * 100vw) calc(22 / 750 * 100vw);
		right: calc(30 / 750 * 100vw);
		top: calc(240 / 750 * 100vw);
	}
	#stepup dl.point dt::before {
		width: calc(56 / 750 * 100vw);
		height: calc(56 / 750 * 100vw);
	}
	#stepup dl.point dt span {
		width: calc(100% - 10vw);
		font-size: calc(15 / 750 * 100vw);
	}
	#stepup dl.point dd {
		margin-top: calc(25 / 750 * 100vw);
		margin-right: 2vw;
		padding-left: 0;
	}
	#stepup dl.point dd p {
		font-size: calc(17 / 750 * 100vw);
	}
	#stepup dl.point dd .history {
		margin-top: calc(30 / 750 * 100vw);
	}
	#stepup dl.info2 dd .graph {
		margin-top: 1.4vw;
	}
}

/* -------------------------------------------------
	future
------------------------------------------------- */

#future {
	margin-top: 130px;
	padding-bottom: 145px;
	background: -moz-linear-gradient(180deg, #fff 50%, rgba(205,205,205,0.51) 100%);
	background: -webkit-linear-gradient(180deg, #fff 50%, rgba(205,205,205,0.51) 100%);
	background: linear-gradient(180deg, #fff 50%, rgba(205,205,205,0.51) 100%);
}
#future .text1 {
	margin-top: 77px;
	text-align: center;
	font-size: 18px;
	font-weight: 700;
	color: #2f50aa;
}
#future .text2 {
	margin-top: 0.9em;
	padding-bottom: 0.2em;
	text-align: center;
	font-size: 35px;
	font-weight: 700;
	color: #2f50aa;
	line-height: 1.6;
	border-bottom: solid 2px #2f50aa;
}

#future .pic1 {
	height: 503px;
	margin-top: 95px;
	padding-top: 466px;
	box-sizing: border-box;
	background: url(../img/comparison/pic_01.jpg) no-repeat center top;
}
#future .pic1 .caption {
	margin-top: 1em;
	text-align: right;
	font-size: 16px;
	font-weight: 700;
}

#future .article {
	margin-top: 65px;
}
#future .article p {
	font-size: 16px;
	line-height: 1.75;
}
#future .article p + p {
	margin-top: 2em;
}
#future .article p .name {
	font-weight: 700;
	color: #2f50aa;
}

#future .article .right img {
	box-shadow: 1px 3px 3px 0 rgba(0,0,0,0.2);
}

#future .article .btn {
	max-width: 100%;
	width: 473px;
	height: 66px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #2f50aa;
	font-size: 18px;
	border: solid 1px #2f50aa;
	box-sizing: border-box;
	border-radius: 33px;
	box-shadow: 2px 2px 4px 0 rgba(0,0,0,0.2);
	background: -moz-linear-gradient(180deg, #fff 50%, rgba(205,205,205,0.51) 100%);
	background: -webkit-linear-gradient(180deg, #fff 50%, rgba(205,205,205,0.51) 100%);
	background: linear-gradient(180deg, #fff 50%, rgba(205,205,205,0.51) 100%);
	transition: opacity 0.2s ease-out;
}
#future .article .btn span {
	display: inline-block;
	padding-right: 2em;
	line-height: 2;
	background: url(../img/pdf.svg) no-repeat right 60% / 23px auto;
}

@media print, screen and (min-width:768px) {
	#future .article .col2 {
		margin-top: 36px;
		display: flex;
		justify-content: space-between;
	}
	#future .article .col2 .left {
		width: calc(480 / 850 * 100%);
		position: relative;
	}
	#future .article .col2 .right {
		width: calc(317.5 / 850 * 100%);
	}
	#future .article .btn {
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
	}
	#future .article .btn:hover {
		opacity: 0.7;
	}
}

@media print, screen and (min-width:768px) and (max-width:880px) {
	#future .article p {
		font-size: 16px;
	}
	#future .article p + p {
		margin-top: 1.5em;
	}
}

@media screen and (max-width:767px) {
	#future {
		margin-top: calc(65 / 750 * 100vw);
		padding-bottom: calc(110 / 750 * 100vw);
	}
	#future .text1 {
		margin-top: 2em;
		font-size: calc(27 / 750 * 100vw);
		line-height: 1.5;
	}
	#future .text2 {
		margin-top: 0.6em;
		font-size: calc(39 / 750 * 100vw);
		border-width: 1px;
	}

	#future .pic1 {
		height: calc(410 / 750 * 100vw);
		margin-top: calc(55 / 750 * 100vw);
		padding-top: calc(370 / 750 * 100vw);
		box-sizing: border-box;
		background-size: auto 49.3vw;
	}
	#future .pic1 .caption {
		font-size: calc(18 / 750 * 100vw);
	}

	#future .article {
		margin-top: calc(75 / 750 * 100vw);
		padding-bottom: calc(145 / 750 * 100vw);
		position: relative;
	}
	#future .article p {
		font-size: calc(32 / 750 * 100vw);
	}
	#future .article p + p {
		margin-top: 1.3em;
	}
	
	#future .article .col2 {
		margin-top: 5vw;
	}
	
	#future .article .col2 .right {
		width: calc(411 / 750 * 100vw);
		margin: 7vw auto 0;
	}

	#future .article .btn {
		width: calc(640 / 750 * 100vw);
		height: calc(90 / 750 * 100vw);
		font-size: calc(24 / 750 * 100vw);
		border-radius: calc(45 / 750 * 100vw);
		position: absolute;
		left: 50%;
		bottom: 0;
		transform: translateX(-50%);
	}
	#future .article .btn span {
		padding-right: 2.5em;
		line-height: 3;
		background-size: 1.8em auto;
	}
}