@charset "UTF-8";
/*====================================
	----------------------------------
		Color
	----------------------------------
	
	Main     : #C02727
  	Accent   : #F3A22D  #142550
 
	----------------------------------
  		font
	----------------------------------
 
	font-family: "tbudrgothic-std", "sans-serif";
	font-weight: 300;
	font-style: normal;

 
 
====================================*/




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

  0.Main

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

c#contact{
}

#hero_main{
	position: relative;
	height: 400px;
	padding: 100px 0 0 0;
	background: url("../img/index/bg.png") repeat-x;
	background-attachment: fixed;
	background-size: contain;
	-webkit-animation: bgroop 200s linear infinite;
    animation: bgroop 200s linear infinite;		
}

.main_wrap{
	position: relative;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

@-webkit-keyframes bgroop {
    from {
        background-position: 0  0;
    }
    to {
        background-position: -1956px 0;
    }
}
@keyframes bgroop {
    from {
        background-position: 0 0;
    }
    to {
        background-position: -1956px 0;
    }
}


.main_catch{
	width: 100%;
	font-size: 2.5vw;
    line-height: 1.7em;
	margin: 0;
	padding: 0 20px;
	font-weight: 900;
	color          : #ffffff;            
	letter-spacing : 4px;
	text-shadow    : 
	2px  2px 0px #000,
	-2px  2px 0px #000,
	2px -2px 0px #000,
	-2px -2px 0px #000,
	2px  0px 0px #000,
	0px  2px 0px #000,
	-2px  0px 0px #000,
	0px -2px 0px #000;  
}

.main_catch span{
	display: block;
	color: #C02727;
	font-size: 4vw;
}

.main_img{
	width: 70%;
}

.main_img img{}


@media screen and (max-width: 850px){
	#hero_main{ background-size: auto;}
	.main_catch{ font-size: 2em;}
	.main_catch span{ font-size:  1.5em;}
}

@media screen and (max-width: 450px){
	.main_catch{ font-size: 1.8em; padding: 0;}	
}




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

  電話・見積もり

---------------------------------*/
.info_contents{
	width: 70%;
	margin: 50px auto;
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	flex-wrap: wrap;
}

.info_tel_box, .info_form{
	border: #C02727 solid 3px;
	padding: 30px;
	width: 48%;
	text-align: center;
}

.info_tel_box{
	background: url("../img/contact/contact_01.png") no-repeat;
	background-size: 40%;
	background-position: bottom;
}

.info_form{
	background: url("../img/contact/contact_02.png") no-repeat;
	background-size: 37%;
	background-position: bottom;
}

.info_tel_box h3, .info_form h3{
	font-weight: bold;
}

.info_tel{
	color: #C02727;
	font-weight: 900;
	font-size: 30px;
	letter-spacing: 1px;
}

.info_tel_txt{ margin-bottom: 250px;}


.info_form a{
	background-color: #C02727;
	color: #FFF;
	padding: 20px;
	text-align: center;
	border-radius: 20px;
	margin-top: 30px;
	border: #C02727 solid 3px;
	transition: .2s;
	font-weight: bold;
}

.info_form a span{
	display: block;
}

.info_form a:hover{
	background-color: #FFF;
	color: #C02727;
}


@media screen and (max-width: 1050px){
	.info_contents{ width: 80%;}
}

@media screen and (max-width: 950px){
	.info_tel{ letter-spacing: 0; font-size: 3vw;}
	.info_tel_txt{ letter-spacing: 1px; margin-bottom: 200px;}
	.info_tel_box h3, .info_form h3{ font-size: 2.3vw;}
}

@media screen and (max-width: 750px){
	.info_contents{ width: 90%;}
	.info_tel_box, .info_form{ padding: 15px;}
	.info_form a{ letter-spacing: 2px; font-size: 1em; line-height: 1.8em;}
	.info_tel_txt{ letter-spacing: 0; font-size: 2.1vw; line-height: 1.5em;}
	.info_tel_box h3, .info_form h3{ font-size: 1.2em;}
}

@media screen and (max-width: 600px){
	.info_tel_txt{ margin-bottom: 170px;}
	.info_form a{ padding: 10px;}
}

@media screen and (max-width: 550px){
	.info_tel_box, .info_form{ width: 80%; margin: 10px auto;}
	.info_tel_box{ background-size: 32%;}
	.info_form{ background-size: 30%; height: 370px;}
	.info_form a{ margin-top: 15px;}
	.info_tel_box h3, .info_form h3{font-size: 1.5em;}
	.info_tel{ font-size: 2em;}
	.info_tel_txt{ margin-bottom: 200px; font-size: 1em;}
}

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

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

  form

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

.contents{
	width: 70%;
	margin: 50px auto;
}

fieldset{
	border: #C02727 solid 3px;
    padding: 30px;
	margin-bottom: 50px;
}

.contents h2{
	font-weight: bold;
    font-size: 30px;
    color: #C02727;
	margin: 0 0 30px 0;
	border-bottom: #C02727 solid 3px;
	padding: 0 0 30px 20px;
}

table{ border-spacing: 5px; width: 100%;}

tr{ }

th{ vertical-align: top; width: 40%; background-color: #EFEFEF; padding: 20px 30px;}

td{ width: 60%; padding: 20px 30px; position: relative;}

input{ height: 40px; border-radius: 5px; font-size: 16px; letter-spacing: 2px; 	padding: 10px; border: #000 solid 1px; outline: none;}
select{ height: 40px; border-radius: 5px; font-size: 13px; letter-spacing: 2px; 	padding: 10px; border: #000 solid 1px; outline: none;}

input[type="checkbox"], input[type="radio"]{ height: auto;}
label{cursor: pointer;}

input:focus{ background-color: #EFEFEF;}
select:focus{ background-color: #EFEFEF;}

.radio_box{
	display: block;
	width: 50%;
	border: #000 solid 1px;
	padding: 5px 10px;
	border-radius: 5px;
	margin: 10px 0;
}

.check_box{
	display: block;
	width: 40%;
	border: #000 solid 1px;
	padding: 5px 10px;
	border-radius: 5px;
	margin: 10px 0;
}

.w40{ width: 40%;}

.w60{ width: 60%;}

.w80{ width: 80%;}

.mgb10{ margin-bottom: 10px;}
.mgb20{ margin-bottom: 20px;}

.btn_red{
	width: 50px;
    height: 30px;
    background-color: #C02727;
    color: #FFF;
    padding: 5px;
    font-size: 13px;
    border-radius: 5px;
	margin-right: 10px;
}

.btn_gray{
	width: 50px;
    height: 30px;
    background-color: #969696;
    color: #FFF;
    padding: 5px;
    font-size: 13px;
    border-radius: 5px;
	margin-right: 10px;
}

@media screen and (max-width: 1050px){
	.contents{ width: 80%;}
	.contents h2{ font-size: 1.7em;}
}

@media screen and (max-width: 750px){
	.contents{ width: 90%;}
	th{ font-size: 1.2em;}
}

@media screen and (max-width: 550px){
	.w80{ width: 100%;}
}

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

  プライバシーポリシー

---------------------------------*/
.ll_0{letter-spacing: 0;}

.pp_box{
	width: 70%;
	margin: 0 auto 10px;
	height: 300px;
	overflow-y: scroll;
	border: #000 solid 1px;
	padding: 15px 30px;
	letter-spacing: 0;
	line-height: 1.2em;
	font-size: 13px;
}


.pp_ttl{
	margin-bottom: 0;
	font-weight: bold;
}

.pp_txt{
	margin-top: 5px;
}

.okbox{text-align: center; width: 100%; font-weight: bold;}

input[type="submit"]{
	cursor: pointer;
	display: block;
	margin: 70px auto;
	width: 300px;
	padding: 30px;
	line-height: 0;
	transition: .2s;
}

input[type="submit"]:hover{
	background-color: #676767;
	color: #fff;
}


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

  確認・完了

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

.kakunin_ttl{
	text-align: center;
	color: #C02727;
	font-weight: bold;
	font-size: 27px;
	margin-top: 80px;
}

.Confirmation{
    width: 75%;
    margin: 50px auto;
    border: #C02727 solid 2px;
    padding: 20px;	
}

.form_title{
    color: #C02727;
    margin-top: 0;
    border-bottom: #C02727 solid 2px;
    padding-bottom: 15px;
    padding-left: 15px;	
}

.Confirmation_title{
	font-weight: bold;
	padding-left: 20px;
	font-size: 18px;
}

.Confirmation_2{
    width: 75%;
    margin: 50px auto;
    border: #C02727 solid 2px;
    padding: 20px;	
}

.Confirmation_category{}

.Confirmation_category ul{
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	width: 95%;
	margin: 10px auto;
}

.Confirmation_category ul li{
	width: 30%;
	margin: 0 10px 10px 0;
	border: #ddd solid 2px;
	padding: 10px;
	text-align: center;
	letter-spacing: 0;
}

.Confirmation_category_title{
	border-bottom: #ddd solid 1px;
	margin-bottom: 8px;
}

.submit_box{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 70%;
    margin: 0 auto;	
}

.submit_box input[type="submit"]{
}

.submit_box input[type="button"]{
	cursor: pointer;
}

.contents_kakunin{
	margin-top: 200px;
}

.box_none tr:last-child{
	display: none;
}

@media screen and (max-width: 750px){
	.pp_box{ width: 100%;}
}

@media screen and (max-width: 830px){
	th, td{display: block; width: 100%;}
	.contents_kakunin p{ padding: 0 20px;}
}

@media screen and (max-width: 530px){
		th, td{ padding: 10px 20px;}
}









