@charset "utf-8";
/* CSS Document */
@import url('//fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100..700;1,100..700&family=Noto+Sans+JP:wght@100..900&display=swap');
html {
  background-color: #1F1F1F;
}
body {
  background-color: #1F1F1F;
  color: #e0e0e0;
  font-family: "Hiragino Sans","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;
  font-size: clamp(16px, 0.8vw + 14px, 20px);
  line-height: 1.8;
  font-weight: 300;
  letter-spacing: 0.05em;
  -webkit-text-size-adjust: 100%;
}
h1, h2 {
  font-family: 'Josefin Sans', 'Noto Sans JP',serif;
}
a:link {
  color: #6CC;
}
a:hover {
  color: #c58af9;
}
@media (min-width: 768px) {
  body {
    font-size: 22px;
  }
}
#main {
  padding: 15px;
}
#main section + section {
   margin-top: 50px;
}
.contsTtl {
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   height: 80px;
}
.contsTtl h2 {
   font-weight: 500;
   font-size: 22px;
}
.lead {
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
}
.lead p a {
color: #6CC;}
.inquiry table {
   margin-bottom: 30px;
}
.inquiry table th {
   font-weight: 500;
}
.inquiry table th span.hissu {
   color: #FF0004;
   font-weight: 300;
}
.inquiry table td {
   padding: 0.5em;
}
@media (max-width: 767px) {
.lead p {
   text-align: left;
}
}
@media (min-width: 768px) {
#main {
  max-width: 1200px;
  margin: 30px auto;
}
.contsTtl {
   height: 120px;
}
.contsTtl h2 {
  font-size: 36px;
}
.inquiry table th {
   width: 25%;
   padding: 15px;
}
.inquiry table td {
   padding: 15px;
}
}
/* フォームリセット */
input, button, textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}
select {
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}
textarea {
  resize: vertical;
}
input[type='checkbox'], input[type='radio'] {
  display: none;
}
input[type='submit'], input[type='button'], input[type='file'], label, button, select {
  cursor: pointer;
}
select::-ms-expand {
  display: none;
}
/* フォーム装飾 */
input, textarea {
  border: 1px solid #2B2B2B;
  background-color: #7E7E7E;
  border-radius: 5px;
}
input {
  margin: 0 4px 4px;
  padding: 2px 4px;
	color: #FFF;
}
input::placeholder {
  color: currentColor;
  opacity: 0.5;
}
.check label, .radio label {
  position: relative;
  padding-left: 1.25em;
  margin-right: 1em;
}
.check label::before, .radio label::before {
  content: "";
  display: block;
  position: absolute;
}
.check input:checked + label::after, .radio input:checked + label::after {
  content: "";
  display: block;
  position: absolute;
}
.radio label::before {
  top: calc(50% - 7.5px);
  left: 0;
  width: 15px;
  height: 15px;
  border: 1px solid #2B2B2B;
  background-color: #fff;
  border-radius: 50%;
}
.radio input:checked + label::after {
  top: calc(50% - 5px);
  left: 3px;
  width: 11px;
  height: 11px;
  background: #57499C;
  border-radius: 50%;
}
.check label::before {
  top: calc(50% - 7px);
  left: 0;
  width: 15px;
  height: 15px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background: #FFF;
}
.check input:checked + label::after {
  top: calc(50% - 5px);
  left: 2px;
  width: 13px;
  height: 13px;
  background: #57499C;
  border-radius: 4px;
}
select {
  border: 1px solid #2B2B2B;
  background-color: #7E7E7E;
   color: #FFF;
  padding: 2px 4px;
  border-radius: 5px;
}
textarea {
  margin: 0 4px 4px;
  padding: 2px 4px;
  width: 100%;
  height: 8em;
}
 @media (min-width: 768px) {
.f_wrap .w30 {
	width: 30%;
}
.f_wrap .w50 {
	width: 50%;
}
.f_wrap .w80 {
	width: 80%;
}
.f_wrap .w100 {
	width: 95%;
}
}
@media (max-width: 767px) {
.f_wrap .w30, .f_wrap .w50, .f_wrap .w80, .f_wrap .w100 {
	width: 95%;
}
.f_wrap textarea {
	width: 95%;
}
}
.submit {
	text-align: center;
}
.submit input.btn {
	background-color: #57499C;
	display: inline-block;
	border: 1px solid #57499C;
	border-radius: 4px;
	padding: 0.2em 2em;
	color: #FFF;
	letter-spacing: 1px;
	cursor: pointer;
}
.submit input.btn.oreng {
	background-color: #F93;
	border: 1px solid #F93;
}
.submit input.btn.reset {
	background-color: #999;
	border: 1px solid #999;
	font-size: 70%;
}
 @media (min-width: 768px) {
}
@media (max-width: 599px) {
  table.table_sp, table.table_sp tbody, table.table_sp thead, table.table_sp tfoot, table.table_sp tr, table.table_sp th, table.table_sp td {
    display: block;
  }
}
