/*@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');*/
/* @import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;700&display=swap'); */
@import url('https://use.fontawesome.com/releases/v5.12.0/css/all.css');

html, body{
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.borderNone{
	border: none !important;
	border-bottom: none !important;
}
.fontWhite{ color: #fff; }
.fontGray{ color: #aaa; }
.fontGray2{ color: #888; }
.fontBlack{ color: #000; }
.fontRed{ color: red; }
.fontBolder{ font-weight: bolder; }
.fontBold{ font-weight: bold; }
.fontSubTitle{
	font-size: 18px;
	font-weight: bold;
	font-style: italic;
	background: linear-gradient(transparent 70%, #2b72d8 100%);
	border-radius: 3px;
	display: inline-block;
	margin-bottom: 10px;
	&:before{
		content: "　";
	}
	&:after{
		content: "　";
	}
}
.alignL{ text-align: left !important; }
.alignR{ text-align: right !important; }
.alignC{ text-align: center !important; }
.floatL{ float: left; }
.floatR{ float: right; }
.floatC{ clear: both; }
.noDisp{ display:none; }
.noWrap{ white-space: nowrap !important; }
.w1{ width: 1em; }
.w4{ width: 4em !important; }
.w6{ width: 6em; }
.w8{ width: 8em; }
.w10{ width: 10em !important; }
.w13{ width: 13em !important; }
.w15{ width: 15em !important; }
.w20{ width: 20em !important; }
.w45pm{
	width: 45% !important;
	min-width: 100px;
}
.w17p{ width: 17% !important; }
.w28p{ width: 28% !important; }
.w47p{ width: 47% !important; }
.w49p{ width: 49% !important; }
.w50p{ width: 50% !important; }
.w85p{ width: 85% !important; }
.w90p{ width: 90% !important; }
.w95p{ width: 95% !important; }
.w100p{ width: 100% !important; }
.w100mp{
	width: 100% !important;
	max-width: 100% !important;
}
.wAuto{ width: auto !important; }
.font12{ font-size: 12px !important; }
.font14{ font-size: 14px !important; }
.font16{ font-size: 16px !important; }
.font18{ font-size: 18px; }
.fontW400{ font-weight: 400 !important; }
.pad0{ padding: 0px; }
.pad5{ padding:5px 5px 0px 5px; }
.padR10{ padding-right: 10px; }
.padL10{ padding-left: 10px; }
.padL1{ padding-left: 1em !important; }
.padL2{ padding-left: 2em !important; }
.padLR3{ margin-right: 3px; margin-left: 3px; }
.padTB15{ padding: 15px 0px !important; }
.padT1px{ padding-top: 1px !important; }
.padT1{ padding-top: 1em !important; }
.padT5{ padding-top: 5px !important; }
.padT10{ padding-top: 10px !important; }
.padB10{ padding-top: 10px !important; }
.padB0{ padding-bottom: 0px !important; }
.padFlow{ padding:37px 5px 0px 5px; }
.margin0{ margin: 0px; }
.marginL1{ margin-left: 1em; }
.marginL5{ margin-left: 5px !important; }
.marginL20{ margin-left: 20px; }
.marginR05{ margin-right: 0.5em !important; }
.marginR1{ margin-right: 1em; }
.marginLR20{ margin-right: 20px; margin-left: 20px; }
.marginT5{ margin-top: 5px; }
.marginT10{ margin-top: 10px; }
.marginT20{ margin-top: 20px; }
.marginB10{ margin-bottom: 10px; }
.marginB20{ margin-bottom: 20px; }
.marginCW{ margin: 0 auto; }
.mCenter{
	display: flex;
	align-items: center;
	justify-content: center;
}
.borderT{ border-top: 1px solid #000; }
.borderB{ border-bottom: 1px double #000; }
.bgGreen{ background-color: #daf5e6 !important; }
.bgRed{ background-color: #f6d9db !important; }
.bgBlue{ background-color: #d6ecf9 !important; }
.bgOrange{ background-color: #ffdeb3 !important; }

.EstimateForm{
	margin: 0 auto;
	max-width: 560px;
	container-type: inline-size;
	font-family: 'M PLUS 1p' !important;
}
.EstimateForm .inputBox {
	/* padding-bottom: 30px; */
	margin-bottom: 15px;
	overflow: hidden;
	border-radius: 10px;
	height: 100%;
	animation-duration: 1s;
}
.EstimateForm .inputBox dl {
	margin-top: 5px;
	margin-bottom: 5px;
	border-radius: 10px;
	display: block;
	overflow: hidden;
	box-shadow: inset 0em 0em 0.5em 0em #1e73be;
	border: 1px solid #1e73be;
	background-color: #fff;
}
.EstimateForm .inputBox dl dt {
	font-family: 'M PLUS 1p' !important;
	font-size: calc(1.4cqw + 1.2rem);
	/* font-size: 26px; */
	text-align: center;
	background-color: #1e73be;
	color: #fff;
	font-weight: bold;
	border-left: none;
	margin-bottom: 10px;
	padding-bottom: 3px;
}
.EstimateForm .inputBox dl dd {
	padding: 15px 20px;
	width: 100% !important;
	max-width: 100% !important;
	border: none;
	margin-left: 0px !important;
	/* padding-left: 0em !important; */
}
.EstimateForm .inputBox dl dd .Title{
	font-family: 'M PLUS 1p' !important;
	font-size: calc(1.35cqw + 0.75rem);
	/* font-size: 24px; */
	margin-left: 0px;
	font-weight: bold;
	color: #004085;
}
.EstimateForm .inputBox dl dd .EstimateTitle{
	font-family: 'M PLUS 1p' !important;
	font-size: calc(1.8cqw + 1rem);
	text-align: center;
	background-color: #1e73be;
	color: #fff;
	border-radius: 20px;
}
.EstimateForm .inputBox dl dd .EstimatePriceDisp{
	display: inline-block;
	text-align: center;
	position: relative;
	white-space: nowrap;
	&:after{
		content: '';
		background-color: #d6ecf9;
		width: 100%;
		height: 6px;
		border-radius: 3px;
		position: absolute;
		bottom: 10px;
		z-index: 1;
		left: 0px;
	}
}
.EstimateForm .inputBox dl dd .EstimatePriceTitle{
	font-family: 'M PLUS 1p' !important;
	font-size: calc(0.8vw + 0.8rem);
	font-weight: bold;
	color: #000;
	margin: 0vw 0.8vw 0vw 0.8vw;
	position: relative;
	z-index: 2;
}
.EstimateForm .inputBox dl dd .EstimatePrice{
	font-family: 'M PLUS 1p' !important;
	font-size: calc(7cqw + 1rem);
	font-weight: bold;
	color: #1e73be;
	position: relative;
	z-index: 2;
}
.EstimateForm .inputBox dl dd .EstimateDisp{
	background-color: #d6ecf9;
	border: 2px solid #2b72d8;
	box-shadow: 0.2em 0.2em 0.4em #1e73be;
	border-radius: 10px;
	padding: 10px 20px 10px 20px;
	/* width: 100%; */
	color: #000;
}
.EstimateForm .RadioBox input{
	display: none;
}
.EstimateForm .RadioBox label{
	display: block;
	float: left;
	cursor: pointer;
	margin: 1px 1px 1px 1px;
	padding: 0px;
	border: 2px solid #abc7ee;
	background: rgba(255, 255, 255);
	/* background: none; */
	font-size: 14px;
	text-align: center;
	line-height: 1;
	border-radius: 10px;
	white-space: nowrap;
	overflow: auto;
	opacity: 0.5;
	color: #2b72d8 /*#abc7ee*/;
	transition-duration: 0.2s;
}
.EstimateForm .RadioBox input[type="radio"]:checked + label {
	text-decoration: none;
	background: rgba(220, 240, 255, 0.4);
	border: 2px solid #2b72d8;
	opacity: 1.0;
	color: #2b72d8;
	transition-duration: 0.2s;
}
.EstimateForm .RadioBox label:hover{
	/* background: none; */
	border: 2px solid #2b72d8;
	box-shadow: 0.2em 0.2em 0.4em #1e73be;
	/* box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3); */
	color: #2b72d8;
	font-style: normal;
	opacity: 1.0;
	transition-duration: 0.2s;
}
.EstimateForm .RadioBox label p{
	font-size: 14px;
}
.EstimateForm p{
	margin-bottom: 0px;
	line-height: 1.4em;
	font-size: 14px;
	text-indent: 0em;
}
.EstimateForm .arrowBtnDisp{
	clear: both;
	padding-top: 20px;
	width: 100%;
}
.EstimateForm .arrowBtn button, .EstimateForm .arrowBtn a{
	font-family: 'M PLUS 1p' !important;
	font-size: calc(1.1cqw + 0.6rem);
	width: 15em !important;
	padding: 10px 0px !important;
	text-align: center;
	border-radius: 30px;
	background-color: #fff !important;
	color: #000;
	border-color: #444 !important;
	opacity: 0.7;
	/* vertical-align: middle !important; */
	&:disabled{
		/* opacity: 0.5; */
		/* filter: brightness(0.7); */
		cursor: not-allowed;
	}
	&:hover{
		opacity: 1.0;
		/* background: unset !important;
		font-style: unset !important;
		color: unset !important; */
	}
}
.EstimateForm .infoBtn{
	display: inline-block;
}
.EstimateForm .infoBtn a{
	font-size: calc(1.3cqw + 0.9rem);
	padding-left: 0px !important;
	text-align: center;
	color: #800;
	display: inline-block;
	&:disabled{
		/* opacity: 0.5; */
		/* filter: brightness(0.7); */
		cursor: not-allowed;
	}
	&:hover{
		color: #f00;
		/* background: unset !important;
		font-style: unset !important;
		color: unset !important; */
	}
}
.EstimateForm .arrowBtn button span{
	font-weight: bold;
	vertical-align: middle;
}
.EstimateForm .arrowBtn i{
	font-size: calc(1.4cqw + 0.7rem);
	vertical-align: middle;
}
.EstimateForm .arrowBtn.arrowStartBtn button{
	font-family: 'M PLUS 1p' !important;
	width: 8em !important;
	font-size: calc(1.5cqw + 1.5rem);
	padding: 5px 0px !important;
	text-align: center;
	border-radius: 30px;
	background-color: #d00 !important;
	border-color: #a00 !important;
	color: #fff;
	opacity: 0.5;
	&:hover{
		opacity: 1.0;
		/* background: unset !important;
		font-style: unset !important;
		color: unset !important; */
	}
}
.EstimateForm .arrowBtn.arrowStartBtn i{
	font-size: calc(2cqw + 2rem);
}
.EstimateForm .inputBox dl dd .EstimateDetails{
	font-family: 'M PLUS 1p' !important;
	font-size: calc(1.8cqw + 0.8rem);
}
.EstimateForm .inputBox dl dd .EstimatePlanTitle{
	font-family: 'M PLUS 1p' !important;
	font-size: calc(0.9vw + 0.9rem);
}
.EstimateForm .inputBox dl dd .EstimatePlanMenu{
	font-family: 'M PLUS 1p' !important;
	font-size: calc(1.3cqw + 0.9rem);
	padding-left: 1cqw;
}
.EstimateForm .inputBox dl dd .EstimatePlanNote{
	font-family: 'M PLUS 1p' !important;
	font-size: calc(1.2cqw + 0.8rem);
	padding-left: 6cqw;
}

@media only screen and (max-width: 979px) {
}
/*デバイスの横幅が979px以下の場合*/
@media only screen and (min-width: 531px) and (max-width: 768px) {
}
/*デバイスの横幅が321以上391以下の場合*/
@media only screen and (min-width: 321px) and (max-width: 530px) {
}
/*デバイスの横幅が321以上768以下の場合*/
@media only screen and (max-width: 320px) {
}
/* Smart */
@media only screen and (min-device-width:414px) and (max-device-width:736px) and (orientation:portrait) {
}
@media only screen and (min-device-width:414px) and (max-device-width:736px) and (orientation:landscape) {
}
/* Tablet */
@media only screen and (min-device-width:768px) and (max-device-width:1024px) and (orientation:portrait) {
}

@media only screen and (min-device-width:768px) and (max-device-width:1024px) and (orientation:landscape) {
}
@media (min-width: 992px){
}
@media (min-width: 768px){
}
