@charset "utf-8";

@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:100,300,400,500,700,900&display=swap');

body,
html,
h1,
h2,
h3,
h4,
h5,
h6,
p,
table,
dl,
dt,
dd,
ol,
ul,
pre,
code {
	font-family: 'Noto Sans JP', "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
	margin: 0;
	padding: 0
}
ol,
ul {
    list-style-type: none
}
* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 0
}

body {
	background: transparent;
	color: #343434;
}

a:link, a:visited {
	color: rgba(48,48,48,1);
	text-decoration: underline;
}
a:hover, a:active {
	color: rgba(128,128,128,1);
	text-decoration: underline;
}

.pc { display: block; }
.sp { display: none; }

			@media only screen and (max-device-width:767px) {
				.pc { display: none; }
				.sp { display: block; }
			}

/* Loading */
#Loading {
  position: absolute;
  text-align: center;
  width: 100vw;
  height: 100vh;
  top: 0;
  background-color: rgba(255, 255, 255, .8)
}

#Loading p {
  font-weight: bold;
}

h2.hd_cat_isp {
	margin: 1rem auto 1rem;
	padding: 0.6rem 0 0.7rem;
	background: #299794;
	border-radius: 64px;
	font-size: 1.2em;
	line-height: 1em;
	color: #FFF;
	text-align: center;
}
h2.hd_isp {
	margin-bottom: 0.8rem;
	font-size: 1.2em;
	color: #299794;
	text-align: center;
}
h3.lead {
	font-size: 1em;
	text-align: center;
}
p.guide {
	font-size: 1em;
	margin-bottom: 0.6rem;
}

			@media only screen and (max-device-width:767px) {

				h2.hd_isp {
					margin: 0 auto 0.5rem;
					font-size: 6vw;
				}
				p.guide {
					font-size: 0.85em;
				}

			}

/* ispHeader */
.ispHeader {
	text-align: center;
	padding-top: 1.3rem;
	margin-bottom: 1rem;
}
	.ispHeader .line {
		font-size: 20px;
		font-weight: 600;
		line-height: 1.3;
		display: inline-block;
		padding: 0 20px;
		position: relative;
		margin-bottom: 10px;
	}
		.ispHeader .line .red {
			color: #E02B37;
		}
		.ispHeader .line::before,
		.ispHeader .line::after {
				position: absolute;
				top: 0.5rem;
				height: 3rem;
				content: '';
		}
			.ispHeader .line::before {
					border-left: solid 3px;
					left: 0;
					transform: rotate(-30deg);
			}
			.ispHeader .line::after {
					border-right: solid 3px;
					right: 0;
					transform: rotate(30deg);
			}
	.ispHeader h1 {
		color: #299794;
		font-size: 36px;
		line-height: 1;
	}
		.ispHeader h1 strong {
			font-size: 50px;
			font-weight: 600;
		}
		.ispHeader h1 .box {
			background-color: #E02B37;
			color: #FFF;
			font-size: 52px;
			display: inline-block;
			height: 62px;
			padding: 2px 8px 8px;
			border-radius: 8px;
			margin: 0 4px;
		}

		@media screen and (max-width:768px) {

			.ispHeader {
				padding-top: 1rem;
				margin-bottom: 1rem;
			}
				.ispHeader .line {
					font-size: 6vw;
				}
					.ispHeader .line::before,
					.ispHeader .line::after {
							top: 0.3rem;
					}
				.ispHeader h1 {
					font-size: 8.5vw;
				}
					.ispHeader h1 strong {
						font-size: 12vw;
					}
				.ispHeader h1 .box {
						font-size: 14vw;
						height: 16.5vw;
					}

		}


/* ispMv */
.ispMv {
	width: 100%;
	text-align: center;
}
.ispMv img {
	width: 70%;
}

.box_fig {
	width: 100%;
	margin: 0.2rem auto 0;
	text-align: center;
}
.box_fig img {
	width: 64%;
	margin: 0 auto;
}

			@media only screen and (max-device-width:767px) {

				.box_fig {
					width: 80%;
					margin: 0 auto 0;
					text-align: center;
				}
				.box_fig img {
					width: 100%;
				}

			}

/* ispFrameMv */
.ispFrameMv {
	padding: 0 30px;
}
	@media screen and (max-width:820px) {
		.ispFrameMv {
			padding: 0 20px;
		}
	}

/* step */
.ispFrameMv .ispSelectStep,
.ispFrameMv .ispSelectStep2 {
	margin: 0 auto 1rem;
	display:flex;
	justify-content: center;
}
.ispFrameMv .ispSelectStep li,
.ispFrameMv .ispSelectStep2 li {
	position: relative;
	font-size: 0.85em;
	font-weight: 600;
	line-height: 1em;
	color: #CCC;
	padding-right: 1rem;
	margin-right: 0.8rem;
}
	.ispFrameMv .ispSelectStep li:last-child,
	.ispFrameMv .ispSelectStep2 li:last-child {
		padding-right: 0;
		margin-right: 0;
	}

			@media only screen and (max-device-width:767px) {

				.ispFrameMv .ispSelectStep,
				.ispFrameMv .ispSelectStep2 {
					margin: 0 auto 0.5rem;
				}

				.ispFrameMv .ispSelectStep li,
				.ispFrameMv .ispSelectStep2 li {
					font-size: 0.7em;
					padding-right: 0.7rem;
					margin-right: 0.5rem;
				}

			}

.ispFrameMv .ispSelectStep li:after,
.ispFrameMv .ispSelectStep2 li:after {
  content: "";
  position: absolute;
  right: 0;
  top: 20%;
  transition: all 0.2s ease-in-out;
  display: block;
  width: 7px;
  height: 7px;
  border-top: solid 2px #CCC;
  border-right: solid 2px #CCC;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.ispFrameMv .ispSelectStep li:last-child:after, 
.ispFrameMv .ispSelectStep2 li:last-child:after,
.ispFrameMv .ispSelectStep li.is-step:last-child:after, 
.ispFrameMv .ispSelectStep2 li.is-step:last-child:after {
	display: none;
}

.ispFrameMv .ispSelectStep li.is-step:after, 
.ispFrameMv .ispSelectStep2 li.is-step:after {
  content: "";
  position: absolute;
  right: 0;
  top: 20%;
  transition: all 0.2s ease-in-out;
  display: block;
  width: 7px;
  height: 7px;
  border-top: solid 2px #299794;
  border-right: solid 2px #299794;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.ispFrameMv .ispSelectStep li.is-step,
.ispFrameMv .ispSelectStep2 li.is-step {
	color: #299794;
}

			@media only screen and (max-device-width:767px) { 

				.ispFrameMv .ispSelectStep li:after, 
				.ispFrameMv .ispSelectStep2 li:after {
					top: 20%;
					width: 5px;
					height: 5px;
				}

				.ispFrameMv .ispSelectStep li.is-step:after, 
				.ispFrameMv .ispSelectStep2 li.is-step:after {
					top: 20%;
					width: 5px;
					height: 5px;
				}

			}

/* radio */
.ispFrameMv .ispSelectRadio {
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
}

			@media only screen and (max-device-width:767px) {

				.ispFrameMv .ispSelectRadio {
					display: block;
					padding-bottom: 0.2rem;
				}

			}

.ispFrameMv .ispSelectRadio input[type="radio"]+label {
	display: block;
	width: calc((100% - 1rem) / 2);
	padding: 14px 0;
	background: #FFF;
	border: 2px solid #299794;
	border-radius: 8px;
	box-shadow: 0px 3px 0px 0px #ddd;
	font-size: 1.1em;
	font-weight: bold;
	text-align: center;
	color: #299794;
	cursor: pointer;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

.ispFrameMv .ispSelectRadio input[type="radio"]+label:hover {
	background: #299794;
	color: #FFF;
	box-shadow: 0px 1px 0px 0px #ddd;
	transform: translate(0, 2px);
}

			@media only screen and (max-device-width:767px) {

				.ispFrameMv .ispSelectRadio input[type="radio"]+label {
					width: 90%;
					padding: 12px 0;
					margin: 0 auto 0.6rem;
				}

			}

/*
.main.appraise .appraiseSelectRadio input[type="radio"]:checked+label {
    background: #acdbd7;
    color: #fff
}
*/
.ispFrameMv .ispSelectRadio input[type="radio"] {
	display: none;
	vertical-align: middle;
}

/* items */
.ispFrameMv .ispSelectPrice {
	margin-top: 0!important;
	margin-bottom: 1rem;
	text-align: center;
}

			@media only screen and (max-device-width:767px) {

			}

.ispFrameMv .ispSelectPrice input {
	width: 200px;
	height: 60px;
	border: 1px solid #CCC;
	border-radius: 5px;
	font-size: 2em;
	text-align: center
}

			@media only screen and (max-device-width:767px) { 

				.ispFrameMv .ispSelectPrice input {
					width: 10rem;
					height: 50px;
					font-size: 1.8em;
				}

			}

.ispFrameMv .ispSelectPrice span {
	display: inline-block;
	margin: 0 0 0 0.5rem;
	font-size: 1.5em;
	font-weight: 600;
	line-height: 1em;
}

/* urikake */
h3.urikakeText {
	font-size: 1.1em;
	color: #299794;
}
.ispUrikakeInfo {
	margin-top: 0.5rem;
	margin-bottom: 1rem;
	text-align: center;
	display: flex;
	justify-content: space-between;
}
.ispUrikakeInfo .urikakeName {
	width: 100%;
	padding: 0.7rem 1rem;
	border: 1px solid #999;
	border-radius: 5px;
	font-size: 1.2em;
}
.ispUrikakeInfo .urikakePrefSelect {
	width: 48%;
	padding: 0.7rem 1rem;
	border: 1px solid #999;
	border-radius: 5px;
	font-size: 1.2em;
}

.ispUrikakeInfoBtn {
	display: flex;
	justify-content: space-around;
	width: 76%;
	margin: 0.8rem auto 0;
}
.ispUrikakeInfoBtn .btnPrev, .ispUrikakeInfoBtn .btnNext {
	display: block;
	width: 20%;
	padding: 0.24rem 0;
	border: 2px solid #299794;
	border-radius: 48px;
	color: #299794;
	text-decoration: none;
	text-align: center;
}
.ispUrikakeInfoBtn .btnPrev:hover, .ispUrikakeInfoBtn .btnNext:hover {
	background: #299794;
	color: #FFF;
}

			@media only screen and (max-device-width:767px) { 

				.ispUrikakeInfoBtn {
					width: 100%;
				}

				.ispUrikakeInfoBtn .btnPrev, .ispUrikakeInfoBtn .btnNext {
					width: 44%;
					font-size: 0.9em;
				}

			}

.wrap_UrikakeList {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 90%;
	margin: 1rem auto 0;
	font-size: 0.75em;
}
	.wrap_UrikakeList .clm1 {
		width: 10%;
		padding: 0.36rem 0.2rem;
	}
	.wrap_UrikakeList .clm2 {
		width: 30%;
		padding: 0.36rem 0.2rem;
	}
	.wrap_UrikakeList .clm3 {
		width: 45%;
		padding: 0.36rem 0.2rem;
	}
	.wrap_UrikakeList .clm4 {
		width: 15%;
		padding: 0.36rem 0.2rem;
	}
	.wrap_UrikakeList .hd {
		font-weight: 600;
		background: #EEE;
		border-bottom: 2px solid #666;
	}
	.wrap_UrikakeList .CorpNum {
		font-size: 0.75em;
	}

			@media only screen and (max-device-width:767px) { 

				.wrap_UrikakeList .clm1 {
					width: 26%;
					padding: 0.36rem 0.2rem;
					background: rgba(80,128,224,0.2);
				}
				.wrap_UrikakeList .clm2 {
					width: 74%;
					padding: 0.36rem 0.2rem;
					background: rgba(80,128,224,0.2);
				}
				.wrap_UrikakeList .clm3 {
					width: 100%;
					padding: 0.36rem 0.2rem 0.2rem;
				}
				.wrap_UrikakeList .clm4 {
					width: 100%;
					padding: 0.2rem 0.2rem 0.5rem;
				}

			}

.wrap_UrikakeList .clm1 input[type="radio"]+label {
	display: inline-block;
	width: 52px;
	height: auto;
	margin: 0 auto;
	padding: 0 0.2rem;
	background: #FFF;
	border: 2px solid #299794;
	border-radius: 24px;
	font-size: 0.85em;
	font-weight: bold;
	text-align: center;
	color: #299794;
	cursor: pointer;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

.wrap_UrikakeList input[type="radio"]+label:hover {
	background: #299794;
	color: #FFF;
}


/* result */
.boxResult {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: 100%;
	margin: 0.6rem auto 0.6rem;
}
.boxResult p.result_label {
	margin: 0 0.6rem 0 0;
	padding: 0.3rem 1.2rem 0.4rem;
	background: rgba(172,219,216,1);
	border-radius: 48px;
	font-size: 1em;
	font-weight: 600;
	line-height: 1em;
}
.boxResult p.result_num {
	font-size: 2em;
	font-weight: 600;
	line-height: 1em;
}
.boxResult p.result_num span {
	display: inline-block;
	margin: 0 0.1rem;
	font-size: 0.5em;
}

.boxResult_corpInfo {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem;
	width: 100%;
	margin: 1rem auto 1rem;
}
.boxResult_corpInfo .box_label {
	padding: 0.3rem 1.2rem 0.4rem;
	background: rgba(172,219,216,1);
	border-radius: 48px;
	font-size: 1em;
	font-weight: 600;
	line-height: 1em;
}
.boxResult_corpInfo .box_num {
	font-size: 0.8em;
}
.boxResult_corpInfo .box_name {
	font-size: 1em;
	text-align: left;
}

			@media only screen and (max-device-width:767px) { 

				.boxResult {
					display: block;
					width: 100%;
					margin: 0.8rem auto 0.8rem;
					text-align: center;
				}
				.boxResult p.result_label {
					width: 90%;
					margin: 0 auto 0.4rem;
					padding: 0.2rem 0.4rem;
					border-radius: 24px;
					font-size: 1em;
				}
				.boxResult p.result_num {
					font-size: 1.8em;
				}
				.boxResult p.result_num span {
					margin: 0 0.3rem;
					font-size: 0.6em;
				}

				.boxResult_corpInfo {
					display: block;
					width: 100%;
					margin: 1rem auto 1rem;
					text-align: center;
				}
				.boxResult_corpInfo .box_label {
					width: 90%;
					margin: 0 auto 0.4rem;
					padding: 0.2rem 0.4rem;
					background: rgba(172,219,216,1);
					border-radius: 24px;
					font-size: 1em;
					font-weight: 600;
				}
				.boxResult_corpInfo .box_num {
					width: 100%;
					font-size: 0.8em;
					text-align: center;
				}
				.boxResult_corpInfo .box_name {
					width: 100%;
					font-size: 1em;
					text-align: center;
				}

			}

/* button */
.box_button2 {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.box_ispButton {
	margin: 1.2rem 0 0;
	padding: 1.2rem 0 1rem;
	border-top: 2px dashed #ccc;
}
.box_ispButton .ispButton a {
	position: relative;
	display: block;
	width: 248px;
	margin: 0 auto;
	padding: 0.8rem 0;
	background: #299794;
	border-radius: 80px;
	font-weight: 600;
	color: #FFF;
	text-decoration: none;
	text-align: center;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}
.box_ispButton .ispButton a:hover {
	background: #52BDBA;
}

			@media only screen and (max-device-width:767px) {

				.box_ispButton {
					margin: 0.2rem 0 0;
					padding: 0.8rem 0;
				}
				.box_ispButton .ispButton a {
					padding: 0.6rem 0;
				}

			}

input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

.box_ispButtonNext {
}
.box_ispButtonNext .ispButtonNext  {
	display: block;
	width: 100%;
	padding: 1.2rem 0 1.3rem;
	margin-bottom: 1rem;
	background: #FFCF5B;
	border: none;
	border-radius: 10px;
	font-size: 1.3em;
	font-weight: 600;
	line-height: 1;
	color: #343434;
	text-decoration: none;
	text-align: center;
	box-shadow: 0px 4px 0px 0px #CD9E2C;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}
	.box_ispButtonNext .ispButtonNext:hover {
		color: #FFF;
		background: #E02B37;
		cursor: pointer;
		box-shadow: 0px 1px 0px 0px #85151c;
		transform: translate(0, 3px);
	}
			@media only screen and (max-device-width:767px) {

				.box_ispButtonNext .ispButtonNext  {
					font-size: 5.8vw;
				}

			}

