@charset "UTF-8";

*,*::before,*::after{box-sizing:border-box}
ul[class],ol[class]{padding:0}
body,h1,h2,h3,h4,p,ul[class],ol[class],figure,blockquote,dl,dd{margin:0}
html{scroll-behavior:smooth}
body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.5}
ul[class],ol[class]{list-style:none}
a:not([class]){text-decoration-skip-ink:auto}
img,picture{max-width:100%;display:block}
article>*+*{margin-top:1em}
input,button,textarea,select{font:inherit}
img:not([alt]){filter:blur(10px)}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
}
/* addition */
main{display:block}
h5,h6{margin:0}
img,picture{width:100%;height:auto}
table{border-collapse:collapse;border-spacing:0}
a{color:inherit;word-break:break-all}
/* base
   ========================================================================== */
html {
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
}
body {
  background: #fff;
  color: #181818;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 1.6rem;
  line-height: 1.6;
}
a {}
a:visited {}
a:hover, a:active {}
.f-bold {
  font-weight: bold;
}
.f-small {
  font-size: 0.85em;
}
.f-big {
  font-size: 1.3em;
}
.cf:before, .cf:after {
  content: "";
  display: table;
}
.cf:after {
  clear: both;
}
/* header
   ========================================================================== */
header {
  width: 90%;
  max-width: 700px;
  margin: 3% auto 0;
  padding: 3%;
  background: #0d203b;
}
header h1 {
  font-size: 1.8rem;
  line-height: 1.4;
  text-align: center;
  color: #fff;
}
header img {
  width: 25%;
  margin: 0 auto 1%;
}
@media print, screen and (min-width: 540px) {
  header h1 {
    font-size: 3.0rem;
  }
  header h1 img {
    width: 60%;
    max-width: 600px;
  }
}
@media print, screen and (min-width: 960px) {
  header h1 {
    font-size: 3.0rem;
  }
}
/* main
   ========================================================================== */
main {
  width: 90%;
  max-width: 700px;
  margin: 1% auto 6%;
  padding: 2%;
  background: #f7f7f7;
}
/* h */
h2 {
  margin: 10% 0 10px;
  padding: 0.1em 0.5em;
  background: #303945;
  color: #fff;
  font-size: 1.05em;
  letter-spacing: 0.1em;
}
h2:first-child {
  margin-top: 0;
}
@media print, screen and (min-width: 540px) {
  h2 {
    margin-top: 7%;
  }
}
@media print, screen and (min-width: 960px) {
  h2 {
    font-size: 1.1em;
  }
}
h3 {
  margin: 1.2em 0 5px;
  padding-left: 0.5em;
  border-left: 5px solid #303945;
  font-size: 1.0em;
}
h4 {
  margin: 1.2em 0 5px;
  padding: 0 0.5em;
  background: #cacaca;
	color: #3F3F3F;
  font-size: 1.0em;
display:inline-block;
}
/* table */
table {
  width: 100%;
  table-layout: fixed;
}
tr {
  display: block;
  margin-top: 6%;
  text-align: left;
}
tr:first-child {
  margin-top: 0;
}
th, td {
  display: block;
  width: 100%;
}
th {
  padding: 0;
  color: #303945;
}
td {
  padding: 0;
}
@media all and (-ms-high-contrast: none) {
  th.wide {
    width: 26%;
  }
  td.wide {
    width: 72%;
  }
}
/* 必須・任意ラベル */
span.badge {
  position: relative;
  top: -2px;
  display: inline-block;
  margin-left: 6px;
  padding: 3px 5px;
  background: #B84048;
  color: #fff;
  font-size: 1.1rem;
  font-weight: normal;
  line-height: 1;
  letter-spacing: 0.1em;
}
.terms {
  height: 15em;
  margin: 2px 0 0.8em;
  padding: 2%;
  overflow: auto;
  border: 1px solid #A4A4A4;
  font-size: 0.85em;
  background: #fff;
}
.terms p {
  margin-top: 1em;
}
.terms p :first-child {
  margin-top: 0;
}
p+p{
  margin-top: 1em;
}
/* form */
input, textarea, select {
  border: 1px solid #D3D3D3;
  font-size: 1.5rem;
}
input, textarea {
  padding: 3px;
  background: #fff;
}
input[type="text"], input[type="email"] {
  width: 100%;
}
textarea {
  width: 100%;
}
input:focus, textarea:focus {
  background-color: #FFF;
  box-shadow: 0 0 1px 2px #B7DDF8;
}
/* button */
.send {
  margin: 5% auto 0;
  width: 300px;
  text-align: center;
}
input[type="submit"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 0;
  border-radius: 2px;
  color: #fff;
  margin: 10px 0;
  padding: 20px 40px;
  letter-spacing: 0.1em;
  width: 200px;
  background: #d4473c;
  align-content: center;
}
/* 送信後 */
p.after-message {
  text-align: center;
}
@media print, screen and (min-width: 540px) {
  p.after-message br {display: none;  }
}
.weighty {
  width: 90%;
  margin: 3% auto;
  padding: 3%;
  border: 3px solid #F50004;
  background: #fff;
  color: #F50004;
  text-align: center;
}
.weighty span {
  font-weight: bold;
  font-size: 2.5rem;
}
.red {
  color: #F50004;
  text-align: center;
}
/* footer
   ========================================================================== */
footer {
  font-size: 1.2rem;
  text-align: center;
}
address {
  font: inherit;
  color: #0d203b;
}