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

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




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

  0.Main

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

#estimate{ background-color: #fff;}

header{ position: relative; display: block;}

.head_logo{
	width: 35%;
	margin: 30px auto;
}

.head_logo h1{ margin: 0;}

footer{ text-align: center; padding: 20px;}
#copy{text-align: center;}

.container{ width: 70%;}


@media screen and (max-width: 650px){
	.head_logo{ width: 60%;}
}

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

  分割

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

.contents_wrap{
	display: flex;
	align-items: flex-start;
	position: relative;
}

.indexWrapper{
	background-color: #C02727;
	color: #FFF;
	width: 22%;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	padding: 20px;
	font-weight: bold;
}

.indexWrapper ul.index{height: 100%;}

.index li{
	height: calc(100% / 6);
}

.index li a{
	height: 100%;
	color: #FFF;
	padding: 40px 0 40px 20px;
}

.index li span{
	color: #C02727;
	margin-left: 20px;
}

.index li a.active{
	background-color: #FFF;
	color: #C02727;
}

.pc_none{ display: none}


@media screen and (max-width: 1100px){
	.index li a{ padding: 40px 0 40px 5px; font-size: 1.5vw;}
}
@media screen and (max-width: 1000px){
	.indexWrapper{ padding: 10px;}
	.index li span{ display: block;}
}
@media screen and (max-width: 700px){
	.indexWrapper{ padding: 5px;}
	.pc_none{ display: block;}
	.index li a{ padding: 30px 0 30px 5px;}
}

@media screen and (max-width: 650px){
	.indexWrapper{ display: none;}
}



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

  form

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

.contents{
	width: 70%;
	margin-left: auto;
	margin-right: 5%;
}

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: 16px; 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;}

/*input:invalid{ border : tomato 2px solid;}
select:invalid{ border : tomato 2px solid;}*/

/*input:required{ border: tomato solid 2px}
select:required{ border: tomato solid 2px}

input:invalid { border: 2px solid #000;}
*/

.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;
}

.font_size{ font-size: 16px;}

.note{ font-size: 13px; line-height: 1em; letter-spacing: 1px;}
.txt_red{ color: red;}

.panel {
  width: 100%;
  margin: 30px auto 0;
  padding: 0 20px;
}

.toggle_title {
	padding: 20px;
	border: 2px solid #000;
	cursor: pointer;
	font-weight: bold;
}

.toggle_title:hover {
  opacity: 0.7;
  transition: 0.5s;
}

.toggle_box {
  margin: 0;
  padding: 20px;
  display: none;
}

.contents03{}

.sub_txt{text-align: center;}

.sub_ttl{
	margin: 0;
	font-weight: bold;
}

.nimotsu_table{
	width: 100%;
	font-size: 13px;
	line-height: 1em;
	letter-spacing: 2px;
}

.nimotsu_table td{ width: 30%; border: #DDD solid 2px;}

.nimotsu_icon{ height: 50px;}
.nimotsu_icon img{ }

.nimotsu_txt input{
	width: 50px;
	text-align: center;
    font-size: 13px;
    height: 30px;
	padding: 0;
}

.txt_td{
	padding: 10px;
	line-height: 1.5em;
}

.irai_info ul{ display: flex; justify-content: space-around; flex-wrap: wrap;}


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

  カレンダー

---------------------------------*/
/* 日曜日：赤 */
.flatpickr-calendar .flatpickr-innerContainer .flatpickr-weekdays .flatpickr-weekday:nth-child(7n + 1),
.flatpickr-calendar .flatpickr-innerContainer .flatpickr-days .flatpickr-day:not(.flatpickr-disabled):not(.prevMonthDay):not(.nextMonthDay):nth-child(7n + 1) {
    color: red;
}
 
/* 土曜日：青 */
.flatpickr-calendar .flatpickr-innerContainer .flatpickr-weekdays .flatpickr-weekday:nth-child(7),
.flatpickr-calendar .flatpickr-innerContainer .flatpickr-days .flatpickr-day:not(.flatpickr-disabled):not(.prevMonthDay):not(.nextMonthDay):nth-child(7n) {
    color: blue;
}

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

  スピナー

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

.btnspinner{
    -ms-user-select: none;
    -moz-user-select: -moz-none;
    -khtml-user-select: none;
    -webkit-user-select: none;
    user-select: none;
}

.spinner_area input{
    vertical-align: middle;
    /* デフォルトのスピナーを消す */
    -webkit-appearance: none;
    -moz-appearance:textfield;
}

.spinner_area input[type="button"]{
    cursor: pointer;
	padding: 0;
	width: 40px;
}



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

  プライバシーポリシー

---------------------------------*/
.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;
}
@media screen and (max-width: 750px){
	.pp_box{ width: 100%;}
}


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

  確認・完了

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

.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;
}

.br{ display: none;}

@media screen and (max-width: 1150px){
	.spinner_area input[type="number"]{ width: 100%; height: 50px;}	
	.spinner_area input[type="button"]{ width: 100%; margin-top: 15px;}
}
















@media screen and (max-width: 1000px){
	#index1 th, #index2 th, #index3 th, #index4 th, .Confirmation th, #index1 td, #index2 td, #index3 td, #index4 td, .Confirmation td{display: block; width: 100%;}
	.w40{width: 200px;}
	.nimotsu_table td{ padding: 15px;}
	.Confirmation_2{ width: 95%;}
}

@media screen and (max-width: 900px){
	.contents03 td{ padding: 0;}
	.nimotsu_table_inner{ padding: 20px 10px}
	.nimotsu_txt{ letter-spacing: 0;}
}

@media screen and (max-width: 800px){
	.submit_box input[type="button"]{ margin-right: 30px;}
}

@media screen and (max-width: 650px){
	.contents{width: 90%;}
	.Confirmation_category ul li{ width: 40%;}
}



@media screen and (max-width: 550px){
	fieldset{ padding: 20px;}
	#index1 th, #index2 th, #index3 th, #index4 th, #index1 td, #index2 td, #index3 td, #index4 td{ padding: 10px 20px;}
	.contents h2{ font-size: 1.6em; padding: 0 0 10px 10px;}
	.note{ font-size: .8em;}
	.radio_box{ width: 80%;}
	.panel{ padding: 0;}
	.Confirmation{width: 95%;}
	.kakunin_ttl + p{ padding: 0 20px;}
}

@media screen and (max-width: 450px){
	input[type="text"]{ display: block; width: 90%!important;}
	input[type="date"]{ display: block; width: 90%!important;}
	select{ display: block; width: 90%!important;}
	.toggle_box{ padding: 20px 0 0 0;}
	.br_none{ display: block;}
	.contents03 table{ width: 106%; margin: 0 -10px;}
}



