/********************************************************************************
 *
common.css

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

/*============================================================
 import
*============================================================*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:wght@700&display=swap');

/*============================================================
 system
*============================================================*/
/* pc-sp display switch
---------------------------------------- */
.forPC {
	display: initial;
}
.forSP {
	display: none;
}

/*============================================================
 format
*============================================================*/
html {
	width: 100%;
	background-color: #fff;
	font-size: 62.5%;
}
body {
	font-family:"Noto Sans JP",sans-serif;
	font-style: normal;
	font-weight: normal;
	font-size: 1.4rem;
	line-height: 2;
	color: #1D1D1D;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
#content {
	padding-top: 80px;
	position: relative;
	z-index: 900;
}
main {
	width: 100%;
	position: relative;
	z-index: 900;
	/*overflow: hidden;*/
}
section {
	width: 100%;
	padding: 1px 0;
}
.inner {
	width: 100%;
	max-width: 1008px;
	padding: 0 24px;
	margin: 0 auto;
}
img {
	max-width: 100%;
	height: auto;
}
.img-box {
	line-height: 0;
	text-align: center;
}
span {
	font-weight: inherit;
}
a[href^="tel:"] {
    pointer-events: none;
}
strong {
	font-weight: bold;
	color: #2B2B2B;
}

/* form
---------------------------------------- */
input, select, textarea {
    font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.6rem;
	-webkit-appearance: none;
}
input[type="text"], input[type="tel"], input[type="email"], textarea, select {
	display: block;
	width: 100%;
    height: 50px;
	background-color: #fff;
	border: solid 1px #1B224C!important;
    border-radius: 0;
	padding: 8px;
	box-sizing: border-box;
}
textarea {
	height: 300px;
}
input::placeholder, textarea::placeholder, select::placeholder {
  color: #B1B1B1;
}
input:hover, textarea:hover, select:hover, button:hover, input:focus, textarea:focus, select:focus button:focus {
	outline: none;
}
input[type="text"]:hover, input[type="tel"]:hover, input[type="email"]:hover, textarea:hover, select:hover, input[type="text"]:focus, input[type="tel"]:focus, input[type="email"]:focus, textarea:focus, select:focus {
	/* border: solid 1px #3285C5;
	border-radius: 10px; */
}
input[type="checkbox"] {
	margin: 0;
    height: 20px;
    width: 20px;
    vertical-align: -4px;
}

/* checkbox 装飾 (for mwform)
---------------------------------------- */
input[type="checkbox"] {
  /*display: none;*/
}
.mwform-checkbox-field-text{
  padding-left: 40px;
  position:relative;
}
.mwform-checkbox-field-text::before{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 24px;
	height: 24px;
	border: 1px solid #000;
	background-color: #fff;
	-webkit-transition: all 0.8s;
    -moz-transition: all 0.8s;
    -o-transition: all 0.8s;
    -ms-transition: all 0.8s;
    transition: all 0.8s;

}
input[type="checkbox"]:checked + .mwform-checkbox-field-text::before{
	background-color: #000000;
}
input[type="checkbox"]:checked + .mwform-checkbox-field-text::after{
	content: "";
	display: block;
	position: absolute;
	top: 2px;
	left: 8px;
	width: 8px;
	height: 16px;
	transform: rotate(40deg);
	border-bottom: 2px solid #fff;
	border-right: 2px solid #fff;
}

/* radiobutton 装飾 (for mwform)
---------------------------------------- */
input[type=radio] + span {
  cursor: pointer;
  display: inline-block;
  margin: 0 14px 0 -16px;
  padding: 0 0 0 28px;
  position: relative;
}
input[type=radio] + span::before {
  -webkit-transform: translateY(-50%);
  background: #fff;
  border: 1px solid #707070;
  border-radius: 50%;
  content: "";
  width: 20px;
	height: 20px;
	display: block;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
input[type=radio] + span::after {
  -webkit-transform: translateY(-50%);
  background: #28568C;
  border: 1px solid transparent;
  border-radius: 50%;
  content: "";
  width: 14px;
	height: 14px;
  left: 3px;
  opacity: 0;
  padding: 2px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.3s ease 0s;
}
input[type=radio]:checked + span:after {
  opacity: 1;
}

/* submit 装飾 (for mwform)
---------------------------------------- */
input[type=submit] {
	display: block;
	margin: 0 16px;
	background: #1D1D1D;
	color: #fff;
	font-size: 1.8rem;
	text-align: center;
	width: 300px;
	height: 56px;
	cursor: pointer;
}

/*============================================================
 header
*============================================================*/
header {
	width: 100%;
	position: relative;
	z-index: 1000;
}
.sp-header {
	display: none;
	width: 100%;
	background: #1D1D1D;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
}

/* header-bar
---------------------------------------- */
.header-bar {
	position: fixed;
	z-index: 1100;
	width: 100%;
	background: #1D1D1D;
}
.nav li {
	padding: 0 8px;
}
.nav li a {
	width: 120px;
	line-height: 1.4;
	height: 80px;
	color: #fff;
	text-align: center;
	font-weight: 500;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.nav li a span {
	font-size: 1rem;
	display: block;
	margin-top: 3px;
	font-weight: 400;
}
.header-bar .nav li a:hover {
	text-decoration: none!important;
}
.header-bar .nav li a:before {
	visibility: hidden;
	opacity: 0;
	position: absolute;
	display: block;
	content: "";
	background: #fff;
	width: 100%;
	height: 1px;
	left: 0;
	bottom: 8px;
	transition: .3s all;
}
.header-bar .nav li a:hover:before {
	visibility: visible;
	opacity: 1;
}
.sub-menu {
	background: #1D1D1D;
	width: 244px;
}
.nav li ul.sub-menu li a {
	width: 104px;
	height: 75px;
}

/* logo
---------------------------------------- */
.logo {
	max-width: 198px;
	background: #fff;
	padding: 0!important;
}
.nav .logo a {
	width: 100%;
	padding: 22px 8px;
}

/* toggle
---------------------------------------- */
#toggle {
	display: none;
	position: fixed;
	top: 11px;
	right: 20px;
	background: rgba(255,255,255,0.2);
	padding: 12px 8px;
	cursor: pointer;
	z-index: 1300;
}
#toggle-box {
    position: relative;
    width: 32px;
    height: 22px;
}
#toggle-box > span {
  width: 100%;
  height: 2px;
  left: 0;
  display: block;
  background: #fff;
  position: absolute;
  transition: transform .6s ease-in-out;
}
#toggle-box > span:nth-child(1) {
    top: 0;
}
#toggle-box > span:nth-child(2) {
    top: 50%;
    transform: translatey(-50%);
}
#toggle-box > span:nth-child(3) {
    bottom: 0;
}
.is-open #toggle-box > span {
    background: #fff;
}
.is-open #toggle-box > span:nth-child(1) {
  top: 50%;
  transform: rotate(45deg) translatey(-50%);
}
.is-open #toggle-box > span:nth-child(2) {
  width: 0;
}
.is-open #toggle-box > span:nth-child(3) {
	left: 1px;
  top: 50%;
  transform: rotate(-45deg) translatey(-50%);
}
#sp-nav-content {
    z-index: 800;
    overflow: auto;
    width: 100%;
    height: 100%;
    background: #000;
    color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    text-align: center;
    opacity: 0;
    transition: opacity .6s ease, visibility .6s ease;
}
#sp-nav-content ul {
  list-style: none;
	margin: 72px auto 80px;
}
#sp-nav-content a {
	font-weight: 400;
  display: block;
  color: #fff;
  text-decoration: none;
  padding: 30px 0;
	width: 100%;
	font-size: 1.8rem;
  transition: opacity .6s ease;
	pointer-events: none;
}
#sp-nav-content a:hover {
  opacity: 0.6;
}
.is-open {
    overflow: hidden;
}
.is-open #sp-nav-content {
  visibility: visible;
  opacity: 1;
	z-index: 1200;
}
.is-open #sp-nav-content a{
	pointer-events: auto;
}

/*============================================================
 main 下層共通
*============================================================*/
/* タイトル部
---------------------------------------- */
main .page-lower #page-header {
	padding: 32px 0;
	background-color: #F9F7ED;
	margin-bottom: 32px;
}

/*============================================================
 main 第2階層用
*============================================================*/
main .page-lower #sec-page-index {
	margin-bottom: 72px;
}
main .page-lower #sec-page-index .page-lead {
	margin-bottom: 48px;
}



/* 末尾要素のmargin-bottom削除
---------------------------------------- */
section:last-of-type {
	margin-bottom: 0 !important;
}

/*============================================================
 パンくずリスト
*============================================================*/
main #breadcrumb {
	padding: 12px 0;
	background-color: #0EA99F;
}
main #breadcrumb ul li {
	display: inline-block;
}
main #breadcrumb ul li > * {
	display: inline-block;
	font-size: 16rem;
	line-height: 200%;
	text-decoration-line: underline;
	color: #fff;
	vertical-align: middle;
}
main #breadcrumb ul li:after {
	content: " ";
	display: inline-block;
	width: 24px;
	height: 32px;
	background-image: url(assets/images/common/icon-arrow-bread.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 24px;
	margin: 0 16px;
	vertical-align: middle;
}
main #breadcrumb ul li:last-child > * {
	text-decoration-line: none;
}
main #breadcrumb ul li:last-child::after {
	display: none;
}

/*============================================================
 ページナビ
*============================================================*/
.wp-pagenavi {
	margin: 40px 0;
    text-align: center;
}
.wp-pagenavi a, .wp-pagenavi span {
	border: none;
	padding: 3px 8px;
}
.wp-pagenavi span.current {
	background-color: #0BB4A9;
    color: #fff;
}

/*============================================================
 footer
*============================================================*/
#footer {
	text-align: center;
	color: #fff;
	background-color: #1D1D1D;
	font-size: 1.2rem;
	position: relative;
	z-index: 900;
}
.footer-logo {
	margin-right: 32px;
}

/* footer-info
---------------------------------------- */
.footer-info {
	padding: 32px 0;
}
.footer-info p {
	text-align: left;
	margin-bottom: 4px;
}
.footer-info .wrap > p {
	width: 240px;
}
.footer-logo a {
	padding: 20px 8px;
	display: block;
}

/* footer-nav
---------------------------------------- */
.footer-nav {
	background: #383838;
	padding: 20px 0;
}
.footer-nav li a {
	height: auto;
	font-size: 1.2rem;
	text-decoration: underline;
}


/* copyright
---------------------------------------- */
.copyright {
	padding: 40px 0;
}

/*============================================================
 ページナビ
*============================================================*/
.pagination {
	margin: 40px 0;
	text-align: center;
}
.pagination ul {
	display: flex;
	justify-content: center;
}
.pagination li {
	margin: 0 8px;
}
.pagination a, .pagination span {
	border: 1px solid #1A3049;
	display: inline-block;
	width: 40px;
	height: 40px;
	line-height: 40px;
}
.pagination span.current {
	background-color: #1A3049;
	border: 1px solid #1A3049;
	color: #fff;
}
.pagelink {
	margin: 40px auto!important;
}

/*============================================================
 parts　common
*============================================================*/
/* ボックス
---------------------------------------- */
.flexBox {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	 -ms-flex-wrap: wrap;
         flex-wrap: wrap;
}
.flexBox[data-type="center"] {
	-webkit-box-pack: center;
	   -ms-flex-pack: center;
	 justify-content: center;
}
.flexBox[data-type="between"] {
	-webkit-box-pack: justify;
       -ms-flex-pack: justify;
     justify-content: space-between;
}
.flexBox[data-type-vertical="center"] {
	-webkit-box-align: center;
	   -ms-flex-align: center;
		  align-items: center;
}
.flexBox[data-type-vertical="stretch"] {
	-webkit-box-align: stretch;
       -ms-flex-align: stretch;
          align-items: stretch;
}
.flexBox[data-type-order="reverse"] {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	   -ms-flex-direction: row-reverse;
		   flex-direction: row-reverse;
}


/* button
---------------------------------------- */
.c-btn {
	display: block;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	background-color: #1d1d1d;
	color: #fff;
	width: 212px;
	height: 48px;
	text-align: center;
	padding: 8px 0;
	margin: 0 auto;
	line-height: 1;
	background-image: linear-gradient(to right, rgba(0,0,0,0) 50%, #393939 50%);
  background-position: 0 0;
  background-size: 200% auto;
  transition: all .3s;
}
.c-btn.bg-yellow {
	background-color: #FFDA57;
	background-image: linear-gradient(to right, rgba(0,0,0,0) 50%, #FFE99A 50%);
	color: #1d1d1d;
}
.c-btn span{
	font-weight: 500;
	font-size: 1rem;
	display: inline-block;
}
.c-btn:hover,
.c-btn:visited{
	color: #fff;
}
.c-btn:hover {
	background-position: -100% 0;
}
.c-btn.bg-yellow:hover,
.c-btn.bg-yellow:visited{
	color: #1d1d1d;
}


/* 共通部品（車種リスト）
---------------------------------------- */
.CarItem {
	width: 300px;
	margin-right: 30px;
	text-align: center;
	margin-bottom: 48px;
}
.CarItem:nth-child(3n) {
	margin-right: 0;
}
.CarItem__img {
	margin-bottom: 12px;
}
.CarItem__title {
	margin-bottom: 4px;
	line-height: 1.6;
	font-weight: 700;
}
.CarItem__price {
	font-size: 1.4rem;
	line-height: 1.6;
	font-weight: 500;
}
.CarItem__price span{
	font-size: 1.1rem;
	display: inline-block;
}

/* 共通部品（お知らせリスト）
---------------------------------------- */
.NewsItem {
	background: #fff;
	box-shadow: 1px 2px 8px rgba(0, 0, 0, 0.16);
	width: 300px;
	padding: 12px;
	margin-right: 30px;
	margin-bottom: 30px;
}
.NewsItem:nth-child(3n) {
	margin-right: 0;
}
.NewsItem__date {
	background: #1A3049;
	color: #fff;
	font-size: 1.2rem;
	padding-left: 8px;
	margin-bottom: 16px;
	display: block;
}
.NewsItem__title {
	font-size: 2rem;
	margin-bottom: 8px;
	font-weight: 700;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}
.NewsItem__text {
	font-size: 1.2rem;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}
.NewsItem:hover .NewsItem__title {
	text-decoration: underline;
}

/* 共通部品（タブ）
---------------------------------------- */
.TabList {
	margin-bottom: 40px;
	border-bottom: 1px solid #1D1D1D;
}
.TabItem:last-child {
	margin-right: 0;
}
.TabItem a {
	width: 135px;
	height: 56px;
	line-height: 56px;
	display: block;
	background: #F3F3F3;
	text-align: center;
	margin-right: 24px;
	position: relative;
	transition: background-color .3s;
}
.TabItem.current a,
.TabItem a:hover {
	background: #1D1D1D;
	color: #fff;
}
.TabItem.current a:before,
.TabItem a:hover:before {
	display: block;
	content: "";
	position: absolute;
	background: #fff;
	width: 104px;
	height: 2px;
	bottom: 4px;
	left: 50%;
	transform: translatex(-50%);
	z-index: 1;
}

/* 共通部品（新車情報）
---------------------------------------- */
.NewItem {
	position: relative;
	width: 300px;
	margin-right: 30px;
	background: #FFFFFF;
	box-shadow: 1px 2px 8px rgba(0, 0, 0, 0.16);
	margin-bottom: 30px;
	display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding-bottom: 24px;
    gap: 16px;
}
.NewItem:nth-child(3n) {
	margin-right: 0;
}
.NewItem:hover .NewItem__title{
	text-decoration: underline;
}
.NewItem__img {
	margin-bottom: 8px;
	padding: 12px;
	overflow: hidden;
}
.NewItem__wrap {
	/* padding: 8px 12px 20px; */
	padding: 0 12px;
	display: flex;
	flex-direction: column;
	flex: 1;
}
.NewItem__date {
	font-size: 1.2rem;
	font-weight: 700;
	color: #D90503;
	margin-bottom: 4px;
}
.NewItem__title {
	font-size: 1.6rem;
	font-weight: 700;
	margin-bottom: 4px;
	display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
.NewItem__excerpt {
	font-size: 1.2rem;
	margin-bottom: 16px;
	display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    overflow: hidden;
}
/* 車体価格 */
.NewItem__price {
	line-height: 1.6rem;
	font-size: 2rem;
	font-weight: 700;
	text-align: right;
	margin-bottom: 16px;
}
.NewItem__price span{
	display: inline-block;
	font-size: 1.4rem;
	padding-right: 8px;
}
/* 支払総額 */
.NewItem__price_total {
	line-height: 1.6rem;
	font-size: 2.5rem;
	font-weight: 700;
	text-align: right;
	color: #D90503;
	margin-bottom: 16px;
}
.NewItem__price_total span{
	display: inline-block;
	font-size: 1.4rem;
	padding-right: 8px;
}
.NewItem__mark {
	position: absolute;
	top: 8px;
	right: 8px;
	width: 44px;
	height: 44px;
	border-radius: 100px;
	background: #D90503;
	color: #FFF;
	font-size: 12px;
	font-weight: 700;
	line-height: 120%;
	display: flex;
    justify-content: center;
    align-items: center;
}

/* 新車情報の情報 */
.NewItem__info {
    display: flex;
    flex-direction: row;
    width: 100%;
    border: 1px solid #c4c1c1;
}
.NewItem__info_item {
	display: flex;
	flex-direction: column;
	align-items: center;	
}
.NewItem__info_item:nth-child(1) {
	width: 25%;
}
.NewItem__info_item:nth-child(2) {
	width: 30%;
}
.NewItem__info_item:nth-child(3) {
	flex: 1;
}
.NewItem__info_item:not(:last-child) {
    border-right: 1px solid #c4c1c1;
}

span.NewItem__info_item_title {
    display: block;
    width: 100%;
    text-align: center;
    background: #8f8f8f;
    color: #fff;
    font-size: 12px;
    font-weight: 500;
	padding: 4px 0;
}
span.NewItem__info_item_value {
    display: block;
    width: 100%;
    font-size: 14px;
    text-align: center;
    padding: 4px;
}
/* 新車情報のボタン */
.c-btn.NewItem__btn {
    width: calc(100% - 24px);
    padding: 14px 0 8px;
}

/* 共通部品（ブロック）
---------------------------------------- */
.Block {
	margin-bottom: 32px;
}
.Block h3{
	font-weight: 700;
	font-size: 2rem;
	margin-bottom: 18px;
}
.Block__img {
	width: 230px;
	margin-right: 32px;
}
.Block__img + .Block__content {
	width: calc(100% - 262px);
}
.Block .bd-orange {
	padding: 24px;
	background: #fff;
	border: 2px solid #ED7A39;
}
.Block .bd-orange .title{
	color: #ED7A39;
}
.Block .bd-orange span {
	font-weight: 700;
}


.link-text{
	text-decoration: underline;
	transition: text-decoration 0.3s ease-in-out;
}

.link-text:hover{
	text-decoration: none;
}

/* 共通部品（CATバナー）
---------------------------------------- */
.cta-banner {
	position: fixed;
    left: 0;
	bottom: 0;
	z-index: 900;
	width: 100%;
}
.cta-banner .banner-link {
	width: 100%;
    height: 64px;
    background: rgba(29, 29, 29, 0.80);
    padding: 4px;	
}
.cta-banner .banner-link .link-wrap {
	border: 2px solid #fff;
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
    gap: 12px;
}
.cta-banner .banner-link .link-wrap p {
	color: #FFF;
	font-size: 20px;
	font-weight: 700;
}
.cta-banner .banner-link .link-wrap .icon-two_wheeler {
	background-image: url(../images/common/icon_two_wheeler.png);
	background-size: 32px 32px;
	background-position: center center;
	background-repeat: no-repeat;
	width: 32px;
	height: 32px;
}