﻿@charset "UTF-8";

html, body, div, span, iframe, h1, h2, h3, h4, h5, h6, p, em, img, small, strong, var, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	font-style: normal;
	font-weight: normal;
	vertical-align: baseline;
	background: transparent;
}
html {
	display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
	flex-direction: column;
}

article, aside, figcaption, figure, footer, header,  menu, nav, section {
	display: block;
}
ul {
	list-style: none;
}
a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
input, select, textarea {
	vertical-align: middle;
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-size: 16px;
}
select::-ms-expand {
    display: none;
}
img {
	max-width: 100%;
	height: auto;
	border: none;
	vertical-align: middle;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 100;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 200;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 300;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold;
}
body {
	min-height: 100vh;
	display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
	flex-direction: column;
	background: #f3f3f3;
	font-size: 16px;
	font-family: "Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
	line-height: 1.6;
	color: #333;
}
@media all and (-ms-high-contrast:none) {
body {
	font-family: "メイリオ",Meiryo,"游ゴシック",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}
}
@media only screen and (max-width: 800px) {
body{
	min-width: 0px;
}
}
/************************************ リンク*/
a:link,a:visited {
	color: #333;
	text-decoration: none;
}
a:hover,a:active {
	text-decoration: none;
}
.text-center {
	text-align: center !important;
}
header {
	background: #1c2c59;
	padding: 20px;
	text-align: center;
}
.container {
	width: 1024px;
	margin: 0 auto;
	padding: 20px 0;
}
p {
	font-size: 14px;
	margin-bottom: 10px;
}
.step-info {
	width: 100%;
	display: flex;
	margin-bottom: 30px;
}
.step-info li {
	position: relative;
	width: calc(100% / 3);
	height: 40px;
	line-height: 40px;
	background: #3498db;
	font-size: 16px;
	color: #fff;
	text-align: center;
	margin-left: 5px; 
	padding: 0 20px;
}
.step-info li::before {
	content: "";  
	border-top: 20px solid transparent;
	border-bottom: 20px solid transparent;
	border-left: 20px solid #f3f3f3;
	position: absolute;
	left: 0;
	top: 0;
}
.step-info li::after {
	content: "";  
	border-top: 20px solid transparent;
	border-bottom: 20px solid transparent;
	position: absolute;
	right: -20px;
	top: 0;
	z-index: 1;
}
.step-info li:nth-of-type(1) {
	background: #2ac278;
}
.step-info li:nth-of-type(1)::after {
	border-left: 20px solid #2ac278;
}
.step-info li:nth-of-type(2) {
	background: #ed697c;
}
.step-info li:nth-of-type(2)::after {
	border-left: 20px solid #ed697c;
}
.step-info li:nth-of-type(3) {
	background: #15bbde;
}
.step-info li:nth-of-type(3)::after {
	border-left: 20px solid #15bbde;
}
.step-info li:nth-of-type(1)::before,
.step-info li:nth-of-type(3)::after {
	display: none; 
}
.area_input,
.area_result {
	background:  #fff;
	border-radius: 10px;
	padding: 30px;
}
.area_input dl {
	padding: 20px 0;
}
.area_input dl:first-of-type {
	border-bottom: dotted 1px #d9d9d9;
}
.area_input dl {
	display: table;
	width: 100%;
}
.area_input dl dt,
.area_input dl dd {
	display: table-cell;
	vertical-align: top;
}
.area_input dl dt {
	width: 10%;
}
.area_input dl dd {
	width: 90%;
}
.area_input dl dd input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	background: #fff;
	border: solid 1px #ccc;
	border-radius: 3px;
	padding: 6px 10px;
}
.area_input dl dd ul li {
	margin-bottom: 20px;
}
.area_input dl dd ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
}
.area_input dl dd ul li {
	width: 48%;
}
.area_input dl dd ul li input {
	width: 100%;
	box-sizing: border-box;
}
.btn a,
.btn input {
	display: inline-block;
	width: 120px;
	background: #1c2c59;
	border-radius: 30px;
	color: #fff;
	padding: 8px 0;
	cursor: pointer;
}
.btn a:hover,
.btn input:hover {
	opacity: .5
}
.area_result table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	font-size: .85rem;
	margin-bottom: 30px;
}
.area_result table th,
.area_result table td {
	padding: 8px 10px;
	text-align: left;
}
.area_result table thead {
	background: #1c2c59;
	border: solid #1c2c59;
	border-width: 0 1px 0 1px;
	color: #fff;
}
.area_result table th:not(:last-of-type) {
	border-right: solid 1px #fff;
}
.area_result table tbody {
	border: solid #d9d9d9;
	border-width: 0 1px 1px 1px;
}
.area_result table tbody tr:not(:last-of-type) {
	border-bottom: dotted 1px #d9d9d9;
}
.area_result table tbody tr:nth-of-type(even) td {
	background: #f3f3f3;
}
.area_result table td:not(:last-of-type) {
	border-right: solid 1px #d9d9d9;
}
footer {
	background: #1c2c59;
	color: #fff;
	font-size: .8rem;
	margin-top: auto;
	padding: 10px;
	text-align: center;
}