@charset "utf-8";
/*----------------------------------------------------------------------------------------

	bese.css

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

body {
	min-width: 1200px;
}
body > .wrapper {
	display: block;/*ibox対策*/
}
.cont-w {
	margin-right: auto;
	margin-left: auto;
	width: 1080px !important;
}
.dnone_pc {
	display: none !important;
}

/* 画像中央配置 ///
---------------------------------------------- */
.img-fit img {
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	pointer-events: none;
	image-rendering: -webkit-optimize-contrast;
}
body.polyfill_object-fit .img-fit img {
	font-family: "object-fit: cover;"
}

/* 複数行をテキストオーバーフロー ///
---------------------------------------------- */
.ellipsis {
	position: relative;
	overflow: hidden;
}
.ellipsis:before, .ellipsis:after {
	position: absolute;
	background: #fff;
}
.ellipsis:before {
	content: " …";
	bottom: 0;
	right: 0;
}
.ellipsis:after {
	content: "";
	width: 100%;
	height: 100%;
}

/* icon //
---------------------------------------------- */
.icon-b, .icon-b_all a, .icon-a, .icon-a_all a, .folding, .btns01 a {
	position: relative;
}
.icon-b::before, .icon-b_all a::before, .icon-a::after, .icon-a_all a::after, .folding::after, .btns01 a::after, .btn04 a::after {
	margin: auto;
	height: 1em;
	position: relative;
	top: 0;
	bottom: 0;
	font-weight: 900;
	line-height: 1;
	content: "\f054";
	font-family: "Font Awesome 5 Free";
}

/* ロールオーバー //
---------------------------------------------- */
.rov a , .rov input, .btns01 a, .btn04 a {
	transition: opacity 0.2s;
}
.rov a:hover , .rov input:hover, .btns01 a:hover, .btn04 a:hover {
	opacity: 0.8;
}
.hover01 a:hover {
	color: var(--acc3) !important;
}
.hover02 a:hover {
	text-decoration: underline;
}

/* 読込中 ///
---------------------------------------------- */
.tksn.loading {
	min-height: 50px;
	position: relative;
	overflow: hidden;
}
.tksn.loading::after {
	margin: auto;
	width: 1em;
	height: 1em;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	color: #929292;
	font-size: 36px;
	font-weight: 600;
	line-height: 1;
	pointer-events: auto;
	content: "\f110";
	font-family: "Font Awesome 5 Free";
	animation: r1 1.2s linear infinite;
}
.tksn.loading .tksn_box {
	opacity: 0.8;
}
@keyframes r1 {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

/* お客様の声 星 ///
---------------------------------------------- */
.voice_star {
	padding-left: 107px;
	width: 135px;
	height: 19px;
	display: block;
	position: relative;
	color: #ff8a00;
	font-size: 18px;
	font-weight: 700;
	line-height: 19px;
}
.voice_star::before, .voice_star::after {
	height: 19px;
	background-size: 20px;
	position: absolute;
	top: 0;
	left: 0;
	content: "";
}
.voice_star::before {
	width: 100px;
	background-image: url(/images/common/star_off.png);
}
.voice_star::after {
	background-image: url(/images/common/star_on.png);
}
.voice_star.star1::after {
	width: 20px;
}
.voice_star.star2::after {
	width: 40px;
}
.voice_star.star3::after {
	width: 60px;
}
.voice_star.star4::after {
	width: 80px;
}
.voice_star.star5::after {
	width: 100px;
}

/* お客様の声 カード表示 ///
---------------------------------------------- */
.loop-voice_card {
	width: 255px;
	height: auto;
}
.loop-voice_card > a {
	padding: 0 12px 20px;
	height: 100%;
	min-height: 320px;
	background-color: #fff;
	display: block;
	line-height: 1.3;
}
.loop-voice_card .img-fit {
	margin: 0 -12px 10px;
	height: 180px;
	display: block;
}
.loop-voice_card h3 {
	font-size: 16px;
}
.loop-voice_card p {
	margin-top: 7px;
	max-height: 58px;
	color: #252526;
	font-size: 14px;
	line-height: 18px;
	text-align: justify;
}
.loop-voice_card:not(:last-child) {
	margin-right: 20px;
}
.loop-voice_card .voice_star {
	margin-top: 9px;
}

/* 購入希望者の表示 ///
---------------------------------------------- */
.kibou_ichiran li {
	padding: 7px 0;
	padding-left: 75px;
	min-height: 60px;background-color: #fff;
	position: relative;
	font-size: 14px;
	line-height: 23px;
}
.kibou_ichiran li:not(:last-child) {
	margin-bottom: 10px;
}
.kibou_ichiran li p {
	margin: 0;
	line-height: 1.3;
}
.kibou_ichiran p:first-child {
	width: 60px;
	background: url(/images/common/icon_kibou.png) no-repeat center, var(--acc1);
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
}

/* グローバルメニュー ///
---------------------------------------------- */
#gmenu {
	padding: 5px 0;
	background-color: var(--acc1);
}
#gmenu > ul {
	display: table;
}
#gmenu > ul > li {
	display: table-cell;
}
#gmenu > ul > li > a {
	padding: 0 20px;
	height: 60px;
	position: relative;
	display: block;
	color: #fff;
	font-size: 16px;
	line-height: 60px;
	transition: 0.1s;
}
#gmenu > ul > li > a:hover, #gmenu > ul > .stay > a {
	background-color: #fff;
	color: #414042;
}
#gmenu > ul > li:not(.stay)  + li:hover > a::before,
#gmenu > ul > li:not(:hover) + li.stay  > a::before {
	opacity: 0;
}
#gmenu > ul > li > a::before {
	width: 1px;
	background: url(/images/common/border.png);
	position: absolute;
	top: 10px;
	bottom: 10px;
	left: 0;
	content: "";
}

#gmenu > ul > li:first-child > a::before,
#gmenu > ul > li:first-child + li > a::before {
	top: 0;
	bottom: 0;
}
#gmenu > ul > li:last-child > a::after {
	width: 1px;
	background: url(/images/common/border.png);
	position: absolute;
	top: 10px;
	bottom: 10px;
	right: 0;
	content: "";
}

/* 査定コーナー //
////////////////////////////////////////////////////////////////////*/

#foot_satei > div {
	padding: 0 30px 29px;
	background-color: #fff;
	border-bottom: 4px solid var(--acc3);
	position: relative;
	z-index: 1;
}
#foot_satei > div::before, #foot_satei > div::after {
	position: absolute;
	content: "";
}
#foot_satei > div::before {
	width: 190px;
	background-image: url(/images/common/satei_bg.png);
	top: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
}
#foot_satei form::after {
	width: 289px;
	height: 287px;
	background-image: url(/images/common/satei_catch.png);
	position: absolute;
	right: 5px;
	bottom: 0;
	content: "";
}
#foot_satei header h3 {
	padding-left: 48px;
	position: relative;
	font-size: 40px;
}
#foot_satei header h3::before {
	width: 40px;
	height: 40px;
	background-image: url(/images/common/satei_ico.png);
	background-size: cover;
	position: absolute;
	top: 0;
	left: 0;
	content: "";
}
#foot_satei header {
	margin-bottom: 25px;
	height: 70px;
	display: flex;
	line-height: 1;
	align-items: flex-end;
}
#foot_satei header p {
	margin: 0 0 0 22px;
	font-size: 20px;
	font-weight: 500;
}
#foot_satei header p em {
	color: var(--acc3);
	font-size: 28px;
}
#foot_satei header p i {
	margin-left: 20px;
	width: 80px;
	background-color: var(--acc3);
	display: inline-block;
	border-radius: 5px;
	position: relative;
	top: 3px;
	color: #fff;
	font-size: 26px;
	line-height: 40px;
	text-align: center;
	vertical-align: bottom;
}
#foot_satei form {
	width: 748px;
}
#foot_satei form > p {
	margin-bottom: 12px;
	font-size: 18px;
}
#foot_satei form ol {
	padding: 1px 0;
	border-top: 2px solid #ccc;
	border-bottom: 1px solid #ccc;
	counter-reset: num 0;
}
#foot_satei form > ol > li {
	position: relative;
}
#foot_satei form > ol > li::before {
	margin: 13px 10px 0 0;
	width: 64px;
	height: 25px;
	background-color: var(--acc1);
	float: left;
	color: #fff;
	font-size: 14px;
	line-height: 25px;
	text-align: center;
	counter-increment: num 1;
	content: "STEP0" counter(num);
}
#foot_satei form > ol > li:not(:last-child)::after {
	width: 11px;
	height: 9px;
	position: absolute;
	bottom: -5px;
	left: 27px;
	background-image: url(/images/common/satei_arrow2.png);
	content: "";
}
#foot_satei form li > p em {
	font-size: 20px;
	font-weight: 700;
}
#foot_satei form li > p {
	margin: 0 0 0 70px;
	padding-bottom: 2px;
	font-size: 16px;
	line-height: 47px;
}
#foot_satei form li:not(:last-child) > p:first-child {
	border-bottom: 1px solid #ccc;
}
#foot_satei select {
	padding: 0 10px;
	width: 300px;
	height: 30px;
	background: url(/images/common/form_arrow.png) no-repeat center right 10px / 12px;
	border: 1px solid #e5e5e5;
	position: absolute;
	top: 10px;
	right: 18px;
	color: #858585;
	font-size: 18px;
	line-height: 1.3;
	font-family: inherit;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}
#foot_satei .submit {
	padding: 9px 18px 0;
	display: flex;
	align-items: center;
}
#foot_satei .submit p {
	margin-bottom: 6px;
	margin-left: auto;
	padding-right: 35px;
	background: url(/images/common/satei_arrow.png) no-repeat center right 8px / 18px;
	font-size: 20px;
	font-weight: 700;
}
#foot_satei .submit button {
	padding-bottom: 4px;
	width: 300px;
	height: 48px;
	background-color: var(--acc3);
	border: none;
	border-bottom: 4px solid rgba(0,0,0,0.3);
	border-radius: 6px;
	color: #fff;
	font-size: 24px;
	font-weight: 700;
	text-align: center;
	font-family: inherit;
	cursor: pointer;
	transition: opacity 0.1s;
	-webkit-appearance: none;
	appearance: none;
}
#foot_satei .submit button:hover {
	opacity: 0.8;
}
#foot_satei > p {
  margin-top: 6px;
  font-size: 16px;
  text-align: right;
}
#foot_satei > div {
	background-color: #fff;
	border-bottom: 4px solid var(--acc3);
	color: #414042;
}
#foot_satei select {
	background-color: #fff;
	box-shadow: inset 0 0 1px 0 rgb(0 0 0 / 10%);
	line-height: 1.3;
}

/* フッター //
////////////////////////////////////////////////////////////////////*/

#body_footer {
	padding-top: 42px;
	background-color: var(--acc1);
}

/* sns //
---------------------------------------------- */
#body_footer .list-sns {
	margin-top: 28px;
	height: 44px;
	display: flex;
	align-items: center;
}
#body_footer .list-sns > li {
	margin-right: 30px;
}
#body_footer .list-sns img {
	width: 44px;
}

/* ページトップ ///
---------------------------------------------- */
#pagetop {
  width: 50px;
  height: 50px;
  background-color: #fff;
  border-radius: 50%;
  position: fixed;
  right: 21px;
  bottom: 21px;
  z-index: 90;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s;
}
#pagetop.fixed {
  opacity: 1;
  pointer-events: auto;
}
#body_footer #pagetop a {
  width: 50px;
  height: 50px;
  background-color: var(--acc3);
	border: 1px solid #fff;
  border-radius: inherit;
  display: block;
  color: #fff;
  font-size: 16px;
  line-height: 48px;
  text-align: center;
}
#pagetop a i::before {
  content: "\f077";
}

/* フッター会社案内 ///
---------------------------------------------- */
#body_footer > .company {
	padding-left: 570px;
	min-height: 274px;
	position: relative;
	color: #fff;
	font-size: 14px;
}
#body_footer > .company .img-fit {
	width: 540px;
	height: 274px;
	background-color: #efefef;
	position: absolute;
	top: 0;
	left: 0;
}
#body_footer > .company h3 {
	margin-bottom: 16px;
	font-size: 24px;
	font-weight: 700;
}
#body_footer > .company dl {
	overflow: hidden;
	line-height: 30px;
}
#body_footer > .company dt {
	padding-left: 24px;
	float: left;
	clear: both;
	position: relative;
}
#body_footer > .company dt::after {
	content: "：";
}
#body_footer > .company dt i {
	position: absolute;
	top: 8px;
	left: 2px;
	line-height: 1;
}
#body_footer .sitemenu > ul > li > a {
    max-width: 220px;
}

/* フリーダイヤル */
#body_footer > .company dd.freetel {
	float: left;
}
#body_footer > .company dd.freetel + dt.tel {
	padding-left: 17px;
	clear: none;
}


/* メニュー ///
---------------------------------------------- */
#body_footer .sitemenu {
	margin-top: 34px;
	padding: 20px 0 30px;
	border-top: 1px solid rgba(255,255,255,0.5);
	border-bottom: 1px solid rgba(255,255,255,0.5);
	display: flex;
	justify-content: space-between;
	color: #fff;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.4;
}
#body_footer .sitemenu li:not(:last-child) {
	margin-bottom: 8px;
}
#body_footer .sitemenu a {
	padding-left: 20px;
	max-width: 250px;
	display: block;
	color: inherit;
}
#body_footer .sitemenu a::before {
	position: absolute;
	left: 5px;
	font-size: 10px;
}
#body_footer .sitemenu a[target]:not([href*="//c21.to"])::after {
	margin-left: 5px;
	content: "\f35d";
	position: relative;
	top: -1px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	font-family: "Font Awesome 5 Free";
}
#body_footer .sitemenu > ul ul {
	margin-top: 11px;
	padding-left: 15px;
}

/* フッターのリンク設置スペース ///
---------------------------------------------- */
.bnrs{
	padding: 30px 0;
	background-color: #e6e7e8;
}
.bnrs ul{
	display: flex;
	column-gap: 15px;
}
.bnrs ul a{
	height: 60px;
	display: block;
}
.bnrs ul a img{
	max-height: 100%;
}
/* コピーライト ///
---------------------------------------------- */
#body_footer small {
	height: 50px;
	display: flex;
	color: #fff;
	font-size: 12px;
	line-height: 12px;
	align-items: center;
	justify-content: center;
}

/* スマホ切り替えボタン //
////////////////////////////////////////////////////////////////////*/

body > .pc2spLink {
	padding: 30px;
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	position: relative;
	z-index: 100;
}
body > .pc2spLink a {
	background-color: var(--acc1);
	border-radius: 10px;
	display: block;
	color: #fff;
	font-size: 3rem;
	line-height: 100px;
	text-align: center;
}
body > .pc2spLink a::before {
	margin-right: 8px;
	font-size: 4rem;
	font-weight: 700;
	line-height: 1;
	vertical-align: middle;
	font-family: "Font Awesome 5 Free";
	content: "\f3cd";
}
