.elementor-99 .elementor-element.elementor-element-322ba13{--display:flex;--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;--justify-content:center;--align-items:center;--gap:5px 5px;--row-gap:5px;--column-gap:5px;}.elementor-99 .elementor-element.elementor-element-5270939{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.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-99 .elementor-element.elementor-element-1efa10f img{width:5%;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );word-spacing:var( --e-global-typography-primary-word-spacing );color:var( --e-global-color-primary );}.elementor-99 .elementor-element.elementor-element-ccbb9d0{text-align:center;}.elementor-99 .elementor-element.elementor-element-ccbb9d0 .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:48px;font-weight:600;line-height:1.3em;letter-spacing:0.03em;color:#000000;}.elementor-99 .elementor-element.elementor-element-8f1a86b{text-align:center;}.elementor-99 .elementor-element.elementor-element-8f1a86b .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:19px;font-weight:400;line-height:1.3em;letter-spacing:0.05em;color:#000000;}.elementor-99 .elementor-element.elementor-element-c7bc6ce{--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;}.elementor-99 .elementor-element.elementor-element-57da9e6{--display:flex;}.elementor-99 .elementor-element.elementor-element-0c85fe3{--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;}.elementor-99 .elementor-element.elementor-element-9d4c87b{--spacer-size:40px;}.elementor-99 .elementor-element.elementor-element-1b015bc{--spacer-size:40px;}@media(max-width:1366px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-99 .elementor-element.elementor-element-ccbb9d0 .elementor-heading-title{line-height:1.3em;letter-spacing:0.03em;}}@media(max-width:1050px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );word-spacing:var( --e-global-typography-primary-word-spacing );}}@media(max-width:900px){.elementor-99 .elementor-element.elementor-element-8f1a86b > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-99 .elementor-element.elementor-element-8f1a86b .elementor-heading-title{font-size:18px;}}@media(max-width:768px){.elementor-99 .elementor-element.elementor-element-322ba13{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-99 .elementor-element.elementor-element-5270939{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-99 .elementor-element.elementor-element-1efa10f img{width:15%;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-99 .elementor-element.elementor-element-ccbb9d0 .elementor-heading-title{font-size:40px;line-height:1.3em;}.elementor-99 .elementor-element.elementor-element-8f1a86b .elementor-heading-title{font-size:18px;}.elementor-99 .elementor-element.elementor-element-9d4c87b{--spacer-size:40px;}.elementor-99 .elementor-element.elementor-element-1b015bc{--spacer-size:40px;}}@media(min-width:2400px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );word-spacing:var( --e-global-typography-primary-word-spacing );}}/* Start custom CSS for html, class: .elementor-element-fdd975f */@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&display=swap');

.accordion-container {
  max-width: 800px;
  margin: 0 auto;
  background: white;
  border: 1px solid #4B648D;
  font-family: 'Noto Sans JP', sans-serif;
}

.accordion-item {
  border-bottom: 1px solid #4B648D;
}

.accordion-item:last-child {
  border-bottom: none;
}

.accordion-header {
  background: white;
  color: #4B648D;
  padding: 20px;
  cursor: pointer;
  position: relative;
  transition: all 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
  user-select: none;
  border: 1px solid #4B648D;
  border-bottom: none;
}

.accordion-header:hover {
  background: #f8f9fa;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(75, 100, 141, 0.3);
}

.accordion-header h3 {
  font-size: 19px;
  font-weight: 600;
  margin: 0;
  letter-spacing: 0.03em;
}

.accordion-header .q-number {
  font-size: 40px;
}

.accordion-icon {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  transition: transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.accordion-icon::before,
.accordion-icon::after {
  content: '';
  position: absolute;
  background: #4B648D;
  border-radius: 2px;
}

.accordion-icon::before {
  width: 16px;
  height: 2px;
  top: 11px;
  left: 4px;
}

.accordion-icon::after {
  width: 2px;
  height: 16px;
  top: 4px;
  left: 11px;
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease, padding 0.5s ease, opacity 0.3s ease;
  background: #fafafa;
  opacity: 0;
  border: 1px solid #4B648D;
  border-top: none;
}

.accordion-content-inner {
  padding: 0 20px;
  font-size: 19px;
  line-height: 1.3em;
  letter-spacing: 0.03em;
}

.accordion-content-inner p strong {
  font-size: 40px;
  font-weight: 600;
}

/* Active Styles */
.accordion-item.active .accordion-header {
  background: #f8f9fa;
  box-shadow: 0 4px 15px rgba(75, 100, 141, 0.2);
}

.accordion-item.active .accordion-icon {
  transform: translateY(-50%) rotate(135deg);
}

.accordion-item.active .accordion-icon::after {
  transform: rotate(90deg);
  opacity: 0;
}

.accordion-item.active .accordion-content {
  max-height: 1000px;
  padding: 25px 0;
  opacity: 1;
}

.accordion-item.active .accordion-content-inner {
  animation: fadeInUp 0.4s ease 0.1s both;
}

/* Fade Animation */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Responsive */
@media (max-width: 768px) {
  .accordion-header {
    padding: 15px;
  }

  .accordion-header h3 {
    font-size: 16px;
    padding-right: 40px;
  }

  .accordion-icon {
    right: 15px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-538cf5e */@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&display=swap');

.accordion-container {
  max-width: 800px;
  margin: 0 auto;
  background: white;
  border: 1px solid #4B648D;
  font-family: 'Noto Sans JP', sans-serif;
}

.accordion-item {
  border-bottom: 1px solid #4B648D;
}

.accordion-item:last-child {
  border-bottom: none;
}

.accordion-header {
  background: white;
  color: #4B648D;
  padding: 20px;
  cursor: pointer;
  position: relative;
  transition: all 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
  user-select: none;
  border: 1px solid #4B648D;
  border-bottom: none;
}

.accordion-header:hover {
  background: #f8f9fa;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(75, 100, 141, 0.3);
}

.accordion-header h3 {
  font-size: 19px;
  font-weight: 600;
  margin: 0;
  letter-spacing: 0.03em;
}

.accordion-header .q-number {
  font-size: 40px;
}

.accordion-icon {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  transition: transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.accordion-icon::before,
.accordion-icon::after {
  content: '';
  position: absolute;
  background: #4B648D;
  border-radius: 2px;
}

.accordion-icon::before {
  width: 16px;
  height: 2px;
  top: 11px;
  left: 4px;
}

.accordion-icon::after {
  width: 2px;
  height: 16px;
  top: 4px;
  left: 11px;
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease, padding 0.5s ease, opacity 0.3s ease;
  background: #fafafa;
  opacity: 0;
  border: 1px solid #4B648D;
  border-top: none;
}

.accordion-content-inner {
  padding: 0 20px;
  font-size: 19px;
  line-height: 1.3em;
  letter-spacing: 0.03em;
}

.accordion-content-inner p strong {
  font-size: 40px;
  font-weight: 600;
}

/* Active Styles */
.accordion-item.active .accordion-header {
  background: #f8f9fa;
  box-shadow: 0 4px 15px rgba(75, 100, 141, 0.2);
}

.accordion-item.active .accordion-icon {
  transform: translateY(-50%) rotate(135deg);
}

.accordion-item.active .accordion-icon::after {
  transform: rotate(90deg);
  opacity: 0;
}

.accordion-item.active .accordion-content {
  max-height: 1000px;
  padding: 25px 0;
  opacity: 1;
}

.accordion-item.active .accordion-content-inner {
  animation: fadeInUp 0.4s ease 0.1s both;
}

/* Fade Animation */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Responsive */
@media (max-width: 768px) {
  .accordion-header {
    padding: 15px;
  }

  .accordion-header h3 {
    font-size: 16px;
    padding-right: 40px;
  }

  .accordion-icon {
    right: 15px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-a56a23f */@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&display=swap');

.accordion-container {
  max-width: 800px;
  margin: 0 auto;
  background: white;
  border: 1px solid #4B648D;
  font-family: 'Noto Sans JP', sans-serif;
}

.accordion-item {
  border-bottom: 1px solid #4B648D;
}

.accordion-item:last-child {
  border-bottom: none;
}

.accordion-header {
  background: white;
  color: #4B648D;
  padding: 20px;
  cursor: pointer;
  position: relative;
  transition: all 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
  user-select: none;
  border: 1px solid #4B648D;
  border-bottom: none;
}

.accordion-header:hover {
  background: #f8f9fa;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(75, 100, 141, 0.3);
}

.accordion-header h3 {
  font-size: 19px;
  font-weight: 600;
  margin: 0;
  letter-spacing: 0.03em;
}

.accordion-header .q-number {
  font-size: 40px;
}

.accordion-icon {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  transition: transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.accordion-icon::before,
.accordion-icon::after {
  content: '';
  position: absolute;
  background: #4B648D;
  border-radius: 2px;
}

.accordion-icon::before {
  width: 16px;
  height: 2px;
  top: 11px;
  left: 4px;
}

.accordion-icon::after {
  width: 2px;
  height: 16px;
  top: 4px;
  left: 11px;
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease, padding 0.5s ease, opacity 0.3s ease;
  background: #fafafa;
  opacity: 0;
  border: 1px solid #4B648D;
  border-top: none;
}

.accordion-content-inner {
  padding: 0 20px;
  font-size: 19px;
  line-height: 1.3em;
  letter-spacing: 0.03em;
}

.accordion-content-inner p strong {
  font-size: 40px;
  font-weight: 600;
}

/* Active Styles */
.accordion-item.active .accordion-header {
  background: #f8f9fa;
  box-shadow: 0 4px 15px rgba(75, 100, 141, 0.2);
}

.accordion-item.active .accordion-icon {
  transform: translateY(-50%) rotate(135deg);
}

.accordion-item.active .accordion-icon::after {
  transform: rotate(90deg);
  opacity: 0;
}

.accordion-item.active .accordion-content {
  max-height: 1000px;
  padding: 25px 0;
  opacity: 1;
}

.accordion-item.active .accordion-content-inner {
  animation: fadeInUp 0.4s ease 0.1s both;
}

/* Fade Animation */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Responsive */
@media (max-width: 768px) {
  .accordion-header {
    padding: 15px;
  }

  .accordion-header h3 {
    font-size: 16px;
    padding-right: 40px;
  }

  .accordion-icon {
    right: 15px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-541e8f2 */@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&display=swap');

.accordion-container {
  max-width: 800px;
  margin: 0 auto;
  background: white;
  border: 1px solid #4B648D;
  font-family: 'Noto Sans JP', sans-serif;
}

.accordion-item {
  border-bottom: 1px solid #4B648D;
}

.accordion-item:last-child {
  border-bottom: none;
}

.accordion-header {
  background: white;
  color: #4B648D;
  padding: 20px;
  cursor: pointer;
  position: relative;
  transition: all 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
  user-select: none;
  border: 1px solid #4B648D;
  border-bottom: none;
}

.accordion-header:hover {
  background: #f8f9fa;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(75, 100, 141, 0.3);
}

.accordion-header h3 {
  font-size: 19px;
  font-weight: 600;
  margin: 0;
  letter-spacing: 0.03em;
}

.accordion-header .q-number {
  font-size: 40px;
}

.accordion-icon {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  transition: transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.accordion-icon::before,
.accordion-icon::after {
  content: '';
  position: absolute;
  background: #4B648D;
  border-radius: 2px;
}

.accordion-icon::before {
  width: 16px;
  height: 2px;
  top: 11px;
  left: 4px;
}

.accordion-icon::after {
  width: 2px;
  height: 16px;
  top: 4px;
  left: 11px;
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease, padding 0.5s ease, opacity 0.3s ease;
  background: #fafafa;
  opacity: 0;
  border: 1px solid #4B648D;
  border-top: none;
}

.accordion-content-inner {
  padding: 0 20px;
  font-size: 19px;
  line-height: 1.3em;
  letter-spacing: 0.03em;
}

.accordion-content-inner p strong {
  font-size: 40px;
  font-weight: 600;
}

/* Active Styles */
.accordion-item.active .accordion-header {
  background: #f8f9fa;
  box-shadow: 0 4px 15px rgba(75, 100, 141, 0.2);
}

.accordion-item.active .accordion-icon {
  transform: translateY(-50%) rotate(135deg);
}

.accordion-item.active .accordion-icon::after {
  transform: rotate(90deg);
  opacity: 0;
}

.accordion-item.active .accordion-content {
  max-height: 1000px;
  padding: 25px 0;
  opacity: 1;
}

.accordion-item.active .accordion-content-inner {
  animation: fadeInUp 0.4s ease 0.1s both;
}

/* Fade Animation */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Responsive */
@media (max-width: 768px) {
  .accordion-header {
    padding: 15px;
  }

  .accordion-header h3 {
    font-size: 16px;
    padding-right: 40px;
  }

  .accordion-icon {
    right: 15px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-beb5353 */@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&display=swap');

.accordion-container {
  max-width: 800px;
  margin: 0 auto;
  background: white;
  border: 1px solid #4B648D;
  font-family: 'Noto Sans JP', sans-serif;
}

.accordion-item {
  border-bottom: 1px solid #4B648D;
}

.accordion-item:last-child {
  border-bottom: none;
}

.accordion-header {
  background: white;
  color: #4B648D;
  padding: 20px;
  cursor: pointer;
  position: relative;
  transition: all 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
  user-select: none;
  border: 1px solid #4B648D;
  border-bottom: none;
}

.accordion-header:hover {
  background: #f8f9fa;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(75, 100, 141, 0.3);
}

.accordion-header h3 {
  font-size: 19px;
  font-weight: 600;
  margin: 0;
  letter-spacing: 0.03em;
}

.accordion-header .q-number {
  font-size: 40px;
}

.accordion-icon {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  transition: transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.accordion-icon::before,
.accordion-icon::after {
  content: '';
  position: absolute;
  background: #4B648D;
  border-radius: 2px;
}

.accordion-icon::before {
  width: 16px;
  height: 2px;
  top: 11px;
  left: 4px;
}

.accordion-icon::after {
  width: 2px;
  height: 16px;
  top: 4px;
  left: 11px;
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease, padding 0.5s ease, opacity 0.3s ease;
  background: #fafafa;
  opacity: 0;
  border: 1px solid #4B648D;
  border-top: none;
}

.accordion-content-inner {
  padding: 0 20px;
  font-size: 19px;
  line-height: 1.3em;
  letter-spacing: 0.03em;
}

.accordion-content-inner p strong {
  font-size: 40px;
  font-weight: 600;
}

/* Active Styles */
.accordion-item.active .accordion-header {
  background: #f8f9fa;
  box-shadow: 0 4px 15px rgba(75, 100, 141, 0.2);
}

.accordion-item.active .accordion-icon {
  transform: translateY(-50%) rotate(135deg);
}

.accordion-item.active .accordion-icon::after {
  transform: rotate(90deg);
  opacity: 0;
}

.accordion-item.active .accordion-content {
  max-height: 1000px;
  padding: 25px 0;
  opacity: 1;
}

.accordion-item.active .accordion-content-inner {
  animation: fadeInUp 0.4s ease 0.1s both;
}

/* Fade Animation */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Responsive */
@media (max-width: 768px) {
  .accordion-header {
    padding: 15px;
  }

  .accordion-header h3 {
    font-size: 16px;
    padding-right: 40px;
  }

  .accordion-icon {
    right: 15px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0338716 */@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&display=swap');

.accordion-container {
  max-width: 800px;
  margin: 0 auto;
  background: white;
  border: 1px solid #4B648D;
  font-family: 'Noto Sans JP', sans-serif;
}

.accordion-item {
  border-bottom: 1px solid #4B648D;
}

.accordion-item:last-child {
  border-bottom: none;
}

.accordion-header {
  background: white;
  color: #4B648D;
  padding: 20px;
  cursor: pointer;
  position: relative;
  transition: all 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
  user-select: none;
  border: 1px solid #4B648D;
  border-bottom: none;
}

.accordion-header:hover {
  background: #f8f9fa;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(75, 100, 141, 0.3);
}

.accordion-header h3 {
  font-size: 19px;
  font-weight: 600;
  margin: 0;
  letter-spacing: 0.03em;
}

.accordion-header .q-number {
  font-size: 40px;
}

.accordion-icon {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  transition: transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.accordion-icon::before,
.accordion-icon::after {
  content: '';
  position: absolute;
  background: #4B648D;
  border-radius: 2px;
}

.accordion-icon::before {
  width: 16px;
  height: 2px;
  top: 11px;
  left: 4px;
}

.accordion-icon::after {
  width: 2px;
  height: 16px;
  top: 4px;
  left: 11px;
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease, padding 0.5s ease, opacity 0.3s ease;
  background: #fafafa;
  opacity: 0;
  border: 1px solid #4B648D;
  border-top: none;
}

.accordion-content-inner {
  padding: 0 20px;
  font-size: 19px;
  line-height: 1.3em;
  letter-spacing: 0.03em;
}

.accordion-content-inner p strong {
  font-size: 40px;
  font-weight: 600;
}

/* Active Styles */
.accordion-item.active .accordion-header {
  background: #f8f9fa;
  box-shadow: 0 4px 15px rgba(75, 100, 141, 0.2);
}

.accordion-item.active .accordion-icon {
  transform: translateY(-50%) rotate(135deg);
}

.accordion-item.active .accordion-icon::after {
  transform: rotate(90deg);
  opacity: 0;
}

.accordion-item.active .accordion-content {
  max-height: 1000px;
  padding: 25px 0;
  opacity: 1;
}

.accordion-item.active .accordion-content-inner {
  animation: fadeInUp 0.4s ease 0.1s both;
}

/* Fade Animation */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Responsive */
@media (max-width: 768px) {
  .accordion-header {
    padding: 15px;
  }

  .accordion-header h3 {
    font-size: 16px;
    padding-right: 40px;
  }

  .accordion-icon {
    right: 15px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3192f6e */@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&display=swap');

.accordion-container {
  max-width: 800px;
  margin: 0 auto;
  background: white;
  border: 1px solid #4B648D;
  font-family: 'Noto Sans JP', sans-serif;
}

.accordion-item {
  border-bottom: 1px solid #4B648D;
}

.accordion-item:last-child {
  border-bottom: none;
}

.accordion-header {
  background: white;
  color: #4B648D;
  padding: 20px;
  cursor: pointer;
  position: relative;
  transition: all 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
  user-select: none;
  border: 1px solid #4B648D;
  border-bottom: none;
}

.accordion-header:hover {
  background: #f8f9fa;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(75, 100, 141, 0.3);
}

.accordion-header h3 {
  font-size: 19px;
  font-weight: 600;
  margin: 0;
  letter-spacing: 0.03em;
}

.accordion-header .q-number {
  font-size: 40px;
}

.accordion-icon {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  transition: transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.accordion-icon::before,
.accordion-icon::after {
  content: '';
  position: absolute;
  background: #4B648D;
  border-radius: 2px;
}

.accordion-icon::before {
  width: 16px;
  height: 2px;
  top: 11px;
  left: 4px;
}

.accordion-icon::after {
  width: 2px;
  height: 16px;
  top: 4px;
  left: 11px;
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease, padding 0.5s ease, opacity 0.3s ease;
  background: #fafafa;
  opacity: 0;
  border: 1px solid #4B648D;
  border-top: none;
}

.accordion-content-inner {
  padding: 0 20px;
  font-size: 19px;
  line-height: 1.3em;
  letter-spacing: 0.03em;
}

.accordion-content-inner p strong {
  font-size: 40px;
  font-weight: 600;
}

/* Active Styles */
.accordion-item.active .accordion-header {
  background: #f8f9fa;
  box-shadow: 0 4px 15px rgba(75, 100, 141, 0.2);
}

.accordion-item.active .accordion-icon {
  transform: translateY(-50%) rotate(135deg);
}

.accordion-item.active .accordion-icon::after {
  transform: rotate(90deg);
  opacity: 0;
}

.accordion-item.active .accordion-content {
  max-height: 1000px;
  padding: 25px 0;
  opacity: 1;
}

.accordion-item.active .accordion-content-inner {
  animation: fadeInUp 0.4s ease 0.1s both;
}

/* Fade Animation */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Responsive */
@media (max-width: 768px) {
  .accordion-header {
    padding: 15px;
  }

  .accordion-header h3 {
    font-size: 16px;
    padding-right: 40px;
  }

  .accordion-icon {
    right: 15px;
  }
}/* End custom CSS */