.main-visual {
    position: relative;
    width: 100%;
    overflow: hidden;
    max-width: 1080px;
    margin: 3% auto;
    border-radius: 20px;
}

.fluentform .ff-el-help-message｛
color:#fff!important;
｝

.ff-el-help-message{
	color:#fff!important;
}

.breadcrumb {
    color: #fff;
}

.page-top-floating {
    background-color: #000;
}

.pt-cv-title a {
  font-weight: 100;
    border-bottom: none;
    font-size: 13px;
    font-family: 'Noto Sans JP';
}

.pt-cv-view .pt-cv-title {
    margin-bottom: 0px;
}


h1.article-title {
	color:#ddd;
	font-size:2.3em;
	font-weight:400;
}

.fluentform button[type="submit"],
.fluentform input[type="submit"],
.fluentform .ff-btn-submit {
    background-color: #0073aa !important;
    color: #ffffff !important;
    border: 1px solid #0073aa !important;
    padding: 12px 24px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    display: inline-block !important;
    line-height: 1.4 !important;
    text-align: center !important;
    transition: all 0.3s ease !important;
}

.fluentform button[type="submit"] span,
.fluentform .ff-btn-submit span,
.fluentform button[type="submit"] *,
.fluentform .ff-btn-submit * {
    color: #ffffff !important;
}

.fluentform button[type="submit"]:hover,
.fluentform input[type="submit"]:hover,
.fluentform .ff-btn-submit:hover {
    background-color: #005177 !important;
    color: #ffffff !important;
    border-color: #005177 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 8px rgba(0,0,0,0.2) !important;
}

.fluentform button[type="submit"]:focus,
.fluentform input[type="submit"]:focus,
.fluentform .ff-btn-submit:focus {
    outline: 2px solid #0073aa !important;
    outline-offset: 2px !important;
    background-color: #0073aa !important;
    color: #ffffff !important;
}

.post-content .fluentform button[type="submit"],
.entry-content .fluentform button[type="submit"],
.site-content .fluentform button[type="submit"] {
    background: #0073aa !important;
    background-color: #0073aa !important;
    color: #ffffff !important;
    border: 1px solid #0073aa !important;
}

body .fluentform button[type="submit"],
html body .fluentform input[type="submit"] {
    background-color: #0073aa !important;
    color: #ffffff !important;
    border-color: #0073aa !important;
}

@media (max-width: 768px) {
    .fluentform button[type="submit"],
    .fluentform input[type="submit"],
    .fluentform .ff-btn-submit {
        width: 100% !important;
        padding: 14px 20px !important;
        font-size: 16px !important;
    }
}

/* === Product grid (WPエディタで壊れない版) === */
.sp-grid .epb-column__item figure{ margin:0; }

/* 正方形サムネの枠＋中央寄せ（切らない） */
.sp-thumb{
  width:100%;
  aspect-ratio:1/1;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.sp-thumb img{
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  display:block;
}

/* 端数の行でも中央揃えに */
.sp-grid .epb-columns__inner{
  justify-content:center;
}


.pt-cv-remain-wrapper {
    background-color: #2c2c2c;
    padding: 20px !important;
    margin: 0 !important;
}

.pt-cv-blockgrid.grid1.layout2 .pt-cv-content-item {
    box-shadow: none;
    border: #2c2c2c 10px solid;
}

a._self {
    font-family: 'Noto Serif JP';
    font-weight: 400 !important;
}

.pt-cv-content-item.pt-cv-1-col {
    background: #2c2c2c;
}
/* sp-cat-card: トップの製品カテゴリ（案10・2026-10-10） */
.sp-cat-card{background:#1d1d1d;border:1px solid #2c2c2c;border-radius:10px;overflow:hidden;padding-bottom:14px;transition:border-color .25s}
.sp-cat-card:hover{border-color:#777}
.sp-cat-card .wp-block-image{margin:0}
.sp-cat-card .wp-block-image img{display:block;width:100%;height:auto}
.sp-cat-card p{margin:14px 8px 0}
/* /sp-cat-card */

/* sp-store-btn: ヘッダーの「公式オンラインストアを見る」をボタンに（2026-10-10） */
.header-menu .sp-store-btn>a{height:auto!important;align-self:center;border:1px solid rgba(255,255,255,.85);border-radius:999px;padding:10px 20px!important;margin-left:12px;line-height:1!important;transition:background .2s,border-color .2s}
.header-menu .sp-store-btn>a:hover{background:rgba(255,255,255,.12);border-color:#fff}
.sp-store-btn>a span::after{display:none!important}
.drawer-menu__nav .sp-store-btn>a{display:inline-block;width:fit-content!important;border:1px solid currentColor;border-radius:999px;padding:8px 16px;margin-top:4px}
/* /sp-store-btn */

/* sp-media: トップの「目指すこと」の3枚・メディア掲載・紹介動画のカード（2026-10-10） */
.sp-point-card{background:#1d1d1d;border:1px solid #2c2c2c;border-radius:10px;padding:22px 24px}
.sp-point-card p{margin:0}
.sp-point-card p+p{margin-top:10px;font-size:14px;line-height:1.7;color:#ccc}
.sp-media-card{background:#1d1d1d;border:1px solid #2c2c2c;border-radius:10px;overflow:hidden;padding-bottom:18px;transition:border-color .25s}
.sp-media-card:hover{border-color:#777}
.sp-media-card .wp-block-image{margin:0}
.sp-media-card .wp-block-image img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:top}
.sp-media-card.sp-video .wp-block-image img{aspect-ratio:16/9;object-position:center}
.sp-media-card p{margin:10px 16px 0;font-size:13px;line-height:1.7;color:#bbb}
.sp-media-card p.sp-src{margin-top:14px;font-size:12px;color:#999}
.sp-media-card p.sp-title{font-size:14px;line-height:1.6}
.sp-media-card p.sp-title a{color:#fff;text-decoration:none}
.sp-media-card p.sp-title a:hover{text-decoration:underline}
/* /sp-media */

/* sp-cat-finder: トップの「製品カテゴリ」見出しの右の製品セレクター入口（2026-10-10） */
.sp-cat-head{gap:12px 24px}
.sp-cat-head h2{margin-bottom:0}
.sp-cat-finder{margin:0}
.sp-cat-finder a{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border:1px solid rgba(255,255,255,.7);border-radius:999px;color:#fff;text-decoration:none;font-size:14px;letter-spacing:.06em;line-height:1.3;transition:background .2s,border-color .2s}
.sp-cat-finder a::before{content:"";width:15px;height:15px;flex:none;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5L21 21'/%3E%3C/svg%3E")}
.sp-cat-finder a:hover{background:rgba(255,255,255,.1);border-color:#fff}
/* /sp-cat-finder */

/* sp-anim2026 */
/* The escaped slash keeps the staging-only selector free of a literal host path. */
:is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .home :is(.animated, .hidden-animated) {
  visibility: visible !important; /* beats Otter's inline hide rule when JS is unavailable */
  opacity: 1;
  animation: none;
}
:is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .epb-animation-fadeInUp {
  opacity: 1;
  transform: none;
  animation: none;
}
:is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .slick-slide.slick-current .header-image-slider__item,
:is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .slick-slide.is-active .header-image-slider__item { animation: none; }
:is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .main-visual-slider__inner.is_opacity { opacity: 1; }
:is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .js-main-visual-inner.animation { animation: none; }
:is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) body.is-header-animation-fade.header-animation .l-header { animation: none; }

/* Drawer and hamburger timing. */
:is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .drawer-menu { transition: transform 300ms ease-out; }
:is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .drawer-overlay { animation-duration: 180ms; }
:is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .hamburger-menu-trigger span,
:is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .hamburger-close-line span { transition-duration: 180ms; }

/* Hero controls. */
:is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .main-visual .slick-prev,
:is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .main-visual .slick-next {
  display: block; /* G specificity beats the theme's hover-only display rule */
  opacity: 1;
  visibility: visible;
  z-index: 3;
}
:is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .main-visual .slick-prev { left: 16px; }
:is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .main-visual .slick-next { right: 16px; }
:is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) :is(.main-visual .slick-prev, .main-visual .slick-next, .sp-hero-toggle):focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
:is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .sp-hero-toggle {
  position: absolute;
  right: 16px;
  bottom: 16px;
  z-index: 4;
  padding: 7px 12px;
  border: 1px solid rgba(255,255,255,.75);
  border-radius: 3px;
  background: rgba(0,0,0,.62);
  color: #fff;
  font: inherit;
  line-height: 1.3;
  cursor: pointer;
}

/* One-shot reveal states. */
:is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .sp-r { transform: none; }
:is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .sp-r--fade,
:is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .sp-r--card { opacity: 0; }
:is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .sp-r--clip { clip-path: inset(100% 0 0 0); }
:is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .sp-r--mask { clip-path: inset(0 100% 0 0); }
:is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .sp-r:not(.sp-in) { transition: none; } /* hide instantly; beats theme transition:all on cards */
:is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .sp-r--fade.sp-in { opacity: 1; transition: opacity 600ms cubic-bezier(.2,.7,.2,1); }
:is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .sp-r--card.sp-in { opacity: 1; transition: opacity 450ms cubic-bezier(.2,.7,.2,1); }
:is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .sp-r--clip.sp-in { clip-path: inset(0 0 0 0); transition: clip-path 700ms cubic-bezier(.2,.7,.2,1); }
:is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .sp-r--mask.sp-in { clip-path: inset(0 0 0 0); transition: clip-path 850ms cubic-bezier(.2,.7,.2,1); }
:is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .sp-r.sp-in.sp-now { transition: none; }

/* Reduced motion and print always leave content available. */
@media (prefers-reduced-motion: reduce) {
  :is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .drawer-menu,
  :is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .drawer-overlay,
  :is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .hamburger-menu-trigger span,
  :is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .hamburger-close-line span { transition-duration: 0s; animation: none; }
  :is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .main-visual .slick-prev,
  :is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .main-visual .slick-next,
  :is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .sp-hero-toggle { transition-duration: 0s; }
  :is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .sp-r,
  :is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .sp-r.sp-in { opacity: 1; clip-path: inset(0 0 0 0); transition-duration: 0s; animation: none; }
  :is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .swiper-wrapper { transition-duration: 0s !important; } /* beats Swiper's inline duration */
  :is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .main-visual .slick-slide { transition-duration: 0s !important; } /* beats slick's inline transition */
}
@media print {
  :is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .sp-r,
  :is(html.sp-anim, html:has(> head > link[rel="https://api.w.org/"][href])) .sp-r.sp-in { opacity: 1; clip-path: inset(0 0 0 0); transition: none; animation: none; }
}
/* /sp-anim2026 */

/* sp-quote2026 */
/* Press quotes on pages: the theme gives blockquotes a light background while page text is light; use a dark card instead. */
body.page .article-body .wp-block-quote { background: rgba(255,255,255,.06); color: #e6e6e6; border-left: 3px solid #8a8a8a; padding: 1.2em 1.4em; }
body.page .article-body .wp-block-quote p { color: #e6e6e6; }
body.page .article-body .wp-block-quote cite { color: #b5b5b5; }
/* /sp-quote2026 */
