@charset "utf-8";


/*//////////////////////////////////////////////////////

共通

//////////////////////////////////////////////////////*/
.leadtxt {
	font-size: 18px;
	line-height: 1.8em;
	font-weight: 400;
}

.price .us-font {
	color: #fd028c;
}

@media screen and (max-width:980px) {
	.leadtxt {
		font-size: 16px;
	}
}

@media screen and (max-width:640px) {
	.leadtxt {
		font-size: 14px;
	}
}


/************************************************
ラベル
************************************************/
label,
.h-label {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	font-weight: 700;
}

label .label-name,
.h-label .label-name {
	margin: 0;
	padding: 0 0 2px 0;
	line-height: 24px;
}


/************************************************
フォームの「〜」マーク
************************************************/
.mark-renge {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1em;
	margin: 0 10px 0 0;
}

/************************************************
アラート
************************************************/
.alert {
	position: relative;
	background: var(--color-yellow);
	border-radius: 0;
	border: none;
	margin: 0 30px 30px 30px;
	cursor: pointer;
}

body.job-status .alert,
body.com-detail-job-detail-status .alert {
	margin: 0 0 30px;
}

.alert button {
	opacity: 1;
}

.alert.close {
	display: none;
}

.alert:hover::after {
	background: var(--color-blue);
	color: #fff;
}

.alert-info {
	color: var(--color-text-base);
	font-weight: 700;
}

@media screen and (max-width:768px) {
	.alert {
		margin: 0 20px 30px 20px;
		font-size: 14px;
	}
}

@media screen and (max-width:640px) {
	.alert {
		margin-bottom: 30px;
	}
}

@media screen and (max-width:470px) {
	.alert {
		margin-bottom: 20px;
		padding: 20px 0 20px 10px;
	}

	.alert::after {
		width: 20px;
		height: 20px;
		right: 5px;
		top: 10px;
		font-size: 10px;
		line-height: 20px;
	}

	.alert-dismissible .btn-close {
		top: 10px;
		right: 0;
		z-index: 2;
		padding: 0.8rem 1rem;
	}
}

/************************************************
ログインエラー
************************************************/
.login-error {
	background: #fff;
	border: #fd028c solid 2px;
	border-radius: 10px;
	margin: 0 0 30px 0;
	padding: 10px 15px;
	text-align: left;
}

.login-error strong {
	color: #fd028c;
}

@media screen and (max-width:470px) {

	.alert,
	.login-error {
		font-size: 13px;
	}
}


/*//////////////////////////////////////////////////////

基本レイアウト

//////////////////////////////////////////////////////*/
#wrap {
	width: 100%;
	margin: auto;
	overflow: hidden;
	font-size: 100%;
	box-shadow: none;
}

/*************************************************
セクション
*************************************************/
.section-inner {
	max-width: var(--body-width);
	margin: auto;
	padding: 80px 0;
}

.section-inner.section-slim {
	max-width: 980px;
}

.title .section-inner {
	padding: 30px 40px 0 40px;
}

section.title:last-child {
	padding-bottom: 20px;
}

.search .section-inner,
.result-message {
	padding-bottom: 0;
	padding-top: 0;
	text-align: left;
}

.result-search {
	padding-bottom: 0;
	padding-top: 0;
	margin-top: 10px;
	margin-bottom: 0;
}

@media screen and (max-width:640px) {
	.section-inner {
		padding: 40px 20px;
	}

	.main-inner {
		min-height: 300px;
	}

	.result-message {
		padding: 0 0 10px 0;
	}
}

.fa-exclamation-triangle {
	color: #d9534f;
	font-size: 130%;
}

.btn-download {
	padding-top: 10px;
	font-size: 100%;
}

/*************************************************
セクションタイトル 共通
*************************************************/
.sec-title {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin: 0 0 60px 0;
	text-align: center;
}

.sec-title::after {
	content: "";
	width: 100px;
	height: 4px;
	background: var(--color-logo-blue);
	margin: 0 auto;
}

.sec-title span {
	font-size: 36px;
	font-weight: 600 !important;
	line-height: 1.3;
}

.sec-title b {
	padding: 0 0 10px 0;
	font-weight: 500;
	font-size: 16px;
	line-height: 1;
	color: #7a8c8c;
}

.sec-title i {
	padding: 0 0 10px 0;
	font-weight: 500;
	font-size: 16px;
	font-style: normal;
	line-height: 1;
}

@media screen and (max-width:980px) {
	.sec-title {
		gap: 10px;
		margin: 0 0 40px 0;
	}

	.sec-title span {
		font-size: 30px;
	}
}

@media screen and (max-width:640px) {
	.sec-title {
		margin: 0 0 30px 0;
	}

	.sec-title::after {
		width: 80px;
		height: 3px;
	}

	.sec-title span {
		font-size: 24px;
	}
}

@media screen and (max-width:470px) {
	.sec-title span i {
		font-size: 14px;
	}
}


/*//////////////////////////////////////////////////////

ヘッダ

//////////////////////////////////////////////////////*/
header {
	background: #fff;
	border-bottom: #d4e0e2 solid 1px;
	width: 100%;
}

.home header {
	border-bottom: none;
	width: 100%;
}

header .section-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	padding: 0;
}

header .section-inner.header-ss {
	padding: 5px 20px;
}

.headline {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: auto;
	position: relative;
	gap: 42px;
}

.headline .logo {
	width: 163px;
}

.headline .logo a {
	width: 100%;
}

.headline .logo img {
	width: 100%;
	height: auto;
}

.headline .logo a span {
	margin: 0 0 0 5px;
	white-space: nowrap;
}

header nav {
	display: flex;
	align-items: center;
	justify-content: right;
}

header .sub-nav {
	display: flex;
	align-items: center;
	justify-content: right;
}

#globalnav {
	display: flex;
	align-items: center;
	margin: 0 30px 0 0;
	overflow: hidden;
}

#globalnav a {
	display: block;
	text-decoration: none;
	padding: 30px 20px;
	text-align: center;
	color: #111;
	font-size: 14px;
	font-weight: 500;
	white-space: nowrap;
	position: relative;
}

#globalnav>li.sp-home,
#globalnav>li.sp-blog,
#globalnav>li.sp-company {
	display: none;
}

#globalnav>li>a::after {
	background-color: var(--color-logo-blue);
	bottom: -4px;
	content: "";
	height: 4px;
	left: 0;
	opacity: 0;
	position: absolute;
	transition: all .3s;
	width: 100%;
}

#globalnav>li>a:hover::after {
	bottom: 0;
	opacity: 1;
}

/* Keep underline visible while megamenu is open (desktop) */
#globalnav>li.menu-open>a::after {
	bottom: 0;
	opacity: 1;
}

#globalnav>li>a i {
	margin-left: 5px;
}

header .nav-tel a {
	color: var(--color-logo-blue);
	text-decoration: none;
}

/*================================
メガメニュー
================================*/
header .megamenu {
	position: absolute;
	background: #fff;
	border-top: 1px solid var(--color-logo-blue);
	width: var(--body-width);
	padding: 20px 30px;
	top: 84px;
	left: 0;
	box-shadow: 0 5px 5px rgba(0, 0, 0, .1);
	z-index: 10;
	display: none;
}

header .megamenu .megamenu-header {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 0 20px;
}

header .megamenu .megamenu-header a {
	background: #f1f1f1;
	border: #fff solid 1px;
	border-radius: 6px;
	margin: 0 0 10px 0;
	padding: 8px 10px !important;
	font-size: 14px;
	line-height: 1em;
	display: none !important;
}

header .megamenu .megamenu-header p {
	margin: 0 0 20px 0;
	font-size: 14px;
	line-height: 1em;
}

header .megamenu .megamenu-header p i {
	margin: 0 5px 0 0;
	color: #999;
	font-size: 16px;
}

header .megamenu .megamenu-body .model-group {
	display: flex;
	gap: 10px;
	margin: 0 0 20px 0;
	padding: 0;
	list-style: none;
}

header .megamenu .megamenu-body .model-group h2,
header .megamenu .megamenu-body .model-group ul {
	line-height: 1em;
}

header .megamenu .megamenu-body .model-group h2 {
	width: 7em;
	margin: 12px 10px 12px 0;
	font-size: 14px;
}

header .megamenu .megamenu-body .model-group ul {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	width: calc(100% - 7em);
}

header .megamenu .megamenu-body .model-group ul a {
	background: #f1f1f1;
	border: #fff solid 1px;
	border-radius: 6px;
	padding: 10px 12px !important;
	font-size: 14px;
}

header .megamenu .megamenu-body .model-group ul a:hover,
header .megamenu .megamenu-body .model-group ul a:active,
header .megamenu .megamenu-body .model-group ul a:focus {
	border: var(--color-logo-blue) solid 1px;
	outline: var(--color-logo-blue) solid 1px;
	outline-offset: -2px;
}

.unavailable {
	position: relative;
	padding: 0 0 0 20px;
	color: #888;
}


.unavailable:before {
	position: absolute;
	content: "\F33A";
	font-family: "bootstrap-icons";
	font-weight: 900;
	display: block;
	top: 2px;
	left: 0;
	font-size: 16px;
	color: #999;
}

.badge-new {
	display: inline-block;
	font-size: 11px;
	font-style: normal;
	line-height: 1em;
	color: #fff;
	background: var(--color-logo-blue);
	margin: 0 3px 0 0;
	padding: 3px 4px;
}

@media screen and (max-width:1240px) {
	header .megamenu {
		width: calc(100vw - 56px);
		margin: 0 auto;
		padding: 20px 30px;
		top: 82px;
		left: 0;
	}
}

/*================================
フリーダイヤル
================================*/
header .nav-tel a span {
	display: flex;
	align-items: center;
	font-size: 35px;
	font-weight: 600;
	line-height: 1;
	vertical-align: middle;
}

header .nav-tel a span b {
	display: inline-block;
	width: 50px;
	margin: 0 5px 6px 0;
}

header .nav-tel a span .icon-freedial {
	fill: var(--color-logo-blue);
	stroke-width: 0px;
}

header .nav-tel a span i {
	display: block;
	margin: 0 5px 0 2px;
	font-size: 20px;
	font-weight: 600;
	line-height: 1em;
}

header .nav-tel a p {
	margin: 0 0 5px 0;
	font-size: 13px;
	line-height: 1em;
	color: var(--color-base-font);
}

header .nav-tel a p i {
	font-style: normal;
}

header .nav-login {
	margin: 0 0 0 20px;
}

header .nav-login a {
	display: block;
	background: var(--color-light-gray);
	border-radius: 5px;
	padding: 6px 16px 10px;
	color: var(--color-base-font);
	text-decoration: none;
	font-size: 13px;
	font-weight: 600;
	line-height: 1em;
	text-align: center;
}

header .nav-login a:hover,
header .nav-logout a:hover {
	outline: var(--color-logo-blue) solid 2px;
	outline-offset: -2px;
}

header .nav-login a i {
	font-size: 24px;
	line-height: 1;
}

header .nav-login a span {
	display: block;
	margin: 0 auto;
	padding: 3px 0 0 0;
	font-size: 13px;
}

header .nav-login.sp-login,
header .nav-login.sp-logout {
	display: none;
}

header .nav-logout a {
	display: flex;
	align-items: center;
	background: var(--color-light-gray);
	border-radius: 5px;
	padding: 4px 8px 6px;
	color: var(--color-base-font);
	text-decoration: none;
	font-size: 13px;
	font-weight: 600;
	line-height: 1em;
	text-align: center;
}

header .nav-logout {
	margin: 0 0 0 10px;
}

header .nav-logout a:first-child {
	margin: 0 0 3px 0;
}

header .nav-logout a i {
	margin: 0 5px 0 0;
	font-size: 18px;
	line-height: 1;
}

#sp-nav {
	display: none;
}

#sp-nav {
	display: none;
}

.headline nav .icon-text-en {
	display: block;
	font-size: 11px;
	color: var(--c3);
	text-align: center;
}

.hamburger {
	display: none;
}

@media screen and (max-width:1240px) {
	header .section-inner {
		gap: 0;
		padding: 0 20px;
	}

	.headline {
		gap: 0;
		padding: 0;
	}

	header nav {
		margin: 0 0 0 20px;
	}

	#globalnav {
		margin: 0 10px 0 0;
	}

	#globalnav a {
		padding: 30px 10px;
	}
}

@media screen and (max-width:1040px) {
	#globalnav a {
		font-size: 13px;
	}

	header .nav-tel a span b {
		display: inline-block;
		width: 40px;
		margin: 0 5px 6px 0;
	}

	header .nav-tel a span {
		font-size: 30px;
	}

	header .nav-tel a p {
		font-size: 11px;
	}
}

@media screen and (max-width:980px) {
	header .section-inner {
		padding: 0 0 0 20px;
	}

	.headline {
		justify-content: space-between;
	}

	#sp-nav {
		display: flex;
	}

	#sp-nav.hamburger {
		background: transparent !important;
		border: none !important;
		outline: none !important;
		width: 64px !important;
		height: 64px !important;
		margin: 0 !important;
		padding: 0 !important;
		box-shadow: none !important;
		align-items: center !important;
		justify-content: center !important;
	}

	#sp-nav.hamburger span {
		display: block !important;
		width: 24px !important;
		height: 2px !important;
		background: #222 !important;
		margin: 4px 0 !important;
	}

	#sp-nav.hamburger:hover,
	#sp-nav.hamburger:active,
	#sp-nav.hamburger:focus {
		background: transparent !important;
	}

	.hamburger {
		flex-direction: column;
		width: 44px;
		height: 44px;
		align-items: center;
		justify-content: center;
		border: 0;
		background: transparent;
		cursor: pointer;
		position: relative;
		z-index: 8000;
	}

	.hamburger span {
		display: block;
		width: 24px;
		height: 2px;
		background: #222;
		margin: 4px 0;
		transition: transform .25s ease, opacity .25s ease;
	}

	body.menu-open .hamburger span:nth-child(1) {
		transform: translateX(-14px) translateY(12px) rotate(45deg);
	}

	body.menu-open .hamburger span:nth-child(2) {
		opacity: 0;
	}

	body.menu-open .hamburger span:nth-child(3) {
		transform: translateX(-14px) translateY(-8px) rotate(-45deg);
	}

	header .nav-login,
	header .nav-logout {
		display: none;
	}

	.headline>nav {
		position: fixed;
		top: 0;
		right: -100%;
		width: 82vw;
		max-width: 80%;
		height: 100vh;
		background: #fff;
		box-shadow: -8px 0 24px rgba(0, 0, 0, .12);
		transition: right .28s ease;
		z-index: 8000;
		padding: 70px 20px 24px;
		overflow-y: auto;
	}

	body.menu-open .headline>nav {
		align-items: start;
		width: 100%;
		right: 0;
	}

	body.menu-open {
		overflow: hidden;
	}

	.headline>nav #globalnav {
		display: flex;
		flex-direction: column;
		gap: 0;
		right: auto !important;
		width: 100%;
		margin: 0;
	}

	.headline>nav #globalnav>li {
		border-bottom: 1px solid #eee;
		width: 100%;
	}

	#globalnav>li>a::after {
		content: none;
	}

	.headline>nav #globalnav>li>a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin: 0 10px 0 0;
		padding: 14px 0;
		font-size: 16px;
	}

	#globalnav>li.sp-home,
	#globalnav>li.sp-blog,
	#globalnav>li.sp-company {
		display: block;
	}

	#globalnav>li.sp-home {
		border-top: 1px solid #eee;
	}

	#globalnav>li.sp-company {
		display: flex;
		text-align: center;
		border-bottom: 1px solid #eee;
		margin: 0 0 30px 0;
	}

	.headline>nav #globalnav>li.sp-company>a {
		justify-content: center;
		width: 50%;
		padding: 10px;
		font-size: 13px;
		line-height: 1.3;
		white-space: wrap;
	}

	.headline>nav #globalnav>li.nav-login.sp-login {
		border: none;
	}

	#globalnav>li.sp-company a:first-child {
		border-right: #eee solid 1px;
	}

	header .nav-login.sp-login {
		display: block;
		margin: 0;
	}

	.headline>nav #globalnav>li.sp-login>a {
		display: inline-block;
		width: 100%;
		font-size: 14px;
	}

	#globalnav>li>a i {
		margin-left: 0;
	}

	header .nav-login.sp-logout {
		display: flex;
		gap: 10px;
		border-bottom: none !important;
		margin: 0;
	}

	header .nav-login.sp-logout a {
		display: flex;
		justify-content: center;
		flex-direction: column;
		width: calc((100% - 10px) / 2);
		margin: 0 !important;
		padding: 10px !important;
	}






	.headline>nav #globalnav .megamenu {
		display: none;
	}

	.headline>nav #globalnav>li.menu-open>.megamenu {
		display: block !important;
	}

	.headline>nav .megamenu {
		position: static !important;
		width: 100% !important;
		padding: 10px 0 !important;
		box-shadow: none !important;
		border-top: none !important;
	}

	.headline>nav .megamenu .megamenu-header {
		margin: 0 0 10px !important;
	}

	.headline>nav .megamenu .megamenu-header a {
		display: block !important;
	}

	.headline>nav .megamenu .megamenu-body {
		display: block !important;
	}

	.headline>nav .megamenu .megamenu-body .model-group {
		display: block;
		margin-bottom: 10px;
	}

	.headline>nav .megamenu .megamenu-body .model-group h2 {
		margin: 10px 0;
	}

	.headline>nav .megamenu .megamenu-body .model-group ul {
		width: 100%;
		gap: 6px;
	}

	.sub-nav {
		display: none;
	}

	.mobile-backdrop {
		position: fixed;
		inset: 0;
		background: rgba(0, 0, 0, .4);
		opacity: 0;
		pointer-events: none;
		transition: opacity .28s ease;
		z-index: 2999;
	}

	body.menu-open .mobile-backdrop {
		opacity: 1;
		pointer-events: auto;
	}
}

@media screen and (max-width:980px) {
	.headline {
		padding: 10px;
	}

	.headline .util {
		width: 40%;
	}

	.headline .util .btn {
		font-size: 10px;
		padding: 5px 10px 3px;
		border-radius: 5px;
		font-weight: 500;
	}

	.headline .util .btn i {
		margin-bottom: 1px;
		margin-right: 0;
		display: block;
		font-size: 14px;
	}
}


@media screen and (max-width:640px) {
	header .section-inner {
		padding: 0 0 0 10px;
	}

	header .section-inner.header-ss {
		padding: 0 10px;
	}

	.headline {
		padding: 10px 10px 10px 0;
	}

	.headline .logo {
		width: 100px;
	}

	.headline #sp-nav {
		width: 15%;
	}

	.headline .btn-login {
		font-size: 30px;
		margin-left: 0;
		padding: 5px 7px;
	}

	#globalnav {
		display: none;
		right: -100%;
		transition: all .1s linear 0s;
	}

	#sp-nav.hamburger {
		width: 50px !important;
		height: 50px !important;
	}

	.open #sp-nav i::before {
		content: "\f00d";
	}

	header .nav-tel a span {
		font-size: 16px;
	}

	header .nav-tel a span b {
		width: 24px;
		margin: 0 5px 2px 0;
	}

	header .nav-tel a p {
		font-size: 10px;
	}

	header .nav-tel a p i {
		display: none;
	}
}

/*================================
ヘッダ　シンプル版
================================*/
header.header-s {
	border-bottom: #d4e0e2 solid 1px;
}

header.header-s .headline {
	padding: 10px 0;
}

header.header-s .btn-back {
	padding: 10px;
	font-size: 14px;
}

header.header-s .btn-back i {
	margin: 0 5px 0 0;
}

@media screen and (max-width: 980px) {
	header.header-s .section-inner {
		padding: 0 20px;
	}
}

@media screen and (max-width: 640px) {
	header.header-s .section-inner {
		padding: 0 10px;
	}
}

@media screen and (max-width: 470px) {
	header.header-s .btn-back {
		padding: 10px 5px;
		font-size: 13px;
	}

	header.header-s .btn-back i {
		margin: 0 3px 0 0;
	}
}


/*//////////////////////////////////////////////////////

フッタ

//////////////////////////////////////////////////////*/

/************************************************
SNS
************************************************/
.footer-sns {
	background: #333;
}

.footer-sns .section-inner {
	padding: 40px 0;
}

.footer-sns ul {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 30px;
}

.footer-sns li {
	width: 60px;
	height: 60px;
}

.footer-sns li a {
	display: block;
	width: 100%;
}

.footer-sns li a img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/************************************************
フッタ 新車一覧
************************************************/
.footer-lineup {
	background: #333;
	color: #fff;
}

.footer-lineup .section-inner {
	padding: 0 0 40px;
}

.footer-lineup h2 {
	border-top: #666 solid 1px;
	padding: 30px 0 0;
	font-size: 24px;
	line-height: 1em;
}

.footer-lineup .megamenu-body {
	margin: 30px 0;
}

.footer-lineup .megamenu-body .model-group {
	display: flex;
	gap: 30px;
	margin: 0 0 20px 0;
}

.footer-lineup .megamenu-body .model-group h3 {
	width: 100px;
	padding: 8px 0 0;
	font-size: 14px;
	font-weight: 500;
	line-height: 1em;
	white-space: nowrap;
}

.footer-lineup .megamenu-body .model-group ul {
	width: calc(100% - 30px - 100px);
	font-size: 14px;
	line-height: 1em;
}

.footer-lineup .megamenu-body .model-group li {
	display: inline-block;
	margin: 8px 0;
}

.footer-lineup .megamenu-body .model-group ul a {
	position: relative;
	padding: 8px 15px;
	text-decoration: none;
}

.footer-lineup .megamenu-body .model-group ul a:hover {
	text-decoration: underline;
}

.footer-lineup .megamenu-body .model-group li a:after {
	position: absolute;
	content: "";
	background: #666;
	width: 1px;
	height: 1em;
	top: 12px;
	right: 0;
}

.footer-lineup .megamenu-body .model-group li:last-child:after {
	display: none;
}

@media screen and (max-width:1240px) {
	.footer-lineup .section-inner {
		padding: 0 20px 40px;
	}
}

/************************************************
フッタメニュー
************************************************/
footer {
	background: #fff;
	width: 100%;
}

.footer-link {
	max-width: var(--body-width);
	margin: 0 auto;
	padding: 40px 0;
	text-align: center;
}

.footer-link li {
	display: inline-block;
}

.footer-link li a {
	margin: 0 20px;
	color: #333;
	text-decoration: none;
	font-size: 14px;
}

.footer-link li a:hover {
	text-decoration: underline;
}

.copyright {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: start;
	border-top: #e6e6e6 solid 1px;
	max-width: var(--body-width);
	margin: 0 auto;
	padding: 40px 0 120px;
	gap: 60px;
}

.copyright.footer-s {
	border-top: none;
}

.copyright .copy-left {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 500px
}

.copyright .copy-left figure {
	width: 62px;
	height: 62px;
}

.copyright .copy-left figcaption {
	width: calc(500px - 62px - 10px);
	font-size: 13px;
	line-height: 1.3em;
}

.copyright .copy-right {
	display: flex;
	flex-direction: column;
	justify-content: end;
	width: calc(100% - 500px - 60px);
	text-align: right;
	list-style: none;
}

footer .copy-right li {
	font-size: 13px;
}

footer .copy-right li a {
	text-decoration: none;
}

footer .copy-right li a:hover {
	text-decoration: underline;
}

footer .copy-right .copy {
	padding: 20px 0 0 0;
	font-size: 13px;
	color: #999;
}

@media screen and (max-width:1240px) {
	footer .footer-link {
		padding: 40px 20px;
	}

	.copyright {
		padding: 40px 20px 120px;
		gap: 60px;
	}

	.copyright .copy-left,
	.copyright .copy-right {
		width: calc((100% - 60px) / 2);
	}
}


@media screen and (max-width:768px) {
	.copyright {
		padding: 20px 10px 120px;
		gap: 30px;
	}

	.copyright .copy-left,
	.copyright .copy-right {
		width: 100%;
	}

	.copyright .copy-left figcaption {
		width: calc(100% - 62px - 10px);
		font-size: 12px;
	}

	.copyright .copy-right {
		text-align: center;
	}

	footer .copy-right .copy {
		font-size: 11px;
	}
}

@media screen and (max-width:640px) {
	.footer-sns .section-inner {
		padding: 20px 0;
	}

	.footer-sns ul {
		gap: 20px;
	}

	.footer-lineup .section-inner {
		padding: 0 20px 20px;
	}

	.footer-lineup h2 {
		font-size: 18px;
	}

	.footer-lineup .megamenu-body .model-group {
		flex-wrap: wrap;
		gap: 10px;
		margin: 0 0 20px 0;
	}

	.footer-lineup .megamenu-body .model-group h3 {
		width: 100%;
		padding: 8px 0 0;
		font-size: 13px;
		color: #999;
	}

	.footer-lineup .megamenu-body .model-group ul {
		width: 100%;
		font-size: 13px;
		line-height: 1em;
	}

	footer .footer-link {
		padding: 20px;
	}

	.footer-link ul {
		display: flex;
		flex-direction: column;
		gap: 0;
		text-align: left;
	}

	.footer-link li a {
		display: block;
		border-bottom: solid 1px #eee;
		margin: 0;
		padding: 15px 0;
	}

	.footer-link li:last-child a {
		border-bottom: none;
	}
}

/************************************************
フッタ固定ナビ
************************************************/
.sticky-footer-nav {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1000;
	background: var(--color-light-pink);
	box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.1);
	padding: 12px 0 calc(12px + env(safe-area-inset-bottom));
}

.sticky-footer-nav .sticky-footer-nav-inner {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	gap: 30px;
	max-width: var(--body-width);
	margin: 0 auto;
}

.sticky-footer-nav .sticky-footer-nav-inner .sticky-footer-left {
	display: flex;
	width: 260px;
}

.sticky-footer-nav .sticky-footer-nav-inner .sticky-footer-right {
	width: calc(100% - 260px - 30px);
}

.sticky-footer-nav .sticky-footer-left ul {
	display: flex;
	align-items: stretch;
	gap: 0;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sticky-footer-nav .sticky-footer-left ul li {
	display: flex;
	width: 100%;
}

.sticky-footer-nav a {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: center;
	background: #fff;
	border-radius: 10px;
	width: 100%;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	text-align: center;
}

.sticky-footer-nav .sticky-footer-left ul li a {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	padding: 20px 10px;
	font-size: 18px;
	font-weight: 600;
	transition: all 0.2s ease;
}

.sticky-footer-nav .sticky-footer-left ul li a i {
	margin: 3px 0;
	font-size: 24px;
}

.sticky-footer-nav .sticky-footer-left ul li a span,
.sticky-footer-nav .sticky-footer-left ul li a b {
	font-weight: 600;
}

.sticky-footer-nav .sticky-footer-left ul li a:hover {
	outline: #333 solid 2px;
	offset: -2px;
}

.sticky-footer-nav .sticky-footer-right dl {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 4px;
	margin: 0;
}

.sticky-footer-nav .sticky-footer-right dt {
	grid-column: 1 / -1;
	margin: 0 0 6px;
	color: #fff;
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.sticky-footer-nav .sticky-footer-right dt::before,
.sticky-footer-nav .sticky-footer-right dt::after {
	content: "";
	display: block;
	height: 1px;
	background: rgba(255, 255, 255, .5);
	flex: 1 1 0;
}

.sticky-footer-nav .sticky-footer-right dd {
	margin: 0;
}

.sticky-footer-nav .sticky-footer-right dd a {
	flex-direction: column;
	gap: 5px;
	padding: 15px 10px;
	color: var(--color-light-pink);
	transition: all 0.2s ease;
}

.sticky-footer-nav .sticky-footer-right dd:first-child a {
	border-radius: 10px 0 0 10px;
}

.sticky-footer-nav .sticky-footer-right dd:last-child a {
	border-radius: 0 10px 10px 0;
}

.sticky-footer-nav .sticky-footer-right dd a:hover {
	background: var(--color-light-pink);
	outline: #fff solid 2px;
	offset: -2px;
	color: #fff;
}

.sticky-footer-nav .sticky-footer-right dd a.disabled {
	pointer-events: none;
	opacity: 0.5;
	cursor: default;
}

.sticky-footer-nav .sticky-footer-right dd a i {
	font-size: 16px;
}

.sticky-footer-nav .sticky-footer-right dd a span {
	font-size: 24px;
	font-weight: 600;
}

@media screen and (max-width:1240px) {
	.sticky-footer-nav .sticky-footer-nav-inner {
		gap: 20px;
		margin: 0 20px;
	}

	.sticky-footer-nav .sticky-footer-nav-inner .sticky-footer-left {
		width: 260px;
	}

	.sticky-footer-nav .sticky-footer-nav-inner .sticky-footer-right {
		width: calc(100% - 260px - 20px);
	}
}

@media screen and (max-width:980px) {
	.sticky-footer-nav .sticky-footer-nav-inner .sticky-footer-left {
		width: 170px;
	}

	.sticky-footer-nav .sticky-footer-nav-inner .sticky-footer-right {
		width: calc(100% - 170px - 20px);
	}

	.sticky-footer-nav .sticky-footer-left ul li a {
		flex-direction: column;
		gap: 0;
		padding: 10px 10px 15px 10px;
		font-size: 14px;
	}

	.sticky-footer-nav .sticky-footer-left ul li a i {
		margin: 0 0 3px 0;
		font-size: 20px;
	}
}

@media screen and (max-width:768px) {
	.sticky-footer-nav .sticky-footer-right dd a i {
		font-size: 14px;
	}

	.sticky-footer-nav .sticky-footer-right dd a span {
		font-size: 20px;
	}
}


@media screen and (max-width:640px) {
	.sticky-footer-nav .sticky-footer-nav-inner {
		gap: 10px;
		margin: 0 10px;
	}

	.sticky-footer-nav .sticky-footer-nav-inner .sticky-footer-left {
		width: 100px;
	}

	.sticky-footer-nav .sticky-footer-nav-inner .sticky-footer-right {
		width: calc(100% - 100px - 10px);
	}

	.sticky-footer-nav .sticky-footer-left ul li a {
		padding: 6px 10px;
		font-size: 12px;
	}

	.sticky-footer-nav .sticky-footer-right dl {
		display: grid;
		grid-template-columns: 1fr 1fr;
		align-items: center;
		gap: 5px;
		margin: 0;
	}

	.sticky-footer-nav .sticky-footer-right dt {
		margin: 0 0 3px;
		font-size: 12px;
		gap: 0;
	}

	.sticky-footer-nav .sticky-footer-right dt::before,
	.sticky-footer-nav .sticky-footer-right dt::after {
		content: none;
	}

	.sticky-footer-nav .sticky-footer-right dd a {
		padding: 15px 10px;
	}

	.sticky-footer-nav .sticky-footer-right dd a i {
		font-size: 13px;
	}

	.sticky-footer-nav .sticky-footer-right dd a span {
		font-size: 16px;
	}

}

@media screen and (max-width:470px) {
	.sticky-footer-nav {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 1000;
		background: var(--color-light-pink);
		box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.1);
		padding: 5px 0 calc(5px + env(safe-area-inset-bottom));
	}

	.sticky-footer-nav .sticky-footer-nav-inner {
		gap: 5px;
		margin: 0 5px;
	}

	.sticky-footer-nav .sticky-footer-nav-inner .sticky-footer-left {
		width: 80px;
	}

	.sticky-footer-nav .sticky-footer-nav-inner .sticky-footer-right {
		width: calc(100% - 80px - 5px);
	}

	.sticky-footer-nav .sticky-footer-left ul li a {
		gap: 0;
		padding: 6px 5px 8px 5px;
		font-size: 11px;
		font-weight: 500;
	}

	.sticky-footer-nav .sticky-footer-left ul li a i {
		width: 100%;
		font-size: 18px;
		line-height: 0.5em;
	}

	.sticky-footer-nav .sticky-footer-left ul li a b {
		display: none;
	}

	.sticky-footer-nav .sticky-footer-right dl {
		display: grid;
		grid-template-columns: 1fr 1fr;
		align-items: center;
		gap: 2px;
		margin: 0;
	}

	.sticky-footer-nav .sticky-footer-right dd a {
		gap: 3px;
	}

	.sticky-footer-nav .sticky-footer-right dd a {
		padding: 8px 10px;
	}

	.sticky-footer-nav .sticky-footer-right dd a i {
		font-size: 12px;
	}
}

/************************************************
ページ上部に移動ボタン
************************************************/
#pagetop {
	position: fixed;
	right: 20px;
	bottom: 30px;
}

#pagetop a {
	display: block;
	background: #fff;
	border-radius: 100%;
	border: #e1e1e1 solid 1px;
	width: 60px;
	height: 60px;
}

#pagetop a i {
	margin-right: 0;
	font-size: 16px;
	line-height: 60px;
	color: #333;
	transition: all .1s linear 0s;
}

#pagetop a:hover i,
#pagetop a:active i,
#pagetop a:focus i {
	font-size: 20px;
	color: #333;
	transform: scale(1.03);
}


/*//////////////////////////////////////////////////////

メイン

//////////////////////////////////////////////////////*/

/*************************************************
バッジ
*************************************************/
.icon {
	display: inline-block;
	background: var(--color-middle-gray2);
	padding: 4px 8px 5px 8px;
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
	white-space: nowrap;
}

.icon-none {
	background: none;
	font-size: 14px;
}

.icon.icon-newcar {
	background: #fff;
	outline: #333 solid 1px;
	outline-offset: -1px;
	color: #333;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.icon.icon-new {
	background: var(--color-logo-blue);
	color: #fff;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.icon.icon-nostock {
	background-color: var(--color-base-font);
	color: #fff;
}

.icon.icon-kaeseru {
	color: var(--color-base-font);
}

.icon.icon-delivered {
	background: var(--color-logo-blue);
	color: #fff;
	margin: 0 0 -3px 5px;
}

@media screen and (max-width:470px) {
	.icon-none {
		font-size: 12px;
	}
}


/*************************************************
パンくず
*************************************************/
.breadcrumbs {
	background: #f5f8f9;
	width: 100%;
	;
}

.breadcrumbs ul {
	display: flex;
	flex-wrap: wrap;
	max-width: var(--body-width);
	width: 100%;
	margin: auto;
	padding: 10px 0;
}

.breadcrumbs li {
	position: relative;
	font-size: 13px;
	line-height: 1;
}

.breadcrumbs li a,
.breadcrumbs li span {
	display: block;
	padding: 5px 0;
	font-size: 13px;
	/*white-space: nowrap;*/
}

.breadcrumbs li a {
	color: var(--color-logo-blue);
	text-decoration: none;
}

.breadcrumbs li a:hover {
	text-decoration: underline;
}

.breadcrumbs li:not(:first-child) a,
.breadcrumbs li:not(:first-child) span {
	margin: 0 0 0 20px;
	padding: 5px 0;
}

.breadcrumbs li:not(:first-child) a:after,
.breadcrumbs li:not(:first-child) span:after {
	position: absolute;
	content: "\F285";
	font-family: "bootstrap-icons";
	font-weight: 900;
	display: block;
	top: 6px;
	left: 4px;
	font-size: 12px;
	color: #333;
}

@media screen and (max-width:1240px) {
	.breadcrumbs ul {
		padding: 5px 20px;
	}
}


/*************************************************
ヒーローエリア（第２階層以下）
*************************************************/
.hero {
	border-bottom: #d4e0e2 solid 1px;
	width: 100%;
	margin: 0 0 0 0;
	padding: 0;
}

.hero .hero-inner {
	display: flex;
	align-items: center;
	width: var(--body-width);
	min-height: 220px;
	margin: 0 auto;
}

.hero .hero-inner.simple-hero {
	min-height: 120px;
}

.hero .hero-inner h1 {
	width: 100%;
	margin: -0.5em 0 0 0;
	padding: 0;
	font-size: 40px;
	line-height: 1em;
}

.hero .hero-inner.simple-hero h1 {
	margin: 0 0 10px 0 !important;
}

.hero .hero-inner h1 .badges {
	display: flex;
	align-items: center;
	gap: 0;
	margin: 20px 0 0 0;
	padding: 0;
}

.hero .hero-inner h1 .badges li {
	margin: 0 5px 0 0;
}

.hero .hero-inner h1 .maker {
	display: block;
	margin: 10px 0 0 0;
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
}

.hero .hero-inner h1 .model {
	display: block;
	font-weight: 600;
	line-height: 1.3;
}

.hero .hero-inner h1 .grade {
	display: flex;
	flex-wrap: wrap;
	margin: 15px 0 0 0;
}

.hero .hero-inner h1 .grade dt,
.hero .hero-inner h1 .grade dd {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.3;
}

.hero .hero-inner h1 .grade dt {
	width: 100%;
	padding: 0 10px 0 0;
	color: #7a8c8c;
}

.hero .hero-inner h1 .grade dd {
	position: relative;
	padding: 0 10px 0 0;
}

.hero .hero-inner h1 .grade dd:nth-child(2) {
	padding: 0 10px 0 0;
}

.hero .hero-inner h1 .grade dd::after {
	position: absolute;
	content: "/";
	width: 1px;
	height: 16px;
	top: 0;
	right: 0;
	margin: 0 10px 0 0;
}

.hero .hero-inner h1 .grade dd:last-child:after {
	content: none;
}

.original-plan.limited .hero .hero-inner h1 .grade dd {
	padding: 0;
}

/*.original-plan.limited .hero .hero-inner h1 .car-id {*/
.hero .hero-inner h1 .car-id {
	display: flex;
	margin: 10px 0 0 0;
}

/*.original-plan.limited .hero .hero-inner h1 .car-id dt,
.original-plan.limited .hero .hero-inner h1 .car-id dd {*/
.hero .hero-inner h1 .car-id dt,
.hero .hero-inner h1 .car-id dd {
	display: inline-block;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.3;
}

/*.original-plan.limited .hero .hero-inner h1 .car-id dt {*/
.hero .hero-inner h1 .car-id dt {
	width: auto;
	color: #7a8c8c;
}

/*.original-plan.limited .hero .hero-inner h1 .car-id dd {*/
.hero .hero-inner h1 .car-id dd {
	position: relative;
	padding: 0;
}


@media screen and (max-width:1240px) {
	.hero .hero-inner {
		width: 100%;
		padding: 0 20px;
	}
}

@media screen and (max-width:980px) {

	.hero .hero-inner h1 .grade dt,
	.hero .hero-inner h1 .grade dd {
		font-size: 14px;
	}
}

@media screen and (max-width:768px) {
	.hero .hero-inner h1 {
		font-size: 40px;
	}

	.home .hero .hero-inner h1 {
		margin: -1em 0 0 0;
	}

	.hero .hero-inner h1 .maker {
		font-size: 14px;
	}
}

@media screen and (max-width:768px) {
	.hero {
		margin: 0;
	}
}

@media screen and (max-width:640px) {
	.home .hero {
		height: 180px;
	}

	.home .hero .hero-inner {
		min-height: 180px;
	}

	.home .hero .hero-inner h1 {
		margin: -1em 0 0 0;
		font-size: 36px;
	}

	.hero .hero-inner h1 .maker {
		font-size: 13px;
	}

	.hero .hero-inner h1 .grade dt,
	.hero .hero-inner h1 .grade dd {
		font-size: 13px;
	}
}

@media screen and (max-width:470px) {
	.hero .hero-inner {
		min-height: 90px;
		padding: 20px;
	}

	.hero .hero-inner h1 {
		margin: 0;
		font-size: 24px;
	}

	.hero .hero-inner h1 .grade dt,
	.hero .hero-inner h1 .grade dd {
		font-size: 12px;
	}
}

.car-single figure figcaption span {
	display: block;
	background: var(--color-middle-gray2);
	padding: 4px 8px 5px 8px;
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
	white-space: nowrap;
}

.car-single figure figcaption .icon-new {
	background: var(--color-logo-blue);
	color: #fff;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.car-single figcaption .icon-nostock {
	background-color: var(--color-base-font);
	color: #fff;
}

.car-single figcaption .icon-kaeseru {
	background-color: #fff;
	color: var(--color-base-font);
}

/*************************************************
ヒーローエリア（第２階層以下）の新車グレードのタブメニュー
*************************************************/
body.newcar .hero .hero-inner {
	flex-direction: column;
	align-items: start;
	justify-content: space-between;
	position: relative;
}

body.newcar .hero .hero-inner h1 {
	margin: 40px 0 0 0;
}

body.newcar .hero .hero-inner .grade-tabs {
	display: flex;
	flex-wrap: nowrap;
	align-items: end;
	margin: 0;
}

body.newcar .hero .hero-inner .nav-tabs {
	border: none;
	padding: 0;
}

body.newcar .hero .hero-inner .nav-tabs .nav-link {
	border: none;
	min-width: 60px;
	margin: 0 10px 0 0;
	padding: 10px;
	color: #333;
	position: relative;
}

body.newcar .hero .hero-inner .nav-tabs .nav-link:hover::after {
	position: absolute;
	content: "";
	background: var(--color-logo-blue);
	width: 100%;
	height: 4px;
	bottom: 0;
	left: 0;
}

body.newcar .hero .hero-inner .nav-tabs .nav-link.active {
	color: #333;
	background-color: none;
	border-color: none;
	position: relative;
}

body.newcar .hero .hero-inner .nav-tabs .nav-link.active::after {
	position: absolute;
	content: "";
	background: #333;
	width: 100%;
	height: 4px;
	bottom: 0;
	left: 0;
}

/* enable horizontal scroll on overflow for grade tabs */
.nav-tabs.grade-tabs {
	overflow-x: auto;
	overflow-y: hidden;
	max-width: 100%;
	-webkit-overflow-scrolling: touch;
	scrollbar-gutter: stable both-edges;
}

.nav-tabs.grade-tabs .nav-item {
	flex: 0 0 auto;
	/* prevent shrinking, keep item width */
}

.nav-tabs.grade-tabs .nav-link {
	white-space: nowrap;
	/* prevent wrapping labels */
}

@media screen and (max-width:1240px) {
	body.newcar .hero .hero-inner .grade-tabs {
		max-width: calc(100% + 40px);
		margin: 0 -20px 0 -20px;
	}
}

@media screen and (max-width:860px) {
	body.newcar .hero .hero-inner {
		padding: 0 20px 0 20px;
	}

	body.newcar .hero .hero-inner .nav-tabs .nav-link {
		min-width: 60px;
		margin: 0;
		padding: 10px;
		font-size: 14px;
	}
}

@media screen and (max-width:470px) {
	body.newcar .hero .hero-inner {
		padding: 20px 20px 0 20px;
	}

	body.newcar .hero .hero-inner .grade-tabs {
		background: #eef3f4;
		position: absolute;
		margin: 0;
		left: 0;
		right: 0;
		top: calc(90px + 20px + ((100vw - 40px) * 0.75) + 20px + (((100vw - 40px - 16px) / 5) * 0.75) + 20px);
		width: 100%;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		touch-action: pan-x;
		overscroll-behavior-x: contain;
		z-index: 10;
	}

	body.newcar .hero .hero-inner .nav-tabs .nav-link {
		background: #fff;
		border-radius: 6px;
		outline: #e4ebed solid 1px;
		outline-offset: -1px;
		min-width: 80px;
		margin: 8px 4px 8px;
		padding: 10px;
		font-size: 14px;
		font-weight: 600;
	}

	body.newcar .hero .hero-inner .nav-tabs .nav-item:first-child .nav-link {
		margin-left: 8px;
	}

	body.newcar .hero .hero-inner .nav-tabs .nav-item:last-child .nav-link {
		margin-right: 8px;
	}

	body.newcar .hero .hero-inner .nav-tabs .nav-link.active {
		background: #1ca0e9;
		color: #fff;
	}

	body.newcar .hero .hero-inner .nav-tabs .nav-link.active::after {
		content: none;
	}

	body.newcar .hero .hero-inner .nav-tabs .nav-link .icon-new {
		background: #eef3f4;
		color: #1ca0e9;
	}

	body.newcar .hero .hero-inner h1 {
		margin: 0;
	}

	body.newcar .hero .hero-inner h1 .badges {
		margin: 0 0 3px 0;
	}
}


/*************************************************
リンク
*************************************************/
.popover {
	color: #111;
}

.icon-help i {
	color: #fff !important;
	font-size: 16px;
	line-height: 1;
	text-shadow: -1px -1px 1px rgba(0, 0, 0, .2);
	float: right;
	cursor: pointer;
	transition: all .2s linear 0s;
}

.icon-help i.black {
	color: #111 !important;
}

.icon-help i:hover {
	transform: scale(1.2);
}

.icon-help i:focus {
	outline: 0;
}

.fa-external-link {
	margin-right: 0;
	margin-left: 5px;
}

/*************************************************
アコーディオン
*************************************************/
.panel-accordion .panel-heading {
	cursor: pointer;
	background: #fff;
	border: #fff solid 1px;
	text-align: left;
	position: relative;
	transition: border-color ease-in-out .15s, outline-color ease-in-out .15s;
}

.panel-accordion .panel-heading:hover,
.panel-accordion.open .panel-heading:hover {
	border: var(--color-blue) solid 1px;
	outline: var(--color-blue) solid 1px;
	outline-offset: -2px;
}

.panel-accordion .panel-heading i {
	transform: rotate(-90deg);
	transition: all .2s linear 0s;
	float: right;
	position: relative;
	top: 5px;
}

.panel-accordion.open .panel-heading i {
	transform: rotate(90deg);
}

.panel-accordion .panel-body {
	display: none;
}

.panel-accordion.open .panel-body {
	background: #fff;
	display: block;
	border-top: 0;
}

@media screen and (max-width:470px) {
	.panel-accordion .panel-heading i {
		right: -5px;
		top: 3px;
	}
}

/*ページネーション
  ------------------------*/
.pagenav {
	width: 100%;
	margin: 60px 0;
}

/*オーバーライド
  ------------------------*/
.btn-group {
	display: flex;
	gap: 5px;
	width: 500px;
	margin: 35px auto 35px;
}

.btn-group button,
.btn-group a {
	width: 100% !important;
	padding: 20px 0;
}

.btn-group.btn-small {
	display: flex;
	justify-content: center;
	gap: 5px;
	width: auto;
	max-width: 300px;
	margin: 35px auto 10px;
}

.btn-group.btn-small button,
.btn-group.btn-small a {
	width: auto !important;
	padding: 10px 0;
}

@media screen and (max-width:768px) {
	.btn-group {
		display: flex;
		gap: 5px;
		width: 100%;
		margin: 35px auto 35px;
	}
}

button.move-up,
button.move-down {
	background-color: #6c757d;
	font-size: 13px;
	font-weight: 400;
}

button.move-up i {
	margin: 0 5px 0 0;
}

button.move-down i {
	margin: 0 0 0 5px;
}

.add-btn-wrap {
	width: 100%;
	text-align: center;
}


/*//////////////////////////////////////////////////////

画像アップロード

//////////////////////////////////////////////////////*/
.imageUploadWrap .image-list .card {
	padding: 20px;
}

.imageUploadWrap .image-list .card-body {
	padding: 0 0 0 20px;
}

.imageUploadWrap .image-list .image-wrap {
	background: var(--color-main);
	display: flex;
	align-items: center;
	justify-content: center;
}

.imageUploadWrap .image-list h5.card-title {
	margin: 0;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4em;
}

.imageUploadWrap .image-list p.card-text {
	font-size: 14px;
	font-weight: 400;
	color: var(--color-second-font);
}

.imageUploadWrap .image-list .thumbnail {
	width: 100%;
	height: auto;
	object-fit: contain;
	aspect-ratio: 5 / 3;
}

.imageUploadWrap .image-list .delete-image {
	padding: 8px 20px;
	font-size: 14px;
}

@media screen and (max-width:960px) {
	.imageUploadWrap .image-list .card-body {
		margin: 20px 0 0 -20px;
	}
}

@media screen and (max-width:640px) {
	.imageUploadWrap .image-list .delete-image {
		font-size: 13px;
	}
}

/*//////////////////////////////////////////////////////

入力フォーム　共通

//////////////////////////////////////////////////////*/

.form-control {
	display: block;
	width: 100%;
	padding: 15px 10px;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	color: #333;
	background: #fff;
	background-clip: padding-box;
	border: #c9d1d3 solid 1px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border-radius: 10px;
}

.mail-form.content-slim .content-slim-inner .footer-none .card-large-body {
	border-radius: 0 0 10px 10px;
	margin: 2px 0 0;
}

.mail-form .card-large-body h2 {
	margin: 0 0 10px 0;
	font-size: 16px;
}

.mail-form .card-large-body .accordion-carinfo h2 {
	margin: 0;
}

.mail-form .leadtxt {
	margin: 0 0 40px 0;
	font-size: 16px;
}

.entry-form .form-group {
	margin: 0;
}

.entry-form .form-group.option-list {
	margin: 0 0 20px 0;
	;
}

.entry-form .form-group .form-group {
	margin: 0 0 20px 0;
}

.entry-form .form-group label {
	padding: 0 0 10px 0;
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
}

.entry-form .form-group .infotxt {
	margin: 0 0 10px 0;
	font-size: 14px;
	line-height: 1.5;
}

.entry-form .form-group .infotxt b {
	font-weight: 600;
}

.entry-form .form-group .group-title {
	background: #eef3f4;
	margin: 20px 0;
	padding: 15px 10px;
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
}

.entry-form .form-group .input-low1,
.entry-form .form-group .input-low2,
.entry-form .form-group .input-low3,
.entry-form .form-group .input-low4 {
	display: flex;
	flex-wrap: wrap;
	/*align-items: end;*/
	gap: 20px;
}

.entry-form .form-group .input-low4>* {
	width: calc((100% - 60px) / 4);
}

.entry-form .form-group .input-low3>* {
	width: calc((100% - 40px) / 3);
}

.entry-form .form-group .input-low2>* {
	width: calc((100% - 20px) / 2);
}

.entry-form .form-group .input-low1>* {
	width: 100%;
}

.entry-form .input-phone .form-group {
	position: relative;
}

.entry-form .input-phone .form-group::after {
	position: absolute;
	content: "\F2EA";
	font-family: "bootstrap-icons";
	font-weight: 900;
	display: block;
	width: 1em;
	top: 22px;
	right: -18px;
	font-size: 16px;
	line-height: 1;
}

.entry-form .input-phone .form-group:last-child::after {
	content: none;
}

.entry-form .form-actions {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	margin: 60px 0 40px 0;
}

.entry-form .form-actions a,
.entry-form .form-actions button {
	position: relative;
	width: 240px;
}

.entry-form .form-actions a i {
	position: absolute;
	left: 5px;
	top: 50%;
	transform: translateY(-50%);
}

.entry-form .form-actions button i {
	position: absolute;
	right: 5px;
	top: 50%;
	transform: translateY(-50%);
}

.mail-form .card-large .accordion-carinfo .car-info {
	margin: 0;
}

.entry-form .form-group.option-list .inner-card .inner-card-header h3 {
	margin: 0 0 10px 0;
	font-size: 16px;
}

.entry-form .form-group.option-list .form-check label b {
	font-weight: 500;
}



@media (max-width: 640px) {

	.entry-form .form-group .input-low3.w640-low1>*,
	.entry-form .form-group .input-low2.w640-low1>* {
		width: 100%;
	}
}

@media (max-width: 470px) {
	.mail-form .card-large-body h2 {
		margin: 0 0 10px 0;
		font-size: 14px;
	}

	.mail-form .leadtxt {
		margin: 0 0 20px 0;
		font-size: 14px;
	}

	.entry-form .form-group .group-title {
		padding: 15px 10px;
		font-size: 14px;
	}

	.entry-form .form-group label {
		font-size: 14px;
	}

	.entry-form .form-check label .label-name {
		padding: 18px 5px 20px 60px;
		font-size: 14px;
	}

	.entry-form .form-group .input-low2 {
		gap: 10px;
	}

	.entry-form .form-group .input-low2>* {
		width: calc((100% - 10px) / 2);
	}

	.entry-form .input-phone .form-group::after {
		top: 18px;
	}

	.entry-form .form-actions {
		display: flex;
		flex-direction: column;
		gap: 20px;
		margin: 30px 0 10px 0;
	}

	.entry-form .form-actions a {
		order: 2;
	}

	.entry-form .form-actions button {
		order: 1;
		width: 100%;
		padding: 20px;
		font-size: 16px;
	}

	.entry-form .form-group>dl {
		font-size: 14px;
	}
}



/*//////////////////////////////////////////////////////

共通パーツ

//////////////////////////////////////////////////////*/
/************************************************
ボディカラーアイコン
************************************************/
.icon-body-color {
	display: block;
	content: "";
	border: #d4e0e2 solid 1px;
	border-radius: 100px;
	width: 30px;
	height: 30px;
}

/************************************************
月額表記
************************************************/
.price {
	display: flex;
	justify-content: center;
	align-items: end;
	gap: 5px;
	margin: 0;
	padding: 0;
}

.price dt,
.price dd {
	line-height: 1;
}

.price dt {
	margin: 0 0 2px 0;
	font-weight: normal;
}

.price dd {
	display: flex;
	align-items: end;
}

.price dd span:first-child {
	font-size: 46px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
}

.price dd span:last-child {
	display: flex;
	flex-direction: column;
	margin: 0 0 3px 3px;
}

.price dd span:last-child i {
	display: block;
	font-style: normal;
	font-size: 12px;
	line-height: 1.2;
	text-align: left;
}

.price dd span:last-child b {
	display: block;
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
}

.price dd span:last-child em {
	font-style: normal;
	font-size: 14px;
	font-weight: 500;
}

@media screen and (max-width:768px) {
	.price dt {
		font-size: 13px;
	}

	.price dd span:first-child {
		font-size: 36px;
	}

	.price dd span:last-child i {
		font-size: 10px;
	}

	.price dd span:last-child b {
		font-size: 18px;
	}
}

@media screen and (max-width:640px) {
	.price dd span:first-child {
		font-size: 30px;
	}

	.price dd span:last-child i {
		font-size: 10px;
	}

	.price dd span:last-child b {
		font-size: 12px;
	}
}

@media screen and (max-width:470px) {
	.price dd span:first-child {
		font-size: 46px;
		font-weight: 700;
		line-height: 1;
		white-space: nowrap;
	}

	.price dd span:last-child {
		display: flex;
		flex-direction: column;
		margin: 0 0 3px 3px;
	}

	.price dd span:last-child i {
		display: block;
		font-style: normal;
		font-size: 12px;
		line-height: 1.2;
		text-align: left;
	}

	.price dd span:last-child b {
		display: block;
		font-size: 24px;
		font-weight: 700;
		line-height: 1;
	}

	.price dd span:last-child em {
		font-style: normal;
		font-size: 14px;
		font-weight: 500;
	}
}

/************************************************
新車　絞り込み検索
************************************************/
.newcar-search {
	margin: 0 0 40px 0;
}

.newcar-search-header {
	background: var(--color-light-gray);
	border-radius: 10px 10px 0 0;
	margin: 0 0 2px 0;
	padding: 16px;
	text-align: center;
}

.newcar-search-header h3 {
	font-size: 24px;
	font-weight: 600;
	color: #333;
	margin: 0;
}

.newcar-search-body {
	background: var(--color-light-gray);
	border-radius: 0 0 10px 10px;
	padding: 40px;
}

.newcar-search-body dl {
	display: flex;
	align-items: center;
	gap: 30px;
	margin: 0 0 30px 0;
}

.newcar-search-body dt {
	width: 140px;
	margin: 0 20px 0 0;
	font-size: 16px;
	font-weight: 500;
	color: #333;
	white-space: nowrap;
}

.newcar-search-body dt b {
	color: var(--color-logo-blue);
	font-weight: 700;
}

.newcar-search-body dd {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	width: calc(100% - 140px - 30px);
	margin: 0;
}

.newcar-search-body .radio-group {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	width: calc((100% - 60px)/7);
}

.newcar-search-body input[type="radio"] {
	display: none;
}

.newcar-search-body label {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	background: #fff;
	border: 2px solid #fff;
	border-radius: 8px;
	width: 100%;
	margin: 2px 0;
	padding: 10px 10px;
	cursor: pointer;
	font-size: 14px;
	font-weight: 500;
	color: #333;
	text-align: center;
	transition: all 0.2s ease;
}

.newcar-search-body label.type-all {
	justify-content: center;
	font-size: 16px;
}

.newcar-search-body label:hover {
	background: #fff;
	border-color: #007bff;
}

.newcar-search-body input[type="radio"]:checked+label {
	border-color: #333;
	background: #007bff;
	color: #fff;
}

.newcar-search-body label figure {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 40px;
	margin: 0 auto;
	overflow: hidden;
}

.newcar-search-body .bodytype label figure {
	width: 80px;
	height: 30px;
}

.newcar-search-body label img {
	display: block;
	width: auto;
	max-width: 100%;
	max-height: 100%;
	height: auto;
	margin: 0 auto;
	object-fit: contain;
}

.newcar-search-body label .text {
	display: block;
	margin: 0;
	line-height: 1.2;
}

.newcar-search-body .count {
	position: absolute;
	top: -4px;
	right: -6px;
	background: #fff;
	color: #333;
	font-size: 11px;
	font-weight: 600;
	padding: 2px 6px 4px 6px;
	border-radius: 10px;
	line-height: 1;
	filter: drop-shadow(0 0 3px rgba(0, 0, 0, 0.15));
}

/*
月額で選ぶ（アイコンなし）
---------------------------------*/
.newcar-search-body dl:nth-of-type(3) label {
	padding: 10px 15px;
}

/*
選択をリセットボタン
---------------------------------*/
.search-reset {
	text-align: center;
	margin: 30px 0 0 0;
}

.reset-btn {
	background: #fff;
	border: 2px solid #fff;
	padding: 12px 30px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.2s ease;
}

.reset-btn:hover {
	border: 2px solid var(--color-logo-blue);
}

.newcar-search-body input[type="radio"]:checked+label {
	border-color: var(--color-base-font);
	background: #fff;
	color: var(--color-base-font);
}

.newcar-search-body input[type="radio"]:checked+label.type-all {
	justify-content: center;
	font-size: 16px;
}

.newcar-search-body label:hover {
	border-color: #0088cc;
}

.newcar-search .search-count {
	text-align: center;
	margin: 30px 0 0 0;
}

.newcar-search .search-count span {
	margin: 0 3px;
	font-size: 30px;
	font-weight: 700;
}

@media screen and (max-width:1240px) {
	.newcar-search-header h3 {
		font-size: 18px;
	}

	.newcar-search-body {
		padding: 30px;
	}

	.newcar-lineup .section-inner {
		padding: 0 20px 40px;
	}

	.newcar-search-body .radio-group {
		width: calc((100% - 50px) / 6);
	}

	.newcar-search-body .bodytype label figure {
		width: 50px;
	}
}

@media screen and (max-width:980px) {
	.newcar-search-body .radio-group {
		width: calc((100% - 40px) / 5);
	}
}

@media screen and (max-width:768px) {
	.newcar-search-body .radio-group {
		width: calc((100% - 20px) / 3);
	}

	.newcar-search-body dl {
		flex-wrap: wrap;
		gap: 10px;
		margin: 0 0 30px 0;
	}

	.newcar-search-body dt {
		width: 100%;
		margin: 0;
	}

	.newcar-search-body dd {
		width: 100%;
		margin: 0;
	}
}

@media screen and (max-width:640px) {
	.no-results-message p {
		font-size: 13px;
	}

	.newcar-search-body {
		padding: 10px;
	}
}

@media screen and (max-width:470px) {
	.newcar-search {
		margin: 0 0 20px 0;
	}
}


/************************************************
価格表記用カードレイアウト
************************************************/
.car-single {
	border: none;
	border-radius: 10px;
	width: calc((100% - 90px) / 4);
	filter: drop-shadow(0 10px 15px rgba(110, 127, 127, 0.1));
}

.car-single:hover {
	outline: 2px solid var(--color-logo-blue);
}

.car-single a {
	text-decoration: none;
}

.car-single figure {
	background: var(--color-light-gray);
	position: relative;
}

.car-single figure img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.car-single a:hover img {
	opacity: 1 !important;
}

.car-single figure figcaption {
	display: flex;
	flex-wrap: wrap;
	gap: 2px;
	position: absolute;
	top: 0;
	left: 10px;
}

.car-single figure figcaption span {
	display: block;
	background: var(--color-middle-gray2);
	padding: 4px 8px 5px 8px;
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
	white-space: nowrap;
}

.car-single figure figcaption .icon-new {
	background: var(--color-logo-blue);
	color: #fff;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.car-single figcaption .icon-nostock {
	background-color: var(--color-base-font);
	color: #fff;
}

.car-single figcaption .icon-kaeseru {
	background-color: #fff;
	color: var(--color-base-font);
}

.is-hide {
	display: none !important;
}

.no-results-message {
	width: 100%;
	margin: 0 auto;
	padding: 40px 0 0;
	color: var(--color-logo-pink);
	text-align: center;
	/*display: none;*/
}

.no-results-message p {
	margin: 0;
	font-size: 18px;
	line-height: 1.4;
}

.car-single .spec {
	padding: 20px;
	display: flex;
	flex-direction: column;
}

.car-single .spec h3 {
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
	margin-bottom: 10px;
}

.car-single .spec h3 span {
	display: inline-block;
	border: 1px solid var(--color-base-font);
	margin: 0 5px 0 0;
	padding: 2px 8px 3px 8px;
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
	white-space: nowrap;
}

.car-single .spec h3 b {
	font-size: 24px;
	font-weight: 800;
	color: #333;
	line-height: 1.4;
}

.car-single .spec .grade {
	display: inline-flex;
	flex-wrap: wrap;
}

.car-single .spec .grade dt,
.car-single .spec .grade dd {
	font-size: 14px;
	line-height: 1.3;
}

.car-single .spec .grade dt {
	width: 100% !important;
	font-weight: normal;
	color: var(--color-light-gray-font);
}

.car-single .spec .grade dd::after {
	content: "/";
	margin: 0 5px;
}

.car-single .spec .grade dd:last-child::after {
	content: "";
}

.car-single .price {
	border-top: #e0e8e8 solid 1px;
	margin: 15px 0 0;
	padding: 15px 0 0 0;
}

.car-single .spec a {
	position: relative;
	display: block;
	background: var(--color-logo-blue);
	border-radius: 6px;
	color: #fff;
	width: 100%;
	margin: auto 0 0 0;
	padding: 20px 10px 22px 10px;
	line-height: 1;
	text-align: center;
	text-decoration: none;
}

.car-single .spec a i {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(-50%, -50%);
}

@media screen and (max-width:1240px) {
	.car-single {
		width: calc((100% - 60px) / 3);
	}
}

@media screen and (max-width:980px) {
	.car-single {
		width: calc((100% - 40px) / 3);
	}
}

@media screen and (max-width:640px) {
	.car-single {
		width: calc((100% - 10px) / 2);
		margin: 0 0 20px 0;
	}
}

@media screen and (max-width:470px) {
	.car-single {
		width: 100%;
		margin: 0 0 20px 0;
	}
}

/*//////////////////////////////////////////////////////

共通セクション

//////////////////////////////////////////////////////*/


/*************************************************
限定在庫　セクション
*************************************************/
.limited-stock {
	margin: 0;
}

.limited-stock .tit_bg {
	background: #062e7b url(../img/home/limited_bg.jpg) no-repeat center center;
	background-size: cover;
	width: 100%;
	padding: 60px 0;
	text-align: center;
}

.limited-stock .tit_bg p {
	color: #fff;
}

.limited-stock .section-inner {
	padding: 80px 0 40px 0;
}

.limited-stock .section-inner .campaign-bnr img {
	width: 100%;
	height: auto;
}

.limited-stock .sec-title {
	margin: 0 0 30px 0;
}

.limited-stock .sec-title::after {
	content: none;
}

.limited-stock .sec-title span {
	font-size: 48px;
	color: #fff;
}


.limited-stock .campaign-bnr {
	background: #fff;
	margin: -110px auto 0;
}

.limited-stock .campaign-bnr figure {
	width: 100%;
	height: auto;
}

.limited-stock .campaign-bnr figure img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: all 0.2s ease;
}

.limited-stock .campaign-bnr figure img:hover {
	opacity: 1;
	filter: brightness(1.1);
}

.limited-stock .slick-limited-list {
	margin: 60px 0 0 0;
	text-align: center;
}

.limited-stock .slick-limited-list>ul {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	margin: 0 0 30px 0;
	list-style: none;
}

.limited-stock .slick-limited-list .car-single {
	display: flex;
	flex-direction: column;
	background: #fff;
	border-radius: 10px;
	width: calc((100% - 60px)/3);
	margin: 0;
	filter: drop-shadow(0 10px 15px rgba(110, 127, 127, 0.1));
	overflow: hidden;
}

.limited-stock .slick-limited-list>ul>li a {
	text-decoration: none;
	text-align: left;
}

.limited-stock .slick-limited-list>ul>li:hover {
	outline: var(--color-logo-blue) solid 2px;
}

.limited-stock .slick-limited-list>ul>li figure {
	position: relative;
	background: #333;
	width: 100%;
	height: 240px;
	margin: 0 auto;
}

.limited-stock .slick-limited-list>ul>li figure figcaption {
	position: absolute;
	background: var(--color-logo-blue);
	padding: 3px 5px 3px;
	top: 0;
	left: 10px;
	font-size: 13px;
	line-height: 1;
	color: #fff;
}

.limited-stock .slick-limited-list>ul>li figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.limited-stock .slick-limited-list>ul>li a:hover img {
	opacity: 1 !important;
}

.limited-stock .slick-limited-list>ul>li a>div {
	padding: 30px;
}

.limited-stock .slick-limited-list>ul>li a>div h3 {
	margin-bottom: 10px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
}

.limited-stock .slick-limited-list>ul>li a>div p {
	margin: 0;
	line-height: 1.4;
}

.limited-stock .slick-limited-list>ul>li a>div h3 span {
	display: inline-block;
	border: 1px solid var(--color-base-font);
	margin: 0 5px 0 0;
	padding: 2px 8px 3px 8px;
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
	white-space: nowrap;
}

.limited-stock .slick-limited-list>ul>li a>div .grade span {
	margin: 0 0 0 5px;
	padding: 1px 8px 2px 8px;
	font-size: 12px;
	font-weight: 500;
	line-height: 1 !important;
	white-space: nowrap
}

.limited-stock .slick-limited-list>ul>li a>div .grade span.instock {
	background: #d4e0e2;
}

.limited-stock .slick-limited-list>ul>li a>div .grade span.soldout {
	background: #333;
	color: #fff;
}

.limited-stock .slick-limited-list>ul>li a>div h3 b {
	font-size: 24px;
	font-weight: 800;
	line-height: 1.4;
}

.limited-stock .slick-limited-list>ul>li a>div .carid {
	margin: 5px 0 0 0;
	font-size: 14px;
}

.limited-stock .slick-limited-list>ul>li a>div .carid span {
	color: var(--color-light-gray-font);
}


.limited-stock .car-single .spec-list {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin: 10px 0 0 0;
	padding: 10px 0 0 0;
	border-top: var(--color-light-gray-border) solid 1px;
	font-size: 14px;
}

.limited-stock .car-single .spec-list li {
	width: calc((100% - 10px) / 2);
}

.limited-stock .car-single .spec-list li dl {
	line-height: 1.3;
}

.limited-stock .car-single .spec-list li dl dt,
.limited-stock .car-single .spec-list li dl dd {
	display: inline;
	font-size: 14px;
}

.limited-stock .car-single .spec-list li dl dt {
	color: var(--color-light-gray-font);
}


@media screen and (max-width:1240px) {
	.limited-stock .tit_bg {
		padding: 60px 20px;
	}

	.limited-stock .section-inner {
		padding: 80px 20px 40px;
	}
}

@media screen and (max-width:980px) {
	.limited-stock .sec-title {
		margin: 0 0 20px 0;
	}

	.limited-stock .sec-title span {
		font-size: 40px;
	}

	.limited-stock .slick-limited-list {
		margin: 40px 0 0 0;
	}

	.limited-stock .slick-limited-list>ul>li a>div {
		padding: 20px;
	}

	.limited-stock .slick-limited-list>ul {
		gap: 20px;
		margin: 0 0 30px 0;
	}

	.limited-stock .slick-limited-list .car-single {
		width: calc((100% - 40px)/3);
		margin: 0;
	}

	.limited-stock .slick-limited-list>ul>li figure {
		height: calc(((100vw - 40px - 40px)/ 3) * 0.75);
	}
}

@media screen and (max-width:768px) {
	.limited-stock .slick-limited-list .car-single {
		width: calc((100% - 20px) / 2);
		margin: 0;
	}

	.limited-stock .slick-limited-list>ul>li figure {
		height: calc(((100vw - 40px - 20px)/ 2) * 0.75);
	}
}

@media screen and (max-width:640px) {
	.limited-stock .tit_bg {
		padding: 30px 20px 40px;
	}

	.limited-stock .sec-title {
		margin: 0 0 10px 0;
	}

	.limited-stock .slick-limited-list>ul {
		gap: 10px;
		margin: 0 0 10px 0;
	}

	.limited-stock .slick-limited-list .car-single {
		width: calc((100% - 10px) / 2);
		margin: 0 0 20px 0;
	}
}

@media screen and (max-width:470px) {
	.limited-stock .tit_bg {
		padding: 30px 20px;
	}

	.limited-stock .campaign-bnr {
		margin: -100px auto 0;
	}

	.limited-stock .slick-limited-list {
		margin: 30px 0 0 0;
	}

	.limited-stock .slick-limited-list>ul {
		gap: 30px;
		margin: 0 0 30px 0;
	}

	.limited-stock .slick-limited-list .car-single {
		width: 100%;
		margin: 0;
	}

	.limited-stock .slick-limited-list>ul>li figure {
		height: calc((100vw - 40px) * 0.75);
	}
}

/*************************************************
詳細ページ用スライダ　セクション
*************************************************/
.img-viewer-container {
	width: 100%;
	margin: 0;
	padding: 20px 0 0 0;
}

.img-viewer-container .swiper {
	position: relative !important;
}

.img-viewer-container .swiper-wrapper {
	padding-bottom: 40px !important;
	padding: 0 0 20px 0 !important;
}

.img-viewer-container .swiper-slide {
	background: #eef3f4;
	width: 100% !important;
	height: calc((1200px * 45%) * 0.75) !important;
}

/* メインスライダー */
.img-viewer-container .main-swiper {
	overflow: hidden;
	position: relative;
	z-index: 0;
}

.img-viewer-container .main-swiper img {
	width: 100%;
	height: calc((1200px * 0.45) * 0.75) !important;
	object-fit: cover;
}

@media screen and (max-width: 1240px) {
	.img-viewer-container .swiper-slide {
		height: calc(((100vw - 40px) * 0.45) * 0.75) !important;
	}

	.img-viewer-container .main-swiper img {
		height: calc(((100vw - 40px) * 0.45) * 0.75) !important;
	}
}

@media screen and (min-width: 769px) {
	.img-viewer-container {
		position: sticky;
		top: 0;
		z-index: 5;
	}
}

@media screen and (max-width: 768px) {
	.img-viewer-container .swiper-slide {
		height: calc((100vw - 40px) * 0.75) !important;
	}

	.img-viewer-container .main-swiper img {
		height: calc((100vw - 40px) * 0.75) !important;
	}
}

.img-viewer-container .thumbnail-container {
	position: relative;
	overflow: hidden;
}

.img-viewer-container .thumbnail-slider {
	display: flex;
	width: 500%;
	transition: transform .25s ease;
}

.img-viewer-container .thumbnail-group {
	display: flex;
	flex-direction: column;
	width: 20%;
	height: calc(20% * 0.75);
	gap: 4px;
	box-sizing: border-box;
}

.thumbnail-row {
	display: flex;
	flex: 1;
	gap: 4px;
}

.thumbnail-item {
	flex: 1;
	background: #eef3f4;
	height: 100%;
	cursor: pointer;
	transition: all 0.3s ease;
	border-radius: 5px;
	overflow: hidden;
	position: relative;
}

/* ドラッグ中はスナップのトランジションを無効化 */
.img-viewer-container .thumbnail-slider.dragging {
	transition: none !important;
}

.img-viewer-container .thumbnail-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border: none;
	border-radius: 5px;
}

.img-viewer-container .thumbnail-item.active img {
	outline: #333 solid 2px;
	outline-offset: -2px;
}

.img-viewer-container .thumbnail-item:hover img {
	outline: var(--color-logo-blue) solid 2px !important;
	outline-offset: -2px !important;
}

/* ナビゲーションボタン */
.img-viewer-container .thumbnail-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(255, 255, 255, 0.9);
	border: none;
	border-radius: 10px;
	width: 40px;
	height: 60px;
	cursor: pointer;
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.15);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	z-index: 10;
	padding: 0 5px 0 0;
}

.img-viewer-container .thumbnail-nav:hover {
	background: white;
	transform: translateY(-50%) scale(1.1);
}

/* JSで縦位置を管理する場合の上書き */
.thumbnail-container.thumb-vert-managed .thumbnail-nav {
	transform: translateY(0) !important;
}

.thumbnail-container.thumb-vert-managed .thumbnail-nav:hover {
	transform: translateY(0) scale(1.1) !important;
}

.img-viewer-container .thumbnail-nav.prev {
	left: -10px;
}

.img-viewer-container .thumbnail-nav.next {
	right: -10px;
}

.img-viewer-container .thumbnail-nav:disabled {
	opacity: 0.3;
	cursor: not-allowed;
}

/* 画像枚数に応じたナビゲーション位置調整 */
/* 5枚以下: ボタンを内側へ寄せて重なりを避ける */
/* （注）スライド枚数による左右位置の上書きは撤廃。デフォルト（prev: left -10px / next: right -10px）に戻します。 */

.img-viewer-container .swiper-button-next,
.img-viewer-container .swiper-button-prev {
	color: #007bff;
}

.img-viewer-container .swiper-custom-zoom {
	overflow: hidden;
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, .9);
	border-bottom-left-radius: 10px;
	padding: 0;
	right: 0;
	top: 0;
	font-size: 24px;
	line-height: 1;
	pointer-events: auto;
	z-index: 3;
}

.img-viewer-container .swiper-custom-zoom .bi-zoom-in {
	padding: 10px;
	color: #000;
	display: inline-block;
	cursor: pointer;
}

/* ホバー時の色変更 */
.img-viewer-container .swiper-custom-zoom .bi-zoom-in:hover {
	background: #fff;
	color: #333;
}

/* メインスライダーのaltキャプション */
.img-viewer-container .main-swiper .main-caption {
	position: absolute;
	background: rgba(255, 255, 255, 0.7);
	left: 0;
	bottom: 20px;
	width: 100%;
	padding: 6px 10px;
	font-size: 14px;
	line-height: 1.4;
	overflow: hidden;
	text-overflow: ellipsis;
	z-index: 3;
}

/* Lightbox スタイル */
.lightbox {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000;
	z-index: 9000;
	cursor: pointer;
}

.lightbox.active {
	display: flex;
	align-items: center;
	justify-content: center;
}

.lightbox-content {
	/* オーバーレイ全面を使って中央寄せ */
	position: relative;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	display: flex;
	align-items: center;
	justify-content: center;
}

.lightbox-image {
	position: relative;
	/* ブラウザ（ビューポート）に合わせて拡大縮小 */
	width: 90vw;
	height: auto;
	max-width: 90vw;
	max-height: 90vh;
	object-fit: contain;
	border-radius: 8px;
}

.lightbox-close {
	position: fixed;
	background: rgba(0, 0, 0, 0.5);
	border: none;
	border-radius: 100%;
	width: 50px;
	height: 50px;
	padding: 8px 10px 12px;
	top: 20px;
	right: 20px;
	color: white;
	font-size: 30px;
	line-height: 1;
	font-weight: bold;
	cursor: pointer;
	transition: background-color 0.3s;
	z-index: 9001;
}

.lightbox-close:hover {
	background-color: rgba(255, 255, 255, 0.2);
}

.lightbox-info {
	position: absolute;
	background: rgba(0, 0, 0, 0.8);
	width: 100%;
	padding: 8px 20px;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	color: white;
	font-size: 16px;
	z-index: 9001;
}

.lightbox-nav {
	position: fixed;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	border: none;
	border-radius: 50%;
	width: 60px;
	height: 60px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 30px;
	color: white;
	transition: all 0.3s ease;
	z-index: 9002;
}

.lightbox-nav:hover {
	transform: translateY(-50%) scale(1.1);
}

.lightbox-nav:disabled {
	opacity: 0.3;
	cursor: not-allowed;
	transform: translateY(-50%);
}

.lightbox-nav:disabled:hover {
	transform: translateY(-50%);
}

.lightbox-nav.prev {
	left: 10px;
}

.lightbox-nav.next {
	right: 10px;
}

/* 画像読み込み中の最小サイズ確保 */
.lightbox-image {
	background: #eef3f4;
	min-width: 200px;
	min-height: 150px;
}

.limited-detail .lightbox-image {
	background: #333;
}

/* モバイル対応 */
@media (max-width: 768px) {
	.lightbox-nav {
		width: 40px;
		height: 40px;
		font-size: 20px;
	}

	.lightbox-nav.prev {
		left: 10px;
	}

	.lightbox-nav.next {
		right: 10px;
	}
}

/* ローディングスピナー */
.loading-spinner {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 9001;
	display: none;
}

.loading-spinner.active {
	display: block;
}

.spinner {
	width: 40px;
	height: 40px;
	border: 4px solid rgba(255, 255, 255, 0.3);
	border-top: 4px solid #007bff;
	border-radius: 50%;
	animation: spin 1s linear infinite;
}

@keyframes spin {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

/* メインスライダー用スピナー */
.main-swiper .loading-spinner .spinner {
	width: 60px;
	height: 60px;
	border-width: 6px;
}

/* レイヤー順を明確化 */
.main-swiper .loading-spinner {
	z-index: 1;
}

.main-swiper .swiper-button-next,
.main-swiper .swiper-button-prev {
	z-index: 2;
}

.main-swiper .swiper-button-next i,
.main-swiper .swiper-button-prev i {
	filter: drop-shadow(0px 0 4px rgba(0, 0, 0, 0.5));
}

.thumbnail-item {
	position: relative;
	/* 固定算出からアスペクト比指定に変更して安定化 */
	aspect-ratio: 4 / 3;
	overflow: hidden;
	/* 画像はみ出し防止で行間のgapを確保 */
	margin: 0 !important;
	/* 余計なマージンを無効化 */
}

.thumbnail-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Lightbox用スピナー */
.lightbox .loading-spinner .spinner {
	border-color: rgba(255, 255, 255, 0.3);
	border-top-color: #ffffff;
}

/* サムネイル用スピナー */
.thumbnail-item .loading-spinner {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 10;
	display: none;
}

.thumbnail-item .loading-spinner.active {
	display: block;
}

.thumbnail-item .loading-spinner .spinner {
	width: 20px;
	height: 20px;
	border-width: 2px;
	border-color: rgba(0, 123, 255, 0.3);
	border-top-color: #007bff;
}

.thumbnail-item img.loading {
	opacity: 0.3;
}

.group-info {
	text-align: center;
	margin-top: 10px;
	font-size: 14px;
	color: #666;
}

/* レスポンシブ: 768px以上で3行5列 */
@media (min-width: 768px) {
	.img-viewer-container .thumbnail-slider {
		width: 200%;
	}

	.img-viewer-container .thumbnail-group {
		width: 50%;
	}

	.img-viewer-container .thumbnail-group.large-screen,
	.thumbnail-container .thumbnail-group.large-screen {
		display: grid !important;
		grid-template-columns: repeat(5, minmax(0, 1fr));
		grid-auto-flow: row dense;
		column-gap: 4px;
		row-gap: 4px;
		/* 常に 5×3 のマトリクス（行は均一な高さ） */
		grid-template-rows: repeat(3, 1fr);
		/* 幅はJSで totalGroups に応じて inline-style で制御 */
		width: auto;
	}

	.img-viewer-container .thumbnail-group.large-screen .thumbnail-row,
	.thumbnail-container .thumbnail-group.large-screen .thumbnail-row {
		display: contents;
	}

	.img-viewer-container .thumbnail-nav.large-screen,
	.thumbnail-container .thumbnail-nav.large-screen {
		display: block;
	}

	/* グリッド内の子要素がFlex指定を引きずらないようにする */
	.img-viewer-container .thumbnail-group.large-screen .thumbnail-item,
	.thumbnail-container .thumbnail-group.large-screen .thumbnail-item {
		flex: initial !important;
		min-width: 0;
		width: 100% !important;
		/* グリッドトラック幅いっぱいに */
		box-sizing: border-box;
		align-self: stretch;
		grid-column: span 1 !important;
		/* 1セル専有を強制 */
		grid-row: span 1 !important;
	}

	/* サムネイル内のfigure余白をゼロ化してgapのみを有効化 */
	.img-viewer-container .thumbnail-group.large-screen .thumbnail-item figure,
	.thumbnail-container .thumbnail-group.large-screen .thumbnail-item figure {
		margin: 0 !important;
		padding: 0 !important;
		width: 100%;
		height: 100%;
	}
}

@media (max-width: 1240px) {
	.thumbnail-item {
		position: relative;
		/* 画面幅依存の高さ算出は廃止し、アスペクト比に一元化 */
		aspect-ratio: 4 / 3 !important;
	}
}

@media (max-width: 980px) {
	.img-viewer-container .main-swiper .main-caption {
		font-size: 13px;
	}
}

@media (max-width: 768px) {
	.thumbnail-item {
		position: relative;
		aspect-ratio: 4 / 3 !important;
	}
}

@media (max-width: 470px) {
	.img-viewer-container .thumbnail-nav {
		display: none !important;
	}

	/* 1行×5列を厳守（非large-screen時） */
	.img-viewer-container .thumbnail-group:not(.large-screen) .thumbnail-row {
		display: flex !important;
		gap: 4px;
	}

	/* 2行目以降は強制的に非表示（安全弁） */
	.img-viewer-container .thumbnail-group:not(.large-screen) .thumbnail-row+.thumbnail-row {
		display: none !important;
	}

	/* 各サムネを等幅に（5等分） */
	.img-viewer-container .thumbnail-group:not(.large-screen) .thumbnail-row .thumbnail-item {
		flex: 1 1 0 !important;
		min-width: 0;
	}

	.lightbox-info {
		font-size: 13px;
	}
}

/*************************************************
おすすめプラン　セクション
*************************************************/
.recommend-plan {
	border-top: #e2e9eb solid 1px;
}

.recommend-plan .section-inner {
	padding: 50px 0 80px;
}

.recommend-plan ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 30px;
}

.recommend-plan ul li {
	display: flex;
	flex-direction: column;
	gap: 20px;
	background: #f5f8f9;
	border-radius: 10px;
	width: calc((100% - 30px) / 2);
	padding: 20px;
}

.recommend-plan ul li .plan-item {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	width: 100%;
}

.recommend-plan ul li figure {
	background: #e0e6e8;
	border-radius: 10px;
	width: 240px;
	height: calc(240px * 0.75);
}

.recommend-plan ul li figcaption {
	width: calc(100% - 20px - 240px);
}

.recommend-plan ul li figcaption h2 {
	margin: 0 0 10px 0;
	font-size: 24px;
	line-height: 1.2;
	color: var(--color-logo-blue);
}

.recommend-plan ul li figcaption h2 span {
	font-size: 16px;
}

.recommend-plan ul li figcaption p {
	margin: 0;
}

.recommend-plan .spec-wrap .grade {
	display: flex;
}

.recommend-plan .spec-wrap .grade dt {
	color: #5f878f;
}

.recommend-plan .spec-wrap .grade dd {
	display: flex;
	align-items: center;
}

.recommend-plan .spec-wrap .grade dd .icon {
	margin: 0 0 0 5px;
}

.recommend-plan .spec-wrap .equipment-info,
.recommend-plan .spec-wrap .option-info {
	border-top: #d9e2e3 solid 1px;
	border-bottom: none;
	margin: 10px 0 0 0;
	padding: 10px 0 0 0;
}

.recommend-plan .spec-wrap .equipment-info p,
.recommend-plan .spec-wrap .option-info p {
	margin: 0;
}

.recommend-plan .spec-wrap .equipment-info .equipment-info-header,
.recommend-plan .spec-wrap .option-info .option-info-header {
	margin: 0 0 10px 0 !important;
}

.recommend-plan .course {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: #eef3f4 solid 1px;
	gap: 10px;
	width: 100%;
	padding: 20px;
	margin: 20px 0 0 0;
}

.recommend-plan .course h3 span {
	display: block;
	margin: 5px 0 0 0;
	font-size: 14px;
}

.recommend-plan .course .price-wrap {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.recommend-plan .course .price-wrap p {
	font-size: 14px;
}

.recommend-plan .orign-btn-wrap {
	width: 100%;
	margin-top: auto;
}

.recommend-plan .orign-btn-wrap .btn {
	padding: 10px 10px 20px;
	line-height: 1.2;
}

.recommend-plan .orign-btn-wrap .btn span {
	font-size: 16px;
}

@media (max-width: 1240px) {
	.recommend-plan .section-inner {
		padding: 50px 20px 80px;
	}
}

@media (max-width: 980px) {
	.recommend-plan ul {
		gap: 20px;
	}

	.recommend-plan ul li .plan-item {
		width: 100%;
	}

	.recommend-plan ul li figure {
		width: 100%;
		height: calc(((100vw - 40px - 80px - 20px) / 2) * 0.75);
	}

	.recommend-plan ul li figcaption {
		width: 100%;
	}

	.recommend-plan .spec-wrap .grade dt,
	.recommend-plan .spec-wrap .grade dd {
		font-size: 14px;
	}

	.recommend-plan .course h3 {
		width: calc(100% - 40% - 20px) !important;
		font-size: 20px;
	}

	.recommend-plan .course .course-upper .price-wrap {
		width: 60%;
	}

	.recommend-plan .course h3 span {
		font-size: 13px;
	}

	.recommend-plan .course .price dd span:first-child {
		font-size: 36px;
	}

	.recommend-plan .course .price dd span:last-child i {
		font-size: 11px;
	}

	.recommend-plan .course .price dd span:last-child b {
		font-size: 20px;
	}
}

@media (max-width: 870px) {
	.recommend-plan .spec-wrap .grade {
		flex-direction: column;
		gap: 0;
	}

	.recommend-plan .course .course-upper {
		flex-direction: column;
		text-align: center;
		gap: 10px;
	}

	.recommend-plan .course .course-upper h3,
	.recommend-plan .course .course-upper .price-wrap {
		width: 100% !important;
	}

	.recommend-plan .course .course-upper .price-wrap {
		align-items: center;
	}

	.recommend-plan .course .course-bottom {
		flex-direction: column;
		gap: 2px;
	}

	.recommend-plan .course .course-bottom dl {
		width: 100%;
	}

	.recommend-plan .orign-btn-wrap .btn {
		font-size: 20px;
	}

	.recommend-plan .orign-btn-wrap .btn span {
		font-size: 14px;
	}
}


@media (max-width: 640px) {
	.recommend-plan .section-inner {
		padding: 20px 20px 60px;
	}

	.recommend-plan ul {
		flex-direction: column;
		gap: 20px;
	}

	.recommend-plan ul li {
		width: 100%;
	}

	.recommend-plan ul li figure {
		width: 100%;
		height: calc((100vw - 80px) * 0.75);
	}

	.recommend-plan ul li figcaption h2 {
		font-size: 20px;
	}

	.recommend-plan ul li figcaption h2 span {
		font-size: 14px;
	}

	.recommend-plan ul li .plan-item {
		gap: 10px;
	}

	.recommend-plan .course .course-bottom dl {
		flex-direction: row !important;
	}

	.recommend-plan .course .course-bottom dl dt {
		width: 80px !important;
	}
}


/*************************************************
追加オプション　セクション
*************************************************/
.add-option.accordion {
	margin: 0 0 30px;
}

.add-option h3 {
	margin: 0 0 30px;
	color: #5f878f;
	font-size: 24px;
	font-weight: 500;
}

/*BootStrapアコーディオンカスタマイズ　ここから*/
.add-option.accordion .accordion-item {
	background: none !important;
	border: none;
}

.add-option.accordion .accordion-header button {
	border-radius: 10px 10px 0 0 !important;
	font-size: 16px;
	font-weight: 500;
	background: #fff;
	border: #c9d1d3 solid 2px;
	border-radius: 10px;
	overflow: hidden;
}

.add-option.accordion .accordion-header button:hover {
	border: var(--color-logo-blue) solid 2px;
}


.accordion-item:last-of-type .accordion-button.collapsed {
	border-radius: 10px !important;
}

.accordion-button::after {
	width: 24px;
	height: 24px;
	content: "";
	background-size: 24px;
}

.add-option.accordion .accordion-collapse {
	border-left: #c9d1d3 solid 2px;
	border-right: #c9d1d3 solid 2px;
	border-bottom: #c9d1d3 solid 2px;
	border-radius: 0 0 10px 10px !important;
}

/*BootStrapアコーディオンカスタマイズ ここまで*/

.add-option.accordion h2 button {
	padding: 20px;
}

.add-option.accordion h2 button span {
	display: flex;
	align-items: center;
	font-size: 24px !important;
	font-weight: 600 !important;
	line-height: 1;
}

.add-option.accordion h2 button span i {
	margin: 0 0 0 10px;
	font-style: normal;
	font-size: 14px !important;
	line-height: 1;
	text-align: left !important;
}

.add-option.accordion .wraper {
	background: #fff;
	padding: 30px;
	text-align: center;
}

.add-option.accordion .wraper ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 30px;
	margin: 0 0 30px 0;
	text-align: left;
}

.add-option.accordion .wraper ul li {
	width: calc((100% - 30px)/2);
}

.add-option.accordion .wraper ul li figure {
	background: #fff;
	border: #d7dede solid 1px;
	width: 100%;
	height: calc(((1200px - 90px)/ 2) * 0.5625);
}

.add-option.accordion .wraper ul li figcaption {
	margin: 10px 0 0 0;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.4;
}

.add-option.accordion .wraper ul li .price-wrap {
	margin: 10px 0;
}

.add-option.accordion .wraper ul li .price-wrap .price {
	justify-content: flex-start;
	margin: 0 0 10px 0;
}

.add-option.accordion .wraper ul li .price-wrap .price-info {
	margin: 0;
	font-size: 14px;
	line-height: 1.2;
}

.add-option.accordion .wraper .plan-table-wrap {
	margin: 0 0 30px;
}

.add-option.accordion .wraper>button {
	width: 200px;
	margin: 0 auto;
}

@media (max-width: 1240px) {
	.add-option.accordion .wraper ul li figure {
		background: #fff;
		border: #d7dede solid 1px;
		width: 100%;
		height: calc(((100vw - 40px - 90px)/ 2) * 0.5625);
	}
}

@media (max-width: 980px) {
	.add-option h3 {
		margin: 0 0 20px;
		font-size: 20px;
	}

	.add-option.accordion h2 button span {
		font-size: 20px !important;
	}

	.add-option.accordion h2 button span i {
		font-size: 14px !important;
	}
}

@media (max-width: 640px) {
	.add-option h3 {
		margin: 0 0 10px;
	}

	.add-option.accordion .wraper {
		padding: 20px;
	}

	.add-option.accordion .wraper ul li {
		width: 100%;
	}

	.add-option.accordion .wraper ul li figure {
		background: #fff;
		border: #d7dede solid 1px;
		width: 100%;
		height: calc((100vw - 40px - 40px) * 0.5625);
	}

	.add-option.accordion .wraper ul li figcaption {
		margin: 10px 0 0 0;
		font-size: 18px;
	}
}

@media (max-width: 470px) {
	.add-option {
		margin: 0;
	}

	.add-option.accordion {
		margin: 0 0 15px;
	}

	.add-option h3 {
		font-size: 18px;
	}

	.accordion-button::after {
		width: 18px;
		height: 18px;
		content: "";
		background-size: 18px;
	}

	.add-option.accordion h2 button {
		padding: 20px 10px;
	}

	.add-option.accordion h2 button span {
		flex-direction: column;
		align-items: flex-start;
		justify-content: start;
		gap: 5px;
		width: calc(100% - 18px);
		font-size: 16px !important;
	}

	.add-option.accordion h2 button span i {
		margin: 0;
		font-size: 13px !important;
	}

	.add-option.accordion .wraper ul li figcaption {
		font-size: 16px;
	}

	.add-option.accordion .wraper ul li p {
		font-size: 13px;
	}

	.add-option.accordion .wraper ul li .price-wrap .price-info {
		font-size: 13px;
	}
}

/*************************************************
最近チェックしたお車　セクション
*************************************************/
.recent-check .list-all {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	width: 100%;
}

.recent-check .car-single figure {
	height: calc(((1200px - 90px)/ 4) * 0.75);
}

@media (max-width: 1240px) {
	.recent-check .section-inner {
		padding: 80px 20px;
	}

	.recent-check .car-single figure {
		height: calc(((100vw - 40px - 60px)/ 3) * 0.75);
	}
}

@media (max-width: 980px) {
	.recent-check .list-all {
		gap: 20px;
	}
}

@media (max-width: 640px) {
	.recent-check .section-inner {
		padding: 40px 20px;
	}

	.recent-check .list-all {
		gap: 10px;
	}

	.recent-check .car-single figure {
		height: calc(((100vw - 40px - 20px)/ 2) * 0.75);
	}
}

@media (max-width: 470px) {
	.recent-check .car-single figure {
		height: calc((100vw - 40px) * 0.75);
	}
}

/*************************************************
以下の車種もおすすめ！　セクション
*************************************************/
.recent-check.recommend li {
	width: calc((100% - 60px) / 3);
}

.recent-check.recommend .car-single figure {
	height: calc(((1200px - 60px) / 3) * 0.75);
}

.recommend .limited-stock-info {
	margin: 80px auto 0;
}

.recommend .limited-stock-info .card {
	width: 940px;
	margin: 0 auto;
}

.recommend .limited-stock-info .car-single a {
	position: relative;
	display: flex;
	flex-direction: row;
	align-items: center;
}

.recommend .limited-stock-info .car-single a::after {
	position: absolute;
	content: "\F285";
	font-family: "bootstrap-icons";
	font-weight: 900;
	display: inline-block;
	/*top: calc((((1200px - 90px) / 4) * 0.75) / 2 - 24px);*/
	height: 24px;
	top: calc(50% - 12px);
	transform: translateY(-50%);
	right: 10px;
	bottom: 0;
	font-size: 24px;
	line-height: 1;
	color: #333;
}

.recommend .limited-stock-info .car-single h3 {
	font-size: 24px;
	font-weight: 500;
	line-height: 24px;
}

.recommend .limited-stock-info .car-single h3 span {
	border: none;
	margin: 0 0 5px 0;
	padding: 0;
	font-size: 16px;
}

.recommend .limited-stock-info .car-single .spec {
	padding: 20px 30px 20px 20px;
}

.recommend .limited-stock-info .car-single p {
	margin: 0;
	font-size: 24px;
	line-height: 1.2;
	color: var(--color-logo-blue);
}

.recommend .limited-stock-info .car-single p span {
	font-size: 48px;
}

@media (max-width: 1240px) {
	.recent-check.recommend .car-single figure {
		height: calc(((100vw - 40px - 60px) / 3) * 0.75);
	}
}

@media (max-width: 980px) {
	.recommend .limited-stock-info {
		margin: 40px 20px 0;
	}

	.recommend .limited-stock-info .card {
		width: 100%;
		margin: 20px auto;
	}

	.recent-check.recommend li {
		width: calc((100% - 40px) / 3);
	}

	.recommend .limited-stock-info .car-single a::after {
		top: calc((((100vw - 40px) / 3) * 0.75) / 2 - 24px);
	}

	.recent-check.recommend .car-single figure {
		height: calc(((100vw - 40px - 40px) / 3) * 0.75);
	}

	.recommend .limited-stock-info .car-single h3 {
		font-size: 20px;
		line-height: 1;
	}

	.recommend .limited-stock-info .car-single h3 span {
		font-size: 14px;
	}

	.recommend .limited-stock-info .car-single p {
		font-size: 20px;
	}

	.recommend .limited-stock-info .car-single p span {
		font-size: 36px;
	}
}

@media (max-width: 640px) {
	.recommend .limited-stock-info .car-single .spec {
		padding: 10px 40px 10px 20px;
	}

	.recommend .limited-stock-info .car-single a::after {
		top: calc((((100vw - 40px) / 2) * 0.75) / 2 - 24px);
	}

	.recent-check.recommend li {
		width: calc((100% - 10px) / 2);
	}

	.recent-check.recommend .car-single figure {
		height: calc(((100vw - 40px - 10px) / 2) * 0.75);
	}

	.recent-check .car-single figure img {
		object-fit: cover;
	}

	.recommend .limited-stock-info .car-single h3 {
		font-size: 16px;
	}

	.recommend .limited-stock-info .car-single h3 span {
		font-size: 13px;
	}

	.recommend .limited-stock-info .car-single p {
		font-size: 16px;
	}

	.recommend .limited-stock-info .car-single p span {
		font-size: 24px;
	}
}

@media (max-width: 470px) {
	.recommend .limited-stock-info {
		margin: 40px 20px 0;
	}

	.recommend .limited-stock-info .card {
		width: 100%;
		margin: 0;
	}

	.recommend .limited-stock-info .car-single a {
		display: flex;
		flex-direction: column;
		align-items: start;
		align-items: center;
	}

	.recommend .limited-stock-info .car-single a::after {
		display: none;
	}

	.recent-check.recommend li {
		width: 100%;
	}

	.recent-check.recommend .car-single figure {
		height: calc((100vw - 40px) * 0.75);
	}

	.recommend .limited-stock-info .car-single .spec {
		width: 100%;
		padding: 20px;
	}

	.recommend .limited-stock-info .car-single p {
		font-size: 18px;
		text-align: center;
	}

	.recommend .limited-stock-info .car-single p span {
		font-size: 36px;
	}
}


/*************************************************
特徴　セクション
*************************************************/
.features .features-points {
	display: flex;
	gap: 40px;
}

.features .features-points h3 {
	background: #eef3f4;
	padding: 20px;
	font-size: 24px;
	white-space: nowrap;
}

.features .features-points ol {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin: 10px 0 0 0;
}

.features .features-points li {
	list-style-type: none;
	counter-increment: cnt;
}

.features .features-points li h4 {
	position: relative;
	padding: 0 0 15px 50px;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.3;
}

.features .features-points li h4::before {
	background: var(--color-logo-blue);
	border-radius: 100%;
	content: counter(cnt);
	position: absolute;
	top: -4px;
	left: 0;
	width: 40px;
	height: 40px;
	font-family: 'Oswald', 'Noto Sans JP', "游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, sans-serif !important;
	font-synthesis: none;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	font-size: 24px;
	font-weight: 800;
	line-height: 38px;
	color: #fff;
	text-align: center;
}

@media (max-width: 1240px) {
	.features .section-inner {
		padding: 80px 20px;
	}
}

@media (max-width: 980px) {
	.features .features-points {
		gap: 30px;
	}

	.features .features-points h3 {
		padding: 20px;
		font-size: 20px;
	}

	.features .features-points li h4 {
		padding: 0 0 15px 40px;
		font-size: 20px;
	}

	.features .features-points li h4::before {
		top: -2px;
		left: 0;
		width: 30px;
		height: 30px;
		font-size: 20px;
		line-height: 28px;
	}
}

@media (max-width: 640px) {
	.features .section-inner {
		padding: 0 20px 40px;
	}

	.features .features-points {
		flex-wrap: wrap;
		gap: 10px;
	}

	.features .features-points h3,
	.features .features-points ol {
		width: 100%;
	}

	.features .features-points ol li {
		padding: 0;
	}

	.features .features-points h3 {
		padding: 10px;
		font-size: 16px;
		line-height: 1;
	}

	.features .features-points li h4 {
		padding: 0 0 5px 30px;
		font-size: 16px;
	}

	.features .features-points li h4::before {
		top: -2px;
		left: 0;
		width: 24px;
		height: 24px;
		font-size: 16px;
		line-height: 24px;
	}

	.features .features-points li p {
		margin: 0;
	}
}

@media (max-width: 470px) {}


/*************************************************
グレード比較　セクション
*************************************************/
.grade-compare .section-inner {
	padding: 40px 0 40px;
}

table.grade-compare-table,
table.grade-compare-table-sp {
	border-collapse: collapse;
	border: #cee4e9 solid 2px;
}

table.grade-compare-table-sp {
	display: none;
}

table.grade-compare-table th,
table.grade-compare-table td,
table.grade-compare-table-sp th,
table.grade-compare-table-sp td {
	border-right: #cee4e9 solid 2px;
	border-bottom: #cee4e9 solid 2px;
	padding: 20px;
	line-height: 1.3;
	vertical-align: middle;
}

table.grade-compare-table-sp th,
table.grade-compare-table th {
	background: #f5f8f9;
	width: 20px;
}

table.grade-compare-table td {
	width: calc((100% - 20%) / 3);
	text-align: center;
}

table.grade-compare-table figure,
table.grade-compare-table-sp figure {
	border: none !important;
}

@media (max-width: 1240px) {
	.grade-compare .section-inner {
		padding: 80px 20px;
	}
}

@media (max-width: 980px) {

	table.grade-compare-table th,
	table.grade-compare-table td {
		padding: 10px;
		font-size: 14px;
	}
}

@media (max-width: 640px) {

	.grade-compare .section-inner {
		padding: 0 20px 0;
	}

	table.grade-compare-table th,
	table.grade-compare-table td {
		padding: 5px;
		font-size: 13px;
	}

	table.grade-compare-table-sp th,
	table.grade-compare-table-sp td {
		padding: 10px 5px;
		font-size: 13px;
	}

	table.grade-compare-table-sp td {
		text-align: center;
	}

	table.grade-compare-table-sp td:nth-child(2),
	table.grade-compare-table-sp td:nth-child(3) {
		width: 25%;
	}
}


/*************************************************
お役立ち記事　セクション
*************************************************/
.blog ul {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.blog li {
	width: calc((100% - 90px) / 4);
}

.blog li a {
	text-decoration: none;
}

.blog li figure {
	border-radius: 10px;
	width: 100%;
	height: 110px;
	overflow: hidden;
}

.blog li figure img {
	height: 100%;
}

.blog li a div {
	margin: 20px 0 0;
}

.blog li a div span {
	display: inline-block;
	background: var(--color-light-gray);
	margin: 0 0 5px 0;
	padding: 5px 10px;
	color: #5f878f;
	font-size: 12px;
	font-weight: 500;
	line-height: 1em;
}

@media (max-width: 1240px) {
	.blog .section-inner {
		padding: 80px 20px;
	}
}

@media (max-width: 980px) {
	.blog ul {
		gap: 20px;
	}

	.blog li {
		width: calc((100% - 60px) / 4);
	}
}

@media (max-width: 768px) {
	.blog li {
		width: calc((100% - 40px) / 3);
	}
}

@media (max-width: 640px) {
	.blog .section-inner {
		padding: 40px 20px;
	}

	.blog ul {
		gap: 10px;
	}

	.blog li {
		width: calc((100% - 10px) / 2);
	}

	.blog li a div {
		margin: 10px 0 0;
	}
}

/*************************************************
たま〜るプラス　セクション
*************************************************/
.tamaru-plus {
	padding: 0;
}

.tamaru-plus .section-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding: 0;
	gap: 60px;
}

.tamaru-plus .section-inner figure {
	display: flex;
	justify-content: end;
	width: 523px;
}

.tamaru-plus .section-inner figure img {
	width: 100%;
	height: auto;
}

.tamaru-plus .section-inner div {
	width: calc(100% - 60px - 523px);
}

.tamaru-plus .section-inner div h2 {
	text-align: left;
}

.tamaru-plus .sec-title::after {
	margin: 0;
}

.tamaru-plus .section-inner div p {
	margin: 0 0 30px 0;
	font-size: 18px;
}

@media (max-width: 1240px) {
	.tamaru-plus .section-inner {
		padding: 0 20px;
	}
}

@media (max-width: 980px) {
	.tamaru-plus .section-inner {
		gap: 30px;
	}

	.tamaru-plus .section-inner figure {
		width: 400px;
	}

	.tamaru-plus .section-inner div {
		width: calc(100% - 30px - 400px);
	}

	.tamaru-plus .section-inner div .leadtxt {
		font-size: 16px;
	}
}

@media (max-width: 768px) {
	.tamaru-plus .section-inner {
		gap: 0;
	}

	.tamaru-plus .section-inner figure {
		width: 100%;
	}

	.tamaru-plus .section-inner figure img {
		padding: 10px 0 0 6%;
	}

	.tamaru-plus .section-inner div {
		width: 100%;
	}
}

@media (max-width: 640px) {
	.tamaru-plus .section-inner div .leadtxt {
		font-size: 14px;
	}
}


/*//////////////////////////////////////////////////////

detail
詳細ページ用 基本レイアウト

//////////////////////////////////////////////////////*/

/************************************************
車両詳細（ビュアー）
************************************************/
.car-detail .section-inner {
	display: flex;
	padding: 0 0 80px;
	gap: 60px;
}

body.newcar .car-detail .section-inner {
	padding: 30px 0 80px;
}

.car-detail .plan-left {
	width: 45%;
}

.car-detail .plan-right {
	width: calc(100% - 45% - 60px);
	margin: 20px 0 0 0;
}

.car-detail .catch-copy {
	margin: 0 0 40px;
}

.car-detail .catch-copy h2 {
	margin: 0 0 20px;
	font-size: 24px;
}

.car-detail .catch-copy p {
	margin: 0;
}

/* Read More (catch copy) */
.car-detail .catch-copy .read-more-text {
	line-height: 1.8;
	position: relative;
	display: block;
}

.car-detail .catch-copy .read-more-text.clamped {
	max-height: 60px;
	overflow: hidden;
}

/* Gradient overlay to hint hidden content when clamped */
.car-detail .catch-copy .read-more-text.clamped::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 40px;
	/* height of fade area */
	pointer-events: none;
	/* Adjust final color to match background if needed */
	background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 80%);
}

.car-detail .catch-copy .btn-read-more {
	margin-top: 10px;
}

/* Read More (grade info) */
.car-detail .grade-info .read-more-text {
	line-height: 1.8;
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 2px;
	width: 100%;
}

.car-detail .grade-info .read-more-text.clamped {
	max-height: 60px;
	overflow: hidden;
}

.car-detail .grade-info .read-more-text.clamped::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 40px;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 80%);
}

.car-detail .grade-info .btn-read-more {
	display: block;
	width: 60%;
	margin: 10px auto 0;
	padding: 12px 30px 14px 30px;
	font-size: 13px;
}

/* Scoped: keep read-more button frame visible in car-detail */
.car-detail .grade-info .btn-read-more,
.car-detail .catch-copy .btn-read-more {
	background: #fff;
	outline: #c9d1d3 solid 2px;
	outline-offset: -2px;
}

.car-detail .grade-info .btn-read-more:hover,
.car-detail .grade-info .btn-read-more:active,
.car-detail .grade-info .btn-read-more:focus-visible,
.car-detail .grade-info .btn-read-more[aria-expanded="true"],
.car-detail .catch-copy .btn-read-more:hover,
.car-detail .catch-copy .btn-read-more:active,
.car-detail .catch-copy .btn-read-more:focus-visible,
.car-detail .catch-copy .btn-read-more[aria-expanded="true"] {
	/*outline: var(--color-logo-blue) solid 2px;*/
	outline: #c9d1d3 solid 2px;
}

.car-detail .grade-info .btn-read-more i {
	margin: 0 0 0 5px;
	font-size: 14px;
}

/* Ensure wrapper spans full row so inner dl grid aligns as before */
.car-detail .grade-info .read-more {
	width: 100%;
}

@media (max-width: 1240px) {
	.car-detail .section-inner {
		padding: 0 20px 80px;
		gap: 40px;
	}

	body.newcar .car-detail .section-inner {
		padding: 30px 20px 80px;
	}

	.car-detail .plan-right {
		width: calc(100% - 45% - 40px);
	}
}

@media (max-width: 980px) {
	.car-detail .catch-copy {
		margin: 0 0 30px;
	}

	.car-detail .catch-copy h2 {
		margin: 0 0 10px;
		font-size: 20px;
	}
}

@media (max-width: 768px) {
	.car-detail .section-inner {
		flex-wrap: wrap;
		gap: 10px;
	}

	.car-detail .plan-left {
		width: 100%;
	}

	.car-detail .plan-right {
		width: 100%;
	}
}

@media (max-width: 640px) {
	.car-detail .section-inner {
		padding: 0 20px 40px;
	}
}

@media (max-width: 470px) {
	body.newcar .car-detail .section-inner {
		padding: 0 20px 40px;
	}

	.car-detail .plan-right {
		margin: 50px 0 0 0;
	}

	.car-detail .catch-copy h2 {
		margin: 0 0 10px;
		font-size: 18px;
	}
}


/************************************************
車両詳細　プラン（右カラム）
************************************************/
.plan h2 {
	margin: 0 0 20px 0;
	font-size: 30px;
	font-weight: 600;
	line-height: 1;
}

.plan .grade {
	display: flex;
	align-items: center;
	margin: 0 0 10px 0;
	line-height: 1;
}

.plan .grade dt {
	display: inline;
	color: #a2adad;
}

.plan .grade dd {
	display: inline;
}

.plan .grade dd span {
	display: inline-block;
	margin: 0 5px 0 0;
}

.course {
	display: flex;
	flex-direction: column;
	border: #eef3f4 solid 1px;
	gap: 20px;
	width: 100%;
	padding: 20px;
	margin: 20px 0 20px;
}

.course h3 {
	font-size: 30px;
	font-weight: 600;
	line-height: 1;
}

.course h3 span {
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
}

.course .course-upper,
.course .course-bottom {
	width: 100%;
}

.course .course-upper {
	display: flex;
	align-items: center;
	gap: 30px;
}

.course .course-upper h3 {
	width: calc(100% - 50% - 30px);
}

.course .course-upper .price-wrap {
	width: 50%;
}

.course .course-upper .price-wrap .price {
	justify-content: start;
}

.course .course-upper .price-wrap p {
	margin: 0;
}

.course .course-bottom {
	display: flex;
	border-top: #eef3f4 solid 1px;
	padding: 15px 0 0 0;
	width: 100%;
	font-size: 14px;
}

.course .course-bottom dl {
	display: flex;
	gap: 10px;
	width: 50%;
}

.course .course-bottom dl dt {
	background: #eef3f4;
	color: #5f878f;
	width: calc(4em + 40px);
	text-align: center;
}

.course .course-bottom dl dd {
	flex: 1;
}

/************************************************
車両詳細　プラン（右カラム）
旧型料金形態に近いレイアウト override
************************************************/

/*
支払い年数選択タブ
-------------------------------*/
.renew-layout .year-tabs {
	display: flex;
	align-items: flex-end;
	gap: 2px;
	background: #cee4e9;
	border-bottom: none;
	margin: 40px 0 10px 0;
	padding: 10px 10px 0 10px;
}

.renew-layout .year-tabs .nav-item {
	margin: 0;
}

.renew-layout .year-tabs.tab-col4 .nav-item {
	width: calc((100% - 6px) / 4);
}

.renew-layout .year-tabs.tab-col3 .nav-item {
	width: calc((100% - 4px) / 3);
}

.renew-layout .year-tabs.tab-col2 .nav-item {
	width: calc((100% - 2px) / 2);
}

.renew-layout .year-tabs.tab-col1 .nav-item {
	width: 100%;
}

.renew-layout .year-tabs button {
	background: #eef3f4;
	border: none;
	border: 6px 6px 0 0;
	width: 100%;
	text-align: center;
	color: #00a0e9;
	padding: 10px 10px;
	line-height: 1.2;
}

.renew-layout .year-tabs button:hover {
	background: var(--color-logo-blue);
	color: #fff;
}

.renew-layout .year-tabs button.active {
	background: #fff;
}

.renew-layout .year-tabs button.active:hover {
	background: #fff;
	color: #333;
}

.renew-layout .year-tabs button br {
	display: none;
}

.renew-layout .year-tabs button span {
	font-size: 13px;
}


/*
料金形態（横並び）
-------------------------------*/
.renew-layout .course-wrap {
	display: flex;
	gap: 0;
}

.renew-layout .course-wrap .course {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	border-top: #d8e4e7 solid 1px;
	border-left: #d8e4e7 solid 1px;
	border-bottom: #d8e4e7 solid 1px;
	border-right: none;
	gap: 0;
	padding: 10px;
	margin: 20px 0 0;
}

.renew-layout .course-wrap.course-col3 .course {
	width: calc(100% / 3);
}

.renew-layout .course-wrap.course-col2 .course {
	width: calc(100% / 2);
}

.renew-layout .course:last-child {
	border-right: #d8e4e7 solid 1px;
}

.renew-layout .course h3 {
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
}

.renew-layout .course h3 b {
	margin: 0 2px;
	font-size: 24px;
	font-weight: 600;
	line-height: 1;
}

.renew-layout .course .course-upper,
.renew-layout .course .course-bottom {
	width: 100%;
}

.renew-layout .course .course-upper {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 10px;
}

.renew-layout .course .course-upper h3 {
	width: 100%;
	text-align: center;
}

.renew-layout .course .course-upper h3 span {
	font-size: 13px;
}

.renew-layout .course .course-upper .price-wrap {
	border-top: #d8e4e7 solid 1px;
	padding: 10px 0 0 0;
	width: 100%;
}

.renew-layout .course .course-upper .price-wrap .price {
	/*justify-content: start;*/
	justify-content: center;
}

.renew-layout .course .course-upper .price-wrap .price .us-font {
	font-size: 40px;
}

.renew-layout .course .course-bottom {
	display: flex;
	flex-direction: column;
	border-top: none;
	padding: 10px 0 0 0;
	width: 100%;
	font-size: 14px;
}

.renew-layout .course .course-bottom dl {
	display: flex;
	flex-direction: column;
	gap: 5px;
	width: 100%;
	margin: 5px 0 0 0;
}

.renew-layout .course .course-bottom dl dt {
	background: #eef3f4;
	color: #5f878f;
	width: 100%;
	padding: 3px 5px;
	text-align: center;
	line-height: 1.3;
}

.renew-layout .course .course-bottom dl dd {
	/*flex: 1;*/
	text-align: right;
}

.renew-layout .course .course-bottom dl dd .us-font {
	font-size: 24px;
}

.renew-layout .course .course-bottom dl dd i {
	font-size: 12px;
}

.renew-layout .course-sub {
	display: block;
	border-right: #d8e4e7 solid 1px;
	border-left: #d8e4e7 solid 1px;
	border-bottom: #d8e4e7 solid 1px;
	width: 100%;
	margin: 0 0 30px 0;
	padding: 5px;
	text-align: center;
	font-size: 14px;
}

.renew-layout .course-sub i {
	font-size: 12px;
}

@media (max-width: 1240px) {
	.renew-layout .course .course-upper .price-wrap .price .us-font {
		font-size: 36px;
	}

	.renew-layout .course .course-upper .price-wrap .price dd span:last-child i {
		font-size: 11px;
	}

	.renew-layout .course .course-upper .price-wrap .price dd span:last-child b {
		font-size: 20px;
	}

	.renew-layout .course .course-bottom dl dt {
		font-size: 13px;
	}
}

@media (max-width: 980px) {
	.renew-layout .course .course-upper h3 {
		font-size: 14px;
	}

	.renew-layout .course h3 b {
		font-size: 20px;
	}

	.renew-layout .course .course-upper .price-wrap .price .us-font {
		font-size: 30px;
	}

	.renew-layout .course .course-upper .price-wrap .price dd span:last-child i {
		font-size: 10px;
	}

	.renew-layout .course .course-upper .price-wrap .price dd span:last-child b {
		font-size: 18px;
	}

	.renew-layout .course .course-bottom dl dt {
		font-size: 13px;
	}

	.renew-layout .course .course-bottom dl dd {
		font-size: 11px;
	}

	.renew-layout .course .course-bottom dl dd .us-font {
		font-size: 20px;
	}
}

@media (max-width: 860px) {
	.renew-layout .course .course-upper h3 {
		font-size: 13px;
	}

	.renew-layout .course h3 b {
		font-size: 18px;
	}

	.renew-layout .course .course-upper .price-wrap .price .us-font {
		font-size: 24px;
	}

	.renew-layout .course .course-upper .price-wrap .price dd span:last-child i {
		font-size: 9px;
	}

	.renew-layout .course .course-upper .price-wrap .price dd span:last-child b {
		font-size: 11px;
	}

	.renew-layout .course .course-bottom dl dt {
		font-size: 11px;
	}

	.renew-layout .course .course-bottom dl dd {
		font-size: 10px;
	}

	.renew-layout .course .course-bottom dl dd .us-font {
		font-size: 14px;
	}
}

@media (max-width: 640px) {
	.renew-layout .year-tabs button {
		font-size: 14px;
	}

	.renew-layout .year-tabs.tab-col4 button br,
	.renew-layout .year-tabs.tab-col3 button br {
		display: block;
	}

	.renew-layout .year-tabs button span {
		font-size: 12px;
	}

}


@media (max-width: 470px) {
	.renew-layout .course-wrap .course {
		padding: 5px;
		margin: 10px 0 0;
	}

	.renew-layout .course .course-upper h3 {
		font-size: 12px;
	}

	.renew-layout .course h3 b {
		font-size: 16px;
	}

	.renew-layout .course .course-upper .price-wrap .price .us-font {
		font-size: 22px;
	}

	.renew-layout .course .course-upper .price-wrap .price dd span:last-child {
		margin: 0 0 0 3px;
	}

	.renew-layout .course .course-upper .price-wrap .price dd span:last-child i {
		font-size: 8px;
	}

	.renew-layout .course .course-upper .price-wrap .price dd span:last-child b {
		font-size: 11px;
		line-height: 1;
	}

	.renew-layout .course .course-upper dl.price dd span:last-child em {
		font-size: 10px;
	}

	.renew-layout .course .course-bottom dl dt {
		font-size: 11px;
	}

	.renew-layout .course .course-bottom dl dd {
		font-size: 10px;
	}

	.renew-layout .course .course-bottom dl dd .us-font {
		font-size: 14px;
	}

	.renew-layout .course .course-bottom dl dd i {
		font-size: 10px;
	}



	.renew-layout .course-sub {
		font-size: 12px;
	}
}







.course-other {
	margin: 0 0 30px;
}

/*BootStrapアコーディオンカスタマイズ　ここから*/
.course-other.accordion .accordion-item {
	border: none;
}

.course-other.accordion .accordion-header {
	margin: 0;
}

.course-other.accordion .accordion-header button {
	background: #eef3f4;
	border-bottom: none !important;
	font-size: 16px;
	font-weight: 500;
}

.course-other.accordion .accordion-header button:hover {
	outline: var(--color-logo-blue) solid 2px;
	outline-offset: -2px;
}

.course-other-button::after {
	width: 20px;
	height: 20px;
	content: "";
	background-size: 20px;
}

/*BootStrapアコーディオンカスタマイズ ここまで*/

.grade-info {
	display: flex;
	flex-wrap: wrap;
	gap: 2px;
	border-bottom: #eef3f4 solid 1px;
	padding: 20px 0;
	margin: 0;
}

.grade-info .grade-info-header,
.equipment-info .equipment-info-header,
.option-info .option-info-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	margin: 0 0 20px 0;
}

.grade-info h3,
.equipment-info h3,
.option-info h3 {
	width: 100%;
	font-size: 18px;
	font-weight: 500;
	line-height: 1;
}

.equipment-info .equipment-info-header a,
.option-info .option-info-header a {
	font-size: 14px;
	color: var(--color-logo-blue);
	white-space: nowrap;
}

.equipment-info .equipment-info-header a i,
.option-info .option-info-header a i {
	margin: 0 0 0 5px;
}

.grade-info dl {
	width: calc((100% - 6px)/4);
}

.grade-info dl.body-color {
	width: 100%;
}

.grade-info dl dt {
	background: #eef3f4;
	width: 100%;
	padding: 5px;
	font-size: 14px;
	line-height: 1;
	color: #5f878f;
	text-align: center;
	box-sizing: border-box;
}

.grade-info dl dd {
	margin: 5px 0 10px 0;
	font-size: 14px;
	text-align: center;
}

.grade-info .body-color {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
}

.grade-info .body-color dt {
	width: 100%;
	margin: 0 0 10px 0;
}

.grade-info .body-color dd {
	display: flex;
	align-items: center;
	gap: 5px;
	margin: 0 20px 10px 0;
	text-align: left;
	line-height: 1.2;
}

.equipment-info {
	border-bottom: #eef3f4 solid 1px;
	padding: 20px 0;
}

.equipment-info p {
	font-size: 14px;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-line-clamp: 2;
}

.option-info {
	border-bottom: #eef3f4 solid 1px;
	padding: 20px 0;
}

.option-info p {
	font-size: 14px;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-line-clamp: 2;
}

.orign-btn-wrap {
	margin: 20px 0;
}

.orign-btn-wrap .catch {
	display: block;
	width: 100%;
	font-weight: 600;
	color: #ff018c;
	text-align: center;
}

.orign-btn-wrap a.btn-orign {
	border-radius: 10px;
	width: 100%;
	padding: 30px;
	font-size: 24px;
	line-height: 1;
}

.orign-btn-wrap .info-txt {
	margin: 20px 0;
}

.orign-btn-wrap a.btn-orign-recommend {
	border-radius: 10px;
	width: 100%;
	padding: 20px;
	font-size: 16px;
	line-height: 1;
	color: var(--color-logo-blue);
}

.orign-btn-wrap a.btn-orign-recommend i {
	margin: 0 0 0 5px;
}

@media (max-width: 980px) {
	.plan h2 {
		font-size: 20px;
	}

	.plan .grade dt,
	.plan .grade dd {
		font-size: 14px;
	}

	.course .course-upper {
		gap: 20px;
	}

	.course .course-upper h3 {
		width: calc(100% - 50% - 20px);
	}

	.course h3 {
		font-size: 24px;
	}

	.course h3 span {
		font-size: 14px;
	}

	.course .course-upper .price-wrap p {
		font-size: 13px;
	}

	.course .course-bottom dl dt {
		width: calc(4em + 10px);
		font-size: 13px;
	}

	.course .course-bottom dl dd {
		font-size: 13px;
	}

	.grade-info dl dt,
	.grade-info dl dd {
		font-size: 13px;
	}
}

@media (max-width: 470px) {
	.plan h2 {
		/*font-size: 18px;*/
		display: none;
	}

	.plan .grade {
		/*flex-wrap: wrap;*/
		display: none;
	}

	.plan .grade dt,
	.plan .grade dd {
		width: 100%;
		font-size: 13px;
	}

	.course {
		display: flex;
		flex-direction: column;
		border: #eef3f4 solid 1px;
		gap: 10px;
		width: 100%;
		padding: 20px;
		margin: 20px 0 20px;
	}

	.course .course-upper {
		flex-wrap: wrap;
		gap: 10px;
	}

	.course .course-upper h3,
	.course .course-upper .price-wrap {
		width: 100%;
	}

	.course .course-upper .price-wrap .price {
		justify-content: center;
	}

	.course .course-upper .price-wrap p {
		text-align: center;
		font-size: 12px;
	}

	.course .course-bottom {
		display: flex;
		justify-content: space-between;
		gap: 2px;
		padding: 10px 0 0 0;
		width: 100%;
		font-size: 14px;
	}

	.course .course-bottom dl {
		flex-direction: column;
		width: calc(50% - 1px);
	}

	.course .course-bottom dl dt,
	.course .course-bottom dl dd {
		width: 100%;
		text-align: center;
	}

	.grade-info .grade-info-header,
	.equipment-info .equipment-info-header,
	.option-info .option-info-header {
		margin: 0 0 10px 0;
	}

	.grade-info {
		padding: 20px 0;
		margin: 0;
	}

	.grade-info dl {
		width: calc((100% - 4px) / 3);
	}

	/* Ensure body-color block spans full width on small screens (robust to DOM wrappers) */
	.grade-info dl.body-color {
		width: 100%;
	}

	.grade-info .body-color dd {
		width: 100%;
		margin: 0 0 10px 0;
	}

	.equipment-info .equipment-info-header a,
	.option-info .option-info-header a {
		font-size: 13px;
	}

	.equipment-info p,
	.option-info p {
		margin: 0;
		font-size: 12px;
	}

	.orign-btn-wrap a.btn-orign {
		padding: 20px;
		font-size: 20px;
	}

	.orign-btn-wrap a.btn-orign-recommend {
		position: relative;
		padding: 16px 40px 16px 20px;
		font-size: 16px;
		line-height: 1.3;
		text-align: left;
	}

	.orign-btn-wrap a.btn-orign-recommend i {
		position: absolute;
		right: 16px;
		top: 50%;
		transform: translateY(-50%);
	}
}

/************************************************
追加オプション　セクション
************************************************/
.add-option {
	background: #f5f8f9;
}

.add-option .section-inner {
	padding: 60px 0 80px;
}

@media (max-width: 1240px) {
	.add-option .section-inner {
		padding: 80px 20px;
	}
}

@media (max-width: 640px) {
	.add-option .section-inner {
		padding: 40px 20px;
	}
}

/*//////////////////////////////////////////////////////

モーダル

//////////////////////////////////////////////////////*/
.modal {
	z-index: 9999 !important;
}

.modal-dialog {
	max-width: 1200px;
	width: 80%;
	z-index: 9999 !important;
}

.modal-dialog.modal-s {
	max-width: 600px;
	width: 80%;
}

.modal-body {
	padding: 40px;
}

.modal-body iframe {
	width: 100%;
	border: none;
	display: block;
}

.modal .modal-body ul {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.modal .modal-body li {
	width: calc((100% - 60px)/3);
	margin: 0 0 20px 0;
}

.modal .modal-body figure {
	background: #fff;
	border: #d7dede solid 1px;
	width: 100%;
	height: calc(((1200px - 80px - 60px) / 3) * 0.5625);
	overflow: hidden;
}

.modal .modal-body figure img {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
}

.modal .modal-body h2 {
	margin: 20px 0 0 0;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.4;
}

.modal .modal-body p {
	margin: 10px 0 0 0;
	font-size: 16px;
	line-height: 1.5;
}

.modal .modal-footer {
	background: var(--color-main);
	border-top: none;
	justify-content: center;
	padding: 20px 0;
}

@media (max-width: 1240px) {
	.modal .modal-body figure {
		background: #fff;
		border: #d7dede solid 1px;
		width: 100%;
		height: calc((((100vw * 0.8) - 80px - 60px) / 3) * 0.5625);
		overflow: hidden;
	}
}

@media (max-width: 980px) {
	.modal-body {
		padding: 30px;
	}

	.modal .modal-body ul {
		gap: 20px;
	}

	.modal .modal-body li {
		width: calc((100% - 20px) / 2);
		margin: 0 0 20px 0;
	}

	.modal .modal-body figure {
		height: calc((100vw * 0.8 - 60px - 20px) / 2 * 0.5625);
	}

	.modal .modal-body h2 {
		margin: 10px 0 0 0;
		font-size: 16px;
	}

	.modal .modal-body p {
		font-size: 14px;
	}
}

@media (max-width: 640px) {
	.modal-dialog {
		width: 98%;
		margin: 1vw auto;
	}

	.modal .modal-body figure {
		height: calc((98vw - 60px - 20px) / 2 * 0.5625);
	}
}

@media (max-width: 470px) {
	.modal .modal-body {
		padding: 20px;
	}

	.modal .modal-body li {
		width: 100%;
		margin: 0 0 20px 0;
	}

	.modal .modal-body figure {
		height: calc((98vw - 40px) * 0.5625);
	}

	.modal .modal-body h2 {
		margin: 10px 0 0 0;
	}

	.modal .modal-body p {
		margin: 5px 0 0 0;
		font-size: 13px;
	}
}

/************************************************
モーダル時の「グレード比較テーブル」レイアウト
************************************************/
.modal .modal-body .grade-compare-table {
	display: table;
}

.modal .modal-body .grade-compare-table figure {
	width: 100%;
	height: calc(((100vw * 0.8 - 60px) / 3 - 10px) * 0.5625);
}

.modal .modal-body .grade-compare-table-sp {
	display: none;
}

.modal .modal-body .grade-compare-table-sp figure {
	width: 100%;
	height: calc(((98vw - 40px) * 0.5 - 10px) * 0.5625);
}

@media (max-width: 640px) {
	.modal .modal-body .grade-compare-table {
		display: none;
	}

	.modal .modal-body .grade-compare-table-sp {
		display: table;
	}
}

/************************************************
モーダル時の「メンテナンスプラン」レイアウト
************************************************/

.modal.service-maintenance-modal .plan-table-wrap {
	margin-top: 0;
}

.modal.service-maintenance-modal .plan-table-wrap .plan-table {
	margin: 0 auto 20px;
}

.modal.service-maintenance-modal .plan-table-wrap .plan-table figure {
	background: none;
	border: none;
	height: 40px;
}

.modal.service-maintenance-modal .plan-table-wrap .plan-table figure img {
	object-fit: contain;
}

.modal.service-maintenance-modal .plan-table-wrap .plan-table thead .plan-col .note {
	gap: 0;
}

.modal.service-maintenance-modal .plan-table-wrap .plan-table thead .plan-col .note li {
	width: 100%;
	margin: 0;
}


@media (max-width: 640px) {
	.modal.service-maintenance-modal .plan-table-wrap .plan-table thead .plan-col {
		padding: 10px;
	}

	.modal.service-maintenance-modal .plan-table-wrap .plan-table .price {
		flex-wrap: wrap;
	}

	.modal.service-maintenance-modal .plan-table-wrap .plan-table .price dt {
		font-size: 13px;
		margin: 0;
	}

	.modal.service-maintenance-modal .plan-table-wrap .plan-table .price dd span:first-child {
		font-size: 24px;
		font-weight: 700;
		line-height: 1;
		white-space: nowrap;
	}

	.modal.service-maintenance-modal .plan-table-wrap .plan-table .price dd span:last-child i {
		display: block;
		font-style: normal;
		font-size: 9px;
		line-height: 1.2;
		text-align: left;
	}

	.modal.service-maintenance-modal .plan-table-wrap .plan-table .price dd span:last-child b {
		display: block;
		font-size: 11px;
		font-weight: 700;
		line-height: 1;
	}

	.modal.service-maintenance-modal .plan-table-wrap .plan-table .price dd span:last-child em {
		font-style: normal;
		font-size: 10px;
		font-weight: 500;
	}

	.modal.service-maintenance-modal .plan-table-wrap .plan-table .icon-circle,
	.modal.service-maintenance-modal .plan-table-wrap .plan-table .icon-circle-double,
	.modal.service-maintenance-modal .plan-table-wrap .plan-table .icon-x {
		width: 30px;
		height: 30px;
	}
}

/************************************************
モーダル時の「スタッフおすすめプラン」レイアウト
オリジナルプランの料金プラン選択で表示
************************************************/
.modal.recommend-plan-modal .modal-body-inner {
	display: flex;
	gap: 30px;
}

.modal.recommend-plan-modal .modal-body h2 {
	margin: 0;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--color-logo-blue);
}

.modal.recommend-plan-modal .modal-body h2 span {
	font-size: 16px;
	font-weight: 400;
}

.modal.recommend-plan-modal .modal-body-inner figure {
	background: #eef3f4;
	width: 40%;
	height: calc(((100vw * 0.8 - 80px - 30px) * 0.4) * 0.75);
}

.modal.recommend-plan-modal .modal-body-inner figcaption {
	width: calc(60% - 30px);
}

.modal.recommend-plan-modal .modal-body-inner figcaption .grade {
	display: flex;
	flex-wrap: wrap;
	margin: 20px 0 0 0;
}

.modal.recommend-plan-modal .modal-body-inner figcaption .grade dt {
	color: #A2ADAD;
}

.modal.recommend-plan-modal .modal-body-inner figcaption .grade .icon {
	margin: 0 0 0 5px;
}

.modal.recommend-plan-modal .modal-body-inner figcaption .equipment-info,
.modal.recommend-plan-modal .modal-body-inner figcaption .option-info {
	border-bottom: none;
	border-top: #eef3f4 solid 1px;
	margin: 10px 0 0 0;
	padding: 10px 0;
}

.modal.recommend-plan-modal .modal-body-inner figcaption .equipment-info .equipment-info-header,
.modal.recommend-plan-modal .modal-body-inner figcaption .option-info .option-info-header {
	margin: 0;
}

.modal.recommend-plan-modal .modal-body-inner figcaption .equipment-info p,
.modal.recommend-plan-modal .modal-body-inner figcaption .option-info p {
	font-size: 14px;
}

.modal.recommend-plan-modal .modal-body-inner figcaption .course {
	border: #eef3f4 solid 1px;
	gap: 20px;
	width: 100%;
	padding: 20px;
	margin: 10px 0 0;
}

.modal.recommend-plan-modal .modal-body-inner figcaption .course .price-wrap {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

.modal.recommend-plan-modal .modal-body-inner figcaption .course .course-upper h3 {
	font-size: 20px;
}

.modal.recommend-plan-modal .modal-body-inner figcaption .course .course-upper h3 span {
	font-size: 14px;
	font-weight: 400;
}

.modal.recommend-plan-modal .modal-body-inner figcaption .course .price-wrap>p {
	margin: 5px 0 0 0;
	font-size: 13px;
}

.modal.recommend-plan-modal .modal-body-inner figcaption .course .price-wrap .price dd span:first-child {
	font-size: 40px;
}

.modal.recommend-plan-modal .modal-body-inner figcaption .course .course-bottom dl dt,
.modal.recommend-plan-modal .modal-body-inner figcaption .course .course-bottom dl dd {
	font-size: 13px;
}

.modal.recommend-plan-modal .modal-body li figcaption .course .course-bottom dl dt {
	background: #eef3f4;
	color: #5f878f;
	width: calc(4em + 40px);
	text-align: center;
}

.modal.recommend-plan-modal .modal-body-inner figcaption .course .course-bottom {
	flex-direction: column;
	gap: 2px;
}

.modal.recommend-plan-modal .modal-body-inner figcaption .course {
	display: flex;
	border: #eef3f4 solid 1px;
	gap: 20px;
	width: 100%;
	padding: 20px;
	margin: 20px 0 20px;
}

.modal.recommend-plan-modal .modal-body-inner figcaption .course .course-bottom dl {
	width: 100%;
}


@media (max-width: 1240px) {
	.modal.recommend-plan-modal .modal-body-inner figcaption .course .course-upper {
		gap: 10px;
	}

	.modal.recommend-plan-modal .modal-body-inner figcaption .course .course-upper>* {
		width: 100%;
	}

	.modal.recommend-plan-modal .modal-body-inner figcaption .course .course-upper .price-wrap .price {
		justify-content: center;
	}

	.modal.recommend-plan-modal .modal-body-inner figcaption .grade dt,
	.modal.recommend-plan-modal .modal-body-inner figcaption .grade dd {
		font-size: 14px;
	}

	.modal.recommend-plan-modal .modal-body-inner figcaption .orign-btn-wrap .btn {
		font-size: 20px;
	}

	.modal.recommend-plan-modal .modal-body-inner figcaption .orign-btn-wrap .btn span {
		font-size: 14px;
	}

}

@media (max-width: 980px) {
	.modal.recommend-plan-modal .modal-body-inner {
		flex-wrap: wrap;
		gap: 10px;
	}

	.modal.recommend-plan-modal .modal-body-inner figure {
		width: 100%;
		height: calc((100vw * 0.8 - 80px) * 0.75);
	}

	.modal.recommend-plan-modal .modal-body-inner figcaption {
		width: 100%;
	}
}

@media (max-width: 768px) {
	.modal.recommend-plan-modal .modal-body-inner {
		width: 100%;
	}

	.modal.recommend-plan-modal .modal-body-inner figure {
		height: calc((100vw * 0.8 - 60px) * 0.75);
	}
}

@media (max-width: 640px) {
	.modal.recommend-plan-modal .modal-body-inner figure {
		height: calc((98vw - 60px) * 0.75);
	}
}

@media (max-width: 470px) {
	.modal.recommend-plan-modal .modal-body-inner figure {
		height: calc((98vw - 40px) * 0.75);
	}

	.modal.recommend-plan-modal .modal-body-inner figcaption .course .course-bottom dl {
		flex-direction: row;
		width: 100%;
	}

	.modal.recommend-plan-modal .modal-body-inner figcaption .grade h3,
	.modal.recommend-plan-modal .modal-body-inner figcaption .equipment-info h3,
	.modal.recommend-plan-modal .modal-body-inner figcaption .option-info h3 {
		font-size: 16px;
	}

	.modal.recommend-plan-modal .modal-body-inner figcaption .equipment-info p, .modal.recommend-plan-modal .modal-body-inner figcaption .option-info p {
		font-size: 13px;
	}

	.modal.recommend-plan-modal .modal-body-inner figcaption .course .price-wrap {
		gap: 0;
	}

	.modal.recommend-plan-modal .modal-body-inner figcaption .course .course-upper h3 {
		text-align: center;
	}

	.modal.recommend-plan-modal .modal-body-inner figcaption .course .price-wrap {
		align-items: center;
	}

	.modal.recommend-plan-modal .modal-body-inner figcaption .course .course-bottom dl {
		flex-direction: row;
	}

	.modal.recommend-plan-modal .modal-body-inner figcaption .course .course-bottom dl dt {
		width: 80px;
	}

}

/************************************************
モーダル：限定在庫車キャンペーン応募要項
************************************************/

.limited-campaign-info-modal .modal-body ul {
	flex-direction: column;
	gap: 0;
}

.limited-campaign-info-modal .modal-body li {
	width: 100%;
}


/*//////////////////////////////////////////////////////

限定在庫一覧

//////////////////////////////////////////////////////*/
.summary.limited-stock .section-inner {
	padding: 0 0;
}

.summary.limited-stock .section-inner .about {
	display: flex;
	align-items: center;
	gap: 40px;
	padding: 20px 0 60px;
}

.summary.limited-stock .section-inner .about>div {
	width: calc(100% - 600px - 40px);
}

.summary.limited-stock .section-inner .about>div h2 {
	margin: 0 0 30px 0;
	line-height: 1.2;
}

.summary.limited-stock .section-inner .about>div h2 span,
.summary.limited-stock .section-inner .about>div h2 i {
	font-size: 24px;
	font-weight: 500;
}

.summary.limited-stock .section-inner .about>picture {
	width: 600px;
}

.limited-detail .bnr-area {
	width: 600px;
	margin: 10px 0;
}

.limited-detail .bnr-area>div {
	margin: 10px 0;
}

.limited-detail .bnr-area>div p {
	margin: 0;
}


.limited-detail .recommend-plan .course {
	margin: 0;
}

.summary.limited-stock .bnr-area>div {
	margin: 10px 0 0 0;
}

.bnr-area>div .link-wrap {
	text-align: right;
}

.bnr-area>div a {
	color: var(--color-logo-blue) !important;
	text-decoration: none;
}

.bnr-area>div a:hover {
	text-decoration: underline !important;
}

.bnr-area>div a i {
	margin-left: 5px;
}

.bnr-area picture {
	max-width: 600px;
	height: auto;
}

.bnr-area picture img {
	width: 100%;
	height: auto;
	object-fit: contain;
}

.newcar-lineup.limited-stock .sec-title span {
	font-size: 36px;
	color: #333;
}

.newcar-lineup.limited-stock .sec-title::after {
	content: "";
	width: 100px;
	height: 4px;
	background: var(--color-logo-blue);
	margin: 0 auto;
}

@media (max-width:1240px) {
	.summary.limited-stock .section-inner {
		padding: 0 20px 40px;
	}

	.summary.limited-stock .section-inner .about {
		gap: 30px;
		padding: 0;
	}

	.summary.limited-stock .section-inner .about>div {
		width: calc(60% - 30px);
	}

	.summary.limited-stock .section-inner .about>picture {
		width: 40%;
	}

	.summary.limited-stock .section-inner .about>picture img {
		width: 100%;
		height: 100%;
		object-fit: contain;
	}

	.newcar-lineup.limited-stock .section-inner {
		padding: 0 20px 80px;
	}
}

@media (max-width: 980px) {
	.summary.limited-stock .section-inner .about {
		flex-direction: column;
		gap: 0;
	}

	.summary.limited-stock .section-inner .about>div {
		width: 100%;
	}

	.summary.limited-stock .section-inner .about>picture {
		width: 100%;
	}
}

@media (max-width: 768px) {
	.summary.limited-stock .section-inner {
		padding: 40px 20px 40px;
	}
}

@media (max-width:640px) {
	.limited-detail .hero .hero-inner {
		flex-direction: column;
	}

	.limited-detail .hero .hero-inner h1 {
		margin: 0;
	}

	.summary.limited-stock .section-inner {
		padding: 30px 20px 20px;
	}

	.summary.limited-stock .section-inner .about>div h2 {
		margin: 0 0 20px 0;
		font-size: 24px;
	}

	.summary.limited-stock .section-inner .about>div h2 span,
	.summary.limited-stock .section-inner .about>div h2 i {
		font-size: 16px;
		font-weight: 500;
	}

	.limited-detail .bnr-area {
		width: 100%;
		margin: 20px 0 20px;
	}

	.limited-detail .bnr-area a {
		display: block;
		width: 100%;
	}

	.bnr-area picture {
		width: 100%;
		height: auto;
	}

	.bnr-area picture img {
		max-width: none;
		width: 100%;
		height: auto;
	}

	.newcar-lineup.limited-stock .sec-title span {
		font-size: 24px;
	}
}

@media (max-width:470px) {
	.newcar-lineup.limited-stock .newcar-search-body label .text {
		font-size: 14px;
	}
}


/*//////////////////////////////////////////////////////

コンテンツ　スリム幅

//////////////////////////////////////////////////////*/
.content-slim .hero {
	margin: 0;
}

.content-slim .content {
	background: #f5f8f9;
	width: 100%;
}

.content-slim .content-slim-inner {
	max-width: 768px;
	margin: 0 auto;
	padding: 40px 0 80px 0;
}

.content-slim .content-slim-inner h1 {
	display: flex;
	align-items: center;
	gap: 15px;
}

.original-plan.content-slim .content-slim-inner h1 {
	margin: 0 0 40px 0;
}

.content-slim .content-slim-inner h1 .page-title {
	font-size: 30px;
	font-weight: 500;
	line-height: 1;
}

.content-slim .content-slim-inner .card-large-body {
	background: #fff;
	border-radius: 0;
	margin: 2px 0 0;
	padding: 30px;
}

.content-slim .content-slim-inner .body-only .card-large-body {
	border-radius: 10px;
	margin: 40px 0 40px;
}

.content-slim .content-slim-inner .footer-none .card-large-body {
	border-radius: 0 0 10px 10px;
	margin: 2px 0 60px;
}

.content-slim .content-slim-inner .card-large-footer {
	background: #fff;
	border-radius: 0 0 10px 10px;
	margin: 2px 0 60px;
	padding: 30px;
}

@media (max-width:808px) {
	.content-slim .content-slim-inner {
		margin: 0 20px;
		padding: 40px 0 80px 0;
	}

	.content-slim .content-slim-inner h1 .page-title {
		font-size: 24px;
	}
}

@media (max-width:470px) {
	.content-slim .content-slim-inner {
		margin: 0 20px;
		padding: 30px 0 40px 0;
	}

	.content-slim .content-slim-inner h1 .page-title {
		font-size: 18px;
	}

	.content-slim .content-slim-inner .card-large-body {
		margin: 30px 0 0;
		padding: 20px;
	}

	.content-slim .content-slim-inner .card-large-footer {
		margin: 2px 0 40px;
		padding: 20px;
	}
}

/*//////////////////////////////////////////////////////

コンテンツ　最スリム幅

//////////////////////////////////////////////////////*/
.content-slim .content-xs-inner {
	max-width: 470px;
	margin: 0 auto;
	padding: 40px 20px 80px;
}

.content-slim .content-xs-inner h1 .page-title {
	font-size: 30px;
	font-weight: 500;
	line-height: 1;
}

@media (max-width:470px) {
	.content-slim .content-xs-inner {
		max-width: 470px;
		margin: 0 auto;
		padding: 30px 20px 40px;
	}
}


/************************************************
オリジナルプラン
************************************************/
/*
プログレスサークル
------------------------------*/
.progress-circle {
	position: relative;
	display: inline-block;
	width: 60px;
	height: 60px;
}

.progress-circle svg {
	display: block;
	width: 60px;
	height: 60px;
}

.progress-now {
	transform-origin: 50% 50%;
	transform: rotate(-90deg);
}

.progress-circle .progress-circle-text {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
}

.progress-circle .progress-circle-text b {
	font-size: 24px;
	font-weight: 900;
}

/*
フッタの料金エリア
------------------------------*/
.price-wrap {
	display: flex;
	justify-content: space-between;
}

.plan .price-wrap {
	justify-content: start;
	flex-direction: column;
}

.price-wrap h2 {
	width: calc(100% - 270px);
}

.price-wrap .price-wrap {
	width: 270px;
}

.price-wrap h2 .course-name {
	display: block;
	font-size: 14px;
	font-weight: 400;
}

.price-wrap h2 b {
	font-size: 30px;
	font-weight: 500;
	line-height: 1.2;
}

.price-wrap h2 i {
	font-size: 13px;
	font-weight: 400;
	font-style: normal;
}

.price-wrap .price-wrap {
	display: flex;
	flex-direction: column;
	justify-content: end;
}

.price-wrap .price-wrap .price {
	justify-content: end;
}

.price-wrap .price-wrap .price-sub {
	display: flex;
	justify-content: end;
	flex-direction: column;
	gap: 2px;
	margin: 20px 0 0 0;
}

.price-wrap .price-wrap .price-sub dl {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
}

.price-wrap .price-wrap .price-sub-s dl {
	justify-content: end;
	align-items: center;
	gap: 5px;
}

.price-wrap .price-wrap .price-sub dt,
.price-wrap .price-wrap .price-sub dd {
	font-size: 13px;
	font-weight: 400;
}

.price-wrap .price-wrap .price-sub dt {
	background: #eef3f4;
	width: calc(7em + 20px);
	padding: 2px 10px;
	color: #5f878f;
}

.price-wrap .price-wrap .price-sub .us-font {
	font-size: 20px;
}

@media (max-width: 640px) {
	.price-wrap .price-wrap {
		width: 240px;
	}

	.price-wrap h2 .course-name {
		font-size: 13px;
	}

	.price-wrap h2 b {
		font-size: 24px;
	}

	.price-wrap h2 i {
		font-size: 12px;
	}

	.price-wrap .price-wrap .price dd span:first-child {
		font-size: 36px;
	}

	.price-wrap .price-wrap .price dd span:last-child b {
		font-size: 18px;
	}

	.price-wrap .price-wrap .price-sub dt,
	.price-wrap .price-wrap .price-sub dd {
		font-size: 12px;
	}

	.price-wrap .price-wrap .price-sub dt {
		background: #eef3f4;
		width: calc(7em + 20px);
		padding: 2px 10px;
		color: #5f878f;
	}

	.price-wrap .price-wrap .price-sub .us-font {
		font-size: 16px;
	}
}

@media (max-width: 470px) {
	.price-wrap {
		flex-wrap: wrap;
		gap: 10px;
	}

	.price-wrap h2,
	.price-wrap .price-wrap {
		width: 100%;
	}

	.price-wrap h2 {
		text-align: center;
	}

	.price-wrap .price-wrap {
		gap: 0;
	}

	.price-wrap .price-wrap .price {
		justify-content: center;
	}

	.price-wrap .price-wrap .price-sub {
		max-width: 375px;
	}

	.price-wrap .price-wrap .price-sub dl {
		width: 100%;
	}

	.price-wrap .price-wrap .price-sub dt {
		width: calc(7em + 20px);
	}

	.price-wrap .price-wrap .price-sub dd {
		width: calc(100% -(7em + 20px));
		text-align: right;
	}
}

/*
ページナビ
------------------------------*/
.content-slim .page-navi {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
}

.content-slim .page-navi .btn-back,
.content-slim .page-navi .btn-next {
	position: relative;
	width: 140px;
}

.content-slim .page-navi .btn-back i {
	position: absolute;
	left: 5px;
	top: 50%;
	transform: translateY(-50%);
}

.content-slim .page-navi .btn-next i {
	position: absolute;
	right: 5px;
	top: 50%;
	transform: translateY(-50%);
}

.content-slim .page-navi .page-num {
	white-space: nowrap;
}

.content-slim .page-navi .page-num b {
	font-size: 24px;
	font-weight: 600;
}

.content-slim .privacy-info {
	width: 100%;
	margin: 0 0 -20px 0;
}

.content-slim .privacy-info p {
	font-size: 14px;
}

/*
オリジナルプランのメインエリア
------------------------------*/
.original-plan .hero .hero-inner {
	justify-content: space-between;
	gap: 20px;
}

.original-plan .hero .hero-inner h1 {
	width: calc(100% - 400px - 40px - 20px);
}

.original-plan .hero .hero-inner .model-img {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 400px;
	margin: 10px 0;
}

.original-plan .hero .hero-inner figure {
	display: block;
	width: 240px;
	height: calc(240px * 0.75);
	margin: 0 auto;
}

.original-plan .hero .hero-inner figcaption {
	font-size: 13px;
	line-height: 1.2;
}

.original-plan.limited .hero .hero-inner h1 {
	width: calc(100% - 480px - 40px - 20px);
}

.original-plan.limited .hero .hero-inner .model-img {
	flex-direction: row;
	width: 480px;
	margin: 10px 0;
}

.original-plan .infotxt {
	margin: 0 0 30px 0;
}

.original-plan .infotxt-wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 0 30px 0;
}

.original-plan .infotxt-wrap .infotxt {
	margin: 0;
}

.original-plan .infotxt-wrap a {
	color: var(--color-logo-blue);
	text-decoration: none;
	font-size: 14px;
}

.original-plan .infotxt-wrap a:hover {
	text-decoration: underline;
}

.original-plan .infotxt-wrap a i {
	margin: 0 0 0 5px;
}

@media (max-width: 880px) {
	.original-plan.limited .hero .hero-inner {
		flex-direction: column;
		gap: 10px;
	}

	.original-plan.limited .hero .hero-inner h1,
	.original-plan.limited .hero .hero-inner .model-img {
		width: 100%;
	}

	.original-plan.limited .hero .hero-inner h1 {
		margin: 0;
	}

	.original-plan.limited .hero .hero-inner h1 .car-id dt,
	.original-plan.limited .hero .hero-inner h1 .car-id dd {
		font-size: 14px;
	}

	.original-plan.limited .hero .hero-inner figure {
		display: block;
		width: 50%;
		height: calc(50% * 0.75);
		margin: 0 auto 10px;
	}
}

@media (max-width: 768px) {
	.original-plan .hero .hero-inner {
		flex-direction: column;
		gap: 0;
	}

	.original-plan .hero .hero-inner h1,
	.original-plan .hero .hero-inner .model-img {
		width: 100%;
	}

	.original-plan .hero .hero-inner h1 {
		margin: 0;
	}

	.original-plan .hero .hero-inner .model-img figcaption {
		text-align: center;
	}
}

/*
ページバックのダイアログ
------------------------------*/
.original-plan .page-back-dialog .modal-footer {
	justify-content: center;
	gap: 20px;
}

.original-plan .page-back-dialog h2 {
	margin: 0;
	font-size: 20px;
}

@media (max-width: 768px) {}

@media (max-width: 470px) {
	.content-slim .privacy-info p {
		font-size: 13px;
	}
}



/* ================================================
オリジナルプラン：グレード選択
================================================ */
.original-plan .grade-list {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.original-plan .grade-card .card-head {
	background: #eef3f4;
	border-bottom: #d7dddf;
	border-bottom: #d7dddf solid 1px;
}

.original-plan .grade-card.form-check label .label-name {
	padding: 14px 10px 16px 60px;
	font-size: 30px;
	font-weight: 700;
}

.original-plan .grade-card .card-head h2 b {
	font-weight: 700;
}

.original-plan .grade-card .card-head h2 span {
	font-size: 14px;
}

.original-plan .grade-card .spec {
	display: flex;
	flex-wrap: wrap;
	gap: 2px;
	border-bottom: #d7dddf solid 1px;
	margin: 30px 30px 0 30px;
	padding: 0 0 20px 0;
}

.original-plan .grade-card .spec dl {
	display: flex;
	flex-direction: column;
	width: calc((100% - 6px) / 4);
	text-align: center;
	gap: 5px;
}

.original-plan .grade-card .spec dt,
.original-plan .grade-card .spec dd {
	font-size: 14px;
}

.original-plan .grade-card .spec dt {
	background: #eef3f4;
	padding: 4px;
	color: #5f878f;
}

.original-plan .grade-card .spec-head span {
	display: block;
	background: #eef3f4;
	color: #5f878f;
	font-size: 14px;
	font-weight: 600;
	padding: 10px 12px;
	border-top: 1px solid #dfe8eb;
	border-bottom: 1px solid #dfe8eb;
}

.original-plan .grade-card .spec-body span {
	display: block;
	background: #fff;
	color: #333;
	font-size: 15px;
	padding: 12px;
	border-bottom: 1px solid #eef3f4;
}

/* 標準装備 */
.original-plan .grade-card .equipment-info {
	border-bottom: #d7dddf solid 1px;
	margin: 20px 30px 10px 30px;
	padding: 0 0 20px;
}

.original-plan .grade-card .equipment-info .equipment-info-tit {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 0 10px;
}

.original-plan .grade-card .equipment-info h3 {
	margin: 0;
	font-size: 16px;
	font-weight: 700;
}

.original-plan .grade-card .equipment-info p {
	margin: 0;
	color: #555;
	line-height: 1.8;
}

.original-plan .grade-card .equipment-info .equipment-link {
	display: block;
	color: #00a0e9;
	text-decoration: none;
	font-size: 14px;
	white-space: nowrap;
	line-height: 1;
}

.original-plan .grade-card .equipment-info .equipment-link:hover {
	text-decoration: underline;
}

.original-plan .grade-card .equipment-info .equipment-link i {
	margin-left: 4px;
}

.original-plan .grade-card .price {
	justify-content: end;
	margin: 0 30px 30px 30px;
}

@media (max-width: 640px) {
	.original-plan .grade-card.form-check label .label-name {
		padding: 16px 10px 18px 60px;
		font-size: 24px;
	}

	.original-plan .infotxt-wrap {
		flex-wrap: wrap;
		margin: 0 0 20px 0;
	}

	.original-plan .infotxt-wrap a {
		font-size: 13px;
	}

	.original-plan .grade-card .spec {
		flex-wrap: wrap;
		margin: 20px 20px 0 20px;
		padding: 0 0 10px 0;
	}

	.original-plan .grade-card .spec dl {
		flex-wrap: wrap;
		width: calc((100% - 2px) / 2);
		margin: 0 0 10px 0;
	}

	.original-plan .grade-card .spec dt,
	.original-plan .grade-card .spec dd {
		font-size: 13px;
	}

	.original-plan .grade-card .equipment-info {
		border-bottom: #d7dddf solid 1px;
		margin: 15px 20px 10px 20px;
		padding: 0 0 10px;
	}

	.original-plan .grade-card .equipment-info h3 {
		font-size: 14px;
	}

	.original-plan .grade-card .equipment-info .equipment-link {
		font-size: 13px;
	}

	.original-plan .grade-card .equipment-info p {
		line-height: 1.4;
	}

	.original-plan .grade-card .price {
		justify-content: end;
		margin: 0 20px 20px 20px;
	}
}

@media (max-width: 470px) {
	.original-plan .grade-card.form-check label .label-name {
		padding: 16px 10px 14px 55px;
		font-size: 20px;
	}

	.original-plan .grade-card.form-check label .label-name span {
		font-size: 13px;
	}

	.original-plan .grade-card .price-block .price .us-font {
		font-size: 36px;
	}

	.original-plan .grade-card .price-block .price span:last-child b {
		font-size: 18px;
	}
}

/* ================================================
オリジナルプラン：契約期間を選択
================================================ */
.original-plan .period-list {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin: 0 0 10px 0;
}

.original-plan .period-list .period-check {
	width: calc((100% - 60px) / 4);
}

@media (max-width: 808px) {
	.original-plan .period-list .period-check {
		width: 100%;
	}
}

@media (max-width: 470px) {}

/* ================================================
オリジナルプラン：料金プランを選択
================================================ */
.original-plan .distance .card-large-body h2 {
	background: #f5f8f9;
	margin: 0 0 15px 0;
	padding: 10px;
	font-size: 18px;
	font-weight: 500;
	color: #7a8c8c;
}

.original-plan .distance .card-large-body h2 span {
	font-weight: 500;
}

.original-plan .distance-list {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin: 10px 0 40px 0;
}

.original-plan .distance-list .distance-check {
	width: calc((100% - 60px) / 4);
}

.original-plan .inner-card {
	margin: 30px 0 0 0;
}

.original-plan .inner-card .inner-card-header {
	background: #f5f8f9;
	border-radius: 10px 10px 0 0;
	margin: 0 0 2px 0;
	padding: 10px;
}

.original-plan .inner-card .inner-card-header h3 {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.2;
}

.original-plan .inner-card.light-blue-bg .inner-card-header,
.original-plan .inner-card.light-blue-bg .inner-card-body {
	background: #d9f5ff;
}

.original-plan .inner-card.light-blue-bg .inner-card-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.original-plan .inner-card.light-blue-bg .inner-card-header h3 {
	display: flex;
	align-items: center;
	color: var(--color-logo-blue);
}

.original-plan .inner-card.light-blue-bg .inner-card-header h3 span {
	display: inline-block;
	background: var(--color-logo-blue);
	border-radius: 100px;
	width: 24px;
	height: 24px;
	padding: 4px 0 0 0;
	color: #fff;
	text-align: center;
	line-height: 1;
	margin-left: 5px;
	font-size: 14px;
	font-weight: 600;
}

.original-plan .inner-card.light-blue-bg .inner-card-header a {
	color: var(--color-logo-blue);
	text-decoration: none;
	font-size: 14px;
}

.original-plan .inner-card.light-blue-bg .inner-card-header a i {
	margin: 0 0 0 5px;
}

.original-plan .inner-card.light-blue-bg .inner-card-header a:hover {
	text-decoration: underline;
}

.original-plan .inner-card .inner-card-body {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 15px;
	background: #f5f8f9;
	border-radius: 0 0 10px 10px;
	width: 100%;
	padding: 20px;
}

.original-plan .inner-card .inner-card-body.body-only {
	border-radius: 10px;
}

.original-plan .inner-card .inner-card-body .inner-card-body-info {
	width: 100%;
	margin: 0;
}

.original-plan .inner-card .inner-card-body .course-card {
	display: flex;
	align-items: start;
	flex: 1;
}

.original-plan .inner-card .inner-card-body .course-card .card-head {
	border-bottom: 1px solid #d7dddf;
}

.original-plan .inner-card .inner-card-body .course-card .card-head .label-name b {
	font-size: 18px;
	font-weight: 500;
}

.original-plan .inner-card .inner-card-body .course-card .card-body {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 20px;
}

.original-plan .inner-card .inner-card-body .course-card .price {
	flex-wrap: wrap;
}

.original-plan .inner-card .inner-card-body .course-card .price dt,
.original-plan .inner-card .inner-card-body .course-card .price dd {
	width: 100%;
}

.original-plan .inner-card .inner-card-body .course-card .price dt {
	background: #eef3f4;
	padding: 4px;
	font-size: 13px;
	color: #5f878f;
	text-align: center;
}

.original-plan .inner-card .inner-card-body .course-card .price dd {
	justify-content: center;
}

.original-plan .inner-card .inner-card-body .course-card .price-sub dd span.us-font {
	font-size: 20px;
}

.original-plan .inner-card .inner-card-body .course-card .price-sub dd span b {
	margin: 0 0 -3px 0;
	font-size: 13px;
	font-weight: 400;
	line-height: 1;
}

@media (max-width: 808px) {
	.original-plan .distance-list .distance-check {
		width: 100%;
	}

	.original-plan .inner-card .inner-card-body .course-card {
		flex: none;
		width: 100%;
	}

	.original-plan .inner-card .inner-card-body .course-card .card-body {
		flex-direction: row;
		align-items: stretch;
		gap: 10px;
		width: 100%;
		padding: 20px;
	}

	.original-plan .inner-card .inner-card-body .course-card .card-body .price {
		align-items: stretch;
		width: 50%;
	}

	.original-plan .inner-card .inner-card-body .course-card .card-body .price dt {
		display: flex;
		align-items: center;
		justify-content: center;
		height: auto;
		line-height: 1.3;
	}

	.original-plan .inner-card .inner-card-body .course-card .card-body .price dd {
		display: flex;
		align-items: end;
		justify-content: center;
		min-height: 36px;
	}
}

@media (max-width: 470px) {
	.original-plan .inner-card.light-blue-bg .inner-card-header a {
		color: var(--color-logo-blue);
		text-decoration: none;
		font-size: 13px;
	}

	.original-plan .inner-card .inner-card-body .course-card .label-name {
		gap: 0;
		padding: 17px 5px 17px 60px;
		font-weight: 500;
	}

	.original-plan .inner-card .inner-card-body .course-card .card-body {
		flex-direction: column;
		gap: 10px;
		width: 100%;
	}

	.original-plan .inner-card .inner-card-body .course-card .card-body .price {
		align-items: start;
		width: 100%;
	}

	.original-plan .inner-card .inner-card-body .course-card .card-body .price dd {
		display: flex;
		align-items: end;
		justify-content: center;
		min-height: auto;
	}
}

/* ================================================
オリジナルプラン：ボディカラーを選択
================================================ */
.original-plan .body-color-list {
	gap: 20px;
}

.original-plan .body-color-list .body-color-check {
	width: 100%;
	margin: 0 0 20px 0;
}

.original-plan .body-color-list .body-color-check label {
	display: flex;
	justify-content: space-between;
}

.original-plan .body-color-list .body-color-check label::before,
.original-plan .body-color-list .body-color-check label::after {
	left: auto;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
}

.original-plan .body-color-list .body-color-check label .label-name {
	flex-wrap: nowrap;
	gap: 5px;
	width: calc(100% - 220px);
	padding: 14px 5px 14px 15px;
	line-height: 1.2;
}

.original-plan .body-color-list .body-color-check label .label-name b {
	width: calc(100% - 35px);
}

.original-plan .body-color-list .body-color-check label .price {
	display: flex;
	justify-content: end;
	align-items: end;
	gap: 0;
	width: 220px;
	padding: 0 60px 0 0;
}

.original-plan .body-color-list .body-color-check label .price dd {
	font-size: 11px;
}

.original-plan .body-color-list .body-color-check label .price dd .us-font {
	margin: 0 0 -1px 3px;
	font-size: 20px;
}

.original-plan .body-color-list .body-color-check label .price dd i {
	font-size: 16px;
}

@media (max-width: 980px) {
	.original-plan .body-color-list .body-color-check label .label-name {
		font-size: 14px;
	}
}

@media (max-width: 640px) {
	.original-plan .body-color-list .body-color-check label .label-name {
		width: 100%;
		padding: 10px 60px 3px 15px;
	}

	.original-plan .body-color-list .body-color-check label .price {
		justify-content: start;
		gap: 0;
		width: 100%;
		padding: 0 60px 10px 45px;
	}
}

@media (max-width: 470px) {
	.original-plan .option-list .option-card label .label-name {
		font-size: 13px;
	}

	.original-plan .body-color-list .body-color-check label .label-name {
		font-size: 13px;
	}

	.original-plan .body-color-list .body-color-check label .price {
		gap: 5px;
		width: 100%;
		padding: 0 60px 10px 10px;
	}
}

/* ================================================
オリジナルプラン：オプションを選択
================================================ */

@media screen and (max-width: 470px) {

	/* 固定フッター（見積りエリア）: JSで .is-fixed をON/OFF */
	.card-large-footer.is-fixed {
		position: fixed;
		left: 0;
		right: 0;
		bottom: -40px;
		width: 100%;
		z-index: 1000;
		background: #fff;
		border-top: 1px solid #e5e5e5;
		box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.06);
		padding: 10px 10px !important;
	}

	/* 被り回避（固定時のみ適用） */
	body.has-fixed-footer,
	.original-plan .original-option .card-large-body.has-fixed-footer,
	.original-plan .original-option .page-navi.has-fixed-footer,
	.original-plan .content.has-fixed-footer,
	.original-plan .content .content-slim-inner.has-fixed-footer {
		padding-bottom: 120px;
	}

	.card-large-footer.is-fixed>.price-wrap {
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: center;
		gap: 5px;
	}

	.card-large-footer.is-fixed>.price-wrap h2 {
		text-align: left;
		width: 170px;
	}

	.card-large-footer.is-fixed>.price-wrap .price-wrap {
		width: calc(100vw - 170px) !important;
	}

	.card-large-footer.is-fixed>.price-wrap .price-wrap .price {
		justify-content: end;
	}

	.card-large-footer.is-fixed>.price-wrap .price-wrap .price-sub {
		display: flex;
		justify-content: end;
		flex-direction: column;
		gap: 2px;
		margin: 5px 0 0 0;
	}

	.card-large-footer.is-fixed>.price-wrap .price-wrap .price-sub dl {
		flex-wrap: nowrap;
		gap: 3px;
	}

	.card-large-footer.is-fixed>.price-wrap .price-wrap .price-sub dl dt {
		background: none;
		width: auto;
		padding: 0;
		font-size: 11px;
		line-height: 1.2;
	}

	.card-large-footer.is-fixed>.price-wrap .price-wrap .price-sub dl dd {
		width: auto;
		text-align: left;
		font-size: 11px;
		white-space: nowrap;
	}

	.card-large-footer.is-fixed>.price-wrap .price-wrap .price-sub dl dd .us-font {
		font-size: 14px;
	}
}

.original-plan .original-option .card-large-body h2 {
	background: #f5f8f9;
	margin: 0 0 15px 0;
	padding: 10px;
	font-size: 18px;
	font-weight: 500;
	color: #6b7f7f;
}

.original-plan .original-option .option-list>p {
	margin: 15px 0 0 0;
}

.original-plan .original-option .inner-card {
	display: flex;
	flex-wrap: wrap;
	gap: 1px;
	margin: 20px 0 0 0;
}

.original-plan .original-option .inner-card.option-single {
	gap: 15px;
	margin: 20px 0 30px 0;
}

.original-plan .original-option .option-card {
	align-items: stretch;
	width: calc((100% - 15px) / 2);
}

.original-plan .original-option .option-card .card-head {
	background: #eef3f4;
}

.original-plan .original-option .option-card .card-head figure {
	aspect-ratio: 1.65;
	width: 100%;
}

.original-plan .original-option .option-card .card-head figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.original-plan .original-option .option-card .card-body {
	padding: 20px;
}

.original-plan .original-option .option-card .card-head .label-name {
	padding: 21px 0 22px 60px;
}

.original-plan .original-option .option-card .card-head .label-name b {
	font-weight: 500;
}

.original-plan .original-option .option-card .card-body p {
	font-size: 14px;
	line-height: 1.5;
}

.original-plan .original-option .option-card .card-body .price {
	display: flex;
	justify-content: end;
	gap: 0;
	border-top: #d7dddf solid 1px;
	width: 100%;
	margin: 10px 0 0 0;
	padding: 10px 0 0 0;
}

.original-plan .original-option .option-card .card-body .price dd {
	font-size: 11px;
}

.original-plan .original-option .option-card .card-body .price dd .us-font {
	margin: 0 0 -1px 3px;
	font-size: 20px;
}

.original-plan .original-option .option-card .card-body .price dd i {
	font-size: 16px;
}

.original-plan .original-option .inner-card .inner-card-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
}

.original-plan .original-option .inner-card .inner-card-body .option-card {
	display: flex;
	width: calc((100% - 15px) / 2);

}

.original-plan .original-option .inner-card .inner-card-body .option-card figure {
	background: #eef3f4;
	border-bottom: 1px solid #d7dddf;
	width: 100%;
	height: calc(((768px - 60px - 40px - 15px) / 2) * 0.56);
}

.original-plan .original-option .inner-card .inner-card-body .option-card figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}


.original-plan .original-option .inner-card .inner-card-body .option-card .card-body .label-name {
	padding: 0 0 10px 0;
}

.original-plan .original-option .inner-card .inner-card-body .option-card .card-body .label-name b {
	font-weight: 500;
}


.form-check label .card-body .label-name {
	padding: 0 0 14px 0;
}

.form-check label .card-body .label-name .option-kind {
	display: block;
	width: 100%;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.3;
	color: #7a8c8c;
}

.form-check label .card-body .label-name b {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.3;
}

.original-plan .original-option .add-option {
	background: none;
	margin: 0 0 20px 0;
}

.original-plan .original-option .card-large-body h2 {
	background: none;
	margin: 0;
	padding: 0;
	font-size: 18px;
	font-weight: 500;
	color: #6b7f7f;
}

.original-plan .original-option .card-large-body .add-option.accordion .accordion-header button {
	font-size: 16px;
	font-weight: 500;
	background: #fff;
	border: #c9d1d3 solid 1px;
	border-radius: 10px;
	overflow: hidden;
	padding: 13px 15px 15px 15px;
}

.original-plan .original-option .card-large-body .add-option.accordion h2 button span {
	display: flex;
	align-items: center;
	font-size: 18px !important;
	font-weight: 500 !important;
	line-height: 1;
}

.original-plan .original-option .card-large-body .add-option.accordion .wraper {
	background: #f5f8f9;
	padding: 30px 30px 0 30px;
}

.original-plan .original-option .card-large-body .add-option.accordion .accordion-collapse {
	border-left: #c9d1d3 solid 1px;
	border-right: #c9d1d3 solid 1px;
	border-bottom: #c9d1d3 solid 1px;
}

.original-plan .original-option .card-large-body .add-option.accordion .accordion-collapse .card-body {
	text-align: left;
}

.original-plan .original-option .card-large-body .add-option.accordion.recommend .accordion-header button {
	background: var(--color-logo-blue);
	border: var(--color-logo-blue) solid 1px;
	color: #fff;
}

.original-plan .original-option .card-large-body .add-option.accordion.recommend .accordion-header button.accordion-button::after {
	filter: brightness(0) invert(1);
}

.original-plan .original-option .card-large-body .add-option.accordion.recommend .wraper {
	padding: 30px;
}

.original-plan .original-option .card-large-body .add-option.accordion.recommend .wraper .recommend-info {
	margin: 0 0 30px 0;
	text-align: left;
}

.original-plan .original-option .card-large-body .add-option.accordion.recommend .wraper .recommend-info h3 {
	margin: 0 0 10px 0;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.3;
	color: #1ca0e9;
}

.original-plan .original-option .card-large-body .add-option.accordion.recommend .wraper .recommend-info p a {
	color: #1ca0e9;
}


.original-plan .original-option .card-large-body .add-option.accordion.recommend .all-checkbox {
	background: #fff;
	border-radius: 10px;
	border: #c9d1d3 solid 1px;
	padding: 22px 0 !important;
}

.original-plan .original-option .card-large-body .add-option.accordion.recommend .all-checkbox:hover {
	border-color: var(--color-logo-blue);
	box-shadow: none;
	outline: var(--color-logo-blue) solid 2px;
	outline-offset: -2px;
	cursor: pointer;
}

.original-plan .original-option .card-large-body .add-option.accordion.recommend input:checked+label {
	box-shadow: none;
	outline: #333 solid 2px;
	outline-offset: -2px;
}

.original-plan .original-option .card-large-body .add-option.accordion.recommend .option-card {
	flex-direction: column;
	align-items: stretch;
	background: #fff;
	border-radius: 10px;
	border: #c9d1d3 solid 1px;
	width: calc((100% - 15px) / 2);
	overflow: hidden;
}

.original-plan .original-option .card-large-body .add-option.accordion.recommend .option-card .card-body {
	text-align: left;
}

.original-plan .original-option .card-large-body .add-option.accordion.recommend .option-card .card-body .label-name b {
	display: block;
	margin: 0 0 10px 0;
	font-weight: 500;
	line-height: 1.3;
}

.original-plan .original-option .card-large-body .add-option.accordion.recommend .option-card .card-body .price {
	display: none;
}

.original-plan .original-option .card-large-body .add-option.accordion.recommend .option-single>h3 {
	width: 100%;
	margin: 0;
	font-size: 16px;
	text-align: left;
	color: #333;
}

.original-plan .original-option .card-large-body .add-option.accordion.recommend .option-single>p {
	width: 100%;
	margin: 0;
	font-size: 14px;
	text-align: left;
}

.original-plan .original-option .card-large-body .add-option.accordion.recommend .option-single>.set-price {
	justify-content: end;
	width: 100%;
	margin: 0 0 20px 0;
	text-align: left;
}

.original-plan .original-option .card-large-body .add-option.accordion.recommend .option-single>.set-price dd {
	font-size: 13px;
	line-height: 1;
}

.original-plan .original-option .card-large-body .add-option.accordion.recommend .option-single>.set-price dd .us-font {
	margin: 0 0 -1px 3px;
	font-size: 24px;
}

.original-plan .original-option .card-large-body .add-option.accordion.recommend .option-single .option-card p {
	margin: 0;
}

@media (max-width: 470px) {
	.original-plan .original-option .option-card .card-body p {
		font-size: 13px;
	}

	.form-check label .card-body .label-name b {
		font-size: 14px;
	}

	.original-plan .original-option .card-large-body .add-option.accordion.recommend .option-card .card-body .label-name b {
		font-size: 14px;
	}

	.original-plan .original-option .card-large-body .add-option.accordion.recommend .option-single>h3 {
		font-size: 14px;
	}

	.original-plan .original-option .card-large-body .add-option.accordion.recommend .option-single>p {
		font-size: 13px;
	}
}

/* ================================================
オリジナルプラン：オプションを選択
================================================ */

@media (max-width: 808px) {
	.original-plan .original-option .inner-card .inner-card-body .option-card figure {
		background: #eef3f4;
		border-bottom: 1px solid #d7dddf;
		width: 100%;
		height: calc(((100vw - 40px - 60px - 40px - 15px) / 2) * 0.56);
	}
}

@media (max-width: 640px) {

	.original-plan .original-option .option-card,
	.original-plan .original-option .inner-card .inner-card-body .option-card {
		width: 100%;
	}

	.original-plan .original-option .inner-card .inner-card-body .option-card figure {
		background: #eef3f4;
		border-bottom: 1px solid #d7dddf;
		width: 100%;
		height: calc((100vw - 40px - 60px - 40px) * 0.56);
	}

	.original-plan .original-option .card-large-body .add-option.accordion.recommend .wraper {
		padding: 20px;
	}

	.original-plan .original-option .card-large-body .add-option.accordion.recommend .option-card {
		flex-direction: column;
		align-items: stretch;
		background: #fff;
		border-radius: 10px;
		border: #c9d1d3 solid 1px;
		width: 100%;
		overflow: hidden;
	}

	.original-plan .original-option .card-large-body .add-option.accordion h2 button span {
		align-items: start;
		font-size: 16px !important;
	}

	.original-plan .original-option .card-large-body .add-option.accordion.recommend h2 button span {
		align-items: start;
		font-size: 16px !important;
	}

	.original-plan .original-option .card-large-body .add-option.accordion.recommend .all-checkbox {
		border: #c9d1d3 solid 1px;
		padding: 18px 10px 20px 54px !important;
		font-size: 14px !important;
		text-align: left;
	}
}

/* ================================================
オリジナルプラン：あなたのオリジナルプラン
================================================ */
.original-plan .original-confirm .original-confirm-item {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0 0 20px 0;
}

.original-plan .original-confirm .original-confirm-item>dt {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #f5f8f9;
	width: 100%;
	padding: 10px;
}

.original-plan .original-confirm .original-confirm-item>dt h2 {
	font-size: 16px;
	font-weight: 500;
	color: #5f878f;
}

.original-plan .original-confirm .original-confirm-item>dd.price-group {
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin: 5px 0 0 0;
}

.original-plan .original-confirm .original-confirm-item>dd.price-group .price-wrap {
	display: flex;
	flex-direction: column;
	justify-content: start;
	gap: 5px;
}

.original-plan .original-confirm .original-confirm-item dd.price-group .price-wrap .plan-name,
.original-plan .original-confirm .original-confirm-item dd.price-group .price-wrap .distance-kind {
	font-size: 14px;
	line-height: 1;
}

.original-plan .original-confirm .original-confirm-item>dd.price-group .price-wrap .course-name {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.2;
}

.original-plan .original-confirm .original-confirm-item>dd.price-group .price-sub {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.original-plan .original-confirm .original-confirm-item>dd.price-group .price-sub dl {
	display: inline !important;
	text-align: right;
	margin: 0 !important;
	border-top: none !important;
}

.original-plan .original-confirm .original-confirm-item>dd.price-group .price-sub dt,
.original-plan .original-confirm .original-confirm-item>dd.price-group .price-sub dd {
	display: inline;
	background: none;
}

.original-plan .original-confirm .original-confirm-item>dd.price-group .price-sub dt {
	font-size: 13px;
	color: #5f878f;
}

.original-plan .original-confirm .original-confirm-item>dd.price-group .price-sub dd {
	font-size: 13px;
	white-space: nowrap;
}

.original-plan .original-confirm .original-confirm-item>dd .us-font {
	margin: 0 0 -1px 3px;
	font-size: 20px;
	white-space: nowrap;
}

.original-plan .original-confirm .original-confirm-item>dd.body-color-group {
	display: flex;
	align-items: center;
	gap: 5px;
}

.original-plan .original-confirm .original-confirm-item>dd h3 {
	padding: 0;
	font-size: 16px;
	font-weight: 500;
	color: #5f878f;
}

.original-plan .original-confirm .original-confirm-item>dd dl {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	border-top: #e0e8e8 solid 1px;
	width: 100%;
	margin: 10px 0 0 0;
	padding: 10px 0 0 0;
}

.original-plan .original-confirm .original-confirm-item>dd.body-color-group dl {
	gap: 20px;
	border-top: none;
	margin: 0;
	padding: 0;
}

.original-plan .original-confirm .original-confirm-item>dd li {
	margin: 0 0 20px 0;
}

.original-plan .original-confirm .original-confirm-item>dd li:last-child {
	margin: 0;
}

.original-plan .original-confirm .original-confirm-item>dd h4 {
	font-size: 16px;
	font-weight: 500;
}

.original-plan .original-confirm .original-confirm-item>dd dd {
	white-space: nowrap;
	font-size: 13px;
}

.original-plan .original-confirm .original-confirm-item>dd p {
	font-size: 14px;
	line-height: 1.4;
}

.original-plan .original-confirm .entry-navi {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0;
	padding: 0 20px;
}

.original-plan .original-confirm .entry-navi p {
	font-size: 14px;
}

.original-plan .original-confirm .entry-navi p a {
	margin: 0 3px;
	text-decoration: none;
	color: var(--color-logo-blue);
}

.original-plan .original-confirm .entry-navi p a i {
	margin: 0 3px;
}

.original-plan .original-confirm .entry-navi p a:hover {
	text-decoration: underline;
}

.original-plan .original-confirm .entry-navi div {
	display: flex;
	gap: 20px;
	margin: 0 0 20px 0;
}

.original-plan .original-confirm .entry-navi div .btn {
	width: 300px;
	padding: 16px 30px 24px;
	font-size: 18px;
}

.original-plan .original-confirm .entry-navi div .btn span {
	font-size: 14px;
	font-weight: 400;
	line-height: 2;
}

@media (max-width: 640px) {
	.original-plan .original-confirm .entry-navi div {
		gap: 10px;
	}

	.original-plan .original-confirm .entry-navi div .btn {
		width: calc((100vw - 40px - 10px) / 2);
		padding: 10px 20px 20px;
		font-size: 16px;
	}
}

@media (max-width: 470px) {
	.original-plan .original-confirm .original-confirm-item>dt {
		padding: 5px;
	}

	.original-plan .original-confirm .original-confirm-item>dt h2 {
		font-size: 14px;
	}

	.original-plan .original-confirm .original-confirm-item>dd {
		font-size: 13px;
	}

	.original-plan .original-confirm .original-confirm-item>dd h3 {
		font-size: 14px;
	}

	.original-plan .original-confirm .original-confirm-item>dd h4 {
		font-size: 13px;
	}


	.original-plan .original-confirm .original-confirm-item>dd p {
		font-size: 12px;
	}

	.original-plan .original-confirm .original-confirm-item>dd dd {
		font-size: 11px;
	}

	.original-plan .original-confirm .original-confirm-item>dd.price-group .price-sub dd {
		font-size: 11px;
	}

	.original-plan .original-confirm .original-confirm-item>dd.price-group .price-sub dl {
		padding: 0 !important;
	}
}

/*//////////////////////////////////////////////////////

マイページ

//////////////////////////////////////////////////////*/
/* ================================================
ログイン、パスワードの再設定
================================================ */
.login-card {
	margin: 30px 0 0 0;
}

.login-card .leadtxt {
	margin: 0 0 30px 0;
	font-size: 16px;
	line-height: 1.5;
}

.login-card .form-group {
	margin: 0 0 30px 0;
}

.login-card .form-group.remember-group {
	margin: 0 0 20px 0;
}


.login-card .form-group label {
	padding: 0 0 10px 0;
}

.login-card .form-group input {
	margin: 0;
}

.login-card .form-check {
	width: 240px;
	margin: 0 auto;
}

.login-card .form-actions {
	text-align: center;
}

.login-card .form-actions .btn {
	width: 100%;
	margin: 0 auto;
	padding: 20px 0 21px;
	;
	font-size: 18px;
	line-height: 1;
}

.login-card .help-links {
	display: flex;
	flex-direction: column;
	margin: 40px 0 0 0;
	text-align: right;
}

.login-card .help-links a {
	text-decoration: none;
}

.login-card .help-links a:hover {
	text-decoration: underline;
}

.login-card .form-actions .btn-back {
	position: relative;
	margin: 20px 0 0 0;
	width: 160px;
}

.login-card .form-actions .btn-back i {
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
}

@media (max-width: 470px) {
	.content-slim .content-xs-inner h1 .page-title {
		font-size: 24px;
	}

	.login-card {
		margin: 20px 0 0 0;
	}

	.login-card .leadtxt {
		margin: 0 0 20px 0;
		font-size: 13px;
	}

	.login-card .form-group {
		margin: 0 0 20px 0;
	}

	.login-card .form-group label {
		font-size: 13px;
	}

	.login-card .form-check label .label-name {
		padding: 18px 5px 20px 60px;
		font-size: 14px;
	}

	.login-card .help-links a {
		font-size: 13px;
	}

	.login-card .form-actions .btn {
		font-size: 16px;
	}
}

/* ================================================
マイページ共通　ヒーローエリア
================================================ */
.mypage .hero .hero-inner {
	min-height: 160px;
}

.mypage .hero .hero-inner h1 {
	width: 100%;
	margin: 0.5em 0 0 0;
	padding: 0;
}

.mypage .hero .user-name {
	display: block;
	width: 100%;
	font-size: 14px;
	line-height: 1;
}

.mypage .hero .hero-tit {
	display: block;
	font-size: 40px;
	font-weight: 600;
}

.mypage .hero nav {
	max-width: var(--body-width);
	margin: 0 auto;
}

.mypage .hero nav ul {
	display: flex;
	justify-content: center;
	gap: 20px;
	padding: 0 10px;
}

.mypage .hero nav li a {
	position: relative;
	display: block;
	padding: 10px 5px;
	font-size: 14px;
	text-decoration: none;
}

.mypage .hero nav li a.active::before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 3px;
	background: var(--color-logo-blue);
}

.mypage .hero nav li a:hover {
	color: var(--color-logo-blue);
}

/* スマホ・タブレット: 768px以下でナビを横スクロールに */
@media (max-width: 768px) {
	.mypage .hero nav {
		overflow-x: auto;
	}

	.mypage .hero nav ul {
		flex-wrap: nowrap;
		justify-content: flex-start;
		gap: 0;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.mypage .hero nav li {
		flex: 0 0 auto;
	}

	.mypage .hero nav li a {
		white-space: nowrap;
		padding: 10px 12px;
	}
}

@media (max-width: 470px) {
	.mypage .hero .hero-inner {
		min-height: 120px;
	}

	.mypage .hero .user-name {
		font-size: 13px;
	}

	.mypage .hero .hero-tit {
		font-size: 30px;
	}

	.mypage .hero nav li a {
		padding: 10px 8px;
		font-size: 13px;
	}
}


/* ================================================
マイページ共通、審査申し込み　コンテンツ
================================================ */
.mypage .content h1 {
	justify-content: center;
}

.mypage .content h1 .page-title {
	font-weight: 600;
}

.mypage .content .caution {
	background: #fff;
	margin: 0 0 20px 0;
	padding: 10px;
	font-size: 24px;
	font-weight: 700;
	color: #fd028c;
	text-align: center;
}

.mypage .content .leadtxt {
	text-align: center;
}

.mypage .page-navi ul {
	display: flex;
	justify-content: center;
	align-items: stretch;
	flex-wrap: wrap;
	gap: 20px;
}

.mypage .page-navi ul li {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: calc((100% - 20px) / 2);
}

.mypage .page-navi ul li a {
	display: flex;
	justify-content: center;
	flex-direction: column;
	text-decoration: none;
	text-align: center;
}

.mypage .page-navi ul li a:hover div {
	border-color: var(--color-logo-blue);
	outline: var(--color-logo-blue) solid 1px;
	outline-offset: -2px;
}

.mypage .page-navi ul li a div {
	background: #fff;
	border: #c9d1d3 solid 1px;
	border-radius: 10px;
	padding: 20px;
}

.mypage .page-navi ul li a h2 {
	display: flex;
	justify-content: center;
	margin-bottom: auto;
}

.mypage .page-navi ul li a h2 span {
	justify-content: center;
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
}

.mypage .page-navi ul li a figure {
	width: 49px;
	height: 52px;
	margin: 0 auto 10px;
}

.mypage .page-navi ul li p {
	margin: 10px 0 0 0;
	font-size: 14px;
	line-height: 1.4;
	text-align: left;
}

.mypage .card-large .card-large-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #fff;
	border-radius: 10px 10px 0 0;
	width: 100%;
	margin: 30px 0 2px 0;
	padding: 10px 10px;
}

.mypage .card-large .card-large-header h2 {
	display: flex;
	align-items: center;
	font-size: 20px;
	font-weight: 500;
	line-height: 1;
}

.mypage .card-large .card-large-header h2 .contract-num {
	margin: 0 0 0 15px;
	font-size: 14px;
	line-height: 1;
	color: #5f878f;
}

.mypage .card-large .card-large-body .price {
	display: inline;
	font-size: 14px;
	white-space: nowrap;
}

.mypage .card-large .card-large-body .price .us-font {
	margin: 0 0 -2px 3px;
	font-size: 24px;
	color: #333;
}

.mypage .card-large .card-large-body .price i {
	font-size: 20px;
}

.mypage .card-large .car-info {
	display: flex;
	flex-direction: column;
	margin: 0 0 40px 0;
}

.mypage .card-large .car-info .date,
.mypage .card-large .car-info .car-id {
	font-size: 14px;
}

.mypage .card-large .car-info .car-id {
	margin: 5px 0 0 0;
}

.mypage .card-large .car-info .date i,
.mypage .card-large .car-info .car-id i {
	color: #7a8c8c;
}

.mypage .card-large .car-info .model-name {
	font-size: 14px;
	line-height: 1.2;
}

.mypage .card-large .car-info .model-name b {
	margin: 0 5px 0 0;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.3;
}

.mypage .card-large .spec,
.mypage .card-large .option {
	margin: 30px 0 0 0;
}

.mypage .card-large .spec:first-child {

	margin: 0;
}

.mypage .card-large .spec>dt,
.mypage .card-large .option>dt {
	background: #eef3f4;
	padding: 8px 10px;
	font-weight: 500;
	line-height: 1;
	color: #5f878f;
}

.mypage .card-large .body-color-set {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.mypage .card-large .body-color-set dt {
	display: flex;
	align-items: center;
	gap: 10px;
}

.mypage .card-large .body-color-set dt b {
	flex: 1;
}

.mypage .card-large .spec>dd,
.mypage .card-large .option>dd {
	margin: 20px 0 0 0;
	font-size: 14px;
}

.mypage .card-large .spec.limited-car h3 {
	font-size: 16px;
}

.mypage .card-large .spec.limited-car .spec-list {
	display: flex;
	flex-wrap: wrap;
	gap: 2px;
}

.mypage .card-large .spec.limited-car .spec-list dl {
	display: flex;
	flex-direction: column;
	gap: 5px;
	width: calc((100% - 6px) / 4);
	margin: 10px 0 0 0;
	text-align: center;
	font-size: 14px;
}

.mypage .card-large .spec.limited-car .spec-list dt {
	background: #eef3f4;
	padding: 2px;
}

.mypage .card-large .option dd dl {
	margin: 10px 0 0 0;
}

.mypage .card-large .option dd dt {
	color: #819292;
}

.mypage .card-large .card-large-footer .price-wrap h2 .course-name {
	margin: 0 0 5px 0;
}

.mypage .card-large .card-large-footer .price-wrap h2 b,
.mypage .card-large .card-large-footer .price-wrap h2 i {
	display: block;
	width: 100%;
}

.mypage .card-large .card-large-footer .price-wrap h2 b {
	font-weight: 600;
}


.mypage .card-large .card-large-footer .price-wrap .price-sub {
	justify-content: start;
	margin: 0;
}

.mypage .card-large .card-large-footer .bnr {
	width: 100%;
	margin: 30px 0 0 0;
}

.mypage .other-links li {
	border-bottom: #d9e5e8 solid 1px;
	margin: 0 0 20px 0;
	padding: 0 0 20px 0;
	font-size: 14px;
}

.mypage .other-links li span {
	display: block;
	width: 100%;
	text-align: right;
}

.mypage .status-list {
	display: flex;
	gap: 20px;
	margin: 0;
	padding: 0;
}

.mypage .status-list li {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	background: #fff;
	border: #333 solid 1px;
	width: calc((100% - 80px) / 5);
	padding: 10px;
	list-style: none;
	text-align: center;
	font-size: 14px;
	line-height: 1.3;
}

.mypage .status-list li::after {
	display: block;
	position: absolute;
	content: "\F135";
	width: 10px;
	height: 10px;
	top: calc(50% - 7px);
	transform: translateY(-50%);
	right: -12px;
	font-family: "bootstrap-icons";
	font-weight: 900;
	font-size: 20px;
	color: #333;
}

.mypage .status-list li:last-child::after {
	content: none;
}

.mypage .status-list li.active {
	background: #333;
	color: #fff;
}

.mypage .contract-period {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.mypage .contract-period dt {
	font-weight: 600;
	white-space: nowrap;
}

.mypage .spec .spec-list {
	display: flex;
	flex-wrap: wrap;
	gap: 2px;
}

.mypage .spec .spec-list dl {
	display: flex;
	flex-direction: column;
	gap: 5px;
	width: calc((100% - 6px) / 4);
	margin: 10px 0 0 0;
	text-align: center;
	font-size: 14px;
}

.mypage .spec .spec-list dt {
	background: #eef3f4;
	padding: 2px;
	font-size: 14px;
	color: #5f878f;
}

/*.mypage .spec .plan {*/
.mypage .plan {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
}

/*.mypage .spec .plan dt {*/
.mypage .plan dt {
	display: flex;
	flex-direction: column;
	gap: 0;
}

/*.mypage .spec .plan dt b {*/
.mypage .plan dt b {
	font-size: 20px;
	font-weight: 600;
	line-height: 1.2;
}

/*.mypage .spec .plan dd .price-wrap {*/
.mypage .card-large-footer>.price-wrap {
	display: flex;
	/*flex-direction: column;*/
	gap: 10px;
}

/*.mypage .spec .plan dd .price-wrap dl {*/
.mypage .price-wrap dl {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 270px;
	white-space: nowrap;
}

.mypage .spec .plan dd .price-wrap dl .us-font {
	font-size: 24px;
}

.mypage .option.option-price h3 {
	margin: 10px 0 0 0;
	font-size: 14px;
	font-weight: 500;
	color: #819292;
}

.mypage .option.option-price dl,
.mypage .option.add-service dl {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-top: #e0e8e8 solid 1px;
	padding: 10px 0 0 0;
	gap: 20px;
}

.mypage .option.option-price dl dt,
.mypage .option.add-service dl dt {
	font-weight: 500;
	line-height: 1.5;
	color: #333;
}

.mypage .option.option-price dl dd,
.mypage .option.add-service dl dd {
	white-space: nowrap;
}

.mypage .option.option-price dl dd .us-font,
.mypage .option.add-service dl dd .us-font {
	font-size: 24px;
}

.mypage .card-large .card-large-footer .price-wrap .price-wrap .price-sub .us-font {
	font-size: 24px;
}

.mypage .card-large .profile-edit-info h2 {
	margin: 0 0 10px 0;
	font-size: 18px;
	font-weight: 500;
}

.mypage .card-large .profile-edit-info p {
	font-size: 14px;
}

.mypage .card-large .profile-edit-info span {
	display: block;
	text-align: right;
}

.mypage .card-large .no-data-info h2 {
	margin: 0;
	font-size: 18px;
	font-weight: 500;
	text-align: center;
}

@media (max-width: 640px) {
	.mypage .card-large .card-large-body .price {
		font-size: 13px;
	}

	.mypage .card-large .card-large-body .price .us-font {
		font-size: 20px;
	}

	.mypage .card-large .card-large-body .price i {
		font-size: 18px;
	}

	.mypage .spec .plan dt,
	.mypage .spec .plan dd {
		width: 100%;
	}

	.mypage .spec .plan dd .price-wrap {
		align-items: end;
	}
}

@media (max-width: 470px) {
	.mypage .page-navi ul {
		gap: 10px;
	}

	.mypage .page-navi ul li a div {
		padding: 10px;
	}

	.mypage .page-navi ul li a h2 span {
		font-size: 13px;
	}

	.mypage .page-navi ul li p {
		font-size: 12px;
	}

	.mypage .card-large .card-large-header {
		margin: 30px 0 2px 0;
	}

	.mypage .card-large .card-large-header h2 {
		flex-wrap: wrap;
		font-size: 14px;
	}

	.mypage .card-large .card-large-header h2 .icon {
		margin: 0 0 -3px 5px;
		padding: 3px 5px 4px 5px;
	}

	.mypage .card-large .card-large-header h2 .contract-num {
		display: block;
		font-size: 13px;
	}

	.mypage .card-large .card-large-body {
		margin: 2px 0 0;
		padding: 20px;
	}

	.mypage .card-large .car-info {
		margin: 0 0 20px 0;
	}

	.mypage .card-large .car-info .date,
	.mypage .card-large .car-info .car-id {
		font-size: 12px;
	}


	.mypage .card-large .car-info .model-name b {
		display: block;
		width: 100%;
	}

	.mypage .card-large .spec, .mypage .card-large .option {
		margin: 20px 0 0 0;
	}

	.mypage .card-large .spec>dt, .mypage .card-large .option>dt {
		padding: 8px 8px;
		font-size: 14px;
	}

	.mypage .card-large .spec>dd, .mypage .card-large .option>dd {
		margin: 10px 0 0 0;
		font-size: 13px;
		line-height: 1.3;
	}

	.mypage .card-large .spec.limited-car h3 {
		font-size: 14px;
	}

	.mypage .card-large .spec.limited-car .spec-list dl {
		display: flex;
		flex-direction: column;
		gap: 5px;
		width: calc((100% - 4px) / 3);
		margin: 10px 0 0 0;
		text-align: center;
		font-size: 13px;
		line-height: 1.3;
	}

	.mypage .status-list li {
		align-items: start;
	}

	.mypage .status-list li span {
		white-space: pre;
		writing-mode: vertical-rl;
		display: inline-block;
	}

	.mypage .contract-period {
		gap: 5px;
	}

	.mypage .contract-period dt,
	.mypage .contract-period dd {
		width: 100%;
	}

	.mypage .contract-period dd span {
		display: block;
		width: 100%;
		margin: 5px 0 0 0;
	}

	.mypage .card-large .profile-edit-info h2 {
		font-size: 14px;
	}

	.mypage .card-large .profile-edit-info p {
		font-size: 13px;
	}
}


/* ================================================
マイページ共通　車両返却フォーム
================================================ */
.mypage .car-return .box-alert h2 {
	font-size: 20px;
	margin-bottom: 20px;
	text-align: center;
	color: #fd028c;
}

.mypage .car-return .box-alert {
	margin: 40px 0 0;
}

.mypage .car-return .box-alert h2 i {
	font-size: 24px;
	color: #fd028c;
}

.mypage .car-return .box-alert li {
	position: relative;
	margin: 0 0 10px 0;
	padding: 0 0 0 20px;
}

.mypage .car-return .box-alert li:before {
	content: "●";
	position: absolute;
	top: 0;
	left: 0;
	width: 10px;
	height: 10px;
	color: #fd028c;
}

.mypage .car-return .input-mileage div {
	display: flex;
	align-items: center;
	gap: 5px;
	white-space: nowrap;
}

.mypage .car-return .form-image {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 20px 0 40px 0;
}

.mypage .car-return .form-image .edit-thumbnail {
	width: calc((100% - 30px) / 4);
	border: solid 1px #ddd;
	padding: 10px;
}

.mypage .car-return .form-image h4 {
	border-top: #ddd solid 1px;
	width: 100%;
	margin: 20px 0 10px;
	padding: 20px 0 0 0;
	font-size: 16px;
	font-weight: 500;
}

.mypage .car-return .form-image .edit-thumbnail label {
	position: relative;
	display: block;
	width: 100%;
	padding: 0;
}

.mypage .car-return .form-image .edit-thumbnail label:hover {
	opacity: .8;
}

.mypage .car-return .form-image .edit-thumbnail .title {
	font-size: 90%;
	display: block;
	text-align: center;
	margin-bottom: 2px;
}

.mypage .car-return .form-image .edit-thumbnail .thumb {
	width: 100%;
	border: solid 1px #ddd;
	display: block;
	padding-top: 75%;
	background: #fff no-repeat center center;
	background-size: contain;
	overflow: hidden;
	margin: 10px 0 5px;
}

.mypage .car-return .form-image .edit-thumbnail .thumb1 {
	background-image: url(../../src/img/common/mypage/sample-1.jpg);
}

.mypage .car-return .form-image .edit-thumbnail .thumb2 {
	background-image: url(../../src/img/common/mypage/sample-2.jpg);
}

.mypage .car-return .form-image .edit-thumbnail .thumb3 {
	background-image: url(../../src/img/common/mypage/sample-3.jpg);
}

.mypage .car-return .form-image .edit-thumbnail .thumb4 {
	background-image: url(../../src/img/common/mypage/sample-4.jpg);
}

.mypage .car-return .form-image .edit-thumbnail .thumb5 {
	background-image: url(../../src/img/common/mypage/sample-5.jpg);
}

.mypage .car-return .form-image .edit-thumbnail .thumb6 {
	background-image: url(../../src/img/common/mypage/sample-6.jpg);
}

.mypage .car-return .form-image .edit-thumbnail .thumb7 {
	background-image: url(../../src/img/common/mypage/sample-7.jpg);
}

.mypage .car-return .form-image .edit-thumbnail .thumb8 {
	background-image: url(../../src/img/common/mypage/sample-8.jpg);
}

.mypage .car-return .form-image .edit-thumbnail .thumb9 {
	background-image: url(../../src/img/common/mypage/sample-9.jpg);
}

.mypage .car-return .form-image .edit-thumbnail .thumb10 {
	background-image: url(../../src/img/common/mypage/sample-10.jpg);
}

.mypage .car-return .form-image .edit-thumbnail .thumb11 {
	background-image: url(../../src/img/common/mypage/sample-11.jpg);
}

.mypage .car-return .form-image .edit-thumbnail .thumb12 {
	background-image: url(../../src/img/common/mypage/sample-12.jpg);
}

.mypage .car-return .form-image .edit-thumbnail .thumb13 {
	background-image: url(../../src/img/common/mypage/sample-13.jpg);
}

.mypage .car-return .form-image .edit-thumbnail .thumb14 {
	background-image: url(../../src/img/common/mypage/sample-14.jpg);
}

.mypage .car-return .form-image .edit-thumbnail .controls {
	text-align: center;
}

.mypage .car-return .form-image .edit-thumbnail .btn {
	padding: 5px 10px 6px 10px;
	font-size: 14px;
}

.file-hidden input {
	display: none;
}


@media screen and (max-width:640px) {
	.mypage .car-return .box-alert h2 {
		font-size: 16px;
	}

	.mypage .car-return .box-alert h2 i {
		font-size: 18px;
	}

	.mypage .car-return .box-alert li {
		font-size: 14px;
	}

	.mypage .car-return .form-image .edit-thumbnail {
		width: calc((100% - 10px) / 2);
	}

	.mypage .car-return .form-image h4 {
		font-size: 14px;
	}
}

@media screen and (max-width:470px) {
	.mypage .car-return .form-image h4 {
		font-size: 13px;
	}

	.mypage .car-return .form-image {
		gap: 20px;
	}

	.mypage .car-return .form-image .edit-thumbnail {
		width: 100%;
	}

	.mypage .car-return .form-image .edit-thumbnail .btn {
		padding: 8px 20px 9px 20px;
		font-size: 13px;
	}

}

/*//////////////////////////////////////////////////////

審査お申し込み

//////////////////////////////////////////////////////*/
.entry .hero .hero-inner.simple-hero h1 span {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

.entry .hero .hero-inner.simple-hero h1 span b {
	border: #333 solid 1px;
	font-size: 24px;
	font-weight: 600;
	line-height: 1;
	margin: 3px 0 0 0;
	padding: 6px 10px 9px 10px;
}

.entry .content h1 {
	justify-content: start;
}

.entry .content .leadtxt b {
	font-weight: 600;
}

.content-slim .content-slim-inner .plan-detail .card-large-body {
	padding: 0 30px 10px 30px;
}

.entry .content .card-large .car-info-wrap {
	display: flex;
	justify-content: space-between;
	gap: 30px;
}

.entry .content .card-large .car-info-wrap .car-info {
	width: calc(100% - 240px - 20px - 24px);
	margin: 0;
}

.entry .content .card-large .car-info-wrap .car-info .grade {
	margin: 5px 0 5px 0;
	font-size: 14px;
	line-height: 1.5;
}

.entry .content .card-large .car-info-wrap .car-info .grade span {
	margin: 0 0 0 5px;
	padding: 1px 8px 2px 8px;
	font-size: 12px;
	font-weight: 500;
	line-height: 1 !important;
	white-space: nowrap;
}

.entry .content .card-large .car-info-wrap .car-info .grade span.instock {
	background: #d4e0e2;
}

.entry .content .card-large .car-info-wrap .car-info .grade span.soldout {
	background: #333;
	color: #fff;
}

.entry .content .card-large .car-info-wrap .car-info .carid {
	font-size: 14px;
}

.entry .content .card-large .car-info-wrap .car-info .carid span {
	color: var(--color-light-gray-font);
}

.entry .content .card-large .car-info-wrap .model-img {
	width: 240px;
	margin: 0;
}

.entry .content .card-large .car-info-wrap figcaption {
	width: 100%;
	font-size: 13px;
	line-height: 1.3;
}

.entry .content .card-large.plan-detail-limited .car-info-wrap .model-img {
	display: flex;
}

.entry .content .card-large.plan-detail-limited .car-info-wrap .car-info {
	width: calc(100% - 400px - 20px - 24px);
	margin: 0;
}

.entry .content .card-large.plan-detail-limited .car-info-wrap .model-img {
	width: 400px;
	margin: 0;
}

.entry .card-large .body-color-set {
	/*justify-content: start;*/
}

.entry-form .form-group .input-license-number>* {
	display: flex;
	align-items: center;
	gap: 10px;
}

.entry-form .form-group .input-license-number span {
	width: 1em;
}

.entry-form .form-group .input-residence-years .form-group,
.entry-form .form-group .input-residence-years .form-group div {
	display: flex;
	align-items: center;
	gap: 5px;
	white-space: nowrap;
}

.entry-form .form-group .input-birth .form-group div {
	display: flex;
	align-items: center;
	gap: 5px;
	white-space: nowrap;
	margin: 0;
}

.entry .page-navi {
	margin: 60px 0 0 0;
}

.entry .price-group {
	align-items: center;
}

.entry .price-group .distance-kind {
	font-size: 14px;
}

.entry .price-group .price-sub {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.entry .price-group .price-sub dl {
	display: flex;
	flex-direction: row;
	align-items: end;
	justify-content: end;
	gap: 5px;
}

.entry.mypage .card-large .spec.limited-car>dd {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.entry.mypage .card-large .spec.limited-car>dd dl {
	width: calc((100% - 30px) / 4);
	line-height: 1.3;
}

.entry.mypage .card-large .spec.limited-car>dd dl dt,
.entry.mypage .card-large .spec.limited-car>dd dl dd {
	display: inline;
}

.entry.mypage .card-large .spec.limited-car>dd dl dt {
	color: #5f878f;
}

.entry-confirm .car-info {
	display: flex;
	flex-direction: row !important;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}

.entry-confirm .car-info div {
	width: calc(100% - 40% - 10px);
}

.entry-confirm .car-info figure {
	width: 40%;
}

.entry-confirm .car-info figcaption {
	width: 100%;
	font-size: 14px;
	text-align: right;
}

.entry-confirm .price-group .price-sub dt {
	display: inline;
	font-size: 14px;
	color: #5f878f;
}

.entry-confirm .option h4 {
	padding: 0;
	font-size: 16px;
	font-weight: 500;
	color: #5f878f;
}

.entry-confirm .service h4 {
	padding: 0;
	font-size: 16px;
	font-weight: 500;
	color: #333;
}


.entry-confirm .option dl,
.entry-confirm .service dl {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	border-top: #e0e8e8 solid 1px;
	width: 100%;
	margin: 10px 0 0 0;
	padding: 10px 0 0 0;
}

.entry-confirm .option dl h5 {
	font-size: 16px;
	font-weight: 500;
}

.entry-confirm .option li {
	margin: 0 0 20px 0;
}

.entry-confirm .option dl p {
	font-size: 14px;
	line-height: 1.5;
}

.entry-confirm .card-large-footer>.price-wrap {
	flex-direction: row;
}

.entry-confirm .card-large-footer .price-wrap .price-wrap {
	align-items: end;
	gap: 20px;
	width: 400px;
}

.entry-confirm .card-large-footer>.price-wrap h2 b,
.entry-confirm .card-large-footer>.price-wrap h2 i {
	display: inline !important;
}

.entry-confirm .card-large-footer .price-sub {
	width: 300px;
}

.entry-confirm .card-large-footer .price-sub dl {
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0;
	width: 100%;
}

.entry-confirm .card-large-footer .price-sub dt {
	width: 120px;
}

.entry-confirm .card-large-footer .price-sub dd {
	width: calc(100% - 120px);
	text-align: right;
}

.content-slim.entry .page-navi .btn-back,
.content-slim.entry .page-navi .btn-next {
	width: 240px;
}

.content-slim.entry .page-navi .btn-next {
	white-space: nowrap;
}

.entry .price-group .price-sub dl .us-font {
	font-size: 24px;
}

.entry .bodytype-title {
	font-size: 24px;
}

.entry .list-all {
	display: flex;
	gap: 20px;
	margin: 20px 0;
}

.entry .list-all li {
	width: calc((100% - 60px) / 4);
}

.entry .list-all li .spec {
	padding: 10px;
}

.entry .list-all li .spec h3 {
	margin: 0;
}

.entry .list-all li .spec h3 b {
	display: block;
	margin: 5px 0 0 0;
	font-size: 18px;
	line-height: 1.2;
}

.entry .list-all li .spec .price {
	margin: 10px 0 0;
	padding: 5px 0 0 0;
}

.entry .list-all li .spec .price dt {
	font-size: 13px;
}

.entry .list-all li .spec .price dd span:first-child {
	font-size: 36px;
}

.entry .list-all li .spec .price dd span:last-child i {
	font-size: 10px;
}

.entry .list-all li .spec .price dd span:last-child b {
	font-size: 18px;
}

.entry .list-all li {
	align-items: stretch;
}

.entry .list-all li .form-check {
	display: flex;
	align-items: stretch;
}

.entry .list-all li .form-check label {
	display: flex;
	align-items: stretch;
}

.entry .list-all li .form-check label>* {
	display: flex;
}

.entry .list-all {
	align-items: stretch;
	flex-wrap: wrap;
}

.entry .list-all li {
	display: flex;
}

.entry .list-all li .form-check.option-card {
	display: flex;
	flex: 1 1 auto;
	width: 100%;
}

.entry .list-all li .form-check.option-card>label.form-check-label {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	width: 100%;
}

.entry .list-all li .form-check .card-body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
}

.entry .list-all li .form-check input:checked+label:hover {
	border: var(--color-logo-blue) solid 1px;
	box-shadow: none;
	outline: var(--color-logo-blue) solid 1px;
}

@media (max-width: 800px) {
	.entry .list-all li {
		width: calc((100% - 40px) / 3);
	}
}

@media (max-width: 640px) {

	.entry .list-all li {
		width: calc((100% - 20px) / 2);
	}

	.entry .content .card-large .accordion-header button {
		justify-content: center;
		flex-wrap: wrap;
		gap: 20px;
	}

	.entry .content .card-large .accordion-header button .car-info {
		width: 100%;
		order: 2;
	}

	.entry .content .card-large .accordion-header button .model-img {
		width: 100%;
		order: 1;
	}

	.entry .content .card-large .accordion-header button figcaption {
		font-size: 12px;
		text-align: center;
	}

	.entry .content .card-large .accordion-header button::after {
		width: 24px;
		height: 24px;
		content: "";
		background-size: 24px;
		margin: 0 auto;
		order: 3;
	}



	.entry-form .form-group .input-residence-years {
		gap: 0;
	}

	.entry-form .form-group .input-residence-years .form-group div {
		width: 100%;
	}

	.entry-form .form-group .input-birth .form-group:not(:last-child) {
		margin: 0;
	}

	.entry-confirm .card-large-footer .price-sub {
		width: 240px;
	}

	.entry-confirm .card-large-footer .price-sub dt {
		width: calc(7em + 20px);
	}

	.entry-confirm .card-large-footer .price-sub dd {
		width: calc(100% -(7em + 20px));
	}

	.entry-confirm .card-large-footer .price-sub dl .us-font {
		font-size: 16px !important;
	}
}


@media (max-width: 470px) {
	.entry .list-all {
		gap: 10px;
	}

	.entry .list-all li {
		width: 100%;
	}

	.entry .hero .hero-inner.simple-hero h1 span {
		flex-direction: column;
		align-items: start;
		gap: 0;
	}

	.entry .hero .hero-inner.simple-hero h1 span b {
		font-size: 16px;
		margin: 10px 0 0 0;
		padding: 4px 10px 6px 10px;
	}

	.entry .content-slim-inner .card-large-body {
		margin: 0;
	}

	.entry-form .card-large .body-color-set dt {
		font-size: 13px;
	}

	.entry-confirm .option h4,
	.entry-confirm .option dl h5,
	.entry-confirm .service h4 {
		font-size: 13px;
	}

	.entry-confirm .option dl p {
		font-size: 12px;
	}

	.entry-form .form-group .input-license-number span {
		font-size: 14px;
	}

	.entry-form .form-group .input-residence-years * {
		font-size: 14px;
	}

	.entry-confirm .card-large-footer>.price-wrap {
		flex-direction: column;
		align-items: center;
	}

	.entry-confirm .card-large-footer .price-wrap .price-wrap {
		gap: 20px;
		width: 100%;
	}

	.entry-confirm .card-large-footer .price-wrap .price,
	.entry-confirm .card-large-footer .price-wrap .price-sub {
		width: 100%;
		justify-content: center;
	}

	.content-slim.entry .page-navi .btn-back,
	.content-slim.entry .page-navi .btn-next {
		padding: 16px 20px 18px;
	}
}

/*//////////////////////////////////////////////////////

選ばれる理由

//////////////////////////////////////////////////////*/
.reason-page .hero {
	margin: 0;
}

.reason-page .reason-sec {
	background-color: #f5f8f9;
}

.reason-page .reason-sec .section-inner {
	padding: 60px 0 80px;
}

.reason-page .reason-sec .section-inner .intro {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.reason-page .reason-sec .section-inner .intro h2 {
	font-size: 24px;
	line-height: 1.2;
	margin: 0 0 40px 0;
}

.reason-page .reason-sec .section-inner .intro picture {
	max-width: 800px;
	height: auto;
	margin: 0 0 40px 0;
}

.reason-page .reason-sec .section-inner .intro picture img {
	width: 100%;
	height: auto;
	object-fit: cover;
}

.reason-page .reason-sec .section-inner ol {
	margin: 60px 0 100px;
	counter-reset: reason;
}

.reason-page .reason-sec .section-inner ol li {
	display: flex;
	align-items: center;
	gap: 80px;
	border: #d4e0e2 solid 1px;
	background: #fff;
	border-radius: 10px;
	padding: 60px 60px;
	margin: 0 0 40px 0;
	list-style-type: none;
}

.reason-page .reason-sec .section-inner ol li:nth-child(even) {
	flex-direction: row-reverse;
}

.reason-page .reason-sec .section-inner ol li figure {
	width: 400px;
}

.reason-page .reason-sec .section-inner ol li figure img {
	width: 100%;
}

.reason-page .reason-sec .section-inner ol li figcaption {
	width: calc(100% - 400px);
}

.reason-page .reason-sec .section-inner ol li figcaption h2 {
	position: relative;
	margin: 0 0 30px 0;
	padding: 0 0 0 48px;
	font-size: 30px;
	line-height: 1.2;
	z-index: 1;
}

.reason-page .reason-sec .section-inner ol li figcaption h2::before {
	position: absolute;
	counter-increment: reason;
	content: counter(reason);
	left: 0;
	top: 5px;
	font-size: 60px;
	font-family: 'Oswald', 'Noto Sans JP', "游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, sans-serif !important;
	color: var(--color-logo-blue);
	z-index: -1;
}

.reason-page .reason-sec .section-inner ol li figcaption h2 span {
	font-size: 16px;
}

.reason-page .reason-sec .section-inner ol li figcaption h3 {
	margin: 0 0 10px 0;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.4;
}

.reason-page .reason-sec .section-inner ol li figcaption h2 sup {
	font-size: 13px;
	top: -18px;
}

.reason-page .reason-sec .section-inner ol li figcaption p sup {
	font-size: 13px;
	top: -5px;
}

.reason-page .reason-sec .section-inner ul {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	margin: 40px 0 0 0;
}

.reason-page .reason-sec .section-inner ul li {
	width: calc((100% - 60px) / 3);
}

.reason-page .reason-sec .section-inner ul li figure {
	background: #fff;
	border: #d4e0e2 solid 1px;
	border-radius: 10px;
	width: 100%;
	height: calc(100% * 0.5);
	margin: 0 0 20px 0;
	padding: 20px;
}

.reason-page .reason-sec .section-inner ul li figure img {
	width: 100%;
	height: 100%;
	object-fit: contain
}

.reason-page .reason-sec .section-inner ul li figcaption h3 {
	margin: 0 0 10px 0;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.2;
}

@media (max-width: 1240px) {
	.reason-page .reason-sec .section-inner {
		padding: 60px 20px 80px;
	}

	.reason-page .reason-sec .section-inner .intro h2 {
		font-size: 20px;
	}

	.reason-page .reason-sec .section-inner ol li {
		gap: 40px;
	}

	.reason-page .reason-sec .section-inner ol li figure {
		width: 40%;
	}

	.reason-page .reason-sec .section-inner ol li figcaption {
		width: calc(60% - 40px);
	}
}

@media (max-width: 980px) {
	.reason-page .reason-sec .section-inner ol {
		margin: 30px 0 60px;
	}

	.reason-page .reason-sec .section-inner ol li {
		padding: 30px 30px;
		margin: 0 0 40px 0;
	}

	.reason-page .reason-sec .section-inner ol li figcaption h2 {
		margin: 0 0 20px 0;
		padding: 0 0 0 30px;
		font-size: 24px;
	}

	.reason-page .reason-sec .section-inner ol li figcaption h2::before {
		left: 0;
		top: 3px;
		font-size: 48px;
	}

	.reason-page .reason-sec .section-inner ol li figcaption h2 span {
		font-size: 14px;
	}

	.reason-page .reason-sec .section-inner ol li figcaption h3 {
		font-size: 16px;
	}

	.reason-page .reason-sec .section-inner ol li figcaption h2 sup {
		font-size: 11px;
		top: -14px;
	}

	.reason-page .reason-sec .section-inner ol li figcaption p sup {
		font-size: 13px;
		top: -5px;
	}

	.reason-page .reason-sec .section-inner ul {
		gap: 20px;
	}

	.reason-page .reason-sec .section-inner ul li {
		width: calc((100% - 40px) / 3);
	}

	.reason-page .reason-sec .section-inner ul li figure {
		height: calc(100% * 0.4);
		margin: 0 0 20px 0;
		padding: 10px 20px;
	}
}

@media (max-width: 768px) {
	.reason-page .reason-sec .section-inner ol {
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
	}

	.reason-page .reason-sec .section-inner ol li {
		flex-direction: column;
		gap: 20px;
		width: calc((100% - 20px) / 2);
		margin: 0 0 20px 0;
		padding: 20px 20px;
	}

	.reason-page .reason-sec .section-inner ol li:nth-child(even) {
		flex-direction: column;
	}

	.reason-page .reason-sec .section-inner ol li figure,
	.reason-page .reason-sec .section-inner ol li figcaption {
		width: 100%;
	}
}

@media (max-width: 640px) {
	.reason-page .reason-sec .section-inner {
		padding: 30px 20px 40px;
	}

	.reason-page .reason-sec .section-inner .intro h2 {
		font-size: 16px;
		margin: 0 0 20px 0;
		line-height: 1.3;
	}

	.reason-page .reason-sec .section-inner .intro picture {
		margin: 0 0 20px 0;
	}

	.reason-page .reason-sec .section-inner ol {
		flex-direction: column;
		gap: 20px;
		margin: 10px 0 30px;
	}

	.reason-page .reason-sec .section-inner ol li {
		gap: 0;
		width: 100%;
		margin: 0;
		padding: 20px 20px 0;
	}

	.reason-page .reason-sec .section-inner ol li figure {
		padding: 0 20px;
	}

	.reason-page .reason-sec .section-inner ol li figcaption h2 {
		margin: 0 0 20px 0;
		font-size: 22px;
	}

	.reason-page .reason-sec .section-inner ol li figcaption h2::before {
		left: 0;
		top: 0;
		font-size: 48px;
	}

	.reason-page .reason-sec .section-inner ol li figcaption h2 span {
		font-size: 13px;
	}

	.reason-page .reason-sec .section-inner ol li figcaption h3 {
		margin: 0 0 10px 0;
		font-size: 14px;
	}

	.reason-page .reason-sec .section-inner ul {
		flex-direction: column;
		gap: 20px;
		margin: 20px 0 0 0;
	}

	.reason-page .reason-sec .section-inner ul li {
		width: 100%;
	}

	.reason-page .reason-sec .section-inner ul li figure {
		background: #fff;
		border: #d4e0e2 solid 1px;
		border-radius: 10px;
		width: 100%;
		height: calc(100% * 0.5);
		margin: 0 0 20px 0;
		padding: 20px;
	}
}

/*//////////////////////////////////////////////////////

よくあるご質問

//////////////////////////////////////////////////////*/
.faq .section-inner {
	padding: 40px 0;
}

.faq .leadtxt {
	margin: 0 0 60px 0;
	font-size: 16px;
}

.faq .leadtxt a {
	color: var(--color-logo-blue);
}

.faq nav {
	margin: 0 0 30px 0;
}

.faq nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.faq nav ul li {
	margin: 0;
}

.faq nav ul li a {
	position: relative;
	display: block;
	background-color: #eef3f4;
	border-radius: 6px;
	padding: 10px 20px 30px;
	text-decoration: none;
}

.faq nav ul li a::after {
	position: absolute;
	content: "\F282";
	font-family: "bootstrap-icons";
	font-weight: 900;
	display: block;
	bottom: 5px;
	left: 50%;
	transform: translateX(-50%);
}

.faq nav ul li a:hover {
	background-color: var(--color-logo-blue);
	color: #fff;
}

.faq .faq-group {
	padding: 30px 0 0 0;
}

.faq h2 {
	margin: 0 0 30px 0;
	font-size: 24px;
	line-height: 1.4;
}

.faq .add-option.accordion h3 {
	margin: 0;
	line-height: 1.4;
}

.faq .add-option.accordion h3 button {
	padding: 20px;
}

.faq .add-option.accordion h3 button span {
	font-size: 18px !important;
	font-weight: 500 !important;
	line-height: 1;
}

.faq .faq-nav-dropdown {
	display: none;
	margin: 0 0 30px 0;
}

.faq .faq-nav-dropdown details {
	background-color: #eef3f4;
	border: 1px solid #d4e0e2;
	border-radius: 6px;
}

.faq .faq-nav-dropdown details[open] {
	border-color: #b9c9cc;
}

.faq .faq-nav-dropdown summary {
	list-style: none;
	cursor: pointer;
	padding: 12px 44px 12px 14px;
	font-size: 16px;
	position: relative;
}

.faq .faq-nav-dropdown details[open] summary {
	border-bottom: 1px solid #d4e0e2;
}


.faq .faq-nav-dropdown summary::-webkit-details-marker {
	display: none;
}

.faq .faq-nav-dropdown summary::after {
	content: "\F282";
	font-family: "bootstrap-icons";
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	line-height: 1;
}

.faq .faq-nav-dropdown details[open] summary::after {
	content: "\F286";
}

.faq .faq-nav-dropdown details ul {
	margin: 0;
	padding: 8px;
	list-style: none;
	border-top: 1px solid #eef3f4;
}

.faq .faq-nav-dropdown details ul li a {
	display: block;
	padding: 10px 8px 10px 16px;
	border-radius: 4px;
	font-size: 14px;
	text-decoration: none;
	color: inherit;
}

.faq .faq-nav-dropdown details ul li a:hover {
	background: var(--color-logo-blue);
	color: #fff;
}

.faq .accordion-item button i {
	margin: -6px 20px 0 0;
	font-size: 40px;
	line-height: 1;
}

.faq .accordion-item>div p {
	margin: 0;
	text-align: left;
}

@media (max-width: 1240px) {
	.faq .section-inner {
		padding: 40px 20px 80px;
	}
}

@media (max-width: 980px) {
	.faq .section-inner {
		padding: 20px 20px 80px;
	}

	.faq .leadtxt {
		margin: 0 0 30px 0;
		font-size: 16px;
	}
}

@media (max-width: 768px) {
	.faq .section-inner {
		padding: 30px 20px 80px;
	}
}

@media (max-width: 640px) {
	.faq .section-inner {
		padding: 20px 20px 40px;
	}

	.faq .leadtxt {
		margin: 0 0 30px 0;
		font-size: 14px;
	}

	.faq .faq-nav {
		display: none;
	}

	.faq .faq-nav-dropdown {
		display: block;
	}

	.faq h2 {
		margin: 0 0 20px 0;
		font-size: 20px;
	}

	.faq .add-option.accordion {
		margin: 0 0 20px;
	}

	.faq .add-option.accordion h3 button span {
		padding: 0 20px 0 0;
		font-size: 16px !important;
		line-height: 1.4;
	}

	.faq .add-option.accordion h3 button i {
		margin: -6px 10px 0 0;
		font-size: 30px !important;
	}
}

@media (max-width: 470px) {
	.faq .faq-nav-dropdown {
		margin: 0;
	}

	.faq .add-option.accordion {
		margin: 0 0 10px;
	}

	.faq h2 {
		font-size: 18px;
	}

	.faq .faq-nav-dropdown summary {
		font-size: 14px;
	}

	.faq .add-option.accordion h3 button span {
		padding: 0 20px 0 0;
		font-size: 14px !important;
		line-height: 1.4;
	}

	.faq .add-option.accordion h3 button {
		padding: 10px;
	}

	.faq .add-option.accordion h3 button i {
		margin: -4px 10px 0 0;
		font-size: 24px !important;
	}
}

/*//////////////////////////////////////////////////////

たま〜るプラス

//////////////////////////////////////////////////////*/
.tamaru-plus-page .hero {}

.tamaru-plus-page .about .section-inner {
	display: flex;
	align-items: center;
	gap: 40px;
	padding: 0;
}

.tamaru-plus-page .about picture {
	width: 500px;
	height: 560px;
}

.tamaru-plus-page .about picture img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.tamaru-plus-page .about .wrap {
	width: calc(100% - 40px - 500px);
}

.tamaru-plus-page .about .wrap h2 {
	margin: 0 0 40px 0;
	text-align: left;
}

.tamaru-plus-page .about .wrap h2::after {
	margin: 0;
}

.tamaru-plus-page .reason-sec {
	background-color: #f5f8f9;

}

.tamaru-plus-page .reason-sec .section-inner ol {
	display: flex;
	gap: 40px;
	width: 100%;
}

.tamaru-plus-page .reason-sec .section-inner ol li {
	display: flex;
	flex-direction: column;
	gap: 0;
	background: #fff;
	border-radius: 10px;
	width: calc((100% - 60px) / 3);
}

.tamaru-plus-page .reason-sec .section-inner ol li figure {
	width: 100%;
	height: calc((1200px - 60px) / 3 * 0.75);
	padding: 30px;
}

.tamaru-plus-page .reason-sec .section-inner ol li figure img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.tamaru-plus-page .reason-sec .section-inner ol li figcaption {
	padding: 0 30px 20px 30px;
}

.tamaru-plus-page .reason-sec .section-inner ol li h2 {
	margin: 0 0 10px 0;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.3;
}

.tamaru-plus-page .reason-note {
	margin: 40px 0 0 0;
}

.tamaru-plus-page .reason-note p {
	margin: 10px 0 5px 0;
}

.tamaru-plus-page .reason-note dl {
	margin: 0;
	padding: 0 0 0 30px;
}

.tamaru-plus-page .reason-note dl dt {
	margin: 0 0 0 0;
}

.tamaru-plus-page .reason-note dl dd {
	margin: 0 0 5px 0;
	font-size: 14px;
}

.tamaru-plus-page .flow-sec .section-inner ol {
	display: flex;
	flex-direction: column;
	gap: 60px;
	margin: 40px 0 0 0;
}

.tamaru-plus-page .flow-sec .section-inner ol li {
	position: relative;
	display: flex;
	align-items: center;
	gap: 40px;
	background-color: #f5f8f9;
	border-radius: 10px;
	width: 100%;
	padding: 40px;
}

.tamaru-plus-page .flow-sec .section-inner ol li::after {
	position: absolute;
	content: "\F279";
	font-family: "bootstrap-icons";
	font-weight: 900;
	display: block;
	bottom: -60px;
	left: calc(50% - 18px);
	font-size: 36px;
	color: #333;
}

.tamaru-plus-page .flow-sec .section-inner ol li:last-child::after {
	content: none;
}

.tamaru-plus-page .flow-sec .section-inner ol li figure {
	border-radius: 10px;
	overflow: hidden;
	width: 360px;
}

.tamaru-plus-page .flow-sec .section-inner ol li figcaption {
	width: calc(100% - 360px);
}

.tamaru-plus-page .flow-sec .section-inner ol li h3 {
	margin: 0 0 10px 0;
}

.tamaru-plus-page .faq .section-inner {
	padding: 0 0 80px;
}

.tamaru-plus-page .faq h2 {
	margin: 0 0 60px 0;
	font-size: 24px;
	line-height: 1.4;
}

@media (max-width: 1240px) {
	.tamaru-plus-page .about .section-inner {
		gap: 0;
		padding: 0 20px;
	}

	.tamaru-plus-page .about .wrap {
		width: calc(100% - 500px);
	}

	.tamaru-plus-page .reason-sec .section-inner {
		padding: 80px 20px;
	}

	.tamaru-plus-page .reason-sec .section-inner ol {
		gap: 30px;
	}

	.tamaru-plus-page .reason-sec .section-inner ol li {
		width: calc((100% - 60px) / 3);
		padding: 0;
	}

	.tamaru-plus-page .reason-sec .section-inner ol li figure {
		width: 100%;
		height: auto;
		padding: 20px;
	}

	.tamaru-plus-page .reason-sec .section-inner ol li figcaption {
		padding: 0 20px 20px 20px;
	}

	.tamaru-plus-page .flow-sec .section-inner {
		padding: 80px 20px;
	}

	.tamaru-plus-page .faq .section-inner {
		padding: 0 20px 80px;
	}
}

@media (max-width: 980px) {
	.tamaru-plus-page .about picture {
		width: 400px;
		height: auto;
	}

	.tamaru-plus-page .about .wrap {
		width: calc(100% - 400px);
	}

	.tamaru-plus-page .reason-sec .section-inner ol {
		gap: 20px;
	}

	.tamaru-plus-page .reason-sec .section-inner ol li {
		width: calc((100% - 40px) / 3);
	}

	.tamaru-plus-page .reason-sec .section-inner ol li h2 {
		font-size: 20px;
	}

	.tamaru-plus-page .flow-sec .section-inner ol li {
		padding: 30px;
	}

	.tamaru-plus-page .flow-sec .section-inner ol li figure {
		width: 240px;
	}

	.tamaru-plus-page .flow-sec .section-inner ol li figcaption {
		width: calc(100% - 240px);
	}

	.tamaru-plus-page .faq h2 {
		margin: 0 0 40px 0;
	}
}

@media (max-width: 768px) {
	.tamaru-plus-page .about picture {
		width: 40%;
	}

	.tamaru-plus-page .about .wrap {
		width: 60%;
	}

	.tamaru-plus-page .about .wrap h2 {
		margin: 0 0 20px 0;
	}

	.tamaru-plus-page .about p {
		font-size: 14px;
	}

	.tamaru-plus-page .about .section-inner {
		padding: 0 20px;
	}

	.tamaru-plus-page .reason-sec .section-inner ol {
		flex-direction: column;
	}

	.tamaru-plus-page .reason-sec .section-inner ol li {
		flex-direction: row;
		align-items: center;
		width: 100%;
	}

	.tamaru-plus-page .reason-sec .section-inner ol li figure {
		width: 300px;
	}

	.tamaru-plus-page .reason-sec .section-inner ol li figcaption {
		width: calc(100% - 300px);
		padding: 20px 20px 20px 0;
	}
}

@media (max-width: 640px) {
	.tamaru-plus-page .about .section-inner {
		flex-direction: column;
		padding: 0 20px 30px;
	}

	.tamaru-plus-page .about .section-inner picture,
	.tamaru-plus-page .about .section-inner .wrap {
		width: 100%;
	}

	.tamaru-plus-page .about .section-inner picture img {
		padding: 0 0 0 7%;
	}

	.tamaru-plus-page .about .section-inner .wrap {
		padding: 30px 0 0 0;
	}

	.tamaru-plus-page .about .wrap h2 {
		text-align: center;
	}

	.tamaru-plus-page .about .wrap h2::after {
		margin: 0 auto;
	}

	.tamaru-plus-page .reason-sec .section-inner {
		padding: 30px 20px;
	}

	.tamaru-plus-page .reason-sec .section-inner ol li {
		flex-direction: column;
	}

	.tamaru-plus-page .reason-sec .section-inner ol li figure,
	.tamaru-plus-page .reason-sec .section-inner ol li figcaption {
		width: 100%;
	}

	.tamaru-plus-page .reason-sec .section-inner ol li figcaption {
		width: 100%;
		padding: 0 20px 0 20px;
	}

	.tamaru-plus-page .reason-sec .section-inner ol li h2 {
		font-size: 16px;
	}

	.tamaru-plus-page .reason-note {
		margin: 20px 0 0 0;
	}

	.tamaru-plus-page .reason-note dl {
		padding: 0 0 0 20px;
	}

	.tamaru-plus-page .reason-note dl dt {
		font-size: 13px;
	}

	.tamaru-plus-page .reason-note dl dd {
		font-size: 12px;
	}

	.tamaru-plus-page .flow-sec .section-inner {
		padding: 30px 20px 30px;
	}

	.tamaru-plus-page .flow-sec .section-inner ol li {
		flex-direction: column;
		gap: 10px;
		padding: 20px 20px 5px 20px;
	}

	.tamaru-plus-page .flow-sec .section-inner ol li figure,
	.tamaru-plus-page .flow-sec .section-inner ol li figcaption {
		width: 100%;
	}

	.tamaru-plus-page .faq .section-inner {
		padding: 0 20px 60px;
	}

	.tamaru-plus-page .flow-sec .section-inner ol {
		gap: 40px;
		margin: 20px 0 0 0;
	}

	.tamaru-plus-page .flow-sec .section-inner ol li::after {
		bottom: -44px;
		left: calc(50% - 15px);
		font-size: 30px;
	}

	.tamaru-plus-page .faq h2 {
		margin: 0 0 40px 0;
	}


}


/*//////////////////////////////////////////////////////

会社概要

//////////////////////////////////////////////////////*/
.company .section-inner {
	width: 768px;
	padding: 40px 0 80px;
}

.company dl {
	display: flex;
	align-items: center;
	border-top: #e0e8e8 solid 1px;
	padding: 20px 0;
}

.company dt {
	display: block;
	width: 160px;
	padding: 0;
	font-size: 16px;
	font-weight: 500;
}

.company dd {
	display: block;
	width: calc(100% - 160px);
	font-size: 16px;
	margin: 0;
}

.company dd a {
	color: var(--color-logo-blue);
	text-decoration: none;
}

.company dd a:hover {
	text-decoration: underline;
}

.company dd a i {
	margin: 0 0 0 5px;
}

@media (max-width: 808px) {
	.company .section-inner {
		width: 100%;
		padding: 40px 20px 80px;
	}
}

@media (max-width: 640px) {
	.company .section-inner {
		padding: 40px 20px 40px;
	}

	.company dl {
		flex-direction: column;
		gap: 0;
		padding: 10px 0;
	}

	.company dt,
	.company dd {
		width: 100%;
		font-size: 14px;
	}
}

@media (max-width: 470px) {

	.company dt,
	.company dd {
		font-size: 13px;
	}
}



/*//////////////////////////////////////////////////////

プライバシーポリシー

//////////////////////////////////////////////////////*/
.policy .section-inner {
	padding: 40px 0 80px;
}

.policy p {
	margin: 0 0 10px 0;
}

.policy .leadtxt {
	margin: 0 0 20px 0;
	font-size: 16px;
}

.policy ol li {
	margin: 0 0 20px 0;
	list-style-type: none;
}

.policy ol.s-group li {
	margin: 0 0 10px 0;
	list-style-type: disc;
}

.policy h3 {
	margin: 30px 0 20px 0;
	font-size: 18px;
}

.policy h3 {
	margin: 20px 0;
	font-size: 16px;
}

.policy h4 {
	margin: 10px 0;
	font-size: 16px;
	font-weight: 500;
}

.policy .info-title {
	border-top: #e0e8e8 solid 1px;
	margin: 40px 0 40px 0;
	padding: 40px 0 0 0;
	font-size: 30px;
}

@media (max-width: 1240px) {
	.policy .section-inner {
		padding: 40px 20px 80px;
	}
}

@media (max-width: 768px) {
	.policy .leadtxt {
		margin: 0 0 20px 0;
		font-size: 14px;
	}

	.policy ol li {
		font-size: 14px;
	}
}

@media (max-width: 470px) {
	.policy .section-inner {
		padding: 40px 20px 40px;
	}

	.policy .leadtxt {
		font-size: 13px;
	}

	.policy ol li,
	.policy ol.s-group li {
		margin: 0 0 5px 0;
		font-size: 13px;
	}
}



/*//////////////////////////////////////////////////////

お問い合わせ

//////////////////////////////////////////////////////*/

body.contact .form-check label::before,
body.contact .form-check label::after {
	top: 50%;
	transform: translateY(-50%);
}

.datepicker {
	border-radius: 10px;
}

.datepicker table tr td.day:not(.disabled),
.datepicker table tr td.today:not(.disabled):not(.active) {
	color: #333;
}

.datepicker table tr td.disabled,
.datepicker table tr td.disabled:hover {
	color: #bbb;
}

.datepicker .next,
.datepicker .prev {
	font-size: 24px;
	line-height: 1;
}

.datepicker-switch {
	font-size: 16px;
	line-height: 1;
}

.datepicker table tr th.dow {
	font-size: 16px;
	line-height: 1;
}

.datepicker table tr th.dow:first-child {
	background: #fff0f5;
	color: #d63384;
}

.datepicker table tr td:nth-child(1).disabled,
.datepicker table tr td:nth-child(1).disabled:hover {
	background: none;
}

.datepicker table tr th.dow:last-child {
	background: #f0f6ff;
	color: #0d6efd;
}

.datepicker table tr td:nth-child(7).disabled,
.datepicker table tr td:nth-child(7).disabled:hover {
	background: none;
}

.datepicker table tr td.disabled {
	font-size: 16px;
}

.datepicker table tr td.day:not(.disabled), .datepicker table tr td.today:not(.disabled):not(.active) {
	font-size: 16px;
}

.mail-form.contact .pmark-info {
	display: flex;
	align-items: center;
	gap: 20px;
	margin: 0 0 40px 0;
}

.mail-form.contact .pmark-info figure {
	width: 64px;
	height: 64px;
}

.mail-form.contact .pmark-info figure img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.mail-form.contact .pmark-info figcaption {
	width: calc(100% - 20px - 64px);
}

.mail-form.contact .hero .hero-inner h1 {
	width: 100%;
	margin: 0;
	padding: 0 0 10px 0;
}

.mail-form.contact .entry-form .form-group .check-list-row {
	gap: 0;
}

.mail-form.contact .entry-form .form-group .contact-date-wrap li:first-child .form-group {
	margin-bottom: 0;
}

.mail-form.contact .form-select {
	padding: 21px 40px 22px 15px;
}

@media (max-width: 470px) {
	.mail-form.contact .pmark-info {
		margin: 0 0 30px 0;
	}

	.mail-form.contact .pmark-info figcaption {
		font-size: 13px;
	}

	.mail-form.contact .form-select {
		height: auto;
	}
}


/*//////////////////////////////////////////////////////

本人確認資料送信フォーム

//////////////////////////////////////////////////////*/
.verify strong {
	color: #fd028c;
}

.verify .card-large-caution .card-large-header {
	justify-content: center;
	align-items: center;
	padding: 16px 10px;
}

.verify .card-large-caution .card-large-header h2 {
	display: block;
	text-align: center;
	line-height: 1.4;
}

.verify .card-large-caution .card-large-body ul {
	display: flex;
	gap: 20px;
}

.verify .card-large-caution .card-large-body ul>li {
	background: #f5f8f9;
	border-radius: 10px;
	width: calc((100% - 20px) / 2);
}

.verify .card-large-caution .card-large-body ul>li h3 {
	border-bottom: #fff 2px solid;
	width: 100%;
	padding: 10px 10px;
	font-size: 18px;
	line-height: 1;
	margin: 0;
}

.verify .card-large-caution .card-large-body ul>li div {
	padding: 20px;
}

.verify .card-large-caution .card-large-body ul>li div h4 {
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
	margin: 0;
}

.verify .card-large-caution .card-large-body ul>li div ol {
	margin: 10px 0 0 0;
}

.verify .card-large-caution .card-large-body ul>li div ol li {
	margin: 0;
}

.verify .form-group-inner-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.verify .form-group-inner-wrap .form-group-inner {
	width: calc((100% - 10px) / 2);
}

.verify .uploaded-image-label {
	width: 100%;
	position: relative;
	display: inline-block;
}

.verify .form-title span {
	font-size: 14px;
}

.verify .preview-image {
	max-width: 100%;
	height: 240px;
	border-radius: 10px;
	cursor: pointer;
	transition: opacity 0.3s ease;
}

.verify .uploaded-image-label img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.verify .form-group-inner-wrap .controls {
	margin: 5px 0 0 0;
	text-align: center;
}

.verify .form-group-inner-wrap .controls .btn-clear {
	background: #333;
	border-radius: 6px;
	border: none;
	margin: 5px 0 0 0;
	padding: 6px 20px;
	font-size: 14px;
	color: #fff;
}

@media (max-width: 768px) {
	.verify .card-large-caution .card-large-body ul>li h3 {
		font-size: 16px;
	}

	.verify .card-large-caution .card-large-body ul>li div h4 {
		font-size: 14px;
	}

	.verify .card-large-caution .card-large-body ul>li div ol li {
		font-size: 14px;
	}
}

@media (max-width: 640px) {
	.verify .card-large-caution .card-large-body ul>li h3 {
		font-size: 14px;
	}

	.verify .card-large-caution .card-large-body ul>li div h4 {
		font-size: 13px;
	}

	.verify .card-large-caution .card-large-body ul>li div ol li {
		font-size: 13px;
	}

	.verify .form-group-inner-wrap {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
	}

	.verify .form-group-inner-wrap .form-group-inner {
		width: 100%;
		height: calc(100% * 0.65);
	}
}

@media (max-width: 470px) {
	.verify .card-large-caution .card-large-body ul {
		flex-wrap: wrap;
	}

	.verify .card-large-caution .card-large-body ul>li {
		width: 100%;
	}
}