body {
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	width: 100%;
	max-width: 960px;
    margin: 0 auto;
    padding: 0 0 50px;
    background: #ffe;
    font-size: 14px;
    overflow-X: hidden;
}
article {

}
.hidden {
	display: none !important;
}
h1 {
	width: 100%;
	margin: 0;
	padding: 20px 0;
    text-align: center;
    font-size: 2rem;
}
.explain,
.usageFee,
.toExplain {
	float: right;
    clear: both;
	display: inline-block;
	margin-bottom: 30px;
	font-size: 1.2em;
	color: #ffae00;
}
.explain:before,
.usageFee:before,
.toExplain:before {
	content: "";
	display: inline-block;
	margin-right: .2em;
	border-top: solid .8em #ffae00;
	border-right: solid .4em transparent;
	border-left: solid .4em transparent;
}
.explain:hover,
.usageFee:hover,
.toExplain:hover {
	cursor: pointer;
	opacity: .5;
}
.step {
    position: relative;
    clear: both;
    display: flex;
    counter-reset: step;
}
.step:before {
	content: "";
	position: absolute;
	top: 35px;
	display: block;
	width: 100%;
	height: 20px;
	background: #ccc;
}
.step p {
    position: relative;
    width: calc(100% / 3);
    margin-top: 80px;
    text-align: center;
    counter-increment: step;
}
.step p:before {
    content: counter(step);
    position: absolute;
    top: -60px;
	left: 50%;
	transform: translateX(-50%); 
    display: inline-block;
    width: 50px;
    height: 50px;
    font-family: helvetica;
    font-size: 30px;
    line-height: 50px;
    background: #ffae00;
    border-radius: 50%;
    box-shadow: 0 0 0 5px #ffe;
}
.step p.current:before {
	color: #ffae00;
	background: #fff;
    box-shadow: 0 0 0 5px #ffe, inset 0 0 0 5px #ffae00;
}
section {
	width: 100%;
    background: #fff;
    padding-bottom: 30px;
}
h2 {
    margin: 0 0 30px;
    padding: 5px 0;
    text-align: center;
    font-size: 1.2rem;
	color: #000;
    background: #ffae00;
}
ul {
	display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    width: 95%;
    margin: 0 auto;
    padding: 0;
    list-style: none;
}
li {
    display: none;
    flex-wrap: wrap;
    align-items: flex-start;
    width: 20%;
    margin-bottom: 30px;
}
li:first-of-type {
    display: flex !important;
}
.image p {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    padding: 0 2em;
    color: #777;
    box-sizing: border-box;
}
.image p:before {
    content: "";
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    margin-right: .2em;
    background: url(../img/plus.png);
    background-size: cover;
}
.image p span {
	display: inline-block;
	margin-left: 1.5em;
	color: #ffae00;
}
input[type="file"] {
    display: none;
}
.imgWrap {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 90%;
    margin: auto;
    overflow: hidden;
}
.imgWrap img {
    width: 100%;
}
.thumb:hover {
    cursor: pointer;
    opacity: .5;
}
input {
    padding: .5em;
    font-size: 1em;
    border: solid 1px #ccc;
    box-sizing: border-box;
}
input:hover {
	cursor: pointer;
    border-color: #ffae00;
}
input:focus {
    border-color: #ffae00;
    outline: 0;
}
input[type="text"]:hover {
	cursor: text;
}
.image input[type="text"] {
    display: none;
    width: 90%;
    margin: 1em auto;
    box-sizing: border-box;
    font-size: 1em;
}
.image .selected input[type="text"] {
    display: block;
}
.image button {
    display: none;
    width: 90%;
    margin: auto;
    padding: .5em;
    font-size: 1em;
    background: #ffae00;
    border: none;
    box-sizing: border-box;
}
.image .selected button {
    display: block;
}
dl {
	display: flex;
	flex-wrap: wrap;
    width: 70%;
    margin: 0 auto;
}
 dt {
}
dd {
    margin: 0;
}
.overview dt {
    width: 10em;
    padding:  .5em 0;
}
.overview dd {
    width: calc(100% - 10em);
    display: flex;
	flex-wrap: wrap;
	align-items: center;
    margin-bottom: 20px;
}
.category div {
    position: relative;
    width: 100%;
    margin-bottom: 20px;
    padding: .5em;
    overflow: hidden;
    border: solid 1px #ccc;
    box-sizing: border-box;
}
.category div:last-of-type {
    margin: 0;
}
.category div::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    display: inline-block;
    width: 3em;
    height: 2.25em;
    background: #fff;
    pointer-events: none;
}
.category div:after {
    content: "";
    position: absolute;
    right: 1em;
    top: .25em;
    display: inline-block;
    width: 1em;
    height: 1em;
    border-right: solid 3px #ffae00;
    border-bottom: solid 3px #ffae00;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    pointer-events: none;
}
.category div:hover {
    border: solid 1px #ffae00;
    box-sizing: border-box;
}
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin: 0;
    padding: 0;
    font-size: 1em;
    vertical-align: middle;
    background: none transparent;
    color: inherit;
    border: 0;
    border-radius: 0;
    box-sizing: content-box;
    outline: none;
}
select:hover {
	cursor: pointer;
}
.category select {
    display: none;
    width: calc(100% + 4em);
}
.category select.on {
    display: block;
}
.overview p {
    margin:  .5em 0 1em;
    color: #777;
}
.overview input[type="text"] {
    width: 100%;
    margin: 0;
    box-sizing: border-box;
}
input[type="text"].short {
    width: auto;
    margin-right: 5px;
}
.unit {
    position: relative;
    display: inline-block;
    width: 7em;
    padding: .5em;
    border: solid 1px #ccc;
    box-sizing: border-box;
    overflow: hidden;
}
.unit:after {
    content: "";
    position: absolute;
    right: 1em;
    top: .25em;
    display: inline-block;
    width: 1em;
    height: 1em;
    border-right: solid 3px #ffae00;
    border-bottom: solid 3px #ffae00;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    pointer-events: none;
}
.unit:hover {
    border: solid 1px #ffae00;
    box-sizing: border-box;
}
.unit select {
    width: calc(100% + 4em);
}
input[type="radio"] {
	display: none;
    margin-right: .5em;
}
.overview label {
	display: flex;
	align-items: center;
    margin-right: .5em;
    padding: .5em 0;
}
.overview label:before {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-right: .5em;
    border: solid 1px #ccc;
    border-radius: 50%;
}
input[type="radio"]:checked + label:before {
	border-color: #ffae00;
	box-shadow: 0 0 0 4px #ffae00 inset;
}
.wrapHidden {
	display: none;
}
.some:checked ~ .wrapHidden {
	display: flex;
}
.details p,
.information p {
	width: 70%;
    margin: 0 auto 1em;
    color: #777;
}
h3 {
    width: 70%;
    margin: 0 auto 1em;
    font-size: 1em;
    font-weight: normal;
}
.details dl {
    display: block;
    width: 70%;
}
.details dt {
	margin-bottom: .5em;
}
.details dt:before {
    content: '\30FB';
}
.details dd {
    margin-bottom: 20px;
}
textarea {
    width: 100%;
    margin: 0;
    padding: .5em;
    border: solid 1px #ccc;
    box-sizing: border-box;
    font-size: 1em;
}
textarea:hover {
	border-color: #ffae00;
}
textarea:focus {
	border-color: #ffae00;
	outline: 0;
}
textarea[name="material"],
textarea[name="specification"] {
	color: #999;
}
.filled {
	color: #000!important;
}
.details .made_year {
    margin: 0 .5em 0 0;
}
.size {
	display: flex;
	margin-bottom: 10px;
}
.sizeItem {
	width: 4em;
	padding: .5em 0;
}
.shippingMethod{
	display: flex;
	flex-wrap: wrap;
}
.details label {
	display: flex;
	align-items: center;
    margin-right: .5em;
    padding: .5em 0;
}
.details label:before {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-right: .5em;
    border: solid 1px #ccc;
    border-radius: 50%;
}
.details .link {
    width: 100%;
}
.information dt {
    width: 10em;
    padding:  .5em 0;
}
.information dd {
    width: calc(100% - 10em);
    margin-bottom: 20px;
}
.position {
	width: 70%;
	margin: 0 auto 20px;
}
.position span {
	margin-right: 1em;
}
.position span:before {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-right: .5em;
	border: solid 1px #ccc;
	border-radius: 50%;
}
.position span.checked:before {
	border-color: #ffae00;
	box-shadow: 0 0 0 4px #ffae00 inset;
}
.department,
.department + dd,
.corporateName,
.corporateName + dd {
    display: none;
}
.department.on,
.department.on + dd,
.corporateName.on,
.corporateName.on + dd {
    display: block;
}
.information dd input[type="text"],
.information dd input[type="email"] {
    width: 100%;
}
button.prebtn,
button.backbtn,
button.dummySubmit {
    display: block;
    width: 50%;
    margin: auto;
    padding: .5em 0;
    font-size: 1rem;
    background: #ffae00;
	border: none;
	opacity: 1;
}
button.prebtn,
button.backbtn {
	margin: 30px auto 50px;
}
button.dummySubmit.off {
	background: gray;
	opacity: .5;
}
button.dummySubmit.off:hover {
	cursor: default;
}
button[type="submit"] {
	display: none;
}
button:hover {
    cursor: pointer;
    opacity: .8;
}
button:focus {
	outline: none;
}
.confirmation h1 {
	color: #ffae00;
}
.confirmation h2 {
	color: #ffae00;
	background: #fff;
	border: solid 3px #ffae00;
	box-sizing: border-box;
}
.noImage,
.notEnough {
    color: red;
    font-size: 1.2em;
    font-weight: bold;
}
.preview dl {
	padding-bottom: 30px;
}
.preview dt {
    width: 100%;
    margin-top: 5px;
    padding-top: 10px;
    border-bottom: dotted 1px #ccc;
}
.required.empty,
.required.empty + dd {
	background: #ffdead;
	font-weight: bold;
}
.input .required {
	position: relative;
}
.input .required:before {
	content: "\5FC5\9808";
	position: absolute;
	top: .25em;
	left: 0;
	transform: translate(-150%, 0);
	padding: 2px 5px;
	color: #ffae00;
	border: solid 1px #ffae00;
}
.required.empty:after {
	content: "\5FC5\9808";
	margin-left: 1em;
	padding: 2px 5px;
	color: red;
	border: solid 2px red;
	position: relative;
	top: -5px;
}
.premaker {
	margin-top: 20px;
}
.preview dd {
	width: 100%;
    margin: 0;
    padding: 2px 20px 8px;
}
.presel.ctg {
	padding-bottom: 0;
}
.preview dd p {
	display: inline;
    margin: 0;
}
.presel.hmradio + p:before {
	content: "："
}
.presizeItem {
	display:flex;
}
.presizeItem .item {
	width: 4em;
}
.check {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	width: 70%;
	margin: auto;
}
.checkArea {
	display: flex;
	align-items: center;
}
.checkArea:before {
	content: "";
	display: inline-block;
    width: 1.2em;
    height: 1.2em;
    margin-right: .5em;
    background: white;
    border: solid 1px gray;
    border-radius: 50%;
    box-sizing: border-box;
}
.checkArea:hover {
	cursor: pointer;
}
.checkArea.checked:before {
	border: none;
    box-shadow: inset 0 0 0 0.3em #ffae00;
}
.toContract {
	display: inline-block;
	margin-left: 1.7em;
	color: #ffae00;
	text-decoration: underline;
}
.toContract:hover {
	cursor: pointer;
	opacity: .5;
}
.check ~ p {
	width: 70%;
	margin: 30px auto;
	color: #ffae00;
}
.check ~ p span {
	font-weight: bold;
}
.check ~ p span::before,
.check ~ p span::after {
	content: '"';
}
article {
	animation: changeOpc 1s ease 0s 1 normal forwards;
}
.swal-title {
	color: red;
}
.swal-text {
	color: black;
	line-height: 1.8em;
}
.swal-button-container {
	width: 100%;
	text-align: center;
}
.swal-button {
	width: 80%;
 	padding: .5em 2em;
 	color: black;
 	background-color: #ffae00;
 	font-size: 16px;
 	font-weight: normal;
 	border: none;
 	border-radius: 0;
 	pointer-event: none;
}
.swal-button:active {
	background-color: #ffae00;
}
.swal-button:focus {
	box-shadow: none;
}
@keyframes changeOpc {
	0% {opacity: 0;}
	50% {opacity: 0;}
	100% {opacity: 1;}
}
@media (max-width: 1040px){
	body {
		padding: 0 20px;
		box-sizing: border-box;
	}
}
@media (max-width: 768px){
	body {
	    padding-bottom: 0;
	}
    li {
        width: 33%;
    }
}

@media (max-width: 500px){
	.checkArea {
		margin-bottom: 20px;
	}
	.toContract {
		width: 100%;
	}
}

@media (max-width: 414px){
	h1 {
		font-size: 1.5em;
	}
	.usageFee {
		float: none;
	}
    .step:before {
	    top: 10px;
	    height: 10px;
	}
    .step p {
	    margin-top: 40px;
	}
    .step p:before {
	    top: -40px;
	    display: inline-block;
	    width: 30px;
	    height: 30px;
	    font-size: 20px;
	    line-height: 30px;
	    box-shadow: 0 0 0 3px #ffe;
	}
	.step p.current:before {
	    box-shadow: 0 0 0 3px #ffe, inset 0 0 0 3px #ffae00;
	}
	.image p span {
		margin: .5em 0 0;
	}
    ul {
        width: 80%;
    }
    li {
        width: 100%;
    }  
    .imgWrap {
        width: 50%;
    }
    dl,
    .details h3 {
    	width: 90%!important;
    }
    .overview dd,
    .information dd {
        width: 100%;
    }
    .details p {
    	width: 90%;
    	text-align: left;
    }
    .details label {
    	width: 100%;
	}
    .input .required:before {
    	display: none;
    }
    .input .required:after {
		content: "\5FC5\9808";
		margin-left: 1em;
		padding: 2px 5px;
		color: #ffae00;
		border: solid 1px #ffae00;
	}
	.information dt {
	    width: 100%;
	}
	.check {
		width: 90%;
	}
	.check ~ p {
		width: 90%;
	}
}

