/* index */
@media (max-width:767px){
.r-index-9{display:none}
.r-index-17{display:flex}
.r-index-55{padding:90px 24px}
.r-index-69{padding:90px 24px}
.r-index-70{grid-template-columns:1fr}
.r-index-71{height:320px}
.r-index-90{padding:90px 24px}
.r-index-104{padding:90px 24px}
.r-index-121{padding:90px 24px;grid-template-columns:1fr}
.r-index-122{height:300px}
.r-index-142{padding:90px 24px}
.r-index-160{padding:90px 24px}
}

/* Mobile officer message copy uses a tighter, shared line height. */
@media (max-width: 767px) {
  [data-sc-name="company"] .rd-company-message-item p,
  [data-sc-name="about"] .u-153,
  [data-sc-name="about"] .u-153 span {
    line-height: 1.5;
  }
  .rd-company-title-break { display: block; }
}
/* business */
@media (max-width:767px){
.r-business-9{display:none}
.r-business-17{display:flex}
.r-business-46{grid-template-columns:1fr}
.r-business-48{height:260px}
.r-business-46{grid-template-columns:1fr}
.r-business-48{height:260px}
.r-business-46{grid-template-columns:1fr}
.r-business-48{height:260px}
}
/* company */
@media (max-width:767px){
.r-company-9{display:none}
.r-company-17{display:flex}
.r-company-38{grid-template-columns:1fr}
.r-company-39{height:260px}
.r-company-43{grid-template-columns:1fr;gap:8px}
.r-company-43{grid-template-columns:1fr;gap:8px}
.r-company-43{grid-template-columns:1fr;gap:8px}
.r-company-43{grid-template-columns:1fr;gap:8px}
.r-company-43{grid-template-columns:1fr;gap:8px}
.r-company-43{grid-template-columns:1fr;gap:8px}
.r-company-43{grid-template-columns:1fr;gap:8px}
.r-company-43{grid-template-columns:1fr;gap:8px}
.r-company-43{grid-template-columns:1fr;gap:8px}
.r-company-43{grid-template-columns:1fr;gap:8px}
.r-company-43{grid-template-columns:1fr;gap:8px}
.r-company-43{grid-template-columns:1fr;gap:8px}
}
/* ceo */
@media (max-width:767px){
.r-about-9{display:none}
.r-about-17{display:flex}
.r-about-38{grid-template-columns:1fr}
.r-about-40{height:340px}
.r-about-49{top:0px}
}
/* news */
@media (max-width:767px){
.r-news-9{display:none}
.r-news-17{display:flex}
}
/* news-detail */
@media (max-width:767px){
.r-news-detail-9{display:none}
.r-news-detail-17{display:flex}
}
/* recruit */
@media (max-width:767px){
.r-recruit-10{display:none}
.r-recruit-18{display:flex}
.r-recruit-36{height:360px}
.r-recruit-57{grid-template-columns:1fr}
.r-recruit-58{height:280px}
.r-recruit-65{grid-template-columns:1fr}
}
/* recruit-career */
@media (max-width:767px){
.r-recruit-career-10{display:none}
.r-recruit-career-18{display:flex}
.r-recruit-career-36{height:320px}
}
/* recruit-newgrad */
@media (max-width:767px){
.r-recruit-newgrad-10{display:none}
.r-recruit-newgrad-18{display:flex}
.r-recruit-newgrad-36{height:320px}
.r-recruit-newgrad-46{grid-template-columns:1fr;gap:6px}
.r-recruit-newgrad-46{grid-template-columns:1fr;gap:6px}
.r-recruit-newgrad-46{grid-template-columns:1fr;gap:6px}
.r-recruit-newgrad-46{grid-template-columns:1fr;gap:6px}
.r-recruit-newgrad-46{grid-template-columns:1fr;gap:6px}
.r-recruit-newgrad-46{grid-template-columns:1fr;gap:6px}
.r-recruit-newgrad-46{grid-template-columns:1fr;gap:6px}
.r-recruit-newgrad-46{grid-template-columns:1fr;gap:6px}
}
/* recruit-job */
@media (max-width:767px){
.r-recruit-job-9{display:none}
.r-recruit-job-17{display:flex}
.r-recruit-job-49{grid-template-columns:1fr;gap:4px}
.r-recruit-job-49{grid-template-columns:1fr;gap:4px}
.r-recruit-job-49{grid-template-columns:1fr;gap:4px}
.r-recruit-job-49{grid-template-columns:1fr;gap:4px}
.r-recruit-job-49{grid-template-columns:1fr;gap:4px}
.r-recruit-job-49{grid-template-columns:1fr;gap:4px}
}
/* recruit-apply */
@media (max-width:767px){
.r-recruit-apply-9{display:none}
.r-recruit-apply-17{display:flex}
}
/* contact */
@media (max-width:767px){
.r-contact-9{display:none}
.r-contact-17{display:flex}
}
/* privacy */
@media (max-width:767px){
.r-privacy-9{display:none}
.r-privacy-17{display:flex}
}


@media (max-width:767px){
  .u-171, .u-195{ height:480px; }
  .rd-page-lead{ padding:60px 20px; }
  .rd-page-lead p{ font-size:0.9375rem; line-height:2.2; text-align:left; }
  .rd-info-bg{ padding-top:60px; }
  [data-sc-name="company"] .u-143{ padding:0 20px 70px; }
  [data-sc-name="company"] .u-144{ grid-template-columns:1fr; gap:6px; }

}

@media (max-width:767px){
  .rd-brand-csr{ margin-top:28px; padding-top:24px; }
}


@media (max-width:767px){
  .rd-job-grid{ grid-template-columns:1fr; }
  .u-207{ width:100%; }
}

@media (max-width:767px){
  .rd-venture-banner{ padding:14px 16px; gap:12px; }
  .rd-venture-text{ font-size:0.8125rem; }
}

@media (max-width:767px){
  .rd-msg-actions{ flex-direction:column; align-items:flex-start; gap:18px; }
  .rd-venture-btn{ width:100%; justify-content:center; }
}

@media (max-width:767px){
  .u-144, .u-203, .u-217{ grid-template-columns:1fr; gap:6px; }
}


/* Keep navigation usable before the desktop menu runs out of space. */
@media (max-width:1199px) {
  .site-header .site-nav { display: none; }
  .site-header .u-011 { display: flex; }
}

@media (max-width:767px) {
  /* Use one consistent gutter without percentage-width padding overflow. */
  .site-header > .u-003,
  .site-header > .u-113,
  .site-footer > .u-064,
  .site-footer > .u-105,
  .u-020 { box-sizing: border-box; width: 100%; max-width: 100%; }
  .u-058 { grid-template-columns: 1fr; }
  .u-042 > *, .u-077 > *, .rd-brand-inner > *, .rd-officer-head > * { min-width: 0; }
  /* The banner is an image now; its old text-banner padding is obsolete. */
  .rd-officer-head .rd-venture-banner { padding: 0; margin-top: 28px; }
  /* Stack the title below date/category, keeping the arrow centered. */
  [data-sc-name="news"] :is(.rd-news-card, .news-card) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto 16px;
    gap: 12px;
    padding: 20px;
  }
  [data-sc-name="news"] :is(.u-162, .news-list__date) { min-width: 0; }
  [data-sc-name="news"] :is(.u-164, .news-list__title) { grid-column: 1 / 3; grid-row: 2; min-width: 0; }
  [data-sc-name="news"] :is(.rd-news-chev, .news-list__arrow) { grid-column: 3; grid-row: 1 / 3; }
}

/* Mobile typography: long copy reads naturally from the left edge. */
@media (max-width: 767px) {
  [data-sc-name="index"] .u-040,
  [data-sc-name="index"] .u-050,
  [data-sc-name="index"] .u-062,
  [data-sc-name="index"] .u-069,
  [data-sc-name="index"] .u-074,
  .page-lead p,
  .rd-brand-body,
  .rd-brand-csr-body,
  .rd-company-message-item p,
  [data-sc-name="about"] .u-153,
  [data-sc-name="recruit"] .u-182,
  [data-sc-name="recruit"] .u-186,
  [data-sc-name="news-detail"] .u-169,
  [data-sc-name="privacy"] .u-239 p {
    text-align: left;
    text-align-last: auto;
  }
}

/* Mobile body copy: shared size and balanced line endings. */
@media (max-width: 767px) {
  [data-sc-name="index"] .u-040,
  .page-lead .u-123,
  .rd-page-lead p,
  .u-176 .u-123 {
    font-size: 0.875rem;
  }

  [data-sc-name="index"] .u-040,
  [data-sc-name="index"] .u-050,
  [data-sc-name="index"] .u-062,
  [data-sc-name="index"] .u-069,
  [data-sc-name="index"] .u-074,
  .page-lead p,
  .rd-page-lead p,
  .u-176 .u-123,
  .rd-brand-body,
  .rd-brand-csr-body,
  .rd-company-message-item p,
  [data-sc-name="about"] .u-153,
  [data-sc-name="recruit"] .u-182,
  [data-sc-name="recruit"] .u-186,
  [data-sc-name="news-detail"] .u-169,
  [data-sc-name="privacy"] .u-239 p {
    text-align: justify;
    text-justify: inter-ideograph;
    text-align-last: left;
  }
}

/* Mobile top hero copy. */
@media (max-width: 767px) {
  [data-sc-name="index"] .rd-mobile-break { display: block; }
  [data-sc-name="index"] .u-025 {
    box-sizing: border-box;
    padding-right: 20px;
  }
  [data-sc-name="index"] .u-025,
  [data-sc-name="index"] .u-025 .u-026 {
    font-size: 0.875rem;
  }
}

/* Mobile navigation controls use one consistent 2px stroke. */
@media (max-width: 1199px) {
  .sp-menu a {
    font-family: "Noto Sans JP", sans-serif;
  }
  .site-header .u-012 {
    height: 2px;
  }
  .sp-menu__close::before,
  .sp-menu__close::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 22px;
    height: 2px;
    background: var(--white);
    transform-origin: center;
  }
  .sp-menu__close::before {
    transform: translate(-50%, -50%) rotate(45deg);
  }
  .sp-menu__close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  .sp-menu .sp-menu__cta {
    box-sizing: border-box;
    width: 200px;
    height: 45px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: var(--gold);
    color: var(--white);
  }
  .sp-menu .sp-menu__cta:hover,
  .sp-menu .sp-menu__cta:active {
    color: var(--white);
  }
}

/* Mobile top-page business introduction. */
@media (max-width: 767px) {
  [data-sc-name="index"] .u-066 .rd-mobile-break {
    display: block;
  }
  [data-sc-name="index"] .u-068 {
    margin: 0 auto 50px;
  }
}

/* Shared recruitment CTA: intentional mobile line breaks. */
@media (max-width: 767px) {
  .recruitment-cta .rd-recruit-copy-desktop { display: none; }
  .recruitment-cta .rd-recruit-copy-mobile { display: inline; }
}

/* Shared contact CTA: intentional mobile line breaks. */
@media (max-width: 767px) {
  .contact-cta .rd-contact-copy-desktop { display: none; }
  .contact-cta .rd-contact-copy-mobile { display: inline; }
}

/* Mobile footer: one navigation item per line and address after the postal code. */
@media (max-width: 767px) {
  .site-footer .u-106 {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
  .site-footer .u-137 {
    display: block;
    width: 100%;
  }
  .site-footer .rd-footer-address-space { display: none; }
  .site-footer .rd-footer-address-break { display: block; }
}

/* Lower-page hero introductions share one mobile typographic treatment. */
@media (max-width: 767px) {
  [data-sc-name="company"] .rd-page-lead p,
  [data-sc-name="business"] .page-lead .u-123,
  [data-sc-name="recruit"] .u-176 .u-123,
  [data-sc-name="recruit-newgrad"] .u-176 .u-123,
  [data-sc-name="contact"] .u-176 .u-123,
  [data-sc-name="recruit-apply"] .rd-page-lead p,
  [data-sc-name="privacy"] .rd-privacy-lead {
    font-family: "Noto Serif JP", serif;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.9;
    letter-spacing: 0.04em;
    text-align: center;
    text-align-last: center;
  }

  [data-sc-name="business"] .page-lead .u-123 span,
  [data-sc-name="recruit"] .u-176 .u-123 span,
  [data-sc-name="recruit-newgrad"] .u-176 .u-123 span,
  [data-sc-name="contact"] .u-176 .u-123 span {
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
  }
  [data-sc-name="business"] .rd-business-lead-desktop { display: none; }
  [data-sc-name="business"] .rd-business-lead-mobile { display: block; }
  [data-sc-name="recruit"] .rd-recruit-lead-desktop { display: none; }
  [data-sc-name="recruit"] .rd-recruit-lead-mobile { display: block; }
  [data-sc-name="recruit-apply"] .rd-entry-lead-desktop,
  [data-sc-name="privacy"] .rd-privacy-lead-desktop,
  [data-sc-name="company"] .rd-company-lead-desktop { display: none; }
  [data-sc-name="recruit-apply"] .rd-entry-lead-mobile,
  [data-sc-name="privacy"] .rd-privacy-lead-mobile,
  [data-sc-name="company"] .rd-company-lead-mobile { display: block; }
}

/* Loaded after legacy-inline.css: keep the refined reveal animation's opacity transition. */
.reveal-mask.is-visible .reveal {
  animation: rd-reveal-soft .8s cubic-bezier(.22,.61,.36,1) forwards;
}
.reveal-mask.lead.is-visible .reveal {
  animation: rd-reveal-soft .8s cubic-bezier(.22,.61,.36,1) forwards;
}
.reveal-mask.rd-reveal-title.is-visible .reveal {
  animation: rd-reveal-horizontal 1.35s cubic-bezier(.22,.61,.36,1) forwards;
}
.reveal-mask.lead.rd-reveal-title.is-visible .reveal {
  animation: rd-reveal-horizontal 1.35s cubic-bezier(.22,.61,.36,1) forwards;
}

/* CTA copy uses separate text for desktop and mobile line breaks. */
.recruitment-cta .rd-recruit-copy-desktop,
.contact-cta .rd-contact-copy-desktop { display: inline !important; }
.recruitment-cta .rd-recruit-copy-mobile,
.contact-cta .rd-contact-copy-mobile { display: none !important; }
@media (max-width: 767px) {
  .recruitment-cta .rd-recruit-copy-desktop,
  .contact-cta .rd-contact-copy-desktop { display: none !important; }
  .recruitment-cta .rd-recruit-copy-mobile,
  .contact-cta .rd-contact-copy-mobile { display: inline !important; }
}

/* Keep business page imagery visible even when a scroll reveal is skipped. */
[data-sc-name="business"] .business-brand__image > .reveal,
[data-sc-name="business"] .business-service__media > .reveal {
  opacity: 1;
  transform: none;
  animation: none;
}

/* The service-image reveal wrapper needs an explicit height. */
[data-sc-name="business"] .business-service__media > .reveal,
[data-sc-name="business"] .business-service__media .rd-zoom-wrap {
  height: 360px;
}

/* Contact Form 7 */
.rd-form { padding: 24px 24px 120px; background: var(--navy); color: var(--white); }
.rd-form__inner { max-width: 920px; margin: 0 auto; }
/*.rd-form .wpcf7-form p { margin: 0 0 0; }*/
.rd-form .wpcf7-form label { display: block; font-size: .875rem; font-weight: 500; line-height: 1.7; color: var(--white); }
.rd-form .wpcf7-form-control-wrap { display: block; margin-top: 8px; }
.rd-form input:not([type="submit"]),
.rd-form select,
.rd-form textarea {
  box-sizing: border-box; width: 100%; border: 1px solid rgba(255,255,255,.45); border-radius: 0;
  background: var(--white); color: var(--navy); font: inherit; padding: 13px 14px; outline: 0;
}
.rd-form textarea { min-height: 180px; resize: vertical; }
.rd-form input:focus, .rd-form select:focus, .rd-form textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 1px var(--gold); }
.rd-form .wpcf7-radio { display: flex; flex-wrap: wrap; gap: 12px 28px; margin-top: 10px; }
.rd-form .wpcf7-list-item { display: block; margin: 0; }
.rd-form .wpcf7-radio .wpcf7-list-item label { display: flex; align-items: center; gap: 8px; font-weight: 400; cursor: pointer; }
.rd-form .wpcf7-radio input[type="radio"] { width: 18px; height: 18px; margin: 0; accent-color: var(--gold); }
.rd-form .wpcf7-acceptance label { display: flex; align-items: flex-start; gap: 9px; }
.rd-form .wpcf7-acceptance input { width: 18px; height: 18px; margin: 3px 0 0; accent-color: var(--gold); }
.rd-form .wpcf7-acceptance a { color: var(--gold); text-decoration: underline; text-underline-offset: 3px; }
.rd-form .wpcf7-not-valid-tip { margin-top: 6px; font-size: .8125rem; color: #ffb6b6; }
.rd-form .wpcf7-response-output { margin: 24px 0 0 !important; padding: 12px 14px !important; border-color: var(--gold) !important; font-size: .875rem; display: none; }
.rd-form__submit-wrap { position: relative; display: table; margin: 44px auto 0; }
.rd-form input[type="submit"] { display: block; min-width: 180px; margin: 0; border: 0; border-radius: 0; background: var(--gold); color: var(--white); font: inherit; font-size: .875rem; font-weight: 500; letter-spacing: .08em; padding: 15px 0 15px 0; cursor: pointer; }
.rd-form__submit-wrap .rd-form__submit-arrow { position: absolute; top: 50%; right: 20px; color: var(--white); transform: translateY(-50%) rotate(45deg); pointer-events: none; }
.rd-form input[type="submit"]:hover { background: #c3a85c; }
.rd-form .wpcf7-spinner { display: block; margin: 14px auto 0; }
@media (max-width: 767px) {
  .rd-form { padding: 8px 24px 72px; }
  .rd-form .wpcf7-form p { margin-bottom: 20px; }
  .rd-form textarea { min-height: 150px; }
  .rd-form__submit-wrap { display: block; width: 100%; margin-top: 32px; }
  .rd-form input[type="submit"] { width: 100%; }
}
.rd-form form.is-confirming > :not(.rd-form-confirm):not(.wpcf7-response-output) { display: none; }
.rd-form-confirm { padding: 8px 0; }
.rd-form-confirm__lead { margin: 0 0 24px; font-size: 0.975rem; font-weight: 500; }
.rd-form-confirm dl { margin: 0; border-top: 1px solid rgba(255,255,255,.28); }
.rd-form-confirm__row { display: grid; grid-template-columns: 180px 1fr; gap: 20px; padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.18); }
.rd-form-confirm dt { color: var(--gold); font-size: .8125rem; }
.rd-form-confirm dd { margin: 0; font-size: .875rem; line-height: 1.8; white-space: normal; }
.rd-form-confirm__actions { display: flex; justify-content: center; gap: 12px; margin-top: 40px; }
.rd-form-confirm button { min-width: 180px; border: 1px solid var(--gold); border-radius: 0; padding: 14px 24px; font: inherit; font-size: .875rem; cursor: pointer; }
.rd-form-confirm__back { background: transparent; color: var(--white); }
.rd-form-confirm__send { background: var(--gold); color: var(--white); }
@media (max-width: 767px) {
  .rd-form-confirm__row { grid-template-columns: 1fr; gap: 5px; }
  .rd-form-confirm__actions { display: grid; grid-template-columns: 1fr; }
  .rd-form-confirm button { width: 100%; }
}

/* 20260929 add */
.logo-rinacita img {
  display: block;
  width: min(100%, 500px);
  height: auto;
}

/* 20260930 add */
.form-field p {
  margin: 0;
}

