html {
    scroll-behavior: smooth;
}

.l-contents {
    margin-bottom: 100px;
}

.c-section {
    padding: 0;
}

.l-contents__inner {
    padding-bottom: 0 !important;
}

.c-row__col--lg-1-4,
.c-row__col--lg-2-8,
.c-row__col--lg-3-12 {
    --_item-width: 100%;
}

.c-fluid-container .l-2row-header__row {
    padding-top: 0;
    padding-bottom: 0;
}


.l-footer--default .l-footer-widget-area {
    padding: 0;
}

.l-footer--default .l-footer-widget-area .c-container {
    padding: 0;
    max-width: inherit;
}

.w100 {
    width: 100%;
}
.radius_10 .spider__canvas {
    border-radius: 10px;
}

.max300 {
    width: 100%;
    max-width: 300px;
}

.footer_inner_flex {
    max-width: 1170px;
}

.c-page-header[data-has-image=true] {
    height: clamp(150px, 62.5vw, 300px);
}

.uagb-modal-popup-close {
    top: -40px !important;
    right: 15px !important;
}

.header_contact a:first-child,
.nav_contact a:first-child {
    display: none !important;
}

#footer_btn {
    opacity: 0;
    transition: opacity 0.5s ease;
    pointer-events: none;
    /* 非表示時にクリックできないようにする */

    width: 100%;
    position: fixed;
    bottom: 0;
    z-index: 999;
}

#footer_btn.show {
    opacity: 1;
    pointer-events: auto;
    /* 表示時はクリック可能に */
}

#fv .smb-section-with-bgimage__bgimage img {
    object-position: right;
}

.grecaptcha-badge {
    display: none !important;
}


.js-scrollable {
    overflow: scroll !important;
}

.js-scrollable figure {
    width: 100%;
}


/* タイピングアニメーション */
.typing-container {
  font-size: 24px;
  white-space: nowrap;
  display: inline-block;
  position: relative;
}

.typing span.char {
  opacity: 0;
  display: inline-block;
}

.cursor {
  width: 2px;
  height: 1em;
  background: black;
  display: inline-block;
  margin-left: 2px;
  animation: blink 1s step-end infinite;
  position: absolute;
}

@keyframes blink {
  50% {
    opacity: 0;
  }
}

.modal_table .uagb-spectra-button-wrapper {
    display: flex;
    justify-content: center;
}

/* --------------------------------------------------------------------------------------------------------------

                                                文章を折りたたみ 

--------------------------------------------------------------------------------------------------------------  */ 
.toggle_txt {
  overflow: hidden;
  max-height: 4.5em; /* 約3行分 */
  transition: max-height 0.7s ease, padding 0.2s ease;
  line-height: 1.5em;
}

.toggle_txt.open {
  max-height: 1000px; /* 十分大きな値（テキストに応じて調整） */
}

.toggle_btn {
  margin-top: 5px;
  background: none;
  border: none;
  color: blue;
  cursor: pointer;
  text-decoration: underline;
  padding: 0;
}