/**
 * Swiper 11.2.10
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: June 28, 2025
 */

@font-face{
  font-family:swiper-icons;

  src:url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');

  font-weight:400;

  font-style:normal
}

:root{
  --swiper-theme-color:#007aff
}

:host{
  position:relative;
  display:block;
  margin-left:auto;
  margin-right:auto;
  z-index:1
}

.swiper{
  margin-left:auto;
  margin-right:auto;
  position:relative;
  overflow:hidden;
  list-style:none;
  padding:0;
  z-index:1;
  display:block
}

.swiper-vertical>.swiper-wrapper{
  flex-direction:column
}

.swiper-wrapper{
  position:relative;
  width:100%;
  height:100%;
  z-index:1;
  display:flex;
  transition-property:transform;
  transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);
  box-sizing:content-box
}

.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{
  transform:translate3d(0px,0,0)
}

.swiper-horizontal{
  touch-action:pan-y
}

.swiper-vertical{
  touch-action:pan-x
}

.swiper-slide{
  flex-shrink:0;
  width:100%;
  height:100%;
  position:relative;
  transition-property:transform;
  display:block
}

.swiper-slide-invisible-blank{
  visibility:hidden
}

.swiper-autoheight,.swiper-autoheight .swiper-slide{
  height:auto
}

.swiper-autoheight .swiper-wrapper{
  align-items:flex-start;
  transition-property:transform,height
}

.swiper-backface-hidden .swiper-slide{
  transform:translateZ(0);
  backface-visibility:hidden
}

.swiper-3d.swiper-css-mode .swiper-wrapper{
  perspective:1200px
}

.swiper-3d .swiper-wrapper{
  transform-style:preserve-3d
}

.swiper-3d{
  perspective:1200px
}

.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide{
  transform-style:preserve-3d
}

.swiper-css-mode>.swiper-wrapper{
  overflow:auto;
  scrollbar-width:none;
  -ms-overflow-style:none
}

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{
  display:none
}

.swiper-css-mode>.swiper-wrapper>.swiper-slide{
  scroll-snap-align:start start
}

.swiper-css-mode.swiper-horizontal>.swiper-wrapper{
  scroll-snap-type:x mandatory
}

.swiper-css-mode.swiper-vertical>.swiper-wrapper{
  scroll-snap-type:y mandatory
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper{
  scroll-snap-type:none
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{
  scroll-snap-align:none
}

.swiper-css-mode.swiper-centered>.swiper-wrapper::before{
  content:'';
  flex-shrink:0;
  order:9999
}

.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{
  scroll-snap-align:center center;
  scroll-snap-stop:always
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{
  margin-inline-start:var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{
  height:100%;
  min-height:1px;
  width:var(--swiper-centered-offset-after)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{
  margin-block-start:var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{
  width:100%;
  min-width:1px;
  height:var(--swiper-centered-offset-after)
}

.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:100%;
  pointer-events:none;
  z-index:10
}

.swiper-3d .swiper-slide-shadow{
  background:rgba(0,0,0,.15)
}

.swiper-3d .swiper-slide-shadow-left{
  background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))
}

.swiper-3d .swiper-slide-shadow-right{
  background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))
}

.swiper-3d .swiper-slide-shadow-top{
  background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))
}

.swiper-3d .swiper-slide-shadow-bottom{
  background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))
}

.swiper-lazy-preloader{
  width:42px;
  height:42px;
  position:absolute;
  left:50%;
  top:50%;
  margin-left:-21px;
  margin-top:-21px;
  z-index:10;
  transform-origin:50%;
  box-sizing:border-box;
  border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));
  border-radius:50%;
  border-top-color:transparent
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{
  animation:swiper-preloader-spin 1s infinite linear
}

.swiper-lazy-preloader-white{
  --swiper-preloader-color:#fff
}

.swiper-lazy-preloader-black{
  --swiper-preloader-color:#000
}

@keyframes swiper-preloader-spin{
  0%{
    transform:rotate(0deg)
  }

  100%{
    transform:rotate(360deg)
  }
}

.swiper-virtual .swiper-slide{
  -webkit-backface-visibility:hidden;
  transform:translateZ(0)
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after{
  content:'';
  position:absolute;
  left:0;
  top:0;
  pointer-events:none
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{
  height:1px;
  width:var(--swiper-virtual-size)
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{
  width:1px;
  height:var(--swiper-virtual-size)
}

:root{
  --swiper-navigation-size:44px
}

.swiper-button-next,.swiper-button-prev{
  position:absolute;
  top:var(--swiper-navigation-top-offset,50%);
  width:calc(var(--swiper-navigation-size)/ 44 * 27);
  height:var(--swiper-navigation-size);
  margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));
  z-index:10;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--swiper-navigation-color,var(--swiper-theme-color))
}

.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{
  opacity:.35;
  cursor:auto;
  pointer-events:none
}

.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{
  opacity:0;
  cursor:auto;
  pointer-events:none
}

.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{
  display:none!important
}

.swiper-button-next svg,.swiper-button-prev svg{
  width:100%;
  height:100%;
  -o-object-fit:contain;
     object-fit:contain;
  transform-origin:center
}

.swiper-rtl .swiper-button-next svg,.swiper-rtl .swiper-button-prev svg{
  transform:rotate(180deg)
}

.swiper-button-prev,.swiper-rtl .swiper-button-next{
  left:var(--swiper-navigation-sides-offset,10px);
  right:auto
}

.swiper-button-next,.swiper-rtl .swiper-button-prev{
  right:var(--swiper-navigation-sides-offset,10px);
  left:auto
}

.swiper-button-lock{
  display:none
}

.swiper-button-next:after,.swiper-button-prev:after{
  font-family:swiper-icons;
  font-size:var(--swiper-navigation-size);
  text-transform:none!important;
  letter-spacing:0;
  font-variant:initial;
  line-height:1
}

.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{
  content:'prev'
}

.swiper-button-next,.swiper-rtl .swiper-button-prev{
  right:var(--swiper-navigation-sides-offset,10px);
  left:auto
}

.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{
  content:'next'
}

.swiper-pagination{
  position:absolute;
  text-align:center;
  transition:.3s opacity;
  transform:translate3d(0,0,0);
  z-index:10
}

.swiper-pagination.swiper-pagination-hidden{
  opacity:0
}

.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{
  display:none!important
}

.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{
  bottom:var(--swiper-pagination-bottom,8px);
  top:var(--swiper-pagination-top,auto);
  left:0;
  width:100%
}

.swiper-pagination-bullets-dynamic{
  overflow:hidden;
  font-size:0
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{
  transform:scale(.33);
  position:relative
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{
  transform:scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{
  transform:scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{
  transform:scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{
  transform:scale(.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{
  transform:scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{
  transform:scale(.33)
}

.swiper-pagination-bullet{
  width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));
  height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));
  display:inline-block;
  border-radius:var(--swiper-pagination-bullet-border-radius,50%);
  background:var(--swiper-pagination-bullet-inactive-color,#000);
  opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)
}

button.swiper-pagination-bullet{
  border:none;
  margin:0;
  padding:0;
  box-shadow:none;
  -webkit-appearance:none;
  -moz-appearance:none;
       appearance:none
}

.swiper-pagination-clickable .swiper-pagination-bullet{
  cursor:pointer
}

.swiper-pagination-bullet:only-child{
  display:none!important
}

.swiper-pagination-bullet-active{
  opacity:var(--swiper-pagination-bullet-opacity, 1);
  background:var(--swiper-pagination-color,var(--swiper-theme-color))
}

.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{
  right:var(--swiper-pagination-right,8px);
  left:var(--swiper-pagination-left,auto);
  top:50%;
  transform:translate3d(0px,-50%,0)
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{
  margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;
  display:block
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{
  top:50%;
  transform:translateY(-50%);
  width:8px
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{
  display:inline-block;
  transition:.2s transform,.2s top
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{
  margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{
  left:50%;
  transform:translateX(-50%);
  white-space:nowrap
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{
  transition:.2s transform,.2s left
}

.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{
  transition:.2s transform,.2s right
}

.swiper-pagination-fraction{
  color:var(--swiper-pagination-fraction-color,inherit)
}

.swiper-pagination-progressbar{
  background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));
  position:absolute
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{
  background:var(--swiper-pagination-color,var(--swiper-theme-color));
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:100%;
  transform:scale(0);
  transform-origin:left top
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{
  transform-origin:right top
}

.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{
  width:100%;
  height:var(--swiper-pagination-progressbar-size,4px);
  left:0;
  top:0
}

.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{
  width:var(--swiper-pagination-progressbar-size,4px);
  height:100%;
  left:0;
  top:0
}

.swiper-pagination-lock{
  display:none
}

.swiper-scrollbar{
  border-radius:var(--swiper-scrollbar-border-radius,10px);
  position:relative;
  touch-action:none;
  background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))
}

.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{
  display:none!important
}

.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{
  position:absolute;
  left:var(--swiper-scrollbar-sides-offset,1%);
  bottom:var(--swiper-scrollbar-bottom,4px);
  top:var(--swiper-scrollbar-top,auto);
  z-index:50;
  height:var(--swiper-scrollbar-size,4px);
  width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))
}

.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{
  position:absolute;
  left:var(--swiper-scrollbar-left,auto);
  right:var(--swiper-scrollbar-right,4px);
  top:var(--swiper-scrollbar-sides-offset,1%);
  z-index:50;
  width:var(--swiper-scrollbar-size,4px);
  height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))
}

.swiper-scrollbar-drag{
  height:100%;
  width:100%;
  position:relative;
  background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));
  border-radius:var(--swiper-scrollbar-border-radius,10px);
  left:0;
  top:0
}

.swiper-scrollbar-cursor-drag{
  cursor:move
}

.swiper-scrollbar-lock{
  display:none
}

.swiper-zoom-container{
  width:100%;
  height:100%;
  display:flex;
  justify-content:center;
  align-items:center;
  text-align:center
}

.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{
  max-width:100%;
  max-height:100%;
  -o-object-fit:contain;
     object-fit:contain
}

.swiper-slide-zoomed{
  cursor:move;
  touch-action:none
}

.swiper .swiper-notification{
  position:absolute;
  left:0;
  top:0;
  pointer-events:none;
  opacity:0;
  z-index:-1000
}

.swiper-free-mode>.swiper-wrapper{
  transition-timing-function:ease-out;
  margin:0 auto
}

.swiper-grid>.swiper-wrapper{
  flex-wrap:wrap
}

.swiper-grid-column>.swiper-wrapper{
  flex-wrap:wrap;
  flex-direction:column
}

.swiper-fade.swiper-free-mode .swiper-slide{
  transition-timing-function:ease-out
}

.swiper-fade .swiper-slide{
  pointer-events:none;
  transition-property:opacity
}

.swiper-fade .swiper-slide .swiper-slide{
  pointer-events:none
}

.swiper-fade .swiper-slide-active{
  pointer-events:auto
}

.swiper-fade .swiper-slide-active .swiper-slide-active{
  pointer-events:auto
}

.swiper.swiper-cube{
  overflow:visible
}

.swiper-cube .swiper-slide{
  pointer-events:none;
  backface-visibility:hidden;
  z-index:1;
  visibility:hidden;
  transform-origin:0 0;
  width:100%;
  height:100%
}

.swiper-cube .swiper-slide .swiper-slide{
  pointer-events:none
}

.swiper-cube.swiper-rtl .swiper-slide{
  transform-origin:100% 0
}

.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{
  pointer-events:auto
}

.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-prev{
  pointer-events:auto;
  visibility:visible
}

.swiper-cube .swiper-cube-shadow{
  position:absolute;
  left:0;
  bottom:0px;
  width:100%;
  height:100%;
  opacity:.6;
  z-index:0
}

.swiper-cube .swiper-cube-shadow:before{
  content:'';
  background:#000;
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  right:0;
  filter:blur(50px)
}

.swiper-cube .swiper-slide-next+.swiper-slide{
  pointer-events:auto;
  visibility:visible
}

.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top{
  z-index:0;
  backface-visibility:hidden
}

.swiper.swiper-flip{
  overflow:visible
}

.swiper-flip .swiper-slide{
  pointer-events:none;
  backface-visibility:hidden;
  z-index:1
}

.swiper-flip .swiper-slide .swiper-slide{
  pointer-events:none
}

.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{
  pointer-events:auto
}

.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top{
  z-index:0;
  backface-visibility:hidden
}

.swiper-creative .swiper-slide{
  backface-visibility:hidden;
  overflow:hidden;
  transition-property:transform,opacity,height
}

.swiper.swiper-cards{
  overflow:visible
}

.swiper-cards .swiper-slide{
  transform-origin:center bottom;
  backface-visibility:hidden;
  overflow:hidden
}

/* ===================================
   スタッフページ専用スタイル
   =================================== */

/* 部署メニュー - Active状態 */

.department-menu-item.is-active {
  border-bottom-color: #FFD800 !important;
  font-weight: 700 !important;
  color: #333333 !important;
}

/* 部署見出し */

.department-heading {
  letter-spacing: 2.4px;
  line-height: 1.5;
}

@media (min-width: 1024px) {
  .department-heading {
    letter-spacing: 3.2px;
  }
}

/* デスクトップ用サイドメニュー */

@media (min-width: 1024px) {
  .department-menu-item {
    letter-spacing: 1.8px;
  }
}

/* モバイル用上部固定メニュー */

@media (max-width: 1023px) {
  .department-menu-item {
    letter-spacing: 1.4px;
    text-align: center;
  }

  /* 横スクロールバーを非表示（スクロールは可能） */

  nav.overflow-x-auto::-webkit-scrollbar {
    display: none;
  }

  nav.overflow-x-auto {
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
}

/* スタッフアコーディオン */

.staff-accordion-header {
  cursor: pointer;
}

/* デスクトップ用アコーディオンスタイル */

@media (min-width: 1024px) {
  .staff-accordion-header {
    gap: 45px;
    padding: 32px 0;
  }

  .staff-accordion-header .staff-photo {
    width: 140px;
    height: 175px;
  }

  .staff-accordion-header .staff-position {
    font-size: 16px;
    letter-spacing: 1.6px;
  }

  .staff-accordion-header .staff-name {
    font-size: 22px;
    letter-spacing: 2.2px;
  }

  .staff-accordion-header .staff-name-en {
    font-size: 12px;
    letter-spacing: 1.2px;
    line-height: 2;
  }
}

/* モバイル用アコーディオンスタイル */

@media (max-width: 1023px) {
  .staff-accordion-header {
    gap: 20px;
    padding: 20px 0;
  }

  .staff-accordion-header .staff-position {
    font-size: 14px;
    letter-spacing: 1.4px;
  }

  .staff-accordion-header .staff-name {
    font-size: 18px;
    letter-spacing: 1.8px;
  }

  .staff-accordion-header .staff-name-en {
    font-size: 12px;
    letter-spacing: 1.2px;
  }
}

/* アコーディオンコンテンツ */

.staff-accordion-content {
  overflow: hidden;
  transition: max-height 0.3s ease-out;
}

/* アイコン切り替え */

.staff-accordion-header[aria-expanded="true"] .icon-plus {
  opacity: 0;
}

.staff-accordion-header[aria-expanded="true"] .icon-minus {
  opacity: 1 !important;
}

/* 子タームセクションの間隔 */

.child-term-section:first-child {
  margin-top: 0;
}

.child-term-section:not(:first-child) {
  margin-top: 40px;
}

@media (min-width: 1024px) {
  .child-term-section:not(:first-child) {
    margin-top: 80px;
  }
}

/* +/-アイコンアニメーション */

.staff-accordion-icon .vertical-line {
  transition: opacity 0.3s ease;
}

/**
 * ボタンコンポーネント
 * 
 * 使用方法:
 * - プライマリ: c-button c-button--primary c-button--lg
 * - セカンダリ: c-button c-button--secondary c-button--lg
 * - タグバッジ: c-badge c-badge--tag
 * 
 * 既存クラスとの互換性:
 * - is-animation-arrow-slide は別途追加（アニメーション用）
 * - load-more-posts は別途追加（Ajax用）
 */

/**
 * コンテナコンポーネント
 * 
 * 使用方法:
 * - 標準コンテナ: c-container
 * - 狭いコンテナ: c-container c-container--narrow
 * 
 * 注意: margin-top/bottom等は別途Tailwindクラスで追加
 */

/**
 * イントロセクション共通スタイル
 * 
 * 4つの柱ページ（機能・健康・資産価値・デザイン）のイントロセクションで使用
 */

/* ラッパー */

.c-intro__wrapper{
  display:flex;
  flex-direction:column;
  align-items:center
}

@media (min-width: 1160px){
  .c-intro__wrapper{
    gap:48px
  }
}

/* 小見出し */

.c-intro__subtitle{
  margin-bottom:12px;
  text-align:center;
  font-size:16px;
  font-weight:700;
  line-height:2;
  letter-spacing:1.6px;
  --tw-text-opacity:1;
  color:rgb(51 51 51 / var(--tw-text-opacity, 1))
}

@media (min-width: 1160px){
  .c-intro__subtitle{
    margin-bottom:0px;
    font-size:22px;
    letter-spacing:2.2px
  }
}

/* タイトル */

.c-intro__title{
  text-align:center;
  font-size:30px;
  font-weight:700;
  line-height:1.5;
  letter-spacing:3px;
  --tw-text-opacity:1;
  color:rgb(51 51 51 / var(--tw-text-opacity, 1))
}

@media (min-width: 1160px){
  .c-intro__title{
    font-size:36px;
    letter-spacing:3.6px
  }
}

/* 本文 */

.c-intro__body{
  margin-top:48px;
  display:flex;
  flex-direction:column;
  gap:24px;
  text-align:left;
  font-size:16px;
  font-weight:700;
  line-height:2;
  letter-spacing:1.6px;
  --tw-text-opacity:1;
  color:rgb(51 51 51 / var(--tw-text-opacity, 1))
}

@media (min-width: 1160px){
  .c-intro__body{
    margin-top:0px;
    text-align:center;
    font-size:18px;
    letter-spacing:0.9px
  }
}

/* 画像コンテナ */

.c-intro__image{
  margin-left:auto;
  margin-right:auto;
  width:100%;
  padding-top:48px
}

@media (min-width: 1160px){
  .c-intro__image{
    max-width:960px;
    padding-top:80px
  }
}

/**
 * Detail Label Component (c-label)
 * 
 * 黄色背景のラベルコンポーネント
 * 使用箇所: イベント詳細、モデルハウス詳細など
 */

.c-label {
  background-color: #FFD800;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px 10px;
  width: 64px;
  height: 28px;
  flex-shrink: 0;
}

@media (min-width: 1024px) {
  .c-label {
    width: 96px;
  }
}

.c-label__text {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 10px;
  line-height: 1.5;
  color: #333333;
  text-align: center;
}

@media (min-width: 1024px) {
  .c-label__text {
    font-size: 12px;
  }
}

/**
 * テキストスタイルコンポーネント
 * 
 * 使用方法:
 * - 本文(通常): c-text-body
 * - 本文(中): c-text-body-md
 * - 本文(小): c-text-body-sm
 * - 見出し(大): c-text-heading-lg
 * - 見出し(中): c-text-heading-md
 * - 見出し(小): c-text-heading-sm
 * - 参考リンク: c-reference-link
 */

/**
 * セクション・レイアウト関連コンポーネント
 * 
 * 使用方法:
 * - c-section-space: 標準的なセクション余白 (py-12 lg:py-20)
 * - c-section-space-lg: 大きめのセクション余白 (py-16 lg:py-30)
 * - c-main-space: メインコンテンツ上部余白 (pt-12 lg:pt-25)
 */

/**
 * FAQアコーディオンコンポーネント
 *
 * 使用方法:
 * - セクション: c-faq-section (ベージュ背景) / c-faq-section--white (白背景)
 * - アイテム: c-faq-item
 * - 質問: c-faq-item__question
 * - 回答: c-faq-item__answer
 */

*, ::before, ::after{
  --tw-border-spacing-x:0;
  --tw-border-spacing-y:0;
  --tw-translate-x:0;
  --tw-translate-y:0;
  --tw-rotate:0;
  --tw-skew-x:0;
  --tw-skew-y:0;
  --tw-scale-x:1;
  --tw-scale-y:1;
  --tw-pan-x: ;
  --tw-pan-y: ;
  --tw-pinch-zoom: ;
  --tw-scroll-snap-strictness:proximity;
  --tw-gradient-from-position: ;
  --tw-gradient-via-position: ;
  --tw-gradient-to-position: ;
  --tw-ordinal: ;
  --tw-slashed-zero: ;
  --tw-numeric-figure: ;
  --tw-numeric-spacing: ;
  --tw-numeric-fraction: ;
  --tw-ring-inset: ;
  --tw-ring-offset-width:0px;
  --tw-ring-offset-color:#fff;
  --tw-ring-color:rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow:0 0 #0000;
  --tw-ring-shadow:0 0 #0000;
  --tw-shadow:0 0 #0000;
  --tw-shadow-colored:0 0 #0000;
  --tw-blur: ;
  --tw-brightness: ;
  --tw-contrast: ;
  --tw-grayscale: ;
  --tw-hue-rotate: ;
  --tw-invert: ;
  --tw-saturate: ;
  --tw-sepia: ;
  --tw-drop-shadow: ;
  --tw-backdrop-blur: ;
  --tw-backdrop-brightness: ;
  --tw-backdrop-contrast: ;
  --tw-backdrop-grayscale: ;
  --tw-backdrop-hue-rotate: ;
  --tw-backdrop-invert: ;
  --tw-backdrop-opacity: ;
  --tw-backdrop-saturate: ;
  --tw-backdrop-sepia: ;
  --tw-contain-size: ;
  --tw-contain-layout: ;
  --tw-contain-paint: ;
  --tw-contain-style: 
}

::backdrop{
  --tw-border-spacing-x:0;
  --tw-border-spacing-y:0;
  --tw-translate-x:0;
  --tw-translate-y:0;
  --tw-rotate:0;
  --tw-skew-x:0;
  --tw-skew-y:0;
  --tw-scale-x:1;
  --tw-scale-y:1;
  --tw-pan-x: ;
  --tw-pan-y: ;
  --tw-pinch-zoom: ;
  --tw-scroll-snap-strictness:proximity;
  --tw-gradient-from-position: ;
  --tw-gradient-via-position: ;
  --tw-gradient-to-position: ;
  --tw-ordinal: ;
  --tw-slashed-zero: ;
  --tw-numeric-figure: ;
  --tw-numeric-spacing: ;
  --tw-numeric-fraction: ;
  --tw-ring-inset: ;
  --tw-ring-offset-width:0px;
  --tw-ring-offset-color:#fff;
  --tw-ring-color:rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow:0 0 #0000;
  --tw-ring-shadow:0 0 #0000;
  --tw-shadow:0 0 #0000;
  --tw-shadow-colored:0 0 #0000;
  --tw-blur: ;
  --tw-brightness: ;
  --tw-contrast: ;
  --tw-grayscale: ;
  --tw-hue-rotate: ;
  --tw-invert: ;
  --tw-saturate: ;
  --tw-sepia: ;
  --tw-drop-shadow: ;
  --tw-backdrop-blur: ;
  --tw-backdrop-brightness: ;
  --tw-backdrop-contrast: ;
  --tw-backdrop-grayscale: ;
  --tw-backdrop-hue-rotate: ;
  --tw-backdrop-invert: ;
  --tw-backdrop-opacity: ;
  --tw-backdrop-saturate: ;
  --tw-backdrop-sepia: ;
  --tw-contain-size: ;
  --tw-contain-layout: ;
  --tw-contain-paint: ;
  --tw-contain-style: 
}

/*! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com
 */

/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box;
  /* 1 */
  border-width: 0;
  /* 2 */
  border-style: solid;
  /* 2 */
  border-color: currentColor;
  /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -moz-tab-size: 4;
  /* 3 */
  -o-tab-size: 4;
     tab-size: 4;
  /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  /* 4 */
  font-feature-settings: normal;
  /* 5 */
  font-variation-settings: normal;
  /* 6 */
  -webkit-tap-highlight-color: transparent;
  /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0;
  /* 1 */
  line-height: inherit;
  /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0;
  /* 1 */
  color: inherit;
  /* 2 */
  border-top-width: 1px;
  /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  /* 1 */
  font-feature-settings: normal;
  /* 2 */
  font-variation-settings: normal;
  /* 3 */
  font-size: 1em;
  /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0;
  /* 1 */
  border-color: inherit;
  /* 2 */
  border-collapse: collapse;
  /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-feature-settings: inherit;
  /* 1 */
  font-variation-settings: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  font-weight: inherit;
  /* 1 */
  line-height: inherit;
  /* 1 */
  letter-spacing: inherit;
  /* 1 */
  color: inherit;
  /* 1 */
  margin: 0;
  /* 2 */
  padding: 0;
  /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button;
  /* 1 */
  background-color: transparent;
  /* 2 */
  background-image: none;
  /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/

dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/

:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block;
  /* 1 */
  vertical-align: middle;
  /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */

[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}

html {
  font-family: 'Noto Sans JP', 遊ゴシック, YuGothic, 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
  font-size: 16px;
}

.\!container{
  width:100% !important;
  margin-right:auto !important;
  margin-left:auto !important;
  padding-right:1rem !important;
  padding-left:1rem !important
}

.container{
  width:100%;
  margin-right:auto;
  margin-left:auto;
  padding-right:1rem;
  padding-left:1rem
}

@media (min-width: 640px){
  .\!container{
    max-width:640px !important;
    padding-right:2rem !important;
    padding-left:2rem !important
  }

  .container{
    max-width:640px;
    padding-right:2rem;
    padding-left:2rem
  }
}

@media (min-width: 768px){
  .\!container{
    max-width:768px !important
  }

  .container{
    max-width:768px
  }
}

@media (min-width: 1160px){
  .\!container{
    max-width:1160px !important;
    padding-right:4rem !important;
    padding-left:4rem !important
  }

  .container{
    max-width:1160px;
    padding-right:4rem;
    padding-left:4rem
  }
}

@media (min-width: 1440px){
  .\!container{
    max-width:1440px !important;
    padding-right:5rem !important;
    padding-left:5rem !important
  }

  .container{
    max-width:1440px;
    padding-right:5rem;
    padding-left:5rem
  }
}

@media (min-width: 1640px){
  .\!container{
    max-width:1640px !important;
    padding-right:6rem !important;
    padding-left:6rem !important
  }

  .container{
    max-width:1640px;
    padding-right:6rem;
    padding-left:6rem
  }
}

/* ==========================================================================
     ボタン基本スタイル
     ========================================================================== */

.c-button{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:500;
  transition: opacity 0.3s ease
}

.c-button:hover{
  opacity:0.8
}

/* ==========================================================================
     ボタンバリエーション
     ========================================================================== */

/* プライマリ（黄色背景） */

.c-button--primary{
  border-radius:9999px;
  --tw-bg-opacity:1;
  background-color:rgb(255 216 0 / var(--tw-bg-opacity, 1))
}

/* セカンダリ（白背景 + ボーダー） */

.c-button--secondary{
  border-radius:9999px;
  border-width:2px;
  --tw-border-opacity:1;
  border-color:rgb(72 67 67 / var(--tw-border-opacity, 1));
  --tw-bg-opacity:1;
  background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));
  font-weight:500;
  --tw-text-opacity:1;
  color:rgb(72 67 67 / var(--tw-text-opacity, 1))
}

/* ==========================================================================
     ボタンサイズ
     ========================================================================== */

/* Large（メインCTAボタン）*/

.c-button--lg{
  height:48px;
  width:240px;
  font-size:14px
}

@media (min-width: 1160px) {
  .c-button--lg{
    height:56px;
    width:260px;
    font-size:16px
  }
}

/* Wide（286px版 - デスクトップ用2行ボタン） */

.c-button--wide{
  height:80px;
  width:348px;
  font-size:16px
}

/* Wide SP（280px版 - モバイル用2行ボタン） */

.c-button--wide-sp{
  height:64px;
  width:280px;
  font-size:14px
}

/* Medium（固定幅260px） */

.c-button--md{
  height:48px;
  width:260px;
  font-size:14px
}

@media (min-width: 1160px) {
  .c-button--md{
    height:56px;
    font-size:16px
  }
}

/* Step（4つのステップ用 - モバイル280px固定、PC可変幅） */

.c-button--step{
  width:280px;
  padding-top:13px;
  padding-bottom:13px;
  padding-left:32px;
  padding-right:32px;
  text-align:center;
  font-size:14px
}

@media (min-width: 1160px) {
  .c-button--step{
    height:56px;
    width:auto;
    padding-top:0px;
    padding-bottom:0px;
    padding-left:40px;
    padding-right:40px;
    font-size:16px
  }
}

/* ==========================================================================
     バッジ（タグ・カテゴリ用）
     ========================================================================== */

.c-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-weight:400;
  line-height:1.5;
  transition: background-color 0.3s ease
}

/* タグバッジ（カテゴリフィルター用） */

.c-badge--filter{
  height:32px;
  border-radius:9999px;
  --tw-bg-opacity:1;
  background-color:rgb(246 244 239 / var(--tw-bg-opacity, 1));
  padding-left:14px;
  padding-right:14px;
  padding-top:6px;
  padding-bottom:6px;
  font-size:12px;
  --tw-text-opacity:1;
  color:rgb(51 51 51 / var(--tw-text-opacity, 1))
}

table td.c-badge--filter {
  background-color: #F6F4EF;
}

.c-badge--filter:hover{
  opacity:0.9
}

@media (min-width: 1160px) {
  .c-badge--filter{
    height:36px;
    padding-left:16px;
    padding-right:16px;
    font-size:14px
  }
}

/* 記事タグ */

.c-badge--tag{
  border-radius:9999px;
  --tw-bg-opacity:1;
  background-color:rgb(222 220 220 / var(--tw-bg-opacity, 1));
  padding-left:10px;
  padding-right:10px;
  padding-top:4px;
  padding-bottom:4px;
  font-size:10px;
  --tw-text-opacity:1;
  color:rgb(51 51 51 / var(--tw-text-opacity, 1))
}

.c-badge--tag:hover{
  opacity:0.9
}

@media (min-width: 1160px) {
  .c-badge--tag{
    font-size:12px
  }
}

/* タグ一覧（primary-200背景、my-content等のフィルタ一覧用） */

.c-badge--tag-primary{
  cursor:pointer;
  white-space:nowrap;
  border-radius:9999px;
  --tw-bg-opacity:1;
  background-color:rgb(255 243 213 / var(--tw-bg-opacity, 1));
  padding-left:8px;
  padding-right:8px;
  padding-top:4px;
  padding-bottom:4px;
  font-size:10px;
  font-weight:400;
  line-height:1.5;
  --tw-text-opacity:1;
  color:rgb(51 51 51 / var(--tw-text-opacity, 1));
  transition: background-color 0.2s ease, opacity 0.2s ease
}

.c-badge--tag-primary:hover{
  opacity:0.8
}

.c-badge--tag-primary.is-active{
  --tw-bg-opacity:1;
  background-color:rgb(255 216 0 / var(--tw-bg-opacity, 1));
  font-weight:500
}

@media (min-width: 1160px) {
  .c-badge--tag-primary{
    padding-left:40px;
    padding-right:40px;
    font-size:16px;
    line-height:2;
    letter-spacing:0.025em
  }
}

/* ステータスタグ（estateのステータス等） */

.c-badge--status{
  border-radius:9999px;
  --tw-bg-opacity:1;
  background-color:rgb(191 192 192 / var(--tw-bg-opacity, 1));
  padding-left:10px;
  padding-right:10px;
  padding-top:4px;
  padding-bottom:4px;
  font-size:10px;
  --tw-text-opacity:1;
  color:rgb(51 51 51 / var(--tw-text-opacity, 1))
}

@media (min-width: 1160px) {
  .c-badge--status{
    font-size:12px
  }
}

/* カテゴリタグ（front-page用） */

.c-badge--category{
  border-radius:9999px;
  --tw-bg-opacity:1;
  background-color:rgb(72 67 67 / var(--tw-bg-opacity, 1));
  padding-left:10px;
  padding-right:10px;
  padding-top:6px;
  padding-bottom:6px
}

.c-badge--category-light{
  border-radius:9999px;
  --tw-bg-opacity:1;
  background-color:rgb(191 192 192 / var(--tw-bg-opacity, 1));
  padding-left:10px;
  padding-right:10px;
  padding-top:4px;
  padding-bottom:4px;
  font-size:12px;
  line-height:1.5;
  --tw-text-opacity:1;
  color:rgb(51 51 51 / var(--tw-text-opacity, 1))
}

/* ==========================================================================
     リンクリストアイテム
     flex items-center justify-between text-14 font-normal hover:opacity-70 transition-opacity
     ========================================================================== */

.c-link-list-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:14px;
  font-weight:400;
  transition-property:opacity;
  transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:150ms
}

.c-link-list-item:hover{
  opacity:0.7
}

/* ==========================================================================
     フッター用リンクリストアイテム
     flex items-center justify-between text-14 font-normal text-dark-gray hover:opacity-70 transition-opacity lg:text-12 lg:leading-relaxed lg:justify-start
     ========================================================================== */

.c-footer-link-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:14px;
  font-weight:400;
  --tw-text-opacity:1;
  color:rgb(51 51 51 / var(--tw-text-opacity, 1));
  transition-property:opacity;
  transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:150ms
}

.c-footer-link-item:hover{
  opacity:0.7
}

@media (min-width: 1160px){
  .c-footer-link-item{
    justify-content:flex-start;
    font-size:12px;
    line-height:1.5
  }
}

/* ==========================================================================
     コンテナ基本スタイル
     ========================================================================== */

/* 標準コンテナ（max-w: 1440px） */

.c-container{
  margin-left:auto;
  margin-right:auto;
  max-width:1440px;
  padding-left:24px;
  padding-right:24px
}

@media (min-width: 1160px){
  .c-container{
    padding-left:0px;
    padding-right:0px
  }
}

/* 狭いコンテナ（max-w: 1160px） */

.c-container--narrow-lg{
  max-width:1160px
}

/* 狭いコンテナ（max-w: 960px） */

.c-container--narrow{
  max-width:960px
}

/* パディングなし（フル幅コンテンツ用） */

.c-container--no-padding{
  padding-left:0px;
  padding-right:0px
}

@media (min-width: 1160px){
  .c-container--no-padding{
    padding-left:0px;
    padding-right:0px
  }
}

/* ==========================================================================
     本文テキスト（通常サイズ）
     text-15 lg:text-18 leading-snug lg:leading-loose tracking-2xs lg:tracking-3xs
     ========================================================================== */

.c-text-body{
  font-size:15px;
  font-weight:400;
  line-height:1.8;
  letter-spacing:0.75px;
  --tw-text-opacity:1;
  color:rgb(51 51 51 / var(--tw-text-opacity, 1))
}

@media (min-width: 1160px){
  .c-text-body{
    font-size:18px;
    line-height:2;
    letter-spacing:0.9px
  }
}

/* 本文テキスト（boldバリエーション） */

.c-text-body--bold{
  font-weight:700
}

/* ==========================================================================
     本文テキスト（小サイズ）
     text-14 lg:text-16 leading-snug lg:leading-loose tracking-xs lg:tracking-sm
     ========================================================================== */

.c-text-body-sm{
  font-size:14px;
  font-weight:400;
  line-height:1.8;
  letter-spacing:0.7px;
  --tw-text-opacity:1;
  color:rgb(51 51 51 / var(--tw-text-opacity, 1))
}

@media (min-width: 1160px){
  .c-text-body-sm{
    font-size:16px;
    line-height:2;
    letter-spacing:0.8px
  }
}

/* ==========================================================================
     本文テキスト（中サイズ - デスクトップ16px）
     text-15 lg:text-16 leading-loose tracking-2xs
     ========================================================================== */

.c-text-body-md{
  font-size:15px;
  font-weight:400;
  line-height:2;
  letter-spacing:0.75px;
  --tw-text-opacity:1;
  color:rgb(51 51 51 / var(--tw-text-opacity, 1))
}

@media (min-width: 1160px){
  .c-text-body-md{
    font-size:16px
  }
}

/* ==========================================================================
     小見出し（h5相当）
     text-18 lg:text-22 leading-relaxed tracking-base lg:tracking-lg-xl
     ========================================================================== */

.c-text-heading-sm{
  font-size:18px;
  font-weight:700;
  line-height:1.5;
  letter-spacing:1.8px;
  --tw-text-opacity:1;
  color:rgb(51 51 51 / var(--tw-text-opacity, 1))
}

@media (min-width: 1160px){
  .c-text-heading-sm{
    font-size:22px;
    letter-spacing:2.2px
  }
}

/* ==========================================================================
     中見出し（h4相当）
     text-20 lg:text-26 leading-relaxed tracking-md-lg lg:tracking-xl-2
     ========================================================================== */

.c-text-heading-md{
  font-size:20px;
  font-weight:700;
  line-height:1.5;
  letter-spacing:2px;
  --tw-text-opacity:1;
  color:rgb(51 51 51 / var(--tw-text-opacity, 1))
}

@media (min-width: 1160px){
  .c-text-heading-md{
    font-size:26px;
    letter-spacing:2.6px
  }
}

/* ==========================================================================
     大見出し（h2-h3相当）
     text-24 lg:text-32 leading-relaxed tracking-lg lg:tracking-xl
     ========================================================================== */

.c-text-heading-lg{
  font-size:24px;
  font-weight:700;
  line-height:1.5;
  letter-spacing:2.4px;
  --tw-text-opacity:1;
  color:rgb(51 51 51 / var(--tw-text-opacity, 1))
}

@media (min-width: 1160px){
  .c-text-heading-lg{
    font-size:32px;
    letter-spacing:3.2px
  }
}

/* ==========================================================================
     参考リンク（右寄せ・小サイズ）
     text-12 leading-relaxed tracking-normal text-right
     ========================================================================== */

.c-reference-link{
  text-align:right;
  font-size:12px;
  font-weight:400;
  line-height:1.5;
  letter-spacing:0em;
  --tw-text-opacity:1;
  color:rgb(51 51 51 / var(--tw-text-opacity, 1))
}

.c-reference-link a{
  --tw-text-opacity:1;
  color:rgb(0 86 179 / var(--tw-text-opacity, 1));
  text-decoration-line:underline;
  transition-property:opacity;
  transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:150ms
}

.c-reference-link a:hover{
  opacity:0.7
}

/* ==========================================================================
     セクションラベル（英字・PERFORMANCE等）
     text-14 lg:text-16 font-bold text-primary tracking-xs lg:tracking-sm leading-loose
     ========================================================================== */

.c-section-label{
  font-size:14px;
  font-weight:700;
  line-height:2;
  letter-spacing:0.7px;
  --tw-text-opacity:1;
  color:rgb(255 216 0 / var(--tw-text-opacity, 1))
}

@media (min-width: 1160px){
  .c-section-label{
    font-size:16px;
    letter-spacing:0.8px
  }
}

/* ==========================================================================
     ステップラベル（STEP.01等）
     text-14 lg:text-18 font-bold text-primary tracking-xs lg:tracking-base leading-loose
     ========================================================================== */

.c-step-label{
  font-size:14px;
  font-weight:700;
  line-height:2;
  letter-spacing:0.7px;
  --tw-text-opacity:1;
  color:rgb(255 216 0 / var(--tw-text-opacity, 1))
}

@media (min-width: 1160px){
  .c-step-label{
    font-size:18px;
    letter-spacing:1.8px
  }
}

/* ==========================================================================
     セクション余白（標準）
     py-12 lg:py-20
     ========================================================================== */

.c-section-space{
  padding-top:48px;
  padding-bottom:48px
}

@media (min-width: 1160px){
  .c-section-space{
    padding-top:80px;
    padding-bottom:80px
  }
}

/* ==========================================================================
     セクション余白（大）
     py-16 lg:py-30
     ========================================================================== */

.c-section-space-lg{
  padding-top:64px;
  padding-bottom:64px
}

@media (min-width: 1160px){
  .c-section-space-lg{
    padding-top:120px;
    padding-bottom:120px
  }
}

/* ==========================================================================
     メインコンテンツ上部余白
     pt-12 lg:pt-25
     ========================================================================== */

.c-main-space{
  padding-top:48px
}

@media (min-width: 1160px){
  .c-main-space{
    padding-top:100px
  }
}

/* ==========================================================================
     セクションタイトル用ボーダーラッパー
     border-b-2 border-primary py-4 lg:py-8 mb-14 lg:mb-16
     ========================================================================== */

.c-section-title-border{
  margin-bottom:56px;
  border-bottom-width:2px;
  --tw-border-opacity:1;
  border-color:rgb(255 216 0 / var(--tw-border-opacity, 1));
  padding-top:16px;
  padding-bottom:16px
}

@media (min-width: 1160px){
  .c-section-title-border{
    margin-bottom:64px;
    padding-top:32px;
    padding-bottom:32px
  }
}

/* ==========================================================================
     哲学タイトル（MISSION/STATEMENT/VISION）
     ========================================================================== */

.c-philosophy-title{
  text-align:center
}

.c-philosophy-title__ja{
  font-size:14px;
  font-weight:700;
  line-height:1.5;
  letter-spacing:0.7px;
  --tw-text-opacity:1;
  color:rgb(159 154 154 / var(--tw-text-opacity, 1))
}

@media (min-width: 1160px){
  .c-philosophy-title__ja{
    font-size:18px;
    line-height:2;
    letter-spacing:1.6px
  }
}

.c-philosophy-title__en{
  font-size:20px;
  font-weight:700;
  line-height:1.5;
  letter-spacing:2.4px;
  --tw-text-opacity:1;
  color:rgb(72 67 67 / var(--tw-text-opacity, 1))
}

@media (min-width: 1160px){
  .c-philosophy-title__en{
    font-size:36px;
    letter-spacing:3.6px
  }
}

/* MISSION用（英語テキストの色変更） */

.c-philosophy-title--mission .c-philosophy-title__en{
  --tw-text-opacity:1;
  color:rgb(51 51 51 / var(--tw-text-opacity, 1))
}

@media (min-width: 1160px){
  .c-philosophy-title--mission .c-philosophy-title__en{
    --tw-text-opacity:1;
    color:rgb(72 67 67 / var(--tw-text-opacity, 1))
  }
}

/* ==========================================================================
     定義リスト行（会社概要テーブル）
     ========================================================================== */

.c-dl-row{
  display:flex;
  flex-direction:column;
  gap:8px;
  border-bottom-width:1px;
  --tw-border-opacity:1;
  border-color:rgb(204 204 204 / var(--tw-border-opacity, 1));
  padding-left:16px;
  padding-right:16px;
  padding-top:24px;
  padding-bottom:24px
}

@media (min-width: 1160px){
  .c-dl-row{
    flex-direction:row;
    gap:24px;
    padding-left:0px;
    padding-right:0px;
    padding-top:32px;
    padding-bottom:32px
  }
}

.c-dl-row__dt{
  flex-shrink:0;
  font-weight:700;
  line-height:1.8
}

@media (min-width: 1160px){
  .c-dl-row__dt{
    width:94px;
    line-height:2
  }
}

.c-dl-row__dd{
  font-weight:400;
  line-height:1.8
}

@media (min-width: 1160px){
  .c-dl-row__dd{
    line-height:2
  }
}

/* ==========================================================================
     沿革タイムライン
     ========================================================================== */

.c-timeline-row{
  display:flex;
  gap:24px;
  border-top-width:1px;
  --tw-border-opacity:1;
  border-color:rgb(204 204 204 / var(--tw-border-opacity, 1));
  padding-top:24px;
  padding-bottom:24px
}

@media (min-width: 1160px){
  .c-timeline-row{
    padding-top:32px;
    padding-bottom:32px
  }
}

.c-timeline-row--last{
  border-bottom-width:1px
}

.c-timeline-row__date{
  width:96px;
  flex-shrink:0;
  text-align:right;
  font-weight:700;
  line-height:1.8
}

@media (min-width: 1160px){
  .c-timeline-row__date{
    width:112px;
    line-height:2
  }
}

.c-timeline-row__content{
  flex:1 1 0%;
  font-weight:400;
  line-height:1.8
}

@media (min-width: 1160px){
  .c-timeline-row__content{
    line-height:2
  }
}

/* 複数行タイムライン（年内に複数イベント） */

.c-timeline-group{
  border-top-width:1px;
  --tw-border-opacity:1;
  border-color:rgb(204 204 204 / var(--tw-border-opacity, 1));
  padding-top:24px;
  padding-bottom:24px
}

@media (min-width: 1160px){
  .c-timeline-group{
    padding-top:32px;
    padding-bottom:32px
  }
}

.c-timeline-group--last{
  border-bottom-width:1px
}

.c-timeline-group__item{
  display:flex;
  gap:24px;
  padding-top:4px;
  padding-bottom:4px
}

/* ==========================================================================
     FAQセクション
     ========================================================================== */

.c-faq-section{
  --tw-bg-opacity:1;
  background-color:rgb(246 244 239 / var(--tw-bg-opacity, 1));
  padding-top:64px;
  padding-bottom:64px
}

table td.c-faq-section {
  background-color: #F6F4EF;
}

@media (min-width: 1160px){
  .c-faq-section{
    padding-top:96px;
    padding-bottom:96px
  }
}

.c-faq-section--white{
  --tw-bg-opacity:1;
  background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))
}

/* FAQページ用: 上部余白のみ（下部余白なし） */

.c-faq-section--top-only{
  padding-top:80px;
  padding-bottom:0px
}

@media (min-width: 1160px){
  .c-faq-section--top-only{
    padding-top:120px
  }
}

/* ==========================================================================
     FAQアイテム（アコーディオン）
     ========================================================================== */

.c-faq-item{
  width:100%;
  --tw-bg-opacity:1;
  background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))
}

.c-faq-item--beige{
  --tw-bg-opacity:1;
  background-color:rgb(246 244 239 / var(--tw-bg-opacity, 1))
}

table td.c-faq-item--beige {
  background-color: #F6F4EF;
}

/* details要素のデフォルトマーカーを非表示 */

.c-faq-item summary {
  list-style: none;
}

.c-faq-item summary::-webkit-details-marker {
  display: none;
}

/* ==========================================================================
     質問部分（クリック可能）
     ========================================================================== */

.c-faq-item__question{
  display:flex;
  cursor:pointer;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding-left:24px;
  padding-right:24px;
  padding-top:16px;
  padding-bottom:16px
}

@media (min-width: 1160px){
  .c-faq-item__question{
    padding-left:48px;
    padding-right:48px;
    padding-top:24px;
    padding-bottom:24px
  }
}

.c-faq-item__question-content{
  display:flex;
  align-items:center;
  gap:12px
}

@media (min-width: 1160px){
  .c-faq-item__question-content{
    gap:16px
  }
}

.c-faq-item__q-label{
  flex-shrink:0;
  font-size:24px;
  font-weight:700;
  line-height:1;
  --tw-text-opacity:1;
  color:rgb(51 51 51 / var(--tw-text-opacity, 1))
}

@media (min-width: 1160px){
  .c-faq-item__q-label{
    font-size:32px
  }
}

.c-faq-item__q-label {
  font-family: Arial, sans-serif;
}

.c-faq-item__q-text{
  font-size:15px;
  font-weight:700;
  line-height:2;
  letter-spacing:0.75px;
  --tw-text-opacity:1;
  color:rgb(51 51 51 / var(--tw-text-opacity, 1))
}

@media (min-width: 1160px){
  .c-faq-item__q-text{
    font-size:18px;
    letter-spacing:1.8px
  }
}

/* プラス/マイナスアイコン */

.c-faq-item__icon{
  display:flex;
  height:40px;
  width:40px;
  flex-shrink:0;
  align-items:center;
  justify-content:center
}

@media (min-width: 1160px){
  .c-faq-item__icon{
    height:48px;
    width:48px
  }
}

.c-faq-item__icon svg{
  height:100%;
  width:100%
}

/* 開いている時のアイコン回転 */

.c-faq-item[open] .c-faq-item__icon {
  /* マイナスアイコンに変更するためのスタイル */
}

/* ==========================================================================
     回答部分
     ========================================================================== */

.c-faq-item__answer{
  padding-left:24px;
  padding-right:24px;
  padding-bottom:24px;
  padding-top:8px
}

@media (min-width: 1160px){
  .c-faq-item__answer{
    padding-left:48px;
    padding-right:48px
  }
}

.c-faq-item__answer-content{
  display:flex;
  align-items:flex-start;
  gap:12px
}

@media (min-width: 1160px){
  .c-faq-item__answer-content{
    gap:16px
  }
}

.c-faq-item__a-label{
  flex-shrink:0;
  font-size:24px;
  font-weight:700;
  line-height:1;
  --tw-text-opacity:1;
  color:rgb(51 51 51 / var(--tw-text-opacity, 1))
}

@media (min-width: 1160px){
  .c-faq-item__a-label{
    font-size:32px
  }
}

.c-faq-item__a-label {
  font-family: Arial, sans-serif;
}

.c-faq-item__a-text{
  font-size:14px;
  line-height:2;
  letter-spacing:0.7px;
  --tw-text-opacity:1;
  color:rgb(51 51 51 / var(--tw-text-opacity, 1))
}

@media (min-width: 1160px){
  .c-faq-item__a-text{
    font-size:16px;
    letter-spacing:0.8px
  }
}

/* アコーディオンのアイコン切り替え */

#mobile-search-box.c-faq-item[open] .faq-icon-plus {
  opacity: 0;
  transform: translate(-50%, -10px);
}

#mobile-search-overlay.c-faq-item[open] .faq-icon-plus {
  opacity: 0;
}

.c-faq-item[open] .faq-icon-plus{
  display:none
}

.c-faq-item[open] .faq-icon-minus{
  display:block
}

.c-faq-item:not([open]) .faq-icon-plus{
  display:block
}

#mobile-search-box.c-faq-item:not([open]) .faq-icon-minus {
  opacity: 0;
  transform: translate(-50%, -10px);
}

#mobile-search-overlay.c-faq-item:not([open]) .faq-icon-minus {
  opacity: 0;
}

.c-faq-item:not([open]) .faq-icon-minus{
  display:none
}

/* ==========================================================================
     Swiper Navigation Buttons (統合版)
     重複を削減し、同じスタイルは1回だけ定義
     ========================================================================== */

/* ----- グループA: position: relative パターン（event/land/works） ----- */

.event-swiper-button-prev-new-construction,
  .event-swiper-button-next-new-construction,
  .event-swiper-button-prev-renovation,
  .event-swiper-button-next-renovation,
  .event-swiper-button-prev-events,
  .event-swiper-button-next-events,
  .land-swiper-button-prev,
  .land-swiper-button-next,
  .works-swiper-button-prev-new-construction,
  .works-swiper-button-next-new-construction,
  .works-swiper-button-prev-renovation,
  .works-swiper-button-next-renovation,
  .works-swiper-button-prev-reform,
  .works-swiper-button-next-reform {
  position: relative !important;
  width: 40px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #FFD800;
  border: 1px solid transparent;
  border-radius: 50%;
  transition: all 0.3s ease;
  margin-top: 0;
  cursor: pointer;
}

/* ----- グループB: flex-shrink: 0 パターン（voice/modelhouse/column） ----- */

.voice-nav-button,
  .modelhouse-nav-button,
  .column-nav-button {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #FFD800;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s ease;
  flex-shrink: 0;
}

/* ----- 共通: hover ----- */

.event-swiper-button-prev-new-construction:hover,
  .event-swiper-button-next-new-construction:hover,
  .event-swiper-button-prev-renovation:hover,
  .event-swiper-button-next-renovation:hover,
  .event-swiper-button-prev-events:hover,
  .event-swiper-button-next-events:hover,
  .land-swiper-button-prev:hover,
  .land-swiper-button-next:hover,
  .works-swiper-button-prev-new-construction:hover,
  .works-swiper-button-next-new-construction:hover,
  .works-swiper-button-prev-renovation:hover,
  .works-swiper-button-next-renovation:hover,
  .works-swiper-button-prev-reform:hover,
  .works-swiper-button-next-reform:hover,
  .voice-swiper-button-prev-new-construction:hover,
  .voice-swiper-button-next-new-construction:hover,
  .voice-swiper-button-prev-renovation:hover,
  .voice-swiper-button-next-renovation:hover,
  .voice-swiper-button-prev-reform:hover,
  .voice-swiper-button-next-reform:hover,
  .modelhouse-swiper-button-prev:hover,
  .modelhouse-swiper-button-next:hover,
  .column-swiper-button-prev-column:hover,
  .column-swiper-button-next-column:hover,
  .column-swiper-button-prev-report:hover,
  .column-swiper-button-next-report:hover,
  .yarpp-swiper-button-prev:hover,
  .yarpp-swiper-button-next:hover {
  opacity: 0.8;
}

/* ----- 共通: ::after prev（矢印左） ----- */

.event-swiper-button-prev-new-construction::after,
  .event-swiper-button-prev-renovation::after,
  .event-swiper-button-prev-events::after,
  .land-swiper-button-prev::after,
  .works-swiper-button-prev-new-construction::after,
  .works-swiper-button-prev-renovation::after,
  .works-swiper-button-prev-reform::after,
  .voice-swiper-button-prev-new-construction::after,
  .voice-swiper-button-prev-renovation::after,
  .voice-swiper-button-prev-reform::after,
  .modelhouse-swiper-button-prev::after,
  .column-swiper-button-prev-column::after,
  .column-swiper-button-prev-report::after,
  .yarpp-swiper-button-prev::after {
  width: 12px;
  height: 12px;
  display: block;
  content: "";
  background-image: url('../../images/arrow-left.svg');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(100%) contrast(100%);
}

/* ----- 共通: ::after next（矢印右） ----- */

.event-swiper-button-next-new-construction::after,
  .event-swiper-button-next-renovation::after,
  .event-swiper-button-next-events::after,
  .land-swiper-button-next::after,
  .works-swiper-button-next-new-construction::after,
  .works-swiper-button-next-renovation::after,
  .works-swiper-button-next-reform::after,
  .voice-swiper-button-next-new-construction::after,
  .voice-swiper-button-next-renovation::after,
  .voice-swiper-button-next-reform::after,
  .modelhouse-swiper-button-next::after,
  .column-swiper-button-next-column::after,
  .column-swiper-button-next-report::after,
  .yarpp-swiper-button-next::after {
  width: 12px;
  height: 12px;
  display: block;
  content: "";
  background-image: url('../../images/arrow-right.svg');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(100%) contrast(100%);
}

/* ----- 共通: disabled ----- */

.event-swiper-button-prev-new-construction.swiper-button-disabled,
  .event-swiper-button-next-new-construction.swiper-button-disabled,
  .event-swiper-button-prev-renovation.swiper-button-disabled,
  .event-swiper-button-next-renovation.swiper-button-disabled,
  .event-swiper-button-prev-events.swiper-button-disabled,
  .event-swiper-button-next-events.swiper-button-disabled,
  .land-swiper-button-prev.swiper-button-disabled,
  .land-swiper-button-next.swiper-button-disabled,
  .works-swiper-button-prev-new-construction.swiper-button-disabled,
  .works-swiper-button-next-new-construction.swiper-button-disabled,
  .works-swiper-button-prev-renovation.swiper-button-disabled,
  .works-swiper-button-next-renovation.swiper-button-disabled,
  .works-swiper-button-prev-reform.swiper-button-disabled,
  .works-swiper-button-next-reform.swiper-button-disabled,
  .voice-swiper-button-prev-new-construction.swiper-button-disabled,
  .voice-swiper-button-next-new-construction.swiper-button-disabled,
  .voice-swiper-button-prev-renovation.swiper-button-disabled,
  .voice-swiper-button-next-renovation.swiper-button-disabled,
  .voice-swiper-button-prev-reform.swiper-button-disabled,
  .voice-swiper-button-next-reform.swiper-button-disabled,
  .modelhouse-swiper-button-prev.swiper-button-disabled,
  .modelhouse-swiper-button-next.swiper-button-disabled,
  .column-swiper-button-prev-column.swiper-button-disabled,
  .column-swiper-button-next-column.swiper-button-disabled,
  .column-swiper-button-prev-report.swiper-button-disabled,
  .column-swiper-button-next-report.swiper-button-disabled,
  .yarpp-swiper-button-prev.swiper-button-disabled,
  .yarpp-swiper-button-next.swiper-button-disabled {
  opacity: 0.3;
  cursor: default;
  pointer-events: none;
}

/* Swiperのoverflowをvisibleに変更 */

.swiper {
  overflow: visible !important;
}

/* モバイル検索のアニメーション */

#mobile-search-overlay {
  transition: opacity 0.3s ease;
}

#mobile-search-box {
  transition: opacity 0.3s ease, transform 0.3s ease;
}

#mobile-search-box.hidden {
  opacity: 0;
  transform: translate(-50%, -10px);
}

#mobile-search-overlay.hidden {
  opacity: 0;
}

/* ボーダーアニメーション: 左から右へ黄色に変化 */

.is-animation-border-slide {
  position: relative;
  border-bottom: none !important;
}

.is-animation-border-slide::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(to right, #FFD800 0%, #FFD800 50%, #333333 50%, #333333 100%);
  background-size: 200% 100%;
  background-position: 100% 0;
  transition: background-position 0.3s ease-in-out;
}

.is-animation-border-slide:hover::after {
  background-position: 0 0;
}

/* ボーダーアニメーション: 白バージョン（白→黄色） */

.is-animation-border-slide.white::after {
  background-image: linear-gradient(to right, #FFD800 0%, #FFD800 50%, #FFFFFF 50%, #FFFFFF 100%);
}

/* 矢印スライドアニメーション: ホバー時に矢印が右へ移動 */

.is-animation-arrow-slide img {
  transition: transform 0.3s ease-in-out;
}

.is-animation-arrow-slide svg {
  transform: translateY(-50%);
  transition: transform 0.3s ease-in-out;
}

.is-animation-arrow-slide svg path {
  stroke: #484343;
  transition: stroke 0.3s ease-in-out;
}

.is-animation-arrow-slide:hover img {
  transform: translateX(4px);
}

.is-animation-arrow-slide:hover svg {
  transform: translateX(4px) translateY(-50%);
}

/* さらに表示ボタン専用: ホバー時にアイコンが下に動く */

.is-animation-arrow-down svg {
  transform: translateY(-50%);
  transition: transform 0.3s ease-in-out;
}

.is-animation-arrow-down:hover svg {
  transform: translateY(calc(-50% + 4px));
}

/* スクロールアニメーション */

.is-scroll-animation {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.is-scroll-animation.is-animate {
  opacity: 1;
  transform: translateY(0);
}

/* アコーディオン */

.accordion-item{
  margin-bottom:16px
}

.accordion-icon{
  transition-property:opacity;
  transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:300ms
}

/* ハンバーガーナビゲーション */

.nav-icon {
  position: relative;
  cursor: pointer;
}

.nav-icon span {
  display: block;
  width: 24px;
  height: 2px;
  background-color: var(--color-brand-accent-600, #484343);
  transition: all 0.3s ease;
  position: relative;
}

.nav-icon span:nth-child(1) {
  margin-bottom: 4px;
}

.nav-icon span:nth-child(2) {
  margin-bottom: 4px;
}

.nav-icon.active span:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}

.nav-icon.active span:nth-child(2) {
  opacity: 0;
}

.nav-icon.active span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

/* コンテナ */

.container-custom{
  margin-left:auto;
  margin-right:auto;
  width:100%;
  max-width:1640px;
  padding-left:16px;
  padding-right:16px
}

@media (min-width: 768px){
  .container-custom{
    padding-left:24px;
    padding-right:24px
  }
}

@media (min-width: 1160px){
  .container-custom{
    padding-left:32px;
    padding-right:32px
  }
}

.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0, 0, 0, 0);
  white-space:nowrap;
  border-width:0
}

.pointer-events-none{
  pointer-events:none
}

.pointer-events-auto{
  pointer-events:auto
}

.visible{
  visibility:visible
}

.static{
  position:static
}

.fixed{
  position:fixed
}

.absolute{
  position:absolute
}

.relative{
  position:relative
}

.sticky{
  position:sticky
}

.inset-0{
  inset:0px
}

.bottom-0{
  bottom:0px
}

.left-0{
  left:0px
}

.left-1\/2{
  left:50%
}

.left-2{
  left:8px
}

.left-35{
  left:140px
}

.right-0{
  right:0px
}

.right-2{
  right:8px
}

.right-2\.5{
  right:10px
}

.right-3{
  right:12px
}

.right-4{
  right:16px
}

.top-0{
  top:0px
}

.top-1\/2{
  top:50%
}

.top-12{
  top:48px
}

.top-2{
  top:8px
}

.top-20{
  top:80px
}

.top-30{
  top:120px
}

.top-4{
  top:16px
}

.top-\[260px\]{
  top:260px
}

.top-\[457px\]{
  top:457px
}

.z-10{
  z-index:10
}

.z-20{
  z-index:20
}

.z-30{
  z-index:30
}

.z-40{
  z-index:40
}

.z-50{
  z-index:50
}

.z-\[1000\]{
  z-index:1000
}

.order-1{
  order:1
}

.order-2{
  order:2
}

.col-span-full{
  grid-column:1 / -1
}

.m-0{
  margin:0px
}

.mx-4{
  margin-left:16px;
  margin-right:16px
}

.mx-auto{
  margin-left:auto;
  margin-right:auto
}

.my-6{
  margin-top:24px;
  margin-bottom:24px
}

.-mt-2{
  margin-top:-8px
}

.-mt-4{
  margin-top:-16px
}

.-mt-6{
  margin-top:-24px
}

.mb-0{
  margin-bottom:0px
}

.mb-1\.5{
  margin-bottom:6px
}

.mb-10{
  margin-bottom:40px
}

.mb-12{
  margin-bottom:48px
}

.mb-14{
  margin-bottom:56px
}

.mb-16{
  margin-bottom:64px
}

.mb-2{
  margin-bottom:8px
}

.mb-3{
  margin-bottom:12px
}

.mb-4{
  margin-bottom:16px
}

.mb-5{
  margin-bottom:20px
}

.mb-6{
  margin-bottom:24px
}

.mb-8{
  margin-bottom:32px
}

.ml-2{
  margin-left:8px
}

.mt-1{
  margin-top:4px
}

.mt-1\.5{
  margin-top:6px
}

.mt-10{
  margin-top:40px
}

.mt-12{
  margin-top:48px
}

.mt-14{
  margin-top:56px
}

.mt-16{
  margin-top:64px
}

.mt-2{
  margin-top:8px
}

.mt-20{
  margin-top:80px
}

.mt-3{
  margin-top:12px
}

.mt-4{
  margin-top:16px
}

.mt-6{
  margin-top:24px
}

.mt-8{
  margin-top:32px
}

.mt-auto{
  margin-top:auto
}

.line-clamp-3{
  overflow:hidden;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3
}

.block{
  display:block
}

.inline-block{
  display:inline-block
}

.flex{
  display:flex
}

.inline-flex{
  display:inline-flex
}

.table{
  display:table
}

.grid{
  display:grid
}

.hidden{
  display:none
}

.aspect-\[266\/168\]{
  aspect-ratio:266/168
}

.aspect-\[293\/185\]{
  aspect-ratio:293/185
}

.aspect-\[320\/205\]{
  aspect-ratio:320/205
}

.aspect-\[327\/229\]{
  aspect-ratio:327/229
}

.aspect-\[340\/227\]{
  aspect-ratio:340/227
}

.aspect-\[366\/234\]{
  aspect-ratio:366/234
}

.aspect-\[370\/202\]{
  aspect-ratio:370/202
}

.aspect-\[374\/262\]{
  aspect-ratio:374/262
}

.aspect-\[395\/264\]{
  aspect-ratio:395/264
}

.aspect-\[570\/380\]{
  aspect-ratio:570/380
}

.aspect-\[600\/420\]{
  aspect-ratio:600/420
}

.aspect-square{
  aspect-ratio:1 / 1
}

.h-10{
  height:40px
}

.h-12{
  height:48px
}

.h-14{
  height:56px
}

.h-15{
  height:60px
}

.h-16{
  height:64px
}

.h-18{
  height:72px
}

.h-19\.25{
  height:77px
}

.h-2{
  height:8px
}

.h-20{
  height:80px
}

.h-25{
  height:100px
}

.h-26{
  height:104px
}

.h-3{
  height:12px
}

.h-35{
  height:140px
}

.h-4\.5{
  height:18px
}

.h-5{
  height:20px
}

.h-52\.25{
  height:209px
}

.h-55{
  height:220px
}

.h-6{
  height:24px
}

.h-6\.5{
  height:26px
}

.h-60{
  height:240px
}

.h-65\.75{
  height:263px
}

.h-7{
  height:28px
}

.h-8{
  height:32px
}

.h-9{
  height:36px
}

.h-90{
  height:360px
}

.h-\[100px\]{
  height:100px
}

.h-\[113px\]{
  height:113px
}

.h-\[114px\]{
  height:114px
}

.h-\[140px\]{
  height:140px
}

.h-\[143px\]{
  height:143px
}

.h-\[175px\]{
  height:175px
}

.h-\[180px\]{
  height:180px
}

.h-\[181px\]{
  height:181px
}

.h-\[186px\]{
  height:186px
}

.h-\[187px\]{
  height:187px
}

.h-\[188px\]{
  height:188px
}

.h-\[198px\]{
  height:198px
}

.h-\[203px\]{
  height:203px
}

.h-\[211px\]{
  height:211px
}

.h-\[218px\]{
  height:218px
}

.h-\[262px\]{
  height:262px
}

.h-\[27px\]{
  height:27px
}

.h-\[280px\]{
  height:280px
}

.h-\[374px\]{
  height:374px
}

.h-\[39px\]{
  height:39px
}

.h-\[71px\]{
  height:71px
}

.h-\[77px\]{
  height:77px
}

.h-\[calc\(100vh-48px\)\]{
  height:calc(100vh - 48px)
}

.h-\[calc\(100vh-48px-64px\)\]{
  height:calc(100vh - 48px - 64px)
}

.h-auto{
  height:auto
}

.h-full{
  height:100%
}

.h-px{
  height:1px
}

.h-screen{
  height:100vh
}

.max-h-\[calc\(100vh-48px\)\]{
  max-height:calc(100vh - 48px)
}

.max-h-full{
  max-height:100%
}

.min-h-16\.5{
  min-height:66px
}

.min-h-18{
  min-height:72px
}

.\!w-75\.5{
  width:302px !important
}

.\!w-full{
  width:100% !important
}

.w-10{
  width:40px
}

.w-100\.75{
  width:403px
}

.w-12{
  width:48px
}

.w-16{
  width:64px
}

.w-2{
  width:8px
}

.w-20{
  width:80px
}

.w-23\.5{
  width:94px
}

.w-24{
  width:96px
}

.w-25{
  width:100px
}

.w-3{
  width:12px
}

.w-30{
  width:120px
}

.w-4\.5{
  width:18px
}

.w-45{
  width:180px
}

.w-5{
  width:20px
}

.w-52{
  width:13rem
}

.w-52\.5{
  width:210px
}

.w-6{
  width:24px
}

.w-6\.5{
  width:26px
}

.w-60{
  width:240px
}

.w-65{
  width:260px
}

.w-70{
  width:280px
}

.w-73\.25{
  width:293px
}

.w-73\.75{
  width:295px
}

.w-75\.5{
  width:302px
}

.w-8{
  width:32px
}

.w-81\.75{
  width:327px
}

.w-85{
  width:340px
}

.w-87{
  width:348px
}

.w-90{
  width:360px
}

.w-\[100px\]{
  width:100px
}

.w-\[120px\]{
  width:120px
}

.w-\[140px\]{
  width:140px
}

.w-\[261px\]{
  width:261px
}

.w-\[293px\]{
  width:293px
}

.w-\[327px\]{
  width:327px
}

.w-\[88px\]{
  width:88px
}

.w-auto{
  width:auto
}

.w-fit{
  width:-moz-fit-content;
  width:fit-content
}

.w-full{
  width:100%
}

.\!min-w-\[192px\]{
  min-width:192px !important
}

.min-w-0{
  min-width:0px
}

.min-w-150{
  min-width:600px
}

.min-w-48{
  min-width:192px
}

.max-w-160{
  max-width:640px
}

.max-w-200{
  max-width:800px
}

.max-w-240{
  max-width:960px
}

.max-w-240\.25{
  max-width:961px
}

.max-w-3xl{
  max-width:960px
}

.max-w-4xl{
  max-width:1160px
}

.max-w-5xl{
  max-width:1440px
}

.max-w-77\.75{
  max-width:311px
}

.max-w-\[1160px\]{
  max-width:1160px
}

.max-w-\[286px\]{
  max-width:286px
}

.max-w-\[311px\]{
  max-width:311px
}

.max-w-\[320px\]{
  max-width:320px
}

.max-w-\[800px\]{
  max-width:800px
}

.max-w-\[960px\]{
  max-width:960px
}

.max-w-full{
  max-width:100%
}

.max-w-none{
  max-width:none
}

.max-w-screen-2xl{
  max-width:1640px
}

.flex-1{
  flex:1 1 0%
}

.flex-shrink{
  flex-shrink:1
}

.flex-shrink-0{
  flex-shrink:0
}

.shrink-0{
  flex-shrink:0
}

.flex-grow{
  flex-grow:1
}

.border-collapse{
  border-collapse:collapse
}

.-translate-x-1\/2{
  --tw-translate-x:-50%;
  transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.-translate-x-full{
  --tw-translate-x:-100%;
  transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.-translate-y-1\/2{
  --tw-translate-y:-50%;
  transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.translate-x-full{
  --tw-translate-x:100%;
  transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.rotate-90{
  --tw-rotate:90deg;
  transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.transform{
  transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.cursor-pointer{
  cursor:pointer
}

.resize{
  resize:both
}

.scroll-mt-10{
  scroll-margin-top:40px
}

.scroll-mt-20{
  scroll-margin-top:80px
}

.scroll-mt-30{
  scroll-margin-top:120px
}

.list-disc{
  list-style-type:disc
}

.list-none{
  list-style-type:none
}

.grid-cols-1{
  grid-template-columns:repeat(1, minmax(0, 1fr))
}

.grid-cols-2{
  grid-template-columns:repeat(2, minmax(0, 1fr))
}

.flex-row{
  flex-direction:row
}

.flex-col{
  flex-direction:column
}

.flex-col-reverse{
  flex-direction:column-reverse
}

.flex-wrap{
  flex-wrap:wrap
}

.items-start{
  align-items:flex-start
}

.items-end{
  align-items:flex-end
}

.items-center{
  align-items:center
}

.justify-end{
  justify-content:flex-end
}

.justify-center{
  justify-content:center
}

.justify-between{
  justify-content:space-between
}

.gap-0{
  gap:0px
}

.gap-0\.5{
  gap:2px
}

.gap-1{
  gap:4px
}

.gap-1\.5{
  gap:6px
}

.gap-10{
  gap:40px
}

.gap-12{
  gap:48px
}

.gap-14{
  gap:56px
}

.gap-16{
  gap:64px
}

.gap-18{
  gap:72px
}

.gap-2{
  gap:8px
}

.gap-2\.5{
  gap:10px
}

.gap-3{
  gap:12px
}

.gap-3\.25{
  gap:13px
}

.gap-4{
  gap:16px
}

.gap-5{
  gap:20px
}

.gap-6{
  gap:24px
}

.gap-7{
  gap:28px
}

.gap-8{
  gap:32px
}

.gap-y-3{
  row-gap:12px
}

.space-y-4 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse:0;
  margin-top:calc(16px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom:calc(16px * var(--tw-space-y-reverse))
}

.space-y-6 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse:0;
  margin-top:calc(24px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom:calc(24px * var(--tw-space-y-reverse))
}

.self-start{
  align-self:flex-start
}

.self-end{
  align-self:flex-end
}

.overflow-hidden{
  overflow:hidden
}

.overflow-x-auto{
  overflow-x:auto
}

.overflow-y-auto{
  overflow-y:auto
}

.whitespace-nowrap{
  white-space:nowrap
}

.break-all{
  word-break:break-all
}

.rounded{
  border-radius:8px
}

.rounded-full{
  border-radius:9999px
}

.rounded-lg{
  border-radius:20px
}

.rounded-md{
  border-radius:0.375rem
}

.rounded-sm{
  border-radius:4px
}

.rounded-xl{
  border-radius:30px
}

.border{
  border-width:1px
}

.border-2{
  border-width:2px
}

.border-4{
  border-width:4px
}

.\!border-b{
  border-bottom-width:1px !important
}

.border-b{
  border-bottom-width:1px
}

.border-b-2{
  border-bottom-width:2px
}

.border-l-2{
  border-left-width:2px
}

.border-r{
  border-right-width:1px
}

.border-t{
  border-top-width:1px
}

.border-t-2{
  border-top-width:2px
}

.border-dashed{
  border-style:dashed
}

.border-none{
  border-style:none
}

.border-\[\#dedcdc\]{
  --tw-border-opacity:1;
  border-color:rgb(222 220 220 / var(--tw-border-opacity, 1))
}

.border-accent{
  --tw-border-opacity:1;
  border-color:rgb(72 67 67 / var(--tw-border-opacity, 1))
}

.border-accent-100{
  --tw-border-opacity:1;
  border-color:rgb(222 220 220 / var(--tw-border-opacity, 1))
}

.border-accent-200{
  --tw-border-opacity:1;
  border-color:rgb(191 192 192 / var(--tw-border-opacity, 1))
}

.border-accent-600{
  --tw-border-opacity:1;
  border-color:rgb(72 67 67 / var(--tw-border-opacity, 1))
}

.border-background-beige{
  --tw-border-opacity:1;
  border-color:rgb(246 244 239 / var(--tw-border-opacity, 1))
}

.border-dark-gray{
  --tw-border-opacity:1;
  border-color:rgb(51 51 51 / var(--tw-border-opacity, 1))
}

.border-gray{
  --tw-border-opacity:1;
  border-color:rgb(153 153 153 / var(--tw-border-opacity, 1))
}

.border-light-gray{
  --tw-border-opacity:1;
  border-color:rgb(204 204 204 / var(--tw-border-opacity, 1))
}

.border-primary{
  --tw-border-opacity:1;
  border-color:rgb(255 216 0 / var(--tw-border-opacity, 1))
}

.border-white{
  --tw-border-opacity:1;
  border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))
}

.\!bg-background-beige{
  --tw-bg-opacity:1 !important;
  background-color:rgb(246 244 239 / var(--tw-bg-opacity, 1)) !important
}

.bg-\[\#F2F2F2\]{
  --tw-bg-opacity:1;
  background-color:rgb(242 242 242 / var(--tw-bg-opacity, 1))
}

.bg-\[\#F5F5F5\]{
  --tw-bg-opacity:1;
  background-color:rgb(245 245 245 / var(--tw-bg-opacity, 1))
}

.bg-\[\#FAF6EF\]{
  --tw-bg-opacity:1;
  background-color:rgb(250 246 239 / var(--tw-bg-opacity, 1))
}

.bg-\[\#dedcdc\]{
  --tw-bg-opacity:1;
  background-color:rgb(222 220 220 / var(--tw-bg-opacity, 1))
}

.bg-\[\#fffcf5\]{
  --tw-bg-opacity:1;
  background-color:rgb(255 252 245 / var(--tw-bg-opacity, 1))
}

.bg-accent{
  --tw-bg-opacity:1;
  background-color:rgb(72 67 67 / var(--tw-bg-opacity, 1))
}

.bg-accent-100{
  --tw-bg-opacity:1;
  background-color:rgb(222 220 220 / var(--tw-bg-opacity, 1))
}

.bg-accent-200{
  --tw-bg-opacity:1;
  background-color:rgb(191 192 192 / var(--tw-bg-opacity, 1))
}

.bg-accent-600{
  --tw-bg-opacity:1;
  background-color:rgb(72 67 67 / var(--tw-bg-opacity, 1))
}

.bg-background-beige{
  --tw-bg-opacity:1;
  background-color:rgb(246 244 239 / var(--tw-bg-opacity, 1))
}

.bg-background-gray{
  --tw-bg-opacity:1;
  background-color:rgb(238 238 238 / var(--tw-bg-opacity, 1))
}

.bg-black{
  --tw-bg-opacity:1;
  background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))
}

.bg-light-gray{
  --tw-bg-opacity:1;
  background-color:rgb(204 204 204 / var(--tw-bg-opacity, 1))
}

.bg-primary{
  --tw-bg-opacity:1;
  background-color:rgb(255 216 0 / var(--tw-bg-opacity, 1))
}

.bg-primary-200{
  --tw-bg-opacity:1;
  background-color:rgb(255 243 213 / var(--tw-bg-opacity, 1))
}

.bg-transparent{
  background-color:transparent
}

.bg-white{
  --tw-bg-opacity:1;
  background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))
}

.bg-opacity-50{
  --tw-bg-opacity:0.5
}

.bg-clip-text{
  -webkit-background-clip:text;
          background-clip:text
}

.object-contain{
  -o-object-fit:contain;
     object-fit:contain
}

.object-cover{
  -o-object-fit:cover;
     object-fit:cover
}

.p-0{
  padding:0px
}

.p-10{
  padding:40px
}

.p-4{
  padding:16px
}

.p-6{
  padding:24px
}

.p-8{
  padding:32px
}

.\!px-4{
  padding-left:16px !important;
  padding-right:16px !important
}

.\!py-12{
  padding-top:48px !important;
  padding-bottom:48px !important
}

.px-0{
  padding-left:0px;
  padding-right:0px
}

.px-1{
  padding-left:4px;
  padding-right:4px
}

.px-10{
  padding-left:40px;
  padding-right:40px
}

.px-2{
  padding-left:8px;
  padding-right:8px
}

.px-2\.5{
  padding-left:10px;
  padding-right:10px
}

.px-3{
  padding-left:12px;
  padding-right:12px
}

.px-3\.5{
  padding-left:14px;
  padding-right:14px
}

.px-4{
  padding-left:16px;
  padding-right:16px
}

.px-5{
  padding-left:20px;
  padding-right:20px
}

.px-6{
  padding-left:24px;
  padding-right:24px
}

.px-8{
  padding-left:32px;
  padding-right:32px
}

.px-\[14px\]{
  padding-left:14px;
  padding-right:14px
}

.px-\[24px\]{
  padding-left:24px;
  padding-right:24px
}

.px-\[32px\]{
  padding-left:32px;
  padding-right:32px
}

.py-0{
  padding-top:0px;
  padding-bottom:0px
}

.py-0\.5{
  padding-top:2px;
  padding-bottom:2px
}

.py-1{
  padding-top:4px;
  padding-bottom:4px
}

.py-1\.5{
  padding-top:6px;
  padding-bottom:6px
}

.py-10{
  padding-top:40px;
  padding-bottom:40px
}

.py-12{
  padding-top:48px;
  padding-bottom:48px
}

.py-14{
  padding-top:56px;
  padding-bottom:56px
}

.py-16{
  padding-top:64px;
  padding-bottom:64px
}

.py-2{
  padding-top:8px;
  padding-bottom:8px
}

.py-20{
  padding-top:80px;
  padding-bottom:80px
}

.py-3{
  padding-top:12px;
  padding-bottom:12px
}

.py-3\.25{
  padding-top:13px;
  padding-bottom:13px
}

.py-4{
  padding-top:16px;
  padding-bottom:16px
}

.py-56{
  padding-top:56px;
  padding-bottom:56px
}

.py-6{
  padding-top:24px;
  padding-bottom:24px
}

.py-64{
  padding-top:64px;
  padding-bottom:64px
}

.py-8{
  padding-top:32px;
  padding-bottom:32px
}

.pb-0{
  padding-bottom:0px
}

.pb-10{
  padding-bottom:40px
}

.pb-12{
  padding-bottom:48px
}

.pb-14{
  padding-bottom:56px
}

.pb-16{
  padding-bottom:64px
}

.pb-2\.5{
  padding-bottom:10px
}

.pb-20{
  padding-bottom:80px
}

.pb-28{
  padding-bottom:112px
}

.pb-3\.5{
  padding-bottom:14px
}

.pb-30{
  padding-bottom:120px
}

.pb-4{
  padding-bottom:16px
}

.pb-6{
  padding-bottom:24px
}

.pb-8{
  padding-bottom:32px
}

.pb-\[100\%\]{
  padding-bottom:100%
}

.pb-\[15vh\]{
  padding-bottom:15vh
}

.pb-\[32px\]{
  padding-bottom:32px
}

.pb-\[48px\]{
  padding-bottom:48px
}

.pb-\[51px\]{
  padding-bottom:51px
}

.pb-\[54\.5\%\]{
  padding-bottom:54.5%
}

.pe-5{
  padding-inline-end:20px
}

.pl-3{
  padding-left:12px
}

.pl-4{
  padding-left:16px
}

.pl-6{
  padding-left:24px
}

.pl-8{
  padding-left:32px
}

.pr-10{
  padding-right:40px
}

.pr-2{
  padding-right:8px
}

.pr-3{
  padding-right:12px
}

.pr-4{
  padding-right:16px
}

.ps-6{
  padding-inline-start:24px
}

.pt-0{
  padding-top:0px
}

.pt-10{
  padding-top:40px
}

.pt-12{
  padding-top:48px
}

.pt-14{
  padding-top:56px
}

.pt-16{
  padding-top:64px
}

.pt-18{
  padding-top:72px
}

.pt-2{
  padding-top:8px
}

.pt-20{
  padding-top:80px
}

.pt-24{
  padding-top:96px
}

.pt-28{
  padding-top:112px
}

.pt-3\.5{
  padding-top:14px
}

.pt-30{
  padding-top:120px
}

.pt-4{
  padding-top:16px
}

.pt-6{
  padding-top:24px
}

.pt-8{
  padding-top:32px
}

.pt-\[11vh\]{
  padding-top:11vh
}

.pt-\[38px\]{
  padding-top:38px
}

.pt-\[40px\]{
  padding-top:40px
}

.pt-\[4px\]{
  padding-top:4px
}

.pt-\[64px\]{
  padding-top:64px
}

.pt-\[8px\]{
  padding-top:8px
}

.text-left{
  text-align:left
}

.text-center{
  text-align:center
}

.text-right{
  text-align:right
}

.align-top{
  vertical-align:top
}

.align-middle{
  vertical-align:middle
}

.font-\[\'Arial\'\]{
  font-family:'Arial'
}

.font-noto{
  font-family:"Noto Sans JP", sans-serif
}

.\!text-16{
  font-size:16px !important
}

.text-10{
  font-size:10px
}

.text-12{
  font-size:12px
}

.text-13{
  font-size:13px
}

.text-14{
  font-size:14px
}

.text-15{
  font-size:15px
}

.text-16{
  font-size:16px
}

.text-18{
  font-size:18px
}

.text-20{
  font-size:20px
}

.text-22{
  font-size:22px
}

.text-24{
  font-size:24px
}

.text-26{
  font-size:26px
}

.text-30{
  font-size:30px
}

.text-32{
  font-size:32px
}

.text-36{
  font-size:36px
}

.text-\[15px\]{
  font-size:15px
}

.\!font-bold{
  font-weight:700 !important
}

.font-bold{
  font-weight:700
}

.font-medium{
  font-weight:500
}

.font-normal{
  font-weight:400
}

.font-semibold{
  font-weight:500
}

.not-italic{
  font-style:normal
}

.\!leading-\[2\]{
  line-height:2 !important
}

.leading-\[1\.5\]{
  line-height:1.5
}

.leading-\[1\.6\]{
  line-height:1.6
}

.leading-\[1\.8\]{
  line-height:1.8
}

.leading-\[1\]{
  line-height:1
}

.leading-\[2\.3\]{
  line-height:2.3
}

.leading-\[2\.5\]{
  line-height:2.5
}

.leading-\[24px\]{
  line-height:24px
}

.leading-\[2\]{
  line-height:2
}

.leading-\[3\]{
  line-height:3
}

.leading-loose{
  line-height:2
}

.leading-none{
  line-height:1
}

.leading-normal{
  line-height:1.5
}

.leading-relaxed{
  line-height:1.5
}

.leading-snug{
  line-height:1.8
}

.leading-tight{
  line-height:1
}

.\!tracking-\[0\.8px\]{
  letter-spacing:0.8px !important
}

.tracking-2xl{
  letter-spacing:3px
}

.tracking-2xs{
  letter-spacing:0.75px
}

.tracking-3xs{
  letter-spacing:0.9px
}

.tracking-\[0\.1em\]{
  letter-spacing:0.1em
}

.tracking-\[0\.8px\]{
  letter-spacing:0.8px
}

.tracking-\[0\.9px\]{
  letter-spacing:0.9px
}

.tracking-\[1\.6px\]{
  letter-spacing:1.6px
}

.tracking-\[2\.2px\]{
  letter-spacing:2.2px
}

.tracking-\[2\.6px\]{
  letter-spacing:2.6px
}

.tracking-\[3\.2px\]{
  letter-spacing:3.2px
}

.tracking-\[3\.6px\]{
  letter-spacing:3.6px
}

.tracking-\[3px\]{
  letter-spacing:3px
}

.tracking-base{
  letter-spacing:1.8px
}

.tracking-lg{
  letter-spacing:2.4px
}

.tracking-lg-xl{
  letter-spacing:2.2px
}

.tracking-md{
  letter-spacing:1.6px
}

.tracking-md-lg{
  letter-spacing:2px
}

.tracking-normal{
  letter-spacing:0em
}

.tracking-sm{
  letter-spacing:0.8px
}

.tracking-tight{
  letter-spacing:-0.025em
}

.tracking-tight-lg{
  letter-spacing:1.4px
}

.tracking-tight-md{
  letter-spacing:0.7px
}

.tracking-tight-sm{
  letter-spacing:0.6px
}

.tracking-wide{
  letter-spacing:0.025em
}

.tracking-wider{
  letter-spacing:0.05em
}

.tracking-widest{
  letter-spacing:0.25em
}

.tracking-xl{
  letter-spacing:3.2px
}

.tracking-xl-2{
  letter-spacing:2.6px
}

.tracking-xs{
  letter-spacing:0.7px
}

.\!text-dark-gray{
  --tw-text-opacity:1 !important;
  color:rgb(51 51 51 / var(--tw-text-opacity, 1)) !important
}

.text-\[\#0066CC\]{
  --tw-text-opacity:1;
  color:rgb(0 102 204 / var(--tw-text-opacity, 1))
}

.text-\[\#666666\]{
  --tw-text-opacity:1;
  color:rgb(102 102 102 / var(--tw-text-opacity, 1))
}

.text-\[\#707070\]{
  --tw-text-opacity:1;
  color:rgb(112 112 112 / var(--tw-text-opacity, 1))
}

.text-accent{
  --tw-text-opacity:1;
  color:rgb(72 67 67 / var(--tw-text-opacity, 1))
}

.text-accent-300{
  --tw-text-opacity:1;
  color:rgb(159 154 154 / var(--tw-text-opacity, 1))
}

.text-black{
  --tw-text-opacity:1;
  color:rgb(0 0 0 / var(--tw-text-opacity, 1))
}

.text-dark-gray{
  --tw-text-opacity:1;
  color:rgb(51 51 51 / var(--tw-text-opacity, 1))
}

.text-line{
  --tw-text-opacity:1;
  color:rgb(6 199 85 / var(--tw-text-opacity, 1))
}

.text-link{
  --tw-text-opacity:1;
  color:rgb(0 86 179 / var(--tw-text-opacity, 1))
}

.text-primary{
  --tw-text-opacity:1;
  color:rgb(255 216 0 / var(--tw-text-opacity, 1))
}

.text-transparent{
  color:transparent
}

.text-white{
  --tw-text-opacity:1;
  color:rgb(255 255 255 / var(--tw-text-opacity, 1))
}

.underline{
  text-decoration-line:underline
}

.no-underline{
  text-decoration-line:none
}

.opacity-0{
  opacity:0
}

.opacity-40{
  opacity:0.4
}

.opacity-50{
  opacity:0.5
}

.opacity-70{
  opacity:0.7
}

.opacity-90{
  opacity:0.9
}

.shadow-\[4px_4px_6px_0px_rgba\(0\2c 0\2c 0\2c 0\.25\)\]{
  --tw-shadow:4px 4px 6px 0px rgba(0,0,0,0.25);
  --tw-shadow-colored:4px 4px 6px 0px var(--tw-shadow-color);
  box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.outline-none{
  outline:2px solid transparent;
  outline-offset:2px
}

.outline{
  outline-style:solid
}

.blur{
  --tw-blur:blur(8px);
  filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.invert{
  --tw-invert:invert(100%);
  filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.sepia{
  --tw-sepia:sepia(100%);
  filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.filter{
  filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.transition{
  transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:150ms
}

.transition-all{
  transition-property:all;
  transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:150ms
}

.transition-colors{
  transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:150ms
}

.transition-opacity{
  transition-property:opacity;
  transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:150ms
}

.transition-shadow{
  transition-property:box-shadow;
  transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:150ms
}

.transition-transform{
  transition-property:transform;
  transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:150ms
}

.duration-300{
  transition-duration:300ms
}

.ease-in-out{
  transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)
}

/* フォント詰め */

.font-palt {
  font-feature-settings: "palt" 1;
}

.font-pkna {
  font-feature-settings: "pkna" 1;
}

/* テキストグラデーション */

.text-gradient{
  background-image:linear-gradient(to right, var(--tw-gradient-stops));
  -webkit-background-clip:text;
          background-clip:text;
  color:transparent
}

/* ホバーエフェクト */

.hover-lift{
  transition-property:transform;
  transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:300ms
}

.hover-lift:hover{
  --tw-translate-y:-4px;
  transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.hover-scale{
  transition-property:transform;
  transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:300ms
}

.hover-scale:hover{
  --tw-scale-x:1.05;
  --tw-scale-y:1.05;
  transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

/* CSS変数の定義 */

:root {
  --neutral-black: #000000;
  --neutral-white: #ffffff;
  /* Figmaデザインシステムのカラー変数 */
  --color-neutral-white: #ffffff;
  --color-neutral-dark-gray: #333333;
  --color-brand-primary-600: #FFD800;
  --color-brand-accent-200: #BFC0C0;
  --color-brand-accent-600: #484343;
}

/* カスタムコンポーネント */

/* カスタムユーティリティ */

/* レスポンシブ */

@media (max-width: 768px) {
  html {
    font-size: 14px;
  }
}

/* アコーディオンアイコンを重ねて表示 */

.accordion-trigger>div {
  position: relative !important;
}

.accordion-icon-plus,
.accordion-icon-minus {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
}

/* 関連記事・おすすめ記事の画像ホバーエフェクト */

.article-thumunail {
  overflow: hidden;
}

.article-thumunail img {
  transition: transform 0.3s ease-in-out;
}

.article-block-thumbnail-primary a:hover .article-thumunail img,
.article-block-thumbnail-secondary a:hover .article-thumunail img {
  transform: scale(1.1);
}

/* 販売物件テーブルの背景色を強制適用（デバッグ用） */

table td.bg-background-beige {
  background-color: #F6F4EF !important;
}

/* Estate Main Swiper - 次のスライドを非表示 */

.estate-main-swiper {
  overflow: hidden !important;
}

/* Modelhouse Main Swiper - 次のスライドを非表示 */

.modelhouse-main-swiper {
  overflow: hidden !important;
}

/* ==========================================================================
   Gallery Thumbnails (CSS-based resizing)
   JSの処理を廃止し、CSSで管理
   ========================================================================== */

/* 通常のサムネイルサイズ (Desktop) */

.estate-thumbnail-swiper .swiper-slide,
.modelhouse-thumbnail-swiper .swiper-slide {
  width: 118px !important;
  transition: width 0.3s ease;
}

/* 選択中のサムネイルサイズ (Desktop) */

.estate-thumbnail-swiper .swiper-slide-thumb-active,
.modelhouse-thumbnail-swiper .swiper-slide-thumb-active {
  width: 160px !important;
}

/* 通常の高さはクラス(h-19.5等)で指定されるが、アニメーションのためにtransitionを追加 */

.estate-thumbnail-swiper .swiper-slide>div,
.modelhouse-thumbnail-swiper .swiper-slide>div {
  transition: height 0.3s ease;
}

/* 選択中の高さ (Desktop) */

.estate-thumbnail-swiper .swiper-slide-thumb-active>div,
.modelhouse-thumbnail-swiper .swiper-slide-thumb-active>div {
  height: 102px !important;
}

/* モバイル (1160px未満) */

@media (max-width: 1159px) {
  .estate-thumbnail-swiper .swiper-slide,
  .modelhouse-thumbnail-swiper .swiper-slide {
    width: 80px !important;
  }

  .estate-thumbnail-swiper .swiper-slide-thumb-active,
  .modelhouse-thumbnail-swiper .swiper-slide-thumb-active {
    width: 110px !important;
  }

  /* 選択中の高さ (Mobile) - h-15(60px)から少し大きく */

  .estate-thumbnail-swiper .swiper-slide-thumb-active>div,
  .modelhouse-thumbnail-swiper .swiper-slide-thumb-active>div {
    height: 80px !important;
  }
}

/* ==========================================================================
   Scroll Hint (横スクロール可能要素のヒント表示)
   ========================================================================== */

/* アニメーション定義 */

@keyframes scroll-hint-appear {
  0% {
    transform: translateX(40px);
    opacity: 0;
  }

  10% {
    opacity: 1;
  }

  50%,
  100% {
    transform: translateX(-40px);
    opacity: 0;
  }
}

/* アイコン本体 */

.scroll-hint-icon {
  position: absolute;
  top: calc(50% - 25px);
  left: calc(50% - 60px);
  box-sizing: border-box;
  width: 120px;
  height: auto;
  border-radius: 5px;
  transition: opacity .3s;
  opacity: 0;
  background: rgba(0, 0, 0, .7);
  text-align: center;
  padding: 20px 10px 10px 10px;
}

/* アイコンのラッパー */

.scroll-hint-icon-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 100%;
  pointer-events: none;
}

/* テキスト */

.scroll-hint-text {
  font-size: 10px;
  color: #FFF;
  margin-top: 5px;
}

/* アクティブ状態 */

.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
  opacity: .8;
}

/* 手のアイコン（ベース） */

.scroll-hint-icon:before {
  display: inline-block;
  width: 40px;
  height: 40px;
  color: #FFF;
  vertical-align: middle;
  text-align: center;
  content: "";
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=);
}

/* 矢印アイコン */

.scroll-hint-icon:after {
  content: "";
  width: 34px;
  height: 14px;
  display: block;
  position: absolute;
  top: 10px;
  left: 50%;
  margin-left: -20px;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IijZmZmIi8+PHBhdGggZD0iTTI1LjksMTJhMS4xOCwxLjE4LDAsMCwxLS45MS0uNDNBMS4xNywxLjE3LDAsMCwxLDI1LjE3LDEwbDUuMDktNC4wNUwyNS4yLDIuMDhBMS4xNiwxLjE2LDAsMCwxLDI2LjU5LjIzTDMyLjg0LDVhMS4xNiwxLjE2LDAsMCwxLC40NS45MSwxLjE0LDEuMTQsMCwwLDEtLjQzLjkybC02LjI0LDVBMS4xNywxLjE3LDAsMCwxLDI1LjksMTJaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=);
  opacity: 0;
  transition-delay: 2.4s;
}

/* アクティブ時の矢印表示 */

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
  opacity: 1;
}

/* アクティブ時の手のアニメーション */

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
  animation: scroll-hint-appear 1.2s linear;
  animation-iteration-count: 2;
}

/* 白いアイコンバリエーション */

.scroll-hint-icon-white {
  background-color: #FFF;
  box-shadow: 0 4px 5px rgba(0, 0, 0, .4);
}

.scroll-hint-icon-white:before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon-white:after {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==);
}

.scroll-hint-icon-white .scroll-hint-text {
  color: #000;
}

/* モバイルのみスクロールヒントを表示 */

@media (min-width: 1160px) {
  .scroll-hint-icon-wrap {
    display: none;
  }
}

/* ==========================================================================
   Event Title Section - イベント詳細ページ専用タイトルセクション
   Figmaデザイン準拠 (Desktop: 1901-24406, Mobile: 1856-24523)
   ========================================================================== */

.event-title-section {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
  padding: 56px 0 0;
}

@media (min-width: 1024px) {
  .event-title-section {
    gap: 0;
    padding: 120px 0 0;
  }
}

/* サムネイル画像 */

.event-thumbnail {
  width: 100%;
  /* max-width: 327px; */
  aspect-ratio: 327 / 178;
  border-radius: 8px;
  overflow: hidden;
}

@media (min-width: 1024px) {
  .event-thumbnail {
    max-width: 800px;
    aspect-ratio: 800 / 436;
  }
}

.event-thumbnail-image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* イベント情報コンテナ */

.event-info-container {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: flex-start;
  width: 100%;
  padding: 0 0 56px;
}

@media (min-width: 1024px) {
  .event-info-container {
    max-width: 800px;
    padding: 80px 0;
    gap: 24px;
    align-items: flex-start;
  }
}

/* タイトルとタグのラッパー */

.event-title-tag-wrapper {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

/* タグを先に表示（Mobile） */

@media (max-width: 1023px) {
  .event-title-tag-wrapper {
    flex-direction: column-reverse;
  }
}

/* イベントタイトル */

.event-title {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: 2px;
  color: #333333;
}

@media (min-width: 1024px) {
  .event-title {
    font-size: 36px;
    letter-spacing: 3.6px;
  }
}

/* イベントタグ */

.event-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.event-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 8px;
  border-radius: 20px;
  background-color: #484343;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 10px;
  line-height: 1.5;
  color: white;
}

@media (min-width: 1024px) {
  .event-tag {
    padding: 4px 10px;
    font-size: 12px;
  }
}

/* 開催情報 + ボタン 横並びコンテナ */

.event-info-button-row {
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 100%;
  align-items: center;
}

@media (min-width: 1024px) {
  .event-info-button-row {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 32px;
  }
}

/* 開催情報 */

.event-details {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}

@media (min-width: 1024px) {
  .event-details {
    gap: 12px;
    flex: 1;
  }
}

.event-detail-row {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* 開催情報ラベル（背景色付き - Primary Color） */

.event-detail-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 28px;
  background-color: #FFD800;
  border-radius: 4px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 1;
  color: #333333;
  flex-shrink: 0;
}

@media (min-width: 1024px) {
  .event-detail-label {
    width: 96px;
    font-size: 12px;
  }
}

.event-detail-value {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.5;
  color: #333333;
}

@media (min-width: 1024px) {
  .event-detail-value {
    font-size: 16px;
  }
}

/* ==========================================================================
   来店プラスのポップアップバナー配置用
   ========================================================================== */

@media (max-width: 1023px) {
  .l_qspkvy {
    bottom: 74px !important;
  }
}

@media (min-width: 768px){
  .md\:hidden#mobile-search-box {
    opacity: 0;
    transform: translate(-50%, -10px);
  }

  .md\:hidden#mobile-search-overlay {
    opacity: 0;
  }
}

@media (min-width: 1160px){
  .lg\:c-button--lg{
    height:48px;
    width:240px;
    font-size:14px
  }

  @media (min-width: 1160px) {
    .lg\:c-button--lg{
      height:56px;
      width:260px;
      font-size:16px
    }
  }

  .lg\:c-button--wide{
    height:80px;
    width:348px;
    font-size:16px
  }

  .lg\:c-text-body-md{
    font-size:15px;
    font-weight:400;
    line-height:2;
    letter-spacing:0.75px;
    --tw-text-opacity:1;
    color:rgb(51 51 51 / var(--tw-text-opacity, 1))
  }

  @media (min-width: 1160px){
    .lg\:c-text-body-md{
      font-size:16px
    }
  }

  .lg\:hidden#mobile-search-box {
    opacity: 0;
    transform: translate(-50%, -10px);
  }

  .lg\:hidden#mobile-search-overlay {
    opacity: 0;
  }
}

.marker\:text-primary *::marker{
  color:rgb(255 216 0 )
}

.marker\:text-primary::marker{
  color:rgb(255 216 0 )
}

.placeholder\:text-accent-100::-moz-placeholder{
  --tw-text-opacity:1;
  color:rgb(222 220 220 / var(--tw-text-opacity, 1))
}

.placeholder\:text-accent-100::placeholder{
  --tw-text-opacity:1;
  color:rgb(222 220 220 / var(--tw-text-opacity, 1))
}

.placeholder\:text-accent-200::-moz-placeholder{
  --tw-text-opacity:1;
  color:rgb(191 192 192 / var(--tw-text-opacity, 1))
}

.placeholder\:text-accent-200::placeholder{
  --tw-text-opacity:1;
  color:rgb(191 192 192 / var(--tw-text-opacity, 1))
}

.placeholder\:text-gray::-moz-placeholder{
  --tw-text-opacity:1;
  color:rgb(153 153 153 / var(--tw-text-opacity, 1))
}

.placeholder\:text-gray::placeholder{
  --tw-text-opacity:1;
  color:rgb(153 153 153 / var(--tw-text-opacity, 1))
}

.first\:border-t-0:first-child{
  border-top-width:0px
}

.last\:border-b-0:last-child{
  border-bottom-width:0px
}

.hover\:scale-110:hover{
  --tw-scale-x:1.1;
  --tw-scale-y:1.1;
  transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.hover\:bg-\[\#E5E5E5\]:hover{
  --tw-bg-opacity:1;
  background-color:rgb(229 229 229 / var(--tw-bg-opacity, 1))
}

.hover\:bg-\[\#F0EBE0\]:hover{
  --tw-bg-opacity:1;
  background-color:rgb(240 235 224 / var(--tw-bg-opacity, 1))
}

.hover\:text-primary:hover{
  --tw-text-opacity:1;
  color:rgb(255 216 0 / var(--tw-text-opacity, 1))
}

.hover\:underline:hover{
  text-decoration-line:underline
}

.hover\:opacity-70:hover{
  opacity:0.7
}

.hover\:opacity-80:hover{
  opacity:0.8
}

.hover\:opacity-90:hover{
  opacity:0.9
}

.hover\:shadow-lg:hover{
  --tw-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.focus\:border-primary:focus{
  --tw-border-opacity:1;
  border-color:rgb(255 216 0 / var(--tw-border-opacity, 1))
}

.focus\:outline-none:focus{
  outline:2px solid transparent;
  outline-offset:2px
}

.group:hover .group-hover\:scale-105{
  --tw-scale-x:1.05;
  --tw-scale-y:1.05;
  transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.group:hover .group-hover\:scale-110{
  --tw-scale-x:1.1;
  --tw-scale-y:1.1;
  transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.group:hover .group-hover\:text-link{
  --tw-text-opacity:1;
  color:rgb(0 86 179 / var(--tw-text-opacity, 1))
}

.group:hover .group-hover\:text-primary{
  --tw-text-opacity:1;
  color:rgb(255 216 0 / var(--tw-text-opacity, 1))
}

@media (min-width: 768px){
  .md\:hidden{
    display:none
  }

  .md\:grid-cols-2{
    grid-template-columns:repeat(2, minmax(0, 1fr))
  }

  .md\:px-4{
    padding-left:16px;
    padding-right:16px
  }

  .md\:px-6{
    padding-left:24px;
    padding-right:24px
  }

  .md\:pb-16{
    padding-bottom:64px
  }

  .md\:text-left{
    text-align:left
  }
}

@media (min-width: 1160px){
  .lg\:bottom-\[32px\]{
    bottom:32px
  }

  .lg\:left-auto{
    left:auto
  }

  .lg\:right-0{
    right:0px
  }

  .lg\:right-6{
    right:24px
  }

  .lg\:order-1{
    order:1
  }

  .lg\:order-2{
    order:2
  }

  .lg\:col-start-1{
    grid-column-start:1
  }

  .lg\:col-start-2{
    grid-column-start:2
  }

  .lg\:col-start-3{
    grid-column-start:3
  }

  .lg\:col-start-4{
    grid-column-start:4
  }

  .lg\:row-start-1{
    grid-row-start:1
  }

  .lg\:row-start-2{
    grid-row-start:2
  }

  .lg\:mx-0{
    margin-left:0px;
    margin-right:0px
  }

  .lg\:mx-auto{
    margin-left:auto;
    margin-right:auto
  }

  .lg\:-mt-0{
    margin-top:-0px
  }

  .lg\:-mt-4{
    margin-top:-16px
  }

  .lg\:mb-0{
    margin-bottom:0px
  }

  .lg\:mb-1\.25{
    margin-bottom:5px
  }

  .lg\:mb-10{
    margin-bottom:40px
  }

  .lg\:mb-10\.25{
    margin-bottom:41px
  }

  .lg\:mb-12{
    margin-bottom:48px
  }

  .lg\:mb-14{
    margin-bottom:56px
  }

  .lg\:mb-15{
    margin-bottom:60px
  }

  .lg\:mb-16{
    margin-bottom:64px
  }

  .lg\:mb-2{
    margin-bottom:8px
  }

  .lg\:mb-2\.25{
    margin-bottom:9px
  }

  .lg\:mb-20{
    margin-bottom:80px
  }

  .lg\:mb-24{
    margin-bottom:96px
  }

  .lg\:mb-28{
    margin-bottom:112px
  }

  .lg\:mb-30{
    margin-bottom:120px
  }

  .lg\:mb-4{
    margin-bottom:16px
  }

  .lg\:mb-5\.25{
    margin-bottom:21px
  }

  .lg\:mb-5\.5{
    margin-bottom:22px
  }

  .lg\:mb-6{
    margin-bottom:24px
  }

  .lg\:mb-8{
    margin-bottom:32px
  }

  .lg\:ml-14{
    margin-left:56px
  }

  .lg\:ml-2{
    margin-left:8px
  }

  .lg\:ml-auto{
    margin-left:auto
  }

  .lg\:mt-0{
    margin-top:0px
  }

  .lg\:mt-10{
    margin-top:40px
  }

  .lg\:mt-12{
    margin-top:48px
  }

  .lg\:mt-14{
    margin-top:56px
  }

  .lg\:mt-16{
    margin-top:64px
  }

  .lg\:mt-2{
    margin-top:8px
  }

  .lg\:mt-20{
    margin-top:80px
  }

  .lg\:mt-30{
    margin-top:120px
  }

  .lg\:mt-32{
    margin-top:128px
  }

  .lg\:mt-4{
    margin-top:16px
  }

  .lg\:mt-6{
    margin-top:24px
  }

  .lg\:mt-8{
    margin-top:32px
  }

  .lg\:line-clamp-none{
    overflow:visible;
    display:block;
    -webkit-box-orient:horizontal;
    -webkit-line-clamp:none
  }

  .lg\:block{
    display:block
  }

  .lg\:inline{
    display:inline
  }

  .lg\:flex{
    display:flex
  }

  .lg\:table-cell{
    display:table-cell
  }

  .lg\:grid{
    display:grid
  }

  .lg\:hidden{
    display:none
  }

  .lg\:aspect-\[322\/203\]{
    aspect-ratio:322/203
  }

  .lg\:aspect-\[465\/310\]{
    aspect-ratio:465/310
  }

  .lg\:aspect-\[600\/420\]{
    aspect-ratio:600/420
  }

  .lg\:aspect-auto{
    aspect-ratio:auto
  }

  .lg\:h-105{
    height:420px
  }

  .lg\:h-12{
    height:48px
  }

  .lg\:h-14{
    height:56px
  }

  .lg\:h-15\.25{
    height:61px
  }

  .lg\:h-153\.5{
    height:614px
  }

  .lg\:h-18{
    height:72px
  }

  .lg\:h-19\.5{
    height:78px
  }

  .lg\:h-20{
    height:80px
  }

  .lg\:h-25{
    height:100px
  }

  .lg\:h-32{
    height:128px
  }

  .lg\:h-38\.5{
    height:154px
  }

  .lg\:h-42{
    height:168px
  }

  .lg\:h-5\.5{
    height:22px
  }

  .lg\:h-55{
    height:220px
  }

  .lg\:h-58\.5{
    height:234px
  }

  .lg\:h-65\.75{
    height:263px
  }

  .lg\:h-7{
    height:28px
  }

  .lg\:h-80{
    height:320px
  }

  .lg\:h-\[100px\]{
    height:100px
  }

  .lg\:h-\[128px\]{
    height:128px
  }

  .lg\:h-\[168px\]{
    height:168px
  }

  .lg\:h-\[200px\]{
    height:200px
  }

  .lg\:h-\[22px\]{
    height:22px
  }

  .lg\:h-\[263px\]{
    height:263px
  }

  .lg\:h-\[268px\]{
    height:268px
  }

  .lg\:h-\[306px\]{
    height:306px
  }

  .lg\:h-\[30px\]{
    height:30px
  }

  .lg\:h-\[310px\]{
    height:310px
  }

  .lg\:h-\[327px\]{
    height:327px
  }

  .lg\:h-\[355px\]{
    height:355px
  }

  .lg\:h-\[36px\]{
    height:36px
  }

  .lg\:h-\[380px\]{
    height:380px
  }

  .lg\:h-\[392px\]{
    height:392px
  }

  .lg\:h-\[400px\]{
    height:400px
  }

  .lg\:h-\[40px\]{
    height:40px
  }

  .lg\:h-\[48px\]{
    height:48px
  }

  .lg\:h-\[495px\]{
    height:495px
  }

  .lg\:h-\[520px\]{
    height:520px
  }

  .lg\:h-\[540px\]{
    height:540px
  }

  .lg\:h-\[55px\]{
    height:55px
  }

  .lg\:h-\[777px\]{
    height:777px
  }

  .lg\:h-\[78px\]{
    height:78px
  }

  .lg\:h-\[92px\]{
    height:92px
  }

  .lg\:h-auto{
    height:auto
  }

  .lg\:min-h-13{
    min-height:52px
  }

  .lg\:\!w-92\.5{
    width:370px !important
  }

  .lg\:w-1\/2{
    width:50%
  }

  .lg\:w-10{
    width:40px
  }

  .lg\:w-115{
    width:456px
  }

  .lg\:w-116\.25{
    width:465px
  }

  .lg\:w-12{
    width:48px
  }

  .lg\:w-122{
    width:488px
  }

  .lg\:w-128{
    width:512px
  }

  .lg\:w-135\.25{
    width:541px
  }

  .lg\:w-150{
    width:600px
  }

  .lg\:w-160{
    width:640px
  }

  .lg\:w-20{
    width:80px
  }

  .lg\:w-200{
    width:800px
  }

  .lg\:w-23\.5{
    width:94px
  }

  .lg\:w-24{
    width:96px
  }

  .lg\:w-25{
    width:100px
  }

  .lg\:w-28{
    width:112px
  }

  .lg\:w-30{
    width:120px
  }

  .lg\:w-45{
    width:180px
  }

  .lg\:w-5\.5{
    width:22px
  }

  .lg\:w-50{
    width:200px
  }

  .lg\:w-55{
    width:220px
  }

  .lg\:w-60{
    width:240px
  }

  .lg\:w-65{
    width:260px
  }

  .lg\:w-70{
    width:280px
  }

  .lg\:w-80{
    width:320px
  }

  .lg\:w-85{
    width:340px
  }

  .lg\:w-90{
    width:360px
  }

  .lg\:w-98\.75{
    width:395px
  }

  .lg\:w-\[160px\]{
    width:160px
  }

  .lg\:w-\[200px\]{
    width:200px
  }

  .lg\:w-\[22px\]{
    width:22px
  }

  .lg\:w-\[270px\]{
    width:270px
  }

  .lg\:w-\[280px\]{
    width:280px
  }

  .lg\:w-\[300px\]{
    width:300px
  }

  .lg\:w-\[308px\]{
    width:308px
  }

  .lg\:w-\[30px\]{
    width:30px
  }

  .lg\:w-\[456px\]{
    width:456px
  }

  .lg\:w-\[460px\]{
    width:460px
  }

  .lg\:w-\[464px\]{
    width:464px
  }

  .lg\:w-\[465px\]{
    width:465px
  }

  .lg\:w-\[478px\]{
    width:478px
  }

  .lg\:w-\[512px\]{
    width:512px
  }

  .lg\:w-\[600px\]{
    width:600px
  }

  .lg\:w-\[75px\]{
    width:75px
  }

  .lg\:w-auto{
    width:auto
  }

  .lg\:w-full{
    width:100%
  }

  .lg\:max-w-160{
    max-width:640px
  }

  .lg\:max-w-200{
    max-width:800px
  }

  .lg\:max-w-240{
    max-width:960px
  }

  .lg\:max-w-3xl{
    max-width:960px
  }

  .lg\:max-w-4xl{
    max-width:1160px
  }

  .lg\:max-w-\[1160px\]{
    max-width:1160px
  }

  .lg\:max-w-none{
    max-width:none
  }

  .lg\:flex-1{
    flex:1 1 0%
  }

  .lg\:flex-none{
    flex:none
  }

  .lg\:flex-shrink-0{
    flex-shrink:0
  }

  .lg\:shrink-0{
    flex-shrink:0
  }

  .lg\:flex-grow-0{
    flex-grow:0
  }

  .lg\:rotate-0{
    --tw-rotate:0deg;
    transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
  }

  .lg\:scroll-mt-30{
    scroll-margin-top:120px
  }

  .lg\:grid-cols-2{
    grid-template-columns:repeat(2, minmax(0, 1fr))
  }

  .lg\:grid-cols-3{
    grid-template-columns:repeat(3, minmax(0, 1fr))
  }

  .lg\:grid-cols-4{
    grid-template-columns:repeat(4, minmax(0, 1fr))
  }

  .lg\:grid-rows-2{
    grid-template-rows:repeat(2, minmax(0, 1fr))
  }

  .lg\:flex-row{
    flex-direction:row
  }

  .lg\:flex-row-reverse{
    flex-direction:row-reverse
  }

  .lg\:flex-col{
    flex-direction:column
  }

  .lg\:items-start{
    align-items:flex-start
  }

  .lg\:items-end{
    align-items:flex-end
  }

  .lg\:items-center{
    align-items:center
  }

  .lg\:justify-start{
    justify-content:flex-start
  }

  .lg\:justify-center{
    justify-content:center
  }

  .lg\:justify-between{
    justify-content:space-between
  }

  .lg\:gap-0{
    gap:0px
  }

  .lg\:gap-1\.5{
    gap:6px
  }

  .lg\:gap-10{
    gap:40px
  }

  .lg\:gap-11\.25{
    gap:45px
  }

  .lg\:gap-12{
    gap:48px
  }

  .lg\:gap-13{
    gap:52px
  }

  .lg\:gap-14{
    gap:56px
  }

  .lg\:gap-15\.25{
    gap:61px
  }

  .lg\:gap-16{
    gap:64px
  }

  .lg\:gap-18{
    gap:72px
  }

  .lg\:gap-2{
    gap:8px
  }

  .lg\:gap-20{
    gap:80px
  }

  .lg\:gap-24{
    gap:96px
  }

  .lg\:gap-3{
    gap:12px
  }

  .lg\:gap-31\.75{
    gap:127px
  }

  .lg\:gap-4{
    gap:16px
  }

  .lg\:gap-5{
    gap:20px
  }

  .lg\:gap-5\.5{
    gap:22px
  }

  .lg\:gap-6{
    gap:24px
  }

  .lg\:gap-7{
    gap:28px
  }

  .lg\:gap-8{
    gap:32px
  }

  .lg\:gap-\[0\]{
    gap:0
  }

  .lg\:gap-x-10{
    -moz-column-gap:40px;
         column-gap:40px
  }

  .lg\:gap-x-8{
    -moz-column-gap:32px;
         column-gap:32px
  }

  .lg\:gap-x-\[100px\]{
    -moz-column-gap:100px;
         column-gap:100px
  }

  .lg\:gap-x-\[31px\]{
    -moz-column-gap:31px;
         column-gap:31px
  }

  .lg\:gap-y-10{
    row-gap:40px
  }

  .lg\:gap-y-14{
    row-gap:56px
  }

  .lg\:gap-y-8{
    row-gap:32px
  }

  .lg\:gap-y-\[40px\]{
    row-gap:40px
  }

  .lg\:self-auto{
    align-self:auto
  }

  .lg\:self-center{
    align-self:center
  }

  .lg\:overflow-x-visible{
    overflow-x:visible
  }

  .lg\:whitespace-normal{
    white-space:normal
  }

  .lg\:whitespace-nowrap{
    white-space:nowrap
  }

  .lg\:rounded-full{
    border-radius:9999px
  }

  .lg\:rounded-lg{
    border-radius:20px
  }

  .lg\:rounded-md{
    border-radius:0.375rem
  }

  .lg\:rounded-l-lg{
    border-top-left-radius:20px;
    border-bottom-left-radius:20px
  }

  .lg\:border-0{
    border-width:0px
  }

  .lg\:border-b{
    border-bottom-width:1px
  }

  .lg\:border-r-0{
    border-right-width:0px
  }

  .lg\:border-t{
    border-top-width:1px
  }

  .lg\:border-dark-gray{
    --tw-border-opacity:1;
    border-color:rgb(51 51 51 / var(--tw-border-opacity, 1))
  }

  .lg\:border-light-gray{
    --tw-border-opacity:1;
    border-color:rgb(204 204 204 / var(--tw-border-opacity, 1))
  }

  .lg\:p-10{
    padding:40px
  }

  .lg\:p-16{
    padding:64px
  }

  .lg\:p-20{
    padding:80px
  }

  .lg\:p-6{
    padding:24px
  }

  .lg\:px-0{
    padding-left:0px;
    padding-right:0px
  }

  .lg\:px-10{
    padding-left:40px;
    padding-right:40px
  }

  .lg\:px-12{
    padding-left:48px;
    padding-right:48px
  }

  .lg\:px-14{
    padding-left:56px;
    padding-right:56px
  }

  .lg\:px-2\.5{
    padding-left:10px;
    padding-right:10px
  }

  .lg\:px-20{
    padding-left:80px;
    padding-right:80px
  }

  .lg\:px-25{
    padding-left:100px;
    padding-right:100px
  }

  .lg\:px-35{
    padding-left:140px;
    padding-right:140px
  }

  .lg\:px-4{
    padding-left:16px;
    padding-right:16px
  }

  .lg\:px-6{
    padding-left:24px;
    padding-right:24px
  }

  .lg\:px-8{
    padding-left:32px;
    padding-right:32px
  }

  .lg\:px-\[80px\]{
    padding-left:80px;
    padding-right:80px
  }

  .lg\:py-0{
    padding-top:0px;
    padding-bottom:0px
  }

  .lg\:py-10{
    padding-top:40px;
    padding-bottom:40px
  }

  .lg\:py-12{
    padding-top:48px;
    padding-bottom:48px
  }

  .lg\:py-120{
    padding-top:120px;
    padding-bottom:120px
  }

  .lg\:py-14{
    padding-top:56px;
    padding-bottom:56px
  }

  .lg\:py-16{
    padding-top:64px;
    padding-bottom:64px
  }

  .lg\:py-20{
    padding-top:80px;
    padding-bottom:80px
  }

  .lg\:py-24{
    padding-top:96px;
    padding-bottom:96px
  }

  .lg\:py-3{
    padding-top:12px;
    padding-bottom:12px
  }

  .lg\:py-3\.5{
    padding-top:14px;
    padding-bottom:14px
  }

  .lg\:py-30{
    padding-top:120px;
    padding-bottom:120px
  }

  .lg\:py-4{
    padding-top:16px;
    padding-bottom:16px
  }

  .lg\:py-6{
    padding-top:24px;
    padding-bottom:24px
  }

  .lg\:py-8{
    padding-top:32px;
    padding-bottom:32px
  }

  .lg\:pb-0{
    padding-bottom:0px
  }

  .lg\:pb-10{
    padding-bottom:40px
  }

  .lg\:pb-12{
    padding-bottom:48px
  }

  .lg\:pb-14{
    padding-bottom:56px
  }

  .lg\:pb-16{
    padding-bottom:64px
  }

  .lg\:pb-17\.5{
    padding-bottom:70px
  }

  .lg\:pb-20{
    padding-bottom:80px
  }

  .lg\:pb-28{
    padding-bottom:112px
  }

  .lg\:pb-3\.5{
    padding-bottom:14px
  }

  .lg\:pb-30{
    padding-bottom:120px
  }

  .lg\:pb-8{
    padding-bottom:32px
  }

  .lg\:pb-\[100px\]{
    padding-bottom:100px
  }

  .lg\:pl-14{
    padding-left:56px
  }

  .lg\:pl-20{
    padding-left:80px
  }

  .lg\:pl-35{
    padding-left:140px
  }

  .lg\:pl-4{
    padding-left:16px
  }

  .lg\:pl-6{
    padding-left:24px
  }

  .lg\:pr-0{
    padding-right:0px
  }

  .lg\:pr-10{
    padding-right:40px
  }

  .lg\:pr-12{
    padding-right:48px
  }

  .lg\:pr-20{
    padding-right:80px
  }

  .lg\:pt-0{
    padding-top:0px
  }

  .lg\:pt-10{
    padding-top:40px
  }

  .lg\:pt-12{
    padding-top:48px
  }

  .lg\:pt-14{
    padding-top:56px
  }

  .lg\:pt-20{
    padding-top:80px
  }

  .lg\:pt-24{
    padding-top:96px
  }

  .lg\:pt-25{
    padding-top:100px
  }

  .lg\:pt-3\.5{
    padding-top:14px
  }

  .lg\:pt-30{
    padding-top:120px
  }

  .lg\:pt-40{
    padding-top:10rem
  }

  .lg\:pt-6{
    padding-top:24px
  }

  .lg\:pt-\[24px\]{
    padding-top:24px
  }

  .lg\:pt-\[96px\]{
    padding-top:96px
  }

  .lg\:text-left{
    text-align:left
  }

  .lg\:text-center{
    text-align:center
  }

  .lg\:text-right{
    text-align:right
  }

  .lg\:text-12{
    font-size:12px
  }

  .lg\:text-13{
    font-size:13px
  }

  .lg\:text-14{
    font-size:14px
  }

  .lg\:text-15{
    font-size:15px
  }

  .lg\:text-16{
    font-size:16px
  }

  .lg\:text-18{
    font-size:18px
  }

  .lg\:text-20{
    font-size:20px
  }

  .lg\:text-22{
    font-size:22px
  }

  .lg\:text-26{
    font-size:26px
  }

  .lg\:text-32{
    font-size:32px
  }

  .lg\:text-36{
    font-size:36px
  }

  .lg\:text-40{
    font-size:40px
  }

  .lg\:font-bold{
    font-weight:700
  }

  .lg\:leading-\[2\]{
    line-height:2
  }

  .lg\:leading-loose{
    line-height:2
  }

  .lg\:leading-normal{
    line-height:1.5
  }

  .lg\:leading-relaxed{
    line-height:1.5
  }

  .lg\:tracking-2xl{
    letter-spacing:3px
  }

  .lg\:tracking-2xs{
    letter-spacing:0.75px
  }

  .lg\:tracking-3xl{
    letter-spacing:3.6px
  }

  .lg\:tracking-3xs{
    letter-spacing:0.9px
  }

  .lg\:tracking-base{
    letter-spacing:1.8px
  }

  .lg\:tracking-lg{
    letter-spacing:2.4px
  }

  .lg\:tracking-lg-xl{
    letter-spacing:2.2px
  }

  .lg\:tracking-md{
    letter-spacing:1.6px
  }

  .lg\:tracking-md-lg{
    letter-spacing:2px
  }

  .lg\:tracking-normal{
    letter-spacing:0em
  }

  .lg\:tracking-sm{
    letter-spacing:0.8px
  }

  .lg\:tracking-tighter{
    letter-spacing:-0.05em
  }

  .lg\:tracking-wide{
    letter-spacing:0.025em
  }

  .lg\:tracking-wider{
    letter-spacing:0.05em
  }

  .lg\:tracking-xl{
    letter-spacing:3.2px
  }

  .lg\:tracking-xl-2{
    letter-spacing:2.6px
  }

  .lg\:tracking-xs{
    letter-spacing:0.7px
  }

  .lg\:text-black{
    --tw-text-opacity:1;
    color:rgb(0 0 0 / var(--tw-text-opacity, 1))
  }

  .lg\:opacity-80{
    opacity:0.8
  }
}
