h2#pageTitle{
    color: #000;
    font-style:  normal;
}

#contactForm label{
        width: 100%;
        margin: 0.5rem auto;
}

#contactForm textarea,
#contactForm input[type="text"]{
    padding: 0.75rem 1.5rem; 
    width: 100%;
    margin: auto;
    border:2px solid #777;
    font-size: 1.0rem;
    line-height: 1.5rem;
    margin-bottom: 1.0rem;
}

#contactForm div.row+div.row{
    margin-top: 1.25rem;
}

#agreePrv label:hover,
#contactKind label:hover{
    cursor: pointer;
    /*background-color: rgba(255,255,100,0.8);*/
}

#agreePrv label   input,
#contactKind label   input{
    padding-right: 1rem;
    margin-right: 1rem;
}

#contactBtnWrap #backButton,
button#contactSubmit{
    border: none;
    font-size: 1.0rem;
    width: 10rem;
    font-weight: bold;
    border-radius: 2rem;
}

a#privacyDetailLink:hover{ color: #000; }
#privacyDetailLink{
    text-decoration: underline;
}

/*-----------------------------------------------------------------------------------------------------------*/

.control-group {
  display: inline-block;
  vertical-align: top;
  background: #fff;
  text-align: left;

}
.control {
  display: block;
  position: relative;
  padding-left: 30px;
  margin-bottom: 15px;
  cursor: pointer;
  font-size: 18px;
}
.control input {
  position: absolute;
  z-index: -1;
  opacity: 0;
}
.control__indicator {
  position: absolute;
  top: 4px;
  left: 0;
  height: 20px;
  width: 20px;
  background: #e6e6e6;
}
.control--radio .control__indicator {
  border-radius: 50%;
}
.control:hover input ~ .control__indicator,
.control input:focus ~ .control__indicator {
  background: #ccc;
}
.control input:checked ~ .control__indicator {
  background: #2aa1c0;
}
.control:hover input:not([disabled]):checked ~ .control__indicator,
.control input:checked:focus ~ .control__indicator {
  background: #0e647d;
}
.control input:disabled ~ .control__indicator {
  background: #e6e6e6;
  opacity: 0.6;
  pointer-events: none;
}
.control__indicator:after {
  content: '';
  position: absolute;
  display: none;
}
.control input:checked ~ .control__indicator:after {
  display: block;
}
.control--checkbox .control__indicator:after {
 left: 8px;
  top: 4px;
 /*  width: 3px;
  height: 8px;*/

    width: 5px;
    height: 10px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.control--checkbox input:disabled ~ .control__indicator:after {
  border-color: #7b7b7b;
}
.control--radio .control__indicator:after {
  left: 7px;
  top: 7px;
  height: 6px;
  width: 6px;
  border-radius: 50%;
  background: #fff;
}
.control--radio input:disabled ~ .control__indicator:after {
  background: #7b7b7b;
}
.select {
  position: relative;
  display: inline-block;
  margin-bottom: 15px;
  width: 100%;
}
.select select {
  display: inline-block;
  width: 100%;
  cursor: pointer;
  padding: 10px 15px;
  outline: 0;
  border: 0;
  border-radius: 0;
  background: #e6e6e6;
  color: #7b7b7b;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
.select select::-ms-expand {
  display: none;
}
.select select:hover,
.select select:focus {
  color: #000;
  background: #ccc;
}
.select select:disabled {
  opacity: 0.5;
  pointer-events: none;
}
.select__arrow {
  position: absolute;
  top: 16px;
  right: 15px;
  width: 0;
  height: 0;
  pointer-events: none;
  border-style: solid;
  border-width: 8px 5px 0 5px;
  border-color: #7b7b7b transparent transparent transparent;
}
.select select:hover ~ .select__arrow,
.select select:focus ~ .select__arrow {
  border-top-color: #000;
}
.select select:disabled ~ .select__arrow {
  border-top-color: #ccc;
}


select:disabled,
textarea:disabled,
input:disabled{
  background:#ccc;
  opacity: 0.5;
}



#main input.required.requiredAlert,
#main textarea.required.requiredAlert{
    /*border: 1px solid red;*/
    /*border-width: 2px;*/
    border-color: red;
}
#main .control__indicator.required.requiredAlert{
    border: 1px solid red;
}

input#agree_privacy:checked + a + div.control__indicator.required{
        border: 0px solid transparent !important;
}

#defContactKind textarea,
#defContactKind input[type='text']{
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    flex: 1;
    
}

#defContactKind div.control__indicator{
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
}

#defContactKind *{
       preventScroll:none;
}

textarea#comment{
    height: 26vw;
}

/*------------- sp -----------*/
@media (max-width: 480px) {
    #defContactKind{
        margin-bottom: 1rem;
    }
    
    #defContactKind strong{
        font-size: 4vw;
    }
}

/*------------- tablet -----------*/
@media only screen and (min-width:479px) and (max-width:868px) {
    body#contact main#main div.col-lg-8.offset-2{
        margin-left:auto;
    }
    body#contact main#main #contactForm div.row+div.row{ margin-top:auto; }
}

#contact #contactBtnWrap #contactSubmit{
    display: inline-block;
    margin-left: 2rem;
}

#contactForm.disabledForm textarea,
#contactForm.disabledForm input{
   pointer-events: none;
   border-color: #bbb;
   background-color: #e0e0e0;
   color: #999;
   -webkit-filter: grayscale(0.8); 
   filter: gray; 
   filter: grayscale(0.8);
}