/* common */
.b {
    font-weight:bold;
}
.under {
    border-bottom:solid 2px #71573d;
}

br.sp-br {
    display: none;
}

/* #wrapper */
#wrapper {
    margin: 0 auto;
}
/* #main */
#main p,span {
    font-family: "M PLUS 1p";
    font-size: 110%;
    text-align: center;
    color: #000;
}
#main p.question {
    font-size: 179%;
    font-weight: 600;
    color: #158530;
    margin: 30px auto 70px;
}
#main .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px 0 30px;
}
#main .item-wrap {
    padding: 20px 0 40px 0;
    margin: 20px 30px 50px 30px;
    background-color: #e1efde;
    box-shadow: 0px 12px 15px 1px rgba(0, 0, 0, 0.3);
}
#main #question3.item-wrap {
    padding: 20px 0 90px 0;
}
#main img {
    width: 100%;
    height: calc(100% * 0.75);
    object-fit: cover;
}
#question1 img,
#question3 img,
#question4 img {
    width: 100%;
    cursor: pointer;
}
#main img:not(.result-image, #region-image):hover {
    transform: scale(1.05,1.05);
    transition: 0.5s all;
}
#main img.non-selected {
    opacity: 0.5;
}
#main .image-section {
    display: flex;
}
#main .images-wrap {
    display: flex;
    width: 50%;
}
#main .image-wrap {
    width: 50%;
    margin: 0 10px;
}
#main .image-desc {
    color: #71573d;
    margin-top: 20px;
}

#main ul{
    text-align: left;
    padding:0 20px;
}
#main ul li{
    color: #71573d;
}
/* common */
#question1,
#question2,
#question3,
#question4 {
    margin: 20px auto;
}
table, tr, td {
    border: 0px none!important;
}
.btn-wrap {
    margin-top: 40px;
}
.btn-wrap input[type="button"] {
    position: relative;
    font-size: 28px;
    color: #158530;
    font-weight: bold;
    border: 4px solid #158530;
    background-color: transparent;
    padding: 16px 10px;
    width: 90%;
    cursor: pointer;
}
table {
    margin: 0 auto;
    width: 90%!important;
    border-collapse: collapse!important;
}
table.tb:before {
    display: none;
}
/* #question1 */
#question1 #status-images {
    margin-top: 30px;
}
/* #question2 */
#main #question2 .images-wrap{
	width:100%;
    text-align: center;
    justify-content: space-between;
    align-content:stretch;
    flex-wrap:wrap;
    padding:0 5%;

}
#main #question2 .image-wrap{
	width:24%;
    margin:0 2%;
}
#question2 #select-form {
    margin-bottom: 30px;
}
#question2 select {
    width: 100%;
}
#question2 .area-unit {
    margin-left: 10px;
}
#question2 p.contact-text {
    margin: auto 20px;
}
/* question4 */
#question4 p.question {
    margin-bottom: 40px;
}
#question4 p.select-message {
    font-size: 130%;
    color: #158530;
    margin-bottom: 30px;
}
#question4 .image-section {
    flex-wrap: wrap;
}
#question4 .image-wrap {
    width: calc(100% / 6);
    margin: 10px auto;
    padding: 10px 10px;
}
#question4 .btn-wrap {
    margin-top: 20px;
}
#question4 input[type="radio"] {
    margin: 0 5px 0 0;
    cursor: pointer;
}
#question4 label {
    cursor: pointer;
}
/* #question5 */
#question5 #zipcode-form {
    margin-bottom: 20px;
}
#question5 select#region {
    width: 100%;
}
#question5 input::placeholder {
    color: #aaa;
}
#question5 p.error {
    max-width: 480px;
    display: none;
    font-size: 100%;
    text-align: left;
    color: red;
    margin: 10px auto;
}
#question5 #region-form {
    text-align: center;
}
#question5 #region-image {
    width: 400px;
    margin: 50px auto;
}
#question5 div.btn.green {
    margin-bottom: 30px;
}
/* #result */
#result {
    display: none;
}
#result .result-message {
    margin: 30px auto;
}
#result #result-image-wrap {
    text-align: center;
    padding: 20px 0;
    margin-bottom: 0px;
}
#result #result-image-wrap img {
    width: 350px;
    height: 350px;
    object-fit: cover;
}
#result p.result-message {
    font-size: 179%;
    font-weight: 600;
    color: #158530;;
}
#result img.result-image {
    width: 30%;
}
#result .result-price {
    font-size: 22px;
    margin-bottom: 30px;
}
#result .result-desc {
    margin-bottom: 20px;
}
#result .roof-message {
    display: none;
    margin-bottom: 10px;
}
#result div.price_banner {
    background-image: none;
}
#result .btn.green.photos {
    margin-bottom: 10px;
}
#result .download-desc {
    margin-bottom: 30px;
}
#result .btn.green.photos a {
    font-size: 20px;
}
#result .price_banner .btn-wrap {
    width: 50%;
    margin: 0;
}
#result .price_banner .btn-wrap .contact_b {
    margin: 0 auto 10px;
}
#result .price_banner .cont_button .btn-wrap:nth-child(1) .contact_b a:after {
    left: 5%;
}
#result .price_banner .cont_button .btn-wrap:nth-child(2) .contact_b {
    background-color: #158530!important;
}
#result .price_banner .cont_button .btn-wrap:nth-child(2) .contact_b a {
    color: #fff;
}
#result .price_banner .cont_button .btn-wrap:nth-child(2) .contact_b a:after {
    content: '';
    color: #fff;
    background-color: #158530!important;
    background: url('../images/document.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% auto;
    position: absolute;
    top: 50%;
    width: 40px;
    height: 32px;
    left: 15%;
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    -webkit-transform: translate(0, -50%);
    -o-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
}

#result .price_banner .campaign {
    text-align: center;
    margin-top: 5px;
    margin-bottom: 50px;
}
#result .price_banner .campaign img{
    max-width:490px;
    border:2px solid black;

}

/* クリック */
#result .price_banner .arrow_box {
    position: relative;
    background: #d50b11;
    border: 4px solid #fff;
    width: 80px;
    padding: 10px 20px;
    color: #fff;
    font-size: 26px;
    left: 22%;
    transform: rotate(330deg);
    font-weight: bold;
}
#result .price_banner .arrow_box:after, .arrow_box:before {
	top: 100%;
	left: 50%;
	border: solid transparent;
	content: "";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
}

#result .price_banner .arrow_box:after {
    border-color: rgba(213, 11, 17, 0);
    border-top-color: #d50b11;
    border-width: 60px 1px 10px 18px;
    margin-left: 5px;
}
#result .price_banner .arrow_box:before {
    border-color: rgba(230, 245, 225, 0);
    border-top-color: #fff;
    border-width: 66px 4px 16px 24px;
    margin-left: 0px;
}
#main .youtube.item-wrap {
   padding: 20px 0 40px 0;
   text-align: center; 
} 
#price-youtube {
    margin:auto;
    width:80%;
    height:600px;
}

#result .bunkatu-head {
    margin-top: 30px;
    font-size: 22px;
}
#result .bunkatu-content {
    font-weight: bold;
    font-size: 22px;
}
#result .bunkatu-content {
    font-weight: bold;
    font-size: 22px;
}
#result .bunkatu-content .monthly-price{
    margin-left:15px;
    margin-right:15px;
    font-size: 42px;
}
#result .bunkatu-content .kakeru{
    margin:0 15px 0 20px;
}
#result .bunkatu-content .bunkatu-kaisuu {
    font-size:18px;

}


/* スマホレイアウト */
@media (max-width: 767px) {
    br.sp-br {
        display: block;
    }
    #main .container {
        max-width: initial;
    }
    #main .item-wrap {
        padding-bottom: 20px;
        margin: 0 10px 30px 10px;
    }
    #main p.question,
    #main p.result-message {
        font-size: 145%;
        font-weight: 600;
        color: #158530;;
        margin-bottom: 20px;
    }
    #main img {
        width: 90%!important;
        margin-bottom: 5px;
    }
    #main img:before {
        content: '';
        display: block;
        padding-top: 75%;
    }
    #main .image-section {
        display: block;
    }
    #main .images-wrap {
        width: 100%;
        height: auto;
    }
    #main .image-wrap {
        margin: 0 0 20px 0;
        width: 100%;
        text-align: center;
    }
    #main p.image-desc {
        margin: 0 0 20px 0;
    }
    #question5 table th.hisu {
        padding-left: 50px;
    }
    #question2 p.contact-text {
        font-size: 16px;
    }
    #main #question2 .images-wrap{
        padding:0;
    }
    #main #question2 .image-wrap{
    	width:48%;
        margin:0 0.5%;
        padding:0;
    }
    #question4 .image-section {
        display: flex;
        flex-wrap: wrap;
    }
    #question4 .image-wrap {
        width: 50%;
        padding: 0;
    }
    #question5 {
        margin-bottom: 100px!important;
    }
    #question5 p.error {
        margin-left: 30px;
    }
    #result #result-image-wrap {
        margin-bottom: 0;
    }
    #result #result-image-wrap img {
        width: 300px;
        height: 300px;
    }
    #result .btn.green.photos {
        box-sizing: border-box;
        width: 250px;
        max-width: none!important;
        margin-bottom: 10px;
    }
    #result .result-desc {
        width: 90%;
        margin: 0 auto;
        font-size:14px;
    }
    #result .download-desc {
        font-size: 16px;
    }
    #result .price_banner .cont_button .btn-wrap {
        width: 100%;
    }
    #result .price_banner .cont_button .btn-wrap:nth-child(2) .contact_b a:after {
        left: 5%;
    }
    #result p.survey-desc {
        font-size: 16px;
        margin: 0 5% 20px 5%;
    }
    #result p.sample-desc {
        font-size: 16px;
        margin: 0 5%;
    }
    #result .price_banner .campaign {
        margin-top: 20px;
        margin-bottom: 20px;
    }

    #result .price_banner .arrow_box {
        left:-4%;
        padding: 5px 15px;
        color: #fff;
    }
    #result .price_banner .arrow_box:after {
        border-width: 36px 1px 10px 18px;
        margin-left: 5px;
    }
    #result .price_banner .arrow_box:before {
        border-width: 40px 4px 16px 24px;
        margin-left: 0px;
    }
    #price-youtube {
        margin:auto;
        width:95%;
        height:240px;
    }
    #main .youtube.item-wrap {
       padding: 20px 0 40px 0;
    } 

    #result .bunkatu-head {
        text-align: left;
        margin-left: 20px;
        margin-top: 50px;
    }

    #result .bunkatu-content {
        font-weight: bold;
        font-size: 18px;
        margin-top: 5px;
    }
    #result .bunkatu-content {
        font-weight: bold;
        font-size: 18px;
    }
    #result .bunkatu-content .monthly-price{
        margin-left:15px;
        margin-right:15px;
        font-size: 36px;
    }
    #result .bunkatu-content .kakeru{
        margin:0 5px 0 10px;
    }
    #result .bunkatu-content .bunkatu-kaisuu {
        font-size:16px;
    }
    #result .bunkatu-bikou {
        margin-left: 30px;
        text-align: left;
        margin-top: 10px;
        line-height: 150%;
        margin-bottom: 50px;
    }
}

/*question3　追加修正*/
#main #question3 .images-wrap {
    display: flex;
	text-align:center;
	margin:auto;
    width: 75%;
}
#main #question3 .image-wrap{
	width:33.3%;
}
#main #question3 .images-wrap .obi-img{
	position:relative;
}
#main #question3 .images-wrap .obi-img .obi{
	position:absolute;
	top:0;
	left:0;
	color:#fff;
	background-color: #ffb64c;
	padding:5px;
	font-size:100%;
}
#main #question3 .images-wrap .obi-img .obi2{
	position:absolute;
	bottom:0;
	left:0;
	color:#fff;
	background-color: #ffb64c;
	padding:5px;
	font-size:100%;
}
#main #question3 .images-wrap .image-desc.desc2{
    margin-top:10px;
    margin-bottom:10px;
}
#main #question3 .images-wrap .image-desc.desc2 span{
    color:#71573d;
}
@media (max-width: 767px) {
	#main #question3 .images-wrap {
	    display: inline-block;
		text-align:center;
		margin:auto;
	    width: 100%;
	}
	#main #question3 .image-wrap{
		width:50%;
		float:left;
	}
	#main #question3 .images-wrap .obi-img .obi{
		top:0;
		left:5%;
		font-size:80%;
	}
	#main #question3 .images-wrap .obi-img .obi2{
		bottom:5px;
		left:5%;
		font-size:80%;
	}
    #main #question3 .images-wrap{
		font-size:100%;
    }
	#main #question3 .images-wrap .image-desc.desc2 {
        margin-top:-10px;
		font-size:80%;
	}
    #main #question3 ul{
        padding:0 10px;
		font-size:75%;
    }
}