@charset "UTF-8";

/* common */
.pore { position: relative;}
.poab { position: absolute;}
a,
::after,
::before { transition: 0.3s; }
.after { position: relative; }
.after::after { content: ""; position: absolute; }
.txc { text-align: center; }
.txr { text-align: right; }
.txl { text-align: left; }
.fc-red { color: red; }
.fc-blue { color: #005BAB; }
.fc-wh { color: #fff; }
.bg-blue { background: #005BAB; }
.bg-gr { background: #f1f1f1; }
.lh2 { line-height: 2;}
.lh25 { line-height: 2.5;}
.bold { font-weight: bold;}
.ls0 { letter-spacing: 0;}
@media screen and (min-width: 992px) {
  .tellink { pointer-events: none; }
}
.txtlink { text-decoration: underline; }
.txtlink:hover { text-decoration: none; }
.u-mb-4wrap {margin-bottom: -2rem !important; }
.u-pt-10,
.u-py-10 { padding-top: calc(0.5rem * 10) !important; }
.u-pb-10 { padding-bottom: calc(0.5rem * 10) !important; }
@media screen and (max-width: 991px) {
  .u-pt-10,
  .u-py-10 { padding-top: calc(0.5rem * 5) !important; }
  .u-pb-10 { padding-bottom: calc(0.5rem * 5) !important; }
  .sp-mt-2 { margin-top: 20px;}
  .sp-mb-2 { margin-bottom: 20px;}
  .ofs-x { width: 100%; overflow-x: scroll; }
}
.ml15 { margin-left: 15px; }
.ilb { display: inline-block; }
.fs-h3 { font-size: calc(1.25rem + 0.9375rem) / 2; }
.fs12 { font-size: 12px; }
.fs20 { font-size: 20px; }
.fs22 { font-size: 22px; }
@media screen and (max-width: 991px) {
  .fs12 { font-size: 11px; }
  .fs20 { font-size: 16px; }
  .fs22 { font-size: 18px; }
}
.pore { position: relative; }
.fit {width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;}
.shadow {box-shadow: 0 5px 10px rgba(0, 0, 0, 0.4); }
.flex { display: flex; flex-wrap: wrap; }
.flex-fdc { display: flex; flex-direction: column; }
.flex-aic { display: flex; align-items: center; flex-wrap: wrap; }
.flex-aie { display: flex; align-items: flex-end; flex-wrap: wrap; }
.flex-jcs { display: flex; flex-wrap: wrap; justify-content: space-between; }
.flex-jcc { display: flex; flex-wrap: wrap; justify-content: center; }
.flex-jce { display: flex; flex-wrap: wrap; justify-content: flex-end; }
.flex-center { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; }
@media screen and (min-width: 992px) {
    .l-row__col--1of5 {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%;
    }
}
.l-row:has(.l-row__col--1of5.l-row__col--4) { margin-bottom: -20px;}
.l-row__col--1of5.l-row__col--4 { margin-bottom: 20px; }

.pageinlink { padding-top: 100px; margin-top: -100px; }
.linkbtn { height: 50px; border-radius: 3px; }
.linkbtn.bg-gr:hover { background: #005BAB; color: #fff; opacity: 1; }
.c-basic-btn.cart .c-basic-btn--txt { font-size: inherit; }
.c-basic-btn.cart::before { font-size: 12px; }

.show-800 { display: none;}
@media screen and (max-width: 800px) {
  .hide-800 { display: none;}
  .show-800 { display: block;}
}


/* top
==========================================================*/

@media screen and (max-width: 991px) {
  .p-product-search__formwrap { display: block;}
  .p-product-search__form{ width: 100%; margin-bottom: 15px; }
  .p-product-search__note { width: 100%; margin: 0;  }
}

.newslistul { border-top: 1px solid #adadad; }
.newslistul li { border-bottom: 1px solid #adadad;}
.newslistul li a { padding: 20px;}
@media screen and (min-width: 992px) {
  .newslistcate { width: 110px; }
  .newslistdate { width: 120px; }
}
.newslistcate::after { content: "/"; right: 20px; }
.newslistttl { width: calc(100% - 110px - 120px); }
@media screen and (max-width: 991px) {
  .newslistul li a { padding: 15px 10px;}
  .newslistcate { padding-right: 15px;}
  .newslistcate::after { right: 5px; }
  .newslistttl { width: 100%; margin-top: 10px; }
}

.indpickul{ margin-left: -50px; margin-bottom: -50px; }
.indpickul li { width: calc(100% / 3 - 50px); margin-left: 50px; margin-bottom: 50px; }
.indpickul li a{ display: block;}
.indpickcatwrap { margin-bottom: 15px; font-size: 0.85em;}
.indpickimg { aspect-ratio: 3 / 2; overflow: hidden; margin-bottom: 15px;}
.indpickimg img { object-fit: cover; width: 100%; height: 100%; }
.indpickcat{ width: inherit; padding-right: 15px; }
.indpickcat::after{ content: "/"; right: 5px; }
@media screen and (max-width: 991px) {
  .indpickul{ margin-left: -20px; margin-bottom: -30px; }
  .indpickul li { width: calc(100% / 2 - 20px); margin-left: 20px; margin-bottom: 30px; }
}

.morebtnwrap { margin-top: 30px; }
.morebtn { padding: 10px 30px 10px 15px; line-height: 1; display: block; position: relative;  }
.morebtn::before { width: 100%; height: 2px; content: ""; position: absolute; background: #005bab; bottom: 0; left: 0; }
.morebtn::after { width: 12px; height: 2px; bottom: 3px; right: 1px; transform: rotate(25deg); content: ""; background: #005bab; position: absolute; }
.morebtn:hover::before { left: 10px; }
.morebtn:hover::after { right: -10px; }
@media screen and (max-width: 991px) {

}



/* product
==========================================================*/

article.product,
article.maincss { padding-bottom: 120px; }

/* 一覧 */
.prodlistul{ margin-left: -30px; margin-bottom: -60px}
.prodlistul > li{ width: calc(100% / 4 - 30px); margin-left: 30px; margin-bottom: 60px;}
.prodlistul > li > div { }
.prodlistdl{ margin-top: 20px; position: relative;}
.prodlistdl dt { display: inline-block; padding-right: 1.2em; text-decoration: underline; cursor: pointer;}
.prodlistdl dt::after { content: "▼"; right: 0; top:0;}
.prodlistdl dt.active::after { transform: rotate(180deg); top: 0.15em;}
.prodlistdl dd { display: none; }
.prodlistdl ul { margin-top: 10px; }
.prodlistdl ul li { }
.prodlistdl ul li::before { top: 5px;}
.prodlistdl ul li a { padding: 5px 0; display: block; }
@media screen and (max-width: 991px) {
  .prodlistul > li{ width: calc(100% / 3 - 30px);}
}
@media screen and (max-width: 750px) {
  .prodlistul{ margin-left: -20px; margin-bottom: -40px}
  .prodlistul > li{ width: calc(100% / 2 - 20px); margin-left: 20px; margin-bottom: 40px;}
}
@media screen and (max-width: 460px) {
  .prodlistul > li{ width: 100%; }
}


/* ブランド */
.brandmain { overflow: hidden;}
.brandmain img {
  min-width: 1980px;
  width: auto;
  display: block;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 1479px) {
  .brandmain img { min-width: 1840px; }
}
@media screen and (max-width: 1040px) {
  .brandmain img { min-width: 175vw; }
}
@media screen and (max-width: 991px) {
  .brandmain,
  .seriesmain {border-top: 1px solid rgb(173, 173, 173);}
}

.productslide { padding-bottom:30px; }
.productslide .swiper-pagination { bottom: 0; }
.productslide .swiper-pagination-bullet { background: #d0d1d1; opacity: 1;}
.productslide .swiper-pagination-bullet-active,
.floorslide .swiper-pagination-bullet-active { background: #005ba1; }
.u-bg-gray:has(.c-img-wrap--100) { min-height: 200px; }

.product-sccatul { font-size: 12px; margin-left: 15px; }
.product-sccatul li { margin-right: 5px; }
.product-sccatul li img { height: 20px; width: auto; }

.prodcatalogul { margin-bottom: -60px; }
.prodcatalogul li { width: calc(50% - 30px); margin-bottom: 60px; }
.prodcatalogulimg { margin-bottom: 20px; }
@media screen and (max-width: 991px) {
  .prodcatalogul { margin-bottom: -30px; }
  .prodcatalogul li { width: calc(50% - 10px); margin-bottom: 30px; }
}
@media screen and (max-width: 750px) {
  .prodcatalogul .u-flex:has(.c-basic-btn) { display: block !important; }
  .prodcatalogul .c-basic-btn { margin-bottom: 10px;}
}

/* シリーズ */
.pan {border-top: 1px solid #adadad; border-bottom: 1px solid #adadad; }
.maingrad { overflow: hidden;
  background: linear-gradient( to bottom,
  #FFFFFF 0%,
  #FFFFFF 50%,
  #E3E2E2 75%,
  #DEDEDE 100%
  );
}
.seriesmain { max-width: 1100px; padding: 0 15px; margin: 0 auto; }
@media screen and (max-width: 1479px) {
  .seriesmain { max-width: 1022px;}
}
@media screen and (max-width: 1020px) {
.seriesmain { padding-left: 20px; padding-right: 0; }
}
.seriescatch { width: 100%; padding: 60px 15px; margin-bottom: 40px; border-bottom: 1px solid #adadad; }
@media screen and (max-width: 550px) {
  .seriescatch { padding: 40px 10px; margin-bottom: 20px; }
  .seriescatch br { display: none; }
}

.c-basic-ttl--md.text-center { text-align: center !important; }
.centermovie { max-width: 494px; width: 100%; margin: 0 auto; }
.c-wimg-95 iframe,
.productslide iframe,
.centermovie iframe { width: 100%; aspect-ratio: 16 / 9; }

.serieslistseries { padding-top: 0.5em; line-height: 1.2; }
.serieslistno {}
.serieslistname { font-size: 0.8em; }

.prodspecwrap {
  height: 550px;
  overflow: hidden;
  transition: height 0.4s ease;
}
.prodspecwrap.open { padding-bottom: 100px;}
.prodspecwrap.open .productmorewrap { background: none; }
.c-basic-btn--txt:nth-child(2) {
  display: none;
}


.product-tab,
.whiteboard-tab { width: 100%; border-top: 1px solid #adadad; }
.product-tab + .product-tab { margin-top: 80px }
.product-tab thead th,
.whiteboard-tab thead th { background: #f1f1f1; vertical-align: middle; }
.product-tab th,
.product-tab td,
.whiteboard-tab th,
.whiteboard-tab td { min-height: 50px; padding: 10px 0; padding-left: 20px; text-align: left; word-break: break-word; border-bottom: 1px solid #adadad; vertical-align: middle; }
.product-tab th:last-child { width: 250px; }
.product-tab th:nth-last-child(2) { width: 280px; }
.product-tab th:nth-child(2) { width: 250px; }
.product-tab td:last-child,
.whiteboard-tab.product-tab th:last-child { padding-right: 20px;}
.whiteboard-tab th,
.whiteboard-tab td { text-align: center;}
.whiteboard-tab th:nth-child(1),
.whiteboard-tab td:nth-child(1) { text-align: left;}
.whiteboard-tab.product-tab th:last-child { width: inherit; }
.kome { display: inline-block; position: relative; }
.kome::after { content: "※"; font-size: calc(12em / 20); position: absolute; top: 0; right: -1em; color: #000;}
.komew2::after { right: -2em;}
.kome01::after { content: "※1";}
.kome02::after { content: "※2";}
.kome03::after { content: "※3";}
@media screen and (max-width: 991px) {
  .product-tab { border: none; }
  .product-tab thead { display: none; }
  .product-tab th,
  .product-tab td { display: block; min-height: inherit; border: none; padding: 0 15px; }
  .product-tab tr:nth-child(1) td:nth-child(1) { padding: 0; font-family: "A+mfCv-AXIS Font ベーシック M ProN"; }
  .product-tab td:nth-last-child(2) { margin-bottom: 10px;}
  .product-tab td:nth-last-child(3) { padding: 10px 0; margin: 15px 0 10px; border-bottom: 1px solid #adadad; border-top: 1px solid #adadad; }
  .product-tab td:last-child { margin-bottom: 10px; }

}

.cs_luminoustab,
.series_commontab,
.whiteboard-tab { width: 100%; min-width: 900px; }
.ij_laminatetab{ width: 100%; }
.cs_luminoustab th,
.cs_luminoustab td,
.ij_laminatetab th,
.ij_laminatetab td { padding: 10px 5px; vertical-align: middle; text-align: center; border: 1px solid #adadad; }
.series_commontab { border-bottom: 1px solid #adadad}
.series_commontab th,
.series_commontab td { padding: 10px 5px; vertical-align: middle; border-top: 1px solid #adadad; }
.cs_luminoustab td:nth-child(1),
.cs_luminoustab td:nth-child(2) { width: 18%; }
.cs_luminoustab td:nth-child(3) { width: calc(60% - 18% * 2); }
.cs_luminoustab td:nth-child(n+4) { width: calc(40% / 4); }
.sf_lowreflecttab th,
.sf_lowreflecttab td { width: calc(100% / 13); }
.sf_lowreflecttab tr > :nth-child(1) { width: calc(100% / 13 * 2);}
.sf_lowreflecttab tr > :nth-child(2) { width: calc(100% / 13 * 2.5);}
.sf_lowreflecttab tr > :nth-child(3) { width: calc(100% / 13 * 2);}
.sf_lowreflecttab tr > :nth-child(4) { width: calc(100% / 13 * 1.5);}

.productmorewrap { z-index: 2; aspect-ratio: 1002 / 164; background: url(/assets/images/product/morebg.png) no-repeat center; background-size: cover; width: 100%; position: absolute; bottom: 0; left: 0; }
.productmorewrap .c-basic-btn { height: 50px; }
.p-card__img { aspect-ratio: 185 / 125; }
.p-card__ico { margin-top: 10px; }
.p-card__txt { font-size: 11px; }

.sf_lowreflect3col { display: flex; flex-wrap: wrap; margin-left: -10px; }
.sf_lowreflect3col div { width: calc(100% / 3 - 10px); margin-left: 10px; }

.h2subtxt { margin-left: 40px; margin-top: 0.5em; }
@media screen and (max-width: 991px) {
  .h2subtxt {  margin: -0.5em 0 1em; width: 100%; }
}

@media screen and (min-width: 992px) {
  .prodworkstxt { display: flex;}
  .prodworkstxt h3 { width: 280px;}
  .prodworkstxt > *:not(h3) { width: calc(100% - 280px);}
}
.prodworkstxt { padding: 20px 0;}
.prodworkstxt h3 { margin-bottom: 15px; line-height: 1.8; }
.sf_lowreflectworksslide::after { left: 0; bottom: 30px; width: 100%; height: 1px; background: #f1f1f1;}



/* contact
==========================================================*/

.contactnewslinkwrap { margin: 40px 0 -15px;}
.contactnewslink { padding: 25px 40px; display: block; background: #FFE8E8; border: 1px solid #f00; margin-bottom: 15px; }
.contactnewslink p {  color: #f00; }
.contactnewslink p:nth-child(1) { margin-bottom: 10px; }

.contactcol > div { width: calc(50% - 25px);}
.contactblock { padding: 50px; border: 1px solid #adadad; display: flex; flex-direction: column; }
.contactblockmid{ margin-bottom: 30px; }
.contactblockmidimg { width: 50px; margin-right: 20px; }
.contactblockmidtxt { }
.contactblocktxt{ margin-bottom: 50px;}
a.contactblockbtn{ height: 50px; border-radius: 3px; max-width: 300px; width: 100%; margin: 0 auto; }
.contactrecwrap {
  margin-top: 50px;
  display: flex;
  align-items: center;
  padding: 40px;
  padding-left: 60px;
  width: 100%;
}
.contactrecmid {
  flex-shrink: 0; /* 縮ませない */
  padding-left: 40px;
  margin-right: 40px;
}
.contactrecmid::after { width: 30px; height: 30px; left: 0; background: url(/assets/images/contact/ico-cart.png) no-repeat center; background-size: cover; }
.contactrectxt {
  flex-grow: 1;
  min-width: 100px; /* 縮みすぎ防止（調整可能） */
  white-space: normal;     /* ← 折り返す */
  word-break: break-word;  /* ← 長い単語も折り返す */
}

.contactreservewrap > p {}
a.contactreservebtn{ height: 60px; margin: 40px 0 20px; border-radius: 3px; }
a.contactreservebtn div { width: 30px; margin-right: 20px;}
a.contactreservebtn div img { vertical-align: middle;}
a.contactreservebtn p {}
.contactreservebtnsub { margin: 20px 0;}

.contacttelul{}
.contacttelul li:not(:last-child){ border-bottom: 1px solid #adadad; }
.contacttelul li a,
.contacttelul li div { padding: 15px 0; }
.contacttelsubtxt { left: 0; bottom: -50px; width: 100%; text-align: center; }

@media screen and (max-width: 991px) {
  .contactnewslinkwrap { margin: 30px 0 -10px;}
  .contactnewslink { padding: 15px 20px; margin-bottom: 10px; }
  .contactnewslink p:nth-child(1) { margin-bottom: 5px; }

  .contactcol > div { width: 100%;}
  .contactcol > div:not(:last-child) { margin-bottom: 20px; }
  .contactblock { padding: 30px 20px; }
  .contactblockmid{ margin-bottom: 15px; }
  .contactblockmidimg { width: 35px; margin-right: 10px; }
  .contactblocktxt{ margin-bottom: 30px;}
  .contactrecwrap {
    display: block;
    margin-top: 30px;
    padding: 30px 20px;
  }
  .contactrecmid { padding-left: 35px; margin-right: 0; margin-bottom: 15px;}
  .contactrecmid::after { width: 25px; height: 25px; }
  .contactreservewrap > p {}
  a.contactreservebtn{ height: 50px; margin: 30px 0 20px; }
  a.contactreservebtn div { width: 25px; margin-right: 10px;}
  .contacttelsubtxt { position: inherit; bottom: inherit; margin: -10px 0 20px; }

}



/* company
==========================================================*/

.companywideimg { margin-bottom: 50px; }
.messageul { margin-bottom: -50px; }
.messageul > li { margin-bottom: 50px; }
.messageul > li > p:not(:last-child) { margin-bottom: 20px;}
.listul {font-size: 0.9375rem; }
.listul:not(:last-child) { margin-bottom: 20px; }
.listul > li { padding-left: 1em; position: relative; }
.listul > li::before { content: "・"; position: absolute; top: 0; left: 0;}
.companybtnwrap { margin: 120px auto 0; max-width: 790px; width: calc(100% - 80px); }
.companybtnul { margin-left: -50px; margin-bottom: -30px; }
.companybtnul li { width: calc(100% / 3 - 50px); margin-left: 50px; margin-bottom: 30px; }
.companybtnul li a { }

.companytab { margin-top: 80px; border-top: 1px solid #adadad; width: 100%; }
.companytab > tbody > tr > th { width: 280px; text-align: left; }
.companytab > tbody > tr > th,
.companytab > tbody > tr >  td { padding: 20px; padding-right: 0; border-bottom: 1px solid #adadad; }
.yakutab { }
.yakutab th,
.yakutab td { padding-bottom: 0.5em; }
.yakutab th { padding-right: 1em; }

.locationul {}
.locationul li { padding: 40px 0; border-bottom: 1px solid #adadad;}
.locationul li:nth-child(1) { padding-top: 0;}
.locationul-l { width: calc(50% - 40px); }
.locationul-l h3 { margin-bottom: 20px; }
.locationul-l p { }
.locationul-r { width: 50%; min-height: 250px; }
.locationul-r iframe { }

@media screen and (max-width: 991px) {
  .companywideimg { margin-bottom: 30px; }
  .messageul { margin-bottom: -30px; }
  .messageul > li { margin-bottom: 30px; }
  .companybtnwrap { margin: 60px auto 0; width: calc(100% - 50px); }
  .companybtnul { margin-left: -10px; margin-bottom: -10px; }
  .companybtnul li { width: calc(100% / 2 - 10px); margin-left: 10px; margin-bottom: 10px; }

  .companytab { margin-top: 40px; }
  .companytab > tbody > tr > th { display: block; width: 100%; padding: 15px 0 10px 0; border-bottom: none; }
  .companytab > tbody > tr > td { display: block; padding: 0 0 15px 0; }

  .locationul {}
  .locationul li { padding: 30px 0;}
  .locationul li:nth-child(1) { padding-top: 0;}
  .locationul-l { width: 100%; }
  .locationul-l h3 { margin-bottom: 20px; }
  .locationul-l p { }
  .locationul-r { margin-top: 20px; width: 100%;  }
}



/* recruit
==========================================================*/

.faqdl { border-bottom: 1px solid #adadad; }
.faqdl dt { padding: 15px 50px 15px 60px; border-top: 1px solid #adadad; cursor: pointer; display: flex; justify-content: space-between; align-items: center; }
.faqdl dd { padding: 0 0 15px 60px; display: none; }
.faqdl dd::after { }
.faqdl dt::after,
.faqdl dd::after { left: 20px; top: 15px; width: 25px; height: 25px; background: url(/assets/images/recruit/ico-q.png); background-size: cover !important; }
.faqdl dd::after {  top: 0; background: url(/assets/images/recruit/ico-a.png);}
.faqopen {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: #005b9a;
    position: absolute; right: 20px; top: 15px;
    flex-shrink: 0;
}
.faqopen::before,
.faqopen::after {
    content: '';
    position: absolute;
    background-color: #fff;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) rotate(0deg);
    transition: transform 0.3s ease, opacity 0.3s ease;
}
.faqopen::before {
    width: 14px;
    height: 1px; /* 横棒 */
}
.faqopen::after {
    width: 1px;
    height: 14px; /* 縦棒 */
}
/* 開いたとき：縦棒が回転しながらフェードアウト */
.faqopen.open::after {
    transform: translate(-50%, -50%) rotate(90deg);
    opacity: 0;
}
@media screen and (max-width: 991px) {
  .faqdl dt { padding: 15px 30px 15px 30px;}
  .faqdl dd { padding: 0 0 15px 30px; }
  .faqdl dt::after,
  .faqdl dd::after { left: 0; top: 20px; width: 20px; height: 20px; }
  .faqdl dd::after { top: 5px;}
  .faqopen { width: 20px; height: 20px; position: absolute; right: 0; top: 20px; }
  .faqopen::before { width: 10px; }
  .faqopen::after { height: 10px; }
}

.recruittab {  border-bottom: 1px solid #adadad; }
.recruittab th,
.recruittab td { padding:20px 15px; border-top: 1px solid #adadad;}
.recruittab th { width: 250px; vertical-align: middle; text-align: left;  font-family: "A+mfCv-AXIS Font ベーシック M ProN";
font-weight: initial !important; color: #005BAB; }
.recruittab td { width: calc(100% - 250px); padding-left: 0; line-height: 2; }
.recruittab td p:not(:last-child) { margin-bottom: 20px; }
.img2 { display: flex; margin-left: -5px;}
.img2 img { width: calc(50% - 5px); margin-left: 5px; display: block; }
.recruitbtn { border: 3px solid #efeff0; max-width: 480px; height: 80px; width: 100%; margin: 80px auto 0; font-size: 25px; }
.recruitbtn::after { width: 35px; height: 10px; right: 35px; background: url(/assets/images/recruit/recruitbtn-arrow.png) no-repeat center; background-size: cover; }
.recruitbtn:hover::after { right: 25px; }
@media screen and (max-width: 991px) {
  .recruittab th,
  .recruittab td { width: 100%; display: block; padding: 0; }
  .recruittab th { padding: 15px 0 10px; }
  .recruittab td { padding-bottom: 15px; border: none; }
}



/* catalog
==========================================================*/

.catalogul { margin-left: -60px; margin-bottom: -60px; }
.catalogul li { display: flex; flex-direction: column; justify-content: space-between; width: calc(100% / 3 - 60px); margin-left: 60px; margin-bottom: 60px; }
.catalogulimg { margin-bottom: 15px; }
.catalogulttl { margin: 5px 0 15px; }
.catalogultxt { margin-bottom: 15px; font-size: 0.875rem; }
.catalogulseries { margin-bottom: 20px; font-size: 0.875rem; }
.catalogul a.c-basic-btn--gray { margin: 0 0 10px; max-width: inherit;}
.catalogul a.bg-blue { }
@media screen and (max-width: 991px) {
  .catalogul { margin-left: -30px; margin-bottom: -30px; }
  .catalogul li { width: calc(100% / 2 - 30px); margin-left: 30px; margin-bottom: 30px; }
  .catalogulimg { margin-bottom: 10px; }
  .catalogulttl { margin: 4px 0 10px; }
  .catalogultxt { margin-bottom: 10px; }
  .catalogulseries { margin-bottom: 15px; }
  .catalogul a.c-basic-btn--gray { margin: 0 0 8px;}
}
@media screen and (max-width: 450px) {
  .catalogul li { width: 100%; }
}



/* showroom
==========================================================*/

.catalogulttl { line-height: 1.4;}
.floorslide{}
.floorwrap{ margin-bottom: calc(-180px + 40px); }
.floormap{ max-width: 840px; width: 100%; margin: 0 auto;}
.floorblock{ padding: 40px; top: -180px; position: relative; z-index: 2; background-color: rgba(241, 241, 241, 0.7); max-width: 750px; width: calc(100% - 80px); margin: 0 auto;}
.floortxtwrap{ width: calc(400 / 650 * 100%); }
.floormid{ padding-bottom: 15px; margin-bottom: 20px; border-bottom: 1px solid #000; position: relative;}
.floorimdno{ width: 20px; height: 20px; line-height: 1; margin-right : 5px; position: absolute; top: -2px; left: 0; }
.floorimdtxt{ padding-left: 30px;}
.floortxt{}
.floortxtsub{ margin-top: 30px; }
.floorimg{ width: calc(220 / 650 * 100%);}
.swiper-pagination{}
.floorslide .swiper-button-next,
.floorslide .swiper-button-prev { top: 220px;}
.floorslide .swiper-button-next { }
.floorslide .swiper-button-prev { }
.floorslide .swiper-button-next:after,
.floorslide .swiper-button-prev:after { color: #000; font-size: 25px; }
.floorslide .swiper-button-next:after { content:"▶"; }
.floorslide .swiper-button-prev:after { content:"◀"; }
@media screen and (max-width: 750px) {
  .floorwrap{ margin-bottom: calc(-18vw + 40px); }
  .floorblock{ padding: 30px 20px; top: -18vw; width: 100%; }
  .floortxtwrap{ width: calc(400 / 650 * 100%); }
  .floortxtsub{ margin-top: 20px; }
  .floorslide .swiper-button-next,
  .floorslide .swiper-button-prev { top: 28vw;}
}
.s-accesscol { }
.s-access-l { width: 50%; }
.s-accesstab { width: 100%; text-align: left;}
.s-accesstab th { width: 100px;}
.s-accesstab th,
.s-accesstab td { padding: 20px 0; border-bottom: 1px solid #adadad}
.s-accesstab tr:first-child th,
.s-accesstab tr:first-child td { padding-top: 0;}
.s-accesstab tr:last-child th,
.s-accesstab tr:last-child td { padding-bottom: 0; border: none;}
.s-access-r { width: calc(50% - 40px); }
.s-access-r iframe { width: 100%; aspect-ratio: 460 / 300; }
@media screen and (max-width: 991px) {
  .s-accesstab th,
  .s-accesstab td { display: block; }
  .s-accesstab th { padding-bottom: 0; border: none;}
  .s-accesstab td { padding-top: 10px !important; }
}
@media screen and (max-width: 750px) {
  .s-access-l,
  .s-access-r { width: 100%; }
  .s-access-r { margin-top: 40px; }
  .s-access-r iframe { width: 100%; aspect-ratio: 3 / 2; max-height: 250px;}
}



/* kouri
==========================================================*/

#StoreIntro { margin: 40px 0 60px;}
#StoreIntro dl { display: flex; flex-wrap: wrap; }
#StoreIntro dt,
#StoreIntro dd { margin-bottom: 10px;}
#StoreIntro dt { width: 200px; }
#StoreIntro dd { width: calc(100% - 200px); color: #999; }
#StoreIntro dd a { color: #000;}

#ProductStore .mb72.blk { padding-top: 100px; margin-top: -100px; }
#ProductStore a { font-size: 0.95em; text-decoration: underline; }
#ProductStore a:hover { text-decoration: none;}
.StoreData dl { }
.StoreData dl dt { margin-bottom: 10px; font-family: "A+mfCv-AXIS Font ベーシック M ProN"; }
.StoreData dl dd { margin-bottom: 40px; line-height: 1.8; }

@media screen and (max-width: 750px) {
  #StoreIntro { margin: 30px 0 40px;}
  #StoreIntro dl { display: block; }
  #StoreIntro dt { margin-bottom: 5px; }
  #StoreIntro dd { margin-bottom: 15px; width: 100%; }

  #ProductStore .mb72.blk { padding-top: 80px; margin-top: -80px; }
  .StoreData dl { }
  .StoreData dl dt { margin-bottom: 10px; }
  .StoreData dl dd { margin-bottom: 40px; line-height: 1.8; }
}



/* funen
==========================================================*/

.funenbrandwrap { }
.funenbrandwrap::after { width: 100%; height: 1px; background: #000; bottom: 0; right: 0; z-index: 2; }
.funenbrand { width: 200px;}
.funenbrandwraphead { padding-bottom: 10px; }
.funenbrandwraphead .funenul li:nth-child(2) { text-align: center; }
.funenlow{ width: calc(100% - 200px); }
.funenul { letter-spacing: 0; }
.funenul:not(:last-child) li { border-bottom: 1px solid #adadad; }
.funenul li:nth-child(1) { width: calc(100% - 400px); }
.funenul li:nth-child(2) { width: 400px; letter-spacing: 0; }
.funenul li.flex-aic:nth-child(2) { padding: 30px 10px 20px 15px; background: #f1f1f1; }
.funenulcol.flex-aic{ width: 100%; padding: 20px 0; }
.funenulcol:not(:last-child) {border-bottom: 1px solid #adadad;  }
.funenulcol div:nth-child(1) { width: 180px;}
.funenulcol div:nth-child(2) { width: calc(100% - 180px); padding-right: 10px;}
.funenul li:nth-child(2) .fs18 { font-size: 18px; line-height: 1; font-family: "A+mfCv-AXIS Font ベーシック M ProN"; }
.funenul li:nth-child(2) .u-mt-2 { margin-bottom: 5px; line-height: 1.5;}
.funenuldl{ margin: 8px 0 5px;}
.funenuldl dt{ width: 50px; height: 24px; margin-right: 5px; font-size: 0.9em; border: 1px solid #000; line-height: 1; text-align: center; }
.funenuldl dd{ width: calc(100% - 55px);}
@media screen and (max-width: 1479px) {
  .funenbrand { width: 180px;}
  .funenlow{ width: calc(100% - 180px); }
  .funenul li:nth-child(1) { width: calc(100% - 350px); }
  .funenul li:nth-child(2) { width: 350px;}
  .funenulcol div:nth-child(1) { width: 170px;}
  .funenulcol div:nth-child(2) { width: calc(100% - 170px);}
}
.show-991 { display: none;}
@media screen and (max-width: 991px) {
  .show-991{ display: block; }
  .funenbrandwraphead { display: none; }
  .funenbrandwrap { margin-bottom: 40px; font-size: 12px; line-height: 1.6;}
  .funenbrandwrap p { font-size: 12px; }
  .funenul li:nth-child(2) .fs18 { font-size: 14px; }
  .funenbrandwrap .fs12 { font-size: 11px; }
  .funenbrand { padding: 8px; background: #f1f1f1; width: 100%; justify-content: center; text-align: center; font-size: 14px; font-family: "A+mfCv-AXIS Font ベーシック M ProN"; }
  .funenlow{ width: 100%; overflow: auto; }
  .funenul { min-width: 680px; }
  .min .funenul { min-width: 600px; }
  .funenul li.flex-aic:nth-child(2) { padding: 15px; }
  .funenul li:nth-child(2) .u-mt-2 { margin-top: 8px !important;}
  .funenulcol.flex-aic{ padding: 15px 0; }
  .funenulcol div:nth-child(1) { width: 120px;}
  .funenulcol div:nth-child(2) { width: calc(100% - 120px);}
  .funenuldl dt{ width: 44px; height: 20px; }
  .funenuldl dd{ width: calc(100% - 49px);}
  .show-991 .funenul { padding: 6px 0; font-size: 11px; border-bottom: 1px solid #000;}
  .show-991 .funenul li:nth-child(2) { padding-left: 15px; }
}

.dotul { }
.dotul li.after { padding-left: 1em; }
.dotul li.after::after { content: "・"; top: 0; left: 0; }
.funenkome1block{ margin: 60px 0 30px; border: 1px solid #adadad;}
.funenkome1mid{ padding: 15px 30px; background: #f1f1f1; line-height: 1.5;}
.funenkome1ulwrap { padding: 20px 30px; letter-spacing: 0; }
.funenkome1ul:nth-child(1){}
.funenkome1ul:nth-child(2){}
.funenkome1ul:nth-child(3){}
.funenkome1ul li { padding-left: 30px; line-height: 1.5; margin-bottom: 4px; }
.funenkome1ul li::after { top: 0; left: 0;}
.funenkome1ul:nth-child(1) li:nth-child(1)::after { content: "1";}
.funenkome1ul:nth-child(1) li:nth-child(2)::after { content: "2";}
.funenkome1ul:nth-child(1) li:nth-child(3)::after { content: "3";}
.funenkome1ul:nth-child(1) li:nth-child(4)::after { content: "4";}
.funenkome1ul:nth-child(1) li:nth-child(5)::after { content: "5";}
.funenkome1ul:nth-child(1) li:nth-child(6)::after { content: "6";}
.funenkome1ul:nth-child(1) li:nth-child(7)::after { content: "7";}
.funenkome1ul:nth-child(2) li:nth-child(1)::after { content: "8";}
.funenkome1ul:nth-child(2) li:nth-child(2)::after { content: "9";}
.funenkome1ul:nth-child(2) li:nth-child(3)::after { content: "10";}
.funenkome1ul:nth-child(2) li:nth-child(4)::after { content: "11";}
.funenkome1ul:nth-child(2) li:nth-child(5)::after { content: "12";}
.funenkome1ul:nth-child(2) li:nth-child(6)::after { content: "13";}
.funenkome1ul:nth-child(2) li:nth-child(7)::after { content: "14";}
.funenkome1ul:nth-child(3) li:nth-child(1)::after { content: "15";}
.funenkome1ul:nth-child(3) li:nth-child(2)::after { content: "16";}
.funenkome1ul:nth-child(3) li:nth-child(3)::after { content: "17";}
.funenkome1block p { padding: 0 20px 20px 30px; }
.funenkome1block p span:not(:last-child) { margin-right: 1em;}
.funenkome2dl{ }
.funenkome2dl dt { padding-left: 30px; margin-bottom: 10px; }
.funenkome2dl dd { padding: 5px 20px 5px 30px; border: 1px solid #adadad; }
.funenkome2dl dd span:not(:last-child) { margin-right: 40px;}
@media screen and (max-width: 1479px) {
  .funenkome1block,
  .funenkome1block p,
  .funenkome2dl{ font-size: 14px; }
}
@media screen and (max-width: 991px) {
  .funenkome1block,
  .funenkome1block p,
  .funenkome2dl{ font-size: 12px; }
  .funenkome1block{ margin: 40px 0 30px;}
  .funenkome1mid{ padding: 10px 15px;}
  .funenkome1ulwrap { padding: 15px; }
  .funenkome1ul:nth-child(1){ max-width: calc(50% - 50px); padding-right: 15px; }
  .funenkome1ul:nth-child(2){ width: 100px;}
  .funenkome1ul:nth-child(3){ max-width: calc(50% - 50px); padding-left: 10px; }
  .funenkome1ul li { padding-left: 20px; }
  .funenkome1block p { padding: 0 10px 20px 15px; }
  .funenkome2dl{ }
  .funenkome2dl dt { padding-left: 15px; margin-bottom: 10px; }
  .funenkome2dl dd { padding: 5px 10px 5px 15px; }
}
@media screen and (max-width: 550px) {
  .funenkome1ul:nth-child(1),
  .funenkome1ul:nth-child(2),
  .funenkome1ul:nth-child(3){ max-width: inherit; width: 100%; padding: 0; }
}