
h1.contact {
    color: darkgreen;/*文字色*/
  /*線の種類（点線）2px 線色*/
    border-bottom: dashed 2px darkgreen;
    padding:  0.2em ;/*上下の余白*/
    
	margin-bottom: 50px;
	
}
h4.contact_sub:before{
content:"◆";
}

.contact_banner{
    display: flex;
    width:100%;
}
.contact_banner_img{
    max-width:50%;
    margin:0 auto;
}

.c-form__txt-error{
    color:red;
	font-size: 1.2rem;
    text-decoration:underline;
}
.required:after,.required-corporation:after,.required-tel:after{
    
    color:red;
    background-color:white;
    border:solid;
    border-width:0.1rem;
    padding:0 0.5rem;
    margin-left:1.6rem;
}
.required:after{
    /*content:"必須";*/
    content:"必須";
}
.required-corporation:after{
    /*content:"法人のみ必須";*/
	content:"法人のみ必須";
}
.required-tel:after{
    /*content:"電話ご希望時必須";*/
	content:"電話ご希望時必須";
}

.u-mt__xs{
	font-size: 1.4rem;
    width:90%;
    text-indent:0;
}
.c-form__body {
    display: table;
    table-layout: fixed;
    width: 100%;
    border-bottom: 1px dotted #cecece;
    text-align: left;
    margin:0;
}
.c-form__body:first-child {
    border-top: 1px dotted #cecece;
}

.c-form__body dt, .c-form__body dd{
    display:table-cell;
    margin:0;
    vertical-align: top;
	color: #111111;
}

.c-form__body dt{
    width:25%;
    padding:2.4rem 3.2rem;
    background-color: #f6f6f6;
	font-weight: bold;
}
.c-form__body dt,.c-form__body dd{
/*padding: 1.4rem 2.4rem;*/
padding: 2% 4%;
}
.phonefax{
    max-width:24%;
}

input[type="text"] {
    color: #000;
    height: 1.6rem;
    line-height: 1.6rem;
    margin-right:1.6rem;
	padding: 6px;
}
select {
	padding: 6px;
}
.c-form__textarea {
	font-family:'Hiragino Sans', 'Meiryo','sans-serif','Microsoft YaHei';
	padding: 6px;
}

.name input[type="text"], .kana input[type="text"] {
	width: 20%;
}
.company input[type="text"], .email input[type="text"], .syozai_building input[type="text"] {
	width: 30%;
}
.zip input[type="text"], .tel input[type="text"], .fax input[type="text"], .syozai_zip input[type="text"], .syozai_tel input[type="text"] {
	width: 10%;
}
.address input[type="text"], .date input[type="text"], .syozai_address input[type="text"] {
	width: 40%;
}

.message textarea {
    width: 80%;
    height: 8.0rem;	
}


.c-form__body dd{
    padding:2.4rem 3.2rem;
    text-indent:0;
}

.u-mr__s{
    margin-right:1.6rem;
}


.c-form__button-next{
    width:30%;
    height:5.2rem;
    font-size:1.8rem;
    margin:3.2rem auto;
    display:block;
    background-color:darkgreen;
    color:white;
    border:none;
    cursor:pointer;
}


.input_name{
        display:flex;
    }



.display-none{
display:none;
}


#panel_spec{
width:100%;
}
#panel_spec td{
width:13%;
text-align:center;
}
#panel_spec tr{
border:solid;
border-top-width:0.1rem;
}
#panel_spec input{
width:50%;
}
#panel_spec .table-number{
width:5%;
}



.button_plus{
	cursor:pointer;
	font-size:16px;
	background-color:#e8e8e8;
	border-width:1px!important;
	border-color:#000;
	border:solid;
	padding:4px 6px;
}
#detail2,#detail3{
display:none;
}
/*#check_detail1:checked ~ table #detail2{
display:table-row;
}
#check_detail1:checked ~ table #detail1 .button_plus#lebel_detail1{
display:none;
}
#check_detail2:checked ~ table #detail3{
display:table-row;
}
#check_detail2:checked ~ table #detail2 .button_plus#lebel_detail2{
display:none;
}*/
#check_detail1:checked ~ dl#detail2{
display:table;
}
#check_detail1:checked ~ dl#detail1 .button_plus#lebel_detail1{
display:none;
}
#check_detail2:checked ~ dl#detail3{
display:table;
}
#check_detail2:checked ~ dl#detail2 .button_plus#lebel_detail2{
display:none;
}

#same_syozai:checked ~ .h-adr{
display:none;
}
#same_syozai {
display:block;
/*margin:0 auto 1.5rem;*/
	margin: 0 auto 0;
	padding: 8px 16px;
	font-size: 1.4rem;
}
#same_syozai:hover {
	cursor: pointer;
}




/*2023/02/07　追記部分*/

.large_text{
	background-color: darkgreen;
	color: #FFF;
	text-align:center; 
	font-weight: bold;
	font-size: 2.5rem;
	margin:4% auto 0 auto;
	padding: 2% 0;
	box-shadow: inset 0 0 3px 3px #fff;
}

.medium_text{
	text-align:center;
	font-size:2.0rem;
	margin: 4% 10% 0 10%;
	width: 80%;
}

.text_flame .list_box{
	display:inline-block;
}

.list_box ul,ol{
	width: 50%;
	margin: 5% 24%;
	padding: 0.5em 1em 0.5em 2em;
}

.list_box ul li, ol li {
  line-height: 1.5;
  padding: 0.5em 0;
	font-size: 2.0rem;
}

ol.list_box{
  counter-reset:list;
  list-style-type:none;
  font: 14px/1.6 'arial narrow', sans-serif;
  padding:0;
}
ol.list_box li{
  position:relative;
  padding: 0 0 0 20px;
  margin: 7px 0 7px 0px;
  font-weight: bold;
  font-size:2.0rem;
  line-height: 40px;
  border-bottom: dashed 1px darkgreen;
}
ol.list_box li:before{
  counter-increment: list;
  content: "";
  display: block;
  position: absolute;
  left: 0px;
  height: 0;
  width: 0;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 7px solid darkgreen;
  top: 50%;
  -moz-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}


.stepbar {
  margin: 3% 20%;
  width: 60%;
}

.stepbar .stepbarwrap {
  margin: 2em 0;
  position: relative;
}

.stepbar .stepbarwrap .steptitle {
  display: inline-flex;
  align-items: center;
}

.stepbar .stepbarwrap .steptitle .stepcircle {
  display: inline-block;
  width: 3em;
  height: 3em;
  content: "";
  border-radius: 50%;
  background-color: darkgreen;
  color: #fff;
  text-align: center;
}

.stepbar .stepbarwrap .steptitle .stepcircle span {
  display: inline-block;
  line-height: 1.2em;
  font-size: 0.8em;
  font-weight: bold;
  position: relative;
  top: 0.9em;
}

.stepbar .stepbarwrap .steptitle .title {
  margin: 0.5em;
  font-weight: bold;
  font-size: 1.2em;
}

.stepbar .stepbarwrap .steptxt {
  padding-left: 3.5em;
}

.stepbar .stepbarwrap .steptxt .txt {
  font-size: 0.9em;
}

.stepbar .stepbarwrap .stepline {
  width: 1px;
  height: calc(100% + 1em);
  background-color: darkgreen;
  position: absolute;
  top: 1em;
  left: 1.5em;
  z-index: -1;
}

.stepbarwrap:last-of-type .stepline:last-of-type {
  display: none;
}

.stepbar .midashi{
  position: relative;
  padding: 0.6em;
  background: darkgreen;
	color: #fff;
}

.stepbar .midashi:after {
  position: absolute;
  content: '';
  top: 100%;
  left: 30px;
  border: 15px solid transparent;
  border-top: 15px solid darkgreen;
  width: 0;
  height: 0;
}

.attention_box{
	width: 60%;
	margin: 1.6rem 20%;
	padding: 2%;
	background-color: rgba(255,167,168,0.25);
	border:1px dashed;
	border-color: crimson;
}

.attention_box b{
	bottom: 2%;
}

.attention_box2{
	width: 60%;
	margin: 1.6rem 20%;
	padding: 2%;
	background-color: rgba(90,170,255,0.25);
	border:1px dashed;
	border-color: blue;
}

.attention_box2 b{
	bottom: 2%;
}
.attention_row{
padding-left:1em;
text-indent:-1em;
display:block;
}


.marker-yellow {
background: linear-gradient(transparent 60%, #ffffa8 0%);
}



/*2023/04/03追記部分*/
.nocollect_text{
	font-size: 1.6rem;
	color: red;
	text-align: center;
	font-weight: bold;
}


/* 2023/05/09 パネル仕様変更 */
dl.panel_detail {
	display: table;
}
dl.panel_headline {
	width: 100%;
	display: table;
}
dl.panel_detail .detailBox {
	display: table;
	width: 100%;
}
dl.panel_headline dt, dl.panel_detail dt, dl.panel_detail .detailBox dd {
	display: table-cell;
}
dl.panel_headline dt, dl.panel_detail dt, dl.panel_detail .detailBox dd {
	text-align: center;
	vertical-align: middle;
	padding: 0px;
}

dl.panel_headline dt:nth-child(1), dl.panel_detail dt {
	width: 4%;
} 
dl.panel_headline dt, dl.panel_detail .detailBox dd {
	width: 18%;
	padding-top: 16px;
	padding-bottom: 16px;
}
dl.panel_headline dt.left {
	padding-right: 3%;
}
dl.panel_headline dt:last-child, dl.panel_detail .detailBox dd:last-child {
	width: 6%;
}
dl.panel_detail p.panel_sp {
	display: none;
}

.todokeWarp {
	width: 100%;
	display: table;
	padding-top: 36px;
	padding-bottom: 12px;
}

.todokeWarp div {
	display: table-cell;
	vertical-align: middle;
}

.todokeWarp div:nth-child(1) {
	width: 25%;	
}
.todokeWarp div:nth-child(1) h4 {
	margin: 0px;
}

.todokeWarp div:nth-child(2) {
	width: 75%;	
}



@media only screen and (max-width: 800px) {
    .c-form__body dt, .c-form__body dd{
        width:100%;
        display:block;
        padding:2.4rem 0;
        text-indent:2.4rem;
    }
}

@media only screen and (max-width: 800px) {
    .c-form__button-next{
    width:100%;
    }
}

@media only screen and (min-width: 800px)and (max-width: 1000px) {
    .input_name{
        display:block;
    }
    .input_name div{
        margin:0.8rem auto;
    }
}


@media screen and (max-width: 960px) {
	.large_text{
	font-size: 2.0rem;	
}
	
.medium_text{
	text-align:center;
	font-size:1.6rem;
	margin: 10% 5%;
	width: 90%;
}
	.attention_box{
	width: 90%;
	margin: 3% 5%;
	padding: 2%;
	background-color: rgba(255,167,168,0.25);
	border:1px dashed;
	border-color: crimson;

}
.attention_box p{
	font-size: 1.4rem;	}
	
    	.attention_box2{
	width: 90%;
	margin: 3% 5%;
	padding: 2%;
	background-color: rgba(90,170,255,0.25);
	border:1px dashed;
	border-color: blue;

}
.attention_box2 p{
	font-size: 1.4rem;	}
    
 .list_box ,ol{
	width: 80%;
	margin: 3% auto;
	padding: 0.5em 0.5em 0.5em 2em;
}
	
ol.list_box li{
  position:relative;
  padding: 0 0 0 20px;
  margin: 7px 0 7px 0px;
  font-weight: bold;
  font-size:1.6rem;
  line-height: 30px;
  border-bottom: dashed 1px darkgreen;
}	
	
.list_box ul li, ol li {
  line-height: 1.5;
  padding: 0.5em 0;
}
	
	.stepbar {
  margin: 3% 5%;
  width: 90%;
}
	
}
@media screen and (max-width: 1024px) {
	
	dl.panel_headline dt:nth-child(1), dl.panel_detail dt {
		width: 6%;
	} 
	dl.panel_headline dt, dl.panel_detail .detailBox dd {
		width: 16%;
		padding-top: 16px;
		padding-bottom: 16px;
	}
	dl.panel_headline dt:last-child, dl.panel_detail .detailBox dd:last-child {
		width: 14%;
	}	
	
	#panel_spec input{
		width:30%;
	}
	
	
}


@media screen and (max-width: 480px) {
	dl.panel_headline {
		display: none;
	}
	dl.panel_detail dt {
		width: 10%;
		text-indent: inherit;
	}
	dl.panel_detail .detailBox {
		display: table-cell;
		width: 86%;
		padding-left: 4%;
	}
	dl.panel_detail .detailBox dd {
		display: block;
		width: 100%;
		text-align: left;
	}
	
	dl.panel_detail .detailBox dd:last-child {
		text-align: center;
		width: 100%;
	}
	dl.panel_detail p.panel_sp {
		display: inline-block;
		width: 16%;
		padding-right: 1%;
		text-indent: 0rem;
	}	
	
	.todokeWarp {
		width: 100%;
		display: block;
		padding-top: 36px;
		padding-bottom: 12px;
	}

	.todokeWarp div {
		display: block;
		vertical-align: middle;
	}

	.todokeWarp div:nth-child(1) {
		width: 100%;
		margin-bottom: 24px;
	}
	.todokeWarp div:nth-child(1) h4 {
		margin: 0px;
	}

	.todokeWarp div:nth-child(2) {
		width: 100%;	
	}	
	
	.address {
		text-align: left !important;
	}
	
	.name input[type="text"], .kana input[type="text"] {
		width: 80%;
	}
	.company input[type="text"], .email input[type="text"], .syozai_building input[type="text"] {
		width: 80%;
	}
	.zip input[type="text"], .syozai_zip input[type="text"] {
		width: 20%;
	}
	.tel input[type="text"], .fax input[type="text"], .syozai_tel input[type="text"] {
		width: 10%;
	}
	.address input[type="text"], .date input[type="text"], .syozai_address input[type="text"] {
		width: 80%;
	}

	.message textarea {
    	width: 80%;
    	height: 8.0rem;	
	}
	.button_plus{
		cursor:pointer;
		font-size:18px;
		background-color:#e8e8e8;
		border-width:1px!important;
		border-color:#000;
		border:solid;
		padding:4px 24px;
	}	

	select {
		padding: 6px;
		font-size: 1.6rem
	}	
	
	
}