.elementor-459 .elementor-element.elementor-element-3f850b0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-459 .elementor-element.elementor-element-c33ee36{--display:flex;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-459 .elementor-element.elementor-element-3f850b0{--gap:0px 0px;--row-gap:0px;--column-gap:0px;}}/* Start custom CSS for container, class: .elementor-element-3f850b0 *//* ===== Tokens ===== */
:root{
  --ink:#0E1116; --muted:#6B7280; --surface:#fff; --border:#E5EAF3;
  --brand-100:#E4ECFA; --brand-500:#18408E; --brand-700:#072657;
  --accent:#C1121F; --accent-100:#FCE5E7; --accent-700:#A10E19;

  /* Tabs */
  --tab-active-bg:var(--brand-500);
  --tab-active-fg:#fff;
  --tab-active-bd:var(--brand-500);
  --tab-inactive-bg:var(--surface);
  --tab-inactive-fg:var(--ink);
  --tab-inactive-bd:var(--border);
  --tab-hover-bd:var(--brand-100);
  --tab-focus-ring:var(--brand-500);
}

/* ===== Tabs ===== */
.tabwrap .tab{
  background:var(--tab-inactive-bg)!important;
  color:var(--tab-inactive-fg)!important;
  border:1.5px solid var(--tab-inactive-bd)!important;
  box-shadow:none!important;
}
.tabwrap .tab:not(.is-active):hover{ border-color:var(--tab-hover-bd)!important; color:var(--brand-500)!important; }
.tabwrap .tab.is-active{
  background:var(--tab-active-bg)!important; color:var(--tab-active-fg)!important;
  border-color:var(--tab-active-bd)!important; box-shadow:none!important;
}
.tabwrap .tab:focus-visible{ outline:2px solid var(--tab-focus-ring)!important; outline-offset:2px!important; }

/* ===== Voices ===== */
.voices{
  padding:56px 12px; margin:0 auto; max-width:1200px;
  font-family:'Noto Sans JP',system-ui,-apple-system,Segoe UI,Roboto,'Hiragino Kaku Gothic ProN',Meiryo,sans-serif;
}
.voices .vc-inner{ max-width:1100px; margin:0 auto; }
.voices h2{ margin:0 0 6px; color:var(--ink); font-weight:900; font-size:clamp(20px,2.6vw,28px); }
.voices .vc-lead{ margin:0 0 18px; color:var(--muted); font-size:clamp(13px,1.2vw,14.5px); }
.voices .vc-grid{ display:grid; gap:14px; grid-template-columns:repeat(3,minmax(0,1fr)); }
@media (max-width:980px){ .voices .vc-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px){ .voices .vc-grid{ grid-template-columns:1fr; } }
.voices .vc-card{
  background:linear-gradient(#fff,#fff) padding-box,
             radial-gradient(120% 120% at 0 0, rgba(24,64,142,.12), rgba(193,18,31,.10)) border-box;
  border:1px solid transparent; border-radius:16px; padding:14px 16px;
  box-shadow:0 10px 22px rgba(17,24,39,.06),0 1px 2px rgba(17,24,39,.04);
  display:flex; flex-direction:column; gap:10px;
}
.voices .vc-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.voices .vc-stars{ font-weight:900; letter-spacing:.06em; color:#F5B301; }
.voices .vc-meta{ display:grid; gap:2px; text-align:right; }
.voices .vc-name{ margin:0; font-weight:800; color:var(--ink); font-size:14px; }
.voices .vc-kind{ margin:0; color:var(--muted); font-size:12px; }
.voices .vc-date{ margin:0; color:#6b7a86; font-size:11.5px; }
.voices .vc-quote{
  margin:0; color:#223246; line-height:1.9; font-size:14px;
  background:linear-gradient(#fff,#fff) padding-box,
             radial-gradient(140% 100% at 0 0, rgba(11,50,111,.06), transparent) border-box;
  border:1px solid var(--border); border-radius:12px; padding:12px;
}

/* ===== FAQ ===== */
.faq{
  padding:56px 12px; margin:0 auto; max-width:1200px;
  font-family:'Noto Sans JP',system-ui,-apple-system,Segoe UI,Roboto,'Hiragino Kaku Gothic ProN',Meiryo,sans-serif;
}
.faq .fq-inner{ max-width:920px; margin:0 auto; }
.faq h2{ margin:0 0 6px; color:var(--ink); font-weight:900; font-size:clamp(20px,2.6vw,28px); }
.faq .fq-lead{ margin:0 0 18px; color:var(--muted); font-size:clamp(13px,1.2vw,14.5px); }
.faq .fq-list{ display:grid; gap:10px; }
.faq .fq-item{
  border:1px solid var(--border); border-radius:14px; background:var(--surface);
  transition:border-color .3s ease; overflow:hidden;
}
.faq .fq-item[open]{ border-color:var(--brand-100); box-shadow:0 10px 24px rgba(17,24,39,.06); }
.faq .fq-item>summary{
  list-style:none; cursor:pointer; padding:16px; display:flex; align-items:center; gap:12px;
  font-weight:900; color:#0b1f3b;
}
.faq .fq-item>summary::-webkit-details-marker{ display:none; }
.faq .fq-item>summary::after{
  content:""; margin-left:auto; flex-shrink:0; width:24px; height:24px; border-radius:50%;
  background:var(--brand-100);
  background-image:linear-gradient(#18408E,#18408E),linear-gradient(#18408E,#18408E);
  background-size:2px 12px,12px 2px; background-position:center; background-repeat:no-repeat;
  transition:transform .3s cubic-bezier(.4,0,.2,1), background-color .3s ease, background-image .3s ease;
}
.faq .fq-item[open]>summary::after{
  transform:rotate(225deg); background:var(--accent-100);
  background-image:linear-gradient(#A10E19,#A10E19),linear-gradient(#A10E19,#A10E19);
}
.faq .fq-q{ font-size:clamp(14px,1.6vw,16px); letter-spacing:.01em; }
.faq .fq-a{
  padding:16px; padding-top:16px; color:var(--muted); line-height:1.9; font-size:clamp(13px,1.4vw,14.5px);
  border-top:1px solid var(--border); margin:0 16px 16px;
}
.faq .fq-item[open] .fq-a{ animation:fadeIn .5s ease-in-out; }
@keyframes fadeIn{ from{opacity:0; transform:translateY(-10px);} to{opacity:1; transform:translateY(0);} }

@media (max-width:640px){ .faq .fq-item>summary{ padding:14px; } }
@media (prefers-reduced-motion:reduce){
  .faq .fq-item>summary::after, .faq .fq-item[open] .fq-a{ transition:none; animation:none; }
}/* End custom CSS */