/* Ribaco shared components. */

@media (min-width:900px) and (max-width:1199px){

  body header .global_nav>ul>li.has_under>ul.sub-menu{
    position:absolute;
    top:100%;
    z-index:52;
    background:#fff;
    padding:0;
    box-shadow:none;
  }

  body header .global_nav>ul>li.has_under>ul.sub-menu>li>a{
    background:rgba(232,232,232,.8);
    padding:10px 14px;
    border:0;
    color:#000;
  }

  body header .global_nav>ul>li.has_under>ul.sub-menu>li>ul.sub-menu a{
    background:#fff;
    padding:8px 14px;
    border:0;
    color:#000;
  }
}

.rbc-redesign .rb-container{
  width:min(
    var(--rb-content-wide),
    calc(100% - (var(--rb-gutter-wide) * 2))
  );
  margin-inline:auto;
}

@media(max-width:900px){
  .rbc-redesign .rb-container{
    width:calc(100% - (var(--rb-gutter-compact) * 2));
  }
}

.rbc-redesign .rb-reading-width{
  width:min(
    var(--rb-content-reading),
    calc(100% - (var(--rb-gutter-wide) * 2))
  );
}

@media(max-width:900px){
  .rbc-redesign .rb-reading-width{
    width:calc(100% - (var(--rb-gutter-compact) * 2));
  }
}

.rbc-redesign .rb-section{
  padding-block:var(--rb-space-section);
}

.rbc-redesign .rb-section--flush{
  padding-inline:0;
}

.rbc-redesign .rb-section--divided{
  border-bottom:1px solid var(--rb-color-line);
}

@media(max-width:900px){
  .rbc-redesign .rb-section{
    padding-block:var(--rb-space-section-compact);
  }
}

.rbc-redesign .rb-section-intro{
  width:var(--rb-content-reading);
  max-width:calc(100% - (var(--rb-gutter-wide) * 2));
  margin:0 auto 50px;
}

@media(max-width:900px){
  .rbc-redesign .rb-section-intro{
    width:calc(100% - (var(--rb-gutter-compact) * 2));
    max-width:none;
    margin-bottom:46px;
  }
}

.rbc-redesign .rb-statement{
  background:var(--rb-color-brand);
  color:var(--rb-color-surface);
  text-align:center;
  padding:56px 30px;
}

@media(max-width:900px){
  .rbc-redesign .rb-statement{
    padding:60px 30px;
  }
}

.rbc-redesign .rb-heading{
  margin:0;
  background:none;
  border:0;
  padding:0;
  text-align:inherit;
  color:var(--rb-color-ink);
  font-family:var(--rb-font-display);
  font-weight:500;
  line-height:var(--rb-leading-heading);
  letter-spacing:var(--rb-tracking-heading);
  text-wrap:balance;
}

.rbc-redesign h1.rb-heading,
.rbc-redesign h2.rb-heading,
.rbc-redesign h3.rb-heading{
  display:block;
  position:static;
}

.rbc-redesign h1.rb-heading::before,
.rbc-redesign h1.rb-heading::after,
.rbc-redesign h2.rb-heading::before,
.rbc-redesign h2.rb-heading::after,
.rbc-redesign h3.rb-heading::before,
.rbc-redesign h3.rb-heading::after{
  content:none;
  display:none;
}

.rbc-redesign .rb-text{
  margin:0;
  color:var(--rb-color-ink);
  font-family:var(--rb-font-body);
  font-size:var(--rb-text-base);
  line-height:var(--rb-leading-body);
  letter-spacing:var(--rb-tracking-body);
}

.rbc-redesign .rb-prose{
  margin:0;
  color:var(--rb-color-ink);
  font-family:var(--rb-font-display);
  font-size:var(--rb-text-base);
  font-weight:300;
  line-height:var(--rb-leading-body);
  letter-spacing:var(--rb-tracking-body);
}

.rbc-redesign .rb-prose--inverse{
  color:var(--rb-color-surface);
}

.rbc-redesign .rb-prose--centered-block{
  margin:auto;
}

.rbc-redesign .rb-prose--lead{
  width:var(--rb-content-reading);
  max-width:100%;
  font-size:var(--rb-text-large);
  line-height:2.8;
  letter-spacing:.1em;
  margin-top:32px;
}

.rbc-redesign .rb-prose--supporting{
  color:var(--rb-color-muted);
  margin:.5em 0 0;
}

.rbc-redesign .rb-prose--quote{
  max-width:850px;
  margin:auto;
  text-align:center;
  font-size:39px;
  line-height:var(--rb-leading-heading);
  letter-spacing:var(--rb-tracking-heading);
}

.rbc-redesign .rb-heading--section{
  font-size:39px;
}

.rbc-redesign .rb-heading--card{
  font-size:20px;
}

.rbc-redesign .rb-heading--inverse{
  color:var(--rb-color-surface);
}

@media(max-width:900px){
  .rbc-redesign .rb-heading--section{
    font-size:24px;
    letter-spacing:var(--rb-tracking-heading-compact);
  }

  .rbc-redesign .rb-prose{
    letter-spacing:0;
  }

  .rbc-redesign .rb-prose--lead{
    width:100%;
    font-size:var(--rb-text-base);
    line-height:var(--rb-leading-body);
    margin-top:30px;
  }

  .rbc-redesign .rb-prose--quote{
    font-size:24px;
    line-height:var(--rb-leading-heading);
    letter-spacing:var(--rb-tracking-heading-compact);
  }
}

.rbc-redesign .rb-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:12px 20px;
  border:0;
  text-decoration:none;
  cursor:pointer;
  font-family:var(--rb-font-body);
  font-size:14px;
  font-weight:600;
  line-height:1;
  letter-spacing:.04em;
}

.rbc-redesign .rb-button--primary{
  background:var(--rb-color-accent);
  color:var(--rb-color-on-accent);
}

.rbc-redesign .rb-button--outline{
  background:transparent;
  color:var(--rb-color-ink);
  border:1px solid var(--rb-color-ink);
}

.rbc-redesign .rb-button:focus-visible{
  outline:2px solid var(--rb-color-ink);
  outline-offset:3px;
}

.rbc-redesign .rb-cta{
  display:inline-block;
  padding:16px 28px;
  text-decoration:none;
  font-family:var(--rb-font-ui);
  font-size:13px;
  font-weight:600;
  line-height:normal;
  letter-spacing:.08em;
}

.rbc-redesign .rb-cta--primary{
  background:#c9ad72;
  border-color:#c9ad72;
  color:var(--rb-color-ink);
  font-weight:700;
}

.rbc-redesign .rb-cta--outline{
  background:rgba(0,0,0,.24);
  color:var(--rb-color-surface);
  border:1px solid var(--rb-color-surface);
}

.rbc-redesign .rb-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
}

.rbc-redesign .rb-info-table{
  width:100%;
  border-collapse:collapse;
  background:var(--rb-color-surface);
}

.rbc-redesign .rb-info-table th,
.rbc-redesign .rb-info-table td{
  padding:18px 22px;
  border-bottom:1px solid #ddd6c3;
  text-align:left;
  vertical-align:top;
  line-height:1.8;
}

.rbc-redesign .rb-info-table th{
  width:25%;
  background:#f7f4ec;
  font-weight:600;
}

.rbc-redesign .rb-content-body{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.rbc-redesign .rb-content-body--standard{
  padding:36px 42px;
}

@media(max-width:900px){
  .rbc-redesign .rb-content-body--standard{
    padding:34px 30px 40px;
  }
}

.rbc-redesign .rb-panel{
  background:var(--rb-color-surface);
}

.rbc-redesign .rb-line{
  display:block;
}

.rbc-redesign .rb-nowrap{
  display:inline-block;
  white-space:nowrap;
}

.rbc-redesign .rb-media{
  display:block;
}

.rbc-redesign .rb-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.rbc-redesign .rb-card{
  background:var(--rb-color-surface);
}

.rbc-redesign .rb-card__media{
  overflow:hidden;
}

.rbc-redesign .rb-card__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.rbc-redesign .rb-grid{
  display:grid;
  gap:24px;
}

.rbc-redesign .rb-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:stretch;
}

.rbc-redesign .rb-split--reverse > .rb-media{
  order:2;
}

.rbc-redesign .rb-split--reverse > .rb-content-body{
  order:1;
}

.rbc-redesign .rb-grid--two-wide{
  grid-template-columns:1fr 1fr;
}

.rbc-redesign .rb-grid--three-wide{
  grid-template-columns:repeat(3,1fr);
}

.rbc-redesign .rb-grid--two{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.rbc-redesign .rb-grid--three{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

@media(max-width:900px){
  .rbc-redesign .rb-stack-at-900{
    grid-template-columns:1fr;
  }

  .rbc-redesign .rb-split--reverse > .rb-media,
  .rbc-redesign .rb-split--reverse > .rb-content-body{
    order:initial;
  }

  .rbc-redesign .rb-grid--three{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .rbc-redesign .rb-info-table,
  .rbc-redesign .rb-info-table tbody,
  .rbc-redesign .rb-info-table tr,
  .rbc-redesign .rb-info-table th,
  .rbc-redesign .rb-info-table td{
    display:block;
    width:100%;
  }

  .rbc-redesign .rb-info-table th{
    padding:12px 16px;
    border-bottom:0;
  }

  .rbc-redesign .rb-info-table td{
    padding:14px 16px 20px;
  }

  .rbc-redesign .rb-stack-at-760{
    grid-template-columns:1fr;
  }

  .rbc-redesign .rb-grid--two,
  .rbc-redesign .rb-grid--three{
    grid-template-columns:1fr;
  }
}

/* Legacy contact panel visual migrated from WPCode F15. */
.page_contact{
  max-width:1100px;
  margin:36px auto;
  padding:26px 30px;
  border:1px solid #d4bd80;
  background:#faf8f1;
  text-align:center;
}

/* Legacy WPCode F15 compatibility: hide contact detail panels by default. */
.page_contact > div{
  display:none!important;
}

.page_contact > p:first-of-type{
  margin-bottom:8px;
  font-size:1.25em;
  font-weight:600;
}

.page_contact > p:last-of-type{
  margin-top:18px;
}

.page_contact::after{
  content:"ショールーム・アクセスや会社案内もご覧いただけます";
  display:block;
  margin-top:12px;
  color:#6b5424;
}

/* Legacy common contact links migrated from WPCode F18. */
.ribaco-common-links{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  max-width:720px;
  margin:18px auto 0;
  border:1px solid #c7a85e;
}

.ribaco-common-links--two{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.ribaco-common-links a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:10px 14px;
  border-right:1px solid #c7a85e;
  background:#fff;
  color:#604a1d;
  font-weight:600;
  text-decoration:none;
}

.ribaco-common-links a:last-child{
  border-right:0;
}

.ribaco-common-links a:hover{
  background:#f5f0e3;
}

@media(max-width:600px){
  .ribaco-common-links{
    grid-template-columns:1fr;
  }

  .ribaco-common-links a{
    border-right:0;
    border-bottom:1px solid #c7a85e;
  }

  .ribaco-common-links a:last-child{
    border-bottom:0;
  }

  .company-contact .ribaco-common-links--two a{
    border-bottom:0;
  }

  .company-contact .ribaco-common-links--two a:first-child{
    border-right:1px solid #c7a85e;
  }
}
