/* /wp-content/plugins/elementor/assets/lib/swiper/v8/css/swiper.min.css */
/**
 * Swiper 8.4.5
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2022 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: November 21, 2022
 */

 @font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, 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');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-android .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-pointer-events{touch-action:pan-y}.swiper-pointer-events.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform}.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);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d,.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.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,.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.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-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-horizontal.swiper-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-vertical.swiper-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center}.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: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: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,.swiper-rtl .swiper-button-next{left:10px;right:auto}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:10px;left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-button-lock{display:none}.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:10px;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: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;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:10px;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-progressbar{background: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: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:4px;height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background: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:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);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%;object-fit:contain}.swiper-slide-zoomed{cursor:move}.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 .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,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;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-next+.swiper-slide,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.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-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;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-bottom,.swiper-flip .swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}
/* /wp-content/plugins/elementor/assets/css/conditionals/e-swiper.min.css */
.elementor-element,.elementor-lightbox{--swiper-theme-color:#000;--swiper-navigation-size:44px;--swiper-pagination-bullet-size:6px;--swiper-pagination-bullet-horizontal-gap:6px}.elementor-element .swiper .swiper-slide figure,.elementor-lightbox .swiper .swiper-slide figure{line-height:0}.elementor-element .swiper .elementor-lightbox-content-source,.elementor-lightbox .swiper .elementor-lightbox-content-source{display:none}.elementor-element .swiper .elementor-swiper-button,.elementor-element .swiper~.elementor-swiper-button,.elementor-lightbox .swiper .elementor-swiper-button,.elementor-lightbox .swiper~.elementor-swiper-button{color:hsla(0,0%,93%,.9);cursor:pointer;display:inline-flex;font-size:25px;position:absolute;top:50%;transform:translateY(-50%);z-index:1}.elementor-element .swiper .elementor-swiper-button svg,.elementor-element .swiper~.elementor-swiper-button svg,.elementor-lightbox .swiper .elementor-swiper-button svg,.elementor-lightbox .swiper~.elementor-swiper-button svg{fill:hsla(0,0%,93%,.9);height:1em;width:1em}.elementor-element .swiper .elementor-swiper-button-prev,.elementor-element .swiper~.elementor-swiper-button-prev,.elementor-lightbox .swiper .elementor-swiper-button-prev,.elementor-lightbox .swiper~.elementor-swiper-button-prev{left:10px}.elementor-element .swiper .elementor-swiper-button-next,.elementor-element .swiper~.elementor-swiper-button-next,.elementor-lightbox .swiper .elementor-swiper-button-next,.elementor-lightbox .swiper~.elementor-swiper-button-next{right:10px}.elementor-element .swiper .elementor-swiper-button.swiper-button-disabled,.elementor-element .swiper~.elementor-swiper-button.swiper-button-disabled,.elementor-lightbox .swiper .elementor-swiper-button.swiper-button-disabled,.elementor-lightbox .swiper~.elementor-swiper-button.swiper-button-disabled{opacity:.3}.elementor-element .swiper .swiper-image-stretch .swiper-slide .swiper-slide-image,.elementor-lightbox .swiper .swiper-image-stretch .swiper-slide .swiper-slide-image{width:100%}.elementor-element .swiper .swiper-horizontal>.swiper-pagination-bullets,.elementor-element .swiper .swiper-pagination-bullets.swiper-pagination-horizontal,.elementor-element .swiper .swiper-pagination-custom,.elementor-element .swiper .swiper-pagination-fraction,.elementor-element .swiper~.swiper-pagination-bullets.swiper-pagination-horizontal,.elementor-element .swiper~.swiper-pagination-custom,.elementor-element .swiper~.swiper-pagination-fraction,.elementor-lightbox .swiper .swiper-horizontal>.swiper-pagination-bullets,.elementor-lightbox .swiper .swiper-pagination-bullets.swiper-pagination-horizontal,.elementor-lightbox .swiper .swiper-pagination-custom,.elementor-lightbox .swiper .swiper-pagination-fraction,.elementor-lightbox .swiper~.swiper-pagination-bullets.swiper-pagination-horizontal,.elementor-lightbox .swiper~.swiper-pagination-custom,.elementor-lightbox .swiper~.swiper-pagination-fraction{bottom:5px}.elementor-element .swiper.swiper-cube .elementor-swiper-button,.elementor-element .swiper.swiper-cube~.elementor-swiper-button,.elementor-lightbox .swiper.swiper-cube .elementor-swiper-button,.elementor-lightbox .swiper.swiper-cube~.elementor-swiper-button{transform:translate3d(0,-50%,1px)}.elementor-element :where(.swiper-horizontal)~.swiper-pagination-bullets,.elementor-lightbox :where(.swiper-horizontal)~.swiper-pagination-bullets{bottom:5px;left:0;width:100%}.elementor-element :where(.swiper-horizontal)~.swiper-pagination-bullets .swiper-pagination-bullet,.elementor-lightbox :where(.swiper-horizontal)~.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.elementor-element :where(.swiper-horizontal)~.swiper-pagination-progressbar,.elementor-lightbox :where(.swiper-horizontal)~.swiper-pagination-progressbar{height:4px;left:0;top:0;width:100%}.elementor-element.elementor-pagination-position-outside .swiper,.elementor-lightbox.elementor-pagination-position-outside .swiper{padding-bottom:30px}.elementor-element.elementor-pagination-position-outside .swiper .elementor-swiper-button,.elementor-element.elementor-pagination-position-outside .swiper~.elementor-swiper-button,.elementor-lightbox.elementor-pagination-position-outside .swiper .elementor-swiper-button,.elementor-lightbox.elementor-pagination-position-outside .swiper~.elementor-swiper-button{top:calc(50% - 30px / 2)}.elementor-element .elementor-swiper,.elementor-lightbox .elementor-swiper{position:relative}.elementor-element .elementor-main-swiper,.elementor-lightbox .elementor-main-swiper{position:static}.elementor-element.elementor-arrows-position-outside .swiper,.elementor-lightbox.elementor-arrows-position-outside .swiper{width:calc(100% - 60px)}.elementor-element.elementor-arrows-position-outside .swiper .elementor-swiper-button-prev,.elementor-element.elementor-arrows-position-outside .swiper~.elementor-swiper-button-prev,.elementor-lightbox.elementor-arrows-position-outside .swiper .elementor-swiper-button-prev,.elementor-lightbox.elementor-arrows-position-outside .swiper~.elementor-swiper-button-prev{left:0}.elementor-element.elementor-arrows-position-outside .swiper .elementor-swiper-button-next,.elementor-element.elementor-arrows-position-outside .swiper~.elementor-swiper-button-next,.elementor-lightbox.elementor-arrows-position-outside .swiper .elementor-swiper-button-next,.elementor-lightbox.elementor-arrows-position-outside .swiper~.elementor-swiper-button-next{right:0}

/* Wangun OG: スライダーの点を押せる大きさにする。
   点は 6px 四方で押せる範囲も同じだった (Lighthouse target-size: 6 ページで 28 件)。
   見た目は変えず、padding と background-clip で押せる範囲だけを 24px 四方に広げる。
   点を包む .swiper-pagination は .swiper-horizontal の子なので、兄弟を指す Elementor の既存セレクタではなく
   親から辿る形にし、Swiper 本体の規則 (.swiper-pagination-horizontal.swiper-pagination-bullets …) より詳細度を上げる */
.elementor-element .swiper-pagination.swiper-pagination-bullets .swiper-pagination-bullet{box-sizing:content-box;width:var(--swiper-pagination-bullet-size,6px);height:var(--swiper-pagination-bullet-size,6px);padding:calc((24px - var(--swiper-pagination-bullet-size,6px)) / 2);margin:0;background-clip:content-box}

/* /wp-content/uploads/elementor/css/post-1315.css */
.elementor-1315 .elementor-element.elementor-element-ef16e22{--display:flex;--min-height:433px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--overlay-opacity:0.73;}.elementor-1315 .elementor-element.elementor-element-ef16e22::before, .elementor-1315 .elementor-element.elementor-element-ef16e22 > .elementor-background-video-container::before, .elementor-1315 .elementor-element.elementor-element-ef16e22 > .e-con-inner > .elementor-background-video-container::before, .elementor-1315 .elementor-element.elementor-element-ef16e22 > .elementor-background-slideshow::before, .elementor-1315 .elementor-element.elementor-element-ef16e22 > .e-con-inner > .elementor-background-slideshow::before, .elementor-1315 .elementor-element.elementor-element-ef16e22 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-primary );--background-overlay:'';}.elementor-1315 .elementor-element.elementor-element-679559f.elementor-element{--align-self:center;}.elementor-1315 .elementor-element.elementor-element-679559f .elementskit-section-title-wraper .elementskit-section-title{color:var( --e-global-color-accent );}.elementor-1315 .elementor-element.elementor-element-679559f .elementskit-section-title-wraper .elementskit-section-title > span{color:var( --e-global-color-text );}.elementor-1315 .elementor-element.elementor-element-679559f .elementskit-section-title-wraper .elementskit-section-title:hover > span{color:var( --e-global-color-accent );}.elementor-1315 .elementor-element.elementor-element-679559f .elementskit-section-title-wraper .elementskit-section-title span:last-child, .elementor-1315 .elementor-element.elementor-element-679559f .elementskit-section-title-wraper .elementskit-section-title > span{font-family:"CHI_SpeedyRight", Sans-serif;font-size:70px;font-style:italic;}.elementor-1315 .elementor-element.elementor-element-164581b{--display:flex;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-1315 .elementor-element.elementor-element-ef16e22{--min-height:290px;}.elementor-1315 .elementor-element.elementor-element-679559f .elementskit-section-title-wraper .elementskit-section-title span:last-child, .elementor-1315 .elementor-element.elementor-element-679559f .elementskit-section-title-wraper .elementskit-section-title > span{font-size:50px;}}@media(max-width:767px){.elementor-1315 .elementor-element.elementor-element-ef16e22{--min-height:200px;}.elementor-1315 .elementor-element.elementor-element-679559f .elementskit-section-title-wraper .elementskit-section-title span:last-child, .elementor-1315 .elementor-element.elementor-element-679559f .elementskit-section-title-wraper .elementskit-section-title > span{font-size:30px;}}/* Start custom CSS for wp-widget-custom_html, class: .elementor-element-1809708 */.spot-detail {
  --bg-main: #050505;
  --bg-sec-1: #0a0a0a;
  --bg-sec-2: #101010;
  --text-main: #ffffff;
  --text-sub: rgba(255, 255, 255, 0.76); /* Boosted opacity from 0.68 for better readability */
  
  /* Brand Green Harmony */
  --brand-green: #0d7a4f;
  --brand-green-glow: rgba(13, 122, 79, 0.35);
  
  /* JDM Neon Accents */
  --accent: #00f0c0;
  --accent-glow: rgba(0, 240, 192, 0.4);
  --cyan: #00e5ff;
  --cyan-glow: rgba(0, 229, 255, 0.25);
  --red: #ff3366;
  --white-alpha: rgba(255, 255, 255, 0.08);
  
  /* Typography */
  --font-heading: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-body: 'Inter', system-ui, -apple-system, sans-serif;
  
  --container-w: 1100px;
  --transition-slow: 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  --transition-mid: 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);

  background-color: var(--bg-main);
  color: var(--text-main);
  font-family: var(--font-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.6;
  overflow-x: hidden;
  margin: 0;
  padding: 0;
}

/* Reset / Scope Protection */
.spot-detail *,
.spot-detail *::before,
.spot-detail *::after {
  box-sizing: border-box;
}

.spot-detail h1,
.spot-detail h2,
.spot-detail p,
.spot-detail blockquote,
.spot-detail figure {
  margin: 0;
  padding: 0;
}

/* Prevent unnatural word breaking in English headings */
.spot-detail h1,
.spot-detail h2,
.spot-detail .spot-story-block__title {
  word-break: keep-all;
  overflow-wrap: break-word;
}

.spot-detail img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* HUD Camera Finder Corner Brackets */
.spot-hud-bracket {
  position: absolute;
  width: 12px;
  height: 12px;
  border: 1.5px solid var(--accent);
  z-index: 4;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color var(--transition-mid);
}

.spot-hud-bracket--tl {
  top: 12px;
  left: 12px;
  border-right: none;
  border-bottom: none;
}

.spot-hud-bracket--tr {
  top: 12px;
  right: 12px;
  border-left: none;
  border-bottom: none;
}

.spot-hud-bracket--bl {
  bottom: 12px;
  left: 12px;
  border-right: none;
  border-top: none;
}

.spot-hud-bracket--br {
  bottom: 12px;
  right: 12px;
  border-left: none;
  border-top: none;
}

/* Cyan variation for atmosphere photos */
.spot-image-neon-line--cyan ~ .spot-hud-bracket {
  border-color: var(--cyan);
}

/* Hover effect for finder brackets */
.spot-hero__image-wrapper:hover .spot-hud-bracket--tl,
.spot-famous__image-wrapper:hover .spot-hud-bracket--tl,
.spot-atmosphere__image-wrapper:hover .spot-hud-bracket--tl,
.spot-tour-conclusion__image-wrapper:hover .spot-hud-bracket--tl {
  transform: translate(3px, 3px);
}

.spot-hero__image-wrapper:hover .spot-hud-bracket--tr,
.spot-famous__image-wrapper:hover .spot-hud-bracket--tr,
.spot-atmosphere__image-wrapper:hover .spot-hud-bracket--tr,
.spot-tour-conclusion__image-wrapper:hover .spot-hud-bracket--tr {
  transform: translate(-3px, 3px);
}

.spot-hero__image-wrapper:hover .spot-hud-bracket--bl,
.spot-famous__image-wrapper:hover .spot-hud-bracket--bl,
.spot-atmosphere__image-wrapper:hover .spot-hud-bracket--bl,
.spot-tour-conclusion__image-wrapper:hover .spot-hud-bracket--bl {
  transform: translate(3px, -3px);
}

.spot-hero__image-wrapper:hover .spot-hud-bracket--br,
.spot-famous__image-wrapper:hover .spot-hud-bracket--br,
.spot-atmosphere__image-wrapper:hover .spot-hud-bracket--br,
.spot-tour-conclusion__image-wrapper:hover .spot-hud-bracket--br {
  transform: translate(-3px, -3px);
}

/* 1. ファーストビュー (Hero Section - Stacked Layout for wide title display) */
.spot-hero-section {
  position: relative;
  max-width: var(--container-w);
  margin: 0 auto;
  padding: 50px 40px 30px;
  z-index: 2;
}

.spot-hero__grid {
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: flex-start;
}

.spot-hero__content {
  position: relative;
  z-index: 3;
  width: 100%;
}

.spot-hero__tagline {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
}

.spot-tag-label {
  font-family: var(--font-heading);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.25em;
  color: var(--accent);
  text-shadow: 0 0 10px var(--accent-glow);
}

.spot-tag-divider {
  width: 4px;
  height: 4px;
  background-color: rgba(255, 255, 255, 0.3);
  border-radius: 50%;
}

.spot-hero__title {
  font-family: var(--font-heading);
  font-style: italic;
  font-size: clamp(30px, 3.8vw, 52px);
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: -0.025em;
  text-transform: uppercase;
  color: var(--text-main);
  margin-bottom: 20px;
  max-width: 100%; /* Spans full container width for clean horizontal flow */
}

.spot-hero__title::selection {
  background-color: var(--accent);
  color: #000;
}

.spot-lead {
  font-size: clamp(15px, 1.5vw, 17px);
  line-height: 1.7;
  color: var(--text-sub);
  max-width: 900px;
}

.spot-lead::selection {
  background-color: var(--accent);
  color: #000;
}

.spot-hero__image-wrapper {
  position: relative;
  width: 100%; /* Spans full container width for cinematic wide photos */
  border: 1px solid rgba(255, 255, 255, 0.08);
  padding: 8px;
  background-color: rgba(255, 255, 255, 0.02);
  box-shadow: 0 10px 40px rgba(0, 240, 192, 0.12), 0 0 1px rgba(255, 255, 255, 0.2);
  transition: border-color var(--transition-mid), box-shadow var(--transition-mid);
}

.spot-hero__image-wrapper:hover {
  border-color: rgba(0, 240, 192, 0.3);
  box-shadow: 0 15px 50px rgba(0, 240, 192, 0.25), 0 0 2px rgba(0, 240, 192, 0.5);
}

.spot-hero__image-inner {
  position: relative;
  overflow: hidden;
}

.spot-hero__image-inner img {
  width: 100%;
  aspect-ratio: 16 / 7; /* Cinematic ultra-wide layout for the landscape image */
  object-fit: cover;
  object-position: center 30%;
  display: block;
  transition: transform var(--transition-slow);
}

.spot-hero__image-wrapper:hover .spot-hero__image-inner img {
  transform: scale(1.03);
}

/* Content Container Setup */
.spot-content-wrapper {
  position: relative;
  background-color: var(--bg-main);
}

.spot-section {
  position: relative;
  max-width: var(--container-w);
  margin: 0 auto;
  padding: 50px 40px;
}

/* Background Large Numbers */
.spot-section__bg-number {
  position: absolute;
  top: 16px;
  left: 40px;
  font-family: var(--font-heading);
  font-size: clamp(80px, 10vw, 160px);
  font-weight: 900;
  line-height: 0.8;
  color: rgba(255, 255, 255, 0.012);
  user-select: none;
  pointer-events: none;
  z-index: 1;
}

/* Section Header Shared */
.spot-section__header {
  display: flex;
  align-items: baseline;
  gap: 16px;
  margin-bottom: 20px;
}

.spot-section__num {
  font-family: monospace;
  font-size: 14px;
  font-weight: 700;
  color: var(--accent);
  letter-spacing: 0.1em;
}

.spot-section__title {
  font-family: var(--font-heading);
  font-style: italic;
  font-size: clamp(22px, 2.5vw, 32px);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: var(--text-main);
  max-width: 580px; /* Limits title width for better readability and break symmetry */
}

/* 2. 導入セクション */
.spot-intro {
  padding-top: 10px;
  padding-bottom: 35px;
}

.spot-intro__grid {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 60px;
  position: relative;
  z-index: 2;
}

.spot-intro__left p {
  font-size: clamp(16px, 1.6vw, 18px);
  line-height: 1.7;
  color: var(--text-main);
  font-weight: 500;
}

.spot-intro__right p {
  font-size: 15px;
  line-height: 1.7;
  color: var(--text-sub);
  margin-top: 4px;
}

/* 3. “More than a famous name” セクション */
.spot-famous {
  padding-top: 35px;
  padding-bottom: 45px;
}

.spot-famous__grid {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 50px;
  align-items: start;
}

.spot-famous__content {
  position: relative;
  z-index: 2;
}

.spot-famous__content p {
  font-size: 15px;
  line-height: 1.75;
  color: var(--text-sub);
  margin-bottom: 16px;
}

.spot-famous__image-wrapper {
  position: relative;
  border: 1px solid rgba(255, 255, 255, 0.08);
  padding: 8px;
  background-color: rgba(255, 255, 255, 0.02);
  box-shadow: 0 10px 40px rgba(0, 240, 192, 0.12), 0 0 1px rgba(255, 255, 255, 0.2);
  transition: border-color var(--transition-mid), box-shadow var(--transition-mid);
}

.spot-famous__image-wrapper:hover {
  border-color: rgba(0, 240, 192, 0.3);
  box-shadow: 0 15px 50px rgba(0, 240, 192, 0.25), 0 0 2px rgba(0, 240, 192, 0.5);
}

.spot-famous__image-inner {
  position: relative;
  overflow: hidden;
}

.spot-famous__image-inner img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center 50%;
  display: block;
  transition: transform var(--transition-slow);
}

.spot-famous__image-wrapper:hover .spot-famous__image-inner img {
  transform: scale(1.03);
}

.spot-image-neon-line {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(to right, var(--accent), transparent);
  z-index: 3;
}

.spot-image-neon-line--cyan {
  background: linear-gradient(to right, var(--cyan), transparent);
}

.spot-image-neon-line--mint {
  background: linear-gradient(to right, var(--accent), transparent);
}

.spot-image-coordinates {
  position: absolute;
  top: 16px;
  right: 16px;
  font-family: monospace;
  font-size: 10px;
  color: rgba(255, 255, 255, 0.85); /* Brightened coordinate color for readability */
  background-color: rgba(5, 5, 5, 0.85);
  backdrop-filter: blur(4px);
  padding: 4px 8px;
  letter-spacing: 0.1em;
  z-index: 3;
}

.spot-image-label {
  position: absolute;
  bottom: 16px;
  left: 16px;
  font-family: var(--font-heading);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.15em;
  color: var(--text-main);
  background-color: rgba(5, 5, 5, 0.85);
  backdrop-filter: blur(4px);
  padding: 4px 8px;
  z-index: 3;
}

/* Guide Insight Quote (.spot-note) */
.spot-note {
  position: relative;
  margin-top: 28px;
  padding: 20px 28px;
  background-color: rgba(13, 13, 13, 0.85); /* Slightly darker bg for high contrast text */
  border-left: 3px solid var(--accent);
  box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.3);
  font-style: italic;
  font-size: 15px;
  line-height: 1.7;
  color: var(--text-main);
}

.spot-note__quote-mark {
  position: absolute;
  top: -15px;
  right: 15px;
  font-family: var(--font-heading);
  font-size: 110px;
  font-weight: 900;
  color: rgba(255, 255, 255, 0.025);
  line-height: 1;
  pointer-events: none;
  user-select: none;
}

/* 4. “Why the night atmosphere matters” セクション (Immersive Overlay style) */
.spot-atmosphere {
  position: relative;
  background: radial-gradient(circle at 90% 50%, var(--brand-green-glow) 0%, transparent 65%), var(--bg-sec-1);
  padding: 60px 40px;
  overflow: visible;
}

.spot-atmosphere__inner {
  max-width: var(--container-w);
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

.spot-atmosphere__grid {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 40px;
  align-items: center;
}

.spot-atmosphere__content-column {
  position: relative;
  z-index: 3;
}

/* Overlapping translucent card for atmosphere */
.spot-atmosphere__card {
  background-color: rgba(10, 10, 10, 0.88); /* Darkened bg to enhance text color contrast against photos */
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border: 1px solid rgba(255, 255, 255, 0.08); /* More visible border */
  padding: 36px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.7);
  margin-right: -100px; /* Overlap image */
  position: relative;
}

.spot-atmosphere__card p {
  font-size: 15px;
  line-height: 1.75;
  color: var(--text-sub);
  margin-bottom: 16px;
}

.spot-atmosphere__card p:last-child {
  margin-bottom: 0;
}

.spot-atmosphere__image-column {
  position: relative;
  z-index: 2;
}

.spot-atmosphere__image-wrapper {
  position: relative;
  border: 1px solid rgba(255, 255, 255, 0.08);
  padding: 8px;
  background-color: rgba(5, 5, 5, 0.4);
  box-shadow: 0 10px 40px rgba(0, 229, 255, 0.12), 0 0 1px rgba(255, 255, 255, 0.2);
  transition: border-color var(--transition-mid), box-shadow var(--transition-mid);
}

.spot-atmosphere__image-wrapper:hover {
  border-color: rgba(0, 229, 255, 0.3);
  box-shadow: 0 15px 50px rgba(0, 229, 255, 0.25), 0 0 2px rgba(0, 229, 255, 0.5);
}

.spot-atmosphere__image-inner {
  position: relative;
  overflow: hidden;
}

.spot-atmosphere__image-inner img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center 50%;
  display: block;
  transition: transform var(--transition-slow);
}

.spot-atmosphere__image-wrapper:hover img {
  transform: scale(1.03);
}

/* 5. 中盤のストーリーセクション */
.spot-stories {
  padding: 60px 40px;
  position: relative;
}

/* Route Line Background Decoration (aligned with grid boundary: 40%) */
.spot-stories__route-line {
  position: absolute;
  top: 0;
  left: 40%;
  transform: translateX(-50%);
  width: 1px;
  height: 100%;
  background: linear-gradient(
    to bottom,
    transparent 0%,
    rgba(255, 255, 255, 0.06) 10%,
    rgba(255, 255, 255, 0.06) 90%,
    transparent 100%
  );
  pointer-events: none;
  z-index: 1;
}

.spot-stories__route-line--offset {
  left: calc(40% + 8px);
  border-left: 1px dashed rgba(0, 240, 192, 0.15);
  background: none;
  width: 0;
}

.spot-story-block {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 60px;
  margin-bottom: 50px;
  position: relative;
  z-index: 2;
}

.spot-story-block:last-child {
  margin-bottom: 0;
}

.spot-story-block__header {
  position: relative;
  text-align: right;
  padding-right: 24px;
}

.spot-story-block__num-badge {
  position: absolute;
  top: -12px;
  right: 12px;
  font-family: monospace;
  font-size: 40px;
  font-weight: 900;
  color: rgba(0, 240, 192, 0.12);
  line-height: 1;
}

.spot-story-block__sub {
  font-family: var(--font-heading);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.25em;
  color: rgba(255, 255, 255, 0.55);
  text-transform: uppercase;
  display: block;
  margin-bottom: 10px;
}

.spot-story-block__title {
  font-family: var(--font-heading);
  font-style: italic;
  font-size: clamp(18px, 2vw, 26px);
  font-weight: 900;
  text-transform: uppercase;
  line-height: 1.25;
  letter-spacing: -0.02em;
  color: var(--text-main);
  max-width: 320px; /* Controlled width on PC for aesthetic JDM line splits */
  display: inline-block;
}

.spot-story-block__body {
  padding-left: 24px;
}

.spot-story-block__body p {
  font-size: 15px;
  line-height: 1.75;
  color: var(--text-sub);
  margin-bottom: 16px;
  max-width: 650px;
}

.spot-story-block__body p:last-child {
  margin-bottom: 0;
}

/* 6. 最後の写真セクション */
.spot-tour-conclusion {
  padding-top: 50px;
  padding-bottom: 40px;
}

.spot-tour-conclusion__inner {
  position: relative;
  z-index: 2;
}

.spot-tour-conclusion__grid {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 50px;
  align-items: center;
}

.spot-tour-conclusion__content {
  position: relative;
}

.spot-tour-conclusion__content p {
  font-size: 15px;
  line-height: 1.75;
  color: var(--text-sub);
  margin-bottom: 16px;
}

.spot-tour-conclusion__content p:last-child {
  margin-bottom: 0;
}

.spot-tour-conclusion__image-wrapper {
  position: relative;
  border: 1px solid rgba(255, 255, 255, 0.08);
  padding: 8px;
  background-color: rgba(255, 255, 255, 0.02);
  box-shadow: 0 10px 40px rgba(0, 240, 192, 0.12), 0 0 1px rgba(255, 255, 255, 0.2);
  transition: border-color var(--transition-mid), box-shadow var(--transition-mid);
}

.spot-tour-conclusion__image-wrapper:hover {
  border-color: rgba(0, 240, 192, 0.3);
  box-shadow: 0 15px 50px rgba(0, 240, 192, 0.25), 0 0 2px rgba(0, 240, 192, 0.5);
}

.spot-tour-conclusion__image-inner {
  position: relative;
  overflow: hidden;
}

.spot-tour-conclusion__image-inner img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center 50%;
  display: block;
  transition: transform var(--transition-slow);
}

.spot-tour-conclusion__image-wrapper:hover .spot-tour-conclusion__image-inner img {
  transform: scale(1.03);
}

/* 7. CTA */
.spot-cta-wrapper {
  padding: 40px 40px 80px;
}

.spot-cta-wrapper .cta {
  position: relative;
  background: linear-gradient(135deg, #0a0a0a 0%, #151515 100%);
  border: 1px solid rgba(255, 255, 255, 0.08);
  padding: 56px 40px;
  text-align: center;
  overflow: hidden;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.6);
}

.spot-cta-wrapper .cta__bg-neon {
  position: absolute;
  top: -120px;
  left: 50%;
  transform: translateX(-50%);
  width: 320px;
  height: 320px;
  background: radial-gradient(circle, var(--accent-glow) 0%, var(--brand-green-glow) 50%, transparent 70%);
  filter: blur(40px);
  pointer-events: none;
  z-index: 1;
}

.spot-cta-wrapper .cta__content {
  position: relative;
  z-index: 2;
}

.spot-cta-wrapper .cta__tag {
  font-family: var(--font-heading);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.3em;
  color: var(--accent);
  display: block;
  margin-bottom: 12px;
  text-shadow: 0 0 10px var(--accent-glow);
}

.spot-cta-wrapper .cta__title {
  font-family: var(--font-heading);
  font-style: italic;
  font-size: clamp(24px, 3.2vw, 38px);
  font-weight: 900;
  text-transform: uppercase;
  line-height: 1.15;
  letter-spacing: -0.025em;
  margin-bottom: 12px;
  color: var(--text-main);
  max-width: 650px;
  margin-left: auto;
  margin-right: auto;
}

.spot-cta-wrapper .cta__description {
  font-size: 15px;
  line-height: 1.7;
  color: var(--text-sub);
  max-width: 680px;
  margin: 0 auto 28px;
}

.spot-cta-wrapper .cta__action {
  display: inline-block;
}

.spot-cta-wrapper .cta-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 18px 44px;
  background-color: var(--accent);
  color: #000000;
  font-family: var(--font-heading);
  font-size: 14px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  text-decoration: none;
  box-shadow: 0 0 35px var(--accent-glow);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease, background-color 0.4s ease;
  overflow: hidden;
}

.spot-cta-wrapper .cta-button:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(0, 240, 192, 0.65);
  background-color: #ffffff;
}

.spot-cta-wrapper .cta-button__glare {
  position: absolute;
  top: 0;
  left: -120%;
  width: 60%;
  height: 100%;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.65) 50%,
    rgba(255, 255, 255, 0) 100%
  );
  transform: skewX(-20deg);
}

.spot-cta-wrapper .cta-button:hover .cta-button__glare {
  animation: buttonGlareAnimation 1.2s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes buttonGlareAnimation {
  0% {
    left: -120%;
  }
  100% {
    left: 150%;
  }
}

/* ==========================================================================
   Responsive Styles (Tablet / Mobile)
   ========================================================================== */

@media (max-width: 991px) {
  .spot-hero-section {
    padding: 40px 32px 30px;
  }
  .spot-hero__grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .spot-section {
    padding: 40px 32px;
  }
  .spot-intro__grid {
    gap: 32px;
  }
  .spot-famous__grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .spot-atmosphere__grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .spot-atmosphere__card {
    margin-right: 0;
  }
  .spot-atmosphere__image-wrapper {
    transform: none;
  }
  .spot-story-block {
    gap: 32px;
  }
  .spot-tour-conclusion__grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

@media (max-width: 768px) {
  /* Scope wrapper */
  .spot-detail {
    overflow-x: hidden;
  }

  /* Reset layout constraints on tablet/mobile */
  .spot-hero__title,
  .spot-section__title,
  .spot-story-block__title,
  .spot-cta-wrapper .cta__title {
    max-width: 100% !important;
  }

  /* 1. ファーストビュー (Hero Section in Mobile) */
  .spot-hero-section {
    padding: 30px 24px 20px;
  }
  
  .spot-hero__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .spot-hero__tagline {
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 16px;
  }

  .spot-tag-divider {
    display: none;
  }

  .spot-tag-label {
    font-size: 10px;
    letter-spacing: 0.15em;
    background-color: rgba(5, 5, 5, 0.6);
    padding: 2px 6px;
    border: 1px solid rgba(255, 255, 255, 0.15);
  }

  .spot-hero__title {
    margin-bottom: 12px;
  }

  .spot-hero__image-wrapper {
    margin-top: 8px;
  }
  
  .spot-hero__image-inner img {
    aspect-ratio: 16 / 10 !important; /* Proper vertical scale on mobile screens */
  }

  /* Shared structures */
  .spot-section {
    padding: 30px 24px;
  }

  .spot-section__bg-number {
    font-size: 90px;
    top: 10px;
    left: 20px;
  }

  .spot-section__header {
    margin-bottom: 16px;
  }

  /* 2. 導入セクション */
  .spot-intro {
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .spot-intro__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .spot-intro__left p {
    font-size: 17px;
  }

  /* 3. “More than a famous name” */
  .spot-famous {
    padding-top: 20px;
    padding-bottom: 30px;
  }

  .spot-famous__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .spot-famous__image-wrapper {
    margin-top: 8px;
  }

  .spot-famous__image-inner img {
    aspect-ratio: 16 / 10;
  }

  .spot-note {
    margin-top: 20px;
    padding: 16px;
  }

  /* 4. “Why the night atmosphere matters” */
  .spot-atmosphere {
    padding: 40px 24px;
    background: radial-gradient(circle at 50% 30%, var(--cyan-glow) 0%, transparent 80%), var(--bg-sec-1);
  }

  .spot-atmosphere__grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .spot-atmosphere__image-column {
    margin-top: 8px;
  }

  .spot-atmosphere__image-wrapper {
    transform: none;
  }

  .spot-atmosphere__image-wrapper img {
    aspect-ratio: 16 / 10;
  }

  .spot-atmosphere__card {
    padding: 20px;
    background-color: var(--bg-main);
    box-shadow: none;
    border-color: rgba(255, 255, 255, 0.05);
  }

  /* 5. 中盤のストーリーセクション */
  .spot-stories {
    padding: 40px 24px;
  }

  .spot-stories__route-line {
    left: 24px;
    transform: none;
  }

  .spot-stories__route-line--offset {
    display: none;
  }

  .spot-story-block {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-bottom: 36px;
    padding-left: 20px;
  }

  .spot-story-block__header {
    text-align: left;
    padding-right: 0;
  }

  .spot-story-block__num-badge {
    position: static;
    font-size: 20px;
    margin-bottom: 6px;
    display: block;
  }

  .spot-story-block__body {
    padding-left: 0;
  }

  .spot-story-block__body p {
    font-size: 15px;
    margin-bottom: 12px;
  }

  /* 6. 最後の写真セクション */
  .spot-tour-conclusion {
    padding-top: 20px;
    padding-bottom: 30px;
  }

  .spot-tour-conclusion__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .spot-tour-conclusion__image-wrapper {
    margin-top: 8px;
  }

  .spot-tour-conclusion__image-inner img {
    aspect-ratio: 16 / 10;
  }

  /* 7. CTA */
  .spot-cta-wrapper {
    padding: 20px 24px 60px;
  }

  .spot-cta-wrapper .cta {
    padding: 36px 20px;
  }

  .spot-cta-wrapper .cta__title {
    margin-bottom: 10px;
  }

  .spot-cta-wrapper .cta__description {
    font-size: 14px;
    margin-bottom: 24px;
  }

  .spot-cta-wrapper .cta-button {
    width: 100%;
    padding: 16px 20px;
  }
}

/* ==========================================================================
   Prefers Reduced Motion (Accessibility)
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
  .spot-detail * {
    animation-delay: -1ms !important;
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    background-attachment: initial !important;
    scroll-behavior: auto !important;
    transition-duration: 0s !important;
    transition-delay: 0s !important;
  }

  .spot-hero:hover .spot-hero__bg img,
  .spot-famous__image-wrapper:hover .spot-famous__image-inner img,
  .spot-atmosphere__image-wrapper:hover img,
  .spot-tour-conclusion__image-wrapper:hover .spot-tour-conclusion__image-inner img {
    transform: none !important;
  }

  .spot-cta-wrapper .cta-button {
    transform: none !important;
    box-shadow: 0 0 15px var(--accent-glow) !important;
  }
  
  .spot-cta-wrapper .cta-button:hover {
    transform: none !important;
    background-color: var(--accent) !important;
    color: #000000 !important;
  }
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'CHI_SpeedyRight';
	font-style: italic;
	font-weight: normal;
	font-display: auto;
	src: url('/wp-content/uploads/2024/04/CHI_SpeedyRight_free_italic.ttf') format('truetype');
}
/* End Custom Fonts CSS */

/* 見出し横の飾り番号。文字として置くと Lighthouse がコントラスト不足と数えるので擬似要素で描く */
.spot-story-block__num-badge::before{content:attr(data-num)}

