@charset "UTF-8";


.contact{
  width: 100%;
margin: 4dvh auto 0;
padding:0;
}
@media screen and (min-width:769px) {
.contact{
margin: 60px auto 0;
padding:0;
}
}

.director_check{
  margin:0;
  padding: 0 0 25px 0;
}
.dc_ask{
  margin:0 0 10px;
  padding:0 0 5px;
  font-size:100%;
  font-weight:bold;
  line-height:180%;
  border-bottom:solid 1px #ccc;
}
.dc_ans{
  margin:0;
  padding:0;
  font-size:100%;
  line-height:180%;
}
.area_check{
margin:0;
padding: 0 0 25px 0;
}
.ac_ask{
margin:0;
padding:0;
font-size:100%;
font-weight:bold;
line-height:180%;
}
.area_check ul{
width:100%;
margin:0;
padding:10px 0 5px 25px;
}
.area_check ul li{
margin:0;
padding:0 0 5px 0;
font-size:100%;
line-height:150%;
font-weight:normal;
list-style-type:disc;
}
.ac_ans{
margin:0;
padding:0;
font-size:100%;
line-height:180%;
}
.alert{
margin:0;
padding:10px 0 0 0;
font-size:100%;
font-weight:normal;
line-height:150%;
color:#d20000;
text-align:right;
}
@media screen and (min-width:769px){
.director_check{padding: 25px 0;border-bottom:dotted 1px #111;}
.area_check{padding: 25px 0;}
.dc_ask{font-size:18px;border-bottom:none;}
.ac_ask{font-size:18px;}
.area_check ul{
padding:10px 0 15px 0;display:flex;flex-wrap:wrap;}
.area_check ul li{padding:0 20px 0 0;font-size:18px;list-style-type:none;}
.dc_ans, .ac_ans{font-size:18px;letter-spacing:1px;}
.alert{font-size:18px;letter-spacing:1px;}
}


table.form{
width:100%;
border-collapse:separate;
margin:0;
}
table.form th{
font-size:100%;
line-height:130%;
padding:0 0 5px 0;
text-align:left;
border-bottom:solid 1px #ccc;
display:block;
}
table.form td{
font-size:100%;
line-height:150%;
padding:10px 0 20px 0;
display:block;
}
.form_txt{margin:0;padding:1px 0 8px 0;font-size:80%;line-height:180%;font-weight:normal;}
.limit{font-size:80%;font-weight:normal;color:#d20000;}
.specify_box{
margin:0;
padding:0;
display:flex;
flex-wrap:wrap;
justify-content:flex-start;
}
.specify_txt{
margin:0;
padding:0;
}
.specify_select{
width:50px;
margin:-2px 0 0 0;
padding:0;
}
@media screen and (min-width:769px){
table.form{border-top:dotted 1px #111;}
table.form:nth-of-type(n+2){
  border-top: none;
}
table.form th{
width:250px;
font-size:18px;
line-height:180%;
letter-spacing:1px;
padding:20px 15px 20px 0;
display:table-cell;
border-bottom:dotted 1px #111;
}
table.form td{
font-size:18px;
line-height:180%;
letter-spacing:1px;
padding:20px 0 20px 5px;
display:table-cell;
border-bottom:dotted 1px #111;
}
.specify_select{margin:-3px 0 0 0;}
}

.job-type label{
  display: block;
}
.job-type label:nth-of-type(n+2){
  margin-top: 5px;
}
.job-type label span{
  display: block;
  font-size: 0.8em;
  margin: 0;
}
  @media screen and (min-width:769px){
    .job-type label{
      display: inline-block;
      margin-right: 25px;
    }
    .job-type label:nth-of-type(n+2){
      margin-top: 0;
    }
    .job-type label span{
      display: inline;
    }
  }

.contact-check{
  margin:0 0 10px;
  padding:0;
  font-size:100%;
  line-height:1.5;
  }
.contact-check label{
  display: block;
  margin-top: 10px;
  font-weight: bold;
}
  @media screen and (min-width:769px){
    .contact-check{
      margin: 0 0 15px;
      font-size: 16px;
    }
    .contact-check label{
      font-size: 18px;
    }
  }

.problem_box{
  padding: 0 0 20px;
}
.problem_ask{
  margin:0;
  padding:0 0 5px;
  border-bottom:solid 1px #ccc;
  font-size:100%;
  font-weight:bold;
  line-height:130%;
}
.problem_ans{
  margin:0;
  padding:10px 0 0;
  font-size:100%;
  font-weight:bold;
  line-height:150%;
}
@media screen and (min-width:769px){
  .problem_box{
    padding: 20px 0;
    border-bottom:dotted 1px #111;
  }
  .problem_ask{
    font-size:18px;
    line-height:180%;
    letter-spacing:1px;
    padding:0 0 20px;
    border-bottom: none;
  }
  .problem_ans{
    font-size:18px;
    line-height:180%;
    letter-spacing:1px;
    padding:0;
  }
}

.problem_ask .specify_txt{
  flex: 1;
}

.problem_ans textarea {
  font-family: inherit;
}


.req{
margin:0;
padding:1px 2px 2px 2px;
font-size:12px;
font-weight:normal;
line-height:100%;
color:#fff;
background:#d20000;
}
.any{
margin:0;
padding:1px 2px 2px 2px;
font-size:12px;
font-weight:normal;
line-height:100%;
color:#fff;
background:#0088cc;
}

input[type="text"],input[type="email"],textarea, select {
width:100%;
border:0;
padding:10px;
font-size:16px;
border:solid 1px #ccc;
-webkit-appearance:none;
-moz-appearance:none;
appearance:none;
-webkit-border-radius:3px;
-moz-border-radius:3px;
border-radius:3px;
-moz-box-shadow:inset 1px 4px 9px -6px rgba(0,0,0,0.5);
-webkit-box-shadow:inset 1px 4px 9px -6px rgba(0, 0, 0, 0.5);
box-shadow:inset 1px 4px 9px -6px rgba(0,0,0,0.5);
-moz-box-sizing:border-box;
-webkit-box-sizing:border-box;
box-sizing:border-box;
}
input[type="text"]:focus,
textarea:focus {
box-shadow:0 0 7px #999999;
}

/* Chrome, Safari */
::-webkit-input-placeholder{
color:#999;
}
/* Firefox */
::-moz-placeholder{
color:#999;
}
/* Firefox 18以前 */
:-moz-placeholder{
color:#999;
}
/* IE */
:-ms-input-placeholder{
color:#999;
}

input[type="submit"],input[type="button"] {
  border-radius:0;
  -webkit-box-sizing:content-box;
  -webkit-appearance:button;
  appearance:button;
  box-sizing:border-box;
  cursor:pointer;
  webkit-transition:all .5s;transition:all .5s;
  color:#fff;
  background:#5cb531;
  border:none;
  font-family:'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
  -webkit-border-radius:8px;
-moz-border-radius:8px;
border-radius:8px;
}
input[type="submit"][disabled],input[type="button"][disabled] {
background:#ccc;
cursor:not-allowed;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display:none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset:-2px;
  color:#fff;
}

.submit{
margin:0;
padding:0;
text-align:center;
}
.push {
width:100%;
margin:0 auto;
padding:20px 0;
font-size:100%;
font-weight:bold;
display:inline-block;
text-decoration:none;
}
.push_off{background:#666;}
.push:hover {
opacity:0.6;
filter:alpha(opacity=60);
-webkit-transition:0.3s ease-in-out;
-moz-transition:0.3s ease-in-out;
-o-transition:0.3s ease-in-out;
transition:0.3s ease-in-out;
}
@media screen and (min-width:769px){
.submit{padding:45px 0 0 0;}
.push {
width:280px;
font-size:20px;
letter-spacing:1px;
}
}


/*---------- ダウンロードフォーム用 ----------*/

#q-point {
  position: relative;
  margin:0 30px 10px 30px;
  height: 20px;
  z-index: 1;
  box-sizing: border-box;
}
#q-point:before,#q-point span {
  position: absolute;
  top: 0;
  content:'';
  background: #022173;
  border-radius: 100%;
  height: 18px;
  width: 18px;
}
#q-point:after {
  position: absolute;
  top: 7px;
  content: '';
  background: #022173;
  height: 4px;
  width: 100%;
  z-index: -1;
}
#q-point span { left: 0; }
#q-point:before { right: 0; }
#q-point span {  background:#ffa500;}
#point-text {
  display: flex;
  justify-content: space-between;
  margin: 0 15px 20px;
  font-weight:bold;
  color:#359ab8;
  font-family:Arial, Helvetica, "sans-serif";
}
.question {
  display: none;
}
.question:nth-of-type(1) {
  display: block;
}
.question {margin:0 auto;padding:0;}
.q-text{
margin:20px 0;
padding:20px;
font-size:100%;
font-weight:bold;
line-height:180%;
background:#fff;
border:solid 1px #359ab8;
border-radius:5px;
text-align:center;
}
.q-text span{color:#359ab8;}
.question .answer {
margin:0;
padding:0;
display:flex;
flex-wrap: wrap;
}
.question .answer img {
  margin:5px 2px 0 2px;
  width: calc(50% - 4px);
  box-sizing: border-box;
  cursor: pointer;
}
.question .answer img:hover{filter: brightness(1.2);}
.question .input {
  margin: 5px;
}
.question .input span {
  display: block;
  margin: 20px 0 0;
}
.question .input input {
  padding: 5px 10px;
  width: 100%;
  box-sizing: border-box;
}
.question button {
margin:20px;
padding:0;
background:transparent;
border:none;
}
@media screen and (min-width:769px){
  .question button {
    margin:40px 60px 0;
  }
}

.question button img {
width:100%;
cursor:pointer;
}
.question button img:hover{filter: brightness(1.2);}
@media screen and (min-width:769px){
.q-text{font-size:20px;}
}


.form_caption{
  margin:0 20px;
  padding:0;
  font-size:80%;
  line-height:180%;
  text-align:center;
}


.thanks_top{
margin:30px 0 0 0;
padding:0;
font-size:150%;
font-weight:bold;
line-height:150%;
text-align:center;
color:#00a6cb;
}
.thanks{
margin:0;
padding:10px 30px 45px 30px;
}
@media screen and (min-width:769px) {
.thanks_top{margin:45px 0 0 0;font-size:28px;letter-spacing:1px;}
.thanks{
width:480px;
margin:0 auto;
padding:15px 0 90px 0;
}
}



