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

	leaseback-base.css

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

/* 共通 //
////////////////////////////////////////////////////////////////////*/

@media (max-width: 920px) and (min-width: 768px) {
	html {
		font-size: 9px;
	}
}

body {
	color: #414042;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.5;
	font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
body.loading::before {
	width: 100%;
	background: url(/images/leaseback/loader.gif) no-repeat center, #fff;
	opacity: 1;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	z-index: 999;
	transition: opacity 1s;
	content: "";
}
body.loading.loading-fade::before {
	opacity: 0;
	pointer-events: none;
}

@media (min-width: 768px) {
	body.active {
		width: auto !important;
		position: static !important;
	}
	.dnone_pc {
		display: none !important;
	}
	/* ロールオーバー */
	.rov a , .rov input, .btns01 a, .btn04 a {
		transition: opacity 0.2s;
		backface-visibility: hidden;
	}
	.rov a:hover , .rov input:hover, .btns01 a:hover, .btn04 a:hover {
		opacity: 0.8;
	}
	.hover01 a:hover {
		color: #2e94e5 !important;
	}
	.hover02 a:hover {
		text-decoration: underline;
	}
}
/* --- SMP --- */
@media (max-width: 767px) {
	body {
		font-size: 1.4rem;
	}
	.dnone_sp {
		display: none !important;
	}
}

/* 矢印 ///
---------------------------------------------- */
.arrow-b::before, .arrow-b_all a::before,
.arrow-a::after, .arrow-a_all a::after {
	width: 5px;
	height: 5px;
	background-color: transparent;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	display: inline-block;
	position: relative;
	bottom: 2px;
	transform: rotate(45deg);
	content: "";
}
.arrow-b::before, .arrow-b_all a::before {
	margin-right: 1rem;
}

/* svgのアイコン ///
---------------------------------------------- */
svg.icon {
	width: 1em;
	height: 1em;
	font-size: 1rem;
	vertical-align: -0.125em;
}

/* 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";
}

/* ヘッダー //
////////////////////////////////////////////////////////////////////*/

#body_header .top_line {
	background-color: #0f172b;
}
#body_header .top_line > div {
	margin: auto;
	max-width: 1080px;
	height: 3rem;
	display: flex;
	align-items: center;
}
#body_header .top_line > div p {
	color: #fff;
	font-size: 1.2rem;
}

#body_header .title {
	margin: auto;
	padding: 0 10px;
	height: 93px;
	max-width: 1100px;
	display: flex;
	align-items: center;
}

/* --- PC --- */
@media (min-width: 768px) {
	#body_header {
		width: 100%;
		background-color: #fff;
		position: sticky;
		top: -123px;
		z-index: 1;
	}
	body.customize-support #body_header {
		top: -90px;
	}
	#body_header .top_line .link {
		margin-left: auto;
		height: 100%;
	}
	#body_header .top_line .link .btn {
		background-color: #fff;
	}
	#body_header .top_line .link .btn a {
		width: 20.2rem;
		padding: 0 1rem;
		background-color: #1bac56;
		display: block;
		color: #fff;
		font-size: 1.4rem;
		line-height: 3rem;
		text-align: center;
	}
	#body_header .title .address {
		margin-left: auto;
		width: 560px;
		display: flex;
		align-items: center;
		justify-content: end;
	}
	#body_header .title .address .tel {
		margin-right: 3rem;
		line-height: 1;
	}
	#body_header .title .address .tel i, #body_header .title .address .tel i img, #body_header .title .address .tel em {
		vertical-align: middle;
	}
	#body_header .title .address .tel em {
		margin-left: 8px;
		padding-top: 4px;
		display: inline-block;
		font-size: 3.4rem;
		font-weight: 400;
		letter-spacing: 0.02em;
		font-family: Bebas Neue, Arial, sans-serif;
	}
	#body_header .title .address .toi a {
		width: 152px;
		background-color: #2e94e5;
		display: block;
		color: #fff;
		font-size: 1.2rem;
		font-weight: 400;
		line-height: 3rem;
		text-align: center;
	}
	#body_header .title .address .toi a svg {
		margin-right: 8px;
		font-size: 1.8rem;
		vertical-align: middle;
	}
}
/* --- SMP --- */
@media (max-width: 767px) {
	#body_header {
		width: 100%;
		background-color: #fff;
		box-shadow: 0 3px 3px rgb(0 0 0 / 16%);
		position: sticky;
		top: 0;
		z-index: 20;
	}
	#body_header .top_line > div {
		height: 25px;
		display: block;
		overflow: scroll;
	}
	#body_header .top_line > div::-webkit-scrollbar, #body_header .top_line > div::-webkit-scrollbar-thumb{
		display: none;
	}
	#body_header .top_line > div > p {
		padding: 0 10px;
		font-size: 1rem;
		line-height: 25px;
		white-space: nowrap;
	}
	#body_header .title {
		height: 55px;
	}
	#body_header .logo {
		width: calc(100% - 50px);
	}
	#body_header .logo a {
		width: 118px;
		display: block;
	}
	#body_header > .area {
		border-top: 1px solid #ccc;
		color: #2e94e5;
		line-height: 29px;
		text-align: center;
		font-feature-settings: 'palt';
	}
	#body_header > .area > i {
		margin-right: 0.8em;
		font-size: 0.8em;
		vertical-align: middle;
	}
	#body_header > .area > em {
		font-weight: 900;
		vertical-align: middle;
	}
	#smpBtn {
		margin-left: auto;
		padding-top: 20px;
		width: 40px;
		height: 40px;
		background-color: #2e94e5;
		border: none;
		display: block;
		position: relative;
		color: #fff;
		font-size: 1rem;
		font-feature-settings: 'palt';
	}
	#smpBtn span {
		display: block;
		position: absolute;
		width: 20px;
		height: 2px;
		left: 9px;
		background: #fff;
		border-radius: 2px;
	}
	#smpBtn span:nth-child(1) {
		top: 8px;
	}
	#smpBtn span:nth-child(2) {
		top: 14px;
	}
	#smpBtn span:nth-child(3) {
		top: 20px;
	}
}

/* グローバルメニュー //
////////////////////////////////////////////////////////////////////*/

@media (min-width: 768px) {
	#gmenu {
		background-color: #0f172b;
		border-bottom: 2px solid #2e94e5;
	}
	#gmenu .menu-list {
		margin: auto;
		width: 100%;
		max-width: 1080px;
		display: table;
		table-layout: fixed;
	}
	#gmenu .menu-list > li {
		border-right: 1px solid #828282;
		display: table-cell;
		vertical-align: middle;
	}
	#gmenu .menu-list li > a {
		height: 50px;
		display: flex;
		color: #fff;
		font-size: 1.4rem;
		align-items: center;
		justify-content: center;
	}
	#gmenu .menu-list > li > a::after {
		display: none;
	}
	#gmenu .menu-list > li.stay > a, #gmenu .menu-list > li > a:hover {
		background-color: #2e94e5;
	}
	#gmenu .menu-list > .home {
		width: 9.7222%;
	}
	#gmenu .menu-list > .cases, #gmenu .menu-list > .company {
		width: 10.3703%;
	}
	#gmenu .menu-list > .flow {
		width: 13.14814%;
	}
}
@media (max-width: 767px) {
	#gmenu {
		width: 100%;
		display: none;
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
	}
	#gmenu::after {
		width: 45.2vw;
		height: 24px;
		background: url(/images/leaseback/menu-sp_close.png) no-repeat top right 15px / 24px;
		position: absolute;
		top: 15px;
		left: 0;
		z-index: 1;
		opacity: 0;
		pointer-events: none;
		content: "";
	}
	#gmenu .menu {
		margin-left: auto;
		width: 54.8vw;
		position: relative;
		max-height: 100vh;
		z-index: 2;
		overflow-y: scroll;
	}
	#gmenu .menu::-webkit-scrollbar, #gmenu .menu::-webkit-scrollbar-thumb {
		display: none;
	}
	#gmenu::after, #gmenu .menu {
		transform: translateX(100%);
		transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
		transition-property: opacity, transform;
	}
	#gmenu.is-open::after, #gmenu.is-open .menu {
		opacity: 1;
		transform: translateX(0);
	}

	#gmenu .menu-list > li {
		width: 100%;
		height: 50px;
		display: table;
		position: relative;
	}
	#gmenu .menu-list > li:not(:first-child) {
		border-top: 1px solid #fff;
	}
	#gmenu .menu-list > li > a {
		padding: 0 15px;
		background-color: #2e94e5;
		display: table-cell;
		position: static;
		color: #fff;
		font-size: 1.3rem;
		line-height: 1.3;
		vertical-align: middle;
	}
	#gmenu .menu-list > li > a::after {
		display: block;
		position: absolute;
		top: 22px;
		right: 10px;
	}
	#gmenu .menu-list > li.baikyakusite {
		border-top: 2px solid #414042;
	}
	#gmenu .menu-list > li.baikyakusite > a {
		background-color: #fff;
		color: #2e94e5;
	}
	#gmenu .menu-list > li.baikyakusite > a strong {
		display: block;
	}
	#gmenu .blackback {
		width: 100%;
		background-color: rgba(0,0,0,0.5);
		opacity: 0;
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		z-index: 1;
		transform: translateX(-100%);
		transition: opacity 0.3s, transform 0.3s;
	}
	#gmenu.is-open .blackback {
		opacity: 1;
		transform: translateX(0);
	}
}

/* お問い合わせ部分 //
////////////////////////////////////////////////////////////////////*/

.modules_toi {
	margin: auto;
	padding: 60px 0;
	max-width: 1080px;
}
.modules_toi::after {
	display: block;
	clear: both;
	content: "";
}
.modules_toi > .pic {
	width: calc(100% - 49rem);
	max-width: 52rem;
	height: 28rem;
	float: left;
}
.modules_toi > .pic img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.modules_toi > .box {
	padding: 0 1rem 0 3rem;
	max-width: 50rem;
	float: left;
}
.modules_toi .hd {
	margin: -0.3rem 0 1.2rem;
	font-size: 3.4rem;
	font-weight: 700;
	line-height: 1;
}
.modules_toi .hd em {
	color: #2e94e5;
}
.modules_toi .mess {
	margin-bottom: 3rem;
	font-size: 1.8rem;
}
.modules_toi .btns > li:not(:last-child) {
	margin-bottom: 1rem;
}
.modules_toi .btns a {
	display: block;
	font-weight: 900;
}
.modules_toi .btns .tel a {
	display: block;
	border: 2px solid #414042;
	font-size: 3rem;
	line-height: 5.6rem;
	text-align: center;
}
.modules_toi .btns .tel a svg {
	font-size: 3.1rem;
}
.modules_toi .btns .mail a {
	padding: 0 0 0.3rem 1.8rem;
	background-color: #2e94e5;
	border-radius: 1rem;
	color: #fff;
	font-size: 2.9rem;
	line-height: 5.7rem;
}
.modules_toi .btns .mail a svg {
	margin-right: 7px;
	position: relative;
	bottom: -0.3rem;
	font-size: 3rem;
}
.modules_toi .btns .mail a svg:last-child {
	margin: 1.5rem 1.3rem 0 0;
	font-size: 2.5rem;
	float: right;
}
.modules_toi .spec {
	margin-top: 8px;
}
/* --- SMP --- */
@media (max-width: 767px) {
	.modules_toi {
		padding: 0 0 30px;
	}
	.modules_toi .hd {
		font-size: 2.4rem;
		text-align: center;
	}
	.modules_toi .mess {
		margin-bottom: 15px;
		font-size: 1.4rem;
		text-align: center;
	}
	.modules_toi .mess span {
		display: inline-block;
	}
	.modules_toi > .pic {
		margin-bottom: 20px;
		width: 100%;
		max-width: none;
		height: auto;
		float: none;
	}
	.modules_toi > .box {
		padding: 0;
		max-width: none;
		float: none;
	}
	.modules_toi .btns {
		margin: 0 15px;
	}
	.modules_toi .btns .tel a {
		font-size: 2rem;
		line-height: 56px;
	}
	.modules_toi .btns .mail a {
		padding: 0;
		font-size: 1.8rem;
		line-height: 60px;
		text-align: center;
	}
	.modules_toi .spec {
		padding: 0 15px;
		font-size: 1.3rem;
		text-align: center;
	}
	.modules_toi .spec p {
		margin: 0 0.5em;
		display: inline-block;
	}
}

/* WEBからのお問い合わせ //
////////////////////////////////////////////////////////////////////*/

#form {
	padding: 7rem 1rem 8.4rem;
	background-color: #0f172b;
}
#form > .hd {
	margin-bottom: 30px;
	color: #fff;
	font-size: 4.4rem;
	font-weight: 900;
	line-height: 1;
	text-align: center;
}
#form > .inner {
	margin: auto;
	padding: 4rem 5.7rem;
	max-width: 780px;
	background-color: #fff;
}
#form > .inner .shd {
	padding-bottom: 3rem;
	border-bottom: 1px solid #ccc;
	font-size: 2.4rem;
	text-align: center;
}
#form > .inner dl + .shd {
	margin-top: 4rem;
}
/* --- SMP --- */
@media (max-width: 767px) {
	#form {
		padding: 30px 15px 50px;
	}
	#form > .hd {
		font-size: 2.2rem;
	}
	#form > .inner {
		padding: 30px 15px;
	}
}

#form form > dl {
	padding: 1.6rem 0;
	border-bottom: 1px solid #ccc;
	display: flex;
	align-items: center;
}
#form form > dl > dt {
	width: 37%;
	position: relative;
	font-size: 1.8rem;
	font-weight: 700;
}
#form form > dl > dt:after {
	margin: auto;
	padding: 0 1rem;
	background-color: #bbb;
	display: inline-block;
	position: absolute;
	top: 0;
	right: 0;
	color: #fff;
	font-size: 1.6rem;
	line-height: 2.7rem;
	content: "任意";
}
#form form > dl > dt.must:after {
	background-color: #f30;
	content: "必須";
}
#form form > dl > dd {
	margin-left: auto;
	width: 60%;
}
@media (max-width: 920px) {
	#form form > dl {
		display: block;
	}
	#form form > dl > dt, #form form > dl > dd {
		width: 100%;
	}
	#form form > dl > dt {
		padding-bottom: 10px;
		font-size: 1.5rem;
	}
	#form form > dl > dt:after {
		padding: 0 8px;
		font-size: 1.3rem;
		line-height: 20px;
	}
}

#form :where(input[type="text"],input[type="email"],input[type="number"], select, textarea) {
	width: 100%;
	padding: 10px;
	border: 1px solid #ccc;
	border-radius: 7px;
	color: inherit;
	font-size: 16px;
	font-family: inherit;
}
#form :where(input, textarea)::placeholder {
	color: #cecece;
}
#form select {
	background: url(/images/leaseback/select-arrow.png) no-repeat right 15px center / 15px;
	appearance: none;
}
#form textarea {
	display: block;
	height: 10em;
}
#form .wpcf7-list-item {
	margin: 0 1em 0 0;
}
#form .wpcf7-form-control-wrap + .wpcf7-form-control-wrap {
	margin-left: 1em;
}
@media (min-width: 921px) {
	#form input[type="number"] {
		width: 29%;
	}
	#form input.middle {
		width: 62%;
	}
}
@media (max-width: 920px) {
	#form input[type="number"] {
		width: 50%;
	}
	#form select {
		background-size: 10px;
		background-position: center right 8px;
	}
}

#form input[name="bukken-chikunen"] {
    margin-right: 0.5em;
}

#form dd.madori::after {
	display: block;
	clear: both;
	content: "";
}
#form dd.madori .wpcf7-form-control-wrap {
	margin: 0;
	width: 48%;
	display: block;
	float: left;
}
#form dd.madori .wpcf7-form-control-wrap:last-child {
	float: right;
}

#form .privacy_txt {
	margin-top: 2rem;
	font-weight: 400;
	font-size: 1.5rem;
	text-align: center;
}
#form .privacy_txt a {
	text-decoration: underline;
}
#form .privacy_txt span {
	display: inline-block;
}
@media (max-width: 920px) {
	#form .privacy_txt {
		font-size: 1.3rem;
	}
}

#form .wpcf7-not-valid-tip {
	margin-top: 0.3em;
	font-size: 0.8em;
}
#form .submit_wrap {
	position: relative;
}
#form .submit_wrap .recaptcha-note {
	margin-top: 1rem;
	font-size: 1.2rem;
	color: #aaa;
	text-align: center;
}
#form .submit_wrap .recaptcha-note > span {
	display: block;
}
#form .submit_wrap .recaptcha-note a {
	color: #039be5;
}
#form .submit_wrap .wpcf7-spinner {
	margin: auto;
	position: absolute;
	right: 0;
	bottom: 22px;
	left: 0;
}
@media (max-width: 920px) {
	#form .submit_wrap .recaptcha-note {
		font-size: 1rem;
	}
	#form .submit_wrap .recaptcha-note span {
		display: inline;
	}
}

#form .wpcf7-submit {
	margin: 2rem auto 0;
	width: 100%;
	max-width: 42rem;
	background-color: #2e94e5;
	padding: 1.5rem 1rem;
	border: none;
	border-bottom: 3px solid rgba(0,0,0,0.3);
	display: block;
	color: #fff;
	font-size: 2rem;
	font-weight: 700;
	font-family: inherit;
	cursor: pointer;
	text-align: center;
	appearance: none;
}
#form .wpcf7 form .wpcf7-response-output {
	margin: 10px 0 0;
}
@media (max-width: 920px) {
	#form .wpcf7-submit {
		font-size: 1.5rem;
	}
}

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

#body_footer {
	padding: 44px 0 0;
	background-color: #2e94e5;
	color: #fff;
}
#body_footer > .inner {
	margin: auto;
	max-width: 1080px;
}
#body_footer > .inner > .company {
	margin-bottom: 33px;
	padding: 0 15px;
}
#body_footer > .inner > .company::after {
	display: block;
	clear: both;
	content: "";
}
#body_footer > .inner > .company .pic {
	margin-right: 30px;
	width: 50%;
	float: left;
}
#body_footer > .inner > .company .hd {
	margin-bottom: 1.4rem;
	font-size: 2.4rem;
}
#body_footer > .inner > .company .tel {
	margin: 1.7rem 0 2.1rem;
	font-size: 3rem;
	font-weight: 700;
}
#body_footer > .inner > .company .tel svg {
	margin-right: 0.4rem;
	font-size: 3.3rem;
}
#body_footer > .inner > .company p {
	font-size: 1.4rem;
	line-height: 2rem;
	font-weight: 300;
}
#body_footer > .inner > .company p + p {
	margin-top: 1rem;
}
/* --- SMP --- */
@media (max-width: 767px) {
	#body_footer {
		padding: 20px 0 56px;
	}
	#body_footer > .inner > .company .pic {
		margin: 0 0 15px;
		width: 100%;
		float: none;
	}
}

/* ページトップ ///
---------------------------------------------- */
#pagetop {
	background-color: #fff;
	position: fixed;
	z-index: 90;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.4s;
}
#pagetop.fixed {
	opacity: 1;
	pointer-events: auto;
}
#pagetop a {
  background-color: #2e94e5;
	border: 1px solid #fff;
  border-radius: inherit;
  display: block;
  color: #fff;
  font-size: 16px;
  text-align: center;
}
#pagetop a i::before {
  content: "\f077";
}
/* --- PC --- */
@media (min-width: 768px) {
	#pagetop {
		border-radius: 50%;
		right: 21px;
		bottom: 21px;
	}
	#pagetop, #pagetop a {
		width: 50px;
	  height: 50px;
	}
	#pagetop a {
		line-height: 48px;
	}
}
/* --- SMP --- */
@media (max-width: 767px) {
	#pagetop {
		border-radius: 3px;
		right: 10px;
		bottom: 65px;
	}
	#pagetop, #pagetop a {
		width: 35px;
	  height: 35px;
	}
	#pagetop a {
		font-size: 14px;
		line-height: 32px;
	}
}


/* フッターリンク ///
---------------------------------------------- */
#body_footer > .inner > .link {
	padding: 2.1rem 0 3.5rem;
	border-top: 1px solid rgba(255,255,255,0.5);
	border-bottom: 1px solid rgba(255,255,255,0.5);
	overflow: hidden;
}
#body_footer > .inner > .link ul {
	overflow: hidden;
}
#body_footer > .inner > .link li {
	margin-top: 0.5rem;
	float: left;
}
#body_footer > .inner > .link li:not(:last-child) {
	margin-right: 4rem;
}
#body_footer > .inner > .link li a {
	font-size: 1.4rem;
	font-weight: 300;
}
/* --- 中間 --- */
@media (max-width: 1100px) and (min-width: 768px) {
	#body_footer > .inner > .link {
		padding-right: 1rem;
		padding-left: 1rem;
	}
}
/* --- SMP --- */
@media (max-width: 767px) {
	#body_footer > .inner > .link {
		padding: 0;
		border-bottom: none;
	}
	#body_footer > .inner > .link li {
		margin: 0;
		width: 100%;
		height: 50px;
		display: table;
		border-bottom: 1px solid rgba(255,255,255,0.5);
		float: none;
	}
	#body_footer > .inner > .link li:not(:last-child) {
		margin-right: 0;
	}
	#body_footer > .inner > .link li > a {
		padding: 0 15px;
		display: table-cell;
		vertical-align: middle;
	}
}

/* スマホ用下部固定バー //
////////////////////////////////////////////////////////////////////*/

#fixed_cta {
	padding: 10px 15px;
	width: 100%;
	background-color: rgba(0,0,0,0.7);
	display: flex;
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 10;
	color: #fff;
	align-items: center;
}
#fixed_cta > .tel {
	margin-right: 10px;
	width: 50%;
	min-width: 145px;
}
#fixed_cta > .tel a {
	background-color: #2e94e5;
	border-radius: 2px;
	display: block;
	font-size: 1.5rem;
	line-height: 35px;
	text-align: center;
}
#fixed_cta > .tel a svg {
	font-size: 20px;
}
#fixed_cta > .spec {
	font-size: 1.2rem;
	font-feature-settings: 'palt';
}
#fixed_cta > .spec p {
	margin-right: 1em;
	display: inline-block;
}
@media (max-width: 374px) {
	#fixed_cta > .spec p {
		margin-right: 0;
		display: block;
	}
}

#body_footer .copyright small {
	width: 100%;
	height: 50px;
	display: flex;
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1.3;
	align-items: center;
	justify-content: center;
}
/* --- SMP --- */
@media (max-width: 767px) {
	#body_footer .copyright {
		padding: 0 15px;
	}
	#body_footer .copyright small {
		padding: 15px 0;
		height: auto;
		display: block;
		font-size: 1rem;
		text-align: center;
	}
	#body_footer .copyright small i {
		margin-top: 10px;
		display: block;
	}
}
