body.dx .page_ttl {
  height: 183px;
}


#top-roadmap {
	position: relative;
	background-image: url(../../img/dx/dx-circle.svg);
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 2;
}

.top-roadmapbutton {
	position: relative;
	max-width: 1200px;
	width: 100%;
	margin: auto;
	margin-top: 80px;
	background-image: url(../../img/dx/dx-circle-button.svg);
	background-position: bottom;
	background-repeat: no-repeat;
	background-size: 100%;
	container-type: inline-size;
}

#top-roadmap:before {
	display: block;
	content: "";
	padding-bottom: 80%;
}

.roadmap-hover div {
	display: none;
}

.jumptoeachstep.step1:hover ~ .roadmap-hover.step1 div {
	background-image: url(../../img/dx/dx-step1_hover.svg);
	background-size: contain;
	background-repeat: no-repeat;
	display: block;
	position: absolute;
	width: 33.5%;
	height: 33.5%;
	top: 11.5%;
	left: 14.55%;
}
.jumptoeachstep.step2-3:hover ~ .roadmap-hover.step2-3 div {
	background-image: url(../../img/dx/dx-step2-step3_hover.svg);
	background-size: contain;
	background-repeat: no-repeat;
	display: block;
	position: absolute;
	width: 43%;
	height: 43%;
	top: 14%;
	left: 57.85%;
}
.jumptoeachstep.step4:hover ~ .roadmap-hover.step4 div {
	background-image: url(../../img/dx/dx-step4_hover.svg);
	background-size: contain;
	background-repeat: no-repeat;
	display: block;
	position: absolute;
	width: 34%;
	height:  34%;
	top: 51%;
	left: 58.6%;
}
.jumptoeachstep.step5:hover ~ .roadmap-hover.step5 div {
	background-image: url(../../img/dx/dx-step5_hover.svg);
	background-size: contain;
	background-repeat: no-repeat;
	display: block;
	position: absolute;
	width: 34%;
	height: 34%;
	top: 47.5%;
	left: 8%;
}
.jumptoeachstep {
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 25%;
	height: calc( 125% / 6 );
	text-align: center;
	font-weight: bold;
	z-index: 2;
	border-radius: 22px;
	font-size: 2cqw;
}
.jumptoeachstep div {
	font-size: 0.6em;
	margin-top: 10px;
}
.jumptoeachstep.step1 {
	color: #1b8e52;
	top: 0;
	left: 0;
}
.jumptoeachstep.step2-3 {
	color: #133474;
	top: 0;
	right: 0;
}
.jumptoeachstep.step4 {
	color: #b81c2d;
	bottom: 0;
	right: 0;
}
.jumptoeachstep.step5 {
	color: #d97526;
	bottom: 0;
	left: 0;
}

.jumptoeachstep:hover {
	color: #FFF;
	text-decoration: none;
	transition: 0.3s;
	opacity: 0.5;
}
.jumptoeachstep.step1:hover {
	background: #1b8e52;
}
.jumptoeachstep.step2-3:hover {
	background: #133474;
}
.jumptoeachstep.step4:hover {
	background: #b81c2d;
}
.jumptoeachstep.step5:hover {
	background: #d97526;
}

#dx-cycle-top {
	background: linear-gradient(0deg,rgba(233, 237, 247, 1) 25%, rgba(255, 255, 255, 1) 25%);
}

#dx-cycle-top p, #about-dx p {
	text-align: center;
	font-size: 1.2em;
	font-weight: bold;
	color: #12347C;
}

#about-dx {
	position: relative;
	padding-top: 100px;
	margin-bottom: 150px;
	background: #e9edf7;
}

#about-dx:before {
	position: absolute;
	display: block;
	bottom: -150px;
	left: 0;
	content: "";
	height: 150px;
	width: 100%;
	background: #e9edf7;
	clip-path: polygon(50% 100%, 0 0, 100% 0);
}

#about-dx h2 {
	padding-top: 30px;
	background: #143473;
	color: #FFF;
}

#about-dx > div {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

#about-dx > div figure {
	margin: 20px;
	padding-top: 50px;
}

#about-dx > div figure figcaption {
	background: #396ca9;
	font-weight: bold;
	color: #FFF;
	padding: 5px 20px;
	max-width: 200px;
	border-radius: 0 15px 0 0;
}
#about-dx > div figure img {
	outline: 1px solid #396ca9;
	outline-offset: -1px;
	user-select: none;
}

.dx-each-steps {
	display: flex;
	align-items: center;
	align-items: stretch;
	max-width: 1200px;
	margin: auto;
}






.dx-each-steps figure, .dx-each-steps > div {
	max-width: 600px;
	width: 100%;
}

.dx-each-steps figure img {
	user-select: none;
}


.dx-each-steps > div {
	padding: 30px 30px 50px 30px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}






.dx-each-steps dl dt {
	position: relative;
	font-size: 1.2em;
	font-weight: bold;
	margin: 30px;
	margin-left: 25px;
	margin-bottom: 10px;
}

.dx-each-steps dl dt:before {
	position: absolute;
	display: block;
	content: "";
	width: 10px;
	height: 30px;
	top: 0;
	left: -20px;
}

.dx-each-steps.step2-3 dl dt:before {
	background: #16347c;
}

.dx-each-steps.step4 dl dt:before {
	background: #c2182d;
}

.dx-each-steps > div p {
	text-align: justify;
	text-align-last: left;
}

.dx-each-steps.step1 > div {
	background: #f2f8f4;
}

.dx-each-steps ul li:before {
	content: "・ ";
	font-size: 1.1em;
}

.dx-each-steps.step1 h3 {
	color: #129454;
	border-bottom: 2px solid #129454;
}

.dx-each-steps.step2-3 > div {
	background: #f3f4f9;
}
.dx-each-steps.step2-3 h3 {
	color: #16347c;
	border-bottom: 2px solid #16347c;
}

.dx-each-steps.step4 > div {
	background: #fdf6f7;
}
.dx-each-steps.step4 h3 {
	color: #c2182d;
	border-bottom: 2px solid #c2182d;
}

.dx-each-steps.step5 > div {
	background: #fcf5e7;
}
.dx-each-steps.step5 h3 {
	color: #e27721;
	border-bottom: 2px solid #e27721;
}

.dx-each-steps h3 {
	display: flex;
	align-items: center;
}
.dx-each-steps h3 + strong {
	position: relative;
	text-align: center;
	font-size: 1.5em;
	margin-bottom: 20px;
	padding: 20px;
	background: rgba(255,255,255,0.9);
}

.dx-each-steps h3 + strong:before {
	position: absolute;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-color: #fd9134 transparent transparent transparent;
	border-width: 20px 20px 0px 0px;
	top: -5px;
	left: -5px;
}

.dx-each-steps h3 + strong:after {
	position: absolute;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent transparent #fd9134 transparent;
	border-width: 0px 0px 20px 20px;
	bottom: -5px;
	right: -5px;
}


.dx-each-steps figure {
	display: flex;
	align-items: center;
}

.dx-each-steps h3 span {
	font-size: 1.5em;
	padding-bottom: 10px;
	padding-left: 5px;
}

.dx-each-steps h3 div {
	margin-left: 20px;
}

.no-link {
	font-weight: bold;
	margin-top: 15px;
}

.dx-each-steps .btn {
	height: 80px;
	margin-bottom: 30px;
}

.dx-each-steps.step4 .btn {
	background: #C2182D;
	border-color: #C2182D;
}

#dx-steps {
	display: flex;
	align-items: stretch;
	justify-content: center;
	margin: auto;
}

#steps-return {
	display: block;
	text-decoration: none;
	font-weight: bold;
	text-align: center;
	margin: 20px auto;
	max-width: 300px;
	padding: 30px 0;
	user-select: none;
}
#steps-return p {
	text-align: center;
	padding-bottom: 20px;
}



#dx-steps #it-keiei {
	position: relative;
	background: #d9eef8;
	display: flex;
	flex-direction: column;
	align-items: center;
}

#dx-steps #it-keiei > p {
	writing-mode: vertical-rl;
	font-size: 1.2em;
	font-weight: bold;
	color: #2E67A3;
	letter-spacing: 2px;
}

#dx-steps #it-keiei > label {
	position: absolute;
	display: flex;
	justify-content: center;
	font-size: 0.6em;
	align-items: center;
	background: #d9eef8;
	border-radius: 50px;
	width: 60px;
	height: 60px;
	top: 25px;
	right: -100px;
	font-weight: bold;
	cursor: pointer;
	border: 2px solid #FFF;
	user-select: none;
}

#dx-steps #it-keiei > label:hover {
	box-shadow: 0 0 10px 10px rgba(247, 223, 188, 1);
	transition: 0.4s;
}

#dx-steps #it-keiei > label:before {
	position: absolute;
	display: block;
	content: "";
	border: 1px solid #000;
	width: 80px;
	height: 0px;
	top: 72px;;
	left: -62px;
	transform: rotate( -40deg );
}

#dx-steps input:checked ~ #it-keiei > label {
	display: none;	
}
#dx-steps input {
	display: none;
}
#dx-steps input ~ #dx-steps-steps .it-keiei-open {
	height: 0;
	overflow: hidden;
}
#dx-steps input:checked ~ #dx-steps-steps .it-keiei-open {
	position: relative;
	background: #FFF;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	padding: 50px;
	width: 100%;
	height: auto;
	border: 5px solid #D9EEF8;
	border-left-width: 0;
	transition: 0.3s;
}
.it-keiei-open {
	position: relative;
}
.it-keiei-open dt {
	text-align: center;
	font-weight: bold;
	margin-bottom: 20px;
}
.it-keiei-open dt span {
	color: #143473;
	font-size: 2em;
}
.it-keiei-open dd label {
	position: absolute;
	font-weight: bold;
	font-size: 2em;
	top: 0;
	right: 10px;
	cursor: pointer;
}
.it-keiei-open dd label:hover {
	color: #555;
}
.it-keiei-open a {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 15px;
}
#dx-steps #it-keiei img {
	background: linear-gradient(0deg,rgba(217, 238, 248, 1) 30%, rgba(255, 255, 255, 1) 30%);
	user-select: none;
}
#dx-steps-steps {
	padding-top: 210px;
}


@media screen and (max-width: 1400px) {
	#dx-steps-steps {
		padding-top: 15.2%;
	}
}
@media screen and (max-width: 768px) {
	.dx-each-steps.step1, .dx-each-steps.step4 {
		flex-wrap: wrap-reverse;
	}
	.dx-each-steps.step2-3, .dx-each-steps.step5 {
		flex-wrap: wrap;
	}
	
	.dx-each-steps.step2-3 ul li:before, .dx-each-steps.step4 ul li:before {
		display: none;
	}
	.dx-each-steps.step2-3 ul li a, .dx-each-steps.step4 ul li a {
		display: block;
		text-align: center;
		border: 1px solid #CCC;
		background: #FFF;
		padding: 10px 5px;
	}
	.dx-each-steps div {
		padding: 20px 10px;
	}
}