@charset "UTF-8";
*, *::before, *::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    position: relative;
}

/* safari IOS 用*/
input,
textarea,
select,
button {
    appearance: none;
    -webkit-appearance: none;
    border-radius: 0;
    font: inherit;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
textarea,
select {

}

textarea {
    min-height: 160px;
    resize: vertical;
}

select {
    width: auto;
    border-radius: 0;
    padding: 0.2em 3em 0.2em 0.2em;
    background:url("../../images/common/select_arrow.svg"),#fff;
    background-repeat: no-repeat;
    background-position: right 1em center;
    background-size: 0.7em auto;
    color:#000;
}



input[type="checkbox"],
input[type="radio"] {
  appearance: auto;
  -webkit-appearance: auto;
  width: auto;
  height: auto;
  padding: 0;
  border-radius: initial;
  background-color: initial;
}

main {
  font-size: 16px;
  max-width: 1100px;
  margin: 0 auto;
}
main header {
  position: static;
  background: none;
  height: auto;
}
main .logo{
    max-width: 200px;
    width: 100%;
    display:block;
    margin:0 auto 5em;
}
@media (max-width: 580px) {
    main .logo{
        max-width: 200px;
        width: 100%;
        display:block;
        margin:0 auto 2em;
    }
}
address {
    text-align: center;
    font-size: 12px;
}
.ib {
    display: inline-block;
}

input[type=text],
input[type=tel],
input[type=email],
textarea {
  border: 1px solid rgba(0, 0, 0, 0.3);
}

@media (Max-width: 580px) {
	._pc { display: none; }
	._sp { display: block; }
}
@media (min-width: 581px) {
	._pc { display: block; }
	._sp { display: none; }
}

select {
	border-style: solid;
	
	border: 1px solid rgba(0, 0, 0, 0.3);
}

@media (max-width:580px) {
	.main { padding: 25px 0; }
}

@media (min-width:581px) {
	.main { padding: 50px 0; }
}

.main_head { background: #fff; text-align: center; font-size: 24px; color: #43644d;; font-weight: 100; line-height: 1.5em; margin-bottom: 40px; }

@media (Max-width: 580px) { .main_head { font-size: 20px; } }

.form_text {font-size: 14px; text-align: center;}


.privacy { border: 10px solid #EEE; padding: 10px 20px; text-align: center; margin-top: 20px; margin-bottom: 20px; }

.privacy_head { font-weight: bold; font-size: 18px; margin-bottom: 10px; }

.privacy_label { cursor: pointer; }

.privacy .form_row { padding: 10px; background-color: #EEE; display: block; }

.privacy_label .parsley-errors-list li{

    margin-left: auto;
    margin-right: auto;
}

.in-text { padding: 4px; font-size: 12px; display: inline-block; }

.in-text.half { width: 49%; max-width: 200px; }

.in-text.middle { width: 62%; }

.in-text.long { width: 75%; }

.in-text.full { width: 100%; }

@media (max-width: 580px) {
.in-text.middle{ width: 100%; }

.in-text.long{ width: 100%; }

.in-text.full { width: 100%; }


}

@media (max-width: 580px) { .in-text { font-size: 11px; } }


.form_note { font-size: 12px; }

.form_note_p { margin-bottom: 1em; }



.sbtnc {
    margin-bottom: 20px;
    text-align: center;
    padding-top: 50px;
}

input[type="submit"].sbmt6b,
input[type="button"].sbmt5b,
input[type="submit"].sbmt5b {
    width: 80%;
    max-width: 300px;
    height: 50px;
    color: white;
    background-color: #43644d;
    letter-spacing: 0.2em;
    transition: all 0.3s linear;

    font-size: 16px;
    font-weight: 400;
    font-style: normal;
    font-feature-settings: "palt";
    letter-spacing: 0.05em;
    line-height: 1.75em;

    display: inline-block;
    position: relative;

    -webkit-appearance: none;
    border-radius: 0;

    border: none;
    cursor: pointer;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;

}
input[type="submit"].sbmt6b
 {
    width: 40%;
border: none;
    cursor: pointer;

}
input[type="submit"].sbmt6b:hover {
    opacity: 0.7;
}

input[type="submit"].sbmt6c,
.submitw2{
    position: relative;
    margin-right: 10px;
    margin-left: 10px;
    cursor: pointer;
    vertical-align: top;
    width:40%;
    height: 50px;
    display: inline-block;
    color: #000;
    /* border: 1px solid #43644d; */
    position: relative;
    background-color: #ffffff;

    box-sizing: border-box;


    font-size: 16px;
    font-weight: 400;
    font-style: normal;
    font-feature-settings: "palt";
    letter-spacing: 0.05em;
    line-height: 1.75em;
}
.submitw2::after {

    content: "";
    width: 20px;
    height: 16px;
    position: absolute;
    top: calc(50% - 8px);
    left: 20px;
    border-right: 10px solid #43644d;
    border-left: 10px solid transparent;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    transition: transform 0.3s linear;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}
.submitw{
    cursor: pointer;
    position: relative;
    margin-left: 10px;
    margin-right: 10px;
}
.thanks_msg a,
.thanks_msg p{
    color: #000;
}
.submitw::after {
    content: "";
    width: 20px;
    height: 16px;
    position: absolute;
    top: calc(50% - 8px);
    right: 20px;
    border-left: 10px solid #FFF;
    border-right: 10px solid transparent;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    transition: transform 0.3s linear;


    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.submitw:hover::after {
    right: 6px;
}
.submitw2:hover::after{
    left: 6px;
}


#btn_back,
#submit {
    border: none;
    cursor: pointer;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}
.btn_back {
    color: #000000;
    line-height: 30px;
    text-decoration: none;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}



#formWrap {
	width: 820px;
	margin:5em auto 0;
	color:#555;
}
table.formTable{
	width:100%;
	margin:0 auto;
	border-collapse:collapse;
    margin-bottom:2em;
}
table.formTable td,table.formTable th{
	border:1px solid #ccc;
	padding:10px;
    font-size: 12px;
}
table.formTable th{
	width:30%;
	font-weight:normal;
	background:#efefef;
	text-align:left;
    position: relative;
}
table.formTable th.req::after {
    content: "必須";
    font-size: 10px;
    color: #FFF;
    line-height: 1em;
    padding: 2px 3px;
    background-color: #FF0000;
    position: absolute;
    top: 0;
    right: 0;
}

table.formTable td{
}
table.formTable td ul{
    display: flex;
    flex-wrap: wrap;
    border-bottom: 1px solid #ccc;
    margin: 0 0 0.5em;
    padding: 0 0 0.5em;
}
table.formTable td ul li{
    list-style: none;
    margin: 0 1em 0 0;
}
table.formTable td .in {
    margin: 0 0 0.5em;
}
table.formTable td .in.last {
    margin: 0;
}

.txt{
    font-size: 14px;
}
.privacy_area{
    margin-top:2em;
    overflow-y:scroll;
    height:250px;
    border:1px solid #ddd;
    padding:1em;
}
.privacy_area .head{
    font-size:16px;
    font-weight: bold;
    border-bottom:1px solid #ddd;
    margin-bottom:.4em;
    padding-bottom:.4em;
}
.privacy_area .lead{
    font-size: 14px;
    font-weight:bold
}
.privacy_area .txt{
    font-size:12px;
    margin-bottom:2em;
}
.privacy_area .txt:last-of-type{
    margin-bottom:0;
}
.privacy_area .txt_note{
    font-size:12px;
}

/*　簡易版レスポンシブ用CSS（必要最低限のみとしています。ブレークポイントも含め自由に設定下さい）　*/
@media screen and (max-width: 767px) {
#formWrap {
	width:95%;
	margin:0 auto;
}
table.formTable th, table.formTable td {
	width:auto;
	display:block;
}
table.formTable th {
	margin-top:5px;
	border-bottom:0;
}

form input[type="text"], form textarea {
	width:100%;
	padding:5px;
	font-size:110%;
	display:block;
}
form input[type="submit"], form input[type="reset"], form input[type="button"] {
	display:block;
	width:100%;
	height:40px;
}
}

label {
    vertical-align: middle;
}
input {
    vertical-align: middle;
}


#btn_back {
    width: 100%;
    height: 50px;
    background: #fff;
    border: 1px solid #43644d;
    color:#43644d;

}

@media screen and (max-width: 767px) {
    #btn_back:hover {
    }
}



.form_outer { background-color: #FFF; }

.thanks_msg { width: 100%; max-width: 800px; padding: 0 10px; color: #FFF; line-height: 3em; text-align: center; min-height: 40vh; margin: 0 auto; }

.thanks_msg_a { color: #FFF; }

@media (max-width: 580px) { .thanks_msg { text-align: left; } }

