.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-14 .elementor-element.elementor-element-922aeac{width:var( --container-widget-width, 93.535% );max-width:93.535%;--container-widget-width:93.535%;--container-widget-flex-grow:0;}.elementor-14 .elementor-element.elementor-element-922aeac.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-14 .elementor-element.elementor-element-bd9053b{width:var( --container-widget-width, 99.192% );max-width:99.192%;--container-widget-width:99.192%;--container-widget-flex-grow:0;}.elementor-14 .elementor-element.elementor-element-bd9053b.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-14 .elementor-element.elementor-element-eb94081{margin:0em 0em calc(var(--kit-widget-spacing, 0px) + 2em) 0em;text-align:center;}.elementor-14 .elementor-element.elementor-element-eb94081 .elementor-heading-title{font-family:"Noto Serif JP", Sans-serif;font-size:25px;font-weight:700;}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-14 .elementor-element.elementor-element-c53b472 .elementor-icon-wrapper{text-align:center;}.elementor-14 .elementor-element.elementor-element-c53b472 .elementor-icon{font-size:38px;}.elementor-14 .elementor-element.elementor-element-c53b472 .elementor-icon svg{height:38px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-14 .elementor-element.elementor-element-f392d78{padding:1em 10em 1em 10em;text-align:center;font-family:"Noto Sans Gothic", Sans-serif;font-size:13px;font-weight:400;}.elementor-14 .elementor-element.elementor-element-e535fb4{margin:0em 15em calc(var(--kit-widget-spacing, 0px) + 20em) 15em;padding:0em 0em 0em 0em;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-14 .elementor-element.elementor-element-eb94081{margin:0em 0em calc(var(--kit-widget-spacing, 0px) + 0em) 0em;}.elementor-14 .elementor-element.elementor-element-eb94081 .elementor-heading-title{font-size:21px;}.elementor-14 .elementor-element.elementor-element-c53b472{margin:0em 0em calc(var(--kit-widget-spacing, 0px) + 2em) 0em;}.elementor-14 .elementor-element.elementor-element-c53b472 .elementor-icon{font-size:27px;}.elementor-14 .elementor-element.elementor-element-c53b472 .elementor-icon svg{height:27px;}.elementor-14 .elementor-element.elementor-element-f392d78{padding:1em 1em 1em 1em;text-align:start;}.elementor-14 .elementor-element.elementor-element-e535fb4{width:100%;max-width:100%;margin:0em 0em calc(var(--kit-widget-spacing, 0px) + 10em) 0em;padding:0em 1em 0em 1em;}}/* Start custom CSS for html, class: .elementor-element-bad8e54 *//* カスタムCSSに追加 */
.chiebo-text-sec {
  border-top: 1px solid var(--c-border);
  padding-top: 32px;
}
.chiebo-text-sec p {
  font-size: 14px;
  line-height: 2;
  color: var(--c-text-main);
  margin: 0 0 8px;
}
.chiebo-highlight {
  color: var(--c-green-dark);
  font-weight: 500;
}
.sparkle-list {
  list-style: none;
  padding: 0;
  margin: 12px 0 16px;
}
.sparkle-list li {
  font-size: 14px;
  line-height: 2;
  color: var(--c-text-main);
  display: flex;
  align-items: center;
  gap: 8px;
}
.sparkle-list li::before {
  content: '\2726';
  color: #E8A020;
  font-size: 13px;
  flex-shrink: 0;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-bbe6ac7 *//* カスタムCSSに追加 */
.badge-row {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
}
.chiebo-badge {
  display: flex;
  align-items: center;
  gap: 6px;
  border: 1px solid var(--c-border);
  border-radius: 50px;
  padding: 8px 18px;
  font-size: 13px;
  color: var(--c-text-main);
  background: #fff;
}
.badge-icon { width: 28px; height: 28px; }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-922aeac *//* カスタムCSSに追加 */
.worries {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.worry-item { text-align: center; }
.worry-icon {
  width: 80px;   /* 150px → 130px に縮小 */
  height: 80px;
  border-radius: 50%;
  background: var(--c-green-light);
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 10px;
  overflow: hidden;
}
.worry-icon img { 
  width: 180px!important; /* 円より大きくする */
  height: 180px!important; 
  object-fit: contain!important;
}
.worry-text {
  font-size: 12px;
  line-height: 1.7;
  color: var(--c-text-sub);
}
.worry-png {
  width: 200px !important;
  height: 200px !important;
  object-fit: cover !important;
  transform: scale(1.3);
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-db5aa2c *//* カスタムCSSに追加 */
.features {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.feature-item { text-align: center; }
.feature-icon {
  width: 80px; height: 80px;
  border-radius: 50%;
  background: var(--c-green-light);
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 10px;
  overflow: hidden;
}
.feature-icon img { width: 80px; height: 80px; object-fit: contain; }
.feature-text {
  font-size: 12px;
  line-height: 1.7;
  color: var(--c-text-sub);
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-60e1ab0 *//* カスタムCSSに追加 */
.profile-card {
  background: #fff;
  border-radius: 12px;
  border: 0.5px solid var(--c-border);
  padding: 24px;
  display: flex;
  gap: 20px;
  align-items: flex-start;
}
.profile-photo {
  width: 88px; height: 88px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  border: 2px solid var(--c-border);
}
.profile-photo img { width: 100%; height: 100%; object-fit: cover; }
.profile-role {
  font-size: 11px;
  color: var(--c-text-sub);
  margin: 0 0 4px;
}
.profile-name {
  font-size: 22px;
  font-weight: 500;
  color: var(--c-text-main);
  margin: 0 0 10px;
}
.profile-desc {
  font-size: 13px;
  line-height: 1.8;
  color: var(--c-text-sub);
  margin: 0 0 14px;
}
.profile-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.profile-tag {
  font-size: 11px;
  border: 0.5px solid var(--c-green-main);
  color: var(--c-green-dark);
  border-radius: 20px;
  padding: 3px 12px;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-293e8e0 *//* カスタムCSSに追加 */
.lessons {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
.lesson-item {
  background: #fff;
  border: 0.5px solid var(--c-border);
  border-radius: 10px;
  padding: 16px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.lesson-icon {
  width: 48px; height: 48px;
  border-radius: 50%;
  background: var(--c-green-light);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; overflow: hidden;
}
.lesson-icon img { width: 32px; height: 32px; object-fit: contain; }
.lesson-text {
  font-size: 13px;
  line-height: 1.6;
  color: var(--c-text-main);
  font-weight: 500;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-a824903 *//* カスタムCSSに追加 */
.pricing {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
.price-card {
  background: #fff;
  border: 0.5px solid var(--c-border);
  border-radius: 10px;
  padding: 20px 14px;
  text-align: center;
  position: relative;
}
.price-card.popular {
  border: 1.5px solid var(--c-green-main);
}
.popular-badge {
  position: absolute;
  top: -11px; left: 50%;
  transform: translateX(-50%);
  background: var(--c-green-main);
  color: #fff;
  font-size: 10px;
  padding: 2px 14px;
  border-radius: 20px;
  white-space: nowrap;
}
.price-plan {
  font-size: 11px;
  color: var(--c-text-sub);
  margin: 0 0 6px;
}
.price-amount {
  font-size: 24px;
  font-weight: 500;
  color: var(--c-text-main);
  margin: 0 0 4px;
}
.price-tax { font-size: 12px; }
.price-unit {
  font-size: 11px;
  color: var(--c-text-sub);
  margin: 0;
}
.price-note {
  font-size: 11px;
  color: var(--c-text-sub);
  margin-top: 8px;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-bd9053b *//* カスタムCSSに追加 */
.voices {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
.voice-card {
  background: #fff;
  border: 0.5px solid var(--c-border);
  border-radius: 10px;
  padding: 18px;
  display: flex;
  gap: 14px;
  align-items: flex-start;
}
.voice-icon {
  width: 80px; height: 80px;
  border-radius: 50%;
  background: var(--c-green-light);
  flex-shrink: 0; overflow: hidden;
  display: flex; align-items: center; justify-content: center;
}
.voice-icon img { width: 100%; height: 100%; object-fit: cover; }
.voice-text {
  font-size: 13px;
  line-height: 1.8;
  color: var(--c-text-main);
  margin: 0 0 8px;
}
.voice-attr {
  font-size: 11px;
  color: var(--c-text-sub);
  margin: 0;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-7989f61 *//* カスタムCSSに追加 */
.faq-list { display: grid; gap: 0; }
.faq-item { border-bottom: 0.5px solid var(--c-border); }
.faq-q {
  display: flex; align-items: center; gap: 10px;
  padding: 16px 4px; font-size: 14px;
  color: var(--c-text-main); cursor: pointer;
  user-select: none;
}
.faq-q-mark {
  color: var(--c-green-main);
  font-weight: 500; font-size: 15px; flex-shrink: 0;
}
.faq-icon {
  margin-left: auto; font-size: 20px;
  color: var(--c-text-sub); font-weight: 300;
  transition: transform 0.3s ease; line-height: 1;
}
.faq-item.open .faq-icon { transform: rotate(45deg); }
.faq-a {
  font-size: 13px; line-height: 1.8;
  color: var(--c-text-sub);
  padding: 0 4px 0 26px;
  max-height: 0; overflow: hidden;
  transition: max-height 0.35s ease, padding 0.35s ease;
}
.faq-item.open .faq-a {
  max-height: 200px;
  padding: 0 4px 16px 26px;
}/* End custom CSS */