@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: space-between;
	width: 680px;
	margin-right: auto;
	margin-left: auto;
}

#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;
	}
}

.circles-wrap {
	position: relative;
}

.circles-text {
	position: absolute;
	left: 50%;
	transform: translate(-50%, -50%);
	top: 50%;
	font-size: 24px;
	font-weight: bold;
}

.h-style2 {
	margin-bottom: 87px;
}

.headline {
	font-size: 28px;
	font-weight: bold;
	color: #2F50AA;
	letter-spacing: 0.02em;
	line-height: 1.5;
	padding-bottom: 12px;
	border-bottom: 1px solid #2F50AA;
	margin-bottom: 60px;
}

.lead {
	font-size: 16px;
	line-height: 1.6;
	margin-bottom: 70px;
}

.link-area {
	margin-top: 40px;
	text-align: right;
}

.link-area .link {
	transition: all 0.2s ease-out;
}

.link-area .link:hover {
	opacity: .6;
}

#section-1 {
	padding-bottom: 130px;
}

#section-2 .lead {
	margin-bottom: 34px;
}

.chart,
.chart * {
	box-sizing: border-box;
	vertical-align: baseline;
}

.chart-dt {
	color: #000;
	padding-left: 10px;
	font-size: 20px;
	line-height: 1.2;
	font-weight: bold;
	margin-bottom: 3px;
}

.chart-dd {
	display: flex;
	width: 100%;
	justify-content: space-between;
}

.chart-gen-dl {
	width: 670px;
	background-color: #E8F3FC;
	padding-bottom: 34px;
}

.chart-pro-dl {
	width: 212px;
	background-color: #FCE3E3;
	padding-bottom: 34px;
}

.chart-gen-dt,
.chart-pro-dt {
	margin-top: 6px;
	color: #000;
	font-size: 19px;
	line-height: 1.2;
	font-weight: bold;
	text-align: center;
	margin-bottom: 3px;
}

.chart-list {
	display: flex;
	justify-content: center;
}

.chart-item-dl {
	border: 2px solid #003366;
	border-radius: 24px;
	background-color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding-top: 19px;
	padding-bottom: 13px;
	width: 148px;
	height: 104px;
}

.chart-pro-dl .chart-item-dl {
	margin-right: auto;
	margin-left: auto;
	padding-top: 14px;
	padding-bottom: 9px;
	border-color: #CC0000;
}

.chart-item+.chart-item {
	margin-left: 13px;
}

.chart-item-dt {
	font-size: 18px;
	font-weight: bold;
	color: #000;
	line-height: 1.2;
	text-align: center;
}

.chart-item-dd {
	text-align: center;
	color: #000;
	line-height: 1.2;
	font-size: 20px;
}

.chart-dl-1 {
	margin-bottom: 27px;
}

.chart_text{
	text-align: right;
	font-size: 12px;
	margin-top:10px;
}

.chart-dl-2 .chart-gen-dl,
.chart-dl-2 .chart-pro-dl {
	padding-top: 37px;
}

.chart-dl-2 .chart-gen-dl .chart-item-dl {
	padding-top: 19px;
	padding-bottom: 11px;
	width: 202px;
}

.chart-item {
	position: relative;
	z-index: 1;
}

.chart-item::before,
.chart-item::after {
	content: '';
	display: inline-block;
	position: absolute;
	background-repeat: no-repeat;
	background-size: contain;
	z-index: -1;
}

.chart-item-1::before {
	background-image: url(/tokyopromarket/common/img/comparison/arrow-1.svg);
	width: 24px;
	height: 148px;
	right: 32px;
	top: 100px;
}

.chart-item-1::after {
	background-image: url(/tokyopromarket/common/img/comparison/arrow-2.svg);
	width: 116px;
	height: 167px;
	left: 124px;
	top: 80px;
}

.chart-item-2::before {
	background-image: url(/tokyopromarket/common/img/comparison/arrow-1.svg);
	width: 24px;
	height: 148px;
	right: 19px;
	top: 100px;
}

.chart-item-3::before {
	background-image: url(/tokyopromarket/common/img/comparison/arrow-1.svg);
	width: 24px;
	height: 148px;
	left: 40px;
	top: 100px;
}

.chart-item-3::after {
	background-image: url(/tokyopromarket/common/img/comparison/arrow-2.svg);
	width: 116px;
	height: 167px;
	left: 96px;
	top: 80px;
}

.chart-item-4::before {
	background-image: url(/tokyopromarket/common/img/comparison/arrow-1.svg);
	width: 24px;
	height: 148px;
	left: 62px;
	top: 100px;
}

#section-2 {
	padding-bottom: 128px;
}

#section-3 {
	padding-bottom: 93px;
}

#section-4 {
	padding-bottom: 93px;
}

#section-5 .h-style2 {
	margin-bottom: 49px;
}

#section-5 .heading1 {
	font-size: 16px;
	line-height: 1.6;
	margin-bottom: 40px;
	text-align: center;
	color: #2F50AA;
}

#section-5 .heading2 {
	padding-bottom: 13px;
	text-align: center;
	font-size: 26px;
	font-weight: 700;
	margin-bottom: 36px;
	color: #2f50aa;
	line-height: 1.5;
	border-bottom: solid 1px #2f50aa;
}

#section-5 .text {
	font-size: 16px;
	line-height: 1.8;
}

#section-5 .text + .text {
	margin-top: 32px;
}

#section-5 .column p + p {
	margin-top: 32px;
}
#section-5 .img {
	margin-top: 50px;
	margin-bottom: 50px;
	width: 100%;
	height: auto;
}

#section-5 .img[src=""] {
	height: 290px;
	background-color: #51A9EA;
}

#section-5 .column {
	margin-top: 36px;
	display: flex;
	justify-content: space-between; align-items: flex-start;

}

#section-5 .column .text {
	padding-right: 6%;
}

#section-5 .column .img {
	margin-top: 0;
	margin-bottom: 0;
	width: 36%;
	height: auto;
}


#section-5 .column .img[src=""] {
	height: 200px;
}

#section-5 .btn {
	margin-top: 90px;
	font-weight: bold;
	color: #fff;
	margin-right: auto;
	margin-left: auto;
	position: relative;
	background-color: #707070;
	width: 430px;
	box-shadow: 0px 6px 12px rgba(0, 0, 0, .39);
	border-radius: 38px;
	line-height: 75px;
	font-size: 19px;
	display: block;
	padding-left: 40px;
	letter-spacing: 0.1em;
	box-sizing: border-box;
}

#section-5 .btn::after {
	content: '';
	display: inline-block;
	width: 40px;
	height: 40px;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 40px;
	background-image: url(/tokyopromarket/common/img/pdf.svg);
}

#section-5 .btn:hover {
	background-color: #8a8a8a;
	transition: background 0.2s ease-out;
}

.chart-sp {
	display: none;
}





@media screen and (max-width:768px) {
	main {
		overflow-x: hidden;
	}

	.chart img {
		width: 100%;
	}

	.chart-sp {
		display: block;
	}

	.chart-pc {
		display: none;
	}
}

@media screen and (max-width:767px) {
	#lead-block ul {
		width: 100%;
	}

	#lead-block ul li {
		width: 140px;
		height: 140px;
	}

	.circles-text {
		font-size: 15px;
	}

	.h-style2 {
		font-size: 20px;
		padding-top: 0;
		padding-bottom: 0;
		margin-bottom: 36px;
		height: 100px;
	}

	.headline {
		font-size: 18px;
		text-align: center;
		padding-bottom: 15px;
		margin-bottom: 28px;
	}

	.lead {
		margin-bottom: 20px;
	}

	.link-area {
		margin-top: 20px;
	}

	#section-1 {
		padding-bottom: 60px;
	}

	#section-2 {
		padding-bottom: 60px;
	}

	#section-4 {
		padding-bottom: 60px;
	}

	#section-3 {
		padding-bottom: 60px;
	}

	#section-5 .h-style2 {
		margin-bottom: 30px;
	}

	#section-5 .heading1 {
		text-align: left;
		margin-bottom: 20px;
	}

	#section-5 .heading2 {
		font-size: 20px;
		margin-bottom: 10px;
		margin-bottom: 45px;
	}

	#section-5 .column {
		flex-direction: column;
	}

	#section-5 .column .text {
		width: 100%;
		margin-bottom: 38px;
	}
	#section-5 .column .img{
		width: 100%;
	}
	#section-5 .btn {
		width: 100%;
		font-size: 12px;
		line-height: 52px;
		padding-left: 0;
		text-align: center;
	}

	#section-5 .btn::after {
		width: 30px;
		height: 30px;
		right: 30px;
	}
}

@media screen and (max-width:320px) {
	#section-5 .btn::after {
		display: none;
	}
}