html{
    position: relative;
    min-height: 100%;
}
body{
	border-top: 4px solid #23367A;
	background: #FFFFFF;
    margin-bottom: 80px;
}
header{
	display: block;
	position: relative;
	height: 72px;
	 -webkit-box-shadow: 1px 2px 4px  rgba(51,51,51,0.25);
	-moz-box-shadow: 1px 2px 4px  rgba(51,51,51,0.25);
	box-shadow: 1px 2px 4px  rgba(51,51,51,0.25);
	background: #FFFFFF;

}
header::before{
	content: "";
	position: absolute;
	top: -4px;
	left: 0px;
	border-left: 36px solid #CF7268;
	border-right: 36px solid #E69B3A;
	width:0px;
	height:4px;
}
header::after{
	content: "";
	position: absolute;
	top: -4px;
	left: 64px;
	border-left: 36px solid #5D89C6;
	border-right: 36px solid #64AE95;
	width:0px;
	height:4px;
}
header article{
	display: block;
	position: relative;
	max-width: 1000px;
	height: 72px;
	margin: 0px auto 0px auto;
}
header h1{
	display: block;
	position: absolute;
	top: 8px;
	left: 12px;
	width: 100%;
	max-width: 200px;
	height: 48px;
	color: #23367A;
	font-size: 62.5%;
	font-weight: normal;
	text-align: center;
	letter-spacing: -0.01em;
	margin: 0px 0px 0px 0px;
	background-size: contain;
}
footer{
	display: block;
	position: absolute;
    bottom: 0px;
    width:100%;
	height: 80px;
	line-height: 100%;
	background: #23367A;
}
footer article{
	display: block;
	position: relative;
	max-width: 1000px;
    padding: 0px 8px 0px 8px;
	margin: 0px auto 0px auto;
}
footer .Copyright{
	display: block;
    color: #FFFFFF;
    text-align: center;
    font-size: 87.5%;
    line-height: 40px;
    clear: both;
}
footer a{
	display: inline-block;
    float: right;
    height: 40px;
    padding: 0px 8px 16px 8px;
}
footer a img{
	display: block;
    height: 24px;
}
aside {
	
}
aside ul{
	
}
aside ul li{
	font-size: 75%;
	text-indent: -1em;
	margin: 12px 0px 0px 1em;
}

#Contents {
	display: block;
	max-width: 1000px;
	min-height: calc(100vh - 152px);
	margin: 0px auto 0px auto;
	padding: 0px 0px 0px 0px;
	background: #FFFFFF;
	 -webkit-box-shadow: 1px 2px 10px  rgba(51,51,51,0.25);
	-moz-box-shadow: 1px 2px 10px  rgba(51,51,51,0.25);
	box-shadow: 1px 2px 10px  rgba(51,51,51,0.25);
}
article{
	display: block;
	max-width: 1000px;
	padding: 0px 12px 12px 12px;
	margin: 36px auto 36px auto;
}
h2 {
	font-size: 225.0%;
	line-height: 140%;
	text-align: center;
	margin: 48px 0px 24px 0px
}
h3 {
	display: block;
	color: #A4AAB2;
	text-align: center;
	font-size: 125.0%;
	margin: 36px 0px 12px 0px
}
h4 {
	display: block;
	color: #333333;
	font-size: 112.5%;
	margin: 0px 0px 0px 0px;
}

::-webkit-input-placeholder { /* WebKit, Blink, Edge */
	color:#CCCCCC;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
	color:#CCCCCC;
}
::placeholder{ /* Others */
	color:#CCCCCC;
}

input:focus ,
textarea:focus {
	outline: 0 !important;
	box-shadow: 0 !important;
	border: 2px solid #FFD24D !important;
	background-color: #FFEFBF !important;
}
input[type="text"],
input[type="tel"],
input[type="number"],
input[type="email"],
textarea{
	font: 1.000em/1.400em "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #666666;
	border: none;
}
input[type="text"],
input[type="tel"],
input[type="number"],
input[type="email"] {
	width: 100%;
	max-width: 480px;
	min-height: 52px;
	font-size: 100.0%;
	line-height: 48px;
	padding: 0px 8px 0px 8px;
	border: 2px solid #CCCCCC;
}
input[type="text"].widthhalf,
input[type="tel"].widthhalf,
input[type="number"].widthhalf,
input[type="email"] .widthhalf{
	float: left;
	width: 49%;
	margin: 0px 2% 0px 0px;
}
input[type="text"].widthhalf:last-child,
input[type="tel"].widthhalf:last-child,
input[type="number"].widthhalf:last-child,
input[type="email"] .widthhalf:last-child{
	margin: 0%;
}
input[type="text"].widthnarrow,
input[type="tel"].widthnarrow,
input[type="number"].widthnarrow,
input[type="email"] .widthnarrow{
	width: 120px;
}
input[type="number"]{
	padding: 0px 0px 0px 8px;
}
input[type="text"].widthnone,
input[type="tel"].widthnone,
input[type="number"].widthnone,
input[type="email"] .widthnone{
	display: inline-block;
	width: auto;
	max-width: auto;
}
.radio input{
  display: none;
}
.radio input + label{
	position:relative;
    display: inline-block;
	padding: 8px 8px 8px 24px;
	margin: 0px 0px 0px 8px;
}
.radio input + label::before{
	content: "";
	display: block;
	position: absolute;
	top: 9px;
	left: 0;
	width: 15px;
	height: 15px;
	border: 1px solid #999999;
	border-radius: 50%;
}
.radio input:checked + label{
	color: #23367A;
}
.radio input:checked + label::after{
	content: "";
	display: block;
	position: absolute;
	top: 12px;
	left: 3px;
	width: 11px;
	height: 11px;
	background: #23367A;
	border-radius: 50%;
}
.checkbox input{
	display: none;
}
.checkbox label span{
	position:relative;
    display: inline-block;
	padding: 8px 8px 8px 24px;
	margin: 0px 0px 0px 8px;
}
.checkbox label span::before{
	content: "";
	display: block;
	position: absolute;
    top: 9px;
	left: 0;
	width: 15px;
	height: 15px;
	border: 1px solid #999999;
	border-radius: 4px;
}
.checkbox input:checked + span{
	color: #23367A;
}
.checkbox input:checked + span::after{
	content: "";
	display: block;
	position: absolute;
	top: 4px;
	left: 5px;
	width: 7px;
	height: 14px;
	transform: rotate(40deg);
	border-bottom: 3px solid #23367A;
	border-right: 3px solid #23367A;
}
textarea {
	display: block;
	width: 100%;
	max-width: 480px;
	height: 220px;
	font-size: 100.0%;
	padding: 8px;
	border: 2px solid #CCCCCC;
}
.select div.box {
	display: inline-block;
	position: relative;
	width: auto;
	text-align: center;
	vertical-align: middle;
	border: 2px solid #CCCCCC;
	overflow: hidden;
}
.select div select {
	width: 100%;;
	height: 48px;
	color: #666666;
	font-size: 112.5%;
	line-height: 48px;
	text-indent: 0.01px;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-img: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	margin-right: 28px;

}
.select div select::-ms-expand {
	display: none;
}
.select div.box::before {
	position: absolute;
	top: 20px;
	right: 12px;
	width: 0;
	height: 0;
	padding: 0;
	content: '';
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #666666;
	pointer-events: none;
}
.select div.box select {
	padding: 0px 8px 0px 8px;
}


#Agreement label {
	display: inline-block;
	position: relative;
	font-size: 87.5%;
	line-height: 18px;
	padding: 0px 16px 8px 0px;
	cursor: pointer;
}
#Agreement label input[type="checkbox"] {
	display: none;
}
#Agreement label input[type="checkbox"] + span {
	display: inline-block;
	position: relative;
	vertical-align: text-top;
	width: 14px;
	height: 14px;
	margin: 2px 8px 0px 0px;
	background: #CCCCCC;
}
#Agreement label input[type="checkbox"] + span i {
	display: inline-block;
	position: absolute;
	right: 2px;
	bottom: 2px;
	width: 10px;
	height: 10px;
	background: #FFFFFF;
}
#Agreement label input[type="checkbox"]:checked + span i {
	transition: width 0.1s ease-out 0s;
	width: 0;
}
#Agreement label input[type="checkbox"]:checked + span:before {
	content: "";
	display: block;
	position: absolute;
	top: 6px;
	left: 4px;
	width: 10px;
	height: 2px;
	background: #FFFFFF;
	-webkit-transform: rotate(-45deg);
	   -moz-transform: rotate(-45deg);
		 -o-transform: rotate(-45deg);
			transform: rotate(-45deg);
	z-index: 2;
}
#Agreement label input[type="checkbox"]:checked + span:after {
	content: "";
	display: block;
	position: absolute;
	top: 7px;
	left: 1px;
	width: 6px;
	height: 2px;
	background: #FFFFFF;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
	z-index: 2;
}
.error{
	background: #FFEAEC !important;
	border: 2px solid #FFDBDF !important;
}

button {
	display: block;
	width: 100%;
	max-width: 240px;
	color: #FFFFFF;
	font-size: 112.5%;
	font-weight: bold;
	text-align: center;
	line-height: 56px;
	margin: 0px auto 12px auto;
	background: #23367A;
	cursor: pointer;
	transition: all .3s ease;
	border: none; 
}
button:disabled {
	background: #EEEEEE;
	cursor: inherit;
}
button.Edit {
	background: #A4AAB3;
}
#Edit dl {
	display: block;
	width: 100%;
	max-width: 480px;
	margin: 24px auto;
}
#Edit dl dt {
	font-size: 112.5%;
	margin: 0px;
	padding: 11px 0px;
	clear: both;
}
#Edit dl dt span {
	display: inline-block;
	float: right;
	color: #FFFFFF;
	font-size: 75.0%;
	line-height: 24px;
	vertical-align: middle;
	background: #23367A;
	padding: 0px 10px;
	margin: 8px 0px;
}
#Edit dl dt span.elective {
	background: #A4AAB2;
}
#Edit dl dd{
	margin: 0px;
	word-wrap: break-word;
	clear: both;
}
#Confirm dl {
	display:block;
	width:100%;
	max-width: 720px;
	border-left: 3px solid #DFDFDF;
	border-right: 3px solid #DFDFDF;
	border-bottom: 1px solid #DFDFDF;
	margin: 0px auto;
	overflow: hidden;
}
#Confirm dl:first-of-type {
	border-top: 3px solid #DFDFDF;
	margin: 36px auto 0px auto;
}
#Confirm dl.separate {
	border-top: 2px solid #DFDFDF;
}
#Confirm dl:last-of-type {
	border-bottom: 3px solid #DFDFDF;
}
#Confirm dl dt {
	display: block;
	width: 100%;
	line-height: 125%;
	padding: 16px 16px;
	margin: 0px;
	background: #FAFAFA;
}
#Confirm dl dd{
	display: block;
	width: 100%;
	line-height: 140%;
	background: #FFFFFF;
	word-wrap: break-word;
	padding: 16px 16px;
	margin: 0px;
}
#Step {
	display: block;
	width:100%;
	max-width: 720px;
	margin: 36px auto 36px auto; 
}
#Step #Step{
	display: block;
	width:100;
	margin: 0px auto 16px auto; 
	overflow: hidden;
}
#Step ul {
	display: block;
	width: 100%;
	overflow: hidden;
	padding: 0px 0px 0px 0px;
	text-align: center;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	-o-border-radius: 8px;
	-ms-border-radius: 8px;
	background: #EEEEEE;
}
#Step li {
	display: table-cell;
	position: relative;
	float: left;
	width: 33%;
	color: #A4AAB2;
	font-size: 112.5%;
	letter-spacing: 0;
	font-weight: bold;
	text-align: center;
	padding: 16px 10px 16px 0px;
	margin: 0% 0% 0% 0%;
}
#Step li:nth-of-type(2) {
}
#Step li:last-of-type {
	width: 34%;
}
#Step li.active {
	color: #FFFFFF;
	background: #23367A;
}
#Step li.done {
	color: #FFFFFF;
	background: #23367A;
	border-right: 1px solid #FFFFFF;
}
#Step li b {
	display: none;
}
#Information {
	display: block;
}
#Information p {
	display: block;
	width: 100%;
	max-width: 480px;
	margin: 0px auto 8px auto; 
}
#Information ul.error {
	list-style-type: none;
	width: 100%;
	max-width: 720px;
	padding: 16px 24px;
	color: #BA422D;
	background-color: #F9EAEB;
	border: 1px solid #F5DCDE;
	border-radius: 4px;
	margin: 0px auto 24px auto;
}
#Information ul.error li {
	position: relative;
	display: block;
	margin: 0px 0px 8px 0px;
	padding-left: 18px;
}
#Information ul.error li:last-of-type {
	margin: 0px 0px 0px 0px;
}
#Information ul.error li::after {
	content: "";
	display: block;
	position: absolute;
	left: 0px;
	top: 6px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: #BA422D;
}
#Agreement {
	display: block;
	margin: 64px auto; 
}
#Agreement p {
	width: 100%;
	max-width: 480px;
}
#Agreement h3 {
	color: #23367A;
}
#Agreement .Policy{
	display: block;
	width: 100%;
	max-width: 480px;
	height: 220px;
	font-size: 87.5%;
	padding: 12px;
	margin: 0px auto 36px auto;
	border: 2px solid #23367A;
	overflow: auto;
}
#Agreement label {
	display: block;
	position: relative;
	width: 100%;
	max-width: 480px;
	font-weight: bold;
	font-size: 87.5%;
	line-height: inherit;
	letter-spacing: 0px;
	padding: 0px;
	margin: 0px auto 0px auto;
	cursor: pointer;
}
#Agreement label input[type="checkbox"] + span {
	display: inline-block;
	position: relative;
	vertical-align: middle;
	width: 24px;
	height: 24px;
	margin: 0px 4px 0px 0px;
	background: #23367A;
}
#Agreement label input[type="checkbox"] + span i {
	display: inline-block;
	position: absolute;
	right: 2px;
	bottom: 2px;
	width: 20px;
	height: 20px;
	background: #FFFFFF;
}
#Agreement label input[type="checkbox"]:checked + span i {
	transition: width 0.1s ease-out 0s;
	width: 0;
}
#Agreement label input[type="checkbox"]:checked + span:before {
	content: "";
	display: block;
	position: absolute;
	top: 11px;
	left: 6px;
	width: 18px;
	height: 2px;
	background: #FFFFFF;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
	z-index: 2;
}
#Agreement label input[type="checkbox"]:checked + span:after {
	content: "";
	display: block;
	position: absolute;
	top: 15px;
	left: 3px;
	width: 8px;
	height: 2px;
	background: #FFFFFF;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
	z-index: 2;
}
#Post {
	display: block;
	text-align: center;
	margin: 64px auto; 
}
#Post p {
	display: block;
	color: #A4AAB2;
	font-size: 112.5%;
	text-align: center;
	margin: 64px auto; 
}
#Post p {
	display: block;
	color: #A4AAB2;
	font-size: 112.5%;
	text-align: center;
	margin: 64px auto; 
}
#Send div{
	display: block;
	width:100%;
	max-width: 720px;
	margin: 36px auto 36px auto; 
}
#Send h3{
	color: #23367A;
    margin: 12px 0px 12px 0px;
}
#Send p{
	display: block;
	width:100%;
	margin: 0px 0px 12px 0px; 
}
#Send ul {
	list-style-type: none;
	width: 100%;
	max-width: 640px;
	padding: 16px 24px;
	color: #666666;
	background: #FCFCFC;
	border: 1px solid #CCCCCC;
	border-radius: 4px;
	margin: 64px auto 64px auto; 
}
#Send ul li {
	position: relative;
	display: block;
	margin: 0px 0px 8px 0px;
	padding-left: 18px;
}
#Send ul li:last-of-type {
	margin: 0px 0px 0px 0px;
}
#Send ul li::after {
	content: "";
	display: block;
	position: absolute;
	left: 0px;
	top: 6px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: #666666;
}



#Send a.Restart {
	display: block;
	width: 100%;
	max-width: 360px;
	color: #FFFFFF;
	font-size: 150.0%;
	text-align: center;
	line-height: 80px;
	margin: 36px auto 36px auto;
	background: #23367A;
	cursor: pointer;
}
@media screen and (min-width: 481px) {
}
@media screen and (min-width: 541px) {
	#Confirm dl dt {
		width: 34%;
		float: left;
	}
	#Confirm dl {
		display:flex;
		width:100%;
		max-width: 720px;
		border-left: 3px solid #DFDFDF;
		border-right: 3px solid #DFDFDF;
		border-bottom: 1px solid #DFDFDF;
		margin: 0px auto;
		overflow: hidden;
	}
   #Confirm dl dd{
		width: 66%;
		float: left;
	}
	#Step li b {
		display: inline;
	}
}
@media screen and (min-width: 769px) {
	header::before{
		border-left: 64px solid #CF7268;
		border-right: 64px solid #E69B3A;
	}
	header::after{
		left:128px;
		border-left: 64px solid #5D89C6;
		border-right: 64px solid #64AE95;
	}
    footer{
        height: 64px;
        line-height: 100%;
        background: #23367A;
    }
    footer .Copyright{
        display: inline-block;
        color: #FFFFFF;
        text-align: center;
        font-size: 87.5%;
        line-height: 64px;
        clear: both;
    }
    footer a{
        display: inline-block;
        float: right;
        height: 64px;
        padding: 17px 0px 17px 0px;
    }
    footer a img{
        display: block;
        height: 30px;
    }
} 
