body {}

a img:hover {
 opacity: .5;
}

.container {
 margin-top: 0px;
 max-width: 700px;
 margin-bottom: 40px;
 padding: 0 5px;
}

header {
 background: #fff;
 /* position: fixed;*/
 top: 0;
 width: 100%;
 z-index: 1;
 margin-bottom: 10px;
}

.headerinner {
 padding: 10px 0;
 text-align: left;
}

.headerinner > h1 {
 font-size: 180%;
 font-family: "Sawarabi Gothic";
 letter-spacing: .2em;
 padding: 10px
}

.menu {
 display: block;
 background-color: #ada496;
 padding: 5px 10px;
}

.menu > p {
 text-align: right;
 color: #fff;
 font-family: "Sawarabi Gothic";
 font-size: 80%;
}

.menu > p a {
 color: #fff;
}

.footer {
 display: block;
 padding: 5px;
 text-align: center;
 color: #fff;
 font-size: small;
 background-color: #253993;
 width: 100%;
}

.form-signin {
 max-width: 400px;
 margin: auto;
 margin-bottom: 20px;
}

/* input 要素 */
#name,
#email,
#subject,
#email_check,
#tel {
 max-width: 400px;
}

#body {
 max-width: 640px;
}

h2 {
 font-size: 1.3em
}

p.form {
 margin: 0;
 margin-top: 1em;
 display: block;
 width: 100%;
 background-color: #9999993b;
}

.control > p {
 margin-top: 1em;
}

/* エラー表示 */
.error-js,
.error-php,
.error-php-email {
 color: red;
 display: inline-block;
 width: 100%;
}

.error-php-email {
 width: auto;
}

.submit {
 text-align: center;
}

/* check box radio*/
input[type=checkbox] {
 display: none;
}

.checkbox {
 box-sizing: border-box;
 cursor: pointer;
 display: block;
 padding: 0px 30px;
 position: relative;
 max-width: 30em;
}

.checkbox::before {
 background: #fff;
 border: 1px solid #ccc;
 border-radius: 3px;
 content: '';
 display: block;
 height: 16px;
 left: 5px;
 margin-top: -8px;
 position: absolute;
 top: 50%;
 width: 16px;
}

.checkbox::after {
 border-right: 6px solid #00cccc;
 border-bottom: 3px solid #00cccc;
 content: '';
 display: block;
 height: 20px;
 left: 7px;
 margin-top: -16px;
 opacity: 0;
 position: absolute;
 top: 50%;
 transform: rotate(45deg);
 width: 9px;
}

input[type=checkbox]:checked + .checkbox::before {
 border-color: #666;
}

input[type=checkbox]:checked + .checkbox::after {
 opacity: 1;
}

/* ラジオボタン02 */
input[type=radio] {
 display: none;
}

.radio {
 box-sizing: border-box;
 cursor: pointer;
 display: inline-block;
 padding: 0px 30px;
 position: relative;
 width: auto;
}

.radio::before {
 background: #fff;
 border: 1px solid #ccc;
 border-radius: 50%;
 content: '';
 display: block;
 height: 16px;
 left: 5px;
 margin-top: -8px;
 position: absolute;
 top: 50%;
 width: 16px;
}

.radio::after {
 background: #00cccc;
 border-radius: 50%;
 content: '';
 display: block;
 height: 8px;
 left: 10px;
 margin-top: -3px;
 opacity: 0;
 position: absolute;
 top: 50%;
 width: 8px;
}

input[type=radio]:checked + .radio::before {
 border-color: #666;
}

input[type=radio]:checked + .radio::after {
 opacity: 1;
}


/* フォーム要素（Bootstrap4 のスタイルを上書き） */
label {
 margin-right: 1em;
 margin-bottom: 0;
}

.form-control {
 border-radius: 0px;
 background-color: #fdfdfd;
 font-size: 14px;
}

.form-control:focus {
 border-color: #aadbe8;
 outline: 0;
 -webkit-box-shadow: inset 0 0px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.4);
 box-shadow: inset 0 0px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.4);
 background-color: #fff;
}

/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-webkit-input-placeholder {
 font-size: 13px;
}

/* Firefox 18- */
:-moz-placeholder {
 font-size: 13px;
}

/* Firefox 19+ */
::-moz-placeholder {
 font-size: 13px;
}

/* IE 10+ */
:-ms-input-placeholder {
 font-size: 13px;
}

::placeholder {
 font-size: 13px;
}

textarea.form-control {
 height: 200px;
}

/* 確認ページの表 */
.confirm_table {
 margin: 30px 0;
}

.confirm_table table caption {
 caption-side: top;
}

.confirm {
 display: inline-block;
 margin-right: 20px;
}
