.elementor-521 .elementor-element.elementor-element-f4a00cf{--display:flex;--min-height:280px;--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;--justify-content:center;--overlay-opacity:0.36;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-521 .elementor-element.elementor-element-f4a00cf:not(.elementor-motion-effects-element-type-background), .elementor-521 .elementor-element.elementor-element-f4a00cf > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://sowaka.site/wp-content/uploads/2025/08/3bannae.png");background-position:0px -223px;background-size:auto;}.elementor-521 .elementor-element.elementor-element-f4a00cf::before, .elementor-521 .elementor-element.elementor-element-f4a00cf > .elementor-background-video-container::before, .elementor-521 .elementor-element.elementor-element-f4a00cf > .e-con-inner > .elementor-background-video-container::before, .elementor-521 .elementor-element.elementor-element-f4a00cf > .elementor-background-slideshow::before, .elementor-521 .elementor-element.elementor-element-f4a00cf > .e-con-inner > .elementor-background-slideshow::before, .elementor-521 .elementor-element.elementor-element-f4a00cf > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#06524D;--background-overlay:'';}.elementor-521 .elementor-element.elementor-element-f4a00cf > .elementor-shape-bottom svg, .elementor-521 .elementor-element.elementor-element-f4a00cf > .e-con-inner > .elementor-shape-bottom svg{width:calc(114% + 1.3px);}.elementor-521 .elementor-element.elementor-element-6ad3da3{--display:flex;--min-height:100vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-521 .elementor-element.elementor-element-6ad3da3:not(.elementor-motion-effects-element-type-background), .elementor-521 .elementor-element.elementor-element-6ad3da3 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-521 .elementor-element.elementor-element-6ad3da3.e-con{--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-521 .elementor-element.elementor-element-6be6fb9{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 50px 0px;text-align:center;}.elementor-521 .elementor-element.elementor-element-6be6fb9 .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:40px;font-weight:600;text-shadow:0px 0px 10px rgba(0, 0, 0, 0);color:#244A5A;}@media(min-width:768px){.elementor-521 .elementor-element.elementor-element-6ad3da3{--width:156.082%;}}@media(max-width:1024px){.elementor-521 .elementor-element.elementor-element-f4a00cf:not(.elementor-motion-effects-element-type-background), .elementor-521 .elementor-element.elementor-element-f4a00cf > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:-331px -281px;}}@media(max-width:767px){.elementor-521 .elementor-element.elementor-element-f4a00cf{--min-height:200px;}.elementor-521 .elementor-element.elementor-element-f4a00cf:not(.elementor-motion-effects-element-type-background), .elementor-521 .elementor-element.elementor-element-f4a00cf > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:-538px -298px;}.elementor-521 .elementor-element.elementor-element-6ad3da3{--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:3px;}.elementor-521 .elementor-element.elementor-element-6be6fb9 .elementor-heading-title{font-size:30px;}}/* Start custom CSS for html, class: .elementor-element-f34cdbc */.faq-section {
  max-width: 800px;
  margin: 50px auto;
  padding: 30px;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 10px 40px rgba(0,0,0,0.08);
  font-family: 'Inter', 'Helvetica Neue', sans-serif;
}

.faq-item {
  border-bottom: 1px solid rgba(12,148,108,0.2);
  transition: all 0.4s ease;
}

.faq-question {
  position: relative; /* アイコン絶対配置用 */
  cursor: pointer;
  padding: 18px 50px 18px 25px; /* 右側にアイコンスペース確保 */
  font-size: 1.1rem;
  font-weight: 600;
  color: #0C946C;
  background: rgba(12,148,108,0.05);
  border-radius: 12px;
  margin-bottom: 8px;
  transition: all 0.3s ease;
  word-break: break-word; /* 長い文字列も折り返し */
}

.faq-question:hover {
  background: rgba(12,148,108,0.15);
}

.faq-icon {
  position: absolute;
  right: 20px; /* 右端に固定 */
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #0C946C;
  color: #fff;
  font-weight: bold;
  transition: transform 0.4s ease, background 0.3s ease, color 0.3s ease, border 0.3s ease;
  font-size: 1.2rem;
}

.faq-item.active .faq-icon {
  transform: rotate(45deg);
  background: #fff;
  color: #0C946C;
  border: 1px solid #0C946C;
}

.faq-answer {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  padding: 0 25px;
  color: #333;
  font-size: 0.95rem;
  line-height: 1.7;
  transition: all 0.5s ease;
}

.faq-item.active .faq-answer {
  max-height: 700px;
  opacity: 1;
  margin-bottom: 15px;
}

/* モバイル対応 */
@media (max-width: 600px) {
  .faq-question {
    font-size: 1rem;
    padding: 15px 50px 15px 20px; /* アイコン用スペース確保 */
  }
  .faq-answer {
    font-size: 0.9rem;
    padding: 0 20px;
  }
}/* End custom CSS */