/*
Theme Name: OnePress Child
Template: onepress
*/

/* Amuse Factor: shared typography. Approved typography, 2026-10-13.
   Text colours, backgrounds, images and icon fonts are intentionally inherited. */
:root {
  --af-font: "Noto Sans JP", sans-serif;
  --af-body: 16px;
  --af-small: 14px;
  --af-h1: 36px;
  --af-h2: 28px;
  --af-h3: 22px;
  --af-h4: 20px;
}
body { font-family: var(--af-font) !important; font-size: var(--af-body) !important; line-height: 1.8; }
body :is(h1,h2,h3,h4,h5,h6,p,a,span,div,li,ul,ol,dl,dt,dd,td,th,caption,figcaption,label,legend,input,select,textarea,button,strong,b,em,font,small,video):not(#wpadminbar *):not(.fa):not(.fas):not(.far):not(.fab):not(.dashicons):not([class*="eicon"]):not(.material-icons) {
  font-family: var(--af-font) !important;
}
body :is(p,li,td,th,dt,dd,label,legend):not(:where(header *, .l-header *)),
body .elementor-widget-text-editor,
body .elementor-widget-text-editor > .elementor-widget-container {
  font-size: var(--af-body) !important;
  line-height: 1.8 !important;
}
body :where(p,li,td,th,dt,dd,label,legend) :where(span,strong,b,em,font,a):not(:where(.fa,.fas,.far,.fab,.dashicons,[class*="eicon"],header *,.l-header *)),
body .elementor-widget-text-editor :is(span,font) {
  font-size: inherit !important;
  line-height: inherit !important;
}
body :is(h1,h2,h3,h4,h5,h6) { line-height: 1.5 !important; font-weight: 700; overflow-wrap: anywhere; }
body h1 { font-size: var(--af-h1) !important; }
body h2 { font-size: var(--af-h2) !important; }
body h3 { font-size: var(--af-h3) !important; }
body h4 { font-size: var(--af-h4) !important; }
body :is(h5,h6) { font-size: 18px !important; }
body :is(h1,h2,h3,h4,h5,h6) :is(a,span,strong,b,em,font) { font-size: inherit !important; line-height: inherit !important; }
body :is(input,select,textarea,button),
body :is(.elementor-button,.elementor-button-text,.wpcf7-form-control) {
  font-size: 16px !important;
  line-height: 1.5 !important;
}
body :is(input,select,textarea) { max-width: 100%; }
body :is(.elementor-button,.wpcf7-submit) { min-height: 48px; white-space: normal; }
body .wpcf7-form :is(.must,.wpcf7-not-valid-tip) { font-size: 14px !important; line-height: 1.6 !important; }
body .site-header .onepress-menu a { font-size: 16px !important; }
body footer :is(p,a,li,span,figcaption),
body :is(small,figcaption) { font-size: var(--af-small) !important; line-height: 1.8 !important; }
body footer a { overflow-wrap: anywhere; }
body :is(.elementor-widget-text-editor,.wpcf7-form) { overflow-wrap: anywhere; }

/* The two service introductions use their own standalone template. */
body.wp-child-theme-reapa-child :is(.p-about__inner-top-head,.p-point__inner-container-title) { font-size: 36px !important; line-height: 1.5 !important; }
body.wp-child-theme-reapa-child :is(.p-about__inner-top-text,.p-point__inner-bottom-pop) { font-size: 22px !important; line-height: 1.6 !important; }
body.wp-child-theme-reapa-child p[class*="-head"] { font-size: 20px !important; line-height: 1.6 !important; }
body.wp-child-theme-reapa-child p[class$="-number"] { font-size: 22px !important; line-height: 1.3 !important; }
body.wp-child-theme-reapa-child .c-button { font-size: 20px !important; line-height: 1.5 !important; }
body.wp-child-theme-reapa-child .c-button span { font-size: inherit !important; line-height: inherit !important; }
body.wp-child-theme-reapa-child .l-header :is(a,.c-button) { font-size: 16px !important; }
body.wp-child-theme-reapa-child .l-footer-bottom-copyright { font-size: 14px !important; line-height: 1.8 !important; padding-inline: 16px; }

@media (max-width: 767px) {
  :root { --af-h1: 28px; --af-h2: 24px; --af-h3: 20px; --af-h4: 18px; }
  body.wp-child-theme-reapa-child :is(.p-about__inner-top-head,.p-point__inner-container-title) { font-size: 28px !important; }
  body.wp-child-theme-reapa-child :is(.p-about__inner-top-text,.p-point__inner-bottom-pop) { font-size: 20px !important; }
  body.wp-child-theme-reapa-child p[class*="-head"] { font-size: 20px !important; }
}

/* Keep the larger form and table text comfortable at phone widths. */
@media (max-width: 767px) {
  body.page-id-70 .wp-block-columns.has-background { padding-inline: 0 !important; }
  body.page-id-76 table { table-layout: fixed; width: 100%; }
  body.page-id-76 table :is(td,th):first-child { width: 124px; }
  body.page-id-76 table :is(td,th) { overflow-wrap: anywhere; }
}
/* The standalone landing pages have a two-pixel decorative overflow. */
body.wp-child-theme-reapa-child { overflow-x: clip; }

html:has(> body.wp-child-theme-reapa-child) { overflow-x: clip; }

/* Company innovation: keep each check beside the first text line. */
body.page-id-76 .elementor-element-9dda333 .elementor-icon-list-item {
  align-items: flex-start;
}
body.page-id-76 .elementor-element-9dda333 .elementor-icon-list-icon {
  flex-shrink: 0;
  height: 1.8em;
  align-items: center;
}

/* Contact page: a consistent stacked form at every screen width. */
body.page-id-70 .wpcf7-form dl.contact7 > dt {
  float: none;
  width: 100%;
  margin: 0 0 10px;
}
body.page-id-70 .wpcf7-form dl.contact7 > dd {
  clear: both;
  width: 100%;
  margin: 0 0 28px;
}
body.page-id-70 .wpcf7-form dl.contact7 > :is(dt,dd) > p {
  margin: 0;
}
body.page-id-70 .wpcf7-form dl.contact7 .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}
body.page-id-70 .wpcf7-form dl.contact7 :is(input.wpcf7-text,textarea.wpcf7-textarea) {
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
}
body.page-id-70 .wpcf7-form dl.contact7 textarea.wpcf7-textarea {
  min-height: 220px;
  resize: vertical;
}

/* Amuse Factor NEWS — scoped to this component only. */
.af-news { width:100%; max-width:1140px; margin-inline:auto; padding:24px 0 56px; color:#222; text-align:left; }
.af-news *, .af-news *::before, .af-news *::after { box-sizing:border-box; }
.af-news .af-news__list { list-style:none; padding:0; margin:0; border-top:1px solid #dedede; }
.af-news .af-news__item { list-style:none; padding:0; margin:0; border-bottom:1px solid #dedede; }
.af-news .af-news__link { display:grid; grid-template-columns:250px minmax(0,1fr) 30px; align-items:center; gap:22px; padding:24px 12px; color:inherit; text-decoration:none; border-radius:2px; transition:background-color .15s ease; }
.af-news .af-news__link:hover { background:#faf4f4; color:#b50000; }
.af-news .af-news__link:focus-visible, .af-news .af-news__button:focus-visible, .af-news .page-numbers:focus-visible { outline:3px solid #d10000; outline-offset:4px; }
.af-news .af-news__meta { display:flex; align-items:center; gap:16px; min-width:0; }
body .af-news .af-news__meta time { font-size:14px !important; line-height:1.5 !important; white-space:nowrap; color:#555; font-variant-numeric:tabular-nums; }
body .af-news .af-news__category { display:inline-block; font-size:12px !important; font-weight:500; line-height:1.5 !important; padding:4px 10px; background:#f8eeee; color:#a60000; border:1px solid #eedada; border-radius:2px; white-space:nowrap; }
body .af-news .af-news__title { font-size:16px !important; font-weight:500; line-height:1.8 !important; overflow-wrap:anywhere; }
.af-news .af-news__pdf { display:flex; flex-direction:column; align-items:center; gap:2px; color:#b50000; }
body .af-news .af-news__pdf span { font-size:9px !important; line-height:1 !important; font-weight:700; letter-spacing:.02em; }
.af-news .af-news__actions { margin-top:32px; text-align:center; }
.af-news .af-news__button { display:inline-flex; gap:24px; justify-content:center; align-items:center; min-height:50px; padding:12px 30px; border:1px solid #d10000; border-radius:3px; color:#b50000; background:#fff; font-size:16px; font-weight:700; text-decoration:none; max-width:100%; }
.af-news .af-news__button:hover { background:#faf4f4; color:#900; }
.af-news.af-news--archive { padding-top:0; }
body .af-news .af-news__year { margin:36px 0 16px; font-size:24px !important; color:#222; line-height:1.5 !important; }
body .af-news .af-news__year:first-child { margin-top:0; }
.af-news .af-news__pagination { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:40px; }
.af-news .page-numbers { display:inline-flex; min-height:46px; min-width:46px; padding:8px 14px; justify-content:center; align-items:center; border:1px solid #ddd; color:#333; text-decoration:none; border-radius:3px; }
.af-news .page-numbers.current { background:#d10000; border-color:#d10000; color:#fff; }
.af-news a.page-numbers:hover { background:#faf4f4; color:#a60000; border-color:#d10000; }
@media (max-width:1024px) { .af-news .af-news__link { grid-template-columns:225px minmax(0,1fr) 28px; gap:16px; } }
@media (max-width:767px) {
 .af-news { padding:20px 0 40px; }
 .af-news .af-news__link { grid-template-columns:minmax(0,1fr) 28px; gap:12px; padding:20px 4px; }
 .af-news .af-news__meta { grid-column:1 / -1; gap:12px; flex-wrap:wrap; }
 .af-news .af-news__title { grid-column:1; }
 .af-news .af-news__pdf { grid-column:2; grid-row:2; align-self:start; padding-top:3px; }
 .af-news .af-news__button { min-width:240px; padding-inline:20px; gap:16px; }
}
@media (prefers-reduced-motion:reduce) { .af-news .af-news__link { transition:none; } }
/* End Amuse Factor NEWS styles. */


/* Step4B: company history only; content stays editable in Elementor */
.elementor-76 .af-history .af-history-row>.elementor-container{display:grid;grid-template-columns:112px minmax(0,1fr);gap:64px;position:relative;padding:0 0 42px;}
.elementor-76 .af-history .af-history-row>.elementor-container:before{content:"";position:absolute;left:143px;top:0;bottom:0;width:2px;background:#efc6cb;}
.elementor-76 .af-history .af-history-row:first-of-type>.elementor-container:before{top:18px;}
.elementor-76 .af-history .af-history-row:last-child>.elementor-container:before{bottom:calc(100% - 18px);}
.elementor-76 .af-history .af-history-row>.elementor-container>.elementor-column{width:auto!important;min-width:0;}
.elementor-76 .af-history .af-history-row .elementor-widget-wrap{padding:0;align-content:flex-start;}
.elementor-76 .af-history .af-history-year:after{content:"";position:absolute;top:11px;right:-39px;width:16px;height:16px;border:3px solid #e60012;border-radius:50%;background:#fff;box-sizing:border-box;z-index:1;}
.elementor-76 .af-history .af-history-year .elementor-heading-title{font-family:inherit!important;font-size:24px!important;font-weight:700;line-height:1.5!important;color:#e60012;text-align:right;}
.elementor-76 .af-history .af-history-event .elementor-heading-title{font-family:inherit!important;font-size:20px!important;font-weight:600;line-height:1.7!important;color:#333!important;text-align:left!important;}
.elementor-76 .af-history .af-history-event{margin-bottom:10px;}
.elementor-76 .af-history .af-history-copy{font-size:16px;line-height:1.9;color:#666;margin-bottom:0;}
.elementor-76 .af-history .af-history-copy p{margin:0;}
.elementor-76 .af-history .af-history-media{margin-top:20px;margin-bottom:0;text-align:left;}
.elementor-76 .af-history .af-history-media img{display:block;width:auto;max-width:100%;height:auto;object-fit:contain;}
.elementor-76 .af-history .af-history-ebis{width:460px;max-width:100%;}
.elementor-76 .af-history .af-history-logo{width:300px;max-width:70%;align-self:center;}
.elementor-76 .af-history .af-history-character{width:140px;max-width:30%;align-self:center;}
.elementor-76 .af-history .af-history-character img{max-height:150px;margin:auto;}
.elementor-76 .af-history .af-history-empty>.elementor-container{padding-bottom:42px;min-height:78px;}
.elementor-76 .af-history .af-history-css{margin:0!important;}
@media(max-width:767px){
.elementor-76 .af-history .af-history-row>.elementor-container{grid-template-columns:minmax(0,1fr);gap:10px;padding:0 0 32px 30px;}
.elementor-76 .af-history .af-history-row>.elementor-container:before{left:7px;}
.elementor-76 .af-history .af-history-year:after{left:-30px;right:auto;top:8px;}
.elementor-76 .af-history .af-history-year .elementor-heading-title{text-align:left;font-size:22px!important;}
.elementor-76 .af-history .af-history-event .elementor-heading-title{font-size:18px!important;line-height:1.65!important;}
.elementor-76 .af-history .af-history-empty>.elementor-container{min-height:72px;padding-bottom:28px;}
.elementor-76 .af-history .af-history-media{margin-top:16px;}
}
.elementor-76 .af-history{width:calc(100% + 30px);margin-left:-15px;margin-right:-15px;}

/* End Step4B history. */


/* Step4C: message page only. Existing Elementor text remains editable. */
body .elementor.elementor-920197{--af-message-red:#dd0000;--af-message-pink:#f9bdb5;}
body .elementor.elementor-920197 .af4-message-intro{padding:72px 24px 80px;}
body .elementor.elementor-920197 .af4-message-intro>.elementor-container{max-width:1140px;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:56px;align-items:start;}
body .elementor.elementor-920197 .af4-message-intro>.elementor-container>.elementor-column{width:auto!important;min-width:0;}
body .elementor.elementor-920197 .af4-message-intro>.elementor-container>.elementor-column>.elementor-widget-wrap{padding:0;align-content:flex-start;}
body .elementor.elementor-920197 .af4-message-intro .elementor-widget-image{width:100%;max-width:400px;margin:0;}
body .elementor.elementor-920197 .af4-message-intro .elementor-widget-image img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:center 20%;border-radius:0;}
body .elementor.elementor-920197 .af4-message-intro h2{font-size:28px!important;line-height:1.5!important;color:#000!important;text-align:left;margin:0;}
body .elementor.elementor-920197 .af4-message-intro .elementor-widget-heading{margin-bottom:24px;}
body .elementor.elementor-920197 .af4-message-intro .elementor-widget-text-editor,body .elementor.elementor-920197 .af4-message-intro .elementor-widget-text-editor>.elementor-widget-container,body .elementor.elementor-920197 .af4-message-intro p{font-size:16px!important;line-height:1.95!important;color:#000!important;text-align:left;}
body .elementor.elementor-920197 .af4-message-intro p{margin:0 0 20px;}
body .elementor.elementor-920197 .af4-message-intro p:last-child{margin-bottom:0;}
body .elementor.elementor-920197 .af4-message-intro .elementor-element-3498a4b7{margin-bottom:24px;}
body .elementor.elementor-920197 .af4-message-intro .elementor-element-519ab043 p{font-size:18px!important;text-align:right;}
body .elementor.elementor-920197 :is(.af4-mission,.af4-innovation){width:calc(100% - 48px);max-width:1140px;margin:0 auto 48px;padding:76px 80px 72px;background:#fff;border:1px solid #f0eded;position:relative;isolation:isolate;overflow:hidden;}
body .elementor.elementor-920197 :is(.af4-mission,.af4-innovation)>.elementor-container{position:relative;z-index:1;max-width:980px;}
body .elementor.elementor-920197 :is(.af4-mission,.af4-innovation)>.elementor-container>.elementor-column>.elementor-widget-wrap{padding:0;}
body .elementor.elementor-920197 :is(.af4-mission,.af4-innovation):before,body .elementor.elementor-920197 :is(.af4-mission,.af4-innovation):after{content:"";position:absolute;left:0;top:0;width:240px;height:170px;pointer-events:none;z-index:0;}
body .elementor.elementor-920197 :is(.af4-mission,.af4-innovation):before{background:var(--af-message-pink);clip-path:polygon(0 0,100% 0,0 75%);}
body .elementor.elementor-920197 :is(.af4-mission,.af4-innovation):after{background:var(--af-message-red);clip-path:polygon(0 0,55% 0,0 100%);}
body .elementor.elementor-920197 :is(.af4-mission,.af4-innovation) .elementor-widget-heading{margin:0 0 32px;padding:0 0 20px;border-bottom:1px solid var(--af-message-red);}
body .elementor.elementor-920197 :is(.af4-mission,.af4-innovation) h2{font-size:28px!important;line-height:1.5!important;letter-spacing:.06em;color:var(--af-message-red)!important;text-align:center;margin:0;}
body .elementor.elementor-920197 .af4-mission .elementor-widget-text-editor{width:100%;max-width:820px;margin:0 auto;}
body .elementor.elementor-920197 .af4-mission .elementor-widget-text-editor>.elementor-widget-container,body .elementor.elementor-920197 .af4-mission p{font-size:24px!important;font-weight:600;line-height:1.9!important;color:#000!important;text-align:center;margin:0;}
body .elementor.elementor-920197 .af4-innovation{padding:64px 80px 112px;margin-bottom:80px;}
body .elementor.elementor-920197 .af4-innovation:before,body .elementor.elementor-920197 .af4-innovation:after{top:auto;bottom:0;left:auto;right:0;width:168px;height:119px;transform:rotate(180deg);}
body .elementor.elementor-920197 .af4-innovation .elementor-widget-text-editor{margin:0;width:100%;}
body .elementor.elementor-920197 .af4-innovation ul{padding:0 0 0 1.25em;margin:0;list-style:disc;}
body .elementor.elementor-920197 .af4-innovation li{font-size:17px!important;line-height:1.95!important;color:#000!important;padding:0 0 0 .25em;margin:0 0 20px;}
body .elementor.elementor-920197 .af4-innovation li:last-child{margin-bottom:0;}
@media(max-width:1024px){
body .elementor.elementor-920197 .af4-message-intro>.elementor-container{gap:32px;}
body .elementor.elementor-920197 :is(.af4-mission,.af4-innovation){padding-left:48px;padding-right:48px;}
}
@media(max-width:767px){
body .elementor.elementor-920197 .af4-message-intro{padding:36px 20px 48px;}
body .elementor.elementor-920197 .af4-message-intro>.elementor-container{grid-template-columns:minmax(0,1fr);gap:32px;}
body .elementor.elementor-920197 .af4-message-intro .elementor-widget-image{margin:0 auto;}
body .elementor.elementor-920197 .af4-message-intro h2{font-size:24px!important;}
body .elementor.elementor-920197 .af4-message-intro .elementor-element-519ab043 p{font-size:17px!important;}
body .elementor.elementor-920197 :is(.af4-mission,.af4-innovation){width:calc(100% - 32px);padding:64px 24px 40px;margin-bottom:32px;}
body .elementor.elementor-920197 :is(.af4-mission,.af4-innovation):before,body .elementor.elementor-920197 :is(.af4-mission,.af4-innovation):after{width:140px;height:95px;}
body .elementor.elementor-920197 .af4-innovation:before,body .elementor.elementor-920197 .af4-innovation:after{width:98px;height:66.5px;}
body .elementor.elementor-920197 :is(.af4-mission,.af4-innovation) h2{font-size:23px!important;letter-spacing:.025em;}
body .elementor.elementor-920197 :is(.af4-mission,.af4-innovation) .elementor-widget-heading{padding-bottom:16px;margin-bottom:24px;}
body .elementor.elementor-920197 .af4-mission .elementor-widget-text-editor>.elementor-widget-container,body .elementor.elementor-920197 .af4-mission p{font-size:20px!important;line-height:1.9!important;}
body .elementor.elementor-920197 .af4-innovation{padding-top:40px;padding-bottom:100px;margin-bottom:48px;}
body .elementor.elementor-920197 .af4-innovation li{font-size:16px!important;line-height:1.9!important;margin-bottom:20px;}
}
body .elementor.elementor-920197 :is(.af4-message-intro,.af4-mission,.af4-innovation) h2{padding:0;border:0;background:transparent;}
/* End Step4C message styles. */

/* Step4B company profile: only page 76 profile heading and existing table. */
body .elementor.elementor-76 :is(.elementor-element-ec4673d,.elementor-element-e5defa8){width:calc(100% + 30px)!important;left:auto!important;margin-left:-15px;margin-right:-15px;padding:0 10px;background:#fff;}
body .elementor.elementor-76 :is(.elementor-element-ec4673d,.elementor-element-e5defa8)>.elementor-container{max-width:1140px;}
body .elementor.elementor-76 :is(.elementor-element-ec4673d,.elementor-element-e5defa8)>.elementor-container>.elementor-column>.elementor-widget-wrap{padding:0;}
body .elementor.elementor-76 .af-company-profile{width:100%;margin:0;}
body .elementor.elementor-76 .af-company-profile table{width:100%;max-width:100%;margin:0;border:0;border-collapse:collapse;border-spacing:0;table-layout:fixed;background:#fff;box-shadow:none;}
body .elementor.elementor-76 .af-company-profile tbody{border:0;}
body .elementor.elementor-76 .af-company-profile tr{border:0;border-bottom:1px solid #e0e0e0;background:#fff;}
body .elementor.elementor-76 .af-company-profile tr:not(:has(>th,>td)){display:none;}
body .elementor.elementor-76 .af-company-profile :is(th,td){border:0;background:#fff;color:#222;padding:26px 0;vertical-align:top;text-align:left;font-size:16px!important;line-height:1.8!important;letter-spacing:normal;text-transform:none;overflow-wrap:anywhere;word-break:normal;}
body .elementor.elementor-76 .af-company-profile th{width:24%;padding-left:15px;padding-right:32px;font-weight:600;}
body .elementor.elementor-76 .af-company-profile td{width:76%;padding-right:15px;font-weight:400;}
body .elementor.elementor-76 .af-company-profile :is(th,td) p{margin:0 0 8px;}
body .elementor.elementor-76 .af-company-profile :is(th,td) p:last-child{margin-bottom:0;}
body .elementor.elementor-76 .af-company-profile a{overflow-wrap:anywhere;}
@media(min-width:768px) and (max-width:1023px){
body .elementor.elementor-76 .af-company-profile :is(th,td){padding-top:22px;padding-bottom:22px;}
body .elementor.elementor-76 .af-company-profile th{width:28%;padding-right:24px;}
body .elementor.elementor-76 .af-company-profile td{width:72%;}
}
@media(max-width:767px){
body .elementor.elementor-76 .af-company-profile :is(table,tbody,tr,th,td){display:block;width:100%;max-width:100%;}
body .elementor.elementor-76 .af-company-profile tr{padding:20px 15px;}
body .elementor.elementor-76 .af-company-profile tr:not(:has(>th,>td)){display:none;}
body .elementor.elementor-76 .af-company-profile th{font-size:15px!important;padding:0;margin:0 0 8px;}
body .elementor.elementor-76 .af-company-profile td{font-size:16px!important;padding:0;margin:0;}
}
/* End Step4B company profile. */

/* Service page final buttons: equal sizes on desktop only (2026-10-16). */
@media (min-width:1025px) {
  body.page-id-58 .af-s3 .af3-buttons .elementor-button { width:300px; min-height:60px; }
}


/* Header logo: use the existing 994px white artwork, keeping the former 512x229 canvas footprint. 2026-10-17. */
body .site-header img.custom-logo[width="994"][height="223"] {
  box-sizing: border-box;
  width: 223.5808px;
  height: 100px;
  padding: 25.934px 3.708px 24.738px 0;
  object-fit: contain;
  object-position: left center;
}
