@charset "utf-8";

body{background:#f4f1e9;}
.allwrap{
    /*
    overflow: hidden;
    */
}

#hasei_main{
    height: 870px;
}
#hasei_main .img_area img {
    filter: blur(0);
}

@media screen and (max-width :800px ){
    #hasei_main{height: 600px;}  
    #hasei_main .img_area{padding-top: 455px;}
}
/* ==========================================================================
	intro
========================================================================== */
.intro {
    position: relative;
    padding-top: 10.6vw;
    margin-bottom: 9.3vw;
    text-align: center;
}

.intro h2{
    font-size: 20px;
    font-size: var(--fz20);
    line-height: 1.9;
    margin-bottom: 45px;
    font-weight: 500;
}
.intro h2.enb{
    font-size: 46px;
    margin-bottom: 15px;
}
.intro .sbtxt{
     display: block;
    text-align: center;
    font-size: 20px;
    font-size: var(--fz20);
    color:var(--base-link-color);
    margin-bottom: 60px;
}
.intro p{
    font-size: 15px;
    font-size: var(--fz15);
    line-height: 2;
    font-weight: 500;
}

.intro p.c_txt{
    font-size: 18px;
    font-size: var(--fz18);
    font-weight: 500;
    margin-bottom: 38px;
}
.intro .link_btn{
    text-align:left;
    margin:87px auto 0;
}
@media screen and (max-width :800px ){
    .intro {
        padding: 18.75vw 10% 16vw;
        box-sizing:border-box;
        margin-bottom: 0;
    }

    .intro h2{
        font-size: 16px;
        font-size: var(--fz16);
        line-height: 2.0625;
        margin-bottom: 33px;
    }
    .intro h2.enb{
        font-size: 35px;
        line-height: 1.3;
        margin-bottom: 15px;
    }
    .intro .sbtxt{
        font-size: 17px;
        margin-bottom: 40px;
    }
    .intro p{
        font-size: 14px;
        font-size: var(--fz14);
        line-height: 2.0714;
        text-align:left;
    }
    .intro p.c_txt{
        font-size: 16px;
        font-size: var(--fz16);
        margin-bottom: 25px;
    }
    .intro .link_btn{
        margin:40px auto 0;
    }

}

/* ==========================================================================
	form_wrap
========================================================================== */
.form_wrap {
    position: relative;
    background:#fff;
    padding-bottom: 150px;
}
.form_wrap:before{
    content:"";
    display: block;
    position: absolute;
    left: 0;
    top:-5px;
    width: 100%;
    height: 115px;
    background:#f4f1e9;
    z-index:1;
}
.form_wrap .tell_area {
    position: relative;
    width: 86.666%;
    background:#fff;
    border-radius:10px 10px 0 0;
	-js-display: flex;
	display:-webkit-box;
	display: -webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
    justify-content: space-between;
	-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
    margin:0 auto 100px;
    padding:65px 5.3vw;
    box-sizing:border-box;
    border-bottom:1px solid #f4f1e9;
    z-index:10;
}
.form_wrap .tit_box {
    width: 30%;
    padding-top: 15px;
    height: 80px;
    box-sizing:border-box;
    border-right:1px solid #e7e4dd;
}

.form_wrap .tell_area h3 {
    font-size: 22px;
    font-size: var(--fz22);
    font-weight: 500;
    margin-bottom: 15px;
}

.form_wrap .env{
    font-size: 12px;
    color:var(--base-text-color);
}


.form_wrap .tell_box{
    width: 70%;
    text-align:center;
    padding-top: 15px;
    padding-right: 35px;
    box-sizing:border-box;
}
.form_wrap .tell_area h4{   
    display:inline-block;
    margin-right: 40px;
}
.form_wrap .tell_area h4 a{
    display:inline-block;
    font-size: 48px;
    font-weight: 500;
}
.form_wrap .tell_area h4 span {
    display:inline-block;
    font-size: 26px;
    font-weight: 500;
    color:var(--base-link-color);
    margin-right: 18px;
    transform: translateY(-7px);
}
.form_wrap .tell_area p {
    position: relative;
    display:inline-block;
    font-size: 14px;
    font-weight: 500;
    padding:10px 20px;
    background:#bd9c46;
    border-radius:20px;
    color:#fff;
    transform: translateY(-11px);
}


@media screen and (max-width :1280px ){
    .form_wrap .tit_box{
        width: 245px;
    }
    .form_wrap .tell_box{
        width: calc(100% - 245px);
        padding:0 0 0 35px;
        text-align:left;
    }
    .form_wrap .tell_area h4{   
        display:block;
        margin-bottom: 20px;
        margin-right: 40px;
    }
    
}
@media screen and (max-width :1000px ){
    .form_wrap .tell_area h4 a{font-size: 44px;}    
}
@media screen and (max-width :800px ){
    .form_wrap {
        padding-bottom: 75px;
    }
    .form_wrap:before{
        top:-5px;
        height: 85px;
    }
    .form_wrap .tell_area {
        position: relative;
        width: 92.5% !Important;
        display: block;
        margin:0 auto 60px;
        padding:35px 0 38px !Important;
        box-sizing:border-box;
        border:1px solid #f4f1e9;
    }
    .form_wrap .tit_box {
        width: 100%;
        text-align: center;
        padding-top:0;
        height: auto;
        border:none;
    }

    .form_wrap .tell_area h3 {
        display:inline-block;
        font-size: 18px;
        font-size: var(--fz18);
        margin-bottom:0;
        margin-right: 14px;
    }

    .form_wrap .env{
        font-size: 10px;
        color:var(--base-link-color);
        transform: translateY(-3px);
        display: inline-block;
        
    }


    .form_wrap .tell_box{
        width: 100%;
        text-align:center;
        padding:20px 0 0;
    }
    .form_wrap .tell_area h4{   
        display:inline-block;
        margin-right:0;
    }
    .form_wrap .tell_area h4 a{
        font-size: 39px;
    }
    .form_wrap .tell_area h4 span {
        font-size: 19px;
        margin-right: 12px;
    transform: translateY(-3px);
    }
    .form_wrap .tell_area p {
        position: relative;
        display:block;
        font-size: 14px;
        font-weight: 500;
        padding:10px;
        background:#bd9c46;
        border-radius:10px;
        color:#fff;
        width: 77%;
        margin:0 auto;
        transform: translateY(0);
    }

}


/* ==========================================================================
	form
========================================================================== */



.form_area_wrap{
    position: relative;
    width: 86.666%;
    margin:0 auto;
    padding:0 5.33vw;
    box-sizing:border-box;
    z-index:10;
    background: #fff;
}
.form_area_wrap .tit_area {
    -js-display: flex;
    display:-webkit-box;
    display: -webkit-flex;
    display:-moz-box;
    display:-ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}
.form_area_wrap .title_box {
    width: 280px;
}
.form_area_wrap .title_box  h3 {
    font-size: 22px;
    font-size: var(--fz22);
    font-weight: 500;
    margin-bottom: 15px;
}
.check_list {
    width: 68.4%;
    
    -js-display: flex;
    display:-webkit-box;
    display: -webkit-flex;
    display:-moz-box;
    display:-ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}

.check_list{
    -js-display: flex;
	display:-webkit-box;
	display: -webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
    justify-content: space-between;
	-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
}
.check_list p{
     display:inline-block;
    font-size: 18px;
    font-weight: 500;
    color:var(--base-link-color);
    transform: translateY(10px);
}

.radio_list{
    position: relative;
    width: calc(100% - 180px);
    max-width:650px;
	-js-display: flex;
	display:-webkit-box;
	display: -webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
    justify-content: space-between;
	-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
    transform: translateY(-25px);
    
}
.radio_list li{
	position: relative;
    display:inline-block;
    border:none;
    width: calc(50% - 12px);
    min-width:200px;
    margin-bottom: 10px;
    /*
    margin-right: 40px;
    min-height:40px;
    padding-top:11px;
    */
}

.radio_list label {
    position: relative;
    cursor: pointer;
    display: inline-block;
    font-size: 20px;
    height: 84px;
    width: 100%;
    min-width:200px;
    padding:30px 0 0 76px;
    box-sizing: border-box;
    border-radius:40px;
    border:1px solid #f1f2e7;
}

.radio_list input {
	opacity: 0;
	position: absolute;
	left: 0;
	z-index: 0;
}

.radio_list label:before {
	content: "";
	display: block;
	position: absolute;
	box-sizing: border-box;
}

.radio_list label:before {
	width: 40px;
	height: 40px;
    top: 22px;
    left: 21px;
	z-index: 0;
    background:url(../image/contact/c_icon.png) #f4f1e9;
    background-size:cover;
    border-radius:20px;
}




.radio_list input:checked + label{
   border-color:#bd9c46;
}

.radio_list input:checked + label:before {
    /*
    border:3px solid #142d46;
    */
    background-color:#bd9c46;
}



.form{
    width: 100%;
	position:relative;
	-js-display: flex;
	display:-webkit-box;
	display: -webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
    justify-content: space-between;
	-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
    margin-top: 70px;
}
.form li{
    width: 48.24%;
    margin-bottom: 40px;
    opacity:1;
    height:auto;
    transition:opacity .2s ease,height .2s ease,margin .2s ease;
    
}

.form li:last-child{
    width: 100%;
}
.form li.on{
    transition:opacity .2s ease,height .2s ease,margin .2s ease;
    opacity:0;
    height:0;
    margin-bottom: 0;
}



.form .text_area,
.form .form_area {
	box-sizing:border-box;
}

.form .text_area {
    width: 100%;
    font-size: 18px;
    font-weight: 700;
    color:var(--base-link-color);
    margin-bottom: 30px;
}
.form .text_area label{
    font-weight: 700;
}
.form .form_area {
    font-size: 18px;
	width:100%;
    box-sizing:border-box;
}

.form-item {
	width: 100%;
	height: 80px;
	padding: 0 25px;
    border-radius:5px;
	font-size: 18px;
	box-sizing: border-box;
    border:1px solid #ebe5d5;
}

textarea.form-item{height: 300px;padding:25px;}

::placeholder {
  color: #cbcbcb;
}
/* 旧Edge対応 */
::-ms-input-placeholder {
  color: #cbcbcb;
}
/* IE対応 */
:-ms-input-placeholder {
  color: #cbcbcb;
}


.submit_area{
    position: relative;
	-js-display: flex;
	display:-webkit-box;
	display: -webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
    justify-content: space-between;
	-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
    margin-top: 105px;
}
.submit_area p{
    position: relative;
    font-size: 17px;
    font-weight: 500;
}
.form-submit {
    display: inline-block;
	width:300px;
    height:80px;
    text-align: center;
    border:none;
    background:url(../image/contact/submit.png);
    background-size:cover;
    transform: translateY(-26px);
    transition:opacity .4s ease;
}

.form-submit:hover{
    opacity:.7;
    transition:opacity .4s ease;
}



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


    .check_list{width: 100%;margin-top: 70px;}
    .form{margin-top: 30px;}
}
 @media screen and ( max-width: 1000px ) {
     
     .form_wrap .tell_area,
     .form_area_wrap{width: 95%;padding-left:3vw;padding-right:3vw;}
}

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

    .form_area_wrap{
        width: 87.5%;
        padding:0;
    }
    .form_area_wrap .tit_area {
        display: block;
        text-align: center;
    }
    .form_area_wrap .title_box {
        width: 100%;
    }
    .form_area_wrap .title_box  h3 {
        font-size: 21px;
        font-size: var(--fz21);
        margin-bottom: 17px;
    }
    .check_list {
        margin:60px auto 0;
        display: block;
    }

    .check_list p{
         display:block;
        font-size: 16px;
        transform: translateY(0);
        margin-bottom:24px;
        text-align:left;
    }

    .radio_list{
        position: relative;
        width: 100%;
        max-width:800px;
        -js-display: flex;
        display:-webkit-box;
        display: -webkit-flex;
        display:-moz-box;
        display:-ms-flexbox;
        display: flex;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
        transform: translateY(0);

    }
    .radio_list li{
        width: calc(50% - 12px);
        min-width:150px;
    }

    .radio_list label {
        font-size: 15px;
        height: 60px;
        min-width:100px;
        padding:21px 0 0 52px;
        text-align:left;
    }


    .radio_list label:before {
        width: 25px;
        height: 25px;
        top: 0;
        bottom:0;
        left: 15px;
        margin:auto;
    }

    .form{
        width: 100%;
        display: block;
        margin-top: 21px;
    }
    .form li{
        width: 100%;
        margin-bottom: 30px;
    }

    .form .text_area {
        font-size: 16px;
        margin-bottom: 24px;
    }
    .form .form_area {
        font-size: 16px;
    }

    .form-item {
        width: 100%;
        height: 70px;
        padding: 0 15px;
        font-size: 16px;
    }

    textarea.form-item{padding:15px;}

    .submit_area{
        position: relative;
        display: block;
        width: 92%;
        min-width:320px;
        margin:45px auto 0;
    }
    .submit_area p{
        font-size: 14px;
        line-height: 2.07;
    }
    .form-submit {
        display: block;
        width:320px;
        height:60px;
        margin:43px auto 0;
        background-image:url(../image/contact/submit_sp.png);
        transform: translateY(0);
    }
    
}

#footer{
    border-top:1px solid #e7e4dd;
}

.grecaptcha-badge{z-index:50;}