@charset "UTF-8";
body {
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Osaka, sans-serif;
  background: #fff;
	padding: 50px;
	margin: 0; }
	
.contents h1{
	color: #2ABFD1;
	font-size: 28px;
	text-align: center;
	padding: 0;
	margin: 0; }
	
.contents .link {
  display: block;
  width: 290px;
	font-size: 14px;
	text-decoration: none;
  text-align: center;
  color: #fff;
  padding: 9px 0;
  background: #2ABFD1;
  border-radius: 2px;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  -ms-border-radius: 2px;
	margin: 30px auto 0 auto; }

.contents .link:hover {
  opacity: 0.7; }

.contents .box {
	position: relative;
	margin-top: 30px;
	min-height: 122px; }

.contents .box .pic {
	position:absolute;
	left: 0px;
	top: 0px;
	width:122px; }

.contents .box .pic img {
	width: 100%;
	height: auto; }

.contents .box .txt {
	margin-left: 162px; }

.contents .box .txt h2 {
	font-size: 28px;
	color: #2ABFD1;
	margin: 0; }

.contents .box .txt h3 {
	font-size: 18px;
	margin: 5px 0 0 0; }

.contents .box .txt h3 span {
	color: #2ABFD1; }

.contents .box .txt h4 {
	font-size: 16px;
	margin: 20px 0 0 0;
	padding-bottom: 10px;
	border-bottom: 1px solid #e2e2e2 }

.contents .box .txt p {
	font-size: 14px;
	margin: 10px 0 0 0; }
	
.contents .box .txt p.center {
	text-align: center;
	color: #2ABFD1; }

.contents .box .txt p span {
	color: #2ABFD1; }

.contents .box .txt p.note {
	font-size: 12px;
	color: #2ABFD1; }
	
.contents .step {
  position: relative;
  border-bottom: 1px solid #e2e2e2;
  padding-bottom: 40px;
  margin-bottom: 40px;
	min-height: 70px; }
	
.contents .box + .step {
  border-top: 1px solid #e2e2e2;
  padding-top: 40px;
  margin-top: 20px; }

.contents .step:last-child {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0; }

.contents .step::before {
  bottom: -23px;
  left: 50%;
  vertical-align: middle;
  content: "";
  position: absolute;
  width: 46px;
  height: 46px;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  margin-left: -23px; }

.contents .step::before {
  background: #2ABFD1; }

.contents .step::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  content: "";
  width: 8px;
  height: 8px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  margin-bottom: -5px;
  margin-left: -5px; }

.contents .step.last::before,
.contents .step.last::after {
  display: none; }

.contents .step .ttl {
	position: absolute;
	left: 0px;
	top: 0px;
	width:122px;
	color: #ddd;
  font-family: "Roboto";
	text-align: center; }

.contents .box + .step .ttl {
	top: 40px; }
	
.contents .step .ttl strong {
	display: block;
	font-size: 52px; }

.contents .step .ttl span {
	display: block;
	font-size: 22px; }
	
.contents .step .txt {
	margin-left: 162px; }
	
.contents .step .txt h4 {
	font-size: 18px;
	margin: 0; }
	
.contents .step .txt h4 span {
	color: #2ABFD1; }
	
.contents .step .txt p {
	font-size: 14px;
	margin: 10px 0 0 1em;
	text-indent:-1em; }
@media screen and (max-width: 640px) {
body {
	padding: 20px; }
	
.contents h1{
	font-size: 16px; }
	
.contents .link {
	width: 250px;
	font-size: 12px;
	padding: 7px 0;
	margin: 20px auto 0 auto; }

.contents .box {
	margin-top: 20px;
	min-height: 0px; }

.contents .box .txt {
	margin-left: 0px; }

.contents .box .txt h2 {
	font-size: 16px;
	text-align: center; }

.contents .box .txt h3 {
	font-size: 13px; }

.contents .box .txt h4 {
	font-size: 12px; }

.contents .box .txt p {
	font-size: 12px; }

.contents .box .pic {
	position: relative;
	width:100px;
	margin: 0 auto; }
	
.contents .step.last {
	padding-bottom: 20px;
	margin-bottom: 0; }
	
.contents .step {
	padding-bottom: 35px;
	margin-bottom: 35px;
	min-height: 50px; }
	
.contents .step::before {
	bottom: -15px;
	width: 30px;
	height: 30px;
	margin-left: -15px; }
	
.contents .step::after {
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	margin-bottom: -3px;
	margin-left: -4px; }

.contents .step .ttl {
	width: 60px; }
	
.contents .step .ttl strong {
	font-size: 36px; }

.contents .step .ttl span {
	font-size: 16px; }
	
.contents .step .txt {
	margin-left: 70px; }
	
.contents .step .txt h4 {
	font-size: 13px; }
	
.contents .step .txt p {
	font-size: 12px; } }