@charset "utf-8";

body {
    background: url("../images/common/bg02.png");
    position: relative;
}

.grecaptcha-badge {
    visibility: visible;
}

#wrapper {
    background: url("../images/house/bg01.png");
}

#mainContainer .inner {
    width: 600px;
    padding-top: 70px;
}

#mainContainer .inner h1 {
    text-align: center;
    font-size: 2.4rem;
    font-family: "AvenirNextLTPro-Medium","FOT-筑紫ゴシック Pro B";
    font-feature-settings: "palt";
    margin-bottom: 65px;
}

#mainContainer .inner select {
    width: 100%;
    background: #F5F5F5 url("../images/common/icon_arrow04.svg") 98% center no-repeat;
    background-size: 25px auto;
    border: 3px solid #000;
    border-radius: 5px;
    font-family: "AvenirNextLTPro-Medium","FOT-筑紫ゴシック Pro B";
    padding: 15px;
    box-sizing: border-box;
    -webkit-appearance: none;
    appearance: none; /* デフォルトの矢印を非表示 */
    font-size: 1.6rem;
}

#mainContainer .inner select option {
    padding: 15px;
}

#mainContainer .inner dl:first-of-type {
    margin-top: 30px;
}

#mainContainer .inner dl {
    margin-bottom: 10px;
}

#mainContainer .inner dl dt {
    margin-bottom: 5px;
    font-size: 1.4rem;
    font-family: "AvenirNextLTPro-Medium","FOT-筑紫ゴシック Pro B";
}

#mainContainer .inner dl dt sup {
    color: #FF0000;
    margin-left: 3px;
}

#mainContainer .inner dl input {
    width: 100%;
    box-sizing: border-box;
    padding: 15px;
    font-size: 1.6rem;
    font-family: "FOT-筑紫ゴシック Pr5 R" !important;
    border: 1px solid #BCBCBC;
}

#mainContainer .inner dl textarea {
    width: 100%;
    height: 10em;
    box-sizing: border-box;
    padding: 15px;
    font-size: 1.6rem;
    font-family: "FOT-筑紫ゴシック Pr5 R" !important;
    border: 1px solid #BCBCBC;
}

::placeholder {
    color: #9D9D9D;
}

#mainContainer .inner .attention,
#mainContainer .inner .attention sup {
    color: #f00;
    font-family: "AvenirNextLTPro-Regular","FOT-筑紫ゴシック Pr5 R";
    font-size: 1.2rem;
    margin-bottom: 25px;
    vertical-align: -2px;
}

#mainContainer .inner .checkArea {
    margin-bottom: 35px;
}

#mainContainer .inner .checkArea label {
    display: flex;
    align-items: flex-start;
}

#mainContainer .inner .checkArea  input {
    transform: scale(1.5);
    border: 1px solid #000;
    border-radius: 0;    
}

#mainContainer .inner .checkArea p {
    font-family: "AvenirNextLTPro-Regular","FOT-筑紫ゴシック Pr5 R";
    font-size: 1.4rem;
    letter-spacing: 0.05em;
    font-feature-settings: "palt";
    margin-left: 10px;
}

#mainContainer .inner .checkArea p a {
    font-size: 1.4rem;
    text-decoration: underline;
}

#mainContainer .inner .btnArea {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    width: 360px;
    margin: 0 auto;
}

#mainContainer .inner .btnArea .wpcf7-spinner {
    margin-top: 20px;
}

#mainContainer .inner .btnArea .btnBack {
    width: 110px;
    height: 45px;
    border-radius: 23px;
    background: #DDDCCC;
    font-size: 1.4rem;
    color: #000;
    text-decoration: none;
    font-family: "AvenirNextLTPro-Medium","FOT-筑紫ゴシック Pro B";
    margin: 0 5px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-transition: background-color .9s cubic-bezier(.4,0,0,1);
    transition: background-color .9s cubic-bezier(.4,0,0,1);
    border: none;
}

#mainContainer .inner .btnArea .btnBack:hover {
    background: #fefefe;
}

#mainContainer .inner .btnArea .btnSubmit {
    width: 230px;
    height: 45px;
    border-radius: 23px;
    background: #82AA42;
    font-size: 1.5rem;
    color: #fff;
    text-decoration: none;
    font-family: "AvenirNextLTPro-Medium","FOT-筑紫ゴシック Pro B";
    margin: 0 5px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    -webkit-transition: background-color .9s cubic-bezier(.4,0,0,1);
    transition: background-color .9s cubic-bezier(.4,0,0,1);
}


#mainContainer .inner .btnArea .btnSubmit:hover {
    background: #768B1F;
}

.wpcf7-not-valid-tip {
    margin: 5px 0 10px;
    font-size: 1.4rem !important;
}

/*送信成功*/
div.wpcf7-mail-sent-ok	{
background:#d5edda;
color:#185626;
border:1px solid #c4e5cc;
padding:10px
}

/*送信NG*/
span.wpcf7-not-valid-tip,
div.wpcf7-validation-errors,
div.wpcf7-acceptance-missing	{
background:#f7d7da;
color:#711d26;
border:1px solid #f4c6cb;
padding: 5px 10px !important;
font-size: 1.4rem;
}

div.wpcf7-response-output {
background:#fff;
color:#000;
padding: 5px 10px !important;
font-size: 1.4rem;
}

/*送信失敗*/
div.wpcf7-mail-sent-ng	{
background:#f7d7da;
color:#711d26;
border:1px solid #f4c6cb;
padding: 5px 10px;
font-size: 1.4rem;
}

/*スパムなどで送信ブロックされた場合*/
div.wpcf7-spam-blocked	{
background:#fff2cf;
color:#846314;
border:1px solid #feedbd;
padding: 5px 10px;
font-size: 1.4rem;
}

@media screen and (max-width: 559px) {

#wrapper {
   background: url("../images/house/bg01.png");
}

#mainContainer .inner {
    width: 100%;
    padding: 10.26vw 5vw 0;
    box-sizing: border-box;
}

#mainContainer .inner h1 {
    margin-bottom: 8.97vw;
}

#mainContainer .inner select {
    border-radius: 1.3vw;
    padding: 3.85vw;
    background: #F5F5F5 url("../images/common/icon_arrow04.svg") 98% center no-repeat;
    background-size: 5.12vw auto;
    font-size: 1.5rem;
}

#mainContainer .inner select option {
    padding: 3.85vw;
}

#mainContainer .inner dl:first-of-type {
    margin-top: 7.69vw;
}

#mainContainer .inner dl {
    margin-bottom: 2.56vw;
}

#mainContainer .inner dl dt {
    margin-bottom: 1.3vw;
}

#mainContainer .inner dl dt sup {
    margin-left: 1vw;
}

#mainContainer .inner dl input {
    padding: 3.85vw;
    font-size: 1.5rem;
}

#mainContainer .inner dl textarea {
    padding: 3.85vw;
    font-size: 1.5rem;
}

::placeholder {
    font-size: 1.5rem;
}

#mainContainer .inner .attention {
    margin-bottom: 6.41vw;
}

#mainContainer .inner .attention sup {
    vertical-align: -0.5vw;
}

#mainContainer .inner .checkArea {
    margin-bottom: 3.85vw;
}

#mainContainer .inner .checkArea  input {
    transform: scale(1.5);
}

#mainContainer .inner .checkArea p {
    margin-left: 2.56vw;
}

#mainContainer .inner .btnArea {
    width: 100%;
}

#mainContainer .inner .btnArea .wpcf7-spinner {
    margin-top: 5.33vw;
}

#mainContainer .inner .btnArea .btnBack {
    width: 28.2vw;
    height: 11.54vw;
    border-radius: 5.9vw;
    margin: 0 1.3vw;
}

#mainContainer .inner .btnArea .btnSubmit {
    width: 55vw;
    height: 11.54vw;
    border-radius: 5.9vw;
    margin: 0 1.3vw;
}

.wpcf7-not-valid-tip {
    margin: 1.3vw 0 2.67vw;
    font-size: 1.2rem !important;
}

}


@media screen and (orientation: landscape) {

html.is-mobile #wrapper {
    background: url("../images/common/bg02.png");
}

html.is-mobile #mainContainer .inner {
    width: 100%;
    padding: 10.26vw 5vw 0;
    box-sizing: border-box;
}

html.is-mobile #mainContainer .inner h1 {
    margin-bottom: 8.97vw;
}

html.is-mobile #mainContainer .inner select {
    border-radius: 1.3vw;
    padding: 3.85vw;
    font-size: 1.5rem;
}

html.is-mobile #mainContainer .inner select option {
    padding: 3.85vw;
}

html.is-mobile #mainContainer .inner dl:first-of-type {
    margin-top: 7.69vw;
}

html.is-mobile #mainContainer .inner dl {
    margin-bottom: 2.56vw;
}

html.is-mobile #mainContainer .inner dl dt {
    margin-bottom: 1.3vw;
}

html.is-mobile #mainContainer .inner dl dt sup {
    margin-left: 1vw;
}

html.is-mobile #mainContainer .inner dl input {
    padding: 3.85vw;
    font-size: 1.5rem;
}

html.is-mobile #mainContainer .inner dl textarea {
    padding: 3.85vw;
    font-size: 1.5rem;
}

html.is-mobile ::placeholder {
    font-family: "FOT-筑紫ゴシック Pr5 R" !important;
    font-size: 1.5rem;
}

html.is-mobile #mainContainer .inner .attention {
    margin-bottom: 6.41vw;
}

html.is-mobile #mainContainer .inner .attention sup {
    vertical-align: -0.5vw;
}

html.is-mobile #mainContainer .inner .checkArea {
    margin-bottom: 3.85vw;
}

html.is-mobile #mainContainer .inner .checkArea  input {
    transform: scale(1.5);
}

html.is-mobile #mainContainer .inner .checkArea p {
    margin-left: 2.56vw;
}

html.is-mobile #mainContainer .inner .btnArea .btnBack {
    width: 28.2vw;
    height: 11.54vw;
    border-radius: 5.9vw;
    margin: 0 1.3vw;
}

html.is-mobile #mainContainer .inner .btnArea .btnSubmit {
    width: 55vw;
    height: 11.54vw;
    border-radius: 5.9vw;
    margin: 0 1.3vw;
}

html.is-mobile .wpcf7-not-valid-tip {
    margin: 1.3vw 0 2.67vw;
    font-size: 1.2rem !important;
}

}