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

common.css

********************************************************************************/
/*============================================================
 css変数
*============================================================*/
:root {
	--common-inner-max-width: 1024px;           /* 通常サイト幅 */
	--common-inner-max-width-wide: 1280px;      /* ワイドサイト幅 */
	--common-inner-padding: 32px;               /* 通常サイト幅内余白 */
	--common-inner-padding-wide: 72px;          /* ワイドサイト幅内余白 */
}

body {
    --inner-max-width: var(--common-inner-max-width);
    --inner-padding: var(--common-inner-padding);
}
body #site-footer,
body#page-top {
    --inner-max-width: var(--common-inner-max-width-wide);
    --inner-padding: var(--common-inner-padding-wide);
}

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

/*============================================================
 format
*============================================================*/
html {
    display: block;
    background-color: #fff;
}
body {
    width: 100%;
    font-family: 'Noto Sans JP', sans-serif;
    font-style: normal;
    font-weight: normal;
    font-size: 16px;
    line-height: 180%;
    color: #252525;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    padding: 0 0 0 0;
}
main {
    width: 100%;
}

#page-content {
    padding: 64px 0 104px 0;
}

.section {
    margin-bottom: 64px;
}
.section:last-child {
    margin-bottom: 0;
}
/* .section > * {
    margin-bottom: 32px;
}
.section > *:last-child {
    margin-bottom: 0;
} */

.inner {
    width: 100%;
    max-width: var(--inner-max-width);
    padding: 0 var(--inner-padding);
    margin: 0 auto;
}
main .inner > *:not(h1, h2, h3, h4) {
/* main .inner > div:not(.sec-inner), .inner > p { */
    margin-bottom: 32px;
}
main .inner > *:last-child {
/* main .inner > *:last-child:not(.sec-inner) { */
    margin-bottom: 0;
}

main .sec-inner, main .inner .sec-inner {
    margin-bottom: 64px;
}
main .sec-inner:last-child {
    margin-bottom: 0;
}

main .sec-inner > *:not(h1, h2, h3, h4) {
    margin-bottom: 32px;
}
main .sec-inner > *:last-child {
    margin-bottom: 0;
}

h1 {
    font-family: 'Noto Serif JP', sans-serif;
    font-weight: bold;
    font-size: 32px;
    line-height: 180%;
    color: #fff;
    letter-spacing: 0.08em;
    text-align: center;
    margin-bottom: 0;
}
h2 {
    font-family: 'Noto Serif JP', sans-serif;
    font-weight: bold;
    font-size: 32px;
    line-height: 180%;
    /* letter-spacing: 0.08em; */
    margin-bottom: 12px;
}
h3 {
    font-weight: bold;
    font-size: 20px;
    line-height: 160%;
    margin-bottom: 18px;
}

p {}
img {
    max-width: 100%;
    height: auto;
}
span {
    font-weight: inherit;
}
a[href^="tel:"] {
    pointer-events: none;
}
strong {}
.attention {
    font-size: 12px;
    line-height: 160%;
    color: #FF451D;
}
.notice {
    font-size: 12px;
    line-height: 160%;
}
.list-date {
    font-size: 12px;
    line-height: 160%;
}

/* scroll fade
---------------------------------------- */
/* .scroll-fade {
    opacity: 0;
    -webkit-transition: all 0.8s;
    -moz-transition: all 0.8s;
    -o-transition: all 0.8s;
    -ms-transition: all 0.8s;
    transition: all 0.8s;
    transform: translate(0, 50px);
}
.scroll-fade-on {
    opacity: 1;
    transform: translate(0, 0);
} */

/*============================================================
 ヘッダー　カスタム
*============================================================*/
/* gnav
---------------------------------------- */
.gnav .gnav-menu li.gnav-contact:last-child {
    margin-left: 24px;    
}
.gnav .gnav-menu li.gnav-online-shop a::after,
.gnav .gnav-menu li.gnav-atta a::after,
.gnav-sp-menu li.gnav-online-shop a::after,
.gnav-sp-menu li.gnav-atta a::after {
    content: "";
    display: inline-block;
    margin-left: 8px;
    width: 13px;
    height: 13px;
    background-image: url(../images/common/icon-page-ext-link.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 13px auto;
}
.gnav .gnav-menu .gnav-contact::after {
    content: "";
    width: 100%;
    height: 2px;
    background-color: #252525;
    position: absolute;
    bottom: -4px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
}
/* pcコンテンツ内ヘッダーメニュー */
#content-header-pc .gnav .gnav-menu li.gnav-online-shop a::after,
#content-header-pc .gnav .gnav-menu li.gnav-atta a::after {
    background-image: url(../images/common/icon-page-ext-link-white.svg);
}
/* コンテンツ内ヘッダー */
#content-header-pc .gnav .gnav-menu .gnav-contact::after {
    background-color: #fff;
}

/* SP gnav
---------------------------------------- */
.gnav-sp-menu .gnav-top {
    margin-bottom: 44px;
}
.gnav-sp-menu .gnav-top a img {
    width: 72px;
}

/*============================================================
 form
*============================================================*/
/* base
---------------------------------------- */
input,
select,
textarea,
button {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    -webkit-appearance: none;
}

input[type="radio"] {
    -webkit-appearance: radio;
    -moz-appearance: radio;
    appearance: radio;
    vertical-align: inherit;
}

input[type="checkbox"] {
    -webkit-appearance: checkbox;
    -moz-appearance: checkbox;
    appearance: checkbox;
    vertical-align: inherit;
}

input[type="text"],
input[type="tel"],
input[type="email"],
textarea,
select {
    display: block;
    width: 100%;
    height: 48px;
    background-color: #fff;
    border: solid 1px #969696;
    border-radius: 6px;
    padding: 10px 12px;
    box-sizing: border-box;
}

select {
    background-image: url(../images/common/icon-form-select.svg);
    background-repeat: no-repeat;
    background-position: right 8px center;
    background-size: 8px auto;
}
select:disabled {
    background-color: #F9F9F9;
    color: #A4A4A4;
    opacity: 1;
}

.fmDateTimePicker input {
    background-image: url(../images/common/icon-form-date.svg) !important;
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 24px auto;
}

textarea {
    padding: 10px 12px;
    height: 160px;
}

input::placeholder,
textarea::placeholder,
select::placeholder {
    color: #A4A4A4;
}

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 #969696;
    border-radius: 6px;
}

input[type="checkbox"] {
    margin: 0;
    height: 20px;
    width: 20px;
    vertical-align: -4px;
    margin-right: 12px;
}


/*============================================================
 パンくずリスト
*============================================================*/
/* TOPページでは非表示
---------------------------------------- */
#page-top #breadcrumb {
    display: none;
}

/* 詳細ページでは表示
---------------------------------------- */
#breadcrumb {
    padding: 16px 0 40px;
    font-size: 12px;
    line-height: 140%;
}

#breadcrumb ul {
    padding: 0;
    margin-bottom: 0;
}

#breadcrumb li {
    display: inline-block;
    padding: 0;
    font-size: 0;
}

#breadcrumb li > * {
    display: inline-block;
    font-size: 14px;
    line-height: 200%;
    text-decoration-line: underline;
    vertical-align: top;
}

#breadcrumb li:after {
    content: " ";
    display: inline-block;
    width: 8px;
    height: 28px;
    background-image: url(../images/common/icon-bread-arrow.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 8px auto;
    margin: 0 16px;
    vertical-align: top;
}

#breadcrumb li:last-child > * {
    text-decoration-line: none;
}

#breadcrumb li:last-child::after {
    display: none;
}


/*============================================================
 コンテンツ共通
*============================================================*/
/* 共通ブロック(下層用ページヘッダー)
---------------------------------------- */
body:not(#page-top) #page-header {
    background-color: #7B868C;
}
body:not(#page-top) #page-header #mainvisual {
    /* height: 256px;
    padding: 134px 0 0 0;
    margin: 0 auto; */
    padding: 132px 0 0 0;
    margin: 0 auto;
    height: auto;
}
body:not(#page-top) #page-header #mainvisual .inner {
    /* position: relative;
    height: 100%; */
    position: relative;
    height: 100%;
    /* min-height: 124px; */
    padding-bottom: 80px;
    /* display: table; */
}
body:not(#page-top) #page-header #mainvisual .inner h1 {
    /* display: table-cell;
    vertical-align: middle;   */
}
body:not(#page-top) #page-header #mainvisual #breadcrumb {
    /* padding: 10px 16px;
    background-color: #fff;
    position: absolute;
    bottom: 0; */
    /* left: 0; */
    padding: 8px 16px;
    background-color: #fff;
    position: absolute;
    bottom: 0;
    left: var(--inner-padding);
    max-width: calc(var(--inner-max-width) - (var(--inner-padding) * 2));
    overflow-x: auto;
}
body:not(#page-top) #page-header #mainvisual #breadcrumb ul {
    padding: 0;
    margin-bottom: 0;
    white-space: nowrap;
}

/* 共通ブロック(タイトル・ボタン並列)
---------------------------------------- */
/* main(PC標準用) */
.block-title-btn[data-type="main"] {
    margin-bottom: 32px;
}
.block-title-btn[data-type="main"] h2 {
    margin-bottom: 0;
}
.block-title-btn[data-type="main"] .parts-btn  {
    margin: 0;
}
/* sub(切り替え用) */
.block-title-btn[data-type="sub"] {
    display: none;
}

/* 共通ブロック(ページリンク)
---------------------------------------- */
.block-card-page .item {
    display: block;
    width: 48%;
    margin-bottom: 24px;
    padding-bottom: 8px;
}
.block-card-page .item:nth-last-child(-n+2) {
    margin-bottom: 0;
}
.block-card-page .item .item-image {
    margin-bottom: 16px;
}
.block-card-page .item .item-title {
    margin-bottom: 0;
    background-image: url(../images/common/icon-page-inner-link.svg);
    background-repeat: no-repeat;
    background-position: right 16px center;
    background-size: 20px auto;
    text-align: left;
}
.block-card-page .item[target="_brank"] .item-title {
    background-image: url(../images/common/icon-page-ext-link.svg);
}

/* 共通ブロック(横スクロール)
※必要があれば内部の幅は個別に設定
　(デフォルトはauto)
　→　width: 内部の幅;
---------------------------------------- */
/* ブロック左余白 */
.block-wscroll {
    padding: 0 0 0 calc((100% - var(--inner-max-width)) / 2 + var(--inner-padding));
}
/* ブロック右余白、スクロール設定 */
.block-wscroll .block-wscroll-inner {
    padding: 0 var(--inner-padding) 16px 0;
    overflow-x: auto;
}
.block-wscroll .block-wscroll-inner > * {
    width: auto;
    white-space: nowrap;
}
.block-wscroll .block-wscroll-inner > * > * {
    white-space: normal;
}

/* 共通ブロック(円型ステップ)
---------------------------------------- */
.block-step-circle .item {
    width: 172px;
    height: 172px;
    background-color: #7B868C;
    border-radius: 100%;
    padding: 40px 0;
    color: #fff;
    text-align: center;
    margin-right: 28px;
    position: relative;
}
.block-step-circle .item:last-child {
    margin-right: 0;
}
.block-step-circle .item::after {
    content: "";
    display: block;
    width: 28px;
    height: 3px;
    background-color: #666666;
    position: absolute;
    top: calc(50% - 1.5px);
    right: -28px;
}
.block-step-circle .item:last-child:before {
    content: '';
    display: block;
    width: 10px;
    height: 100%;
    background-image: url(../images/common/icon-step-arrow.svg);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 10px auto;
    position: absolute;
    top: 0;
    left: -10px;
}
.block-step-circle .item:last-child:after {
    display: none;
}
.block-step-circle .item .item-title {
    font-weight: bold;
    margin-bottom: 12px;
}
.block-step-circle .item .item-lead {
    font-size: 12px;
    line-height: 160%;
}

/* 共通ブロック(アクセス)
---------------------------------------- */
.block-access .item-info {
    width: 360px;
}
.block-access .item-info h3 {
    margin-bottom: 24px;
}
.block-access .item-info .label {
    font-weight: bold;
}
.block-access .item-info .item-address {
    line-height: 160%;
    padding-left: 24px;
    margin-bottom: 10px;
    background-image: url(../images/common/icon-google-map-pin.svg);
    background-repeat: no-repeat;
    background-position: left top 4px;
    background-size: 18px auto;
}
.block-access .item-info .item-tel {
    line-height: 160%;
    padding-left: 24px;
    margin-bottom: 20px;
}
.block-access .item-info .item-traffic {
    line-height: 160%;
    margin-bottom: 20px;
}
.block-access .item-info .item-traffic .data {
    padding-left: 24px;
    margin-bottom: 20px;
}
.block-access .item-info .item-btn {
    margin: 56px 0 0 0;
}
.block-access .item-map {
    width: calc(100% - 360px - 40px);
}
.block-access .item-map iframe {
    width: 100%;
    height: 100%;
}

/* 共通ブロック(PICKUP)
---------------------------------------- */
.block-pickup .pickup-slider {
    /* ((画像幅 + 画像右余白) * 画像個数) */
    /* width: calc((260px + 32px) * 6); */
    width: auto;
    white-space: nowrap;
}
.block-pickup .pickup-slider .slide {
    display: inline-block;
    margin-right: 32px;
}
.block-pickup .pickup-slider .slide:last-child {
    margin-right: 0;
}
.block-pickup .pickup-slider .slide img {
}

/* カスタムパーツ(英語ページへのボタン)
---------------------------------------- */
.btn-english a {
    background-image: url(../images/common/icon-page-ext-link-white.svg);
    background-repeat: no-repeat;
    background-position: right 16px center;
    background-size: 14px auto;
}

/*============================================================
 コンテンツ　ページング
*============================================================*/
/* jqueryプラグイン　InfiniteScroll使用時
---------------------------------------- */
/* メッセージ */
.page-load-status {
    text-align: center;
}
button.view-more-button:hover {
    cursor: pointer;
}


/*============================================================
 システムエラー　404、500
*============================================================*/
#page-system-error #sec-system-error {
    margin-top: 80px;
    padding: 40px 0 80px 0;
    text-align: center;
    background-color: #fff;
    border-radius: 4px;
}

#page-system-error #sec-system-error .system-error-num {
    font-family: 'Noto Serif JP', sans-serif;
    font-weight: 900;
    font-size: 120px;
    line-height: 100%;
    letter-spacing: 0.04em;
    margin-bottom: 24px;
}

#page-system-error #sec-system-error .system-error-sts {
    font-family: 'Noto Serif JP', sans-serif;
    font-weight: bold;
    font-size: 32px;
    line-height: 180%;
    margin-bottom: 24px;
}

#page-system-error #sec-system-error .system-error-lead {
    margin-bottom: 56px;
}


/*============================================================
 ページトップ
*============================================================*/
#pagetop {
    position: fixed;
    bottom: 60px;
    right: var(--inner-padding);
    z-index: 100;
}
#pagetop:hover {
    cursor: pointer;
}

/*============================================================
 footer
*============================================================*/
/* common
---------------------------------------- */
/* ※フッターはページ関係なくワイド幅 */
#site-footer .inner {
    max-width: var(--common-inner-max-width-wide);
    padding: 0 var(--common-inner-padding-wide);
}


/* CTA　NEWS
---------------------------------------- */
#site-footer #sec-news {
    background-color: #F1EFE9;
    padding: 32px 0 48px 0;
}
#site-footer #sec-news .block-wscroll .block-wscroll-inner .news-list {
    /* width: calc((300px + 40px) * 5 - 40px); */
}
#site-footer #sec-news .block-wscroll .block-wscroll-inner .news-list .item {
    display: inline-block;
    width: 300px;
    height: 108px;
    padding: 16px;
    background-color: #fff;
    background-image: url(../images/common/icon-page-inner-link.svg);
    background-repeat: no-repeat;
    background-position: right 24px bottom 16px;
    background-size: 16px auto;
    margin-right: 40px;
}
#site-footer #sec-news .block-wscroll  .block-wscroll-inner .news-list .item:last-child {
    /* margin-right: 0; */
}
#site-footer #sec-news .block-wscroll .block-wscroll-inner .news-list .item .item-title {
    font-weight: bold;
    font-size: 14px;
    line-height: 160%;
    margin-bottom: 4px;
    height: 48px;
}

/* CTA　CONTACT
---------------------------------------- */
#site-footer #sec-contact {
    padding: 32px 0 48px 0;
}
#site-footer #sec-contact h2 {
    text-align: center;
    margin-bottom: 16px;
}
#site-footer #sec-contact .box-conntact > *:not(:last-child) {
    border-right: solid 1px #C4C4C4;
}
#site-footer #sec-contact .box-conntact .title-icon {
    font-weight: bold;
    font-size: 16px;
    line-height: 200%;
    padding-top: 72px;
    text-align: center;
    letter-spacing: 0.08em;
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 64px;
    margin-bottom: 12px;
}
/* お問い合わせ */
#site-footer #sec-contact .box-conntact .item-contact {
    padding: 32px 72px 0 0;
}
#site-footer #sec-contact .box-conntact .item-contact .title-icon {
    background-image: url(../images/common/icon-cta-contact-contact.svg);
}
/* ショールームのご予約 */
#site-footer #sec-contact .box-conntact .item-showroom {
    padding: 32px 72px 0 72px;
}
#site-footer #sec-contact .box-conntact .item-showroom .title-icon {
    background-image: url(../images/common/icon-cta-contact-showroom.svg);
}
#site-footer #sec-contact .box-conntact .item-contact .btn-contact,
#site-footer #sec-contact .box-conntact .item-showroom .btn-main {
    margin-bottom: 24px;
}
/* カタログのご案内 */
#site-footer #sec-contact .box-conntact .item-catalog {
    padding: 32px 0 0 72px;
}
#site-footer #sec-contact .box-conntact .item-catalog .title-icon {
    background-image: url(../images/common/icon-cta-contact-catalog.svg);
}

/* Footer Navi
---------------------------------------- */
#site-footer #footer-fnav {
    padding: 64px 0 20px 0;
    background-color: #BBBBBB;
    color: #fff;
}
#site-footer #footer-fnav .fnav-left {
    width: calc(100% - 752px);
}
.page-en #site-footer #footer-fnav .fnav-left {
    width: calc(100% - 300px);
}
/* ロゴ */
#site-footer #footer-fnav .footer-logo {
    width: 200px;
    margin-bottom: 24px;
}
/* 企業名 */
#site-footer #footer-fnav .company-name {
    font-weight: 500;
    font-size: 16px;
    line-height: 220%;
    margin-bottom: 4px;
}
/* 所在地 */
#site-footer #footer-fnav .company-address {
    font-weight: 500;
    font-size: 14px;
    line-height: 220%;
}
#site-footer #footer-fnav .company-address span{
    display: inline-block;
}
#site-footer #footer-fnav .company-address .postal{
    /* display: block; */
    padding-right: 1em;
}
/* ページリンク */
#site-footer #footer-fnav .fnav-menu li {
    margin: 0 32px 0 0;
    font-weight: bold;
    font-size: 16px;
    line-height: 23px;
}
#site-footer #footer-fnav .fnav-menu li:last-child {
    margin: 0;
}
#site-footer #footer-fnav .fnav-menu li.fnav-online-shop {
    position: relative;
}
#site-footer #footer-fnav .fnav-menu li.fnav-online-shop a::after,
#site-footer #footer-fnav .fnav-menu li.fnav-atta a::after {
    content: "";
    display: inline-block;
    margin-left: 8px;
    width: 13px;
    height: 13px;
    background-image: url(../images/common/icon-page-ext-link-white.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 13px auto;
}
#site-footer #footer-fnav .fnav-menu li.fnav-contact {
    margin-left: 24px;
    position: relative;
}
#site-footer #footer-fnav .fnav-menu li.fnav-contact::after {
    content: "";
    width: 100%;
    height: 2px;
    background-color: #fff;
    position: absolute;
    bottom: -4px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
}
/* SNSリンク */
#site-footer #footer-fnav .fnav-sns {
	gap: 32px;
	margin-top: 32px;
}
#site-footer #footer-fnav .fnav-sns a:nth-child(4) img {
	padding-top: 4px; /* youtube */
}
@media screen and (max-width: 1100px) {
    #site-footer #footer-fnav {
        flex-direction: column;
    }
    #site-footer #footer-fnav .fnav-left {
        width: 100%;
    }
    #site-footer #footer-fnav .fnav-right {
        width: 100%;
        margin-top: 32px;
    }
}
@media screen and (max-width: 1024px) {
	#site-footer #footer-fnav .fnav-sns.parts-boxes {
		justify-content: center;
	}
}

/* Copyright
---------------------------------------- */
#site-footer #copyright {
    padding: 20px 0 24px 0;
    background-color: #BBBBBB;
    color: #fff;
    font-weight: 500;
    font-size: 12px;
    line-height: 220%;
    text-align: center;
}


/* POPUP
---------------------------------------- */
#popup {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 420px;
    background-color: rgba(0,0,0,.64);
    color: #fff;
    padding: 0 10px;
    z-index: 10;
    font-family: 'Noto Sans JP', sans-serif;
}
#popup .popup-inner {
    margin-top: 16px;
}
#popup .btn-close {
    position: absolute;
    top: 0;
    right: 0;
}
#popup .popup-title {
    font-size: 16px;
    font-family: 'Noto Sans JP', sans-serif;
}
#popup .parts-boxes {
    flex-direction: row;
}
#popup .box {
    width: 48%;
}
#popup .btn a {
    background-color: #fff;
    color: #000;
    display: block;
    text-align: center;
    padding: 10px;
    margin: 10px 0;
    border-radius: 10px;
}