.elementor-17340 .elementor-element.elementor-element-5b5966d{--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;--overlay-opacity:0.5;}.elementor-17340 .elementor-element.elementor-element-5b5966d:not(.elementor-motion-effects-element-type-background), .elementor-17340 .elementor-element.elementor-element-5b5966d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://ishigaki-navi.okinawa/wp-content/uploads/2025/12/model-course-1.webp");background-position:center center;background-size:cover;}.elementor-17340 .elementor-element.elementor-element-5b5966d::before, .elementor-17340 .elementor-element.elementor-element-5b5966d > .elementor-background-video-container::before, .elementor-17340 .elementor-element.elementor-element-5b5966d > .e-con-inner > .elementor-background-video-container::before, .elementor-17340 .elementor-element.elementor-element-5b5966d > .elementor-background-slideshow::before, .elementor-17340 .elementor-element.elementor-element-5b5966d > .e-con-inner > .elementor-background-slideshow::before, .elementor-17340 .elementor-element.elementor-element-5b5966d > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-17340 .elementor-element.elementor-element-da4b988{--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-17340 .elementor-element.elementor-element-da4b988:not(.elementor-motion-effects-element-type-background), .elementor-17340 .elementor-element.elementor-element-da4b988 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F7F7F7;}.elementor-17340 .elementor-element.elementor-element-7855cd1{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--flex-wrap:wrap;--padding-top:80px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-17340 .elementor-element.elementor-element-7855cd1:not(.elementor-motion-effects-element-type-background), .elementor-17340 .elementor-element.elementor-element-7855cd1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F7F7F7;}.elementor-17340 .elementor-element.elementor-element-57ec7df{--display:flex;}.elementor-17340 .elementor-element.elementor-element-fc920ba{--grid-side-margin:10px;--grid-column-gap:10px;--grid-row-gap:10px;--grid-bottom-margin:10px;}.elementor-17340 .elementor-element.elementor-element-fc920ba .elementor-share-btn{height:6em;border-width:1px;}@media(max-width:1024px){ .elementor-17340 .elementor-element.elementor-element-fc920ba{--grid-side-margin:10px;--grid-column-gap:10px;--grid-row-gap:10px;--grid-bottom-margin:10px;}}@media(max-width:767px){.elementor-17340 .elementor-element.elementor-element-7855cd1{--padding-top:30px;--padding-bottom:30px;--padding-left:10px;--padding-right:10px;} .elementor-17340 .elementor-element.elementor-element-fc920ba{--grid-side-margin:10px;--grid-column-gap:10px;--grid-row-gap:10px;--grid-bottom-margin:10px;}.elementor-17340 .elementor-element.elementor-element-fc920ba .elementor-share-btn{height:5em;}.elementor-17340 .elementor-element.elementor-element-fc920ba .elementor-share-btn__title{font-size:12px;}}/* Start custom CSS for html, class: .elementor-element-8ac592a *//* ===== Hero: Magazine Tone Override (共通) ===== */
.in-course-title{
  font-weight: 500 !important;
  line-height: 1.35 !important;
  letter-spacing: .02em !important;
  font-size: clamp(1.55rem, 5.2vw, 2.2rem) !important;
}
.in-course-sub{
  font-size: .95rem;
  opacity: .92;
}
.in-course-lead{
  max-width: 760px !important;
  padding: 10px 0 0 !important;
  font-size: .95rem;
  line-height: 1.9;
}
.in-course-hero{
  padding-top: 64px;
  padding-bottom: 32px;
}
/* Rain Course Hero 微調整 */
.in-course-hero .in-course-title{
  line-height: 1.45;
}

.in-course-hero .in-course-sub{
  font-size: .9rem;
  margin-bottom: 14px;
}

.in-course-hero .in-course-lead p{
  font-size: .9rem;
  line-height: 1.8;
}
/* ===== Ishigaki Navi Subtle Animation ===== */
.in-reveal{
  opacity:0;
  transform: translateY(14px);
  transition: opacity .7s ease, transform .7s ease;
  transition-delay: var(--d, 0ms);
  will-change: opacity, transform;
}

.in-reveal.is-in{
  opacity:1;
  transform:none;
}

/* 画像用 */
.in-reveal-img{
  opacity:0;
  transform: scale(1.02);
  transition: opacity .9s ease, transform .9s ease;
}

.in-reveal-img.is-in{
  opacity:1;
  transform: scale(1);
}

/* アクセシビリティ */
@media (prefers-reduced-motion: reduce){
  .in-reveal,
  .in-reveal-img{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-c7153df */.course-detail {
  max-width: 760px;
  margin: 48px auto;
  padding: 24px 28px;
  background: rgba(28,53,87,0.04);
  line-height: 1.9;
  color: rgba(28,53,87,0.85);
}

.course-detail h2 {
  font-size: 0.95rem;
  letter-spacing: 0.12em;
  color: rgba(28,53,87,0.6);
  margin-bottom: 12px;
}
.course-detail a{
    
  color: #1C3557;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-cf127fd *//* ===== FAQ SP 横はみ出し最終修正 ===== */
@media (max-width: 768px) {

  /* Qボタンを中に収める */
  .in-faq-q {
    width: 100%;
    max-width: 100%;
    padding-right: 44px; /* ← アイコン分の余白を先に確保 */
    box-sizing: border-box;
    position: relative;
  }

  /* ▼アイコンを絶対配置に変更 */
  .in-faq-ico {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    margin-left: 0;
  }

  /* 開いた時の回転 */
  .in-faq-q[aria-expanded="true"] .in-faq-ico {
    transform: translateY(-50%) rotate(-135deg);
  }
}
/* ===== FAQ 長文対策（SP） ===== */
@media (max-width: 768px) {

  .in-faq-q {
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
    padding-right: 52px; /* ← 文字の逃げ場を確保 */
  }

  .in-faq-q span,
  .in-faq-q {
    min-width: 0;
  }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-3d15c65 */.pagetop-btn {
  position: fixed;
  bottom: 24px;
  right: 24px;
  width: 48px;
  height: 48px;
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.15);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 22px;
  color: #26466D; /* ネイビー */
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  z-index: 999;
}

.pagetop-btn:hover {
  background: #f5f5f5;
}/* End custom CSS */