@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP&display=swap');
/* Reset CSS
----------------------------------------------------- */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, 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%;
    vertical-align:baseline;
    background:transparent;
}
body {
    line-height:1;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
    display:block;
}
nav ul {
    list-style:none;
}
blockquote, q {
    quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}
a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}
/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000; 
    font-style:italic;
    font-weight:bold;
}
del {
    text-decoration: line-through;
}
abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}
table {
    border-collapse:collapse;
    border-spacing:0;
}
/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}
input, select {
    vertical-align:middle;
}

/* Base
----------------------------------------------------- */
html,
body {
  background: #000;
  color: #fff;
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
  font-feature-settings: "palt";
  letter-spacing: .8px;
  line-height: 1.6em;
}
h1, h2, h3, h4, h5, h6, b, strong, .bold {
	font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
}
/* IEだけに適応 */
_:lang(x)::-ms-backdrop, .selector {
	font-family: "Segoe UI", Meiryo, sans-serif;
}
a:link, a:visited { color: #; text-decoration:underline; }
a:hover, a:active { color: #; text-decoration:none; }
img {
	max-width: 100%;
	height: auto;
}
.clearfix:after {
    clear: both;
    content: "";
    display: block;
    height: 0;
}

/* Under Layer Style
----------------------------------------------------- */
body.u-layer {
	margin: 0 auto;
}
body.u-layer header {
	text-align: center;
	margin: 40px auto;
}
body.u-layer h2 {
	text-align: center;
	font-size: 2em;
	line-height: 1.4em;
	margin-bottom: 40px;
	position: relative;
	padding: 1em 0;
}
body.u-layer h2::before, body.u-layer h2::after {
	position: absolute;
	left: 0;
	content: '';
	width: 100%;
	height: 6px;
	box-sizing: border-box;
}
body.u-layer h2::before {
	top: 0;
	border-top: 2px solid #ae8e1b;
	border-bottom: 1px solid #ae8e1b;
}
body.u-layer h2::after {
	bottom: 0;
	border-top: 1px solid #ae8e1b;
	border-bottom: 2px solid #ae8e1b;
}

/* Form
----------------------------------------------------- */
table.formTable{
	width:100%;
	margin:10px auto 30px;
	border-collapse:collapse;
	background: #eee;
	color: #555;
}
table.formTable th, table.formTable td {
	border:1px solid #333;
	padding:10px;
}
table.formTable th{
	width:30%;
	font-weight:normal;
	background:#555;
	color: #fff;
	text-align:left;
}
span.required {
	color: #d8b339;
}
input[type='text']{
  width: 100%;
  max-width: 400px;
  padding: 5px;
  border-radius: 5px;
  border: 1px solid #ccc;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
textarea{
  width: 100%;
  max-width: 400px;
  height: 200px;
  padding: 5px;
  border-radius: 5px;
  border: 1px solid #ccc;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
input[type='submit']{
  border: none;
  display: block;
  width: 100%;
  max-width: 300px;
  padding: 10px;
  border-radius: 5px;
  background-color: #584e00;
  color: #fff;
  font-weight: bold;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  margin: 0 auto 40px;
}
/* Firefox */
::-moz-placeholder {
  color: #666;
}
/* IE */
input:-ms-input-placeholder {
  color: #666;
}
/* デスクトップ・タブレット横のみ */
@media screen and (min-width: 769px) {
body#form {
	width:700px;
	margin:0 auto;
}
table.formTable th {
	vertical-align: top;
}
}
/* スマホ */
@media screen and (max-width: 640px) {
#formWrap {
	width: 95%;
	margin:0 auto;
}
table.formTable th, table.formTable td {
	width:auto;
	display:block;
}
table.formTable th {
	/*margin-top:5px;*/
	border-bottom:0;
}
input[type="text"], textarea {
	width: 95%;
	padding: 5px;
	font-size: 110%;
	display: block;
	border-radius: 5px;
	border: 1px solid #ccc;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}
input[type="submit"], input[type="reset"], input[type="button"] {
	display:block;
	width:100%;
	height:40px;
	border-radius: 5px;
	background-color: #584e00;
	color: #fff;
	font-weight: bold;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	cursor: pointer;
	margin: 20px auto 40px;
}
}

/* Footer
----------------------------------------------------- */
body.u-layer footer {
	text-align: center;
	margin: 80px auto;
}