/* ------------------------------
 メインタイトルなど
------------------------------ */
.w230 {
    width: 230px;
}
.mt5 {
    margin-top: 5px;
}
/* ------------------------------
 PC用限定CSS
------------------------------ */
@media print, screen and (min-width: 768px) {

}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {

}
/* ------------------------------
 お問い合わせ
------------------------------ */
/*テーブル*/
.contents table {
    margin-bottom: 50px;
}
.contents table th {
    width: 22%;
    vertical-align: top; 
}
.contents table th span {
    display: block;
    float: right;
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    background-color: #d90048;
    padding: 3px 7px;
    margin-top: 4px;
    border-radius: 9px;
}
.contents table th span.any {
    background-color: #858589;
}
/*フォーム*/
label {
   cursor: pointer;
}
textarea::placeholder,
input::placeholder {
    font-weight: bold;
	color: #cccccc;
}
input[type='text'],
textarea {
	-webkit-appearance: none;
	width: 100%;    
    padding: 4px 10px;
    border: 1px solid #c0c0c0;
	color: #000;
	line-height: 1.5;
    font-size: 15px;
	font-weight: 500;
	text-align: left;
	vertical-align: middle;
    -webkit-appearance: none;
    border-radius: 0;
}
input[type='text']:focus,
textarea:focus {
	outline: 0;
	box-shadow: 0 0 3px 3px #e0e0e0 inset;
}
input[type='text']:disabled,
textarea:disabled {
	background-color: #ddd;
	cursor: default;
}
textarea {
	height: calc( 2em * 5 );
}
input[type='text'].address1 {
    display: inline-block;
    width: 204px;
    margin-right: 15px;
}
input[type='text'].address1,
#city,
.address2 {
    margin-bottom: 10px;
}
/* セレクトボックス */
/* プルダウン装飾 */
.address2,
.time {
	position: relative;
    display: block;
	cursor: pointer;
    max-width: 230px;
}
.address2::before,
.time::before {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	top: 0;
	width: 33px;
	height: 33px;
	background-color: #c0c0c0;
	cursor: pointer;
}
.address2::after,
.time::after {
    content: "";
	position: absolute;
    right: 11px;
    top: 10px;
    display: inline-block;
    margin: 0 auto;
    width: 8px;
    height: 8px;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
}
.address2 select,
.time select {
	font-size: 1.6rem;
	width: 100%;
	border-radius: 0;
	position: relative;
	height: 33px;
	line-height: 33px;
	padding: 0 32px 0 8px;
	border: solid 1px #c0c0c0;
	background: transparent;
	vertical-align: middle;
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	cursor: pointer;
}
/*チェックボックス*/
.check-boxes {
    margin-bottom: 20px;
}
input[type="checkbox"] {
    margin-right: 5px;
    vertical-align: baseline;
    visibility: hidden;
}
input[type=checkbox] + span {
	width: 16px;
	height: 16px;
    border: 1px solid #c0c0c0;
	display: inline-block;
	vertical-align: top;
	margin-top: 6px;
	margin-right: 5px;
	position: relative;
}
input[type=checkbox] + span:before {
	content: '';
	display: block;
	width: 8px;
	height: 8px;
	background-color: transparent;
	border-radius: 10%;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
input[type=checkbox]:checked + span:before {
	background-color: #d90048;
}
/*ボタン*/
button.btn {
	position: relative;
	display: inline-block; 
	min-width: 300px;
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	color: #fff;
	border-radius: 35px; 
    background-color: #d90048;  
    padding: 21px 45px;
	-webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}
button.btn:not(:disabled) {
    cursor: pointer;
}
button.btn::after {
	content: "";
	position: absolute;
	display: inline-block;
	width: 8px;
	height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
	right: 25px;
	top: 0;
	bottom: 0;
	margin: auto;
    transform: rotate(45deg);
}
button.btn:disabled {
    color: #fff;
    background-color: #afafb2;
    border-color: #afafb2;
}
button.btn:not(:disabled):hover,
button.btn:not(:disabled):focus {
    opacity: .7;
}
button.btn.back {
    background-color: #afafb2;
}
button.btn.back::after {
    transform: rotate(-135deg);
    right: auto;
    left: 25px;
}
.zip_srch {
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    background: #4d4d4d;
    padding: 9px 18px;
    border-radius: 18px;
    cursor: pointer;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    margin-top: -3px;
    vertical-align: top;
}
.zip_srch:hover {
    opacity: .7;
}
/* ------------------------------
 PC用限定CSS
------------------------------ */
@media print, screen and (min-width: 768px) {
    /*フォーム*/
    label + label {
        margin-left: 2em;
    }
    /*ボタン*/
    button.btn.back {
        float: left;
        min-width: 200px;
    }
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
    /*フォーム*/
    .contents table {
        margin-bottom: 30px;
    }

    input[type='text'], 
    textarea {
        font-size: 16px;
    }
    input[type='text'].address1 {
        width: 160px;
    }
    button.btn.back {
        margin-bottom: 20px;
    }
}