header, main {
  padding: 1rem
}
.letter, .submit-button, footer, header {
  text-align: center
}
.breadcrumb a:hover, footer a {
  text-decoration: underline
}
*, ::after, ::before {
  box-sizing: border-box
}
body, html {
  height: 100%
}
body {
  margin: 0;
  padding: 0;
  color: #333;
  font-family: Roboto, 'Yu Gothic', 'Hiragino Kaku Gothic Pro W3', sans-serif;
  font-weight: 500;
  background: #f9f9f9
}
.wrap {
  display: flex;
  flex-direction: column;
  min-height: 100vh
}
header {
  margin-bottom: .6rem;
  border-bottom: 1px solid #ccc
}
h1 {
  margin: 1rem 0
}
p {
  margin: 5px;
  font-size: 1.05rem
}
main {
  max-width: 900px;
  margin: 0 auto
}
.breadcrumb {
  font-size: .875rem;
  margin-bottom: 1rem
}
.breadcrumb ol {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center
}
.breadcrumb li {
  display: flex;
  align-items: center
}
.breadcrumb li + li::before {
  content: "›";
  margin: 0 .5rem;
  color: #999;
  font-size: .9rem
}
.breadcrumb a {
  color: #06c;
  text-decoration: none;
  transition: color .2s
}
.breadcrumb li[aria-current=page] {
  font-weight: 500;
  cursor: default
}
p.error_messe {
  color: #c0392b
}
#formWrap {
  padding: 10px;
  border-radius: 10px;
  font-size: 95%;
  line-height: 1.6;
  background: #fff;
  overflow-x: hidden
}
table.formTable {
  width: 100%;
  margin: 0 auto;
  border-collapse: collapse;
  table-layout: fixed
}
table.formTable td, table.formTable th {
  padding: 10px 12px;
  vertical-align: middle
}
table.formTable th {
  width: 32%;
  font-size: 1.1em;
  font-weight: 700;
  text-align: left;
  word-break: break-word
}
table.formTable td {
  width: 68%
}
.attention {
  background: #c0392b;
  color: #fff;
  font-size: .78em;
  padding: .15em .55em;
  margin-left: .6rem;
  border-radius: 999px
}
input[type=email], input[type=tel], input[type=text], select, textarea {
  width: min(100%, 680px);
  margin: 0;
  display: block;
  font: inherit;
  color: #333;
  background: #fff;
  border: 1px solid #999;
  border-radius: 6px;
  padding: .6rem .8rem;
  outline: 0
}
::placeholder {
  color: #aaa
}
textarea {
  min-height: 12rem;
  line-height: 1.7;
  resize: vertical
}
input:focus, select:focus, textarea:focus {
  border-color: #06c;
  box-shadow: 0 0 0 2px rgba(0, 102, 204, .25)
}
.submit-button {
  width: 100px;
  border: 1px solid rgba(0, 0, 0, .2);
  border-radius: .3rem;
  padding: 10px 15px;
  margin: 10px;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .1em;
  cursor: pointer;
  background: #ccc;
  background-image: linear-gradient(#eee, #bbb);
  box-shadow: inset 0 1px #fff, 0 2px 3px rgba(0, 0, 0, .2);
  text-shadow: 0 1px 1px #fff;
  color: #333;
  transition: .2s
}
.submit-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 6px rgba(0, 0, 0, .2)
}
.btn-relief:active {
  background: #bbb;
  box-shadow: inset .05em .1em .2em rgba(0, 0, 0, .6);
  border-color: rgba(0, 0, 0, .3)
}
p[align=center] {
  margin-top: .6rem
}
.letter {
  margin-top: 1rem;
  font-size: .95rem;
  color: #333;
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: .6rem .8rem
}
footer {
  padding: 2rem;
  color: #333;
  background: #f2f2f2;
  border-top: 1px solid #ccc;
  position: sticky;
  top: 100vh
}
footer a {
  color: inherit
}
footer a:hover {
  opacity: .8
}
@media (max-width:768px) {
  main {
    max-width: 96%
  }
  #formWrap {
    padding: 1rem
  }
  table.formTable td, table.formTable th {
    display: block;
    border: none;
    padding: .35rem 0;
    width: 100%
  }
  table.formTable th {
    margin-top: 8px;
    background: 0 0
  }
  form {
    margin-bottom: 40px
  }
  form input[type=email], form input[type=tel], form input[type=text], form select, form textarea {
    width: 100%;
    margin: 0
  }
  .letter {
    text-align: left
  }
}
:focus-visible {
  outline: rgba(0, 102, 204, .5) solid 2px;
  outline-offset: 2px
}