@charset "UTF-8";
/**
 * マドリーム vol67 2特CSS
 * Created on: 2026.02.10
 * Modified on: yyyy.mm.dd
 */
/*--------------------------------------------------------
　BREAK POINT
--------------------------------------------------------*/
/*--------------------------------------------------------
　FONT
--------------------------------------------------------*/
/*--------------------------------------------------------
　COLOR
--------------------------------------------------------*/
/**
 * マドリーム vol67 2特CSS
 * Created on: 2026.02.10
 * Modified on: yyyy.mm.dd
 */
/**
 * Swiper 7.4.1
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2021 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: December 24, 2021
 */
@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;
}

.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-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, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 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, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 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, 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-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: 0.35;
  cursor: auto;
  pointer-events: 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;
  text-transform: none;
  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: 0.3s opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

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

.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(0.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(0.66);
}

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

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

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.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, 0.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: 0.2s transform, 0.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: 0.2s transform, 0.2s left;
}

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

.swiper-pagination-progressbar {
  background: rgba(0, 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, 0.1);
}

.swiper-horizontal > .swiper-scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%;
}

.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, 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%;
  animation: swiper-preloader-spin 1s infinite linear;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

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

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

@keyframes swiper-preloader-spin {
  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: 0.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;
}

/*--------------------------------------------------------
　THEME COLOR
--------------------------------------------------------*/
/*--------------------------------------------------------
　THEME ANIMATION
--------------------------------------------------------*/
/*--------------------------------------------------------
　SPECIAL02_3
--------------------------------------------------------*/
@keyframes fadeOut {
  0% {
    opacity: 1;
    visibility: visible;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}
.fv-loading {
  width: 100%;
  height: 100%;
  max-height: 100vw;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  visibility: visible;
  opacity: 1;
}
.fv-loading-img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  opacity: 0;
  transition: all 0.8s ease;
}
.fv-loading-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.1);
  transition: all 3s ease;
}
.fv-loading-img:nth-child(1) {
  opacity: 1;
}
.fv-loading-img.is-img-show {
  opacity: 1;
}
.fv-loading-img.is-img-show img {
  transform: scale(1);
}
.fv-loading.is-end {
  animation: fadeOut 0.8s ease forwards;
}

.special02_3-first {
  width: 100%;
  height: 100vh;
  max-height: 100vw;
  overflow: hidden;
  position: relative;
}
.special02_3-first-inner {
  width: 100%;
  height: 100vh;
  max-height: 100vw;
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
}
.special02_3-first .fv-img {
  width: 100%;
  height: 100%;
}
.special02_3-first .fv-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right;
}
@media screen and (max-width: 1024px) {
  .special02_3-first .fv-img img {
    object-position: 77%;
  }
}
.special02_3-first .fv-logo {
  position: absolute;
  top: 15px;
  right: 0px;
}
.special02_3-first .fv-logo img {
  width: 100%;
}
.special02_3-first .fv-title {
  position: absolute;
  top: 48%;
  width: 26%;
  left: 7%;
  transform: rotate(-7deg);
}
.special02_3-first .fv-title img {
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .special02_3-first .fv-title {
    top: 18%;
    width: 33%;
  }
}
.special02_3-first .fv-caption {
  font-size: 13px;
  color: #222;
  position: absolute;
  bottom: 15px;
  left: 15px;
}
.special02_3-first .fv-scroll {
  width: 24px;
  height: 190px;
  position: absolute;
  bottom: 45px;
  right: 24px;
}
.special02_3-first .fv-scroll .txt {
  display: block;
  font-family: Arial, Helvetica, "sans-serif";
  font-size: 16px;
  line-height: 1;
  color: #fff;
  transform: rotate(90deg);
  transform-origin: left bottom;
  position: absolute;
  top: 24px;
  left: 10px;
}
.special02_3-first .fv-scroll .arrow {
  display: block;
  width: 20px;
  height: 190px;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}
.special02_3-first .fv-scroll .arrow::before {
  content: "";
  width: 1px;
  height: 100%;
  background: #fff;
  position: absolute;
  top: 0;
  left: 0;
  animation: scroll 1.8s infinite cubic-bezier(0.54, 0, 0, 0.99);
}
.special02_3-first .fv-scroll .arrow::after {
  content: "";
  width: 1px;
  height: 24px;
  background: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: rotate(45deg);
  transform-origin: left bottom;
}
@keyframes scroll {
  0% {
    transform: translate3d(0, -100%, 0);
  }
  50% {
    transform: translate3d(0, 0, 0);
  }
  85% {
    transform: translate3d(0, 98%, 0);
  }
  100% {
    transform: translate3d(0, 100%, 0);
  }
}
.special02_3-content {
  background: #fff;
  position: relative;
}
.special02_3-summary {
  padding: 97px 0 0;
}
.special02_3-summary .title {
  text-align: center;
}
.special02_3-summary .summary-txt {
  width: 946px;
  margin: 0 auto 114px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  text-align: center;
  font-weight: bold;
  line-height: 2;
  color: #726759;
}
.special02_3-summary .summary-txt p + p {
  margin-top: 1.5em;
}
.special02_3-summary .summary-txt .credit {
  font-size: 12px;
  font-weight: normal;
  color: #B0A393;
  text-align: center;
  margin-top: 46px;
  line-height: 1.4;
}
.special02_3-summary .object {
  text-align: center;
}
.special02_3-summary .point-list {
  width: 1080px;
  margin: 50px auto 38px;
  display: flex;
  justify-content: center;
  column-gap: 100px;
}
.special02_3-summary .point-list li {
  width: 351px;
}
.special02_3-summary .point-list li a {
  display: block;
  cursor: pointer;
  opacity: 1;
  transition: opacity 0.3s ease;
}
.special02_3-summary .point-list li a:hover {
  opacity: 0.7;
}
.special02_3-summary .note {
  font-size: 10px;
  color: #B0A393;
  text-align: center;
  margin: 30px 0 50px;
}
.special02_3-city {
  color: #2D2D2D;
  padding-bottom: 50px;
  margin-top: 100px;
}
.special02_3-city.city1 {
  background-color: #F0F6F0;
}
.special02_3-city.city2 {
  background-color: #FBF2E6;
  padding-bottom: 1px;
}
.special02_3-city.city2 .city-ttl {
  left: 144px;
  z-index: 2;
  top: 20px;
}
.special02_3-city.city2 .special02_3-fullimg {
  width: 100%;
  height: 66.6vw;
  max-height: 100%;
}
.special02_3-fullimg {
  width: 100%;
  height: 45.75vw;
  max-height: 625px;
  overflow: hidden;
  position: relative;
}
.special02_3-fullimg .img {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.special02_3-fullimg .img img {
  width: 100%;
}
.special02_3-fullimg::before {
  content: "";
  width: 100%;
  height: 200px;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.7) 100%);
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
}
.special02_3-fullimg .city-ttl {
  position: absolute;
  bottom: 24px;
  left: 144px;
  z-index: 2;
}
.special02_3-fullimg-caption {
  font-size: 12px;
  line-height: 1.6;
  margin: 10px 20px 80px;
  color: #726759;
}
.special02_3-fullimg-caption.person {
  font-size: 12px;
  line-height: 1.6;
  margin: 10px 20px 100px;
  width: 100vw;
  max-width: 1366px;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
.special02_3-about {
  width: 1080px;
  margin: 0 auto 41px;
}
.special02_3-about .ta_c {
  text-align: center;
}
.special02_3-about .about-point {
  width: 810px;
  margin: 100px 0 100px 160px;
}
.special02_3-about .about-point .txt {
  font-size: 16px;
  line-height: 2;
  color: #726759;
}
.special02_3-about .about-point .txt p + p {
  margin-top: 2em;
}
.special02_3-about .about-img {
  margin: 96px auto 0;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.special02_3-about .about-img img {
  display: block;
  border-radius: 15px;
  overflow: hidden;
}
.special02_3-about .about-img figcaption {
  width: 220px;
  border-top: 1px solid #726759;
  font-size: 12px;
  line-height: 1.6;
  padding-top: 10px;
  padding-bottom: 40px;
  box-sizing: border-box;
  color: #726759;
}
.special02_3-about .about-img.img1 figcaption {
  padding-left: 20px;
  margin-top: 215px;
}
.special02_3-about .about-img.img2 {
  margin: 96px auto 0;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.special02_3-about .about-img.img2 figcaption {
  padding-right: 18px;
  margin-top: 215px;
}
.special02_3-about .about-img.img2 img {
  display: block;
  border-radius: 15px;
  overflow: hidden;
}
.special02_3-about .about-summary {
  width: 980px;
  margin: 0 auto 100px;
}
.special02_3-about .about-summary::after {
  content: "";
  display: block;
  clear: both;
}
.special02_3-about .about-summary p {
  font-size: 16px;
  line-height: 2;
  color: #222;
}
.special02_3-about .about-summary p + p {
  margin-top: 1.5em;
}
.special02_3-about .about-summary .left-box {
  width: 490px;
  float: left;
}
.special02_3-about .about-summary .right-box {
  width: 430px;
  margin-top: 1.5em;
  float: right;
}
.special02_3-about .about-summary .right-box img {
  border-radius: 15px;
  overflow: hidden;
}
.special02_3-about .about-summary .right-box figcaption {
  font-size: 12px;
  line-height: 1.6;
  margin-top: 5px;
  color: #222;
}
.city1 .special02_3-about .about-point {
  width: 100%;
  margin: 0 auto;
  position: relative;
}
.city1 .special02_3-about .about-point .point-ttl {
  position: absolute;
  top: 0;
  left: 0;
}
.city1 .special02_3-about .about-point .txt {
  width: 650px;
  margin: 0 auto;
  padding-top: 136px;
}
.city2 .special02_3-about .about-point.point1 {
  width: 100%;
  margin: 100px auto 97px;
  position: relative;
}
.city2 .special02_3-about .about-point.point1 .point-ttl {
  position: absolute;
  top: 0;
  left: 0;
}
.city2 .special02_3-about .about-point.point1 .txt {
  width: 650px;
  margin: 0 auto;
  padding-top: 136px;
}
.city2 .special02_3-about .about-point.point2 {
  width: 100%;
  margin: 96px auto 97px;
}
.city2 .special02_3-about .about-point.point2 .txt {
  width: 650px;
  margin: 0 auto;
}
.city2 .special02_3-about .about-point.point3 {
  width: 100%;
  margin: 96px auto 97px;
}
.city2 .special02_3-about .about-point.point3 .txt {
  width: 650px;
  margin: 0 auto;
}
.special02_3-person {
  width: 1080px;
  margin: 0 auto;
}
.city1 .special02_3-person {
  padding-top: 100px;
}
.special02_3-person .person-header {
  width: 1080px;
  margin: 0 auto;
  position: relative;
}
.special02_3-person .person-header .circle {
  float: left;
}
.special02_3-person .person-header .subttl {
  padding: 19px 0 15px;
  margin-left: 157px;
  border-top: 2px solid #84C179;
}
.special02_3-person .person-header .ttl {
  padding: 15px 0 17px;
  margin-left: 157px;
}
.special02_3-person .person-summary {
  clear: both;
  width: 500px;
  padding-top: 53px;
  margin-left: 160px;
  font-size: 16px;
  line-height: 2;
  color: #726759;
}
.special02_3-person .person-eyecatch {
  position: absolute;
  top: -40px;
  right: 0;
}
.special02_3-person .person-img {
  margin: 96px auto 0 108px;
  display: flex;
}
.special02_3-person .person-img img {
  display: block;
  width: 650px;
  border-radius: 15px;
  overflow: hidden;
}
.special02_3-person .person-img figcaption {
  width: 220px;
  border-top: 1px solid #726759;
  font-size: 12px;
  line-height: 1.6;
  padding-top: 10px;
  padding-bottom: 40px;
  padding-left: 20px;
  box-sizing: border-box;
  color: #726759;
}
.special02_3-person .person-img.lcap figcaption {
  position: relative;
  left: 0;
  top: 215px;
}
.special02_3-person .person-img.img1 figcaption {
  width: 215px;
  margin-top: 216px;
  padding-left: 0;
  padding-right: 15px;
}
.special02_3-person .person-largeimg {
  width: 100vw;
  max-width: 1366px;
  margin: 100px auto 0;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
.special02_3-person .person-largeimg::before {
  content: "";
  width: 100%;
  height: 200px;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 100%);
  position: absolute;
  bottom: 0;
  left: 0;
}
.special02_3-person .person-largeimg .txt {
  width: 1080px;
  font-size: 36px;
  line-height: 1.4;
  text-shadow: 0 0 30px #000000;
  position: absolute;
  bottom: 13px;
  left: 50%;
  margin-left: -536px;
  z-index: 1;
  color: #fff;
  letter-spacing: 0.05em;
}
.special02_3-person .person-point {
  width: 866px;
  margin: 100px auto 0;
  position: relative;
}
.special02_3-person .person-point .point-ttl {
  position: absolute;
  top: 0;
  left: 0;
}
.special02_3-person .person-point .txt {
  font-size: 16px;
  line-height: 2;
  padding-top: 108px;
  padding-left: 216px;
  color: #726759;
}
.special02_3-person .person-point .txt p + p {
  margin-top: 1.5em;
}
.special02_3-person .person-point.point2 {
  margin-top: 97px;
}
.special02_3-person .person-point.point2 .txt {
  padding-top: 108px;
}
.special02_3-person .person-point.point3 .txt {
  padding-top: 108px;
}
.special02_3-person .person-point.point4 .txt {
  padding-top: 38px;
}
.special02_3-person .person-point.point4 .txt p + p {
  margin-top: 1.6em;
}
.special02_3-person .person-point .big-letter {
  font-size: 30px;
}
.special02_3-person .person-wideimg {
  width: 980px;
  margin: 100px auto 0;
}
.special02_3-person .person-wideimg img {
  border-radius: 15px;
  overflow: hidden;
}
.special02_3-person .person-wideimg figcaption {
  font-size: 12px;
  line-height: 1.6;
  margin: 10px 10px 0;
  color: #726759;
}
.special02_3-person .person-imgbox {
  margin: 38px auto 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.special02_3-person .person-imgbox .img {
  position: relative;
}
.special02_3-person .person-imgbox .img img {
  border-radius: 15px;
  overflow: hidden;
}
.special02_3-person .person-imgbox .img figcaption {
  font-size: 12px;
  line-height: 1.6;
  padding-top: 10px;
  padding: 10px 32px 0 20px;
  color: #726759;
}
.special02_3-person .person-imgbox .img3 {
  width: 470px;
}
.special02_3-person .person-imgbox .img4 {
  width: 350px;
  margin-bottom: 50px;
}
.special02_3-person .person-imgbox .txtbox {
  width: 350px;
  margin-bottom: 35px;
  color: #726759;
}
.special02_3-person .person-imgbox .txtbox .info {
  border: 1px solid #726759;
  padding: 15px 20px 20px;
  font-size: 16px;
  line-height: 2;
}
.special02_3-person .person-imgbox .txtbox .info .name {
  display: inline-block;
  font-size: 14px;
  line-height: 1.4;
  width: 100%;
}
.special02_3-person .person-imgbox .txtbox .info span + .link {
  padding-top: 10px;
}
.special02_3-person .person-imgbox .txtbox .info .link {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  color: #726759;
  line-height: 1.4;
  width: 100%;
}
.special02_3-person .person-imgbox .txtbox .info .link a {
  text-decoration: underline;
}
.special02_3-person .person-imgbox .txtbox .info .link img {
  margin-right: 10px;
}
.special02_3-person .person-imgbox.js_st .box-R {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: space-between;
}
.special02_3-person .check {
  background: #87B47F;
  padding: 23px 40px 40px;
  color: #fff;
  border-radius: 20px;
  width: 866px;
  margin: 96px auto 0;
}
.special02_3-person .check-ttl {
  margin-bottom: 27px;
  margin-left: 194px;
  margin-top: 8px;
}
.special02_3-person .check-container {
  display: grid;
  gap: 36px;
  grid-template-columns: 1fr 1fr;
}
.special02_3-person .check-block {
  background: #76A06F;
  padding: 16px 14px 20px 20px;
  display: flex;
  border-radius: 10px;
}
.special02_3-person .check-block div {
  width: 50%;
}
.special02_3-person .check-img img {
  margin: 3px 0 7px;
}
.special02_3-person .check-img p {
  font-size: 11px;
  padding-left: 10px;
}
.special02_3-person .check-disc .ttl {
  font-size: 14px;
  line-height: 2;
}
.special02_3-person .check-disc .date {
  font-size: 12px;
  line-height: 2;
}
.special02_3-spot {
  width: 1080px;
  margin: 0 auto 50px;
}
.city1 .special02_3-spot {
  padding-top: 100px;
}
.special02_3-spot .spot-container {
  border-radius: 20px;
  background: #87B47F;
  padding-bottom: 68px;
}
.special02_3-spot .spot-header {
  width: 1080px;
  margin: 0 auto;
  padding-bottom: 40px;
  position: relative;
  color: #222;
}
.special02_3-spot .spot-header .circle {
  float: left;
}
.special02_3-spot .spot-header .subttl {
  font-size: 24px;
  padding: 7px 0 17px;
  margin-left: 157px;
}
.special02_3-spot .spot-header .ttl {
  font-size: 40px;
  padding: 17px 0 7px;
  margin-left: 157px;
  border-top: 2px solid #84C179;
  line-height: 1;
}
.special02_3-spot .spot-header .ttl .small {
  font-size: 75%;
}
.special02_3-spot .spot-summary {
  clear: both;
  width: 500px;
  padding-top: 16px;
  margin-left: 158px;
  font-size: 16px;
  line-height: 2;
  color: #726759;
}
.special02_3-spot .spot-eyecatch {
  position: absolute;
  top: -9px;
  right: -14px;
}
.special02_3-spot .spot-block {
  width: 980px;
  margin: 16px auto 0;
}
.special02_3-spot .spot-block-inner {
  margin-left: 54px;
  display: flex;
  justify-content: space-between;
}
.special02_3-spot .spot-block.spot02, .special02_3-spot .spot-block.spot03 {
  margin-top: 74px;
}
.special02_3-spot .spot-areaname {
  position: relative;
}
.special02_3-spot .spot-areaname .num {
  position: absolute;
  top: -32px;
  left: 0;
}
.special02_3-spot .spot-areaname .ttl-wrap {
  margin-left: 63px;
  margin-bottom: 40px;
  background: #6B9464;
  padding: 14px 60px 15px;
  border-radius: 15px;
}
.special02_3-spot .spot-areaname .city2_spot01,
.special02_3-spot .spot-areaname .city3_spot01 {
  padding: 13px 60px 15px;
}
.special02_3-spot .spot-areaname .subttl {
  font-size: 24px;
  color: #FFFFFF;
}
.special02_3-spot .spot-areaname .subttl .color {
  color: #FFFFFF;
}
.special02_3-spot .spot-areaname .ttl {
  font-size: 30px;
  line-height: 1.2;
  color: #FFFFFF;
  padding-top: 3px;
  letter-spacing: 0.04em;
}
.special02_3-spot .spot-areaname .ttl [data-ruby] {
  position: relative;
}
.special02_3-spot .spot-areaname .ttl [data-ruby]::before {
  content: attr(data-ruby);
  width: 100%;
  position: absolute;
  top: -1em;
  left: 0;
  right: 0;
  margin: auto;
  font-size: 14px;
  text-align: center;
}
.special02_3-spot .spot-areaname .item {
  width: 125px;
  position: absolute;
  top: -30px;
  right: 22px;
}
.special02_3-spot .spot-sliderbox {
  width: 500px;
  position: relative;
}
.special02_3-spot .spot-slider {
  padding-bottom: 50px;
  overflow: hidden;
}
.special02_3-spot .spot-slider .swiper-slide {
  border-radius: 15px;
  overflow: hidden;
}
.special02_3-spot .spot-slider .swiper-button-prev,
.special02_3-spot .spot-slider .swiper-button-next {
  width: 36px;
  height: 72px;
  margin-top: -61px;
  display: block;
}
.special02_3-spot .spot-slider .swiper-button-prev::before,
.special02_3-spot .spot-slider .swiper-button-next::before {
  content: "";
  width: 50px;
  height: 50px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  position: absolute;
  top: 50%;
}
.special02_3-spot .spot-slider .swiper-button-prev::after,
.special02_3-spot .spot-slider .swiper-button-next::after {
  display: none;
}
.special02_3-spot .spot-slider .swiper-button-prev {
  left: -38px;
}
.special02_3-spot .spot-slider .swiper-button-prev::before {
  transform: translate(10px, -50%) rotate(-135deg);
  right: 0;
}
.special02_3-spot .spot-slider .swiper-button-next {
  right: -32px;
}
.special02_3-spot .spot-slider .swiper-button-next::before {
  transform: translate(-10px, -50%) rotate(45deg);
  left: 0;
}
.special02_3-spot .spot-slider .swiper-pagination {
  bottom: 5px;
}
.special02_3-spot .spot-slider .swiper-pagination-bullet {
  width: 14px;
  height: 14px;
  margin: 0 20px;
  background: #fff;
  opacity: 1;
  position: relative;
}
.special02_3-spot .spot-slider .swiper-pagination-bullet-active {
  background: #000000;
}
.special02_3-spot .spot-txtbox {
  width: 356px;
}
.special02_3-spot .spot-txtbox .txt {
  font-size: 16px;
  line-height: 2;
  margin-top: -3px;
  color: #fff;
}
.special02_3-spot .spot-txtbox .img {
  margin-top: 30px;
}
.special02_3-spot .spot-txtbox .info {
  border: 1px solid #fff;
  margin: 37px 6px 0px 0;
  padding: 18px 20px 18px;
  font-size: 16px;
  line-height: 1.5;
  word-break: break-all;
  color: #fff;
  min-height: 60px;
}
.special02_3-spot .spot-txtbox .info .name {
  display: inline-block;
  font-size: 14px;
  line-height: 1.4;
  width: 100%;
}
.special02_3-spot .spot-txtbox .info span + .link {
  padding-top: 20px;
}
.special02_3-spot .spot-txtbox .info .link {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  color: #fff;
  line-height: 1.4;
  width: 100%;
}
.special02_3-spot .spot-txtbox .info .link a {
  text-decoration: underline;
}
.special02_3-spot .spot-txtbox .info .link img {
  margin-right: 10px;
}
.special02_3-spot .spot-txtbox a {
  text-decoration: underline;
}
.special02_3-spot .spot-txtbox a:hover {
  text-decoration: none;
}
.special02_3-spot .spot-txtbox .sub-img {
  margin-top: 35px;
  text-align: center;
}
.special02_3-spot .spot-txtbox .trademark {
  font-size: 60%;
  vertical-align: super;
}
.special02_3-spot .spot-txtbox .link {
  font-size: 14px;
}
.special02_3-spot .spot-single-img {
  width: 500px;
}
.special02_3-spot .spot-single-img img {
  border-radius: 15px;
  overflow: hidden;
}
.special02_3-spot .spot-single-img figcaption {
  font-size: 12px;
  line-height: 1.6;
  margin-top: 5px;
}
.special02_3-spot .spot-subimg {
  margin-top: 50px;
}
.special02_3-spot .spot-subimg img {
  border-radius: 15px;
  overflow: hidden;
}
.special02_3-spot .spot-ttl {
  text-align: center;
  padding: 61px 0 80px 18px;
}
.special02_3-interview {
  width: 1080px;
  margin: 0 auto 50px;
}
.special02_3-interview .spot-header {
  width: 1080px;
  margin: 0 auto -8px;
  position: relative;
  color: #222;
}
.special02_3-interview .spot-header .circle {
  float: left;
}
.special02_3-interview .spot-header .subttl {
  padding: 30px 0 18px;
  margin-left: 157px;
}
.special02_3-interview .spot-header .ttl {
  padding: 17px 0 0px;
  margin-left: 157px;
  border-top: 2px solid #9C815C;
}
.special02_3-interview .spot-header .ttl .small {
  font-size: 75%;
}
.special02_3-interview .spot-summary {
  clear: both;
  width: 100%;
  padding-top: 15px;
  margin-left: 156px;
  font-size: 16px;
  line-height: 2;
  color: #726759;
}
.special02_3-interview .spot-eyecatch {
  position: absolute;
  top: -40px;
  right: 0;
}
.special02_3-interview .spot-block {
  width: 980px;
  margin: 80px auto 0;
}
.special02_3-interview .spot-block-inner {
  margin-left: 63px;
  display: flex;
  justify-content: space-between;
}
.special02_3-interview .spot-areaname {
  position: relative;
}
.special02_3-interview .spot-areaname .num {
  position: absolute;
  top: -25px;
  left: 0;
}
.special02_3-interview .spot-areaname .ttl-wrap {
  margin-left: 63px;
  margin-bottom: 40px;
  background: #6B9464;
  padding: 15px 60px;
  border-radius: 15px;
  color: #222;
}
.special02_3-interview .spot-areaname .city2_spot01,
.special02_3-interview .spot-areaname .city3_spot01 {
  padding: 13px 60px 15px;
}
.special02_3-interview .spot-areaname .subttl {
  font-size: 24px;
  color: #FFFFFF;
}
.special02_3-interview .spot-areaname .subttl .color {
  color: #FFFFFF;
}
.special02_3-interview .spot-areaname .ttl {
  font-size: 30px;
  line-height: 1.2;
  color: #FFFFFF;
}
.special02_3-interview .spot-areaname .ttl [data-ruby] {
  position: relative;
}
.special02_3-interview .spot-areaname .ttl [data-ruby]::before {
  content: attr(data-ruby);
  width: 100%;
  position: absolute;
  top: -1em;
  left: 0;
  right: 0;
  margin: auto;
  font-size: 14px;
  text-align: center;
}
.special02_3-interview .spot-areaname .item {
  width: 125px;
  position: absolute;
  top: -30px;
  right: 22px;
}
.special02_3-interview .spot-sliderbox {
  width: 500px;
  position: relative;
}
.special02_3-interview .spot-slider {
  padding-bottom: 50px;
  overflow: hidden;
}
.special02_3-interview .spot-slider .swiper-slide {
  border-radius: 15px;
  overflow: hidden;
}
.special02_3-interview .spot-slider .swiper-button-prev,
.special02_3-interview .spot-slider .swiper-button-next {
  width: 36px;
  height: 72px;
  margin-top: -61px;
  display: block;
}
.special02_3-interview .spot-slider .swiper-button-prev::before,
.special02_3-interview .spot-slider .swiper-button-next::before {
  content: "";
  width: 40px;
  height: 40px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  position: absolute;
  top: 50%;
}
.special02_3-interview .spot-slider .swiper-button-prev::after,
.special02_3-interview .spot-slider .swiper-button-next::after {
  display: none;
}
.special02_3-interview .spot-slider .swiper-button-prev {
  left: -36px;
}
.special02_3-interview .spot-slider .swiper-button-prev::before {
  transform: translate(10px, -50%) rotate(-135deg);
  right: 0;
}
.special02_3-interview .spot-slider .swiper-button-next {
  right: -36px;
}
.special02_3-interview .spot-slider .swiper-button-next::before {
  transform: translate(-10px, -50%) rotate(45deg);
  left: 0;
}
.special02_3-interview .spot-slider .swiper-pagination {
  bottom: 5px;
}
.special02_3-interview .spot-slider .swiper-pagination-bullet {
  width: 14px;
  height: 14px;
  margin: 0 20px;
  background: #fff;
  opacity: 1;
  position: relative;
}
.special02_3-interview .spot-slider .swiper-pagination-bullet-active {
  background: #000000;
}
.special02_3-interview .spot-txtbox {
  width: 350px;
}
.special02_3-interview .spot-txtbox .txt {
  font-size: 16px;
  line-height: 2;
  margin-top: 10px;
  color: #222;
}
.special02_3-interview .spot-txtbox .img {
  margin-top: 30px;
}
.special02_3-interview .spot-txtbox .info {
  border: 1px solid #726759;
  margin: 50px 0 0;
  padding: 20px;
  font-size: 16px;
  line-height: 2;
  word-break: break-all;
  color: #726759;
}
.special02_3-interview .spot-txtbox .info .name {
  display: inline-block;
  font-size: 14px;
  line-height: 1.4;
  width: 100%;
}
.special02_3-interview .spot-txtbox .info .link {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  color: #BF808E;
  line-height: 1.4;
  width: 100%;
}
.special02_3-interview .spot-txtbox .info .link a {
  text-decoration: underline;
}
.special02_3-interview .spot-txtbox .info .link img {
  margin-right: 10px;
}
.special02_3-interview .spot-txtbox a {
  text-decoration: underline;
}
.special02_3-interview .spot-txtbox a:hover {
  text-decoration: none;
}
.special02_3-interview .spot-txtbox .sub-img {
  margin-top: 35px;
  text-align: center;
}
.special02_3-interview .spot-txtbox .trademark {
  font-size: 60%;
  vertical-align: super;
}
.special02_3-interview .spot-txtbox .link {
  font-size: 14px;
}
.special02_3-interview .spot-single-img {
  width: 500px;
}
.special02_3-interview .spot-single-img img {
  border-radius: 15px;
  overflow: hidden;
}
.special02_3-interview .spot-single-img figcaption {
  font-size: 12px;
  line-height: 1.6;
  margin-top: 5px;
}
.special02_3-interview .spot-subimg {
  margin-top: 50px;
}
.special02_3-interview .spot-subimg img {
  border-radius: 15px;
  overflow: hidden;
}
.special02_3-interview .interview-point {
  width: 866px;
  margin: 46px auto 0;
  position: relative;
}
.special02_3-interview .interview-point .txt {
  font-size: 16px;
  line-height: 2;
  padding-top: 96px;
  padding-left: 215px;
  color: #726759;
}
.special02_3-interview .interview-point .point-ttl {
  position: absolute;
  top: 0;
  left: 0;
}
.special02_3-interview .interview-point.point2 .txt {
  font-size: 16px;
  line-height: 2;
  padding-top: 88px;
  padding-left: 0;
  padding-right: 215px;
  color: #726759;
}
.special02_3-interview .interview-point.point2 .point-ttl {
  position: absolute;
  top: 0;
  right: 0;
  left: auto;
}
.special02_3-interview .interview-point.point3 {
  margin: 39px auto 0;
}
.special02_3-interview .interview-header {
  width: 1080px;
  margin: 0 auto;
  position: relative;
}
.special02_3-interview .interview-header .circle {
  float: left;
}
.special02_3-interview .interview-header .subttl {
  font-size: 24px;
  padding: 20px 0 10px;
  margin-left: 160px;
}
.special02_3-interview .interview-header .ttl {
  font-size: 40px;
  color: #222;
  padding: 10px 0 15px;
  margin-left: 160px;
  border-top: 2px solid #222;
}
.special02_3-interview .interview-header .ttl .small {
  font-size: 75%;
}
.special02_3-interview .interview-summary {
  clear: both;
  padding-top: 30px;
  margin-left: 50px;
  font-size: 16px;
  line-height: 2;
  color: #222;
}
.special02_3-interview .interview-eyecatch {
  position: absolute;
  top: -47px;
  right: 0;
}
.special02_3-interview .interview-block {
  width: 980px;
  margin: 90px auto 0;
  display: flex;
  justify-content: flex-start;
}
.special02_3-interview .interview-block .img {
  width: 369px;
}
.special02_3-interview .interview-block .img figcaption {
  font-size: 14px;
  line-height: 2;
  text-align: center;
}
.special02_3-interview .interview-block .txtbox {
  width: 540px;
}
.special02_3-interview .interview-block .txtbox .txt {
  font-size: 16px;
  line-height: 2;
  margin: 40px 0 0 40px;
}
.special02_3-interview .interview-block.interview02, .special02_3-interview .interview-block.interview04 {
  flex-direction: row-reverse;
}
.special02_3-interview .interview-block.interview02 .txtbox .balloon, .special02_3-interview .interview-block.interview04 .txtbox .balloon {
  text-align: right;
}
.special02_3-interview .interview-block.interview02 .txtbox .txt, .special02_3-interview .interview-block.interview04 .txtbox .txt {
  margin: 40px 40px 0 0;
}
.special02_3-spot2 {
  width: 1080px;
  margin: 0 auto;
}
.special02_3-spot2 .spot-header {
  width: 1080px;
  margin: 94px auto 90px;
  position: relative;
  color: #222;
}
.special02_3-spot2 .spot-header .circle {
  float: left;
}
.special02_3-spot2 .spot-header .subttl {
  padding: 26px 0 11px;
  margin-left: 157px;
}
.special02_3-spot2 .spot-header .ttl {
  padding: 10px 0 15px;
  margin-left: 157px;
  border-top: 2px solid #222;
}
.special02_3-spot2 .spot-header .ttl .small {
  font-size: 75%;
}
.special02_3-spot2 .spot-summary {
  clear: both;
  width: 500px;
  padding-top: 17px;
  margin-left: 156px;
  font-size: 16px;
  line-height: 2;
  color: #726759;
}
.special02_3-spot2 .spot-eyecatch {
  position: absolute;
  top: -5px;
  right: -8px;
}
.special02_3-spot2 .spot-container {
  border-radius: 20px;
  background: #C89048;
  padding-bottom: 62px;
  margin-bottom: 100px;
}
.special02_3-spot2 .spot-container.gourmet {
  background: #DB975B;
}
.special02_3-spot2 .spot-container.gourmet .spot-areaname .ttl-wrap {
  background: #99692A;
}
.special02_3-spot2 .spot-ttl {
  text-align: center;
  padding: 59px 0 80px 0px;
}
.special02_3-spot2 .spot-block {
  width: 980px;
  margin: 0 auto;
}
.special02_3-spot2 .spot-block-inner {
  margin-left: 63px;
  display: flex;
  justify-content: space-between;
}
.special02_3-spot2 .spot-block.spot02 {
  margin-top: 76px;
}
.special02_3-spot2 .spot-block.spot03 {
  margin-top: 74px;
}
.special02_3-spot2 .spot-areaname {
  position: relative;
}
.special02_3-spot2 .spot-areaname .num {
  position: absolute;
  top: -30px;
  left: 0;
}
.special02_3-spot2 .spot-areaname .ttl-wrap {
  margin-left: 63px;
  margin-bottom: 40px;
  background: #876941;
  padding: 15px 60px;
  border-radius: 15px;
  color: #222;
}
.special02_3-spot2 .spot-areaname .city2_spot01 {
  padding: 15px 60px 16px;
}
.special02_3-spot2 .spot-areaname .city3_spot01 {
  padding: 13px 60px 15px;
}
.special02_3-spot2 .spot-areaname .subttl {
  font-size: 24px;
  color: #FFFFFF;
}
.special02_3-spot2 .spot-areaname .subttl .color {
  color: #FFFFFF;
}
.special02_3-spot2 .spot-areaname .ttl {
  font-size: 30px;
  line-height: 1.3;
  color: #FFFFFF;
}
.special02_3-spot2 .spot-areaname .ttl [data-ruby] {
  position: relative;
}
.special02_3-spot2 .spot-areaname .ttl [data-ruby]::before {
  content: attr(data-ruby);
  width: 100%;
  position: absolute;
  top: -1em;
  left: 0;
  right: 0;
  margin: auto;
  font-size: 14px;
  text-align: center;
}
.special02_3-spot2 .spot-areaname .item {
  width: 125px;
  position: absolute;
  top: -30px;
  right: 22px;
}
.special02_3-spot2 .spot-sliderbox {
  width: 500px;
  position: relative;
}
.special02_3-spot2 .spot-slider {
  padding-bottom: 50px;
  overflow: hidden;
}
.special02_3-spot2 .spot-slider .swiper-slide {
  border-radius: 15px;
  overflow: hidden;
}
.special02_3-spot2 .spot-slider .swiper-button-prev,
.special02_3-spot2 .spot-slider .swiper-button-next {
  width: 36px;
  height: 72px;
  margin-top: -61px;
  display: block;
}
.special02_3-spot2 .spot-slider .swiper-button-prev::before,
.special02_3-spot2 .spot-slider .swiper-button-next::before {
  content: "";
  width: 50px;
  height: 50px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  position: absolute;
  top: 50%;
}
.special02_3-spot2 .spot-slider .swiper-button-prev::after,
.special02_3-spot2 .spot-slider .swiper-button-next::after {
  display: none;
}
.special02_3-spot2 .spot-slider .swiper-button-prev {
  left: -38px;
}
.special02_3-spot2 .spot-slider .swiper-button-prev::before {
  transform: translate(10px, -50%) rotate(-135deg);
  right: 0;
}
.special02_3-spot2 .spot-slider .swiper-button-next {
  right: -34px;
}
.special02_3-spot2 .spot-slider .swiper-button-next::before {
  transform: translate(-10px, -50%) rotate(45deg);
  left: 0;
}
.special02_3-spot2 .spot-slider .swiper-pagination {
  bottom: 5px;
}
.special02_3-spot2 .spot-slider .swiper-pagination-bullet {
  width: 14px;
  height: 14px;
  margin: 0 20px;
  background: #fff;
  opacity: 1;
  position: relative;
}
.special02_3-spot2 .spot-slider .swiper-pagination-bullet-active {
  background: #000000;
}
.special02_3-spot2 .spot-txtbox {
  width: 350px;
}
.special02_3-spot2 .spot-txtbox .txt {
  font-size: 16px;
  line-height: 2;
  margin-top: -3px;
  color: #fff;
}
.special02_3-spot2 .spot-txtbox .img {
  margin-top: 30px;
}
.special02_3-spot2 .spot-txtbox .info {
  border: 1px solid #fff;
  margin: 37px 6px 0px 0;
  padding: 18px 20px 18px;
  font-size: 16px;
  line-height: 1.5;
  word-break: break-all;
  color: #fff;
  min-height: 60px;
}
.special02_3-spot2 .spot-txtbox .info .name {
  display: inline-block;
  font-size: 14px;
  line-height: 1.4;
  width: 100%;
}
.special02_3-spot2 .spot-txtbox .info span + .link {
  padding-top: 16px;
}
.special02_3-spot2 .spot-txtbox .info .link {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  color: #fff;
  line-height: 1.4;
  width: 100%;
}
.special02_3-spot2 .spot-txtbox .info .link a {
  text-decoration: underline;
}
.special02_3-spot2 .spot-txtbox .info .link img {
  margin-right: 10px;
}
.special02_3-spot2 .spot-txtbox a {
  text-decoration: underline;
}
.special02_3-spot2 .spot-txtbox a:hover {
  text-decoration: none;
}
.special02_3-spot2 .spot-txtbox .sub-img {
  margin-top: 35px;
  text-align: center;
}
.special02_3-spot2 .spot-txtbox .trademark {
  font-size: 60%;
  vertical-align: super;
}
.special02_3-spot2 .spot-txtbox .link {
  font-size: 14px;
}
.special02_3-spot2 .spot-single-img {
  width: 500px;
}
.special02_3-spot2 .spot-single-img img {
  border-radius: 15px;
  overflow: hidden;
}
.special02_3-spot2 .spot-single-img figcaption {
  font-size: 12px;
  line-height: 1.6;
  margin-top: 5px;
}
.special02_3-spot2 .spot-subimg {
  margin-top: 50px;
}
.special02_3-spot2 .spot-subimg img {
  border-radius: 15px;
  overflow: hidden;
}
.special02_3-shoplist {
  background: #fff;
  padding: 100px 0 0;
}
.special02_3-shoplist .shoplist-ttl {
  text-align: center;
}
.special02_3-shoplist .shoplist-summary {
  width: 800px;
  margin: 50px auto;
  font-size: 16px;
  line-height: 2;
  text-align: center;
  color: #7A6C5C;
  font-weight: 800;
}
.special02_3-shoplist .shoplist-object {
  margin: 50px auto;
  text-align: center;
}
.special02_3-shoplist .shoplist-note {
  font-size: 10px;
  color: #999999;
  text-align: center;
}
.special02_3-shoplist .shoplist-block {
  width: 1080px;
  margin: 80px auto 0;
}
.special02_3-shoplist .shoplist-block-inner {
  width: 955px;
  height: 699px;
  background: url("/book/vol67/images/special02_3/shoplist_bg.svg") no-repeat 0 0/100% 100%;
  position: relative;
}
.special02_3-shoplist .shoplist-block.file02 .shoplist-block-inner {
  margin-left: auto;
}
.special02_3-shoplist .shoplist-block.file03 .img1 {
  top: -30px;
}
.special02_3-shoplist .shoplist-block .num {
  width: 180px;
  background: #C8BEAD;
  font-size: 20px;
  color: #222;
  text-align: center;
  padding: 2px 0 0;
  position: absolute;
  top: 35px;
  left: 0;
}
.special02_3-shoplist .shoplist-block .ttl {
  font-size: 32px;
  line-height: 1.6;
  color: #222;
  padding: 100px 0 40px 50px;
  margin-right: 32px;
  border-bottom: 2px solid #C8BEAD;
}
.special02_3-shoplist .shoplist-block .ttl .marker {
  background: linear-gradient(transparent 10%, #AFA351 10%, #AFA351 90%, transparent 90%);
}
.special02_3-shoplist .shoplist-block .img1 {
  position: absolute;
  top: -27px;
  right: -7px;
}
.special02_3-shoplist .shoplist-block .img2 {
  width: 315px;
  margin: 40px 0 0 80px;
}
.special02_3-shoplist .shoplist-block .img2 figcaption {
  font-size: 18px;
  line-height: 1.4;
  text-align: center;
  margin-top: 10px;
  color: #222;
}
.special02_3-shoplist .shoplist-block .btn {
  width: 340px;
  height: 60px;
  position: absolute;
  bottom: 70px;
  right: 70px;
}
.special02_3-shoplist .shoplist-block .btn a {
  display: block;
  width: 100%;
  height: 100%;
  background: #222;
  border-radius: 30px;
  box-sizing: border-box;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-weight: bold;
  color: #B7AB58;
  text-align: center;
  padding-top: 13px;
  position: relative;
  transition: all 0.3s;
}
.special02_3-shoplist .shoplist-block .btn a:hover {
  opacity: 0.7;
}
.special02_3-shoplist .shoplist-block .btn a:hover .arrow::before {
  opacity: 0.7;
}
.special02_3-shoplist .shoplist-block .btn a:hover .arrow::after {
  opacity: 0.7;
}
.special02_3-shoplist .shoplist-block .btn .arrow {
  width: 30px;
  height: 18px;
  position: absolute;
  top: 20px;
  right: 20px;
}
.special02_3-shoplist .shoplist-block .btn .arrow::before {
  content: "";
  width: 30px;
  height: 2px;
  background: #B7AB58;
  border-radius: 2px;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -1px;
  transition: all 0.3s;
}
.special02_3-shoplist .shoplist-block .btn .arrow::after {
  content: "";
  width: 14px;
  height: 14px;
  border-top: 2px solid #B7AB58;
  border-right: 2px solid #B7AB58;
  position: absolute;
  top: 50%;
  right: 2px;
  margin-top: -7px;
  transform: rotate(45deg);
  transition: all 0.3s;
}

.book-bottom-area {
  position: relative;
  background: #fff;
  margin-bottom: 0;
  padding-bottom: 100px;
}

/*--------------------------------------------------------
　SCROLL ANIMATION
--------------------------------------------------------*/
.is-fadein {
  opacity: 0;
  transition: opacity 1s cubic-bezier(0.545, 0.08, 0.52, 0.975), all 1s ease;
}
.is-fadein.is-done {
  opacity: 1;
}

.is-fadeup {
  opacity: 0;
  transform: translate(0, 100px);
  transition: opacity 1s cubic-bezier(0.545, 0.08, 0.52, 0.975), all 1s ease;
}
.is-fadeup.is-done {
  opacity: 1;
  transform: translate(0, 0);
}

.is-fadedown {
  opacity: 0;
  transform: translate(0, -100px);
  transition: opacity 1s cubic-bezier(0.545, 0.08, 0.52, 0.975), all 1s ease;
}
.is-fadedown.is-done {
  opacity: 1;
  transform: translate(0, 0);
}

.is-fadeleft {
  opacity: 0;
  transform: translate(-40px, 0);
  transition: opacity 1s cubic-bezier(0.545, 0.08, 0.52, 0.975), all 1s ease;
}
.is-fadeleft.is-done {
  opacity: 1;
  transform: translate(0, 0);
}

.is-faderight {
  opacity: 0;
  transform: translate(40px, 0);
  transition: opacity 1s cubic-bezier(0.545, 0.08, 0.52, 0.975), all 1s ease;
}
.is-faderight.is-done {
  opacity: 1;
  transform: translate(0, 0);
}/*# sourceMappingURL=special02_3.css.map */