@charset "UTF-8";
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before,
.slick-track:after {
  display: table;
  content: "";
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

[dir=rtl] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/**
 * Swiper 11.0.5
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2023 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: November 22, 2023
 */
@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color:#007aff;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.swiper-3d {
  perspective: 1200px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 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-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

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

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

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

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

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

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

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

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

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

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

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

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

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

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

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

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

.swiper-button-lock {
  display: none;
}

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

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

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

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

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

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

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

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

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

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(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: var(--swiper-pagination-bullet-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: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}

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

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

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 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-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}

.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, 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: var(--swiper-pagination-progressbar-size, 4px);
  left: 0;
  top: 0;
}

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

.swiper-pagination-lock {
  display: none;
}

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

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

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

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

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

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

.swiper-scrollbar-lock {
  display: none;
}

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

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

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

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

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

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

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

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

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

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

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

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

.swiper-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-prev {
  pointer-events: auto;
  visibility: visible;
}

.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-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible;
}

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

.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-flip.swiper-slide-shadow-bottom, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top {
  z-index: 0;
  -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;
}

@font-face {
  font-family: "satoshi";
  src: url("../font/Satoshi-Bold.woff2") format("woff2"), url("../font/Satoshi-Bold.woff") format("woff"), url("../font/Satoshi-Bold.ttf") format("truetype");
  font-weight: 700;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: "satoshi-m";
  src: url("../font/Satoshi-Medium.woff2") format("woff2"), url("../font/Satoshi-Medium.woff") format("woff"), url("../font/Satoshi-Medium.ttf") format("truetype");
  font-weight: 700;
  font-display: swap;
  font-style: normal;
}
:root {
  --black:#3d2613;
  --ff: "Noto Serif JP", serif;
  --en: "EB Garamond", serif;
}

h1:not(.main),
h2:not(.main),
h3:not(.main),
h4:not(.main),
h5:not(.main),
h6:not(.main),
ul:not(.main), ol:not(.main),
a:not(.main),
span:not(.main),
th:not(.main), td:not(.main),
.sgb-acc__title:not(.main),
p:not(.main) {
  transform: rotate(0.03deg);
}

.rota003 {
  transform: rotate(0.03deg);
  display: inline-block;
}

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

#content {
  margin-top: 12em;
  padding-bottom: 12em;
}

:root :where(body) {
  letter-spacing: 0.02em;
  font-size: 15px;
  font-family: "m-plus-rounded-2p", sans-serif;
  font-weight: 500;
  font-style: normal;
  color: var(--black);
  background: #f4f4ed url(../img/common/body_bg.jpg);
}
:root :where(body).fixed {
  position: fixed;
  width: 100%;
}

.satoshi {
  font-family: "satoshi", serif;
}

.w1100 {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

.w1180 {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}

.w1200 {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.w1320 {
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
}

@keyframes btnArrow {
  0% {
    transform: translate(0, -50%) rotate(0.03deg);
  }
  49% {
    opacity: 0;
    transform: translate(20%, -50%) rotate(0.03deg);
  }
  50% {
    opacity: 1;
    transform: translate(-20%, -50%) rotate(0.03deg);
  }
  60% {
    transform: translate(-10%, -50%) rotate(0.03deg);
  }
  100% {
    transform: translate(0, -50%) rotate(0.03deg);
  }
}
@keyframes btnArrow2 {
  0% {
    transform: translateX(0) rotate(0.03deg);
  }
  49% {
    opacity: 0;
    transform: translateX(20%) rotate(0.03deg);
  }
  50% {
    opacity: 1;
    transform: translateX(-20%) rotate(0.03deg);
  }
  60% {
    transform: translateX(-10%) rotate(0.03deg);
  }
  100% {
    transform: translateX(0) rotate(0.03deg);
  }
}
.btn01, .btn02, .btn03, .btn04, .btn06, .btn07 {
  overflow: hidden;
  position: relative;
  background: #e76874;
  display: block;
  text-align: center;
  color: #fff;
  text-decoration: none;
  height: 72px;
  line-height: 72px;
  border-radius: 50px;
  font-size: 16px;
  font-weight: bold;
  margin-left: auto;
  margin-right: auto;
}
.btn01:hover, .btn02:hover, .btn03:hover, .btn04:hover, .btn06:hover, .btn07:hover {
  text-decoration: none;
}
.btn01:hover:before, .btn02:hover:before, .btn03:hover:before, .btn04:hover:before, .btn06:hover:before, .btn07:hover:before {
  animation: btnArrow 0.6s ease;
}
.btn01:before, .btn02:before, .btn03:before, .btn04:before, .btn06:before, .btn07:before {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 18px;
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  background: url(../img/common/btn01.png) no-repeat left top/100% auto;
}

.btn02 {
  background: #49b0a8;
  max-width: 360px;
}
.btn02:before {
  background-image: url(../img/common/btn02.png);
}

.btn03 {
  background: #fff;
  color: var(--black);
  max-width: 360px;
}
.btn03:before {
  background-image: url(../img/common/btn03.png);
}

.btn04 {
  background: #fff;
  color: var(--black);
  max-width: 360px;
}
.btn04:before {
  background-image: url(../img/common/btn04.png);
}

.btn05 {
  position: relative;
  text-decoration: none;
  color: var(--black);
  font-size: 16px;
  font-weight: bold;
  padding-right: 60px;
}
.btn05:hover {
  text-decoration: none;
}
.btn05:hover:hover:before {
  animation: btnArrow 0.6s ease;
}
.btn05:before {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 0;
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  background: url(../img/common/btn03.png) no-repeat left top/100% auto;
}

.btn06 {
  background: #47ca56;
  max-width: 360px;
}
.btn06:before {
  background-image: url(../img/common/btn06.png);
}

.for_groups {
  position: relative;
  border-radius: 40px;
  color: #fff;
  padding: 90px 110px 135px;
  background: url(../img/top/sc08.jpg) no-repeat center/cover;
}
.for_groups * {
  margin: 0;
}
.for_groups .w_ttl01 {
  margin-bottom: 20px;
}
.for_groups .w_ttl01 h2 {
  padding-top: 55px;
  background-image: url(../img/common/ttl01_white.png);
}
.for_groups .lead {
  text-align: center;
  line-height: 2;
  margin-bottom: 60px;
}
.for_groups h3 {
  color: #3a938c;
  font-size: 20px;
  text-align: center;
  width: 560px;
  height: 56px;
  background: url(../img/common/rebon.png) no-repeat left top/100% auto;
  margin: 0 auto 42px;
  line-height: 56px;
}
.for_groups ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0 40px;
  counter-reset: number 0;
}
.for_groups ul li {
  position: relative;
  border-radius: 0 25px 0 25px;
  font-size: 18px;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  height: 170px;
  line-height: 1.6;
  border: solid 3px #fff;
  background: url(../img/common/bg_dots.png);
}
.for_groups ul li:before {
  top: -20px;
  left: -24px;
  font-size: 16px;
  color: #3a938c;
  font-family: "satoshi";
  position: absolute;
  width: 77px;
  height: 77px;
  background: url(../img/common/giza.png) no-repeat left top/100% auto;
  display: flex;
  justify-content: center;
  align-items: center;
  counter-increment: number 1;
  content: "0" counter(number);
}
.for_groups .btn02 {
  bottom: -36px;
  position: absolute;
  width: 360px;
  left: 50%;
  transform: translate(-50%, 0) rotate(0.03deg);
}

.btn07 {
  background: #4981b0;
}
.btn07:before {
  background-image: url(../img/common/btn07.png);
}

.guidebook_cta {
  position: relative;
  z-index: 1;
  height: 620px;
  background: url(../img/common/guidebook_bg.jpg) no-repeat center/cover;
  border-radius: 40px;
  padding: 70px 110px 20px;
  display: flex;
  justify-content: space-between;
}
.guidebook_cta * {
  margin: 0;
}
.guidebook_cta .left {
  background: url(../img/common/guidebook.png) no-repeat right top/422px auto;
  width: 730px;
  min-height: 454px;
  padding-top: 90px;
}
.guidebook_cta .left h2 {
  color: #fff;
  background: url(../img/common/dots.png) no-repeat left bottom/46px auto;
  padding-bottom: 60px;
}
.guidebook_cta .left h2 span:first-child {
  display: inline-block;
  margin-bottom: 30px;
  background: #fff;
  color: #6ab0ab;
  font-size: 18px;
  text-align: center;
  border-radius: 50px;
  padding: 3px 30px 2px;
}
.guidebook_cta .left h2 span:last-child {
  display: block;
  font-size: 36px;
  font-weight: bold;
  line-height: 1.4;
}
.guidebook_cta .right {
  text-align: left;
  width: 290px;
  padding-top: 30px;
}
.guidebook_cta .right p {
  font-size: 15px;
  color: #fff;
  margin-bottom: 30px;
}
.guidebook_cta .right ul {
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px 0;
}
.guidebook_cta .right .btn03, .guidebook_cta .right .btn04 {
  padding-right: 15px;
}

.w_ttl01 {
  margin-bottom: 45px;
}
.w_ttl01 h2 {
  background: url(../img/common/ttl01_green.png) no-repeat center top/46px auto;
  position: relative;
  text-align: center;
  padding-bottom: 24px;
  padding-top: 70px;
}
.w_ttl01 .ja_min {
  display: block;
  font-size: 24px;
  line-height: 1.4;
}
.w_ttl01 .ja {
  font-size: 36px;
  position: relative;
  z-index: 1;
}
.w_ttl01 .satoshi {
  display: block;
  line-height: 1;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  font-size: 120px;
  color: #fff;
  bottom: 0;
  width: 100%;
}
.w_ttl01 .color2 {
  color: #eef7f4;
}
.w_ttl01 .color3 {
  color: #f7f7f3;
}
.w_ttl01 .color4 {
  opacity: 0.12;
  bottom: 15px;
}

.w_ttl02, .w_ttl03, .w_ttl04 {
  margin-bottom: 45px;
}
.w_ttl02 h2, .w_ttl03 h2, .w_ttl04 h2 {
  background: url(../img/common/ttl01_green.png) no-repeat left top/46px auto;
  position: relative;
  padding-bottom: 24px;
  padding-top: 70px;
}
.w_ttl02 .ja, .w_ttl03 .ja, .w_ttl04 .ja {
  font-size: 32px;
  position: relative;
  z-index: 1;
  letter-spacing: 0.05em;
}
.w_ttl02 .satoshi, .w_ttl03 .satoshi, .w_ttl04 .satoshi {
  display: block;
  line-height: 1;
  position: absolute;
  left: 0;
  font-size: 108px;
  color: #fff;
  bottom: 0;
  width: 100%;
}

.w_ttl03 {
  text-align: center;
}
.w_ttl03 h2 {
  background-position: center top;
}
.w_ttl03 .satoshi {
  left: 50%;
  transform: translate(-50%, 0);
}
.w_ttl03 .brown {
  color: #f7f7f3;
}
.w_ttl03 .lb {
  color: #f0f8f6;
}

.w_ttl04 .ja {
  font-size: 34px;
}
.w_ttl04 .brown {
  color: #f7f7f3;
}
.w_ttl04 .lb {
  color: #f0f8f6;
}

.ttl01 {
  font-size: 24px;
  font-weight: bold;
  position: relative;
  padding-left: 26px;
  line-height: 1.5;
  margin: 0 0 40px;
}
.ttl01:before {
  position: absolute;
  left: 0;
  content: "";
  display: block;
  width: 5px;
  height: 100%;
  background: #49b0a8;
  border-radius: 6px;
}

.under_main_ttl {
  position: relative;
}
.under_main_ttl * {
  margin: 0;
}
.under_main_ttl .ja {
  position: relative;
  z-index: 1;
  font-size: 36px;
  letter-spacing: 0.1em;
}
.under_main_ttl .ja.white {
  color: #fff;
}
.under_main_ttl .satoshi {
  left: -40px;
  top: 50%;
  transform: translate(0, -50%);
  position: absolute;
  font-size: 120px;
  color: transparent;
  -webkit-text-stroke: 2px #fff;
  text-stroke: 2px #fff;
}
.under_main_ttl .satoshi.light {
  -webkit-text-stroke: 1px #fff;
  text-stroke: 1px #fff;
  opacity: 0.4;
}

#bread {
  font-size: 12px;
  display: flex;
}
#bread.white {
  color: #fff;
}
#bread.white li:first-child a {
  background-image: url(../img/common/ic_home_w.png);
}
#bread.white li:not(:last-child) {
  background-image: url(../img/common/bread_w.png);
}
#bread.white a {
  color: #fff;
}
#bread li:first-child a {
  background: url(../img/common/ic_home.png) no-repeat left center/14px auto;
  padding-left: 20px;
}
#bread li:not(:last-child) {
  background: url(../img/common/bread.png) no-repeat right center/6px auto;
  padding-right: 18px;
  margin-right: 10px;
}
#bread a {
  text-decoration: underline;
  color: var(--black);
}

/*―――――――――――――――――――――――――*
*	header
*―――――――――――――――――――――――――*/
header {
  transition: 0.4s ease;
  top: 10px;
  left: 0;
  width: 100%;
  position: fixed;
  z-index: 999;
  display: flex;
  justify-content: space-between;
  padding-left: 15px;
  padding-right: 40px;
}
header.black .main > li > a {
  color: var(--black);
}
header.black #header_search #search_btn {
  background-image: url(../img/common/ic_search_on.png);
}
header.black .contact_btn {
  color: #fff;
  background: #e76874;
}
header.black #hb_menu {
  background-image: url(../img/common/hb_on.png);
}
header.on {
  background: #fff;
  left: 30px;
  height: 74px;
  border-radius: 50px;
  width: calc(100% - 60px);
  align-items: center;
  box-shadow: 1px 1px 7px 5px rgba(42, 104, 107, 0.15);
}
header.on #header_logo.under {
  padding-top: 0;
}
header.on .main > li > a {
  color: var(--black);
}
header.on #header_search {
  margin-top: 0;
}
header.on #header_search #search_btn {
  background-image: url(../img/common/ic_search_on.png);
}
header.on #w_contact_btn {
  margin-top: 0;
}
header.on .contact_btn {
  color: #fff;
  background: #e76874;
}
header.on #hb_menu {
  margin-top: 0;
  height: 37px;
  background-image: url(../img/common/hb_on.png);
}
header.on #w_contact_btn:before {
  bottom: -46px;
}
header.on #header_search form {
  bottom: -90px;
}
header * {
  margin: 0;
}
header a:hover {
  text-decoration: none;
}
header #header_logo.under {
  padding-top: 16px;
}
header #header_logo.under img {
  max-width: 231px;
}
header #header_logo a {
  display: block;
}
header #header_logo img {
  max-width: 269px;
}
header nav {
  margin-top: 25px;
  margin-left: auto;
  margin-right: auto;
  font-weight: bold;
}
header nav a:hover {
  text-decoration: none;
}
header .main {
  display: flex;
  justify-content: space-between;
  gap: 0 30px;
}
header .main > li > a {
  color: #fff;
}
header .main .parent {
  position: relative;
  padding-bottom: 20px;
  cursor: pointer;
}
header .main .parent.on:before {
  opacity: 1;
  visibility: visible;
}
header .main .parent:before {
  transition: 0.4s linear;
  opacity: 0;
  visibility: hidden;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  bottom: -32px;
  content: "";
  display: block;
  width: 100%;
  height: 34px;
  background: url(../img/common/fukidashi03.png) no-repeat center bottom/34px auto;
}
header #header_search {
  cursor: pointer;
  margin-right: 10px;
  margin-top: 20px;
  position: relative;
}
header #header_search #search_btn {
  width: 44px;
  height: 44px;
  background: url(../img/common/ic_search.png) no-repeat left top/100% auto;
}
header #header_search img {
  max-width: 44px;
}
header #header_search form {
  display: none;
  position: absolute;
  bottom: -80px;
  left: 50%;
  transform: translate(-50%, 0);
  background: url(../img/common/fukidashi01.png) no-repeat center top/17px auto;
  padding-top: 7px;
}
header #header_search input[type=search] {
  font-family: inherit;
  height: 52px;
  border-radius: 45px;
  display: block;
  width: 280px;
  background: #fff;
  outline: none;
  padding: 0 28px;
}
header #header_search input[type=search]::placeholder {
  color: rgba(61, 38, 19, 0.3);
}
header #w_contact_btn {
  position: relative;
  margin-top: 20px;
  margin-right: 25px;
}
header #w_contact_btn.on:before {
  opacity: 1;
  visibility: visible;
}
header #w_contact_btn:before {
  transition: 0.4s linear;
  opacity: 0;
  visibility: hidden;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  bottom: -33px;
  content: "";
  display: block;
  width: 100%;
  height: 34px;
  background: url(../img/common/fukidashi02.png) no-repeat center bottom/34px auto;
}
header .contact_btn {
  font-weight: bold;
  color: #3d2613;
  background: #fff;
  width: 160px;
  height: 44px;
  line-height: 44px;
  text-align: center;
  border-radius: 45px;
  font-size: 13px;
  letter-spacing: 0;
  display: block;
}
header #hb_menu {
  margin-top: 23px;
  cursor: pointer;
  width: 31px;
  height: 37px;
  background: url(../img/common/hb.png) no-repeat left top/100% auto;
}
header .contact_hover {
  display: none;
  top: 114px;
  position: fixed;
  background: #86c7c2;
  border-radius: 45px;
  left: 30px;
  right: 30px;
  padding: 60px 0;
}
header .contact_hover .grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 40px;
}
header .contact_hover .grid a {
  color: var(--black);
  position: relative;
  background: #fff;
  border-radius: 20px 0 20px 0;
  padding: 36px 30px 40px 185px;
}
header .contact_hover .grid a:before {
  position: absolute;
  right: 12px;
  bottom: 12px;
  content: "";
  display: block;
  width: 28px;
  height: 28px;
  background: url(../img/common/arrow01.png) no-repeat left top/100% auto;
}
header .contact_hover .grid .c {
  background: #fff url(../img/common/contact01.png) no-repeat 32px center/124px auto;
}
header .contact_hover .grid .e {
  background: #fff url(../img/common/contact02.png) no-repeat 32px center/124px auto;
}
header .contact_hover .grid .ttl, header .contact_hover .grid .satoshi {
  line-height: 1.2;
}
header .contact_hover .grid .ttl {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 5px;
  letter-spacing: 0.05em;
}
header .contact_hover .grid .satoshi {
  font-size: 12px;
  color: #3a938c;
  font-weight: 700;
  margin-bottom: 15px;
}
header .contact_hover .grid .text {
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.05em;
}
header .sub_nav {
  display: none;
  top: 114px;
  position: fixed;
  background: #fff;
  border-radius: 45px;
  left: 30px;
  right: 30px;
  padding: 40px 0;
}
header .sub_nav a {
  color: var(--black);
}
header .sub_nav .btn {
  padding: 25px 0 22px;
  display: block;
  text-align: center;
  border-radius: 20px 0 20px 0;
  background: #e7f4f3;
  font-size: 16px;
  position: relative;
}
header .sub_nav .btn.off:before {
  content: none !important;
}
header .sub_nav .btn:before {
  position: absolute;
  right: 12px;
  bottom: 12px;
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  background: url(../img/common/arrow01.png) no-repeat left top/100% auto;
}
header .sub_nav .btn span {
  display: block;
  padding-top: 90px;
}
header .sub_nav .bg01 {
  background: url(../img/common/nav01.png) no-repeat center top/74px auto;
}
header .sub_nav .bg02 {
  background: url(../img/common/nav02.png) no-repeat center top/74px auto;
}
header .sub_nav .bg03 {
  background: url(../img/common/nav03.png) no-repeat center top/74px auto;
}
header .sub_nav .bg04 {
  background: url(../img/common/nav04.png) no-repeat center top/74px auto;
}
header .sub_nav .bg05 {
  background: url(../img/common/nav05.png) no-repeat center top/74px auto;
}
header .sub_nav .bg06 {
  background: url(../img/common/nav06.png) no-repeat center top/74px auto;
}
header .sub_nav .bg07 {
  background: url(../img/common/nav07.png) no-repeat center top/74px auto;
}
header .sub_nav .bg08 {
  background: url(../img/common/nav08.png) no-repeat center top/74px auto;
}
header .sub_nav .bg09 {
  background: url(../img/common/nav09.png) no-repeat center top/74px auto;
}
header .sub_nav .bg10 {
  background: url(../img/common/nav10.png) no-repeat center top/74px auto;
}
header .sub_nav .bg11 {
  background: url(../img/common/nav11.png) no-repeat center top/74px auto;
}
header .sub_nav .bg12 {
  background: url(../img/common/nav12.png) no-repeat center top/74px auto;
}
header .sub_nav .bg13 {
  background: url(../img/common/nav13.png) no-repeat center top/74px auto;
}
header .sub_nav .bg14 {
  background: url(../img/common/nav14.png) no-repeat center top/74px auto;
}
header .sub_nav .bg15 {
  background: url(../img/common/nav15.png) no-repeat center top/74px auto;
}
header .sub_nav .bg02 {
  background: url(../img/common/nav02.png) no-repeat center top/74px auto;
}
header .sub_nav .bg03 {
  background: url(../img/common/nav03.png) no-repeat center top/74px auto;
}
header .sub_nav ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 10px;
  font-weight: bold;
}
header .sub_nav ul li {
  border-bottom: dashed 1px #86c7c2;
}
header .sub_nav ul a {
  display: block;
  padding: 15px 10px;
  background: url(../img/common/arrow02.png) no-repeat right 2px center/10px auto;
}
header #nav01 .grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0 30px;
}
header #nav01 ul {
  margin-top: 3px;
  margin-left: 15px;
  margin-right: 15px;
}
header #nav02 .grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 20px;
  letter-spacing: -0.02em;
}
header #nav03 .grid {
  max-width: 345px;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0 30px;
  letter-spacing: -0.02em;
}
header #nav04 .grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0 30px;
}
header #nav04 ul {
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0 10px;
}

#header_overlay {
  display: none;
  z-index: 998;
  position: fixed;
  background: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
}

#g_nav {
  display: none;
  position: fixed;
  z-index: 9999;
  background: #fff;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  overflow: auto;
}
#g_nav::-webkit-scrollbar {
  display: none;
}
#g_nav .g_nav_close {
  z-index: 10;
  position: absolute;
  top: 25px;
  right: 35px;
  width: 60px;
  height: 60px;
  background: url(../img/common/close.png) no-repeat left top/100% auto;
  cursor: pointer;
}
#g_nav:after {
  position: fixed;
  left: 0;
  top: 0;
  content: "";
  display: block;
  width: calc(50% - 200px);
  height: 100%;
  background: url(../img/common/hb_menu_bg.jpg) no-repeat center/cover;
}
#g_nav * {
  margin: 0;
}
#g_nav .flex {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  max-width: 1280px;
  margin: 0 auto;
  min-height: 100%;
}
#g_nav .flex .left {
  width: calc(100% - 895px);
  display: flex;
  align-items: center;
  padding-right: 60px;
}
#g_nav .flex .left > div {
  width: 100%;
}
#g_nav .flex .buttons {
  margin-bottom: 75px;
}
#g_nav .flex .buttons li {
  margin-bottom: 20px;
}
#g_nav .flex .buttons li:last-child {
  margin-bottom: 0;
}
#g_nav .flex .buttons a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  text-decoration: none;
  color: var(--black);
  background: #fff;
  border-radius: 50px;
  text-align: center;
  font-weight: bold;
  line-height: 1.6;
  height: 72px;
}
#g_nav .flex .buttons a:hover:before {
  animation: btnArrow 0.6s ease;
}
#g_nav .flex .buttons a:before {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 16px;
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  background: url(../img/common/arrow03.png) no-repeat left top/100% auto;
}
#g_nav .flex .buttons .mail {
  background: #fff url(../img/common/ic_mail.png) no-repeat 32px center/32px auto;
}
#g_nav .flex .buttons .est {
  background: #fff url(../img/common/ic_est.png) no-repeat 32px center/28px auto;
}
#g_nav .flex .buttons .guide {
  background: #fff url(../img/common/ic_guide.png) no-repeat 28px center/40px auto;
}
#g_nav .flex .list {
  line-height: 2;
  padding-left: 20px;
}
#g_nav .flex .list a {
  text-decoration: none;
  color: #fff;
  font-size: 14px;
}
#g_nav .flex .right {
  text-align: left;
  border-radius: 50px 0 0 0;
  width: 895px;
  background: #fff;
  padding: 105px 0 105px 105px;
}
#g_nav .flex .sp {
  display: none;
}
#g_nav .flex .grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0 50px;
}
#g_nav .flex .grid > div {
  position: relative;
}
#g_nav .flex .grid > div .ttl:first-child {
  margin-top: 0;
}
#g_nav .flex .grid > div .ttl:last-child {
  margin-bottom: 0;
}
#g_nav .flex .grid a {
  color: var(--black);
  text-decoration: none;
}
#g_nav .flex .grid .ttl {
  font-size: 18px;
  font-weight: bold;
  margin: 50px 0 30px;
}
#g_nav .flex .grid .ttl a {
  position: relative;
  display: block;
  padding: 3px 0 3px 24px;
  line-height: 1.2;
}
#g_nav .flex .grid .ttl a:before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  display: block;
  width: 5px;
  height: 100%;
  background: #86c7c2;
  border-radius: 10px;
}
#g_nav .flex .grid .sub_ttl {
  position: relative;
  margin: 30px 0 20px;
  padding-left: 20px;
}
#g_nav .flex .grid .sub_ttl:before {
  position: absolute;
  left: 0;
  top: 12px;
  content: "";
  display: block;
  width: 10px;
  height: 3px;
  background: #86c7c2;
  border-radius: 5px;
}
#g_nav .flex .grid .sub_ttl a {
  font-weight: bold;
  color: #3a938c;
}
#g_nav .flex .grid .bn {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
}
#g_nav .flex .grid ul {
  font-size: 14px;
  line-height: 1.4;
  display: grid;
  gap: 10px 0;
  padding-left: 20px;
}

/*―――――――――――――――――――――――――*
*	footer
*―――――――――――――――――――――――――*/
#pc_fix_line {
  z-index: 11;
  position: fixed;
  right: 30px;
  bottom: 30px;
  display: none;
}
#pc_fix_line img {
  max-width: 180px;
}

#footer_bg {
  background: url(../img/common/bg_lb.png) no-repeat right bottom/649px auto, url(../img/common/bg_mc.png);
  padding-bottom: 40px;
  position: relative;
}
#footer_bg #f_logo {
  margin: 0;
  position: absolute;
  right: 125px;
  bottom: 18px;
}
#footer_bg #f_logo img {
  max-width: 166px;
}

#w_cta {
  position: relative;
  top: -120px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 40px;
}
#w_cta * {
  margin: 0;
}
#w_cta > div {
  border-radius: 40px;
  padding: 45px 0 50px;
}
#w_cta .bg_mail {
  background: url(../img/common/cta_bg01.png) no-repeat right top/171px auto, url(../img/common/cta_bg02.png) no-repeat left bottom/204px auto, #fff;
}
#w_cta .bg_est {
  background: url(../img/common/cta_bg03.png) no-repeat right top/188px auto, url(../img/common/cta_bg04.png) no-repeat left bottom/194px auto, #fff;
}
#w_cta .inner {
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
}
#w_cta h2 {
  font-weight: bold;
  font-size: 24px;
  padding-top: 150px;
}
#w_cta .mail {
  background: url(../img/common/cta_mail.png) no-repeat left top/120px auto;
}
#w_cta .est {
  background: url(../img/common/cta_est.png) no-repeat left top/120px auto;
}
#w_cta .satoshi {
  color: #3a938c;
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 10px;
}
#w_cta .text {
  line-height: 2;
  margin-bottom: 40px;
}

#footer_nav {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 0 30px;
  margin-bottom: 90px;
}
#footer_nav * {
  margin: 0;
}
#footer_nav a {
  color: var(--black);
  text-decoration: none;
}
#footer_nav > div .ttl:first-child {
  margin-top: 0;
}
#footer_nav .ttl {
  font-size: 18px;
  font-weight: bold;
  margin: 50px 0 30px;
}
#footer_nav .ttl a {
  position: relative;
  display: block;
  padding: 3px 0 3px 24px;
  line-height: 1.2;
}
#footer_nav .ttl a:before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  display: block;
  width: 5px;
  height: 100%;
  background: #fff;
  border-radius: 10px;
}
#footer_nav .sub_ttl {
  position: relative;
  margin: 30px 0 20px;
  padding-left: 20px;
}
#footer_nav .sub_ttl:before {
  position: absolute;
  left: 0;
  top: 12px;
  content: "";
  display: block;
  width: 10px;
  height: 3px;
  background: #fff;
  border-radius: 5px;
}
#footer_nav .sub_ttl a {
  font-weight: bold;
}
#footer_nav ul {
  line-height: 2;
  padding-left: 20px;
}
#footer_nav ul a {
  text-decoration: none;
  font-size: 14px;
}

footer #pt {
  display: block;
  color: #fff;
  font-size: 12px;
  text-align: center;
  border-top: dashed 1px #fff;
  border-bottom: dashed 1px #fff;
  padding: 18px 0 12px;
  margin-bottom: 40px;
}
footer #pt span {
  display: inline-block;
  padding-top: 34px;
  background: url(../img/common/pt.png) no-repeat center top/39px auto;
}
footer .banners {
  margin: 0 0 30px;
  display: flex;
  align-items: center;
}
footer .banners .bn {
  max-width: 230px;
  margin-right: 30px;
}
footer .banners .insta {
  max-width: 60px;
}
footer .nav {
  font-size: 13px;
  margin: 0 0 5px;
  display: flex;
  line-height: 1.2;
}
footer .nav li {
  margin-bottom: 0;
}
footer .nav li:not(:last-child):after {
  content: "|";
  display: inline-block;
  margin: 0 0.8em;
}
footer .nav a {
  color: var(--black);
  text-decoration: none;
}
footer small {
  font-size: 12px;
  transform: rotate(0.03deg);
  display: inline-block;
}

/*―――――――――――――――――――――――――*
*	under_mv
*―――――――――――――――――――――――――*/
#under_mv {
  position: relative;
  height: 500px;
  background: url(../img/archive/mv.jpg) no-repeat center/cover;
  padding-top: 190px;
}
#under_mv:after {
  background: #f4f4ed url(../img/common/body_bg.jpg);
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  bottom: 0;
  content: "";
  display: block;
  width: 1320px;
  height: 100px;
  border-radius: 40px 40px 0 0;
}
#under_mv .w1320 {
  position: relative;
}
#under_mv:before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  display: block;
  width: 430px;
  background: url(../img/common/bg01.png) no-repeat left top/100% auto;
  height: 220px;
}
#under_mv .under_main_ttl {
  margin-bottom: 88px;
}
#under_mv .under_main_ttl .ja {
  font-size: 40px;
}
#under_mv #bread {
  max-width: fit-content;
  margin-left: auto;
}

#comp_text p {
  letter-spacing: 0.025em;
  margin-bottom: 40px;
}
#comp_text p .bold {
  font-weight: bold;
}
#comp_text p .ul {
  text-decoration: underline;
}
#comp_text .btn02 {
  width: 360px;
  margin-top: 60px;
  margin-left: auto;
  margin-right: auto;
}

/*―――――――――――――――――――――――――*
*	1420px 以下
*―――――――――――――――――――――――――*/
@media screen and (min-width: 767px) and (max-width: 1420px) {
  .w1320 {
    padding-left: 2%;
    padding-right: 2%;
  }
  .guidebook_cta {
    position: relative;
    z-index: 1;
    height: 53.913vw;
    background: url(../img/common/guidebook_bg.jpg) no-repeat center/cover;
    border-radius: 3.478vw;
    padding: 6.087vw 4vw 1.739vw;
    display: flex;
    justify-content: space-between;
  }
  .guidebook_cta * {
    margin: 0;
  }
  .guidebook_cta .left {
    background: url(../img/common/guidebook.png) no-repeat right top/34.7vw auto;
    width: 58vw;
    min-height: 39.478vw;
    padding-top: 7.826vw;
  }
  .guidebook_cta .left h2 {
    color: #fff;
    background: url(../img/common/dots.png) no-repeat left bottom/3.92vw auto;
    padding-bottom: 5.217vw;
  }
  .guidebook_cta .left h2 span:first-child {
    display: inline-block;
    margin-bottom: 2.609vw;
    background: #fff;
    color: #6ab0ab;
    font-size: 1.565vw;
    text-align: center;
    border-radius: 4.348vw;
    padding: 0.261vw 2.609vw 0.174vw;
  }
  .guidebook_cta .left h2 span:last-child {
    display: block;
    font-size: 3.13vw;
    font-weight: bold;
    line-height: 1.4;
  }
  .guidebook_cta .right {
    text-align: left;
    width: 25.217vw;
    padding-top: 2.609vw;
  }
  .guidebook_cta .right p {
    font-size: 1.304vw;
    color: #fff;
    margin-bottom: 2.609vw;
  }
  .guidebook_cta .right ul {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.913vw 0;
  }
  .guidebook_cta .right .btn03, .guidebook_cta .right .btn04 {
    padding-right: 1.304vw;
  }
  .for_groups {
    position: relative;
    border-radius: 2.817vw;
    color: #fff;
    padding: 6.338vw 7.746vw 9.507vw;
    background: url(../img/top/sc08.jpg) no-repeat center/cover;
  }
  .for_groups * {
    margin: 0;
  }
  .for_groups .w_ttl01 {
    margin-bottom: 1.408vw;
  }
  .for_groups .w_ttl01 h2 {
    padding-top: 3.873vw;
    background-image: url(../img/common/ttl01_white.png);
  }
  .for_groups .lead {
    text-align: center;
    line-height: 2;
    margin-bottom: 4.225vw;
  }
  .for_groups h3 {
    color: #3a938c;
    font-size: 1.54vw;
    text-align: center;
    width: 39.437vw;
    height: 3.944vw;
    background: url(../img/common/rebon.png) no-repeat left top/100% auto;
    margin: 0 auto 42px;
    line-height: 3.944vw;
  }
  .for_groups ul {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0 2.817vw;
    counter-reset: number 0;
  }
  .for_groups ul li {
    position: relative;
    border-radius: 0 1.761vw 0 1.761vw;
    font-size: 1.4vw;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    height: 11.972vw;
    line-height: 1.6;
    border: solid 3px #fff;
    background: url(../img/common/bg_dots.png);
  }
  .for_groups ul li:before {
    top: -1.408vw;
    left: -1.69vw;
    font-size: 1.127vw;
    color: #3a938c;
    font-family: "satoshi";
    position: absolute;
    width: 5.423vw;
    height: 5.423vw;
    background: url(../img/common/giza.png) no-repeat left top/100% auto;
    display: flex;
    justify-content: center;
    align-items: center;
    counter-increment: number 1;
    content: "0" counter(number);
  }
  .for_groups .btn02 {
    bottom: -2.535vw;
    position: absolute;
    width: 31vw;
    left: 50%;
    transform: translate(-50%, 0) rotate(0.03deg);
  }
  #under_mv {
    position: relative;
    height: 35.211vw;
    background: url(../img/archive/mv.jpg) no-repeat center/cover;
    padding-top: 13.38vw;
  }
  #under_mv .w1180 {
    padding-left: 4vw;
    padding-right: 4vw;
  }
  #under_mv:after {
    background: #f4f4ed url(../img/common/body_bg.jpg);
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
    bottom: 0;
    content: "";
    display: block;
    width: 96vw;
    height: 7.042vw;
    border-radius: 2.817vw 2.817vw 0 0;
  }
  #under_mv .w1320 {
    position: relative;
  }
  #under_mv:before {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    display: block;
    width: 37vw;
    background: url(../img/common/bg01.png) no-repeat left top/100% auto;
    height: 18.493vw;
  }
  #under_mv .under_main_ttl {
    margin-bottom: 6.197vw;
  }
  #under_mv .under_main_ttl .ja {
    font-size: 2.817vw;
  }
  #under_mv #bread {
    max-width: fit-content;
    margin-left: auto;
  }
}
@media screen and (min-width: 767px) and (max-width: 1280px) {
  .w1180 {
    padding-left: 3vw;
    padding-right: 3vw;
  }
  :root :where(body) {
    font-size: 1.18vw;
  }
  header {
    transition: 0.4s ease;
    top: 0.781vw;
    width: 100%;
    padding-left: 1.172vw;
    padding-right: 2.5vw;
  }
  header.on {
    left: 2.344vw;
    height: 5.781vw;
    border-radius: 3.906vw;
    width: calc(100% - 4.688vw);
  }
  header.on #header_search {
    margin-top: 0;
  }
  header.on #header_search #search_btn {
    background-image: url(../img/common/ic_search_on.png);
  }
  header.on #w_contact_btn {
    margin-top: 0;
  }
  header.on .contact_btn {
    color: #fff;
    background: #e76874;
  }
  header.on #hb_menu {
    margin-top: 0;
    height: 2.891vw;
    background-image: url(../img/common/hb_on.png);
  }
  header.on #w_contact_btn:before {
    bottom: -3.594vw;
  }
  header.on #header_search form {
    bottom: -7.031vw;
  }
  header * {
    margin: 0;
  }
  header a:hover {
    text-decoration: none;
  }
  header #header_logo a {
    display: block;
  }
  header #header_logo img {
    max-width: 21.016vw;
  }
  header #header_logo.under img {
    max-width: 20.087vw;
  }
  header nav {
    margin-top: 1.953vw;
    margin-left: auto;
    margin-right: auto;
    font-weight: bold;
  }
  header nav a:hover {
    text-decoration: none;
  }
  header .main {
    display: flex;
    justify-content: space-between;
    gap: 0 1.5vw;
  }
  header .main > li > a {
    color: #fff;
  }
  header .main .parent {
    position: relative;
    padding-bottom: 1.563vw;
    cursor: pointer;
  }
  header .main .parent.on:before {
    opacity: 1;
    visibility: visible;
  }
  header .main .parent:before {
    transition: 0.4s linear;
    opacity: 0;
    visibility: hidden;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
    bottom: -2.5vw;
    content: "";
    display: block;
    width: 100%;
    height: 2.656vw;
    background: url(../img/common/fukidashi03.png) no-repeat center bottom/2.656vw auto;
  }
  header #header_search {
    cursor: pointer;
    margin-right: 0.781vw;
    margin-top: 1.563vw;
    position: relative;
  }
  header #header_search #search_btn {
    width: 3.438vw;
    height: 3.438vw;
    background: url(../img/common/ic_search.png) no-repeat left top/100% auto;
  }
  header #header_search img {
    max-width: 3.438vw;
  }
  header #header_search form {
    display: none;
    position: absolute;
    bottom: -6.25vw;
    left: 50%;
    transform: translate(-50%, 0);
    background: url(../img/common/fukidashi01.png) no-repeat center top/1.33vw auto;
    padding-top: 0.547vw;
  }
  header #header_search input[type=search] {
    font-family: inherit;
    height: 4.063vw;
    border-radius: 3.516vw;
    display: block;
    width: 21.875vw;
    background: #fff;
    outline: none;
    padding: 0 2.188vw;
  }
  header #header_search input[type=search]::placeholder {
    color: rgba(61, 38, 19, 0.3);
  }
  header #w_contact_btn {
    position: relative;
    margin-top: 1.563vw;
    margin-right: 1.3vw;
  }
  header #w_contact_btn.on:before {
    opacity: 1;
    visibility: visible;
  }
  header #w_contact_btn:before {
    transition: 0.4s linear;
    opacity: 0;
    visibility: hidden;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
    bottom: -2.578vw;
    content: "";
    display: block;
    width: 100%;
    height: 2.656vw;
    background: url(../img/common/fukidashi02.png) no-repeat center bottom/2.656vw auto;
  }
  header .contact_btn {
    font-weight: bold;
    color: #3d2613;
    background: #fff;
    width: 12.5vw;
    height: 3.438vw;
    line-height: 3.438vw;
    text-align: center;
    border-radius: 3.516vw;
    font-size: 1.016vw;
    letter-spacing: 0;
    display: block;
  }
  header #hb_menu {
    margin-top: 1.797vw;
    cursor: pointer;
    width: 2.422vw;
    height: 2.891vw;
    background: url(../img/common/hb.png) no-repeat left top/100% auto;
  }
  header .contact_hover {
    display: none;
    top: 8.906vw;
    position: fixed;
    background: #86c7c2;
    border-radius: 3.516vw;
    left: 2.344vw;
    right: 2.344vw;
    padding: 4.688vw 0;
  }
  header .contact_hover .grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 3.125vw;
  }
  header .contact_hover .grid a {
    color: var(--black);
    position: relative;
    background: #fff;
    border-radius: 1.563vw 0 1.563vw 0;
    padding: 2.813vw 2.344vw 3.125vw 14.453vw;
  }
  header .contact_hover .grid a:before {
    position: absolute;
    right: 0.938vw;
    bottom: 0.938vw;
    content: "";
    display: block;
    width: 2.188vw;
    height: 2.188vw;
    background: url(../img/common/arrow01.png) no-repeat left top/100% auto;
  }
  header .contact_hover .grid .c {
    background: #fff url(../img/common/contact01.png) no-repeat 2.5vw center/9.688vw auto;
  }
  header .contact_hover .grid .e {
    background: #fff url(../img/common/contact02.png) no-repeat 2.5vw center/9.688vw auto;
  }
  header .contact_hover .grid .ttl, header .contact_hover .grid .satoshi {
    line-height: 1.2;
  }
  header .contact_hover .grid .ttl {
    font-size: 1.406vw;
    font-weight: bold;
    margin-bottom: 0.391vw;
    letter-spacing: 0.05em;
  }
  header .contact_hover .grid .satoshi {
    font-size: 0.938vw;
    color: #3a938c;
    font-weight: 700;
    margin-bottom: 1.172vw;
  }
  header .contact_hover .grid .text {
    font-size: 1.094vw;
    line-height: 2;
    letter-spacing: 0.05em;
  }
  header .sub_nav {
    top: 8.906vw;
    position: fixed;
    background: #fff;
    border-radius: 3.516vw;
    left: 2.344vw;
    right: 2.344vw;
    padding: 3.125vw 1vw;
  }
  header .sub_nav a {
    color: var(--black);
  }
  header .sub_nav .btn {
    padding: 1.953vw 0 1.719vw;
    display: block;
    text-align: center;
    border-radius: 1.563vw 0 1.563vw 0;
    background: #e7f4f3;
    font-size: 1.25vw;
    position: relative;
  }
  header .sub_nav .btn:before {
    position: absolute;
    right: 0.938vw;
    bottom: 0.938vw;
    content: "";
    display: block;
    width: 1.875vw;
    height: 1.875vw;
    background: url(../img/common/arrow01.png) no-repeat left top/100% auto;
  }
  header .sub_nav .btn span {
    display: block;
    padding-top: 7.031vw;
  }
  header .sub_nav .bg01 {
    background: url(../img/common/nav01.png) no-repeat center top/5.78vw auto;
  }
  header .sub_nav .bg02 {
    background: url(../img/common/nav02.png) no-repeat center top/5.78vw auto;
  }
  header .sub_nav .bg03 {
    background: url(../img/common/nav03.png) no-repeat center top/5.78vw auto;
  }
  header .sub_nav .bg04 {
    background: url(../img/common/nav04.png) no-repeat center top/5.78vw auto;
  }
  header .sub_nav .bg05 {
    background: url(../img/common/nav05.png) no-repeat center top/5.78vw auto;
  }
  header .sub_nav .bg06 {
    background: url(../img/common/nav06.png) no-repeat center top/5.78vw auto;
  }
  header .sub_nav .bg07 {
    background: url(../img/common/nav07.png) no-repeat center top/5.78vw auto;
  }
  header .sub_nav .bg08 {
    background: url(../img/common/nav08.png) no-repeat center top/5.78vw auto;
  }
  header .sub_nav .bg09 {
    background: url(../img/common/nav09.png) no-repeat center top/5.78vw auto;
  }
  header .sub_nav .bg10 {
    background: url(../img/common/nav10.png) no-repeat center top/5.78vw auto;
  }
  header .sub_nav .bg11 {
    background: url(../img/common/nav11.png) no-repeat center top/5.78vw auto;
  }
  header .sub_nav .bg12 {
    background: url(../img/common/nav12.png) no-repeat center top/5.78vw auto;
  }
  header .sub_nav .bg13 {
    background: url(../img/common/nav13.png) no-repeat center top/5.78vw auto;
  }
  header .sub_nav .bg14 {
    background: url(../img/common/nav14.png) no-repeat center top/5.78vw auto;
  }
  header .sub_nav .bg15 {
    background: url(../img/common/nav15.png) no-repeat center top/5.78vw auto;
  }
  header .sub_nav .bg02 {
    background: url(../img/common/nav02.png) no-repeat center top/5.78vw auto;
  }
  header .sub_nav .bg03 {
    background: url(../img/common/nav03.png) no-repeat center top/5.78vw auto;
  }
  header .sub_nav ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 0.781vw;
    font-weight: bold;
  }
  header .sub_nav ul li {
    border-bottom: dashed 1px #86c7c2;
  }
  header .sub_nav ul a {
    display: block;
    padding: 1.172vw 0.781vw;
    background: url(../img/common/arrow02.png) no-repeat right 0.156vw center/0.782vw auto;
  }
  header #nav01 .grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0 2.344vw;
  }
  header #nav01 ul {
    margin-top: 0.234vw;
    margin-left: 1.172vw;
    margin-right: 1.172vw;
  }
  header #nav02 .grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 1.563vw;
    letter-spacing: -0.02em;
  }
  header #nav03 .grid {
    max-width: 26.95vw;
    margin-left: auto;
    margin-right: auto;
    display: grid;
    grid-template-columns: 1fr;
    letter-spacing: -0.02em;
  }
  header #nav04 .grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0 2.344vw;
  }
  header #nav04 ul {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0 0.781vw;
  }
  #header_overlay {
    display: none;
    z-index: 998;
    position: fixed;
    background: rgba(0, 0, 0, 0.5);
    width: 100%;
    height: 100%;
  }
  #g_nav .g_nav_close {
    z-index: 10;
    position: absolute;
    top: 1.953vw;
    right: 2.734vw;
    width: 4.688vw;
    height: 4.688vw;
    background: url(../img/common/close.png) no-repeat left top/100% auto;
    cursor: pointer;
  }
  #g_nav:after {
    width: calc(50% - 15.625vw);
  }
  #g_nav .flex {
    max-width: 100vw;
  }
  #g_nav .flex .left {
    padding-right: 2vw;
    padding-left: 2vw;
    width: calc(100% - 69.922vw);
  }
  #g_nav .flex .buttons {
    margin-bottom: 5.859vw;
  }
  #g_nav .flex .buttons li {
    margin-bottom: 1.563vw;
  }
  #g_nav .flex .buttons a {
    border-radius: 3.906vw;
    height: 5.625vw;
    font-size: 1.3vw;
  }
  #g_nav .flex .buttons a:before {
    right: 1.25vw;
    width: 3.125vw;
    height: 3.125vw;
    background: url(../img/common/arrow03.png) no-repeat left top/100% auto;
  }
  #g_nav .flex .buttons .mail {
    background: #fff url(../img/common/ic_mail.png) no-repeat 2.5vw center/2.5vw auto;
  }
  #g_nav .flex .buttons .est {
    background: #fff url(../img/common/ic_est.png) no-repeat 2.5vw center/2.18vw auto;
  }
  #g_nav .flex .buttons .guide {
    background: #fff url(../img/common/ic_guide.png) no-repeat 2.18vw center/3.125vw auto;
  }
  #g_nav .flex .list {
    padding-left: 1.563vw;
  }
  #g_nav .flex .list a {
    font-size: 1.35vw;
  }
  #g_nav .flex .right {
    border-radius: 3.906vw 0 0 0;
    width: 69.922vw;
    padding: 8.203vw 0 8.203vw 5vw;
  }
  #g_nav .flex .grid {
    gap: 0 3.906vw;
  }
  #g_nav .flex .grid .ttl {
    font-size: 1.6vw;
    margin: 3.906vw 0 2.344vw;
  }
  #g_nav .flex .grid .ttl a {
    padding: 0.234vw 0 0.234vw 1.875vw;
  }
  #g_nav .flex .grid .ttl a:before {
    width: 0.391vw;
    border-radius: 0.781vw;
  }
  #g_nav .flex .grid .sub_ttl {
    margin: 2.344vw 0 1.563vw;
    padding-left: 1.563vw;
    font-size: 1.5vw;
  }
  #g_nav .flex .grid .sub_ttl:before {
    top: 1.1vw;
    width: 0.781vw;
    height: 0.234vw;
    border-radius: 0.391vw;
  }
  #g_nav .flex .grid ul {
    font-size: 1.4vw;
    display: grid;
    gap: 0.781vw 0;
    padding-left: 1.563vw;
  }
}
@media screen and (min-width: 767px) and (max-width: 1150px) {
  .w1100 {
    padding-left: 2%;
    padding-right: 2%;
  }
  .btn01, .btn02, .btn03, .btn04, .btn06 {
    height: 6.261vw;
    line-height: 6.261vw;
    border-radius: 4.348vw;
    font-size: 1.5vw;
  }
  .btn01:before, .btn02:before, .btn03:before, .btn04:before, .btn06:before {
    right: 1.565vw;
    width: 3.478vw;
    height: 3.478vw;
  }
  .btn02, .btn03, .btn04, .btn06 {
    max-width: 31vw;
  }
  .btn05 {
    position: relative;
    text-decoration: none;
    color: var(--black);
    font-size: 1.391vw;
    font-weight: bold;
    padding-right: 5.217vw;
  }
  .btn05:hover {
    text-decoration: none;
  }
  .btn05:hover:hover:before {
    animation: btnArrow 0.6s ease;
  }
  .btn05:before {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    right: 0;
    content: "";
    display: block;
    width: 3.478vw;
    height: 3.478vw;
    background: url(../img/common/btn03.png) no-repeat left top/100% auto;
  }
  .w_ttl01 {
    margin-bottom: 3.913vw;
  }
  .w_ttl01 h2 {
    background: url(../img/common/ttl01_green.png) no-repeat center top/4vw auto;
    position: relative;
    text-align: center;
    padding-bottom: 2.087vw;
    padding-top: 6.087vw;
  }
  .w_ttl01 .ja_min {
    display: block;
    font-size: 2.087vw;
    line-height: 1.4;
  }
  .w_ttl01 .ja {
    font-size: 3.13vw;
    position: relative;
    z-index: 1;
  }
  .w_ttl01 .satoshi {
    display: block;
    line-height: 1;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
    font-size: 10.435vw;
    color: #fff;
    bottom: 0;
    width: 100%;
  }
  .w_ttl01 .color2 {
    color: #eef7f4;
  }
  .w_ttl01 .color3 {
    color: #f7f7f3;
  }
  .w_ttl01 .color4 {
    opacity: 0.12;
    bottom: 1.304vw;
  }
  .w_ttl02, .w_ttl03, .w_ttl04 {
    margin-bottom: 3.913vw;
  }
  .w_ttl02 h2, .w_ttl03 h2, .w_ttl04 h2 {
    background: url(../img/common/ttl01_green.png) no-repeat left top/4vw auto;
    position: relative;
    padding-bottom: 2.087vw;
    padding-top: 6.087vw;
  }
  .w_ttl02 .ja, .w_ttl03 .ja, .w_ttl04 .ja {
    font-size: 2.783vw;
    position: relative;
    z-index: 1;
  }
  .w_ttl02 .satoshi, .w_ttl03 .satoshi, .w_ttl04 .satoshi {
    display: block;
    line-height: 1;
    position: absolute;
    left: 0;
    font-size: 9.391vw;
    color: #fff;
    bottom: 0;
    width: 100%;
  }
  .w_ttl02 .brown, .w_ttl03 .brown, .w_ttl04 .brown {
    color: #f7f7f3;
  }
  .w_ttl02 .lb, .w_ttl03 .lb, .w_ttl04 .lb {
    color: #f0f8f6;
  }
  .w_ttl03 h2 {
    background-position: center top;
  }
  .w_ttl03 .satoshi {
    left: 50%;
    transform: translate(-50%, 0);
  }
  .w_ttl03 .brown {
    color: #f7f7f3;
  }
  .w_ttl03 .lb {
    color: #f0f8f6;
  }
  .ttl01 {
    font-size: 2.087vw;
    font-weight: bold;
    position: relative;
    padding-left: 2.261vw;
    line-height: 1.5;
    margin: 0 0 3.478vw;
  }
  .ttl01:before {
    position: absolute;
    left: 0;
    content: "";
    display: block;
    width: 0.435vw;
    height: 100%;
    background: #49b0a8;
    border-radius: 0.522vw;
  }
  .under_main_ttl {
    position: relative;
    margin-left: 4vw;
  }
  .under_main_ttl * {
    margin: 0;
  }
  .under_main_ttl .ja {
    position: relative;
    z-index: 1;
    font-size: 3.13vw;
    letter-spacing: 0.1em;
  }
  .under_main_ttl .satoshi {
    left: -3.478vw;
    top: 50%;
    transform: translate(0, -50%);
    position: absolute;
    font-size: 10.435vw;
    color: transparent;
    -webkit-text-stroke: 2px #fff;
    text-stroke: 2px #fff;
  }
  .under_main_ttl .satoshi.light {
    -webkit-text-stroke: 1px #fff;
    text-stroke: 1px #fff;
    opacity: 0.4;
  }
  #bread {
    font-size: 1.043vw;
    display: flex;
  }
  #bread li:first-child a {
    background: url(../img/common/ic_home.png) no-repeat left center/14px auto;
    padding-left: 1.739vw;
  }
  #bread li:not(:last-child) {
    background: url(../img/common/bread.png) no-repeat right center/6px auto;
    padding-right: 1.565vw;
    margin-right: 0.87vw;
  }
  #bread a {
    text-decoration: underline;
    color: var(--black);
  }
  #pc_fix_line {
    z-index: 11;
    position: fixed;
    right: 2vw;
    bottom: 2vw;
    display: none;
  }
  #pc_fix_line img {
    max-width: 14vw;
  }
  #footer_bg {
    background: url(../img/common/bg_lb.png) no-repeat right bottom/50vw auto, url(../img/common/bg_mc.png);
    padding-bottom: 3.125vw;
  }
  #footer_bg #f_logo {
    right: 9.766vw;
    bottom: 1.406vw;
  }
  #footer_bg #f_logo img {
    max-width: 12.969vw;
  }
  #w_cta {
    top: -10.435vw;
    font-size: 1.35vw;
    gap: 0 3vw;
  }
  #w_cta > div {
    border-radius: 3.478vw;
    padding: 3.913vw 0 4.348vw;
  }
  #w_cta .bg_mail {
    background: url(../img/common/cta_bg01.png) no-repeat right top/14.8vw auto, url(../img/common/cta_bg02.png) no-repeat left bottom/17.73vw auto, #fff;
  }
  #w_cta .bg_est {
    background: url(../img/common/cta_bg03.png) no-repeat right top/16.34vw auto, url(../img/common/cta_bg04.png) no-repeat left bottom/16.87vw auto, #fff;
  }
  #w_cta .inner {
    max-width: 36vw;
  }
  #w_cta h2 {
    font-size: 2.087vw;
    padding-top: 13.043vw;
  }
  #w_cta .mail {
    background: url(../img/common/cta_mail.png) no-repeat left top/10.4vw auto;
  }
  #w_cta .est {
    background: url(../img/common/cta_est.png) no-repeat left top/10.4vw auto;
  }
  #w_cta .satoshi {
    font-size: 1.217vw;
    margin-bottom: 0.87vw;
  }
  #w_cta .text {
    margin-bottom: 3.478vw;
  }
  #footer_nav {
    gap: 0 1vw;
    margin-bottom: 7.826vw;
  }
  #footer_nav > div .ttl:first-child {
    margin-top: 0;
  }
  #footer_nav .ttl {
    font-size: 1.7vw;
    font-weight: bold;
    margin: 4.348vw 0 2.609vw;
  }
  #footer_nav .ttl a {
    padding: 0.261vw 0 0.261vw 2.087vw;
  }
  #footer_nav .ttl a:before {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    display: block;
    width: 0.435vw;
    height: 100%;
    background: #fff;
    border-radius: 0.87vw;
  }
  #footer_nav .sub_ttl {
    position: relative;
    margin: 2.609vw 0 1.739vw;
    padding-left: 1.739vw;
    font-size: 1.6vw;
  }
  #footer_nav .sub_ttl:before {
    position: absolute;
    left: 0;
    top: 1.043vw;
    content: "";
    display: block;
    width: 0.87vw;
    height: 0.261vw;
    background: #fff;
    border-radius: 0.435vw;
  }
  #footer_nav .sub_ttl a {
    font-weight: bold;
  }
  #footer_nav ul {
    line-height: 2;
    padding-left: 1.739vw;
  }
  #footer_nav ul a {
    text-decoration: none;
    font-size: 1.5vw;
  }
  footer #pt {
    display: block;
    color: #fff;
    font-size: 1.043vw;
    text-align: center;
    border-top: dashed 1px #fff;
    border-bottom: dashed 1px #fff;
    padding: 1.565vw 0 1.043vw;
    margin-bottom: 3.478vw;
  }
  footer #pt span {
    display: inline-block;
    padding-top: 2.957vw;
    background: url(../img/common/pt.png) no-repeat center top/3.05vw auto;
  }
  footer .banners {
    margin: 0 0 2.609vw;
    display: flex;
    align-items: center;
  }
  footer .banners .bn {
    max-width: 20vw;
    margin-right: 2.609vw;
  }
  footer .banners .insta {
    max-width: 5.217vw;
  }
  footer .nav {
    font-size: 1.3vw;
    margin: 0 0 0.435vw;
    display: flex;
    line-height: 1.2;
  }
  footer .nav li {
    margin-bottom: 0;
  }
  footer .nav li:not(:last-child):after {
    content: "|";
    display: inline-block;
    margin: 0 0.8em;
  }
  footer .nav a {
    color: var(--black);
    text-decoration: none;
  }
  footer small {
    font-size: 1.2vw;
  }
  #comp_text p {
    letter-spacing: 0.025em;
    margin-bottom: 3.478vw;
  }
  #comp_text p .bold {
    font-weight: bold;
  }
  #comp_text p .ul {
    text-decoration: underline;
  }
  #comp_text .btn02 {
    width: 31.304vw;
    margin-top: 5.217vw;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 768px) {
  #footer_nav .ttl + div {
    display: block !important;
  }
  #sp_fix_nav, #sp_pt {
    display: none !important;
  }
  .sp_block {
    display: none !important;
  }
  #top #section09 ul a.off,
  footer .banners a.off,
  footer .nav a.off,
  #footer_nav a.off,
  header .main > li > a.off,
  #g_nav .flex .grid a.off,
  #g_nav .flex .list a.off,
  header .sub_nav a.off {
    cursor: default !important;
  }
  #top #section09 ul a:not(.off),
  footer .banners a:not(.off),
  footer .nav a:not(.off),
  #footer_nav a:not(.off),
  header .main > li > a:not(.off),
  #g_nav .flex .grid a:not(.off),
  #g_nav .flex .list a:not(.off),
  header .sub_nav a:not(.off) {
    transition: opacity 0.4s ease;
  }
  #top #section09 ul a:not(.off):hover,
  footer .banners a:not(.off):hover,
  footer .nav a:not(.off):hover,
  #footer_nav a:not(.off):hover,
  header .main > li > a:not(.off):hover,
  #g_nav .flex .grid a:not(.off):hover,
  #g_nav .flex .list a:not(.off):hover,
  header .sub_nav a:not(.off):hover {
    opacity: 0.6;
    transform: rotate(0.03deg);
  }
}
/*―――――――――――――――――――――――――*
*	スマホ
*―――――――――――――――――――――――――*/
@media screen and (max-width: 767px) {
  :root :where(body) {
    padding-bottom: 16vw;
  }
  :root :where(body).page-id-33, :root :where(body).page-id-70, :root :where(body).page-id-68, :root :where(body).page-id-66, :root :where(body).page-id-62 {
    padding-bottom: 0;
  }
  .sp_none {
    display: none;
  }
  .w1320, .w1100 {
    padding-left: 4vw;
    padding-right: 4vw;
  }
  .w_ttl01 {
    margin-bottom: 6.6666666667vw;
  }
  .w_ttl01 h2 {
    padding-bottom: 5.3333333333vw;
    margin: 0;
    background-size: 8.5333333333vw auto;
    padding-top: 9.3333333333vw;
  }
  .w_ttl01 .ja {
    font-size: 5.8666666667vw;
  }
  .w_ttl01 .satoshi {
    font-size: 17.6vw;
    bottom: 1.6vw;
  }
  .w_ttl02, .w_ttl03, .w_ttl04 {
    text-align: center;
    margin: 0 0 5.3333333333vw;
  }
  .w_ttl02 h2, .w_ttl03 h2, .w_ttl04 h2 {
    background-size: 8.5333333333vw auto;
    padding-top: 9.3333333333vw;
    padding-bottom: 2.6666666667vw;
    background-position: center top;
  }
  .w_ttl02 .ja, .w_ttl03 .ja, .w_ttl04 .ja {
    font-size: 5.8666666667vw;
  }
  .w_ttl02 .satoshi, .w_ttl03 .satoshi, .w_ttl04 .satoshi {
    font-size: 16vw;
  }
  .w_ttl03 .ja {
    line-height: 1.5;
  }
  .w_ttl03 .satoshi {
    bottom: 4.2666666667vw;
  }
  .under_main_ttl {
    padding-left: 4vw;
  }
  .under_main_ttl .ja {
    font-size: 6.9333333333vw;
  }
  .under_main_ttl .satoshi {
    -webkit-text-stroke: 1px #fff;
    text-stroke: 1px #fff;
    font-size: 14.4vw;
    left: 0;
  }
  .ttl01 {
    font-size: 4.8vw;
    padding-left: 4.8vw;
    height: 7.4666666667vw;
    margin-bottom: 6.6666666667vw;
  }
  .ttl01:before {
    width: 1.0666666667vw;
  }
  .btn01, .btn02, .btn03, .btn04, .btn06 {
    height: 16.5333333333vw;
    font-size: 3.4666666667vw;
    line-height: 16.5333333333vw;
    border-radius: 13.3333333333vw;
  }
  .btn01:before, .btn02:before, .btn03:before, .btn04:before, .btn06:before {
    width: 9.6vw;
    height: 9.6vw;
    right: 4vw;
  }
  .btn01, .btn02, .btn03, .btn04, .btn06 {
    max-width: 100%;
    width: 76vw;
    line-height: 1.6;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .btn05 {
    position: relative;
    font-size: 3.7333333333vw;
    display: block;
    width: fit-content;
    margin-left: auto;
    padding-right: 13.3333333333vw;
  }
  .btn05:before {
    width: 9.6vw;
    height: 9.6vw;
  }
  #bread {
    font-size: 2.6666666667vw;
    white-space: nowrap;
    max-width: 88vw;
    width: fit-content;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  #bread li {
    display: inline;
  }
  #bread li:not(:last-child) {
    background-size: 1.0666666667vw auto;
    padding-right: 3.2vw;
    margin-right: 1.8666666667vw;
  }
  #bread li:first-child a {
    padding-left: 3.7333333333vw;
    background-size: 2.6666666667vw auto;
  }
  header {
    position: absolute;
    top: 0;
    padding-left: 2.6666666667vw;
    padding-top: 4vw;
  }
  header nav, header #header_search, header #w_contact_btn {
    display: none;
  }
  header.on {
    padding-left: 2.6666666667vw;
    height: auto;
    left: 0;
    width: 100%;
    box-shadow: none;
    background: none;
  }
  header.on #hb_menu {
    background-image: url(../img/common/hb.png);
    height: 9.0666666667vw;
  }
  header #header_logo img {
    max-width: 53.3333333333vw;
  }
  header #header_logo.under {
    position: relative;
    padding-top: 0;
  }
  header #header_logo.under img {
    max-width: 45.3333333333vw;
  }
  header #hb_menu {
    position: absolute;
    margin-top: 0;
    width: 9.6vw;
    right: 5.3333333333vw;
    top: 4.2666666667vw;
    height: 12.2666666667vw;
  }
  #g_nav:after {
    content: none;
  }
  #g_nav .g_nav_close {
    right: 4vw;
    top: 2.6666666667vw;
    width: 13.3333333333vw;
    height: 13.3333333333vw;
  }
  #g_nav .flex {
    flex-wrap: wrap;
    flex-direction: column-reverse;
  }
  #g_nav .flex .pc {
    display: none;
  }
  #g_nav .flex .sp {
    display: block;
  }
  #g_nav .flex .sp form {
    border-bottom: dashed 1px #aea8a2;
    padding-bottom: 5.3333333333vw;
  }
  #g_nav .flex .sp .w_input {
    position: relative;
    max-width: 100%;
  }
  #g_nav .flex .sp input[type=search] {
    font-size: 3.4666666667vw;
    background: #f0efee;
    display: block;
    border-radius: 13.3333333333vw;
    font-weight: bold;
    outline: none;
    height: 12vw;
    padding: 0 13.3333333333vw 0 5.3333333333vw;
  }
  #g_nav .flex .sp input[type=search]::placeholder {
    color: #c5c1bf;
  }
  #g_nav .flex .sp input[type=submit] {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    right: 4.2666666667vw;
    display: block;
    width: 0;
    height: 0;
    padding: 5.8666666667vw 5.6vw 0 0;
    background: url(../img/common/ic_search_sp.png) no-repeat left top/100% auto;
    border: none;
    overflow: hidden;
    cursor: pointer;
  }
  #g_nav .flex .left {
    width: 100%;
    background: url(../img/common/hb_menu_bg_sp.jpg) no-repeat left top/cover;
    padding: 22.6666666667vw 0 16vw;
    margin-top: -8vw;
  }
  #g_nav .flex .left > div {
    max-width: 76vw;
    margin-left: auto;
    margin-right: auto;
  }
  #g_nav .flex .right {
    position: relative;
    z-index: 1;
    width: 100%;
    border-radius: 0 0 0 8vw;
    padding: 20vw 8vw 17.3333333333vw;
  }
  #g_nav .flex .buttons {
    margin-bottom: 10.6666666667vw;
  }
  #g_nav .flex .buttons li {
    margin-bottom: 4vw;
  }
  #g_nav .flex .buttons a {
    height: 16.8vw;
    font-size: 3.4666666667vw;
  }
  #g_nav .flex .buttons a:before {
    width: 9.6vw;
    height: 9.6vw;
    right: 4.2666666667vw;
  }
  #g_nav .flex .buttons .mail {
    background-size: 7.4666666667vw auto;
    background-position: 8vw center;
  }
  #g_nav .flex .buttons .est {
    background-size: 6.9333333333vw auto;
    background-position: 8vw center;
  }
  #g_nav .flex .buttons .guide {
    background-position: 6.9333333333vw center;
    background-size: 9.0666666667vw auto;
  }
  #g_nav .flex .list {
    padding-left: 0;
    margin-bottom: 8vw;
  }
  #g_nav .flex .list a {
    font-size: 3.2vw;
  }
  #g_nav .sp a {
    color: var(--black);
    text-decoration: none;
  }
  #g_nav .sp .ttl {
    font-size: 4.2666666667vw;
    font-weight: bold;
    padding: 4.2666666667vw 0 4.2666666667vw;
    cursor: pointer;
    border-bottom: dashed 1px #aea8a2;
  }
  #g_nav .sp .ttl.acd {
    position: relative;
  }
  #g_nav .sp .ttl.acd.on {
    border-bottom: none;
  }
  #g_nav .sp .ttl.acd.on:after {
    opacity: 0;
  }
  #g_nav .sp .ttl.acd:before, #g_nav .sp .ttl.acd:after {
    right: 0;
    top: 50%;
    position: absolute;
    content: "";
    display: block;
    background: #49b0a8;
    width: 3.4666666667vw;
    height: 0.5333333333vw;
  }
  #g_nav .sp .ttl.acd:after {
    transform: rotate(90deg);
  }
  #g_nav .sp .ttl + div {
    padding: 1.3333333333vw 0 6.6666666667vw;
    display: none;
    border-bottom: dashed 1px #aea8a2;
  }
  #g_nav .sp .ttl + div ul:last-child {
    margin-bottom: 0;
  }
  #g_nav .sp .ttl:first-child {
    border-top: none;
  }
  #g_nav .sp .ttl.not_acd {
    padding: 0;
  }
  #g_nav .sp .ttl.not_acd a {
    display: block;
    padding: 4.2666666667vw 0 4.2666666667vw;
    background: url(../img/common/arrow02.png) no-repeat center right/2.6666666667vw auto;
  }
  #g_nav .sp .sub_ttl {
    position: relative;
    font-size: 4vw;
    font-weight: bold;
    padding-left: 4vw;
    margin-bottom: 1.3333333333vw;
  }
  #g_nav .sp .sub_ttl:before {
    position: absolute;
    left: 0;
    top: 3px;
    content: "";
    display: block;
    width: 0.8vw;
    height: 4.2666666667vw;
    border-radius: 2.6666666667vw;
    background: #49b0a8;
  }
  #g_nav .sp ul {
    padding-left: 4vw;
    margin-bottom: 6.6666666667vw;
    font-size: 3.7333333333vw;
  }
  #g_nav .sp ul li {
    margin-bottom: 0.8vw;
  }
  #footer_bg {
    background: url(../img/common/bg_lb_sp.png) no-repeat right bottom/98vw auto, url(../img/common/bg_mc.png);
    padding-bottom: 50.6666666667vw;
  }
  #footer_bg.bg_green:before {
    background: url(../img/common/body_bg2.jpg);
  }
  #footer_bg #f_logo {
    width: 30.6666666667vw;
    right: 9.3333333333vw;
    bottom: 3.7333333333vw;
  }
  #footer_bg #f_logo img {
    width: 100%;
  }
  #footer_bg:before {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    display: block;
    width: 100%;
    height: 26.6666666667vw;
    background: #f4f4ed url(../img/common/body_bg.jpg);
  }
  #w_cta {
    position: relative;
    top: auto;
    padding-top: 0;
    grid-template-columns: 1fr;
    gap: 4vw 0;
    margin-bottom: 0;
  }
  #w_cta .inner {
    max-width: 100%;
  }
  #w_cta > div {
    border-radius: 6.6666666667vw;
    padding: 8vw 8vw 6.6666666667vw;
  }
  #w_cta .bg_mail {
    background: url(../img/common/cta_bg01_sp.png) no-repeat right top/27.2vw auto, url(../img/common/cta_bg02_sp.png) no-repeat left bottom/28.2666666667vw auto, #fff;
  }
  #w_cta .bg_est {
    background: url(../img/common/cta_bg03_sp.png) no-repeat right top/28.8vw auto, url(../img/common/cta_bg04_sp.png) no-repeat left bottom/27.7333333333vw auto, #fff;
  }
  #w_cta h2, #w_cta .satoshi, #w_cta .text {
    padding-left: 4vw;
    padding-right: 4vw;
  }
  #w_cta h2 {
    font-size: 5.0666666667vw;
    padding-top: 29.3333333333vw;
    background-size: 24vw auto !important;
    background-position: 4vw top !important;
  }
  #w_cta .satoshi {
    font-size: 3.2vw;
    margin-bottom: 4vw;
  }
  #w_cta .text {
    font-size: 3.4666666667vw;
    margin-bottom: 8vw;
  }
  #w_cta .btn01 {
    width: 100%;
  }
  #pc_fix_line {
    display: none !important;
  }
  #sp_fix_nav {
    display: none;
    position: fixed;
    background: #fff;
    z-index: 99;
    left: 0;
    bottom: 0;
    width: 100%;
    border-radius: 2.6666666667vw 2.6666666667vw 0 0;
    box-shadow: 0 0 8px 4px rgba(42, 104, 107, 0.15);
    overflow: hidden;
  }
  #sp_fix_nav > div {
    display: flex;
    justify-content: space-between;
    height: 16vw;
  }
  #sp_fix_nav > div a {
    text-decoration: none;
    width: 42%;
    color: var(--black);
    font-size: 2.6666666667vw;
    text-align: center;
    padding-top: 10.1333333333vw;
  }
  #sp_fix_nav > div .mail {
    background: url(../img/common/ic_mail2.png) no-repeat center 3.7333333333vw/6.1333333333vw auto;
  }
  #sp_fix_nav > div .est {
    background: #e76874 url(../img/common/ic_est2.png) no-repeat center 2.6666666667vw/5.3333333333vw auto;
    color: #fff;
  }
  #sp_fix_nav > div .line {
    background: #47ca56 url(../img/common/line2.svg) no-repeat center 3.2vw/5.8666666667vw auto;
    color: #fff;
  }
  #sp_fix_nav > div .hb_menu {
    cursor: pointer;
    width: 16%;
    background: url(../img/common/hb_g.png) no-repeat center/7.4666666667vw auto;
  }
  #sp_pt {
    display: none;
    z-index: 99;
    position: fixed;
    width: 12.2666666667vw;
    height: 12.2666666667vw;
    right: 2.6666666667vw;
    bottom: 18.6666666667vw;
  }
  #sp_pt img {
    width: 100%;
  }
  #footer_nav {
    grid-template-columns: 1fr;
    gap: 0;
    padding-left: 4vw;
    padding-right: 4vw;
    margin-top: 18.6666666667vw;
    margin-bottom: 16vw;
  }
  #footer_nav .ttl {
    font-size: 3.7333333333vw;
    font-weight: bold;
    padding: 4.2666666667vw 0 4.2666666667vw;
    cursor: pointer;
    border-bottom: dashed 1px #fff;
    margin-bottom: 0;
    margin-top: 0;
  }
  #footer_nav .ttl a {
    display: inline-block;
    padding: 0;
  }
  #footer_nav .ttl a:before {
    content: none;
  }
  #footer_nav .ttl.not_acd {
    padding: 0;
    margin-bottom: 0;
    border-bottom: dashed 1px #fff;
  }
  #footer_nav .ttl.not_acd a {
    font-size: 3.7333333333vw;
    display: block;
    padding: 4.2666666667vw 0 4.2666666667vw;
    background: url(../img/common/arrow04.png) no-repeat center right/2.6666666667vw auto;
  }
  #footer_nav .ttl.acd {
    position: relative;
  }
  #footer_nav .ttl.acd.on {
    border-bottom: none;
  }
  #footer_nav .ttl.acd.on:after {
    opacity: 0;
  }
  #footer_nav .ttl.acd:before, #footer_nav .ttl.acd:after {
    right: 0;
    top: 50%;
    position: absolute;
    content: "";
    display: block;
    background: #fff;
    width: 3.4666666667vw;
    height: 0.5333333333vw;
  }
  #footer_nav .ttl.acd:after {
    transform: rotate(90deg);
  }
  #footer_nav .ttl + div {
    padding: 1.3333333333vw 0 6.6666666667vw;
    display: none;
    border-bottom: dashed 1px #fff;
  }
  #footer_nav .ttl + div .sub_ttl:first-child {
    margin-top: 0;
  }
  #footer_nav .ttl + div ul:last-child {
    margin-bottom: 0;
  }
  #footer_nav .ttl:first-child {
    border-top: none;
  }
  #footer_nav .sub_ttl {
    position: relative;
    font-size: 3.4666666667vw;
    font-weight: bold;
    padding-left: 4vw;
    margin-bottom: 1.3333333333vw;
    margin-top: 5.3333333333vw;
  }
  #footer_nav .sub_ttl:before {
    position: absolute;
    left: 0;
    top: 3px;
    content: "";
    display: block;
    width: 0.8vw;
    height: 4.2666666667vw;
    border-radius: 2.6666666667vw;
    background: #fff;
  }
  #footer_nav ul {
    font-size: 3.2vw;
    font-weight: bold;
    cursor: pointer;
  }
  #footer_nav ul.w_not_acd {
    padding-left: 0;
  }
  #footer_nav ul li.not_acd {
    padding: 0;
    margin-bottom: 0;
    border-bottom: dashed 1px #fff;
  }
  #footer_nav ul li.not_acd a {
    font-size: 3.7333333333vw;
    display: block;
    padding: 4.2666666667vw 0 4.2666666667vw;
    background: url(../img/common/arrow04.png) no-repeat center right/2.6666666667vw auto;
  }
  footer #pt {
    font-size: 2.9333333333vw;
    max-width: fit-content;
    margin: 0 auto 10.6666666667vw;
    border-top: none;
    border-bottom: none;
    padding: 0;
  }
  footer #pt span {
    background-size: 9.0666666667vw auto;
    padding-top: 8.5333333333vw;
  }
  footer .banners {
    position: relative;
    display: block;
    padding-left: 4vw;
    padding-right: 4vw;
    margin-bottom: 9.3333333333vw;
  }
  footer .banners .bn {
    max-width: 100%;
    margin-right: 0;
  }
  footer .banners li:last-child {
    position: absolute;
    width: 16.8vw;
    right: 4vw;
    bottom: -24.5333333333vw;
  }
  footer .banners .insta {
    max-width: 16vw;
  }
  footer .banners .insta img {
    width: 100%;
  }
  footer .nav {
    padding-left: 4vw;
    padding-right: 4vw;
    font-size: 3.2vw;
    display: block;
    margin-bottom: 6.6666666667vw;
  }
  footer .nav li {
    margin-bottom: 2.6666666667vw;
  }
  footer .nav li:after {
    content: none !important;
  }
  footer small {
    font-size: 2.9333333333vw;
    padding-left: 4vw;
  }
  .guidebook_cta {
    padding: 10.6666666667vw 0;
    height: auto;
    display: block;
    background: url(../img/common/guidebook_bg_sp.png) no-repeat center/cover;
    border-radius: 5.3333333333vw;
  }
  .guidebook_cta .left, .guidebook_cta .right {
    width: 100%;
  }
  .guidebook_cta .left {
    background: none;
    padding: 0;
    text-align: center;
    min-height: 0;
  }
  .guidebook_cta .left h2 {
    background: url(../img/common/guidebook_sp.png) no-repeat 4vw bottom/79.4666666667vw auto;
    padding-bottom: 68%;
  }
  .guidebook_cta .left h2 span:first-child {
    margin-bottom: 4vw;
    font-size: 3.4666666667vw;
    padding: 0.8vw 5.3333333333vw 0.8vw;
  }
  .guidebook_cta .left h2 span:last-child {
    font-size: 5.8666666667vw;
  }
  .guidebook_cta .right {
    padding: 8vw 8vw 0;
  }
  .guidebook_cta .right p {
    font-size: 3.4666666667vw;
    line-height: 2;
    margin-bottom: 8vw;
  }
  .guidebook_cta .right ul {
    gap: 2.6666666667vw 0;
  }
  .guidebook_cta .right .btn03, .guidebook_cta .right .btn04 {
    padding-right: 4vw;
  }
  .for_groups {
    border-radius: 5.3333333333vw;
    padding: 12vw 8vw 21.3333333333vw;
    background-image: url(../img/top/sc08_sp.jpg);
  }
  .for_groups .w_ttl01 {
    margin-bottom: 1.3333333333vw;
  }
  .for_groups .w_ttl01 .satoshi {
    display: none;
    white-space: nowrap;
    font-size: 18.1333333333vw;
    left: -26%;
    transform: none;
    bottom: 8.5333333333vw;
  }
  .for_groups .w_ttl01 h2 {
    padding-top: 11.2vw;
  }
  .for_groups .w_ttl01 .ja_min {
    font-size: 3.2vw;
    margin-bottom: 0.5333333333vw;
  }
  .for_groups .w_ttl01 .ja {
    font-size: 5.8666666667vw;
    line-height: 1.4;
  }
  .for_groups .lead {
    font-size: 3.4666666667vw;
    text-align: left;
    line-height: 2;
    margin-bottom: 10.6666666667vw;
  }
  .for_groups h3 {
    width: 100%;
    background: url(../img/common/rebon_sp.png) no-repeat left top/100% auto;
    height: 16.5333333333vw;
    font-size: 3.7333333333vw;
    line-height: 1.6;
    padding-top: 2.1333333333vw;
    margin-bottom: 8vw;
  }
  .for_groups ul {
    grid-template-columns: 1fr;
    gap: 5.3333333333vw 0;
  }
  .for_groups ul li {
    height: 29.3333333333vw;
    font-size: 3.7333333333vw;
    line-height: 1.6;
    border-width: 0.5333333333vw;
    background-size: 2.4vw auto;
    border-radius: 0 4vw;
  }
  .for_groups ul li:before {
    width: 12.2666666667vw;
    height: 12.2666666667vw;
    font-size: 3.2vw;
    top: -3.2vw;
    left: -2.6666666667vw;
  }
  .for_groups .btn02 {
    width: 76vw;
    bottom: -8.2666666667vw;
  }
  #under_mv {
    position: relative;
    height: 73.3333333333vw;
    padding-top: 32vw;
    background-image: url(../img/archive/mv_sp.jpg);
  }
  #under_mv:before {
    width: 61.3333333333vw;
    background-image: url(../img/common/bg01_sp.png);
  }
  #under_mv:after {
    width: 92vw;
    height: 10.6666666667vw;
    border-radius: 5.3333333333vw 5.3333333333vw 0 0;
    bottom: -1px;
  }
  #under_mv .under_main_ttl {
    margin: 0 0 0;
    padding-left: 8vw;
  }
  #under_mv .under_main_ttl .ja {
    font-size: 6.9333333333vw;
  }
  #under_mv .under_main_ttl .satoshi {
    display: none;
  }
  #under_mv #bread {
    justify-content: flex-start;
    white-space: nowrap;
    position: absolute;
    margin: 0 0 0 auto;
    bottom: 14.4vw;
    left: 8vw;
    right: 8vw;
    max-width: 84vw;
    width: fit-content;
  }
  #comp_text {
    padding-left: 4vw;
    padding-right: 4vw;
  }
  #comp_text p {
    font-size: 3.4666666667vw;
    line-height: 2;
    margin-bottom: 6.6666666667vw;
  }
  #comp_text .btn02 {
    width: 100%;
    margin-top: 13.3333333333vw;
  }
}
#top {
  overflow: hidden;
}
#top #w_mv {
  position: relative;
  background: url(../img/top/mv_bg01.png) no-repeat right 120px top/408px auto, url(../img/top/mv_bg02.png) no-repeat left 205px/381px auto, url(../img/top/mv_bg03.png) no-repeat right 503px/610px auto, url(../img/common/bg01.png) no-repeat left top, url(../img/common/bg_mc.png);
  padding-top: 160px;
  padding-bottom: 200px;
}
#top #w_mv .catch_copy {
  overflow: hidden;
  position: absolute;
  bottom: 135px;
  left: 50%;
  transform: translate(-50%, 0);
  line-height: 1;
  margin: 0 0 0 -60px;
  width: 2860px;
}
#top #w_mv .catch_copy img {
  width: 100%;
  max-width: 100%;
}
#top #mv {
  max-width: 792px;
  margin-left: auto;
  margin-right: auto;
  opacity: 0;
}
#top #mv.slick-initialized {
  opacity: 1;
}
#top #mv a {
  color: var(--black);
}
#top #mv * {
  margin: 0;
}
#top #mv .slick-list {
  overflow: visible;
}
#top #mv .slide {
  margin: 0 75px;
  outline: none;
  transform-origin: center;
  transform: scale(0.725);
  transition: opacity 0.5s, transform 0.5s;
}
#top #mv .slide a {
  transition: opacity 0.6s ease;
  display: block;
}
#top #mv .slide a:hover {
  opacity: 0.6;
}
#top #mv .slide .w_text {
  transition: opacity 0.5s ease;
  opacity: 0;
  visibility: hidden;
  position: absolute;
  left: -100px;
  bottom: 90px;
  letter-spacing: 0.1em;
}
#top #mv .slide .text01, #top #mv .slide .text02 {
  max-width: fit-content;
  font-weight: bold;
  font-size: 32px;
  background: #fff;
  padding: 0 15px;
}
#top #mv .slide .text01 {
  margin-bottom: 12px;
}
#top #mv .slide .text02 {
  margin-bottom: 25px;
}
#top #mv .slide .name {
  max-width: fit-content;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  background: #49b0a8;
  padding: 5px 15px;
}
#top #mv .slick-center {
  opacity: 1;
  transform: scale(1);
}
#top #mv .slick-center .w_text {
  opacity: 1;
  visibility: visible;
}
#top #mv .w_img {
  border-radius: 80px 0 80px 0;
  overflow: hidden;
}
#top #mv .slick-prev, #top #mv .slick-next {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  display: block;
  border: none;
  width: 0;
  height: 0;
  padding: 106px 106px 0 0;
  cursor: pointer;
  overflow: hidden;
}
#top #mv .slick-prev {
  z-index: 10;
  background: url(../img/top/prev.png) no-repeat left top/100% auto;
  left: -150px;
}
#top #mv .slick-next {
  z-index: 10;
  background: url(../img/top/next.png) no-repeat left top/100% auto;
  right: -150px;
}
#top #mv .w_dots {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  text-align: center;
  right: 70px;
}
#top #mv .w_dots .num {
  display: inline-block;
  font-family: "satoshi", serif;
  font-size: 12px;
  margin: 5px 0;
}
#top #mv .slick-dots {
  font-size: 0;
  line-height: 1;
}
#top #mv .slick-dots .slick-active button {
  background: #21a196;
}
#top #mv .slick-dots button {
  outline: none;
  display: inline-block;
  width: 0;
  height: 0;
  border: none;
  overflow: hidden;
  padding: 34px 2px 0 0;
  background: #fff;
}
#top .cursor-pointer {
  visibility: hidden;
  opacity: 0;
  position: fixed;
  z-index: 100;
  transform: scale(0);
  height: 194px;
  width: 194px;
  margin: -97px 0 0 -97px;
  transition: transform 0.3s, opacity 0.3s, visibility 0.3s;
  pointer-events: none;
}
#top .cursor-pointer.is-active {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
}
#top #w_sc01_sc02 {
  position: relative;
  padding-bottom: 150px;
  background: url(../img/top/sc01_bg01.png) no-repeat left 50px/225px auto, url(../img/top/sc01_bg02.png) no-repeat right 555px/230px auto, url(../img/top/sc01_bg03.png) no-repeat left 1356px/358px auto, url(../img/top/sc01_bg04.png) no-repeat right 1400px/285px auto, url(../img/common/bg_mc.png);
}
#top #w_sc01_sc02 * {
  margin: 0;
}
#top #w_sc01_sc02 .w1100, #top #w_sc01_sc02 .w1320 {
  margin-left: auto;
  margin-right: auto;
}
#top #w_sc01_sc02:after {
  position: absolute;
  content: "";
  display: block;
  height: 540px;
  left: 0;
  bottom: 0;
  width: 100%;
  background: url(../img/common/body_bg.jpg);
}
#top #section01 {
  margin-bottom: 140px;
}
#top #section01 h2 {
  text-align: center;
  font-weight: bold;
  line-height: 1.45;
  margin-bottom: 80px;
}
#top #section01 h2 .fukidashi {
  display: inline-block;
  width: 280px;
  height: 48px;
  background: url(../img/top/fukidashi01.png) no-repeat center/cover;
  font-size: 20px;
  padding-top: 2px;
  margin-bottom: 4px;
}
#top #section01 h2 .row01, #top #section01 h2 .row02 {
  display: block;
  font-size: 40px;
}
#top #section01 h2 .white {
  color: #fff;
}
#top #section01 .grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px 80px;
  margin-bottom: 60px;
}
#top #section01 .grid > div {
  padding-top: 51%;
  background-position: left top;
  background-size: 100% auto;
  background-repeat: no-repeat;
}
#top #section01 .grid > div:nth-child(1) {
  background-image: url(../img/top/sc01_01.png);
}
#top #section01 .grid > div:nth-child(2) {
  background-image: url(../img/top/sc01_02.png);
}
#top #section01 .grid > div:nth-child(3) {
  background-image: url(../img/top/sc01_03.png);
}
#top #section01 .grid > div:nth-child(4) {
  background-image: url(../img/top/sc01_04.png);
}
#top #section01 .grid h3 {
  position: relative;
  width: 410px;
  background: url(../img/common/bg_mc.png);
  font-size: 24px;
  padding: 45px 0 0 50px;
  border-radius: 0 25px 0 0;
  letter-spacing: 0.05em;
  margin-bottom: 25px;
}
#top #section01 .grid h3:before, #top #section01 .grid h3:after {
  position: absolute;
  content: "";
  display: block;
  width: 12px;
  height: 12px;
}
#top #section01 .grid h3:before {
  background: url(../img/top/curve01.png) no-repeat left top/100% auto;
  left: 0;
  top: -12px;
}
#top #section01 .grid h3:after {
  background: url(../img/top/curve02.png) no-repeat left top/100% auto;
  right: -12px;
  top: 43px;
}
#top #section01 .grid h3 .row {
  display: block;
  line-height: 1.6;
}
#top #section01 .grid h3 .white {
  color: #fff;
}
#top #section01 .grid p {
  padding: 0 50px;
}
#top #section01 .btn03 {
  margin-left: auto;
  margin-right: auto;
}
#top #section02 {
  position: relative;
  z-index: 1;
}
#top #section02 .bg {
  position: relative;
  background: #fff;
  border-radius: 40px;
  padding: 110px 110px 100px;
}
#top #section02 h2 {
  position: absolute;
  left: 24px;
  top: -100px;
}
#top #section02 .grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0 80px;
  counter-reset: number 0;
}
#top #section02 .grid > div {
  padding-top: 240px;
  background-position: left top;
  background-size: 100% auto;
  background-repeat: no-repeat;
}
#top #section02 .grid > div:nth-child(1) {
  background-image: url(../img/top/sc02_01.jpg);
}
#top #section02 .grid > div:nth-child(1) h3:before {
  counter-increment: number 1;
  content: "0" counter(number);
}
#top #section02 .grid > div:nth-child(2) {
  background-image: url(../img/top/sc02_02.jpg);
}
#top #section02 .grid > div:nth-child(2) h3:before {
  counter-increment: number 1;
  content: "0" counter(number);
}
#top #section02 .grid > div:nth-child(3) {
  background-image: url(../img/top/sc02_03.jpg);
}
#top #section02 .grid > div:nth-child(3) h3:before {
  counter-increment: number 1;
  content: "0" counter(number);
}
#top #section02 h3 {
  position: relative;
  font-size: 20px;
  line-height: 1.6;
  margin-bottom: 25px;
}
#top #section02 h3 span {
  position: relative;
  z-index: 1;
}
#top #section02 h3:before {
  position: absolute;
  font-family: "satoshi";
  font-size: 72px;
  color: #86c7c2;
  opacity: 0.3;
  top: -55px;
  left: -35px;
}
#top #section02 .btn02 {
  position: absolute;
  padding-right: 40px;
  width: 360px;
  left: 50%;
  transform: translate(-50%, 0) rotate(0.03deg);
  bottom: -36px;
}
#top #section03 {
  padding-bottom: 130px;
}
#top #section03 .lead {
  line-height: 2;
  text-align: center;
  font-size: 17px;
  margin-bottom: 70px;
}
#top #section03 .myswiper-wrapper {
  position: relative;
  overflow: visible;
  min-height: 650px;
  margin-bottom: 50px;
}
#top #section03 .swiper {
  max-width: 390px;
  /*アクティブなスライド以外も見えるように*/
  overflow: visible !important;
  transform: translateX(-100%);
}
#top #section03 .swiper * {
  margin: 0;
}
#top #section03 .swiper-slide {
  transition: 0.3s ease !important;
}
#top #section03 .swiper-slide a {
  position: relative;
  display: block;
  background: #fff;
  color: var(--black);
  border-radius: 30px 0 0 30px;
  overflow: hidden;
  text-decoration: none;
}
#top #section03 .swiper-slide a:hover {
  text-decoration: none;
}
#top #section03 .swiper-slide a:hover:before {
  animation: btnArrow2 0.6s ease;
}
#top #section03 .swiper-slide a:before {
  position: absolute;
  right: 12px;
  bottom: 12px;
  display: block;
  content: "";
  width: 28px;
  height: 28px;
  background: url(../img/common/arrow01.png) no-repeat left top/100% auto;
}
#top #section03 .swiper-slide .w_img {
  position: relative;
  overflow: hidden;
}
#top #section03 .swiper-slide .w_ttl {
  position: absolute;
  left: 16px;
  bottom: 18px;
}
#top #section03 .swiper-slide .w_ttl h3 {
  width: fit-content;
  font-weight: bold;
  font-size: 18px;
  background: #fff;
  border-left: solid 4px #86c7c2;
  padding: 4px 16px 2px 16px;
  margin-bottom: 6px;
}
#top #section03 .swiper-slide .w_ttl .name {
  width: fit-content;
  background: #86c7c2;
  color: #fff;
  font-size: 11px;
  padding: 2px 15px;
}
#top #section03 .swiper-slide .w_text {
  padding: 25px 40px;
}
#top #section03 .swiper-slide .w_text ul {
  display: flex;
  font-size: 13px;
  font-weight: bold;
  margin-bottom: 20px;
  line-height: 1.2;
}
#top #section03 .swiper-slide .w_text ul .green {
  color: #3a938c;
}
#top #section03 .swiper-slide .w_text ul li:first-child {
  padding-right: 20px;
  margin-right: 20px;
  border-right: solid 1px #e5e5e5;
}
#top #section03 .swiper-slide .w_text .q {
  font-size: 16px;
  color: #3a938c;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 8px;
}
#top #section03 .swiper-slide .w_text .q .satoshi {
  font-size: 20px;
  margin-right: 3px;
}
#top #section03 .swiper-slide .w_text .text {
  font-size: 14px;
  line-height: 2;
}
#top #section03 .swiper-slide-active {
  padding-right: 20px;
  width: 159% !important;
}
#top #section03 .swiper-slide-active a:before {
  right: 20px;
  bottom: 20px;
  content: "";
  width: 40px;
  height: 40px;
}
#top #section03 .swiper-slide-active .w_img .w_ttl {
  left: 20px;
  bottom: 20px;
}
#top #section03 .swiper-slide-active .w_img h3 {
  font-size: 24px;
  margin-bottom: 8px;
}
#top #section03 .swiper-slide-active .w_img .name {
  font-size: 12px;
}
#top #section03 .swiper-slide-active .w_text {
  padding: 35px 50px 45px;
}
#top #section03 .swiper-slide-active .w_text ul {
  z-index: 1;
  position: absolute;
  display: block;
  right: 0;
  top: 0;
  width: fit-content;
  padding: 5px 8px 20px 30px;
  background: url(../img/common/body_bg.jpg);
  border-radius: 0 0 0 20px;
}
#top #section03 .swiper-slide-active .w_text ul:before, #top #section03 .swiper-slide-active .w_text ul:after {
  position: absolute;
  content: "";
  display: block;
  width: 12px;
  height: 12px;
}
#top #section03 .swiper-slide-active .w_text ul:before {
  background: url(../img/top/curve03.png) no-repeat left top/100% auto;
  left: -12px;
  top: 0;
}
#top #section03 .swiper-slide-active .w_text ul:after {
  background: url(../img/top/curve04.png) no-repeat left top/100% auto;
  right: 0;
  bottom: -12px;
}
#top #section03 .swiper-slide-active .w_text ul li:first-child {
  border-right: none;
  margin-right: 0;
  padding-right: 0;
  margin-bottom: 8px;
}
#top #section03 .swiper-slide-active .w_text .q {
  font-size: 20px;
}
#top #section03 .swiper-slide-active .w_text .q .satoshi {
  font-size: 24px;
}
#top #section03 .swiper-slide-active .w_text .text {
  font-size: 16px;
}
#top #section03 .buttons {
  position: absolute;
  right: 0;
  bottom: 30px;
  display: flex;
  justify-content: center;
}
#top #section03 .buttons .swiper-button-next, #top #section03 .buttons .swiper-button-prev {
  position: static;
  width: 77px;
  height: 77px;
  margin-top: 0;
}
#top #section03 .buttons .swiper-button-next:after, #top #section03 .buttons .swiper-button-prev:after {
  content: none;
}
#top #section03 .buttons .swiper-button-prev {
  background: url(../img/top/prev2.png) no-repeat left top/100% auto;
}
#top #section03 .buttons .swiper-button-next {
  background: url(../img/top/next2.png) no-repeat left top/100% auto;
}
#top #section03 .buttons .num {
  font-size: 14px;
  display: flex;
  justify-content: center;
  margin: 0 20px;
  align-items: center;
}
#top #section03 .buttons .num span:nth-child(2) {
  display: inline-block;
  width: 22px;
  height: 4px;
  background: url(../img/top/dots.png) no-repeat center/100% auto;
  margin: 0 10px;
}
#top #section04 {
  position: relative;
  padding-bottom: 130px;
}
#top #section04:before {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  display: block;
  width: 100%;
  height: 445px;
  background: url(../img/common/body_bg2.jpg);
}
#top #section05 {
  background: url(../img/top/map_bg.png) no-repeat right calc(50% + 270px) top 380px/611px auto, url(../img/common/body_bg2.jpg);
  padding-bottom: 120px;
}
#top #section05 * {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
#top #section05 *:not(.w1100) {
  margin: 0;
}
#top #section05 .w_ttl01 {
  margin-bottom: 30px;
}
#top #section05 .lead {
  font-size: 16px;
  text-align: center;
  line-height: 2;
  margin-bottom: 60px;
}
#top #section05 .flex {
  display: flex;
  justify-content: space-between;
}
#top #section05 .flex .left {
  width: 544px;
}
#top #section05 .flex .right {
  text-align: left;
  width: 510px;
}
#top #section05 .right h3 {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 22px;
}
#top #section05 .right ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 40px;
}
#top #section05 .right ul:last-child {
  margin-bottom: 0;
}
#top #section05 .right ul a {
  position: relative;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  text-decoration: none;
  color: var(--black);
  font-weight: bold;
  font-size: 16px;
  line-height: 1.6;
  min-height: 130px;
  border-radius: 20px 0 20px 0;
  transform: rotate(0.03deg);
  overflow: hidden;
}
#top #section05 .right ul a:hover {
  text-decoration: none;
}
#top #section05 .right ul a:hover:before {
  animation: btnArrow2 0.6s ease;
}
#top #section05 .right ul a:before {
  position: absolute;
  bottom: 12px;
  right: 12px;
  content: "";
  display: block;
  width: 28px;
  height: 28px;
  background: url(../img/common/btn03.png) no-repeat left top/100% auto;
}
#top #section06 {
  position: relative;
  padding-bottom: 200px;
}
#top #section06 *:not(.w1320) {
  margin: 0;
}
#top #section06 .w_ttl01 {
  margin-bottom: 70px;
}
#top #section06:before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  display: block;
  width: 100%;
  height: 120px;
  background: url(../img/common/body_bg2.jpg);
}
#top #section06 .bg {
  position: relative;
  z-index: 1;
  background: #fff;
  border-radius: 40px;
  padding: 90px 110px 120px;
}
#top #section06 .bg .btn02 {
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0) rotate(0.03deg);
  bottom: -36px;
  width: 360px;
}
#top #section06 .tab {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 100px;
  background: url(../img/top/tab01.png) no-repeat center/100% auto;
}
#top #section06 .tab.long {
  background-image: url(../img/top/tab02.png);
}
#top #section06 .tab li {
  cursor: pointer;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.2;
}
#top #section06 .tab li.on {
  background: url(../img/top/arrow.png) no-repeat center bottom 5px/15px auto;
  padding-top: 15px;
}
#top #section06 .tab span {
  font-size: 20px;
}
#top #section06 .tab_content {
  display: none;
  padding-top: 70px;
  position: relative;
}
#top #section06 .tab_content:before {
  position: absolute;
  right: -110px;
  top: 74px;
  content: "";
  display: block;
  width: 345px;
  height: 488px;
  background: url(../img/top/tab01_bg.png) no-repeat left top/100% auto;
}
#top #section06 .tab_content.tab_content02:before {
  background-image: url(../img/top/tab02_bg.png);
}
#top #section06 .tab_content h3 {
  font-size: 24px;
  margin-bottom: 30px;
  padding-left: 50px;
}
#top #section06 .tab_content table {
  width: 800px;
  line-height: 1.2;
  border-radius: 30px 0 30px 0;
  overflow: hidden;
  font-size: 16px;
  margin-bottom: 75px;
}
#top #section06 .tab_content table tr:nth-child(odd) {
  background: #f7f7f3;
}
#top #section06 .tab_content table tr td {
  padding: 20px;
}
#top #section06 .tab_content table tr td:first-child {
  padding-left: 30px;
}
#top #section06 .tab_content table tr td:last-child {
  text-align: right;
  padding: 18px 35px 22px 20px;
}
#top #section06 .tab_content table .satoshi {
  color: #3a938c;
  font-size: 34px;
  display: inline-block;
  position: relative;
  top: 2px;
  margin: 0 8px;
}
#top #section06 .tab_content table .satoshi.mr0 {
  margin-right: 0;
}
#top #section06 .tab_content table .big {
  font-size: 28px;
  color: #3a938c;
  margin-right: 6px;
}
#top #section06 .tab_content table .total {
  border-top: solid 3px var(--black);
}
#top #section06 .tab_content table .total td:first-child {
  font-size: 20px;
  font-weight: bold;
}
#top #section06 .tab_content table .total td:last-child {
  padding-bottom: 25px;
}
#top #section06 .tab_content table .total td:last-child .satoshi {
  font-size: 40px;
}
#top #section06 .grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 35px;
  position: relative;
}
#top #section06 .grid:after {
  position: absolute;
  right: -40px;
  bottom: -40px;
  content: "";
  display: block;
  width: 332px;
  height: 196px;
  background: url(../img/top/bg_tab.png) no-repeat left top/100% auto;
}
#top #section06 .grid > div {
  border-radius: 30px;
  border: dotted 4px #d2cdca;
  padding: 30px 40px 35px;
}
#top #section06 .grid h4 {
  font-size: 20px;
  padding-left: 42px;
  margin-bottom: 15px;
}
#top #section06 .grid .pen {
  background: url(../img/top/ic_pen.png) no-repeat left 2px/28px auto;
}
#top #section06 .grid .good {
  background: url(../img/top/ic_good.png) no-repeat left 2px/30px auto;
}
#top #section06 .grid .lead {
  line-height: 2;
  margin-bottom: 25px;
}
#top #section06 .grid .lead span {
  color: #3a938c;
}
#top #section06 .grid .flex {
  display: flex;
  justify-content: space-between;
  margin-bottom: 12px;
}
#top #section06 .grid .flex:last-child {
  margin-bottom: 0;
}
#top #section06 .grid .flex > div:first-child {
  width: 105px;
}
#top #section06 .grid .flex > div:last-child {
  width: calc(100% - 105px);
  padding-left: 15px;
  line-height: 1.6;
}
#top #section06 .grid .flex .ttl {
  font-size: 12px;
  background: #6a5b4e;
  text-align: center;
  border-radius: 50px;
  color: #fff;
  font-weight: bold;
}
#top #section06 .grid .flex .text {
  font-size: 15px;
}
#top #section06 .grid ul li {
  position: relative;
  padding-left: 18px;
  line-height: 2;
}
#top #section06 .grid ul li:last-child {
  margin-bottom: 0;
}
#top #section06 .grid ul li:before {
  position: absolute;
  left: 0;
  top: 11px;
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #86c7c2;
}
@keyframes slide01 {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 1735px 0;
  }
}
@keyframes slide02 {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -1883px 0;
  }
}
#top #loop_slide {
  padding-bottom: 110px;
}
#top #loop_slide .loop_slide01 {
  height: 352px;
  background: url(../img/top/loop_slide01.png) repeat-x 0 0/1735px auto;
  margin-bottom: 20px;
  animation: slide01 40s linear infinite;
}
#top #loop_slide .loop_slide02 {
  height: 406px;
  background: url(../img/top/loop_slide02.png) repeat-x 0 0/1883px auto;
  animation: slide02 40s linear infinite;
}
#top #section07 {
  padding-bottom: 140px;
}
#top #section07 *:not(.w1100) {
  margin: 0;
}
#top #section07 .w_ttl01 {
  margin-bottom: 30px;
}
#top #section07 .lead {
  text-align: center;
  font-size: 17px;
  margin-bottom: 75px;
}
#top #section07 ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px 24px;
}
#top #section07 ul .ic01 {
  background: #fff url(../img/top/faq01.png) no-repeat center 40px/150px auto;
}
#top #section07 ul .ic02 {
  background: #fff url(../img/top/faq02.png) no-repeat center 40px/150px auto;
}
#top #section07 ul .ic03 {
  background: #fff url(../img/top/faq03.png) no-repeat center 40px/150px auto;
}
#top #section07 ul .ic04 {
  background: #fff url(../img/top/faq04.png) no-repeat center 40px/150px auto;
}
#top #section07 ul .ic05 {
  background: #fff url(../img/top/faq05.png) no-repeat center 40px/150px auto;
}
#top #section07 ul .ic06 {
  background: #fff url(../img/top/faq06.png) no-repeat center 40px/150px auto;
}
#top #section07 ul .ic07 {
  background: #fff url(../img/top/faq07.png) no-repeat center 40px/150px auto;
}
#top #section07 ul .ic08 {
  background: #fff url(../img/top/faq08.png) no-repeat center 40px/150px auto;
}
#top #section07 ul .ic09 {
  background: #fff url(../img/top/faq09.png) no-repeat center 40px/150px auto;
}
#top #section07 ul .ic10 {
  background: #fff url(../img/top/faq10.png) no-repeat center 40px/150px auto;
}
#top #section07 ul .ic11 {
  background: #fff url(../img/top/faq11.png) no-repeat center 40px/150px auto;
}
#top #section07 ul .ic12 {
  background: #fff url(../img/top/faq12.png) no-repeat center 40px/150px auto;
}
#top #section07 ul a {
  position: relative;
  text-align: center;
  display: block;
  text-decoration: none;
  background: #fff;
  color: var(--black);
  border-radius: 20px 0 20px 0;
  aspect-ratio: 1/1;
  font-size: 18px;
  line-height: 1.6;
  font-weight: bold;
  padding-top: 160px;
}
#top #section07 ul a:hover {
  text-decoration: none;
}
#top #section07 ul a:hover:before {
  animation: btnArrow2 0.6s ease;
}
#top #section07 ul a:before {
  position: absolute;
  right: 12px;
  bottom: 12px;
  display: block;
  content: "";
  width: 28px;
  height: 28px;
  background: url(../img/common/arrow01.png) no-repeat left top/100% auto;
}
#top #section07 .btn02 {
  max-width: 400px;
  padding-right: 15px;
  margin: 80px auto 0;
}
#top #section08 {
  padding-bottom: 170px;
}
#top #section09 {
  padding-bottom: 270px;
}
#top #section09 * {
  margin: 0;
}
#top #section09 .w1100 {
  margin-left: auto;
  margin-right: auto;
}
#top #section09 h2 {
  margin-bottom: 50px;
  font-size: 24px;
}
#top #section09 .toku {
  position: relative;
  padding-left: 48px;
}
#top #section09 .toku:before {
  position: absolute;
  left: 0;
  top: -1px;
  content: "";
  display: block;
  width: 38px;
  height: 38px;
  background: url(../img/top/toku.png) no-repeat left top/100% auto;
}
#top #section09 .grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 80px;
}
#top #section09 .grid > div {
  position: relative;
  padding-bottom: 100px;
}
#top #section09 .grid > div .btn05 {
  position: absolute;
  right: 0;
  bottom: 0;
}
#top #section09 ul li {
  margin-bottom: 40px;
}
#top #section09 ul li:last-child {
  margin-bottom: 0;
}
#top #section09 ul a {
  display: flex;
  justify-content: space-between;
  text-decoration: none;
  color: var(--black);
}
#top #section09 ul .w_img {
  width: 180px;
}
#top #section09 ul .w_img picture {
  display: block;
  font-size: 0;
  line-height: 1;
  border-radius: 15px 0 15px 0;
  overflow: hidden;
}
#top #section09 ul .w_text {
  width: calc(100% - 180px);
  padding-left: 30px;
}
#top #section09 ul .info {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}
#top #section09 ul .satoshi {
  font-size: 14px;
  margin-right: 10px;
}
#top #section09 ul .cat {
  color: #fff;
  font-size: 12px;
  background: #86c7c2;
  border-radius: 50px;
  min-width: 110px;
  text-align: center;
  padding: 0 10px;
}
#top #section09 ul .text {
  font-weight: 500;
}

.island_map {
  position: relative;
}
.island_map a[class^=btn_map], .island_map p[class^=btn_map] {
  text-decoration: none;
  color: var(--black);
  z-index: 1;
  position: absolute;
  cursor: pointer;
  width: 140px;
  height: 52px;
  background: #fff;
  border-radius: 10px 0 10px 0;
  line-height: 52px;
  text-align: center;
  font-weight: bold;
  box-shadow: 1px 1px 7px 5px rgba(42, 104, 107, 0.05);
  padding-right: 10px;
}
.island_map a[class^=btn_map]:before, .island_map p[class^=btn_map]:before {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 8px;
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  background: url(../img/top/plus_g.png) no-repeat left top/100% auto;
}
.island_map .btn_map03:before, .island_map .btn_map04:before {
  background-image: url(../img/top/plus_lg.png) !important;
}
.island_map .btn_map05:before {
  background-image: url(../img/top/plus_b.png) !important;
}
.island_map .btn_map01 {
  top: 60px;
  left: 41px;
}
.island_map .btn_map02 {
  top: 185px;
  left: 41px;
}
.island_map .btn_map03 {
  top: 310px;
  left: 386px;
}
.island_map .btn_map04 {
  top: 412px;
  left: 210px;
  padding-right: 15px;
}
.island_map .btn_map05 {
  top: 580px;
  left: 300px;
}

#map_overlay {
  display: none;
  z-index: 9999;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  /*#map03{
  	display: block;
  }*/
}
#map_overlay:after {
  position: absolute;
  top: 20px;
  right: 20px;
  cursor: pointer;
  background: url(../img/top/modal_close.png) no-repeat left top/100% auto;
  content: "";
  display: block;
  width: 55px;
  height: 55px;
}
#map_overlay > .flex {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}
#map_overlay .modal {
  display: none;
}
#map_overlay .modal .flex {
  overflow: hidden;
  max-height: calc(100vh - 160px);
  width: 1100px;
  background: #fff;
  border-radius: 40px;
  display: flex;
  justify-content: space-between;
}
#map_overlay .modal .flex:before {
  content: "";
  display: block;
  width: 420px;
}
#map_overlay .modal .w_text {
  width: calc(100% - 420px);
  max-height: 100%;
  overflow: auto;
  padding: 50px 60px 60px;
}
#map_overlay .modal .w_text * {
  margin: 0;
}
#map_overlay .modal .w_text h2 {
  position: relative;
  font-size: 32px;
  padding-left: 24px;
  line-height: 1.2;
  margin-bottom: 30px;
}
#map_overlay .modal .w_text h2:before {
  top: 3px;
  left: 0;
  position: absolute;
  content: "";
  display: block;
  border-radius: 5px;
  width: 5px;
  height: 32px;
  background: #86c7c2;
}
#map_overlay .modal .w_text h3 {
  font-size: 18px;
  margin-bottom: 12px;
}
#map_overlay .modal .w_text h3 span {
  color: #3a938c;
}
#map_overlay .modal .w_text .list {
  font-size: 16px;
  line-height: 1.4;
  margin-bottom: 35px;
  padding-left: 1em;
  text-indent: -1em;
}
#map_overlay .modal .w_text .list li {
  margin-bottom: 5px;
}
#map_overlay .modal .w_text .buttons {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 12px;
  margin-bottom: 40px;
}
#map_overlay .modal .w_text .buttons:last-child {
  margin-bottom: 0;
}
#map_overlay .modal .w_text .buttons a {
  position: relative;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #e8f3f4;
  text-decoration: none;
  color: var(--black);
  font-weight: bold;
  font-size: 14px;
  line-height: 1.6;
  min-height: 130px;
  border-radius: 20px 0 20px 0;
  overflow: hidden;
}
#map_overlay .modal .w_text .buttons a:hover {
  text-decoration: none;
}
#map_overlay .modal .w_text .buttons a:hover:before {
  animation: btnArrow2 0.6s ease;
}
#map_overlay .modal .w_text .buttons a:before {
  position: absolute;
  bottom: 10px;
  right: 10px;
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  background: url(../img/common/btn03.png) no-repeat left top/100% auto;
}
#map_overlay #map01 .flex:before {
  background: url(../img/top/map01.jpg) no-repeat center/cover;
}
#map_overlay #map02 .flex:before {
  background: url(../img/top/map02.jpg) no-repeat center/cover;
}
#map_overlay #map03 .flex:before {
  background: url(../img/top/map03.jpg) no-repeat center/cover;
}
#map_overlay #map04 .flex:before {
  background: url(../img/top/map04.jpg) no-repeat center/cover;
}
#map_overlay #map05 .flex:before {
  background: url(../img/top/map05.jpg) no-repeat center/cover;
}

/*―――――――――――――――――――――――――*
*	1420px 以下
*―――――――――――――――――――――――――*/
@media screen and (min-width: 767px) and (max-width: 1420px) {
  #top #section04 {
    position: relative;
    padding-bottom: 9.155vw;
  }
  #top #section04:before {
    position: absolute;
    left: 0;
    bottom: 0;
    content: "";
    display: block;
    width: 100%;
    height: 31.338vw;
    background: url(../img/common/body_bg2.jpg);
  }
  #top #section06 {
    position: relative;
    padding-bottom: 14.085vw;
  }
  #top #section06 *:not(.w1320) {
    margin: 0;
  }
  #top #section06 .w_ttl01 {
    margin-bottom: 4.93vw;
  }
  #top #section06:before {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    display: block;
    width: 100%;
    height: 8.451vw;
    background: url(../img/common/body_bg2.jpg);
  }
  #top #section06 .bg {
    position: relative;
    z-index: 1;
    background: #fff;
    border-radius: 2.817vw;
    padding: 6.338vw 7.746vw 8.451vw;
  }
  #top #section06 .bg .btn02 {
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0) rotate(0.03deg);
    bottom: -2.535vw;
    width: 31vw;
    padding-right: 2vw;
  }
  #top #section06 .tab {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 7.042vw;
    background: url(../img/top/tab01.png) no-repeat center/100% auto;
  }
  #top #section06 .tab.long {
    background-image: url(../img/top/tab02.png);
  }
  #top #section06 .tab li {
    cursor: pointer;
    font-size: 1.69vw;
    font-weight: bold;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1.2;
  }
  #top #section06 .tab li.on {
    background: url(../img/top/arrow.png) no-repeat center bottom 5px/15px auto;
    padding-top: 1.056vw;
  }
  #top #section06 .tab span {
    font-size: 1.408vw;
  }
  #top #section06 .tab_content {
    display: none;
    padding-top: 4.93vw;
    position: relative;
  }
  #top #section06 .tab_content:before {
    position: absolute;
    right: -7.746vw;
    top: 5.211vw;
    content: "";
    display: block;
    width: 24.296vw;
    height: 34.366vw;
    background: url(../img/top/tab01_bg.png) no-repeat left top/100% auto;
  }
  #top #section06 .tab_content.tab_content02:before {
    background-image: url(../img/top/tab02_bg.png);
  }
  #top #section06 .tab_content h3 {
    font-size: 1.69vw;
    margin-bottom: 2.113vw;
    padding-left: 3.521vw;
  }
  #top #section06 .tab_content table {
    width: 56.338vw;
    line-height: 1.2;
    border-radius: 2.113vw 0 2.113vw 0;
    overflow: hidden;
    font-size: 1.127vw;
    margin-bottom: 5.282vw;
  }
  #top #section06 .tab_content table tr:nth-child(odd) {
    background: #f7f7f3;
  }
  #top #section06 .tab_content table tr td {
    padding: 1.408vw;
  }
  #top #section06 .tab_content table tr td:first-child {
    padding-left: 2.113vw;
  }
  #top #section06 .tab_content table tr td:last-child {
    text-align: right;
    padding: 1.268vw 2.465vw 1.549vw 1.408vw;
  }
  #top #section06 .tab_content table .satoshi {
    color: #3a938c;
    font-size: 2.394vw;
    display: inline-block;
    position: relative;
    top: 0.141vw;
    margin: 0 0.563vw;
  }
  #top #section06 .tab_content table .satoshi.mr0 {
    margin-right: 0;
  }
  #top #section06 .tab_content table .big {
    font-size: 1.972vw;
    color: #3a938c;
    margin-right: 0.423vw;
  }
  #top #section06 .tab_content table .total {
    border-top: solid 3px var(--black);
  }
  #top #section06 .tab_content table .total td:first-child {
    font-size: 1.408vw;
    font-weight: bold;
  }
  #top #section06 .tab_content table .total td:last-child {
    padding-bottom: 1.761vw;
  }
  #top #section06 .tab_content table .total td:last-child .satoshi {
    font-size: 2.817vw;
  }
  #top #section06 .grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 2.465vw;
    position: relative;
  }
  #top #section06 .grid:after {
    position: absolute;
    right: -2.817vw;
    bottom: -2.817vw;
    content: "";
    display: block;
    width: 23.38vw;
    height: 13.803vw;
    background: url(../img/top/bg_tab.png) no-repeat left top/100% auto;
  }
  #top #section06 .grid > div {
    border-radius: 2.113vw;
    border: dotted 0.282vw #d2cdca;
    padding: 2.113vw 2.817vw 2.465vw;
  }
  #top #section06 .grid h4 {
    font-size: 1.408vw;
    padding-left: 2.958vw;
    margin-bottom: 1.056vw;
  }
  #top #section06 .grid .pen {
    background: url(../img/top/ic_pen.png) no-repeat left 0.14vw/2vw auto;
  }
  #top #section06 .grid .good {
    background: url(../img/top/ic_good.png) no-repeat left 0.14vw/2.1vw auto;
  }
  #top #section06 .grid .lead {
    line-height: 2;
    margin-bottom: 1.761vw;
  }
  #top #section06 .grid .lead span {
    color: #3a938c;
  }
  #top #section06 .grid .flex {
    display: flex;
    justify-content: space-between;
    margin-bottom: 0.845vw;
  }
  #top #section06 .grid .flex:last-child {
    margin-bottom: 0;
  }
  #top #section06 .grid .flex > div:first-child {
    width: 7.394vw;
  }
  #top #section06 .grid .flex > div:last-child {
    width: calc(100% - 7.394vw);
    padding-left: 1.056vw;
    line-height: 1.6;
  }
  #top #section06 .grid .flex .ttl {
    font-size: 0.845vw;
    background: #6a5b4e;
    text-align: center;
    border-radius: 3.521vw;
    color: #fff;
    font-weight: bold;
  }
  #top #section06 .grid .flex .text {
    font-size: 1.056vw;
  }
  #top #section06 .grid ul li {
    position: relative;
    padding-left: 1.268vw;
    line-height: 2;
  }
  #top #section06 .grid ul li:last-child {
    margin-bottom: 0;
  }
  #top #section06 .grid ul li:before {
    position: absolute;
    left: 0;
    top: 0.775vw;
    content: "";
    display: block;
    width: 0.423vw;
    height: 0.423vw;
    border-radius: 50%;
    background: #86c7c2;
  }
  @keyframes slide01 {
    from {
      background-position: 0 0;
    }
    to {
      background-position: 122.183vw 0;
    }
  }
  @keyframes slide02 {
    from {
      background-position: 0 0;
    }
    to {
      background-position: -132.606vw 0;
    }
  }
  #top #loop_slide {
    padding-bottom: 7.746vw;
  }
  #top #loop_slide .loop_slide01 {
    height: 24.789vw;
    background: url(../img/top/loop_slide01.png) repeat-x 0 0/122.183vw auto;
    margin-bottom: 1.408vw;
    animation: slide01 40s linear infinite;
  }
  #top #loop_slide .loop_slide02 {
    height: 28.592vw;
    background: url(../img/top/loop_slide02.png) repeat-x 0 0/132.606vw auto;
    animation: slide02 40s linear infinite;
  }
  #top #section08 {
    padding-bottom: 11.972vw;
  }
}
@media screen and (min-width: 767px) and (max-width: 1280px) {
  #top {
    font-size: 1.3vw;
    overflow: hidden;
  }
  #top #w_mv {
    position: relative;
    background: url(../img/top/mv_bg01.png) no-repeat right 9.375vw top/31.875vw auto, url(../img/top/mv_bg02.png) no-repeat left 16.016vw/29.766vw auto, url(../img/top/mv_bg03.png) no-repeat right 39.297vw/47.656vw auto, url(../img/common/bg01.png) no-repeat left top/40vw auto, url(../img/common/bg_mc.png);
    padding-top: 12.5vw;
    padding-bottom: 15.625vw;
  }
  #top #w_mv .catch_copy {
    overflow: hidden;
    position: absolute;
    bottom: 10.547vw;
    left: 50%;
    transform: translate(-50%, 0);
    line-height: 1;
    margin: 0 0 0 -4.687vw;
    width: 223.438vw;
  }
  #top #w_mv .catch_copy img {
    width: 100%;
    max-width: 100%;
  }
  #top #mv {
    max-width: 61.875vw;
    margin-left: auto;
    margin-right: auto;
  }
  #top #mv a {
    color: var(--black);
  }
  #top #mv * {
    margin: 0;
  }
  #top #mv .slick-list {
    overflow: visible;
  }
  #top #mv .slide {
    margin: 0 5.859vw;
    outline: none;
    transform-origin: center;
    transform: scale(0.725);
    transition: opacity 0.5s, transform 0.5s;
  }
  #top #mv .slide .w_text {
    transition: opacity 0.5s ease;
    opacity: 0;
    visibility: hidden;
    position: absolute;
    left: -7.812vw;
    bottom: 7.031vw;
    letter-spacing: 0.1em;
  }
  #top #mv .slide .text01, #top #mv .slide .text02 {
    max-width: fit-content;
    font-weight: bold;
    font-size: 2.5vw;
    background: #fff;
    padding: 0 1.172vw;
  }
  #top #mv .slide .text01 {
    margin-bottom: 0.938vw;
  }
  #top #mv .slide .text02 {
    margin-bottom: 1.953vw;
  }
  #top #mv .slide .name {
    max-width: fit-content;
    color: #fff;
    font-size: 1.2vw;
    font-weight: bold;
    background: #49b0a8;
    padding: 0.391vw 1.172vw;
  }
  #top #mv .slick-center {
    opacity: 1;
    transform: scale(1);
  }
  #top #mv .slick-center .w_text {
    opacity: 1;
    visibility: visible;
  }
  #top #mv .w_img {
    border-radius: 6.25vw 0 6.25vw 0;
    overflow: hidden;
  }
  #top #mv .slick-prev, #top #mv .slick-next {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    display: block;
    border: none;
    width: 0;
    height: 0;
    padding: 8.281vw 8.281vw 0 0;
    cursor: pointer;
    overflow: hidden;
  }
  #top #mv .slick-prev {
    z-index: 10;
    background: url(../img/top/prev.png) no-repeat left top/100% auto;
    left: -10.719vw;
  }
  #top #mv .slick-next {
    z-index: 10;
    background: url(../img/top/next.png) no-repeat left top/100% auto;
    right: -10.719vw;
  }
  #top #mv .w_dots {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    text-align: center;
    right: 5.469vw;
  }
  #top #mv .w_dots .num {
    display: inline-block;
    font-family: "satoshi", serif;
    font-size: 0.938vw;
    margin: 0.391vw 0;
  }
  #top #mv .slick-dots {
    font-size: 0;
    line-height: 1;
  }
  #top #mv .slick-dots .slick-active button {
    background: #21a196;
  }
  #top #mv .slick-dots button {
    outline: none;
    display: inline-block;
    width: 0;
    height: 0;
    border: none;
    overflow: hidden;
    padding: 2.656vw 0.156vw 0 0;
    background: #fff;
  }
  #top .cursor-pointer {
    visibility: hidden;
    opacity: 0;
    position: fixed;
    z-index: 100;
    transform: scale(0);
    height: 15.156vw;
    width: 15.156vw;
    margin: -7.578vw 0 0 -7.578vw;
    transition: transform 0.3s, opacity 0.3s, visibility 0.3s;
    pointer-events: none;
  }
  #top .cursor-pointer.is-active {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
  }
  #top .cursor-none {
    cursor: none !important;
  }
  #top #section02 {
    position: relative;
    z-index: 1;
  }
  #top #section02 .bg {
    position: relative;
    background: #fff;
    border-radius: 3.125vw;
    padding: 8.594vw 6vw 7.813vw;
  }
  #top #section02 h2 {
    position: absolute;
    left: 1.875vw;
    top: -7.812vw;
  }
  #top #section02 h2 img {
    max-width: 54.5vw;
  }
  #top #section02 .grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0 6.25vw;
    counter-reset: number 0;
  }
  #top #section02 .grid > div {
    padding-top: 18.75vw;
    background-position: left top;
    background-size: 100% auto;
    background-repeat: no-repeat;
  }
  #top #section02 .grid > div:nth-child(1) {
    background-image: url(../img/top/sc02_01.jpg);
  }
  #top #section02 .grid > div:nth-child(1) h3:before {
    counter-increment: number 1;
    content: "0" counter(number);
  }
  #top #section02 .grid > div:nth-child(2) {
    background-image: url(../img/top/sc02_02.jpg);
  }
  #top #section02 .grid > div:nth-child(2) h3:before {
    counter-increment: number 1;
    content: "0" counter(number);
  }
  #top #section02 .grid > div:nth-child(3) {
    background-image: url(../img/top/sc02_03.jpg);
  }
  #top #section02 .grid > div:nth-child(3) h3:before {
    counter-increment: number 1;
    content: "0" counter(number);
  }
  #top #section02 h3 {
    position: relative;
    font-size: 1.563vw;
    line-height: 1.6;
    margin-bottom: 1.953vw;
  }
  #top #section02 h3 span {
    position: relative;
    z-index: 2;
  }
  #top #section02 h3:before {
    position: absolute;
    font-family: "satoshi";
    font-size: 5.625vw;
    color: #86c7c2;
    opacity: 0.3;
    top: -4.297vw;
    left: -2.734vw;
  }
  #top #section02 .btn02 {
    position: absolute;
    padding-right: 3.125vw;
    width: 33vw;
    max-width: 100%;
    left: 50%;
    transform: translate(-50%, 0) rotate(0.03deg);
    bottom: -2.812vw;
  }
  #top #section03 {
    padding-bottom: 10.156vw;
  }
  #top #section03 .lead {
    line-height: 2;
    text-align: center;
    font-size: 1.328vw;
    margin-bottom: 5.469vw;
  }
  #top #section03 .myswiper-wrapper {
    position: relative;
    overflow: visible;
    min-height: 50.781vw;
    margin-bottom: 3.906vw;
  }
  #top #section03 .swiper {
    max-width: 30.469vw;
    /*アクティブなスライド以外も見えるように*/
    overflow: visible !important;
    transform: translateX(-100%);
  }
  #top #section03 .swiper * {
    margin: 0;
  }
  #top #section03 .swiper-slide {
    transition: 0.3s ease !important;
  }
  #top #section03 .swiper-slide a {
    position: relative;
    display: block;
    background: #fff;
    color: var(--black);
    border-radius: 2.344vw 0 0 2.344vw;
    overflow: hidden;
    text-decoration: none;
  }
  #top #section03 .swiper-slide a:hover {
    text-decoration: none;
  }
  #top #section03 .swiper-slide a:hover:before {
    animation: btnArrow2 0.6s ease;
  }
  #top #section03 .swiper-slide a:before {
    position: absolute;
    right: 0.938vw;
    bottom: 0.938vw;
    display: block;
    content: "";
    width: 2.188vw;
    height: 2.188vw;
    background: url(../img/common/arrow01.png) no-repeat left top/100% auto;
  }
  #top #section03 .swiper-slide .w_img {
    position: relative;
    overflow: hidden;
  }
  #top #section03 .swiper-slide .w_ttl {
    position: absolute;
    left: 1.25vw;
    bottom: 1.406vw;
  }
  #top #section03 .swiper-slide .w_ttl h3 {
    width: fit-content;
    font-weight: bold;
    font-size: 1.406vw;
    background: #fff;
    border-left: solid 4px #86c7c2;
    padding: 0.313vw 1.25vw 0.156vw 1.25vw;
    margin-bottom: 0.469vw;
  }
  #top #section03 .swiper-slide .w_ttl .name {
    width: fit-content;
    background: #86c7c2;
    color: #fff;
    font-size: 0.859vw;
    padding: 0.156vw 1.172vw;
  }
  #top #section03 .swiper-slide .w_text {
    padding: 1.953vw 3.125vw;
  }
  #top #section03 .swiper-slide .w_text ul {
    display: flex;
    font-size: 1.016vw;
    font-weight: bold;
    margin-bottom: 1.563vw;
    line-height: 1.2;
  }
  #top #section03 .swiper-slide .w_text ul .green {
    color: #3a938c;
  }
  #top #section03 .swiper-slide .w_text ul li:first-child {
    padding-right: 1.563vw;
    margin-right: 1.563vw;
    border-right: solid 1px #e5e5e5;
  }
  #top #section03 .swiper-slide .w_text .q {
    font-size: 1.25vw;
    color: #3a938c;
    font-weight: bold;
    line-height: 1.4;
    margin-bottom: 0.625vw;
  }
  #top #section03 .swiper-slide .w_text .q .satoshi {
    font-size: 1.563vw;
    margin-right: 0.234vw;
  }
  #top #section03 .swiper-slide .w_text .text {
    font-size: 1.094vw;
    line-height: 2;
  }
  #top #section03 .swiper-slide-active {
    padding-right: 1.563vw;
    width: 159% !important;
  }
  #top #section03 .swiper-slide-active a:before {
    right: 1.563vw;
    bottom: 1.563vw;
    content: "";
    width: 3.125vw;
    height: 3.125vw;
  }
  #top #section03 .swiper-slide-active .w_img .w_ttl {
    left: 1.563vw;
    bottom: 1.563vw;
  }
  #top #section03 .swiper-slide-active .w_img h3 {
    font-size: 1.875vw;
    margin-bottom: 0.625vw;
  }
  #top #section03 .swiper-slide-active .w_img .name {
    font-size: 0.938vw;
  }
  #top #section03 .swiper-slide-active .w_text {
    padding: 2.734vw 3.906vw 3.516vw;
  }
  #top #section03 .swiper-slide-active .w_text ul {
    z-index: 1;
    position: absolute;
    display: block;
    right: 0;
    top: 0;
    width: fit-content;
    padding: 0.391vw 0.625vw 1.563vw 2.344vw;
    background: url(../img/common/body_bg.jpg);
    border-radius: 0 0 0 1.563vw;
  }
  #top #section03 .swiper-slide-active .w_text ul:before, #top #section03 .swiper-slide-active .w_text ul:after {
    position: absolute;
    content: "";
    display: block;
    width: 0.938vw;
    height: 0.938vw;
  }
  #top #section03 .swiper-slide-active .w_text ul:before {
    background: url(../img/top/curve03.png) no-repeat left top/100% auto;
    left: -0.937vw;
    top: 0;
  }
  #top #section03 .swiper-slide-active .w_text ul:after {
    background: url(../img/top/curve04.png) no-repeat left top/100% auto;
    right: 0;
    bottom: -0.937vw;
  }
  #top #section03 .swiper-slide-active .w_text ul li:first-child {
    border-right: none;
    margin-right: 0;
    padding-right: 0;
    margin-bottom: 0.625vw;
  }
  #top #section03 .swiper-slide-active .w_text .q {
    font-size: 1.563vw;
  }
  #top #section03 .swiper-slide-active .w_text .q .satoshi {
    font-size: 1.875vw;
  }
  #top #section03 .swiper-slide-active .w_text .text {
    font-size: 1.25vw;
  }
  #top #section03 .buttons {
    position: absolute;
    right: 3vw;
    bottom: 2.344vw;
    display: flex;
    justify-content: center;
  }
  #top #section03 .buttons .swiper-button-next, #top #section03 .buttons .swiper-button-prev {
    position: static;
    width: 6.016vw;
    height: 6.016vw;
    margin-top: 0;
  }
  #top #section03 .buttons .swiper-button-next:after, #top #section03 .buttons .swiper-button-prev:after {
    content: none;
  }
  #top #section03 .buttons .swiper-button-prev {
    background: url(../img/top/prev2.png) no-repeat left top/100% auto;
  }
  #top #section03 .buttons .swiper-button-next {
    background: url(../img/top/next2.png) no-repeat left top/100% auto;
  }
  #top #section03 .buttons .num {
    font-size: 1.094vw;
    display: flex;
    justify-content: center;
    margin: 0 1.563vw;
    align-items: center;
  }
  #top #section03 .buttons .num span:nth-child(2) {
    display: inline-block;
    width: 1.719vw;
    height: 0.313vw;
    background: url(../img/top/dots.png) no-repeat center/100% auto;
    margin: 0 0.781vw;
  }
}
@media screen and (min-width: 767px) and (max-width: 1150px) {
  #top #w_sc01_sc02 {
    position: relative;
    padding-bottom: 13.043vw;
    background: url(../img/top/sc01_bg01.png) no-repeat left 4.348vw/19.565vw auto, url(../img/top/sc01_bg02.png) no-repeat right 48.261vw/20vw auto, url(../img/top/sc01_bg03.png) no-repeat left 117.913vw/31.13vw auto, url(../img/top/sc01_bg04.png) no-repeat right 121.739vw/24.783vw auto, url(../img/common/bg_mc.png);
  }
  #top #w_sc01_sc02 * {
    margin: 0;
  }
  #top #w_sc01_sc02 .w1100, #top #w_sc01_sc02 .w1320 {
    margin-left: auto;
    margin-right: auto;
  }
  #top #w_sc01_sc02:after {
    position: absolute;
    content: "";
    display: block;
    height: 46.957vw;
    left: 0;
    bottom: 0;
    width: 100%;
    background: url(../img/common/body_bg.jpg);
  }
  #top #section01 {
    margin-bottom: 12.174vw;
  }
  #top #section01 h2 {
    text-align: center;
    font-weight: bold;
    line-height: 1.45;
    margin-bottom: 6.957vw;
  }
  #top #section01 h2 .fukidashi {
    display: inline-block;
    width: 24.348vw;
    height: 4.174vw;
    background: url(../img/top/fukidashi01.png) no-repeat center/cover;
    font-size: 1.739vw;
    padding-top: 0.174vw;
    margin-bottom: 0.348vw;
  }
  #top #section01 h2 .row01, #top #section01 h2 .row02 {
    display: block;
    font-size: 3.478vw;
  }
  #top #section01 h2 .white {
    color: #fff;
  }
  #top #section01 .grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6.087vw 5vw;
    margin-bottom: 5.217vw;
  }
  #top #section01 .grid > div {
    padding-top: 51%;
    background-position: left top;
    background-size: 100% auto;
    background-repeat: no-repeat;
  }
  #top #section01 .grid > div:nth-child(1) {
    background-image: url(../img/top/sc01_01.png);
  }
  #top #section01 .grid > div:nth-child(2) {
    background-image: url(../img/top/sc01_02.png);
  }
  #top #section01 .grid > div:nth-child(3) {
    background-image: url(../img/top/sc01_03.png);
  }
  #top #section01 .grid > div:nth-child(4) {
    background-image: url(../img/top/sc01_04.png);
  }
  #top #section01 .grid h3 {
    position: relative;
    width: 35.652vw;
    background: url(../img/common/bg_mc.png);
    font-size: 2.087vw;
    padding: 3.913vw 0 0 4.348vw;
    border-radius: 0 2.174vw 0 0;
    letter-spacing: 0.05em;
    margin-bottom: 2.174vw;
  }
  #top #section01 .grid h3:before, #top #section01 .grid h3:after {
    position: absolute;
    content: "";
    display: block;
    width: 1.043vw;
    height: 1.043vw;
  }
  #top #section01 .grid h3:before {
    background: url(../img/top/curve01.png) no-repeat left top/100% auto;
    left: 0;
    top: -1.043vw;
  }
  #top #section01 .grid h3:after {
    background: url(../img/top/curve02.png) no-repeat left top/100% auto;
    right: -1.043vw;
    top: 3.739vw;
  }
  #top #section01 .grid h3 .row {
    display: block;
    line-height: 1.6;
  }
  #top #section01 .grid h3 .white {
    color: #fff;
  }
  #top #section01 .grid p {
    padding: 0 4.348vw;
    font-size: 1.4vw;
  }
  #top #section01 .btn03 {
    margin-left: auto;
    margin-right: auto;
  }
  #top #section05 {
    background: url(../img/top/map_bg.png) no-repeat right calc(50% + 23.48vw) top 33vw/53vw auto, url(../img/common/body_bg2.jpg);
    padding-bottom: 10.435vw;
  }
  #top #section05 * {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  #top #section05 *:not(.w1100) {
    margin: 0;
  }
  #top #section05 .w_ttl01 {
    margin-bottom: 2.609vw;
  }
  #top #section05 .lead {
    font-size: 1.391vw;
    text-align: center;
    line-height: 2;
    margin-bottom: 5.217vw;
  }
  #top #section05 .flex {
    display: flex;
    justify-content: space-between;
  }
  #top #section05 .flex .left {
    width: 47.304vw;
  }
  #top #section05 .flex .right {
    text-align: left;
    width: 44.348vw;
  }
  #top #section05 .right h3 {
    font-size: 1.739vw;
    font-weight: bold;
    margin-bottom: 1.913vw;
  }
  #top #section05 .right ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.043vw;
    margin-bottom: 3.478vw;
  }
  #top #section05 .right ul:last-child {
    margin-bottom: 0;
  }
  #top #section05 .right ul a {
    position: relative;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    text-decoration: none;
    color: var(--black);
    font-weight: bold;
    font-size: 1.391vw;
    line-height: 1.6;
    min-height: 11.304vw;
    border-radius: 1.739vw 0 1.739vw 0;
  }
  #top #section05 .right ul a:hover {
    text-decoration: none;
  }
  #top #section05 .right ul a:hover:before {
    animation: btnArrow2 0.6s ease;
  }
  #top #section05 .right ul a:before {
    position: absolute;
    bottom: 1.043vw;
    right: 1.043vw;
    content: "";
    display: block;
    width: 2.435vw;
    height: 2.435vw;
    background: url(../img/common/btn03.png) no-repeat left top/100% auto;
  }
  #top #section07 {
    padding-bottom: 12.174vw;
  }
  #top #section07 *:not(.w1100) {
    margin: 0;
  }
  #top #section07 .w_ttl01 {
    margin-bottom: 2.609vw;
  }
  #top #section07 .lead {
    text-align: center;
    font-size: 1.478vw;
    margin-bottom: 6.522vw;
  }
  #top #section07 ul {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.739vw 2.087vw;
  }
  #top #section07 ul .ic01 {
    background: #fff url(../img/top/faq01.png) no-repeat center 3.478vw/13vw auto;
  }
  #top #section07 ul .ic02 {
    background: #fff url(../img/top/faq02.png) no-repeat center 3.478vw/13vw auto;
  }
  #top #section07 ul .ic03 {
    background: #fff url(../img/top/faq03.png) no-repeat center 3.478vw/13vw auto;
  }
  #top #section07 ul .ic04 {
    background: #fff url(../img/top/faq04.png) no-repeat center 3.478vw/13vw auto;
  }
  #top #section07 ul .ic05 {
    background: #fff url(../img/top/faq05.png) no-repeat center 3.478vw/13vw auto;
  }
  #top #section07 ul .ic06 {
    background: #fff url(../img/top/faq06.png) no-repeat center 3.478vw/13vw auto;
  }
  #top #section07 ul .ic07 {
    background: #fff url(../img/top/faq07.png) no-repeat center 3.478vw/13vw auto;
  }
  #top #section07 ul .ic08 {
    background: #fff url(../img/top/faq08.png) no-repeat center 3.478vw/13vw auto;
  }
  #top #section07 ul .ic09 {
    background: #fff url(../img/top/faq09.png) no-repeat center 3.478vw/13vw auto;
  }
  #top #section07 ul .ic10 {
    background: #fff url(../img/top/faq10.png) no-repeat center 3.478vw/13vw auto;
  }
  #top #section07 ul .ic11 {
    background: #fff url(../img/top/faq11.png) no-repeat center 3.478vw/13vw auto;
  }
  #top #section07 ul .ic12 {
    background: #fff url(../img/top/faq12.png) no-repeat center 3.478vw/13vw auto;
  }
  #top #section07 ul a {
    position: relative;
    text-align: center;
    display: block;
    text-decoration: none;
    background: #fff;
    color: var(--black);
    border-radius: 1.739vw 0 1.739vw 0;
    aspect-ratio: 1/1;
    font-size: 1.565vw;
    line-height: 1.6;
    font-weight: bold;
    padding-top: 13.913vw;
  }
  #top #section07 ul a:hover {
    text-decoration: none;
  }
  #top #section07 ul a:hover:before {
    animation: btnArrow2 0.6s ease;
  }
  #top #section07 ul a:before {
    position: absolute;
    right: 1.043vw;
    bottom: 1.043vw;
    display: block;
    content: "";
    width: 2.435vw;
    height: 2.435vw;
    background: url(../img/common/arrow01.png) no-repeat left top/100% auto;
  }
  #top #section07 .btn02 {
    max-width: 36.783vw;
    padding-right: 1.304vw;
    margin: 80px auto 0;
  }
  #top #section09 {
    padding-bottom: 23.478vw;
  }
  #top #section09 * {
    margin: 0;
  }
  #top #section09 .w1100 {
    margin-left: auto;
    margin-right: auto;
  }
  #top #section09 h2 {
    margin-bottom: 4.348vw;
    font-size: 2.087vw;
  }
  #top #section09 .toku {
    position: relative;
    padding-left: 4.174vw;
  }
  #top #section09 .toku:before {
    position: absolute;
    left: 0;
    top: -0.087vw;
    content: "";
    display: block;
    width: 3.304vw;
    height: 3.304vw;
    background: url(../img/top/toku.png) no-repeat left top/100% auto;
  }
  #top #section09 .grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 6.957vw;
  }
  #top #section09 .grid > div {
    position: relative;
    padding-bottom: 8.696vw;
  }
  #top #section09 .grid > div .btn05 {
    position: absolute;
    right: 0;
    bottom: 0;
  }
  #top #section09 ul li {
    margin-bottom: 3.478vw;
  }
  #top #section09 ul li:last-child {
    margin-bottom: 0;
  }
  #top #section09 ul a {
    display: flex;
    justify-content: space-between;
    text-decoration: none;
    color: var(--black);
  }
  #top #section09 ul .w_img {
    width: 15.652vw;
  }
  #top #section09 ul .w_img picture {
    font-size: 0;
    line-height: 1;
    border-radius: 1.304vw 0 1.304vw 0;
    overflow: hidden;
  }
  #top #section09 ul .w_text {
    width: calc(100% - 15.652vw);
    padding-left: 2.609vw;
  }
  #top #section09 ul .info {
    display: flex;
    align-items: center;
    margin-bottom: 0.87vw;
  }
  #top #section09 ul .satoshi {
    font-size: 1.217vw;
    margin-right: 0.87vw;
  }
  #top #section09 ul .cat {
    color: #fff;
    font-size: 1.043vw;
    background: #86c7c2;
    border-radius: 4.348vw;
    min-width: 9.565vw;
    text-align: center;
    padding: 0 0.87vw;
  }
  #top #section09 ul .text {
    font-weight: 500;
  }
  .island_map {
    position: relative;
  }
  .island_map a[class^=btn_map], .island_map p[class^=btn_map] {
    position: absolute;
    cursor: pointer;
    width: 12.174vw;
    height: 4.522vw;
    background: #fff;
    border-radius: 0.87vw 0 0.87vw 0;
    line-height: 4.522vw;
    text-align: center;
    font-weight: bold;
    box-shadow: 1px 1px 7px 5px rgba(42, 104, 107, 0.05);
    padding-right: 0.87vw;
  }
  .island_map a[class^=btn_map]:before, .island_map p[class^=btn_map]:before {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    right: 0.696vw;
    content: "";
    display: block;
    width: 2.087vw;
    height: 2.087vw;
    background: url(../img/top/plus_g.png) no-repeat left top/100% auto;
  }
  .island_map .btn_map03:before, .island_map .btn_map04:before {
    background-image: url(../img/top/plus_lg.png) !important;
  }
  .island_map .btn_map05:before {
    background-image: url(../img/top/plus_b.png) !important;
  }
  .island_map .btn_map01 {
    top: 5.217vw;
    left: 3.565vw;
  }
  .island_map .btn_map02 {
    top: 16.087vw;
    left: 3.565vw;
  }
  .island_map .btn_map03 {
    top: 26.957vw;
    left: 33.565vw;
  }
  .island_map .btn_map04 {
    top: 35.826vw;
    left: 18.261vw;
    padding-right: 1.304vw;
  }
  .island_map .btn_map05 {
    top: 50.435vw;
    left: 26.087vw;
  }
  #map_overlay {
    display: none;
    z-index: 9999;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    /*#map03{
    	display: block;
    }*/
  }
  #map_overlay:after {
    position: absolute;
    top: 1.739vw;
    right: 1.739vw;
    cursor: pointer;
    background: url(../img/top/modal_close.png) no-repeat left top/100% auto;
    content: "";
    display: block;
    width: 4.783vw;
    height: 4.783vw;
  }
  #map_overlay > .flex {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
  }
  #map_overlay .modal {
    display: none;
  }
  #map_overlay .modal .flex {
    overflow: hidden;
    max-height: calc(100vh - 13.913vw);
    width: 95.652vw;
    background: #fff;
    border-radius: 3.478vw;
    display: flex;
    justify-content: space-between;
  }
  #map_overlay .modal .flex:before {
    content: "";
    display: block;
    width: 36.522vw;
  }
  #map_overlay .modal .w_text {
    width: calc(100% - 36.522vw);
    max-height: 100%;
    overflow: auto;
    padding: 4.348vw 5.217vw 5.217vw;
  }
  #map_overlay .modal .w_text * {
    margin: 0;
  }
  #map_overlay .modal .w_text h2 {
    position: relative;
    font-size: 2.783vw;
    padding-left: 2.087vw;
    line-height: 1.2;
    margin-bottom: 2.609vw;
  }
  #map_overlay .modal .w_text h2:before {
    top: 0.261vw;
    left: 0;
    position: absolute;
    content: "";
    display: block;
    border-radius: 0.435vw;
    width: 0.435vw;
    height: 2.783vw;
    background: #86c7c2;
  }
  #map_overlay .modal .w_text h3 {
    font-size: 1.565vw;
    margin-bottom: 1.043vw;
  }
  #map_overlay .modal .w_text h3 span {
    color: #3a938c;
  }
  #map_overlay .modal .w_text .list {
    font-size: 1.391vw;
    line-height: 1.4;
    margin-bottom: 3.043vw;
    padding-left: 1em;
    text-indent: -1em;
  }
  #map_overlay .modal .w_text .list li {
    margin-bottom: 0.435vw;
  }
  #map_overlay .modal .w_text .buttons {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 1.043vw;
    margin-bottom: 3.478vw;
  }
  #map_overlay .modal .w_text .buttons:last-child {
    margin-bottom: 0;
  }
  #map_overlay .modal .w_text .buttons a {
    position: relative;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #e8f3f4;
    text-decoration: none;
    color: var(--black);
    font-weight: bold;
    font-size: 1.217vw;
    line-height: 1.6;
    min-height: 11.304vw;
    border-radius: 1.739vw 0 1.739vw 0;
  }
  #map_overlay .modal .w_text .buttons a:hover {
    text-decoration: none;
  }
  #map_overlay .modal .w_text .buttons a:hover:before {
    animation: btnArrow2 0.6s ease;
  }
  #map_overlay .modal .w_text .buttons a:before {
    position: absolute;
    bottom: 0.87vw;
    right: 0.87vw;
    content: "";
    display: block;
    width: 2.087vw;
    height: 2.087vw;
    background: url(../img/common/btn03.png) no-repeat left top/100% auto;
  }
  #map_overlay #map01 .flex:before {
    background: url(../img/top/map01.jpg) no-repeat center/cover;
  }
  #map_overlay #map02 .flex:before {
    background: url(../img/top/map02.jpg) no-repeat center/cover;
  }
  #map_overlay #map03 .flex:before {
    background: url(../img/top/map03.jpg) no-repeat center/cover;
  }
  #map_overlay #map04 .flex:before {
    background: url(../img/top/map04.jpg) no-repeat center/cover;
  }
  #map_overlay #map05 .flex:before {
    background: url(../img/top/map05.jpg) no-repeat center/cover;
  }
}
/*―――――――――――――――――――――――――*
*	スマホ
*―――――――――――――――――――――――――*/
@media screen and (max-width: 767px) {
  #top {
    position: relative;
  }
  #top #top_sp_bg {
    background: url(../img/common/bg01_sp.png) no-repeat left top/72.8vw auto, url(../img/top/top_sp_bg.png) no-repeat left top/100% auto, url(../img/common/bg_mc.png);
  }
  #top #w_mv {
    padding-top: 32vw;
    padding-bottom: 48vw;
    background: none;
  }
  #top #w_mv .catch_copy {
    transform: translate(0);
    width: 100%;
    left: 0;
    bottom: 10.1333333333vw;
    background: url(../img/top/cp_sp.png) no-repeat left top/100% auto;
    height: 12.8vw;
    margin: 0;
  }
  #top #w_mv .catch_copy img {
    display: none;
  }
  #top #mv .slide {
    transform-origin: left center;
    margin: 0 4vw;
  }
  #top #mv .slide .text01, #top #mv .slide .text02 {
    font-size: 5.3333333333vw;
    padding: 0.5333333333vw 2.6666666667vw;
  }
  #top #mv .slide .text01 {
    margin-bottom: 1.6vw;
  }
  #top #mv .slide .text02 {
    margin-bottom: 3.2vw;
  }
  #top #mv .slide .name {
    font-size: 2.6666666667vw;
    padding: 1.3333333333vw 2.1333333333vw;
  }
  #top #mv .slide .w_text {
    left: -4vw;
    bottom: -14.6666666667vw;
  }
  #top #mv .slick-list {
    padding: 0 8vw !important;
  }
  #top #mv .w_img {
    border-radius: 9.3333333333vw 0 9.3333333333vw 0;
  }
  #top #mv .slick-prev, #top #mv .slick-next {
    display: none;
  }
  #top #mv .w_dots {
    right: auto;
    left: 4vw;
  }
  #top #mv .w_dots .num {
    font-size: 2.6666666667vw;
    margin: 2.1333333333vw 0;
  }
  #top #mv .slick-dots button {
    padding: 4vw 0.5333333333vw 0 0;
  }
  #top #w_sc01_sc02 {
    background: none;
    padding-bottom: 26.6666666667vw;
  }
  #top #w_sc01_sc02:after {
    height: 394.6666666667vw;
  }
  #top #section01 .w1100 {
    padding-left: 8vw;
    padding-right: 8vw;
  }
  #top #section01 h2 {
    margin-bottom: 8vw;
  }
  #top #section01 h2 .fukidashi {
    font-size: 3.2vw;
    width: 44.8vw;
    height: 8vw;
    background-size: 100% auto;
    padding-top: 0.5333333333vw;
    margin-bottom: 2.1333333333vw;
  }
  #top #section01 h2 .row01, #top #section01 h2 .row02 {
    font-size: 5.8666666667vw;
  }
  #top #section01 .grid {
    grid-template-columns: 1fr;
    gap: 13.3333333333vw 0;
    margin-bottom: 12vw;
  }
  #top #section01 .grid h3 {
    width: 66.6666666667vw;
    font-size: 4.5333333333vw;
    padding: 6.6666666667vw 4vw 0;
    margin-bottom: 4vw;
    line-height: 1.6;
    border-radius: 0 2.6666666667vw 0 0;
  }
  #top #section01 .grid h3:before, #top #section01 .grid h3:after {
    width: 1.6vw;
    height: 1.6vw;
  }
  #top #section01 .grid h3:before {
    top: -1.6vw;
  }
  #top #section01 .grid h3:after {
    right: -1.6vw;
    top: 7.7333333333vw;
  }
  #top #section01 .grid p {
    font-size: 3.4666666667vw;
    padding: 0 4vw;
    line-height: 2;
  }
  #top #section01 .btn03 {
    padding-right: 4.8vw;
  }
  #top #section02 .bg {
    padding: 13.3333333333vw 12vw 22.6666666667vw;
    border-radius: 5.3333333333vw;
  }
  #top #section02 h2 {
    left: -3.7333333333vw;
    top: -12.2666666667vw;
    width: 92vw;
  }
  #top #section02 .grid {
    grid-template-columns: 1fr;
    gap: 10.6666666667vw 0;
  }
  #top #section02 .grid > div {
    padding-top: 74%;
  }
  #top #section02 h3 {
    font-size: 4.8vw;
    line-height: 1.6;
    margin-bottom: 4.2666666667vw;
    letter-spacing: 0;
  }
  #top #section02 h3:before {
    font-size: 13.3333333333vw;
    top: -9.0666666667vw;
    left: -6.4vw;
  }
  #top #section02 p {
    font-size: 3.4666666667vw;
  }
  #top #section02 .btn02 {
    width: 76vw;
    bottom: -8.2666666667vw;
    padding-right: 0;
  }
  #top #section03 {
    padding-bottom: 21.3333333333vw;
  }
  #top #section03 .lead {
    font-size: 3.4666666667vw;
    text-align: left;
    padding-left: 12vw;
    padding-right: 12vw;
    margin-bottom: 8vw;
  }
  #top #section03 .myswiper-wrapper {
    min-height: auto;
    padding-bottom: 16vw;
    margin-bottom: 10.1333333333vw;
  }
  #top #section03 .swiper {
    max-width: 80vw;
    transform: translateX(-6.1333333333vw);
  }
  #top #section03 .swiper-slide-active {
    width: 100% !important;
    padding-right: 0;
  }
  #top #section03 .swiper-slide {
    transition: 0.3s ease !important;
  }
  #top #section03 .swiper-slide a {
    position: relative;
    display: block;
    background: #fff;
    color: var(--black);
    border-radius: 30px 0 0 30px;
    overflow: hidden;
    text-decoration: none;
  }
  #top #section03 .swiper-slide a:hover {
    text-decoration: none;
  }
  #top #section03 .swiper-slide a:hover:before {
    animation: btnArrow2 0.6s ease;
  }
  #top #section03 .swiper-slide a:before {
    position: absolute;
    right: 12px;
    bottom: 12px;
    display: block;
    content: "";
    width: 28px;
    height: 28px;
    background: url(../img/common/arrow01.png) no-repeat left top/100% auto;
  }
  #top #section03 .swiper-slide .w_img {
    position: relative;
    overflow: hidden;
  }
  #top #section03 .swiper-slide .w_ttl {
    position: absolute;
    left: 16px;
    bottom: 18px;
  }
  #top #section03 .swiper-slide .w_ttl h3 {
    width: fit-content;
    font-weight: bold;
    font-size: 18px;
    background: #fff;
    border-left: solid 4px #86c7c2;
    padding: 4px 16px 2px 16px;
    margin-bottom: 6px;
  }
  #top #section03 .swiper-slide .w_ttl .name {
    width: fit-content;
    background: #86c7c2;
    color: #fff;
    font-size: 11px;
    padding: 2px 15px;
  }
  #top #section03 .swiper-slide .w_text {
    padding: 25px 40px;
  }
  #top #section03 .swiper-slide .w_text ul {
    display: flex;
    font-size: 13px;
    font-weight: bold;
    margin-bottom: 20px;
    line-height: 1.2;
  }
  #top #section03 .swiper-slide .w_text ul .green {
    color: #3a938c;
  }
  #top #section03 .swiper-slide .w_text ul li:first-child {
    padding-right: 20px;
    margin-right: 20px;
    border-right: solid 1px #e5e5e5;
  }
  #top #section03 .swiper-slide .w_text .q {
    font-size: 16px;
    color: #3a938c;
    font-weight: bold;
    line-height: 1.4;
    margin-bottom: 8px;
  }
  #top #section03 .swiper-slide .w_text .q .satoshi {
    font-size: 20px;
    margin-right: 3px;
  }
  #top #section03 .swiper-slide .w_text .text {
    font-size: 14px;
    line-height: 2;
  }
  #top #section03 .swiper-slide-active a:before, #top #section03 .swiper-slide a:before {
    right: 2.1333333333vw;
    bottom: 2.1333333333vw;
    width: 6.4vw;
    height: 6.4vw;
  }
  #top #section03 .swiper-slide-active .w_img .w_ttl, #top #section03 .swiper-slide .w_img .w_ttl {
    left: 2.6666666667vw;
    bottom: 2.6666666667vw;
  }
  #top #section03 .swiper-slide-active .w_img h3, #top #section03 .swiper-slide .w_img h3 {
    font-size: 3.7333333333vw;
    margin-bottom: 1.3333333333vw;
    border-left-width: 0.8vw;
    padding: 1.3333333333vw 3.2vw 0.8vw;
  }
  #top #section03 .swiper-slide-active .w_img .name, #top #section03 .swiper-slide .w_img .name {
    font-size: 2.6666666667vw;
    padding: 0.5333333333vw 4.8vw;
  }
  #top #section03 .swiper-slide-active .w_text, #top #section03 .swiper-slide .w_text {
    padding: 6.6666666667vw 5.8666666667vw 10.6666666667vw;
    min-height: 72vw;
  }
  #top #section03 .swiper-slide-active .w_text ul, #top #section03 .swiper-slide .w_text ul {
    position: static;
    display: flex;
    right: auto;
    top: auto;
    width: 100%;
    padding: 0;
    background: none;
    border-radius: 0;
    font-size: 3.2vw;
    margin-bottom: 4.8vw;
  }
  #top #section03 .swiper-slide-active .w_text ul:before, #top #section03 .swiper-slide-active .w_text ul:after, #top #section03 .swiper-slide .w_text ul:before, #top #section03 .swiper-slide .w_text ul:after {
    content: none;
  }
  #top #section03 .swiper-slide-active .w_text ul li:first-child, #top #section03 .swiper-slide .w_text ul li:first-child {
    border-right: solid 1px #e5e5e5;
    margin-right: 3.7333333333vw;
    padding-right: 3.7333333333vw;
    margin-bottom: 0;
  }
  #top #section03 .swiper-slide-active .w_text .q, #top #section03 .swiper-slide .w_text .q {
    font-size: 3.7333333333vw;
    margin-bottom: 3.2vw;
  }
  #top #section03 .swiper-slide-active .w_text .q .satoshi, #top #section03 .swiper-slide .w_text .q .satoshi {
    font-size: 4.8vw;
  }
  #top #section03 .swiper-slide-active .w_text .text, #top #section03 .swiper-slide .w_text .text {
    font-size: 3.4666666667vw;
  }
  #top #section03 .buttons {
    bottom: 0;
    right: auto;
    left: 50%;
    transform: translate(-50%, 0);
  }
  #top #section03 .buttons .swiper-button-next, #top #section03 .buttons .swiper-button-prev {
    width: 10.6666666667vw;
    height: 10.6666666667vw;
  }
  #top #section03 .buttons .num {
    font-size: 2.9333333333vw;
    margin: 0 5.3333333333vw;
  }
  #top #section03 .buttons .num span:nth-child(2) {
    background-size: 4.8vw auto;
  }
  #top #section03 .btn02 {
    padding-right: 4vw;
  }
  #top #section04 {
    padding-bottom: 21.3333333333vw;
  }
  #top #section04:before {
    height: 46.6666666667vw;
  }
  #top #section05 {
    background: url(../img/top/map_bg_sp.png) no-repeat left 72vw/100% auto, url(../img/common/body_bg2.jpg);
    padding-bottom: 21.3333333333vw;
  }
  #top #section05 .w_ttl01 {
    margin-bottom: 2.6666666667vw;
  }
  #top #section05 .w_ttl01 .ja {
    line-height: 1.6;
  }
  #top #section05 .w_ttl01 .satoshi {
    bottom: 6.4vw;
  }
  #top #section05 .lead {
    text-align: left;
    font-size: 3.4666666667vw;
    line-height: 2;
    margin-bottom: 10.6666666667vw;
    padding-left: 4vw;
    padding-right: 4vw;
  }
  #top #section05 .flex {
    display: block;
  }
  #top #section05 .flex .left, #top #section05 .flex .right {
    width: 100%;
  }
  #top #section05 .flex .left {
    margin-bottom: 10.6666666667vw;
  }
  #top #section05 .flex .right {
    padding-left: 4vw;
    padding-right: 4vw;
  }
  #top #section05 .right h3 {
    font-size: 4.2666666667vw;
    margin-bottom: 4.8vw;
  }
  #top #section05 .right ul {
    gap: 2.6666666667vw;
    margin-bottom: 10.6666666667vw;
  }
  #top #section05 .right ul a {
    font-size: 3.4666666667vw;
    min-height: 25.3333333333vw;
  }
  #top #section05 .right ul a:before {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
    right: 2.1333333333vw;
    bottom: 2.1333333333vw;
  }
  #top #section06 {
    padding-bottom: 37.3333333333vw;
  }
  #top #section06:before {
    height: 26.6666666667vw;
  }
  #top #section06 .bg {
    border-radius: 5.3333333333vw;
    padding: 12vw 4vw 21.3333333333vw;
  }
  #top #section06 .bg .btn02 {
    width: 76vw;
    bottom: -8.2666666667vw;
  }
  #top #section06 .w_ttl01 {
    margin-bottom: 0;
  }
  #top #section06 .w_ttl01 .ja {
    line-height: 1.6;
  }
  #top #section06 .w_ttl01 .satoshi {
    bottom: 6.4vw;
  }
  #top #section06 .tab {
    min-height: 17.0666666667vw;
    background-image: url(../img/top/tab01_sp.png);
  }
  #top #section06 .tab.long {
    background-image: url(../img/top/tab02_sp.png);
  }
  #top #section06 .tab li {
    display: block;
    text-align: center;
    font-size: 3.2vw;
    line-height: 1.4;
    padding-top: 2.1333333333vw;
  }
  #top #section06 .tab li.on {
    background-size: 3.2vw auto;
    background-position: center bottom;
    padding-top: 2.6666666667vw;
  }
  #top #section06 .tab li:first-line {
    font-size: 4.2666666667vw;
  }
  #top #section06 .tab li span {
    font-size: 3.2vw;
  }
  #top #section06 .tab_content {
    padding-top: 10.6666666667vw;
  }
  #top #section06 .tab_content:before {
    content: none;
  }
  #top #section06 .tab_content table {
    position: relative;
    width: 100%;
    border-radius: 2.6666666667vw 0;
    overflow: visible;
    margin-bottom: 10.6666666667vw;
  }
  #top #section06 .tab_content table tr {
    display: flex;
    align-items: center;
  }
  #top #section06 .tab_content table tr:first-child {
    border-radius: 2.6666666667vw 0 0 0;
  }
  #top #section06 .tab_content table tr td:first-child {
    padding-left: 4vw;
    width: 60%;
    font-size: 3.4666666667vw;
    line-height: 1.6;
    padding-right: 0;
  }
  #top #section06 .tab_content table tr td:last-child {
    padding-left: 0;
    font-size: 3.4666666667vw;
    width: 40%;
    padding-right: 4vw;
  }
  #top #section06 .tab_content table tr td:last-child .satoshi {
    font-size: 6.4vw;
  }
  #top #section06 .tab_content table tr .satoshi {
    margin: 0 1.6vw;
  }
  #top #section06 .tab_content table tr .big {
    font-size: 5.3333333333vw;
    margin-right: 1.0666666667vw;
  }
  #top #section06 .tab_content table .total {
    padding: 1.3333333333vw 0;
    display: flex;
    width: 100%;
    align-items: center;
    border-radius: 0 0 2.6666666667vw 0;
  }
  #top #section06 .tab_content table .total td {
    display: block;
  }
  #top #section06 .tab_content table .total td:first-child {
    font-size: 3.7333333333vw;
    width: 40%;
  }
  #top #section06 .tab_content table .total td:last-child {
    width: 60%;
    font-size: 3.4666666667vw;
  }
  #top #section06 .tab_content table .total td:last-child .satoshi {
    font-size: 8.5333333333vw;
  }
  #top #section06 .tab_content h3 {
    font-size: 4.5333333333vw;
    padding-left: 9.8666666667vw;
    margin-bottom: 5.3333333333vw;
  }
  #top #section06 .tab_content .grid {
    grid-template-columns: 1fr;
    gap: 4vw 0;
  }
  #top #section06 .tab_content .grid:after {
    bottom: auto;
    width: 34.6666666667vw;
    height: 20.5333333333vw;
    right: -5.3333333333vw;
    top: -5.8666666667vw;
  }
  #top #section06 .tab_content .grid > div {
    border-radius: 5.3333333333vw;
    padding: 6.6666666667vw 8vw 6.6666666667vw;
    border-width: 0.5333333333vw;
  }
  #top #section06 .tab_content .grid h4 {
    font-size: 4.5333333333vw;
    padding-left: 8.5333333333vw;
    margin-bottom: 3.2vw;
  }
  #top #section06 .tab_content .grid .pen {
    background-size: 5.8666666667vw auto;
    background-position: left 0.8vw;
  }
  #top #section06 .tab_content .grid .good {
    background-size: 6.4vw auto;
    background-position: left 0.5333333333vw;
  }
  #top #section06 .tab_content .grid .lead {
    font-size: 3.4666666667vw;
    margin-bottom: 5.3333333333vw;
  }
  #top #section06 .tab_content .grid .lead br {
    display: none;
  }
  #top #section06 .tab_content .grid .flex {
    margin-bottom: 2.1333333333vw;
  }
  #top #section06 .tab_content .grid .flex > div:first-child {
    width: 24vw;
  }
  #top #section06 .tab_content .grid .flex > div:last-child {
    width: calc(100% - 24vw);
    padding-left: 2.6666666667vw;
  }
  #top #section06 .tab_content .grid .flex .ttl {
    font-size: 2.9333333333vw;
    border-radius: 13.3333333333vw;
  }
  #top #section06 .tab_content .grid .flex .text {
    font-size: 3.4666666667vw;
  }
  #top #section06 .tab_content .grid ul {
    font-size: 3.4666666667vw;
    line-height: 1.6;
  }
  #top #section06 .tab_content .grid ul li {
    padding-left: 4vw;
  }
  #top #section06 .tab_content .grid ul li:before {
    width: 1.6vw;
    height: 1.6vw;
    top: 2.9333333333vw;
  }
  @keyframes slide01 {
    from {
      background-position: 0 0;
    }
    to {
      background-position: 231.4666666667vw 0;
    }
  }
  @keyframes slide02 {
    from {
      background-position: 0 0;
    }
    to {
      background-position: -250.9333333333vw 0;
    }
  }
  #top #loop_slide {
    padding-bottom: 21.3333333333vw;
  }
  #top #loop_slide .loop_slide01 {
    height: 46.9333333333vw;
    background: url(../img/top/loop_slide01.png) repeat-x 0 0/231.4666666667vw auto;
    margin-bottom: 2.6666666667vw;
    animation: slide01 40s linear infinite;
  }
  #top #loop_slide .loop_slide02 {
    height: 54.1333333333vw;
    background: url(../img/top/loop_slide02.png) repeat-x 0 0/250.9333333333vw auto;
    animation: slide02 40s linear infinite;
  }
  #top #section07 {
    padding-bottom: 21.3333333333vw;
  }
  #top #section07 .w_ttl01 {
    margin-bottom: 0;
  }
  #top #section07 .w_ttl01 .ja {
    line-height: 1.6;
  }
  #top #section07 .w_ttl01 .satoshi {
    bottom: 6.4vw;
  }
  #top #section07 .lead {
    text-align: left;
    font-size: 3.4666666667vw;
    margin-bottom: 30px;
    line-height: 2;
    padding: 0 4vw;
  }
  #top #section07 ul {
    gap: 2.6666666667vw;
    grid-template-columns: 1fr 1fr;
  }
  #top #section07 ul a {
    border-radius: 2.6666666667vw 0;
    font-size: 3.4666666667vw;
    padding-top: 25.3333333333vw;
    background-position: center 5.3333333333vw !important;
    background-size: 29.3333333333vw auto !important;
  }
  #top #section07 ul a:before {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
    bottom: 2.1333333333vw;
    right: 2.1333333333vw;
  }
  #top #section07 .btn02 {
    max-width: 100%;
    margin-top: 13.3333333333vw;
  }
  #top #section08 {
    padding-bottom: 26.6666666667vw;
  }
  #top #section09 {
    padding-bottom: 24vw;
  }
  #top #section09 h2 {
    font-size: 5.0666666667vw;
    margin-bottom: 8vw;
  }
  #top #section09 .toku {
    padding-left: 12.8vw;
  }
  #top #section09 .toku:before {
    top: -0.5333333333vw;
    width: 9.0666666667vw;
    height: 9.0666666667vw;
  }
  #top #section09 .grid {
    grid-template-columns: 1fr;
    padding-left: 4vw;
    padding-right: 4vw;
  }
  #top #section09 .grid > div {
    padding-bottom: 0;
  }
  #top #section09 .grid > div:first-child {
    margin-bottom: 16vw;
  }
  #top #section09 .grid > div .btn05 {
    position: relative;
    right: auto;
    bottom: auto;
    font-size: 3.7333333333vw;
    display: block;
    width: fit-content;
    margin-left: auto;
    padding-right: 13.3333333333vw;
  }
  #top #section09 .grid > div .btn05:before {
    width: 9.6vw;
    height: 9.6vw;
  }
  #top #section09 .grid ul li {
    margin-bottom: 6.6666666667vw;
  }
  #top #section09 .grid ul .w_img {
    width: 28vw;
  }
  #top #section09 .grid ul .w_img picture {
    border-radius: 2.1333333333vw 0;
  }
  #top #section09 .grid ul .w_text {
    width: calc(100% - 28vw);
    padding-left: 5.3333333333vw;
    padding-top: 1.3333333333vw;
  }
  #top #section09 .grid ul .info {
    flex-wrap: wrap;
    gap: 0 2.6666666667vw;
    margin-bottom: 2.6666666667vw;
  }
  #top #section09 .grid ul .satoshi {
    font-size: 3.2vw;
    margin-right: 0;
  }
  #top #section09 .grid ul .cat {
    font-size: 2.9333333333vw;
    min-width: 0;
    padding: 0 4vw;
  }
  #top #section09 .grid ul .text {
    font-size: 3.4666666667vw;
    line-height: 1.6;
  }
  .island_map {
    margin-left: 4vw;
  }
  .island_map a[class^=btn_map], .island_map p[class^=btn_map] {
    width: 29.3333333333vw;
    height: 11.2vw;
    font-size: 3.2vw;
    line-height: 11.2vw;
    border-radius: 2.1333333333vw 0 2.1333333333vw 0;
    padding-right: 2.6666666667vw;
  }
  .island_map a[class^=btn_map]:before, .island_map p[class^=btn_map]:before {
    width: 4.8vw;
    height: 4.8vw;
    right: 1.3333333333vw;
  }
  .island_map .btn_map01 {
    top: 4.8vw;
    left: 2.1333333333vw;
  }
  .island_map .btn_map02 {
    top: 30.9333333333vw;
    left: 0.2666666667vw;
  }
  .island_map .btn_map03 {
    top: 48vw;
    left: auto;
    right: 0;
  }
  .island_map .btn_map04 {
    top: 64.5333333333vw;
    left: 27.2vw;
  }
  .island_map .btn_map05 {
    top: 91.7333333333vw;
    left: 41.6vw;
  }
  #map_overlay {
    /*#map01{
    	display: block;

    }*/
  }
  #map_overlay:after {
    background-image: url(../img/top/modal_close_sp.png);
    width: 11.2vw;
    height: 14.6666666667vw;
    left: 50%;
    transform: translate(-50%, 0);
    bottom: 4vw;
    top: auto;
  }
  #map_overlay > .flex {
    padding: 4vw 4vw 24vw;
  }
  #map_overlay #map01 .flex:before {
    background: url(../img/top/map01_sp.jpg) no-repeat center/cover;
  }
  #map_overlay #map02 .flex:before {
    background: url(../img/top/map02_sp.jpg) no-repeat center/cover;
  }
  #map_overlay #map03 .flex:before {
    background: url(../img/top/map03_sp.jpg) no-repeat center/cover;
  }
  #map_overlay #map04 .flex:before {
    background: url(../img/top/map04_sp.jpg) no-repeat center/cover;
  }
  #map_overlay #map05 .flex:before {
    background: url(../img/top/map05_sp.jpg) no-repeat center/cover;
  }
  #map_overlay .modal {
    overflow: auto;
    border-radius: 5.3333333333vw;
    max-height: 100%;
  }
  #map_overlay .modal .flex {
    width: 100%;
    display: block;
    max-height: none;
    border-radius: 0;
  }
  #map_overlay .modal .flex:before {
    width: 100%;
    height: 56vw;
  }
  #map_overlay .modal .w_text {
    width: 100%;
    overflow: visible;
    padding: 9.3333333333vw 8vw 8vw;
  }
  #map_overlay .modal .w_text h2 {
    font-size: 6.4vw;
    padding-left: 5.3333333333vw;
    margin-bottom: 5.3333333333vw;
  }
  #map_overlay .modal .w_text h2:before {
    width: 1.0666666667vw;
    height: 6.6666666667vw;
  }
  #map_overlay .modal .w_text .list {
    font-size: 3.4666666667vw;
    line-height: 2;
    margin-bottom: 10.6666666667vw;
  }
  #map_overlay .modal .w_text .list li {
    margin-bottom: 0;
  }
  #map_overlay .modal .w_text h3 {
    font-size: 3.7333333333vw;
    margin-bottom: 3.2vw;
    line-height: 1.6;
  }
  #map_overlay .modal .w_text .buttons {
    margin-bottom: 9.3333333333vw;
    grid-template-columns: 1fr 1fr;
    gap: 2.6666666667vw;
  }
  #map_overlay .modal .w_text .buttons a {
    min-height: 22.6666666667vw;
    font-size: 3.4666666667vw;
    border-radius: 2.6666666667vw 0;
  }
  #map_overlay .modal .w_text .buttons a:before {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
    right: 2.1333333333vw;
    bottom: 2.1333333333vw;
  }
}
.not_found {
  text-align: center;
  padding: 20px;
  background: #fff;
  border-radius: 10px 0;
  margin: 0;
}

#one_column {
  padding-bottom: 210px;
  max-width: 790px;
  margin-left: auto;
  margin-right: auto;
}
#one_column #inner-content {
  width: 100% !important;
}

#two_column {
  padding-bottom: 210px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
#two_column.sticky_top {
  align-items: flex-start;
}
#two_column.sticky_top #right {
  top: 100px;
}
#two_column #inner-content {
  display: block;
  width: auto;
}
#two_column #left {
  width: 790px;
  padding-bottom: 50px;
}
#two_column #left.single {
  border-radius: 30px;
  background: #fff;
  padding: 70px 40px;
}
#two_column #right {
  position: sticky;
  width: 355px;
  bottom: 20px;
}

@media screen and (min-width: 768px) {
  .side_cta_sticky #two_column {
    align-items: revert;
  }
  .side_cta_sticky #two_column #right {
    position: revert;
  }
  .side_cta_sticky #two_column #side_cta {
    position: sticky;
    top: 8.594vw;
  }
}
@media screen and (min-width: 1281px) {
  .side_cta_sticky #two_column #side_cta {
    top: 110px;
  }
}
.result_count {
  font-weight: bold;
  font-size: 16px;
  margin: 0 0 35px;
  line-height: 1.2;
  position: relative;
  top: -4px;
}
.result_count span {
  position: relative;
  top: 2px;
  color: #49b0a8;
  font-size: 36px;
}

.archive_list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 25px 33px;
}
.archive_list * {
  margin: 0;
}
.archive_list a {
  text-decoration: none;
  color: var(--black);
  background: #fff;
  border-radius: 20px 0;
  overflow: hidden;
  transition: opacity 0.4s ease;
}
.archive_list a:hover {
  opacity: 0.6;
}
.archive_list figure img {
  width: 100%;
}
.archive_list .w_text {
  position: relative;
  padding: 20px 30px 30px;
}
.archive_list .info {
  margin-bottom: 20px;
}
.archive_list .info .date {
  max-width: fit-content;
  margin-left: auto;
  color: #aea8a2;
  font-family: "satoshi-m";
  font-size: 14px;
  letter-spacing: 0.05em;
}
.archive_list .info .date i {
  font-size: 13px;
  margin-right: 6px;
}
.archive_list .cat {
  position: absolute;
  left: 0;
  top: 20px;
  font-size: 12px;
  background: #49b0a8;
  text-align: center;
  color: #fff;
  padding: 2px 22px 2px 18px;
}
.archive_list .cat:before {
  position: absolute;
  right: 0;
  top: 0;
  content: "";
  display: block;
  border-right: solid 6px #fff;
  border-top: solid 13px transparent;
  border-bottom: solid 13px transparent;
}
.archive_list h2 {
  font-size: 18px;
  line-height: 1.6;
  margin-bottom: 10px;
}
.archive_list .exc {
  font-size: 14px;
  line-height: 2;
}
.archive_list .tags {
  display: flex;
  gap: 4px;
  margin-top: 20px;
  flex-wrap: wrap;
}
.archive_list .tags span {
  font-size: 12px;
  display: inline-block;
  color: #3a938c;
  border-radius: 50px;
  border: solid 1px #3a938c;
  line-height: 1.2;
  padding: 3px 8px 3px 6px;
}

.wp-pagenavi {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 10px;
  color: #49b0a8;
  font-family: "satoshi";
  margin-top: 60px;
  font-size: 14px;
}
.wp-pagenavi a {
  color: #49b0a8;
  text-decoration: none;
  transition: opacity 0.4s ease;
}
.wp-pagenavi a:hover {
  opacity: 0.6;
}
.wp-pagenavi > a, .wp-pagenavi .current {
  display: block;
  width: 60px;
  height: 60px;
  border: solid 1px #49b0a8;
  line-height: 60px;
  text-align: center;
  border-radius: 50px;
}
.wp-pagenavi .current {
  color: #fff;
  background: #49b0a8;
}

.org_widget {
  margin-bottom: 40px;
  font-weight: bold;
}
.org_widget * {
  margin: 0;
}
.org_widget a {
  transition: opacity 0.4s ease;
}
.org_widget a:hover {
  opacity: 0.6;
}
.org_widget .category_list li {
  border-bottom: dashed 1px #87c2be;
}
.org_widget .category_list a {
  color: var(--black);
  text-decoration: none;
  display: block;
  padding: 15px 20px 15px;
}
.org_widget .category_list i {
  color: #49b0a8;
  font-size: 18px;
  margin-right: 10px;
  position: relative;
  top: 1px;
}
.org_widget .post_list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px 0;
}
.org_widget .post_list a {
  color: var(--black);
  display: flex;
  justify-content: space-between;
  text-decoration: none;
}
.org_widget .post_list .w_img {
  width: 140px;
}
.org_widget .post_list .w_img figure {
  font-size: 0;
  line-height: 1;
  border-radius: 10px 0;
  overflow: hidden;
}
.org_widget .post_list .w_text {
  width: calc(100% - 140px);
  padding-left: 20px;
  padding-top: 6px;
}
.org_widget .post_list .ttl {
  font-size: 15px;
  margin-bottom: 5px;
  line-height: 1.6;
}
.org_widget .post_list .satoshi {
  color: #aea8a2;
  font-family: "satoshi-m";
  font-size: 12px;
  letter-spacing: 0.05em;
}

.widget_ttl {
  font-weight: bold;
  background: #49b0a8;
  border-radius: 10px 0;
  color: #fff;
  font-size: 17px;
  padding: 10px 20px;
  letter-spacing: 0;
  margin-bottom: 20px;
}
.widget_ttl.mb5 {
  margin-bottom: 5px;
}
.widget_ttl i {
  position: relative;
  top: 2px;
  font-size: 20px;
  margin-right: 8px;
}

/*―――――――――――――――――――――――――*
*	1280px 以下
*―――――――――――――――――――――――――*/
@media screen and (min-width: 767px) and (max-width: 1280px) {
  #one_column,
  #two_column {
    max-width: 100%;
    padding-bottom: 16.406vw;
    display: flex;
    justify-content: space-between;
    padding-left: 3vw;
    padding-right: 3vw;
  }
  #one_column.sticky_top,
  #two_column.sticky_top {
    align-items: flex-start;
  }
  #one_column.sticky_top #right,
  #two_column.sticky_top #right {
    top: 8vw;
  }
  #one_column #left,
  #two_column #left {
    width: 61.719vw;
    padding-bottom: 3.906vw;
  }
  #one_column #left.single,
  #two_column #left.single {
    border-radius: 2.344vw;
    background: #fff;
    padding: 5.469vw 3.125vw;
  }
  #one_column #right,
  #two_column #right {
    width: 27.734vw;
  }
  .result_count {
    font-weight: bold;
    font-size: 1.25vw;
    margin: 0 0 2.734vw;
    line-height: 1.2;
    position: relative;
    top: -0.312vw;
  }
  .result_count span {
    position: relative;
    top: 0.156vw;
    color: #49b0a8;
    font-size: 2.813vw;
  }
  .archive_list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2vw;
  }
  .archive_list * {
    margin: 0;
  }
  .archive_list a {
    text-decoration: none;
    color: var(--black);
    background: #fff;
    border-radius: 1.563vw 0;
    overflow: hidden;
    transition: opacity 0.4s ease;
  }
  .archive_list a:hover {
    opacity: 0.6;
  }
  .archive_list figure img {
    width: 100%;
  }
  .archive_list .w_text {
    position: relative;
    padding: 1.563vw 2.344vw 2.344vw;
  }
  .archive_list .info {
    margin-bottom: 1.563vw;
  }
  .archive_list .info .date {
    max-width: fit-content;
    margin-left: auto;
    color: #aea8a2;
    font-family: "satoshi-m";
    font-size: 1.094vw;
    letter-spacing: 0.05em;
  }
  .archive_list .info .date i {
    font-size: 1.016vw;
    margin-right: 0.469vw;
  }
  .archive_list .cat {
    position: absolute;
    left: 0;
    top: 1.563vw;
    font-size: 0.938vw;
    background: #49b0a8;
    text-align: center;
    color: #fff;
    padding: 0.156vw 1.719vw 0.156vw 1.406vw;
  }
  .archive_list .cat:before {
    position: absolute;
    right: 0;
    top: 0;
    content: "";
    display: block;
    border-right: solid 6px #fff;
    border-top: solid 13px transparent;
    border-bottom: solid 13px transparent;
  }
  .archive_list h2 {
    font-size: 1.406vw;
    line-height: 1.6;
    margin-bottom: 0.781vw;
  }
  .archive_list .exc {
    font-size: 1.094vw;
    line-height: 2;
  }
  .archive_list .tags {
    display: flex;
    gap: 0.313vw;
    margin-top: 1.563vw;
  }
  .archive_list .tags span {
    font-size: 0.938vw;
    display: inline-block;
    color: #3a938c;
    border-radius: 3.906vw;
    border: solid 1px #3a938c;
    line-height: 1.2;
    padding: 0.234vw 0.625vw 0.234vw 0.469vw;
  }
  .wp-pagenavi {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 0.781vw;
    color: #49b0a8;
    font-family: "satoshi";
    margin-top: 4.688vw;
    font-size: 1.094vw;
  }
  .wp-pagenavi a {
    color: #49b0a8;
    text-decoration: none;
    transition: opacity 0.4s ease;
  }
  .wp-pagenavi a:hover {
    opacity: 0.6;
  }
  .wp-pagenavi > a, .wp-pagenavi .current {
    display: block;
    width: 4.688vw;
    height: 4.688vw;
    border: solid 1px #49b0a8;
    line-height: 4.688vw;
    text-align: center;
    border-radius: 3.906vw;
  }
  .wp-pagenavi .current {
    color: #fff;
    background: #49b0a8;
  }
  .org_widget {
    margin-bottom: 3.125vw;
    font-weight: bold;
  }
  .org_widget * {
    margin: 0;
  }
  .org_widget a {
    transition: opacity 0.4s ease;
  }
  .org_widget a:hover {
    opacity: 0.6;
  }
  .org_widget .category_list li {
    border-bottom: dashed 1px #87c2be;
  }
  .org_widget .category_list a {
    color: var(--black);
    text-decoration: none;
    display: block;
    padding: 1.172vw 1.563vw 1.172vw;
  }
  .org_widget .category_list i {
    color: #49b0a8;
    font-size: 1.406vw;
    margin-right: 0.781vw;
    position: relative;
    top: 0.078vw;
  }
  .org_widget .post_list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.563vw 0;
  }
  .org_widget .post_list a {
    color: var(--black);
    display: flex;
    justify-content: space-between;
    text-decoration: none;
  }
  .org_widget .post_list .w_img {
    width: 10.938vw;
  }
  .org_widget .post_list .w_img figure {
    font-size: 0;
    line-height: 1;
    border-radius: 0.781vw 0;
    overflow: hidden;
  }
  .org_widget .post_list .w_text {
    width: calc(100% - 10.938vw);
    padding-left: 1.563vw;
    padding-top: 0.469vw;
  }
  .org_widget .post_list .ttl {
    font-size: 1.172vw;
    margin-bottom: 0.391vw;
    line-height: 1.6;
  }
  .org_widget .post_list .satoshi {
    color: #aea8a2;
    font-family: "satoshi-m";
    font-size: 0.938vw;
    letter-spacing: 0.05em;
  }
  .widget_ttl {
    font-weight: bold;
    background: #49b0a8;
    border-radius: 0.781vw 0;
    color: #fff;
    font-size: 1.328vw;
    padding: 0.781vw 1.563vw;
    letter-spacing: 0;
    margin-bottom: 1.563vw;
  }
  .widget_ttl.mb5 {
    margin-bottom: 0.391vw;
  }
  .widget_ttl i {
    position: relative;
    top: 0.156vw;
    font-size: 1.563vw;
    margin-right: 0.625vw;
  }
}
/*―――――――――――――――――――――――――*
*	スマホ
*―――――――――――――――――――――――――*/
@media screen and (max-width: 767px) {
  #two_column {
    display: block;
    padding: 0 4vw;
    padding-bottom: 24vw;
  }
  #two_column #left, #two_column #right {
    width: 100%;
  }
  #two_column #left {
    margin-bottom: 21.3333333333vw;
    padding-bottom: 0;
  }
  #two_column #right {
    position: static;
  }
  #two_column #right .org_widget:last-child {
    margin-bottom: 0;
  }
  #one_column {
    padding-bottom: 24vw;
  }
  .result_count {
    padding: 0.8vw 6.6666666667vw;
    font-size: 3.4666666667vw;
    margin-bottom: 5.3333333333vw;
  }
  .result_count span {
    font-size: 7.7333333333vw;
  }
  .archive_list {
    grid-template-columns: 1fr;
    gap: 4vw 0;
  }
  .archive_list a {
    border-radius: 4vw 0;
  }
  .archive_list .w_text {
    padding: 5.3333333333vw 8vw 8vw;
  }
  .archive_list .info {
    margin-bottom: 5.3333333333vw;
  }
  .archive_list .info .date {
    font-size: 3.2vw;
  }
  .archive_list .info .date i {
    font-size: 2.9333333333vw;
    margin-right: 1.6vw;
  }
  .archive_list .cat {
    top: 5.3333333333vw;
    font-size: 2.9333333333vw;
    padding: 0.5333333333vw 5.8666666667vw 0.5333333333vw 4.8vw;
  }
  .archive_list .cat:before {
    border-right: solid 1.6vw #fff;
    border-top: solid 3.4666666667vw transparent;
    border-bottom: solid 3.4666666667vw transparent;
  }
  .archive_list h2 {
    font-size: 4.2666666667vw;
    line-height: 1.6;
    margin-bottom: 4vw;
  }
  .archive_list .exc {
    font-size: 3.4666666667vw;
  }
  .archive_list .tags {
    display: flex;
    gap: 1.0666666667vw;
    margin-top: 5.3333333333vw;
  }
  .archive_list .tags span {
    font-size: 3.2vw;
    border-radius: 13.3333333333vw;
    padding: 0.8vw 2.1333333333vw 0.8vw 1.6vw;
  }
  .wp-pagenavi {
    gap: 0 1.6vw;
    margin-top: 13.3333333333vw;
    font-size: 3.2vw;
  }
  .wp-pagenavi > a, .wp-pagenavi .current {
    width: 10.6666666667vw;
    height: 10.6666666667vw;
    line-height: 10.6666666667vw;
    text-align: center;
    border-radius: 100%;
  }
  .org_widget {
    margin-bottom: 12vw;
  }
  .org_widget .category_list a {
    padding: 4vw 5.3333333333vw 4vw;
    font-size: 3.4666666667vw;
  }
  .org_widget .category_list i {
    font-size: 4.2666666667vw;
    margin-right: 2.6666666667vw;
    top: 0.2666666667vw;
  }
  .org_widget .post_list {
    gap: 5.3333333333vw 0;
  }
  .org_widget .post_list .w_img {
    width: 33.0666666667vw;
  }
  .org_widget .post_list .w_img figure {
    border-radius: 2.1333333333vw 0;
  }
  .org_widget .post_list .w_text {
    width: calc(100% - 33.0666666667vw);
    padding-left: 4vw;
    padding-top: 1.6vw;
  }
  .org_widget .post_list .ttl {
    font-size: 3.4666666667vw;
    margin-bottom: 1.3333333333vw;
  }
  .org_widget .post_list .satoshi {
    font-size: 3.2vw;
  }
  .widget_ttl {
    border-radius: 2.1333333333vw 0;
    font-size: 4.2666666667vw;
    padding: 2.6666666667vw 5.3333333333vw;
    letter-spacing: 0;
    margin-bottom: 5.3333333333vw;
  }
  .widget_ttl.mb5 {
    margin-bottom: 5px;
  }
  .widget_ttl i {
    position: relative;
    top: 0;
    font-size: 4.2666666667vw;
    margin-right: 2.6666666667vw;
  }
}
#single {
  padding-top: 165px;
  background: url(../img/common/bg01.png) no-repeat left top/430px auto;
}
#single #entry {
  box-shadow: none;
  padding-top: 1px;
  padding-bottom: 60px;
}
#single #entry .single-title {
  margin-top: 5px;
}
#single #bread {
  margin-bottom: 35px;
  max-width: fit-content;
  margin-left: auto;
}
#single.school #two_column {
  align-items: stretch;
}
#single.school #two_column #right {
  position: static;
}
#single.school #two_column #side_cta {
  position: sticky;
  top: 200px;
}

.sgb-acc__content {
  transform: rotate(0.03deg);
}
.sgb-acc__content p {
  transform: none;
}

.entry-content {
  font-size: 107%;
}

.org_widget .w_line {
  background: #fff;
  padding: 0 6px 6px;
  border-radius: 10px 0;
}
.org_widget .w_line .ttl {
  color: #41b54e;
  font-size: 17px;
  padding: 8px 15px 8px;
}
.org_widget .w_line .ttl:before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  background: url(../img/common/line.png) no-repeat left top/100% auto;
  position: relative;
  top: 5px;
  margin-right: 10px;
}
.org_widget .w_line .box {
  background: #f4f4ed url(../img/common/body_bg.jpg);
  border-radius: 10px 0;
  padding: 24px 20px 20px;
}
.org_widget .w_line .box p {
  text-align: center;
  margin-bottom: 15px;
}
.org_widget .w_line .btn06 {
  opacity: 1;
}

/*―――――――――――――――――――――――――*
*	1500px 以下
*―――――――――――――――――――――――――*/
@media screen and (min-width: 1281px) and (max-width: 1500px) {
  #single.school #side_cta {
    position: sticky;
    top: 155px !important;
  }
}
/*―――――――――――――――――――――――――*
*	1280px 以下
*―――――――――――――――――――――――――*/
@media screen and (min-width: 767px) and (max-width: 1280px) {
  #single {
    padding-top: 12.891vw;
    background: url(../img/common/bg01.png) no-repeat left top/33.594vw auto;
  }
  #single #entry {
    box-shadow: none;
    padding-bottom: 4.688vw;
  }
  #single #bread {
    margin-bottom: 2.734vw;
    max-width: fit-content;
    margin-left: auto;
  }
  #single.school #two_column #side_cta {
    position: sticky;
    top: 16vw;
  }
  .org_widget .w_line {
    background: #fff;
    padding: 0 0.469vw 0.469vw;
    border-radius: 0.781vw 0;
  }
  .org_widget .w_line .ttl {
    color: #41b54e;
    font-size: 1.328vw;
    padding: 0.625vw 1.172vw 0.625vw;
  }
  .org_widget .w_line .ttl:before {
    content: "";
    display: inline-block;
    width: 1.875vw;
    height: 1.875vw;
    background: url(../img/common/line.png) no-repeat left top/100% auto;
    position: relative;
    top: 0.391vw;
    margin-right: 0.781vw;
  }
  .org_widget .w_line .box {
    background: #f4f4ed url(../img/common/body_bg.jpg);
    border-radius: 0.781vw 0;
    padding: 1.875vw 1.563vw 1.563vw;
  }
  .org_widget .w_line .box p {
    text-align: center;
    margin-bottom: 1.172vw;
  }
  .org_widget .w_line .btn06 {
    opacity: 1;
  }
  #single.school #side_cta {
    top: 12.109vw !important;
  }
}
/*―――――――――――――――――――――――――*
*	スマホ
*―――――――――――――――――――――――――*/
@media screen and (max-width: 767px) {
  #single {
    padding-top: 25.3333333333vw;
    background: url(../img/common/bg01_sp.png) no-repeat left top/61.3333333333vw auto;
  }
  #single #entry {
    border-radius: 0;
  }
  #single #entry .single-title {
    margin-top: 25px;
  }
  #single #bread {
    padding-right: 4vw;
    margin-bottom: 6.6666666667vw;
    max-width: 100%;
    padding-left: 4vw;
  }
  #single:not(.school) #two_column {
    padding-left: 0;
    padding-right: 0;
  }
  #single:not(.school) #two_column #right {
    padding-left: 4vw;
    padding-right: 4vw;
  }
  .org_widget .w_line {
    background: #fff;
    padding: 0 4vw 4vw;
    border-radius: 2.1333333333vw 0;
  }
  .org_widget .w_line .ttl {
    font-size: 4.2666666667vw;
    padding: 2.6666666667vw 1.3333333333vw;
  }
  .org_widget .w_line .ttl:before {
    width: 6.4vw;
    height: 6.4vw;
    top: 1.8666666667vw;
    margin-right: 2.6666666667vw;
  }
  .org_widget .w_line .box {
    border-radius: 2.1333333333vw 0;
    padding: 6.4vw 4vw 5.3333333333vw;
  }
  .org_widget .w_line .box p {
    text-align: center;
    margin-bottom: 2.6666666667vw;
    font-size: 3.4666666667vw;
  }
  .org_widget .w_line .btn06 {
    font-size: 3.7333333333vw;
  }
}
#contact_header {
  position: absolute !important;
  top: 0;
}
#contact_header.on {
  background: none;
  box-shadow: none;
  left: 0;
  top: 0;
}
#contact_header #header_logo {
  padding-top: 25px;
}
#contact_header #header_logo img {
  max-width: 231px;
}
#contact_header * {
  margin: 0;
}

#contact_mv {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 60px;
}

#contact {
  background: url(../img/common/bg01.png) no-repeat left top/430px auto;
  padding-top: 180px;
}
#contact .lead {
  font-size: 16px;
  line-height: 2;
}
#contact .panel {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 90px 0;
  gap: 40px;
}
#contact .panel * {
  margin: 0;
}
#contact .panel > div {
  background: #fff;
  border-radius: 30px;
  padding: 40px 55px 55px;
}
#contact .panel h3 {
  line-height: 1.4;
  padding: 30px 0 30px 120px;
  margin-bottom: 25px;
}
#contact .panel h3 span {
  display: block;
}
#contact .panel h3 .ja {
  font-size: 24px;
  margin-bottom: 5px;
}
#contact .panel h3 .satoshi {
  font-size: 14px;
  color: #439395;
}
#contact .panel .ic01 {
  background: url(../img/contact/ic01.png) no-repeat left center/100px auto;
}
#contact .panel .ic02 {
  background: url(../img/contact/ic02.png) no-repeat left center/100px auto;
}
#contact .panel .ic03 {
  background: url(../img/contact/ic03.png) no-repeat left center/100px auto;
}
#contact .panel .ic04 {
  background: url(../img/contact/ic04.png) no-repeat left center/100px auto;
}
#contact .panel .w_text {
  min-height: 150px;
  margin-bottom: 35px;
}
#contact .panel .text {
  font-size: 15px;
  line-height: 2;
}
#contact .panel .notice {
  font-size: 12px;
  line-height: 1.6;
  margin-top: 5px;
}
#contact .btn02 {
  max-width: 100%;
}
#contact #section01 .lead {
  margin-bottom: 60px;
}
#contact #section01 nav {
  margin-bottom: 70px;
}
#contact #section01 nav li {
  border-right: dashed 1px #86c7c2;
}
#contact #section01 nav li:last-child {
  border-right: none;
}
#contact #section01 nav a {
  text-align: center;
  color: var(--black);
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  font-size: 17px;
  line-height: 1.6;
  min-height: 90px;
  background: url(../img/contact/arrow.png) no-repeat center bottom/15px auto;
  padding-bottom: 15px;
}
#contact #section01 nav a:hover {
  text-decoration: none;
}
#contact #section01 nav ul {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
}
#contact .w_faq {
  margin-bottom: 80px;
}
#contact .w_faq .faq_box:last-child {
  margin-bottom: 0;
}
#contact #faq05 {
  margin-bottom: 0;
}

.faq_box {
  position: relative;
  background: #fff;
  border-radius: 20px 0;
  padding: 0 20px 1px 20px;
  margin-bottom: 20px;
}
.faq_box.open h4 span:before {
  opacity: 0;
}
.faq_box * {
  margin: 0;
}
.faq_box h4 {
  position: relative;
  font-size: 17px;
  font-weight: bold;
  cursor: pointer;
}
.faq_box h4 span {
  position: relative;
  display: block;
  padding: 22px 0 22px 60px;
}
.faq_box h4 span:before, .faq_box h4 span:after {
  position: absolute;
  right: 0;
  content: "";
  top: 50%;
  transform: translate(0, -50%);
  display: block;
  width: 18px;
  height: 3px;
  background: var(--black);
  border-radius: 5px;
}
.faq_box h4 span:before {
  transform: rotate(90deg);
  margin-top: -1px;
}
.faq_box h4:before {
  position: absolute;
  left: 0;
  top: 18px;
  content: "Q";
  display: block;
  width: 40px;
  height: 40px;
  font-family: "satoshi";
  font-size: 20px;
  color: #fff;
  border-radius: 50%;
  background: #49b0a8;
  text-align: center;
  line-height: 40px;
}
.faq_box .bg {
  display: none;
  position: relative;
  line-height: 1.6;
  font-size: 16px;
  background: #e8f3f3;
  padding: 28px 22px 30px 80px;
  margin-bottom: 20px;
}
.faq_box .bg p {
  margin-bottom: 1em;
}
.faq_box .bg p:last-child {
  margin-bottom: 0;
}
.faq_box .bg p a {
  color: #49b0a8;
  text-decoration: underline;
}
.faq_box .bg:before {
  position: absolute;
  left: 20px;
  top: 20px;
  content: "A";
  display: block;
  width: 40px;
  height: 40px;
  font-family: "satoshi";
  font-size: 20px;
  color: #49b0a8;
  border-radius: 50%;
  background: #fff;
  text-align: center;
  line-height: 40px;
}

#contact_footer {
  margin-top: 130px;
  background: url(../img/common/bg_mc.png);
}
#contact_footer .nav {
  margin: 0;
}
#contact_footer .w1100 {
  height: 80px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#contact_nav.guidebook {
  margin-bottom: 50px;
}
#contact_nav ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  background: #fff;
  border-radius: 0 20px;
  overflow: hidden;
}
#contact_nav ul li:first-child a {
  padding-bottom: 5px;
}
#contact_nav a {
  color: var(--black);
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  text-decoration: none;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.3;
  height: 88px;
  position: relative;
  transition: background-color 0.4s ease;
}
#contact_nav a:before {
  z-index: 1;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  bottom: 8px;
  content: "";
  display: block;
  width: 14px;
  height: 8px;
  background: url(../img/contact/arrow2.png) no-repeat left top/100% auto;
  transition: 0.4s ease;
  opacity: 0;
}
#contact_nav a.on, #contact_nav a:hover {
  color: #fff;
  background: #49b0a8;
}
#contact_nav a.on:before, #contact_nav a:hover:before {
  opacity: 1;
}

.form_lead {
  margin-bottom: 50px;
}

#form_footer {
  padding-bottom: 50px;
  margin-top: 130px;
  text-align: center;
}

@media screen and (min-width: 767px) and (max-width: 1280px) {
  #contact {
    background: url(../img/common/bg01.png) no-repeat left top/40vw auto;
  }
}
@media screen and (min-width: 767px) and (max-width: 1150px) {
  #contact_header {
    position: absolute !important;
    top: 0;
  }
  #contact_header.on {
    background: none;
    box-shadow: none;
    left: 0;
    top: 0;
  }
  #contact_header #header_logo {
    padding-top: 2.174vw;
  }
  #contact_header #header_logo img {
    max-width: 20.087vw;
  }
  #contact_header * {
    margin: 0;
  }
  #contact_mv {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 5.217vw;
  }
  #contact {
    padding-top: 15.652vw;
  }
  #contact .lead {
    font-size: 1.391vw;
    line-height: 2;
  }
  #contact .panel {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin: 7.826vw 0;
    gap: 3.478vw;
  }
  #contact .panel * {
    margin: 0;
  }
  #contact .panel > div {
    background: #fff;
    border-radius: 2.609vw;
    padding: 3.478vw 4.2vw 4.783vw;
  }
  #contact .panel h3 {
    line-height: 1.4;
    padding: 2.609vw 0 2.609vw 10.435vw;
    margin-bottom: 2.174vw;
  }
  #contact .panel h3 span {
    display: block;
  }
  #contact .panel h3 .ja {
    font-size: 2.087vw;
    margin-bottom: 0.435vw;
  }
  #contact .panel h3 .satoshi {
    font-size: 1.217vw;
    color: #439395;
  }
  #contact .panel .ic01 {
    background: url(../img/contact/ic01.png) no-repeat left center/8.696vw auto;
  }
  #contact .panel .ic02 {
    background: url(../img/contact/ic02.png) no-repeat left center/8.696vw auto;
  }
  #contact .panel .ic03 {
    background: url(../img/contact/ic03.png) no-repeat left center/8.696vw auto;
  }
  #contact .panel .ic04 {
    background: url(../img/contact/ic04.png) no-repeat left center/8.696vw auto;
  }
  #contact .panel .w_text {
    min-height: 13.043vw;
    margin-bottom: 3.043vw;
  }
  #contact .panel .text {
    font-size: 1.304vw;
    line-height: 2;
  }
  #contact .panel .notice {
    font-size: 1.043vw;
    line-height: 1.6;
    margin-top: 0.435vw;
  }
  #contact .btn02 {
    max-width: 100%;
  }
  #contact #section01 .lead {
    margin-bottom: 5.217vw;
  }
  #contact #section01 nav {
    margin-bottom: 6.087vw;
  }
  #contact #section01 nav li {
    border-right: dashed 1px #86c7c2;
  }
  #contact #section01 nav li:last-child {
    border-right: none;
  }
  #contact #section01 nav a {
    text-align: center;
    color: var(--black);
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: 1.478vw;
    line-height: 1.6;
    min-height: 7.826vw;
    background: url(../img/contact/arrow.png) no-repeat center bottom/1.3vw auto;
    padding-bottom: 1.304vw;
  }
  #contact #section01 nav a:hover {
    text-decoration: none;
  }
  #contact #section01 nav ul {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
  }
  #contact .w_faq {
    margin-bottom: 6.957vw;
  }
  #contact .w_faq .faq_box:last-child {
    margin-bottom: 0;
  }
  #contact #faq05 {
    margin-bottom: 0;
  }
  .faq_box {
    position: relative;
    background: #fff;
    border-radius: 1.739vw 0;
    padding: 0 1.739vw 0.087vw 1.739vw;
    margin-bottom: 1.739vw;
  }
  .faq_box.open h4 span:before {
    opacity: 0;
  }
  .faq_box * {
    margin: 0;
  }
  .faq_box h4 {
    position: relative;
    font-size: 1.478vw;
    font-weight: bold;
    cursor: pointer;
  }
  .faq_box h4 span {
    position: relative;
    display: block;
    padding: 1.913vw 0 1.913vw 5.217vw;
  }
  .faq_box h4 span:before, .faq_box h4 span:after {
    position: absolute;
    right: 0;
    content: "";
    top: 50%;
    transform: translate(0, -50%);
    display: block;
    width: 1.565vw;
    height: 0.261vw;
    background: var(--black);
    border-radius: 0.435vw;
  }
  .faq_box h4 span:before {
    transform: rotate(90deg);
    margin-top: 0;
  }
  .faq_box h4:before {
    position: absolute;
    left: 0;
    top: 1.565vw;
    content: "Q";
    display: block;
    width: 3.478vw;
    height: 3.478vw;
    font-family: "satoshi";
    font-size: 1.739vw;
    color: #fff;
    border-radius: 50%;
    background: #49b0a8;
    text-align: center;
    line-height: 3.478vw;
  }
  .faq_box .bg {
    display: none;
    position: relative;
    line-height: 1.6;
    font-size: 1.391vw;
    background: #e8f3f3;
    padding: 2.435vw 1.913vw 2.609vw 6.957vw;
    margin-bottom: 1.739vw;
  }
  .faq_box .bg:before {
    position: absolute;
    left: 1.739vw;
    top: 1.739vw;
    content: "A";
    display: block;
    width: 3.478vw;
    height: 3.478vw;
    font-family: "satoshi";
    font-size: 1.739vw;
    color: #49b0a8;
    border-radius: 50%;
    background: #fff;
    text-align: center;
    line-height: 3.478vw;
  }
  #contact_footer {
    margin-top: 11.304vw;
    background: url(../img/common/bg_mc.png);
  }
  #contact_footer .nav {
    margin: 0;
  }
  #contact_footer .w1100 {
    height: 6.957vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #contact_nav ul {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    background: #fff;
    border-radius: 0 1.739vw;
    overflow: hidden;
  }
  #contact_nav ul li:first-child a {
    padding-bottom: 0.435vw;
  }
  #contact_nav a {
    color: var(--black);
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    text-decoration: none;
    font-size: 1.565vw;
    font-weight: bold;
    line-height: 1.3;
    height: 7.652vw;
    position: relative;
    transition: background-color 0.4s ease;
  }
  #contact_nav a:before {
    z-index: 1;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
    bottom: 0.696vw;
    content: "";
    display: block;
    width: 1.217vw;
    height: 0.696vw;
    background: url(../img/contact/arrow2.png) no-repeat left top/100% auto;
    transition: 0.4s ease;
    opacity: 0;
  }
  #contact_nav a.on, #contact_nav a:hover {
    color: #fff;
    background: #49b0a8;
  }
  #contact_nav a.on:before, #contact_nav a:hover:before {
    opacity: 1;
  }
  .form_lead {
    margin-bottom: 4.348vw;
  }
  #form_footer {
    padding-bottom: 4.348vw;
    margin-top: 11.304vw;
    text-align: center;
  }
}
/*―――――――――――――――――――――――――*
*	スマホ
*―――――――――――――――――――――――――*/
@media screen and (max-width: 767px) {
  #contact_header {
    top: 0;
    padding-left: 2.6666666667vw;
    padding-top: 4vw;
  }
  #contact_header #header_logo {
    padding-top: 0;
  }
  #contact_header #header_logo img {
    max-width: 45.3333333333vw;
  }
  #contact_mv {
    flex-wrap: wrap;
    flex-direction: column-reverse;
    margin-bottom: 13.3333333333vw;
  }
  #contact_mv .under_main_ttl, #contact_mv #bread {
    width: 100%;
  }
  #contact_mv .under_main_ttl {
    margin-top: 10.6666666667vw;
  }
  #contact_mv #bread {
    margin: 0;
  }
  #contact_mv + .lead {
    padding-right: 0 !important;
  }
  #contact_mv.form {
    margin-bottom: 10.6666666667vw;
  }
  #contact {
    padding-top: 24vw;
    background: url(../img/common/bg01_sp.png) no-repeat left top/61.3333333333vw auto;
  }
  #contact .w1100 {
    overflow: hidden;
  }
  #contact .lead {
    font-size: 3.4666666667vw;
    line-height: 2;
    padding-left: 4vw;
    padding-right: 4vw;
  }
  #contact .panel {
    gap: 4vw 0;
    margin-top: 10.6666666667vw;
    margin-bottom: 18.6666666667vw;
    grid-template-columns: 1fr;
  }
  #contact .panel > div {
    padding: 9.3333333333vw 8vw 8vw;
    border-radius: 5.3333333333vw;
  }
  #contact .panel h3 {
    background-size: 24vw auto !important;
    padding: 0 0 0 29.3333333333vw;
    min-height: 24vw;
    margin-bottom: 5.8666666667vw;
  }
  #contact .panel h3 .ja {
    font-size: 5.3333333333vw;
    line-height: 1.425;
    margin-bottom: 2.1333333333vw;
  }
  #contact .panel h3 .satoshi {
    font-size: 3.2vw;
  }
  #contact .panel .ic03 {
    padding-top: 5.3333333333vw;
  }
  #contact .panel .w_text {
    min-height: 0;
    margin-bottom: 6.6666666667vw;
    padding-left: 4vw;
    padding-right: 4vw;
  }
  #contact .panel .text {
    font-size: 3.4666666667vw;
  }
  #contact .panel .notice {
    margin-top: 1.3333333333vw;
    font-size: 2.9333333333vw;
  }
  #contact #section01 .lead {
    margin-bottom: 10.6666666667vw;
  }
  #contact #section01 nav {
    overflow: auto;
    position: relative;
    margin-left: -4vw;
    margin-right: -4vw;
    margin-bottom: 10.6666666667vw;
  }
  #contact #section01 nav ul {
    width: 144vw;
    grid-template-columns: 1fr 1fr 1fr 1.3fr 1fr;
  }
  #contact #section01 nav a {
    font-size: 3.4666666667vw;
    min-height: 13.3333333333vw;
    background-size: 4vw auto;
  }
  #contact #section01 .ttl01 {
    margin-left: 4vw;
  }
  #contact .w_faq {
    margin-bottom: 13.3333333333vw;
  }
  .faq_box {
    border-radius: 2.1333333333vw 0;
    padding: 0 4vw 0.2666666667vw;
    margin-left: 4vw;
    margin-right: 4vw;
    margin-bottom: 2.6666666667vw;
  }
  .faq_box h4 {
    font-size: 3.4666666667vw;
    line-height: 1.6;
  }
  .faq_box h4 span {
    padding-left: 10.1333333333vw;
    padding-right: 9.3333333333vw;
    padding-top: 4vw;
    padding-bottom: 4vw;
  }
  .faq_box h4 span:before, .faq_box h4 span:after {
    width: 3.7333333333vw;
    height: 0.5333333333vw;
  }
  .faq_box h4:before {
    top: 50%;
    transform: translate(0, -50%);
    width: 8vw;
    height: 8vw;
    font-size: 4vw;
    line-height: 8vw;
  }
  .faq_box .bg {
    padding: 4vw 4vw 4vw 14.9333333333vw;
    font-size: 3.4666666667vw;
    margin-bottom: 4vw;
  }
  .faq_box .bg:before {
    top: 4vw;
    left: 4vw;
    width: 8vw;
    height: 8vw;
    font-size: 4vw;
    line-height: 8vw;
  }
  #contact_footer {
    margin-top: 24vw;
    padding: 10.6666666667vw 0 8vw;
  }
  #contact_footer .w1100 {
    height: auto;
    display: block;
  }
  #contact_footer small {
    display: block;
    margin-top: 9.3333333333vw;
  }
  #contact_nav {
    margin-bottom: 0;
  }
  #contact_nav ul {
    border-radius: 0 2.6666666667vw;
    margin-bottom: 0;
  }
  #contact_nav a {
    font-size: 2.9333333333vw;
    letter-spacing: 0;
    height: 17.3333333333vw;
  }
  #contact_nav a:before {
    width: 2.1333333333vw;
    height: 1.3333333333vw;
    bottom: 1.3333333333vw;
  }
  #form_footer {
    margin-top: 29.3333333333vw;
    padding-bottom: 7.4666666667vw;
  }
  #form_footer small {
    padding-left: 0;
  }
}
.marker {
  background: linear-gradient(transparent 83%, #ffef6b 83%);
  display: inline-block;
  line-height: 1;
}

#reason {
  padding-bottom: 300px;
}
#reason #under_mv {
  background-image: url(../img/reason/mv.jpg);
}
#reason #under_mv .under_main_ttl .ja {
  display: flex;
  align-items: center;
  gap: 0 20px;
}
#reason #under_mv .under_main_ttl .ja span {
  font-size: 24px;
}
#reason #section01 {
  margin-bottom: 130px;
}
#reason #section01 * {
  margin: 0;
}
#reason #section01 .w1100 {
  margin-left: auto;
  margin-right: auto;
}
#reason #section01 h2 {
  padding-top: 40px;
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0.05em;
  background: url(../img/common/ttl01_green.png) no-repeat center top/40px auto;
  margin-bottom: 65px;
}
#reason #section01 h2 .row01, #reason #section01 h2 .row02 {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
#reason #section01 h2 .row01 {
  position: relative;
  max-width: fit-content;
  font-size: 24px;
  margin-bottom: 12px;
}
#reason #section01 h2 .row01 span {
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  position: absolute;
  left: -104px;
  top: -54px;
  width: 92px;
  height: 89px;
  line-height: 89px;
  color: #fff;
  background: url(../img/reason/fukidashi.png) no-repeat left top/100% auto;
}
#reason #section01 h2 .row02 {
  position: relative;
  max-width: fit-content;
  font-size: 40px;
  line-height: 1;
}
#reason #section01 h2 .row02 span {
  background: linear-gradient(transparent 83%, #ffef6b 83%);
  display: inline-block;
  line-height: 1;
}
#reason #section01 h2 .row02:after {
  position: absolute;
  right: -130px;
  bottom: 0;
  content: "";
  display: block;
  width: 159px;
  height: 129px;
  background: url(../img/reason/bg01.png) no-repeat left top/100% auto;
}
#reason #section01 .lead {
  font-size: 17px;
  line-height: 2;
  text-align: center;
  margin-bottom: 65px;
}
#reason #section01 ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 30px 25px;
  counter-reset: number 0;
}
#reason #section01 ul li {
  width: 348px;
}
#reason #section01 ul a {
  position: relative;
  display: flex;
  background: #49b0a8 url(../img/reason/arrow.png) no-repeat right 20px center/13px auto;
  color: #fff;
  text-decoration: none;
  min-height: 124px;
  border-radius: 20px 0;
  align-items: center;
  font-weight: bold;
  font-size: 16px;
  line-height: 1.6;
  padding-left: 72px;
  letter-spacing: 0.05em;
  transition: opacity 0.4s ease;
}
#reason #section01 ul a:hover {
  opacity: 0.6;
}
#reason #section01 ul a:before {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 20px;
  counter-increment: number 1;
  content: "0" counter(number);
  font-size: 14px;
  font-family: "satoshi";
  display: block;
  width: 40px;
  height: 40px;
  background: url(../img/reason/giza.png) no-repeat left top/100% auto;
  text-align: center;
  color: #49b0a8;
  line-height: 40px;
}
#reason #section01 ul a span {
  color: #ffe866;
}
#reason #section02 {
  position: relative;
  padding-bottom: 590px;
  background: url(../img/reason/bg02.png) repeat-x center bottom;
}
#reason #section02 * {
  margin: 0;
}
#reason #section02 .w1320 {
  margin-left: auto;
  margin-right: auto;
}
#reason #section02 .bg {
  position: relative;
  background: #fff;
  padding: 150px 110px 100px;
  border-radius: 40px;
}
#reason #section02 .bg:before {
  z-index: 1;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  top: -20px;
  content: "";
  display: block;
  width: 122px;
  height: 122px;
  background: url(../img/reason/point01.png) no-repeat left top/100% auto;
}
#reason #section02 h2 {
  text-align: center;
  font-size: 34px;
  line-height: 1.6;
  margin-bottom: 60px;
}
#reason #section02 ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0 40px;
}
#reason #section02 ul li {
  padding: 230px 18px 0;
}
#reason #section02 ul li:nth-child(1) {
  background: url(../img/reason/img01.jpg) no-repeat left top/100% auto;
}
#reason #section02 ul li:nth-child(2) {
  background: url(../img/reason/img02.jpg) no-repeat left top/100% auto;
}
#reason #section02 ul li:nth-child(3) {
  background: url(../img/reason/img03.jpg) no-repeat left top/100% auto;
}
#reason #section02 ul h3 {
  font-size: 20px;
  line-height: 1.6;
  margin-bottom: 15px;
}
#reason #section02 ul p {
  font-size: 15px;
  line-height: 2;
}
#reason #section02 .btn02 {
  z-index: 1;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0) rotate(0.03deg);
  bottom: -36px;
  width: 360px;
}
#reason #section03 {
  position: relative;
  padding-top: 85px;
  margin-bottom: 140px;
}
#reason #section03 * {
  margin: 0;
}
#reason #section03 .w1100 {
  margin-left: auto;
  margin-right: auto;
}
#reason #section03:before {
  z-index: 1;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  top: -70px;
  content: "";
  display: block;
  width: 122px;
  height: 122px;
  background: url(../img/reason/point02.png) no-repeat left top/100% auto;
}
#reason #section03 h2 {
  text-align: center;
  font-size: 34px;
  line-height: 1.6;
  margin-bottom: 60px;
}
#reason #section03 ul {
  margin-bottom: 70px;
}
#reason #section03 ul li {
  position: relative;
  background: #fff;
  border-radius: 0 20px;
  padding-left: 150px;
  display: flex;
  height: 120px;
  align-items: center;
  margin-bottom: 25px;
  font-weight: bold;
  font-size: 20px;
  line-height: 1.6;
}
#reason #section03 ul li:last-child {
  margin-bottom: 0;
}
#reason #section03 ul li span {
  color: #3a938c;
}
#reason #section03 ul i {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 40px;
  font-size: 28px;
  color: #49b0a8;
  width: 74px;
  height: 74px;
  background: url(../img/reason/giza2.png) no-repeat left top/100% auto;
  display: flex;
  justify-content: center;
  align-items: center;
}
#reason #section03 .btn02 {
  margin-left: auto;
  margin-right: auto;
}
#reason #section04 {
  margin-bottom: 120px;
}
#reason #section04 * {
  margin: 0;
}
#reason #section04 .w1320 {
  margin-left: auto;
  margin-right: auto;
}
#reason #section04 .bg {
  position: relative;
  background: #fff;
  padding: 150px 0 0;
  border-radius: 40px;
}
#reason #section04 .bg:before {
  z-index: 1;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  top: -20px;
  content: "";
  display: block;
  width: 122px;
  height: 122px;
  background: url(../img/reason/point03.png) no-repeat left top/100% auto;
}
#reason #section04 h2 {
  text-align: center;
  font-size: 34px;
  line-height: 1.6;
  margin-bottom: 60px;
}
#reason #section04 .lead {
  font-size: 17px;
  line-height: 2;
  text-align: center;
  margin-bottom: 65px;
}
#reason #section04 .inner_bg {
  padding: 85px 110px;
  border-radius: 0 0 40px 40px;
  background: url(../img/reason/bg01.jpg) no-repeat center/cover;
}
#reason #section04 .grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 40px;
}
#reason #section04 .grid > div {
  background: #fff;
  border-radius: 30px;
  padding: 40px 50px 40px;
}
#reason #section04 .grid p {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.6;
  padding: 20px 0 20px 160px;
  min-height: 140px;
  margin-bottom: 40px;
}
#reason #section04 .grid .circle1 {
  background: url(../img/reason/circle1.png) no-repeat left center/140px auto;
}
#reason #section04 .grid .circle2 {
  background: url(../img/reason/circle2.png) no-repeat left center/140px auto;
}
#reason #section04 .grid .btn02 {
  margin-left: auto;
  margin-right: auto;
}
#reason #section05 {
  padding-top: 165px;
  position: relative;
  margin-bottom: 160px;
}
#reason #section05 * {
  margin: 0;
}
#reason #section05 .w1100 {
  margin-left: auto;
  margin-right: auto;
}
#reason #section05:before {
  z-index: 1;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  top: 0;
  content: "";
  display: block;
  width: 122px;
  height: 122px;
  background: url(../img/reason/point04.png) no-repeat left top/100% auto;
}
#reason #section05 h2 {
  text-align: center;
  font-size: 34px;
  line-height: 1.6;
  margin-bottom: 45px;
}
#reason #section05 .lead {
  font-size: 17px;
  line-height: 2;
  text-align: center;
  margin-bottom: 85px;
}
#reason #section05 ul {
  counter-reset: number 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0 28px;
}
#reason #section05 ul li {
  position: relative;
  background: #fff;
  min-height: 330px;
  border-radius: 0 20px;
  padding-top: 220px;
  text-align: center;
  font-weight: bold;
  font-size: 20px;
  line-height: 1.6;
}
#reason #section05 ul li:nth-child(1) {
  background: #fff url(../img/reason/list01.jpg) no-repeat center 50px/119px auto;
}
#reason #section05 ul li:nth-child(2) {
  background: #fff url(../img/reason/list02.jpg) no-repeat center 50px/119px auto;
}
#reason #section05 ul li:nth-child(3) {
  background: #fff url(../img/reason/list03.jpg) no-repeat center 50px/119px auto;
}
#reason #section05 ul li:nth-child(4) {
  background: #fff url(../img/reason/list04.jpg) no-repeat center 50px/119px auto;
}
#reason #section05 ul li:before {
  position: absolute;
  left: 10px;
  top: -22px;
  line-height: 1;
  counter-increment: number 1;
  content: "0" counter(number);
  font-size: 48px;
  font-family: "satoshi";
  color: transparent;
  -webkit-text-stroke: 1px #49b0a8;
  text-stroke: 1px #49b0a8;
}
#reason #section06 {
  position: relative;
}
#reason #section06 * {
  margin: 0;
}
#reason #section06 .w1320 {
  margin-left: auto;
  margin-right: auto;
}
#reason #section06 .bg {
  position: relative;
  background: #fff;
  padding: 150px 110px 100px;
  border-radius: 40px;
}
#reason #section06 .bg:before {
  z-index: 1;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  top: -20px;
  content: "";
  display: block;
  width: 122px;
  height: 122px;
  background: url(../img/reason/point05.png) no-repeat left top/100% auto;
}
#reason #section06 h2 {
  text-align: center;
  font-size: 34px;
  line-height: 1.6;
  margin-bottom: 40px;
}
#reason #section06 .lead {
  font-size: 17px;
  line-height: 2;
  text-align: center;
  margin-bottom: 85px;
}
#reason #section06 ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0 40px;
}
#reason #section06 ul li {
  position: relative;
  padding: 230px 18px 0;
}
#reason #section06 ul li:nth-child(1) {
  background: url(../img/reason/img04.jpg) no-repeat left top/100% auto;
}
#reason #section06 ul li:nth-child(2) {
  background: url(../img/reason/img05.jpg) no-repeat left top/100% auto;
}
#reason #section06 ul li:nth-child(3) {
  background: url(../img/reason/img06.jpg) no-repeat left top/100% auto;
}
#reason #section06 ul li .tag {
  position: absolute;
  left: 0;
  top: -18px;
  background: url(../img/reason/rebon.png) no-repeat left top/100% auto;
  width: 134px;
  height: 36px;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  line-height: 36px;
  display: block;
  text-align: center;
  padding-right: 10px;
}
#reason #section06 ul li .tag i {
  margin-right: 8px;
}
#reason #section06 ul h3 {
  font-size: 20px;
  line-height: 1.6;
  margin-bottom: 15px;
}
#reason #section06 ul p {
  font-size: 15px;
  line-height: 2;
}
#reason #section06 .btn02 {
  z-index: 1;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0) rotate(0.03deg);
  bottom: -36px;
  width: 360px;
  padding-right: 30px;
}

/*―――――――――――――――――――――――――*
*	1420px 以下
*―――――――――――――――――――――――――*/
@media screen and (min-width: 767px) and (max-width: 1420px) {
  .marker {
    background: linear-gradient(transparent 83%, #ffef6b 83%);
    display: inline-block;
    line-height: 1;
  }
  #reason {
    padding-bottom: 21.127vw;
  }
  #reason #under_mv {
    background-image: url(../img/reason/mv.jpg);
  }
  #reason #under_mv .under_main_ttl .ja {
    display: flex;
    align-items: center;
    gap: 0 1.408vw;
  }
  #reason #under_mv .under_main_ttl .ja span {
    font-size: 1.69vw;
  }
  #reason #section02 {
    position: relative;
    padding-bottom: 41.549vw;
    background: url(../img/reason/bg02.png) repeat-x center bottom;
  }
  #reason #section02 * {
    margin: 0;
  }
  #reason #section02 .w1320 {
    margin-left: auto;
    margin-right: auto;
  }
  #reason #section02 .bg {
    position: relative;
    background: #fff;
    padding: 10.563vw 7.746vw 7.042vw;
    border-radius: 2.817vw;
  }
  #reason #section02 .bg:before {
    z-index: 1;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
    top: -1.408vw;
    content: "";
    display: block;
    width: 8.592vw;
    height: 8.592vw;
    background: url(../img/reason/point01.png) no-repeat left top/100% auto;
  }
  #reason #section02 h2 {
    text-align: center;
    font-size: 2.394vw;
    line-height: 1.6;
    margin-bottom: 4.225vw;
  }
  #reason #section02 ul {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0 2.817vw;
  }
  #reason #section02 ul li {
    padding: 16.197vw 1.268vw 0;
  }
  #reason #section02 ul li:nth-child(1) {
    background: url(../img/reason/img01.jpg) no-repeat left top/100% auto;
  }
  #reason #section02 ul li:nth-child(2) {
    background: url(../img/reason/img02.jpg) no-repeat left top/100% auto;
  }
  #reason #section02 ul li:nth-child(3) {
    background: url(../img/reason/img03.jpg) no-repeat left top/100% auto;
  }
  #reason #section02 ul h3 {
    font-size: 1.408vw;
    line-height: 1.6;
    margin-bottom: 1.056vw;
  }
  #reason #section02 ul p {
    font-size: 1.056vw;
    line-height: 2;
  }
  #reason #section02 .btn02 {
    z-index: 1;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0) rotate(0.03deg);
    bottom: -2.535vw;
    width: 25.352vw;
  }
  #reason #section04 {
    margin-bottom: 8.451vw;
  }
  #reason #section04 * {
    margin: 0;
  }
  #reason #section04 .w1320 {
    margin-left: auto;
    margin-right: auto;
  }
  #reason #section04 .bg {
    position: relative;
    background: #fff;
    padding: 10.563vw 0 0;
    border-radius: 2.817vw;
  }
  #reason #section04 .bg:before {
    z-index: 1;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
    top: -1.408vw;
    content: "";
    display: block;
    width: 8.592vw;
    height: 8.592vw;
    background: url(../img/reason/point03.png) no-repeat left top/100% auto;
  }
  #reason #section04 h2 {
    text-align: center;
    font-size: 2.394vw;
    line-height: 1.6;
    margin-bottom: 4.225vw;
  }
  #reason #section04 .lead {
    font-size: 1.197vw;
    line-height: 2;
    text-align: center;
    margin-bottom: 4.577vw;
  }
  #reason #section04 .inner_bg {
    padding: 5.986vw 7.746vw;
    border-radius: 0 0 2.817vw 2.817vw;
    background: url(../img/reason/bg01.jpg) no-repeat center/cover;
  }
  #reason #section04 .grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 2.817vw;
  }
  #reason #section04 .grid > div {
    background: #fff;
    border-radius: 2.113vw;
    padding: 2.817vw 3.521vw 2.817vw;
  }
  #reason #section04 .grid p {
    font-size: 1.408vw;
    font-weight: bold;
    line-height: 1.6;
    padding: 1.408vw 0 1.408vw 11.268vw;
    min-height: 9.859vw;
    margin-bottom: 2.817vw;
  }
  #reason #section04 .grid .circle1 {
    background: url(../img/reason/circle1.png) no-repeat left center/9.859vw auto;
  }
  #reason #section04 .grid .circle2 {
    background: url(../img/reason/circle2.png) no-repeat left center/9.859vw auto;
  }
  #reason #section04 .grid .btn02 {
    margin-left: auto;
    margin-right: auto;
  }
  #reason #section06 {
    position: relative;
  }
  #reason #section06 * {
    margin: 0;
  }
  #reason #section06 .w1320 {
    margin-left: auto;
    margin-right: auto;
  }
  #reason #section06 .bg {
    position: relative;
    background: #fff;
    padding: 10.563vw 7.746vw 7.042vw;
    border-radius: 2.817vw;
  }
  #reason #section06 .bg:before {
    z-index: 1;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
    top: -1.408vw;
    content: "";
    display: block;
    width: 8.592vw;
    height: 8.592vw;
    background: url(../img/reason/point05.png) no-repeat left top/100% auto;
  }
  #reason #section06 h2 {
    text-align: center;
    font-size: 2.394vw;
    line-height: 1.6;
    margin-bottom: 2.817vw;
  }
  #reason #section06 .lead {
    font-size: 1.197vw;
    line-height: 2;
    text-align: center;
    margin-bottom: 5.986vw;
  }
  #reason #section06 ul {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0 2.817vw;
  }
  #reason #section06 ul li {
    position: relative;
    padding: 16.197vw 1.268vw 0;
  }
  #reason #section06 ul li:nth-child(1) {
    background: url(../img/reason/img04.jpg) no-repeat left top/100% auto;
  }
  #reason #section06 ul li:nth-child(2) {
    background: url(../img/reason/img05.jpg) no-repeat left top/100% auto;
  }
  #reason #section06 ul li:nth-child(3) {
    background: url(../img/reason/img06.jpg) no-repeat left top/100% auto;
  }
  #reason #section06 ul li .tag {
    position: absolute;
    left: 0;
    top: -1.268vw;
    background: url(../img/reason/rebon.png) no-repeat left top/100% auto;
    width: 9.437vw;
    height: 2.535vw;
    color: #fff;
    font-size: 1.127vw;
    font-weight: bold;
    line-height: 2.535vw;
    display: block;
    text-align: center;
    padding-right: 0.704vw;
  }
  #reason #section06 ul li .tag i {
    margin-right: 0.563vw;
  }
  #reason #section06 ul h3 {
    font-size: 1.408vw;
    line-height: 1.6;
    margin-bottom: 1.056vw;
  }
  #reason #section06 ul p {
    font-size: 1.056vw;
    line-height: 2;
  }
  #reason #section06 .btn02 {
    z-index: 1;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0) rotate(0.03deg);
    bottom: -2.535vw;
    width: 25.352vw;
    padding-right: 2.113vw;
    font-size: 1.1vw;
  }
}
/*―――――――――――――――――――――――――*
*	1280px 以下
*―――――――――――――――――――――――――*/
@media screen and (min-width: 767px) and (max-width: 1280px) {
  #reason {
    padding-bottom: 20.938vw;
  }
  #reason #under_mv {
    background-image: url(../img/reason/mv.jpg);
  }
  #reason #under_mv .under_main_ttl .ja {
    display: flex;
    align-items: center;
    gap: 0 1.563vw;
  }
  #reason #under_mv .under_main_ttl .ja span {
    font-size: 1.875vw;
  }
  #reason #section01 {
    margin-bottom: 10.156vw;
  }
  #reason #section01 * {
    margin: 0;
  }
  #reason #section01 .w1100 {
    margin-left: auto;
    margin-right: auto;
  }
  #reason #section01 h2 {
    padding-top: 3.125vw;
    text-align: center;
    line-height: 1.4;
    letter-spacing: 0.05em;
    background: url(../img/common/ttl01_green.png) no-repeat center top/40px auto;
    margin-bottom: 5.078vw;
  }
  #reason #section01 h2 .row01, #reason #section01 h2 .row02 {
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  #reason #section01 h2 .row01 {
    position: relative;
    max-width: fit-content;
    font-size: 1.875vw;
    margin-bottom: 0.938vw;
  }
  #reason #section01 h2 .row01 span {
    font-size: 1.094vw;
    font-weight: bold;
    text-align: center;
    position: absolute;
    left: -8.125vw;
    top: -4.219vw;
    width: 7.187vw;
    height: 6.953vw;
    line-height: 6.953vw;
    color: #fff;
    background: url(../img/reason/fukidashi.png) no-repeat left top/100% auto;
  }
  #reason #section01 h2 .row02 {
    position: relative;
    max-width: fit-content;
    font-size: 3.125vw;
    line-height: 1;
  }
  #reason #section01 h2 .row02 span {
    background: linear-gradient(transparent 83%, #ffef6b 83%);
    display: inline-block;
    line-height: 1;
  }
  #reason #section01 h2 .row02:after {
    position: absolute;
    right: -10.156vw;
    bottom: 0;
    content: "";
    display: block;
    width: 12.422vw;
    height: 10.078vw;
    background: url(../img/reason/bg01.png) no-repeat left top/100% auto;
  }
  #reason #section01 .lead {
    font-size: 1.328vw;
    line-height: 2;
    text-align: center;
    margin-bottom: 5.078vw;
  }
  #reason #section01 ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 2.344vw 1.953vw;
    counter-reset: number 0;
  }
  #reason #section01 ul li {
    width: 27.187vw;
  }
  #reason #section01 ul a {
    position: relative;
    display: flex;
    background: #49b0a8 url(../img/reason/arrow.png) no-repeat right 20px center/13px auto;
    color: #fff;
    text-decoration: none;
    min-height: 9.688vw;
    border-radius: 1.563vw 0;
    align-items: center;
    font-weight: bold;
    font-size: 1.25vw;
    line-height: 1.6;
    padding-left: 5.625vw;
    letter-spacing: 0.05em;
    transition: opacity 0.4s ease;
  }
  #reason #section01 ul a:hover {
    opacity: 0.6;
  }
  #reason #section01 ul a:before {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    left: 1.563vw;
    counter-increment: number 1;
    content: "0" counter(number);
    font-size: 1.094vw;
    font-family: "satoshi";
    display: block;
    width: 3.125vw;
    height: 3.125vw;
    background: url(../img/reason/giza.png) no-repeat left top/100% auto;
    text-align: center;
    color: #49b0a8;
    line-height: 3.125vw;
  }
  #reason #section01 ul a span {
    color: #ffe866;
  }
  #reason #section02 {
    position: relative;
    padding-bottom: 40.094vw;
    background: url(../img/reason/bg02.png) repeat-x center bottom/150vw auto;
  }
  #reason #section02 * {
    margin: 0;
  }
  #reason #section02 .w1320 {
    margin-left: auto;
    margin-right: auto;
  }
  #reason #section02 .bg {
    position: relative;
    background: #fff;
    padding: 11.719vw 8.594vw 7.813vw;
    border-radius: 3.125vw;
  }
  #reason #section02 .bg:before {
    z-index: 1;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
    top: -1.562vw;
    content: "";
    display: block;
    width: 9.531vw;
    height: 9.531vw;
    background: url(../img/reason/point01.png) no-repeat left top/100% auto;
  }
  #reason #section02 h2 {
    text-align: center;
    font-size: 2.656vw;
    line-height: 1.6;
    margin-bottom: 4.688vw;
  }
  #reason #section02 ul {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0 3.125vw;
  }
  #reason #section02 ul li {
    padding: 17.969vw 1.406vw 0;
  }
  #reason #section02 ul li:nth-child(1) {
    background: url(../img/reason/img01.jpg) no-repeat left top/100% auto;
  }
  #reason #section02 ul li:nth-child(2) {
    background: url(../img/reason/img02.jpg) no-repeat left top/100% auto;
  }
  #reason #section02 ul li:nth-child(3) {
    background: url(../img/reason/img03.jpg) no-repeat left top/100% auto;
  }
  #reason #section02 ul h3 {
    font-size: 1.563vw;
    line-height: 1.6;
    margin-bottom: 1.172vw;
  }
  #reason #section02 ul p {
    font-size: 1.172vw;
    line-height: 2;
  }
  #reason #section02 .btn02 {
    z-index: 1;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0) rotate(0.03deg);
    bottom: -2.812vw;
    width: 28.125vw;
  }
  #reason #section03 {
    position: relative;
    padding-top: 6.641vw;
    margin-bottom: 10.938vw;
  }
  #reason #section03 * {
    margin: 0;
  }
  #reason #section03 .w1100 {
    margin-left: auto;
    margin-right: auto;
  }
  #reason #section03:before {
    z-index: 1;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
    top: -5.469vw;
    content: "";
    display: block;
    width: 9.531vw;
    height: 9.531vw;
    background: url(../img/reason/point02.png) no-repeat left top/100% auto;
  }
  #reason #section03 h2 {
    text-align: center;
    font-size: 2.656vw;
    line-height: 1.6;
    margin-bottom: 4.688vw;
  }
  #reason #section03 ul {
    margin-bottom: 5.469vw;
  }
  #reason #section03 ul li {
    position: relative;
    background: #fff;
    border-radius: 0 1.563vw;
    padding-left: 11.719vw;
    display: flex;
    height: 9.375vw;
    align-items: center;
    margin-bottom: 1.953vw;
    font-weight: bold;
    font-size: 1.563vw;
    line-height: 1.6;
  }
  #reason #section03 ul li:last-child {
    margin-bottom: 0;
  }
  #reason #section03 ul li span {
    color: #3a938c;
  }
  #reason #section03 ul i {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    left: 3.125vw;
    font-size: 2.188vw;
    color: #49b0a8;
    width: 5.781vw;
    height: 5.781vw;
    background: url(../img/reason/giza2.png) no-repeat left top/100% auto;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #reason #section03 .btn02 {
    margin-left: auto;
    margin-right: auto;
  }
  #reason #section04 {
    margin-bottom: 9.375vw;
  }
  #reason #section04 * {
    margin: 0;
  }
  #reason #section04 .w1320 {
    margin-left: auto;
    margin-right: auto;
  }
  #reason #section04 .bg {
    position: relative;
    background: #fff;
    padding: 11.719vw 0 0;
    border-radius: 3.125vw;
  }
  #reason #section04 .bg:before {
    z-index: 1;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
    top: -1.562vw;
    content: "";
    display: block;
    width: 9.531vw;
    height: 9.531vw;
    background: url(../img/reason/point03.png) no-repeat left top/100% auto;
  }
  #reason #section04 h2 {
    text-align: center;
    font-size: 2.656vw;
    line-height: 1.6;
    margin-bottom: 4.688vw;
  }
  #reason #section04 .lead {
    font-size: 1.328vw;
    line-height: 2;
    text-align: center;
    margin-bottom: 5.078vw;
  }
  #reason #section04 .inner_bg {
    padding: 6.641vw 7.594vw;
    border-radius: 0 0 3.125vw 3.125vw;
    background: url(../img/reason/bg01.jpg) no-repeat center/cover;
  }
  #reason #section04 .grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 3.125vw;
  }
  #reason #section04 .grid > div {
    background: #fff;
    border-radius: 2.344vw;
    padding: 3.125vw 3.906vw 3.125vw;
  }
  #reason #section04 .grid p {
    font-size: 1.563vw;
    font-weight: bold;
    line-height: 1.6;
    padding: 1.563vw 0 1.563vw 12.5vw;
    min-height: 10.938vw;
    margin-bottom: 3.125vw;
  }
  #reason #section04 .grid .circle1 {
    background: url(../img/reason/circle1.png) no-repeat left center/11vw auto;
  }
  #reason #section04 .grid .circle2 {
    background: url(../img/reason/circle2.png) no-repeat left center/11vw auto;
  }
  #reason #section04 .grid .btn02 {
    margin-left: auto;
    margin-right: auto;
  }
  #reason #section05 {
    padding-top: 12.891vw;
    position: relative;
    margin-bottom: 12.5vw;
  }
  #reason #section05 * {
    margin: 0;
  }
  #reason #section05 .w1100 {
    margin-left: auto;
    margin-right: auto;
  }
  #reason #section05:before {
    z-index: 1;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
    top: 0;
    content: "";
    display: block;
    width: 9.531vw;
    height: 9.531vw;
    background: url(../img/reason/point04.png) no-repeat left top/100% auto;
  }
  #reason #section05 h2 {
    text-align: center;
    font-size: 2.656vw;
    line-height: 1.6;
    margin-bottom: 3.516vw;
  }
  #reason #section05 .lead {
    font-size: 1.328vw;
    line-height: 2;
    text-align: center;
    margin-bottom: 6.641vw;
  }
  #reason #section05 ul {
    counter-reset: number 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0 2.188vw;
  }
  #reason #section05 ul li {
    position: relative;
    background: #fff;
    min-height: 25.781vw;
    border-radius: 0 1.563vw;
    padding-top: 17.188vw;
    text-align: center;
    font-weight: bold;
    font-size: 1.563vw;
    line-height: 1.6;
  }
  #reason #section05 ul li:nth-child(1) {
    background: #fff url(../img/reason/list01.jpg) no-repeat center 50px/119px auto;
  }
  #reason #section05 ul li:nth-child(2) {
    background: #fff url(../img/reason/list02.jpg) no-repeat center 50px/119px auto;
  }
  #reason #section05 ul li:nth-child(3) {
    background: #fff url(../img/reason/list03.jpg) no-repeat center 50px/119px auto;
  }
  #reason #section05 ul li:nth-child(4) {
    background: #fff url(../img/reason/list04.jpg) no-repeat center 50px/119px auto;
  }
  #reason #section05 ul li:before {
    position: absolute;
    left: 0.781vw;
    top: -1.719vw;
    line-height: 1;
    counter-increment: number 1;
    content: "0" counter(number);
    font-size: 3.75vw;
    font-family: "satoshi";
    color: transparent;
    -webkit-text-stroke: 1px #49b0a8;
    text-stroke: 1px #49b0a8;
  }
  #reason #section06 {
    position: relative;
  }
  #reason #section06 * {
    margin: 0;
  }
  #reason #section06 .w1320 {
    margin-left: auto;
    margin-right: auto;
  }
  #reason #section06 .bg {
    position: relative;
    background: #fff;
    padding: 11.719vw 8.594vw 7.813vw;
    border-radius: 3.125vw;
  }
  #reason #section06 .bg:before {
    z-index: 1;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
    top: -1.562vw;
    content: "";
    display: block;
    width: 9.531vw;
    height: 9.531vw;
    background: url(../img/reason/point05.png) no-repeat left top/100% auto;
  }
  #reason #section06 h2 {
    text-align: center;
    font-size: 2.656vw;
    line-height: 1.6;
    margin-bottom: 3.125vw;
  }
  #reason #section06 .lead {
    font-size: 1.328vw;
    line-height: 2;
    text-align: center;
    margin-bottom: 6.641vw;
  }
  #reason #section06 ul {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0 3.125vw;
  }
  #reason #section06 ul li {
    position: relative;
    padding: 17.969vw 1.406vw 0;
  }
  #reason #section06 ul li:nth-child(1) {
    background: url(../img/reason/img04.jpg) no-repeat left top/100% auto;
  }
  #reason #section06 ul li:nth-child(2) {
    background: url(../img/reason/img05.jpg) no-repeat left top/100% auto;
  }
  #reason #section06 ul li:nth-child(3) {
    background: url(../img/reason/img06.jpg) no-repeat left top/100% auto;
  }
  #reason #section06 ul li .tag {
    position: absolute;
    left: 0;
    top: -1.406vw;
    background: url(../img/reason/rebon.png) no-repeat left top/100% auto;
    width: 10.469vw;
    height: 2.813vw;
    color: #fff;
    font-size: 1.25vw;
    font-weight: bold;
    line-height: 2.813vw;
    display: block;
    text-align: center;
    padding-right: 0.781vw;
  }
  #reason #section06 ul li .tag i {
    margin-right: 0.625vw;
  }
  #reason #section06 ul h3 {
    font-size: 1.563vw;
    line-height: 1.6;
    margin-bottom: 1.172vw;
  }
  #reason #section06 ul p {
    font-size: 1.172vw;
    line-height: 2;
  }
  #reason #section06 .btn02 {
    z-index: 1;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0) rotate(0.03deg);
    bottom: -2.812vw;
    width: 28.125vw;
    padding-right: 2.344vw;
  }
}
/*―――――――――――――――――――――――――*
*	スマホ
*―――――――――――――――――――――――――*/
@media screen and (max-width: 767px) {
  .marker {
    background: linear-gradient(transparent 75%, #ffef6b 75%);
    line-height: 1.1;
  }
  #reason {
    padding-bottom: 30.6666666667vw;
  }
  #reason #under_mv {
    background-image: url(../img/reason/mv_sp.jpg);
  }
  #reason #under_mv .under_main_ttl .ja {
    display: block;
    line-height: 1.4;
  }
  #reason #under_mv .under_main_ttl .ja > span {
    position: relative;
    display: block;
    font-size: 3.7333333333vw;
  }
  #reason #section01 {
    margin-bottom: 24vw;
  }
  #reason #section01 .w1100 {
    padding-left: 8vw;
    padding-right: 8vw;
  }
  #reason #section01 h2 {
    background-size: 8vw auto;
    padding-top: 8vw;
    margin-bottom: 9.3333333333vw;
  }
  #reason #section01 h2 .row01 {
    font-size: 3.4666666667vw;
    line-height: 1.8;
    letter-spacing: 0;
  }
  #reason #section01 h2 .row01 span {
    font-size: 2.4vw;
    width: 13.3333333333vw;
    height: 13.3333333333vw;
    line-height: 13.3333333333vw;
    left: 1.0666666667vw;
    top: -9.0666666667vw;
  }
  #reason #section01 h2 .row02 {
    font-size: 5.8666666667vw;
    background: linear-gradient(transparent 83%, #ffef6b 83%);
    display: inline;
    line-height: 1.5;
  }
  #reason #section01 h2 .row02 span {
    display: inline;
    background: none;
  }
  #reason #section01 h2 .row02:after {
    width: 21.3333333333vw;
    height: 18.6666666667vw;
    right: -9.8666666667vw;
    top: -21.8666666667vw;
  }
  #reason #section01 .lead {
    font-size: 3.4666666667vw;
    line-height: 2;
    margin-bottom: 12vw;
    text-align: left;
    letter-spacing: 0;
  }
  #reason #section01 ul {
    display: block;
  }
  #reason #section01 ul li {
    width: 100%;
    margin-bottom: 2.6666666667vw;
  }
  #reason #section01 ul a {
    min-height: 21.3333333333vw;
    border-radius: 2.6666666667vw 0;
    font-size: 3.4666666667vw;
    padding-left: 16vw;
    letter-spacing: 0;
    background-size: 2.6666666667vw auto;
    background-position: right 4vw center;
  }
  #reason #section01 ul a:before {
    line-height: 9.0666666667vw;
    width: 9.0666666667vw;
    height: 9.0666666667vw;
    left: 4vw;
    font-size: 3.2vw;
  }
  #reason #section02 {
    background-size: 240vw auto;
    background-position: 48% bottom;
    padding-bottom: 77.3333333333vw;
  }
  #reason #section02 .bg {
    border-radius: 6.6666666667vw;
    padding: 22.6666666667vw 8vw 21.3333333333vw;
  }
  #reason #section02 .bg:before {
    top: -3.2vw;
    width: 21.3333333333vw;
    height: 21.3333333333vw;
  }
  #reason #section02 h2 {
    font-size: 5.3333333333vw;
    margin-bottom: 9.3333333333vw;
  }
  #reason #section02 ul {
    display: block;
  }
  #reason #section02 ul li {
    padding: 68% 4vw 0;
    margin-bottom: 12vw;
  }
  #reason #section02 ul li:nth-child(1) {
    background-image: url(../img/reason/img01_sp.jpg);
  }
  #reason #section02 ul li:nth-child(2) {
    background-image: url(../img/reason/img02_sp.jpg);
  }
  #reason #section02 ul li:nth-child(3) {
    background-image: url(../img/reason/img03_sp.jpg);
  }
  #reason #section02 ul li:last-child {
    margin-bottom: 0;
  }
  #reason #section02 ul h3 {
    font-size: 4.5333333333vw;
    margin-bottom: 3.2vw;
  }
  #reason #section02 ul p {
    font-size: 3.4666666667vw;
  }
  #reason #section02 .btn02 {
    width: 76vw;
    bottom: -8.2666666667vw;
  }
  #reason #section03 {
    padding-top: 17.3333333333vw;
  }
  #reason #section03:before {
    top: -10.6666666667vw;
    width: 21.3333333333vw;
    height: 21.3333333333vw;
  }
  #reason #section03 h2 {
    font-size: 5.3333333333vw;
    margin-bottom: 8vw;
  }
  #reason #section03 ul {
    margin-bottom: 10.6666666667vw;
  }
  #reason #section03 ul li {
    margin-bottom: 2.6666666667vw;
    font-size: 3.7333333333vw;
    height: auto;
    border-radius: 0 2.6666666667vw;
    padding-top: 5.3333333333vw;
    padding-bottom: 5.3333333333vw;
    padding-left: 20.8vw;
  }
  #reason #section03 ul li i {
    width: 12.8vw;
    height: 12.8vw;
    left: 4.8vw;
    font-size: 4.8vw;
  }
  #reason #section04 {
    margin-bottom: 20vw;
  }
  #reason #section04 .bg {
    border-radius: 6.6666666667vw;
    padding-top: 22.6666666667vw;
  }
  #reason #section04 .bg:before {
    top: -3.2vw;
    width: 21.3333333333vw;
    height: 21.3333333333vw;
  }
  #reason #section04 h2 {
    font-size: 5.3333333333vw;
    margin-bottom: 9.3333333333vw;
  }
  #reason #section04 .lead {
    font-size: 3.4666666667vw;
    line-height: 2;
    margin-bottom: 10.6666666667vw;
    text-align: left;
    letter-spacing: 0;
    padding: 0 8vw;
  }
  #reason #section04 .inner_bg {
    padding: 8vw 4vw;
    border-radius: 0 0 6.6666666667vw 6.6666666667vw;
  }
  #reason #section04 .inner_bg .grid {
    display: block;
  }
  #reason #section04 .inner_bg .grid > div {
    padding: 8vw 8vw 5.3333333333vw;
    border-radius: 5.3333333333vw;
  }
  #reason #section04 .inner_bg .grid > div:first-child {
    margin-bottom: 4vw;
  }
  #reason #section04 .inner_bg .grid p {
    letter-spacing: 0;
    padding: 4vw 0 4vw 26.6666666667vw;
    font-size: 3.7333333333vw;
    background-size: 22.9333333333vw auto !important;
    min-height: 0;
    margin-bottom: 4vw;
  }
  #reason #section05 {
    padding-top: 26.6666666667vw;
    margin-bottom: 24vw;
  }
  #reason #section05:before {
    width: 21.3333333333vw;
    height: 21.3333333333vw;
  }
  #reason #section05 h2 {
    font-size: 5.3333333333vw;
    margin-bottom: 8vw;
  }
  #reason #section05 .lead {
    font-size: 3.4666666667vw;
    line-height: 2;
    margin-bottom: 14.6666666667vw;
    text-align: left;
    letter-spacing: 0;
    padding-left: 4vw;
    padding-right: 4vw;
  }
  #reason #section05 ul {
    grid-template-columns: 1fr 1fr;
    gap: 8vw 2.6666666667vw;
  }
  #reason #section05 ul li {
    font-size: 3.7333333333vw;
    letter-spacing: 0;
    min-height: 57.3333333333vw;
    padding-top: 36vw;
    background-position: center 8vw !important;
    background-size: 21.3333333333vw auto !important;
    border-radius: 0 2.6666666667vw;
  }
  #reason #section05 ul li:before {
    font-size: 8.2666666667vw;
    left: 2.6666666667vw;
    top: -4.2666666667vw;
  }
  #reason #section06 .bg {
    border-radius: 6.6666666667vw;
    padding: 22.6666666667vw 8vw 21.3333333333vw;
  }
  #reason #section06 .bg:before {
    top: -3.2vw;
    width: 21.3333333333vw;
    height: 21.3333333333vw;
  }
  #reason #section06 h2 {
    font-size: 5.3333333333vw;
    margin-bottom: 6.6666666667vw;
  }
  #reason #section06 .lead {
    font-size: 3.4666666667vw;
    line-height: 2;
    margin-bottom: 10.6666666667vw;
    text-align: left;
    letter-spacing: 0;
  }
  #reason #section06 ul {
    display: block;
  }
  #reason #section06 ul li {
    padding: 68% 4vw 0;
    margin-bottom: 12vw;
  }
  #reason #section06 ul li:nth-child(1) {
    background-image: url(../img/reason/img04_sp.jpg);
  }
  #reason #section06 ul li:nth-child(2) {
    background-image: url(../img/reason/img05_sp.jpg);
  }
  #reason #section06 ul li:nth-child(3) {
    background-image: url(../img/reason/img06_sp.jpg);
  }
  #reason #section06 ul li:last-child {
    margin-bottom: 0;
  }
  #reason #section06 ul li .tag {
    width: 31.4666666667vw;
    height: 9.0666666667vw;
    line-height: 8.8vw;
    font-size: 3.7333333333vw;
    top: -4.5333333333vw;
    padding-right: 2.6666666667vw;
  }
  #reason #section06 ul h3 {
    font-size: 4.5333333333vw;
    margin-bottom: 3.2vw;
  }
  #reason #section06 ul p {
    font-size: 3.4666666667vw;
  }
  #reason #section06 .btn02 {
    width: 76vw;
    bottom: -8.2666666667vw;
    padding-right: 0;
  }
}
#service #under_mv {
  background-image: url(../img/service/mv.jpg);
}
#service #under_mv:after {
  background: #fff;
}
#service #section01 * {
  margin: 0;
}
#service #section01 .w1320 {
  margin-left: auto;
  margin-right: auto;
}
#service #section01 .w_ttl03 {
  margin-bottom: 35px;
}
#service #section01 .bg {
  background: #fff;
  padding: 0 110px 110px;
  border-radius: 0 0 40px 40px;
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
}
#service #section01 .lead {
  font-size: 17px;
  line-height: 2;
  text-align: center;
  margin-bottom: 60px;
}
#service #section01 ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0 40px;
  margin-bottom: 75px;
}
#service #section01 ul li {
  padding: 230px 18px 0;
}
#service #section01 ul li:nth-child(1) {
  background: url(../img/service/img01.jpg) no-repeat left top/100% auto;
}
#service #section01 ul li:nth-child(2) {
  background: url(../img/service/img02.jpg) no-repeat left top/100% auto;
}
#service #section01 ul li:nth-child(3) {
  background: url(../img/service/img03.jpg) no-repeat left top/100% auto;
}
#service #section01 ul h3 {
  font-size: 20px;
  line-height: 1.6;
  margin-bottom: 15px;
}
#service #section01 ul p {
  font-size: 15px;
  line-height: 2;
  letter-spacing: 0;
}
#service #section01 .box {
  background: #e7f4f3;
  border-radius: 30px;
  padding: 60px 72px 70px;
}
#service #section01 .box h3 {
  font-size: 24px;
  margin-bottom: 25px;
}
#service #section01 .box p {
  letter-spacing: 0.05em;
  margin-bottom: 45px;
}
#service #section02 {
  padding-top: 100px;
  margin-bottom: 130px;
}
#service #section02 * {
  margin: 0;
}
#service #section02 .w1100 {
  margin-left: auto;
  margin-right: auto;
}
#service #section02 .w_ttl03 {
  margin-bottom: 50px;
}
#service #section02 .w_ttl03 .ja {
  letter-spacing: 0.075em;
}
#service #section02 .lead {
  font-size: 17px;
  line-height: 2;
  text-align: center;
  margin-bottom: 80px;
}
#service #section02 .w_ttl {
  position: relative;
  border-bottom: dotted 3px #cac6bd;
  line-height: 1.2;
  margin-bottom: 70px;
  padding-bottom: 30px;
}
#service #section02 .w_ttl h3 {
  color: #3a938c;
  font-size: 28px;
  letter-spacing: 0.1em;
}
#service #section02 .w_ttl i {
  font-size: 30px;
  margin-right: 16px;
}
#service #section02 .w_ttl p {
  position: absolute;
  right: 4px;
  bottom: 0;
}
#service #section02 .list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px 40px;
}
#service #section02 .list li {
  padding: 275px 16px 0;
}
#service #section02 .list h3 {
  font-size: 20px;
  line-height: 1.6;
  margin-bottom: 15px;
}
#service #section02 .list h3 span {
  font-size: 16px;
}
#service #section02 .list p {
  font-size: 15px;
  line-height: 2;
}
#service #section02 .list .flex {
  padding-top: 0;
  height: 250px;
  padding-left: 440px;
  width: 100%;
  grid-row: 2/3;
  grid-column: 1/3;
  background: url(../img/service/list02_03.png) no-repeat left top/400px auto !important;
  display: flex;
  align-items: center;
}
#service #section02 .list .flex2 {
  background-image: url(../img/service/list03_03.png) !important;
}
#service #section02 .list01 li:nth-child(1) {
  background: url(../img/service/list01_01.png) no-repeat left top/100% auto;
}
#service #section02 .list01 li:nth-child(2) {
  background: url(../img/service/list01_02.png) no-repeat left top/100% auto;
}
#service #section02 .list01 li:nth-child(3) {
  background: url(../img/service/list01_03.png) no-repeat left top/100% auto;
}
#service #section02 .list01 li:nth-child(4) {
  background: url(../img/service/list01_04.png) no-repeat left top/100% auto;
}
#service #section02 .list01 li:nth-child(5) {
  background: url(../img/service/list01_05.png) no-repeat left top/100% auto;
}
#service #section02 .list01 li:nth-child(6) {
  background: url(../img/service/list01_06.png) no-repeat left top/100% auto;
}
#service #section02 .list02 li:nth-child(1) {
  background: url(../img/service/list02_01.png) no-repeat left top/100% auto;
}
#service #section02 .list02 li:nth-child(2) {
  background: url(../img/service/list02_02.png) no-repeat left top/100% auto;
}
#service #section02 .list03 li:nth-child(1) {
  background: url(../img/service/list03_01.png) no-repeat left top/100% auto;
}
#service #section02 .list03 li:nth-child(2) {
  background: url(../img/service/list03_02.png) no-repeat left top/100% auto;
}
#service #section02 .side_nav_content {
  margin-bottom: 120px;
}
#service #section02 .side_nav_content:last-child {
  margin-bottom: 0;
}
#service #section03 {
  position: relative;
}
#service #section03 .w1320 {
  position: relative;
  z-index: 1;
}
#service #section03:after {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  display: block;
  width: 100%;
  height: 120px;
  background: url(../img/common/body_bg2.jpg);
}
#service #section04 {
  padding-top: 110px;
  background: url(../img/common/body_bg2.jpg);
}
#service #section04 * {
  margin: 0;
}
#service #section04 .w1100 {
  margin-left: auto;
  margin-right: auto;
}
#service #section04 .w_ttl03 {
  margin-bottom: 45px;
}
#service #section04 .lead {
  font-size: 17px;
  line-height: 2;
  text-align: center;
  margin-bottom: 75px;
}
#service #section04 .grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px 80px;
}
#service #section04 .grid > div {
  padding-top: 51%;
  background-position: left top;
  background-size: 100% auto;
  background-repeat: no-repeat;
}
#service #section04 .grid > div:nth-child(1) {
  background-image: url(../img/service/img02.png);
}
#service #section04 .grid > div:nth-child(2) {
  background-image: url(../img/service/img03.png);
}
#service #section04 .grid > div:nth-child(1) {
  background-image: url(../img/service/img02.png);
}
#service #section04 .grid > div:nth-child(2) {
  background-image: url(../img/service/img03.png);
}
#service #section04 .grid > div:nth-child(1) {
  background-image: url(../img/service/img02.png);
}
#service #section04 .grid > div:nth-child(2) {
  background-image: url(../img/service/img03.png);
}
#service #section04 .grid > div:nth-child(1) {
  background-image: url(../img/service/img02.png);
}
#service #section04 .grid > div:nth-child(2) {
  background-image: url(../img/service/img03.png);
}
#service #section04 .grid h3 {
  position: relative;
  width: 410px;
  background: url(../img/common/body_bg2.jpg);
  font-size: 24px;
  padding: 45px 0 0 50px;
  border-radius: 0 25px 0 0;
  letter-spacing: 0.05em;
  margin-bottom: 25px;
}
#service #section04 .grid h3:before, #service #section04 .grid h3:after {
  position: absolute;
  content: "";
  display: block;
  width: 12px;
  height: 12px;
}
#service #section04 .grid h3:before {
  background: url(../img/service/curve01.png) no-repeat left top/100% auto;
  left: 0;
  top: -12px;
}
#service #section04 .grid h3:after {
  background: url(../img/service/curve02.png) no-repeat left top/100% auto;
  right: -12px;
  top: 43px;
}
#service #section04 .grid h3 .row {
  z-index: 1;
  display: block;
  line-height: 1.6;
  position: relative;
}
#service #section04 .grid h3 .num {
  position: absolute;
  font-size: 60px;
  font-family: "satoshi";
  color: #fff;
  display: block;
  line-height: 1;
  left: 0;
  top: 28px;
}
#service #section04 .grid h3 .white {
  color: #fff;
}
#service #section04 .grid p {
  padding: 0 50px;
}
#service #section05 {
  padding-top: 90px;
  padding-bottom: 300px;
  background: url(../img/common/body_bg2.jpg);
}

.side_nav_content {
  display: flex;
  justify-content: space-between;
}
.side_nav_content .left_nav {
  width: 23.6%;
}
.side_nav_content .left_nav ul {
  display: grid;
  grid-template-columns: 1fr;
  font-size: 15px;
  gap: 20px 0;
}
.side_nav_content .left_nav ul a {
  color: var(--black);
  text-decoration: none;
}
.side_nav_content .left_nav ul .on {
  pointer-events: none;
  color: #3a938c;
  font-weight: bold;
  position: relative;
}
.side_nav_content .left_nav ul .on:before {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: -16px;
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #3a938c;
}
.side_nav_content .right_content {
  width: 76.4%;
}

/*―――――――――――――――――――――――――*
*	1420px 以下
*―――――――――――――――――――――――――*/
@media screen and (min-width: 767px) and (max-width: 1420px) {
  #service #section01 * {
    margin: 0;
  }
  #service #section01 .w1320 {
    margin-left: auto;
    margin-right: auto;
  }
  #service #section01 .w_ttl03 {
    margin-bottom: 2.652vw;
  }
  #service #section01 .bg {
    background: #fff;
    padding: 0 6vw 8.333vw;
    border-radius: 0 0 3.03vw 3.03vw;
    max-width: 96vw;
    margin-left: auto;
    margin-right: auto;
  }
  #service #section01 .lead {
    font-size: 1.288vw;
    line-height: 2;
    text-align: center;
    margin-bottom: 4.545vw;
  }
  #service #section01 ul {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0 3.03vw;
    margin-bottom: 5.682vw;
  }
  #service #section01 ul li {
    padding: 17.424vw 1.364vw 0;
  }
  #service #section01 ul li:nth-child(1) {
    background: url(../img/service/img01.jpg) no-repeat left top/100% auto;
  }
  #service #section01 ul li:nth-child(2) {
    background: url(../img/service/img02.jpg) no-repeat left top/100% auto;
  }
  #service #section01 ul li:nth-child(3) {
    background: url(../img/service/img03.jpg) no-repeat left top/100% auto;
  }
  #service #section01 ul h3 {
    font-size: 1.515vw;
    line-height: 1.6;
    margin-bottom: 1.136vw;
  }
  #service #section01 ul p {
    font-size: 1.136vw;
    line-height: 2;
    letter-spacing: 0;
  }
  #service #section01 .box {
    background: #e7f4f3;
    border-radius: 2.273vw;
    padding: 4.545vw 5.455vw 5.303vw;
  }
  #service #section01 .box h3 {
    font-size: 1.818vw;
    margin-bottom: 1.894vw;
  }
  #service #section01 .box p {
    letter-spacing: 0.05em;
    margin-bottom: 3.409vw;
  }
}
/*―――――――――――――――――――――――――*
*	1280px 以下
*―――――――――――――――――――――――――*/
@media screen and (min-width: 767px) and (max-width: 1150px) {
  #service #section02 {
    padding-top: 8.696vw;
    margin-bottom: 11.304vw;
  }
  #service #section02 * {
    margin: 0;
  }
  #service #section02 .w1100 {
    margin-left: auto;
    margin-right: auto;
  }
  #service #section02 .w_ttl03 {
    margin-bottom: 4.348vw;
  }
  #service #section02 .w_ttl03 .ja {
    letter-spacing: 0.075em;
  }
  #service #section02 .lead {
    font-size: 1.478vw;
    line-height: 2;
    text-align: center;
    margin-bottom: 6.957vw;
  }
  #service #section02 #content01 .w_ttl p img {
    max-width: 25.652vw;
  }
  #service #section02 #content02 .w_ttl p img {
    max-width: 24.609vw;
  }
  #service #section02 #content03 .w_ttl p img {
    max-width: 28.957vw;
  }
  #service #section02 .w_ttl {
    position: relative;
    border-bottom: dotted 3px #cac6bd;
    line-height: 1.2;
    margin-bottom: 6.087vw;
    padding-bottom: 2.609vw;
  }
  #service #section02 .w_ttl h3 {
    color: #3a938c;
    font-size: 2.435vw;
    letter-spacing: 0.1em;
  }
  #service #section02 .w_ttl i {
    font-size: 2.609vw;
    margin-right: 1.391vw;
  }
  #service #section02 .w_ttl p {
    position: absolute;
    right: 0.348vw;
    bottom: 0;
  }
  #service #section02 .list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4.348vw 3.478vw;
  }
  #service #section02 .list li {
    padding: 23.913vw 1.391vw 0;
  }
  #service #section02 .list h3 {
    font-size: 1.739vw;
    line-height: 1.6;
    margin-bottom: 1.304vw;
  }
  #service #section02 .list h3 span {
    font-size: 1.391vw;
  }
  #service #section02 .list p {
    font-size: 1.304vw;
    line-height: 2;
  }
  #service #section02 .list .flex {
    padding-top: 0;
    height: 21.739vw;
    padding-left: 38.261vw;
    width: 100%;
    grid-row: 2/3;
    grid-column: 1/3;
    background: url(../img/service/list02_03.png) no-repeat left top/34vw auto !important;
    display: flex;
    align-items: center;
  }
  #service #section02 .list .flex2 {
    background-image: url(../img/service/list03_03.png) !important;
  }
  #service #section02 .list01 li:nth-child(1) {
    background: url(../img/service/list01_01.png) no-repeat left top/100% auto;
  }
  #service #section02 .list01 li:nth-child(2) {
    background: url(../img/service/list01_02.png) no-repeat left top/100% auto;
  }
  #service #section02 .list01 li:nth-child(3) {
    background: url(../img/service/list01_03.png) no-repeat left top/100% auto;
  }
  #service #section02 .list01 li:nth-child(4) {
    background: url(../img/service/list01_04.png) no-repeat left top/100% auto;
  }
  #service #section02 .list01 li:nth-child(5) {
    background: url(../img/service/list01_05.png) no-repeat left top/100% auto;
  }
  #service #section02 .list01 li:nth-child(6) {
    background: url(../img/service/list01_06.png) no-repeat left top/100% auto;
  }
  #service #section02 .list02 li:nth-child(1) {
    background: url(../img/service/list02_01.png) no-repeat left top/100% auto;
  }
  #service #section02 .list02 li:nth-child(2) {
    background: url(../img/service/list02_02.png) no-repeat left top/100% auto;
  }
  #service #section02 .side_nav_content {
    margin-bottom: 10.435vw;
  }
  #service #section02 .side_nav_content:last-child {
    margin-bottom: 0;
  }
  #service #section03 {
    position: relative;
  }
  #service #section03 .w1320 {
    position: relative;
    z-index: 1;
  }
  #service #section03:after {
    position: absolute;
    left: 0;
    bottom: 0;
    content: "";
    display: block;
    width: 100%;
    height: 10.435vw;
    background: url(../img/common/body_bg2.jpg);
  }
  #service #section04 {
    padding-top: 9.565vw;
    background: url(../img/common/body_bg2.jpg);
  }
  #service #section04 * {
    margin: 0;
  }
  #service #section04 .w1100 {
    margin-left: auto;
    margin-right: auto;
  }
  #service #section04 .w_ttl03 {
    margin-bottom: 3.913vw;
  }
  #service #section04 .lead {
    font-size: 1.478vw;
    line-height: 2;
    text-align: center;
    margin-bottom: 6.522vw;
  }
  #service #section04 .grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6.087vw 6.957vw;
  }
  #service #section04 .grid > div {
    padding-top: 51%;
    background-position: left top;
    background-size: 100% auto;
    background-repeat: no-repeat;
  }
  #service #section04 .grid > div:nth-child(1) {
    background-image: url(../img/service/img02.png);
  }
  #service #section04 .grid > div:nth-child(2) {
    background-image: url(../img/service/img03.png);
  }
  #service #section04 .grid > div:nth-child(1) {
    background-image: url(../img/service/img02.png);
  }
  #service #section04 .grid > div:nth-child(2) {
    background-image: url(../img/service/img03.png);
  }
  #service #section04 .grid > div:nth-child(1) {
    background-image: url(../img/service/img02.png);
  }
  #service #section04 .grid > div:nth-child(2) {
    background-image: url(../img/service/img03.png);
  }
  #service #section04 .grid > div:nth-child(1) {
    background-image: url(../img/service/img02.png);
  }
  #service #section04 .grid > div:nth-child(2) {
    background-image: url(../img/service/img03.png);
  }
  #service #section04 .grid h3 {
    position: relative;
    width: 35.652vw;
    background: url(../img/common/body_bg2.jpg);
    font-size: 2.087vw;
    padding: 3.913vw 0 0 4.348vw;
    border-radius: 0 2.174vw 0 0;
    letter-spacing: 0.05em;
    margin-bottom: 2.174vw;
  }
  #service #section04 .grid h3:before, #service #section04 .grid h3:after {
    position: absolute;
    content: "";
    display: block;
    width: 1.043vw;
    height: 1.043vw;
  }
  #service #section04 .grid h3:before {
    background: url(../img/service/curve01.png) no-repeat left top/100% auto;
    left: 0;
    top: -1.043vw;
  }
  #service #section04 .grid h3:after {
    background: url(../img/service/curve02.png) no-repeat left top/100% auto;
    right: -1.043vw;
    top: 3.739vw;
  }
  #service #section04 .grid h3 .row {
    z-index: 1;
    display: block;
    line-height: 1.6;
    position: relative;
  }
  #service #section04 .grid h3 .num {
    position: absolute;
    font-size: 5.217vw;
    font-family: "satoshi";
    color: #fff;
    display: block;
    line-height: 1;
    left: 0;
    top: 2.435vw;
  }
  #service #section04 .grid h3 .white {
    color: #fff;
  }
  #service #section04 .grid p {
    padding: 0 4.348vw;
  }
  #service #section05 {
    padding-top: 7.826vw;
    padding-bottom: 26.087vw;
    background: url(../img/common/body_bg2.jpg);
  }
  .side_nav_content {
    display: flex;
    justify-content: space-between;
  }
  .side_nav_content .left_nav {
    width: 23.6%;
    padding-left: 2vw;
  }
  .side_nav_content .left_nav ul {
    display: grid;
    grid-template-columns: 1fr;
    font-size: 1.304vw;
    gap: 1.739vw 0;
  }
  .side_nav_content .left_nav ul a {
    color: var(--black);
    text-decoration: none;
  }
  .side_nav_content .left_nav ul .on {
    pointer-events: none;
    color: #3a938c;
    font-weight: bold;
    position: relative;
  }
  .side_nav_content .left_nav ul .on:before {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    left: -1.391vw;
    content: "";
    display: block;
    width: 0.522vw;
    height: 0.522vw;
    border-radius: 50%;
    background: #3a938c;
  }
  .side_nav_content .right_content {
    width: 76.4%;
  }
}
/*―――――――――――――――――――――――――*
*	スマホ
*―――――――――――――――――――――――――*/
@media screen and (max-width: 767px) {
  #service #under_mv {
    background-image: url(../img/service/mv_sp.jpg);
  }
  #service #section01 .w_ttl03 {
    margin-bottom: 5.3333333333vw;
  }
  #service #section01 .bg {
    border-radius: 0 0 6.6666666667vw 6.6666666667vw;
    padding: 0 4vw 4vw;
    margin-left: 4vw;
    margin-right: 4vw;
  }
  #service #section01 .bg .lead {
    text-align: left;
    font-size: 3.4666666667vw;
    line-height: 2;
    margin-bottom: 8vw;
  }
  #service #section01 .bg .lead br {
    display: none;
  }
  #service #section01 .bg ul {
    display: block;
    margin-bottom: 9.3333333333vw;
    padding-left: 4vw;
    padding-right: 4vw;
  }
  #service #section01 .bg ul li {
    padding: 68% 4vw 0;
    margin-bottom: 12vw;
  }
  #service #section01 .bg ul li:nth-child(1) {
    background-image: url(../img/service/img01_sp.jpg);
  }
  #service #section01 .bg ul li:nth-child(2) {
    background-image: url(../img/service/img02_sp.jpg);
  }
  #service #section01 .bg ul li:nth-child(3) {
    background-image: url(../img/service/img03_sp.jpg);
  }
  #service #section01 .bg ul li:last-child {
    margin-bottom: 0;
  }
  #service #section01 .bg ul h3 {
    font-size: 4.5333333333vw;
    margin-bottom: 3.2vw;
  }
  #service #section01 .bg ul p {
    font-size: 3.4666666667vw;
  }
  #service #section01 .box {
    border-radius: 5.3333333333vw;
    padding: 9.3333333333vw 8vw;
  }
  #service #section01 .box h3 {
    font-size: 4.5333333333vw;
    line-height: 1.6;
    margin-bottom: 5.3333333333vw;
  }
  #service #section01 .box p {
    font-size: 3.4666666667vw;
    line-height: 2;
    margin-bottom: 8vw;
  }
  #service #section02 {
    padding-top: 17.3333333333vw;
    margin-bottom: 20vw;
  }
  #service #section02 .w1100 {
    padding-left: 8vw;
    padding-right: 8vw;
  }
  #service #section02 .w_ttl03 {
    margin-bottom: 8vw;
  }
  #service #section02 .lead {
    text-align: left;
    font-size: 3.4666666667vw;
    line-height: 2;
    margin-bottom: 18.6666666667vw;
  }
  #service #section02 .lead br {
    display: none;
  }
  #service #section02 #content01 .w_ttl p img {
    max-width: 40vw;
  }
  #service #section02 #content02 .w_ttl p img {
    max-width: 40vw;
  }
  #service #section02 #content03 .w_ttl p img {
    max-width: 47.2vw;
  }
  #service #section02 .w_ttl {
    padding-bottom: 4vw;
    margin-bottom: 10.6666666667vw;
  }
  #service #section02 .w_ttl h3 {
    font-size: 5.3333333333vw;
  }
  #service #section02 .w_ttl h3 i {
    font-size: 5.6vw;
  }
  #service #section02 .list {
    display: block;
  }
  #service #section02 .list li {
    padding: 68% 4vw 0;
    margin-bottom: 9.3333333333vw;
    letter-spacing: 0;
  }
  #service #section02 .list li:last-child {
    margin-bottom: 0;
  }
  #service #section02 .list h3 {
    font-size: 4.5333333333vw;
    margin-bottom: 3.2vw;
  }
  #service #section02 .list h3 span {
    font-size: 3.4666666667vw;
  }
  #service #section02 .list p {
    font-size: 3.4666666667vw;
  }
  #service #section02 .list .flex {
    height: auto;
    padding: 68% 4vw 0;
    width: 100%;
    grid-row: auto;
    grid-column: auto;
    background: url(../img/service/list02_03_sp.png) no-repeat left top/100% auto !important;
    display: block;
  }
  #service #section02 .list .flex2 {
    background-image: url(../img/service/list03_03_sp.png) !important;
  }
  #service #section02 .list01 li:nth-child(1) {
    background: url(../img/service/list01_01_sp.png) no-repeat left top/100% auto;
  }
  #service #section02 .list01 li:nth-child(2) {
    background: url(../img/service/list01_02_sp.png) no-repeat left top/100% auto;
  }
  #service #section02 .list01 li:nth-child(3) {
    background: url(../img/service/list01_03_sp.png) no-repeat left top/100% auto;
  }
  #service #section02 .list01 li:nth-child(4) {
    background: url(../img/service/list01_04_sp.png) no-repeat left top/100% auto;
  }
  #service #section02 .list01 li:nth-child(5) {
    background: url(../img/service/list01_05_sp.png) no-repeat left top/100% auto;
  }
  #service #section02 .list01 li:nth-child(6) {
    background: url(../img/service/list01_06_sp.png) no-repeat left top/100% auto;
  }
  #service #section02 .list02 li:nth-child(1) {
    background: url(../img/service/list02_01_sp.png) no-repeat left top/100% auto;
  }
  #service #section02 .list02 li:nth-child(2) {
    background: url(../img/service/list02_02_sp.png) no-repeat left top/100% auto;
  }
  #service #section02 .list03 li:nth-child(1) {
    background: url(../img/service/list03_01_sp.png) no-repeat left top/100% auto;
  }
  #service #section02 .list03 li:nth-child(2) {
    background: url(../img/service/list03_02_sp.png) no-repeat left top/100% auto;
  }
  #service #section02 .side_nav_content {
    margin-bottom: 24vw;
  }
  #service #section03:after {
    height: 26.6666666667vw;
  }
  #service #section04 .w_ttl03 {
    margin-bottom: 8vw;
  }
  #service #section04 .lead {
    text-align: left;
    font-size: 3.4666666667vw;
    line-height: 2;
    padding: 0 4vw;
    margin-bottom: 10.6666666667vw;
  }
  #service #section04 .grid {
    grid-template-columns: 1fr;
    gap: 13.3333333333vw 0;
    padding-left: 4vw;
    padding-right: 4vw;
  }
  #service #section04 .grid h3 {
    width: 66.6666666667vw;
    font-size: 4.5333333333vw;
    padding: 10.6666666667vw 1.3333333333vw 0 8vw;
    margin-bottom: 4vw;
    line-height: 1.6;
    border-radius: 0 2.6666666667vw 0 0;
  }
  #service #section04 .grid h3 .num {
    font-size: 11.7333333333vw;
    top: 7.4666666667vw;
  }
  #service #section04 .grid h3:before, #service #section04 .grid h3:after {
    width: 1.6vw;
    height: 1.6vw;
  }
  #service #section04 .grid h3:before {
    top: -1.3333333333vw;
  }
  #service #section04 .grid h3:after {
    right: -1.6vw;
    top: 7.7333333333vw;
  }
  #service #section04 .grid p {
    font-size: 3.4666666667vw;
    padding: 0 8vw;
    line-height: 2;
  }
  #service #section05 {
    padding-top: 20vw;
    padding-bottom: 32vw;
  }
  .side_nav_content {
    display: block;
  }
  .side_nav_content .left_nav {
    display: none;
  }
  .side_nav_content .right_content {
    width: 100%;
  }
}
#flow .lead {
  font-size: 17px;
  line-height: 2;
}
#flow #under_mv {
  background-image: url(../img/flow/mv.jpg);
}
#flow #section01 {
  margin-bottom: 100px;
}
#flow #section01 * {
  margin: 0;
}
#flow #section01 .w1100 {
  margin-left: auto;
  margin-right: auto;
}
#flow #section01 .w_ttl04 {
  margin-bottom: 45px;
}
#flow #section01 .lead {
  margin-bottom: 60px;
}
#flow #section01 ol {
  display: grid;
  grid-template-columns: 1fr;
  gap: 60px 0;
}
#flow #section01 ol li {
  padding: 0 0 0 435px;
  min-height: 245px;
  display: flex;
  align-items: center;
  position: relative;
}
#flow #section01 ol li:before {
  position: absolute;
  left: -16px;
  top: -16px;
  content: "";
  display: block;
  z-index: 1;
  width: 84px;
  height: 84px;
  background-position: center;
  background-size: cover;
}
#flow #section01 ol li:last-child {
  align-items: flex-start;
}
#flow #section01 ol li:nth-child(1) {
  background: url(../img/flow/step1_img.png) no-repeat left top/400px auto;
}
#flow #section01 ol li:nth-child(1):before {
  background-image: url(../img/flow/step1.png);
}
#flow #section01 ol li:nth-child(2) {
  background: url(../img/flow/step2_img.png) no-repeat left top/400px auto;
}
#flow #section01 ol li:nth-child(2):before {
  background-image: url(../img/flow/step2.png);
}
#flow #section01 ol li:nth-child(3) {
  background: url(../img/flow/step3_img.png) no-repeat left top/400px auto;
}
#flow #section01 ol li:nth-child(3):before {
  background-image: url(../img/flow/step3.png);
}
#flow #section01 ol li:nth-child(4) {
  background: url(../img/flow/step4_img.png) no-repeat left top/400px auto;
}
#flow #section01 ol li:nth-child(4):before {
  background-image: url(../img/flow/step4.png);
}
#flow #section01 ol li:nth-child(5) {
  background: url(../img/flow/step5_img.png) no-repeat left top/400px auto;
}
#flow #section01 ol li:nth-child(5):before {
  background-image: url(../img/flow/step5.png);
}
#flow #section01 ol .label {
  font-size: 14px;
  letter-spacing: 0.15em;
}
#flow #section01 ol h3 {
  font-weight: bold;
  font-size: 20px;
  margin-bottom: 15px;
}
#flow #section01 ol .text {
  font-size: 15px;
  line-height: 2;
  letter-spacing: 0.025em;
}
#flow #section01 ol a {
  color: var(--black);
  text-decoration: underline;
}
#flow #section01 ol .notice {
  font-size: 13px;
  line-height: 1.6;
  margin-top: 8px;
}
#flow #section02 {
  position: relative;
}
#flow #section02:after {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 120px;
  content: "";
  display: block;
  background: url(../img/common/body_bg2.jpg);
}
#flow #section02 * {
  margin: 0;
}
#flow #section02 .w1100, #flow #section02 .w1320 {
  margin-left: auto;
  margin-right: auto;
}
#flow #section02 .bg {
  position: relative;
  z-index: 1;
  border-radius: 40px;
  padding: 100px 0;
  background: #fff;
}
#flow #section02 .w_ttl04 {
  margin-bottom: 45px;
}
#flow #section02 .lead {
  margin-bottom: 45px;
}
#flow #section02 .box {
  border: dotted 3px #cac6bd;
  border-radius: 30px;
  padding: 40px 50px 50px;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.15em;
  margin-bottom: 40px;
}
#flow #section02 .box h3 {
  color: #3a938c;
  font-weight: bold;
  font-size: 20px;
  margin-bottom: 25px;
}
#flow #section02 .box h3 i {
  font-size: 30px;
  margin-right: 14px;
  position: relative;
  top: 2px;
}
#flow #section02 .box p {
  letter-spacing: 0.075em;
  line-height: 2;
}
#flow #section02 .grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 40px;
  font-family: "Noto Sans JP", sans-serif;
}
#flow #section02 .grid > div {
  position: relative;
  background: #e7f4f3;
  border-radius: 30px;
  padding: 40px 40px;
}
#flow #section02 .grid h4 {
  position: relative;
  padding-left: 20px;
  letter-spacing: 0.1em;
  margin-bottom: 30px;
  font-weight: bold;
  font-size: 20px;
  line-height: 1.6;
}
#flow #section02 .grid h4:before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  display: block;
  width: 5px;
  height: 100%;
  border-radius: 10px;
  background: #86c7c2;
}
#flow #section02 .grid h4 span {
  font-size: 16px;
}
#flow #section02 .grid p {
  line-height: 2;
  letter-spacing: 0.075em;
}
#flow #section03 {
  padding-top: 100px;
  padding-bottom: 255px;
  background: url(../img/common/body_bg2.jpg);
}
#flow #section03 .w_ttl04 {
  margin-bottom: 60px;
}
#flow #section03 .btn05 {
  display: block;
  width: fit-content;
  margin-left: auto;
  margin-top: 40px;
}

/*―――――――――――――――――――――――――*
*	1420px 以下
*―――――――――――――――――――――――――*/
/*―――――――――――――――――――――――――*
*	1150px 以下
*―――――――――――――――――――――――――*/
@media screen and (min-width: 767px) and (max-width: 1150px) {
  #flow .lead {
    font-size: 1.478vw;
    line-height: 2;
  }
  #flow #under_mv {
    background-image: url(../img/flow/mv.jpg);
  }
  #flow #section01 {
    margin-bottom: 8.696vw;
  }
  #flow #section01 * {
    margin: 0;
  }
  #flow #section01 .w1100 {
    margin-left: auto;
    margin-right: auto;
  }
  #flow #section01 .w_ttl04 {
    margin-bottom: 3.913vw;
  }
  #flow #section01 .lead {
    margin-bottom: 5.217vw;
  }
  #flow #section01 ol {
    display: grid;
    grid-template-columns: 1fr;
    gap: 5.217vw 0;
  }
  #flow #section01 ol li {
    padding: 0 0 0 37.826vw;
    min-height: 21.304vw;
    display: flex;
    align-items: center;
    position: relative;
  }
  #flow #section01 ol li:before {
    position: absolute;
    left: -1.391vw;
    top: -1.391vw;
    content: "";
    display: block;
    z-index: 1;
    width: 7.304vw;
    height: 7.304vw;
    background-position: center;
    background-size: cover;
  }
  #flow #section01 ol li:last-child {
    align-items: flex-start;
  }
  #flow #section01 ol li:nth-child(1) {
    background: url(../img/flow/step1_img.png) no-repeat left top/33vw auto;
  }
  #flow #section01 ol li:nth-child(1):before {
    background-image: url(../img/flow/step1.png);
  }
  #flow #section01 ol li:nth-child(2) {
    background: url(../img/flow/step2_img.png) no-repeat left top/33vw auto;
  }
  #flow #section01 ol li:nth-child(2):before {
    background-image: url(../img/flow/step2.png);
  }
  #flow #section01 ol li:nth-child(3) {
    background: url(../img/flow/step3_img.png) no-repeat left top/33vw auto;
  }
  #flow #section01 ol li:nth-child(3):before {
    background-image: url(../img/flow/step3.png);
  }
  #flow #section01 ol li:nth-child(4) {
    background: url(../img/flow/step4_img.png) no-repeat left top/33vw auto;
  }
  #flow #section01 ol li:nth-child(4):before {
    background-image: url(../img/flow/step4.png);
  }
  #flow #section01 ol li:nth-child(5) {
    background: url(../img/flow/step5_img.png) no-repeat left top/33vw auto;
  }
  #flow #section01 ol li:nth-child(5):before {
    background-image: url(../img/flow/step5.png);
  }
  #flow #section01 ol .label {
    font-size: 1.217vw;
    letter-spacing: 0.15em;
  }
  #flow #section01 ol h3 {
    font-weight: bold;
    font-size: 1.739vw;
    margin-bottom: 1.304vw;
  }
  #flow #section01 ol .text {
    font-size: 1.304vw;
    line-height: 2;
    letter-spacing: 0.025em;
  }
  #flow #section01 ol a {
    color: var(--black);
    text-decoration: underline;
  }
  #flow #section01 ol .notice {
    font-size: 1.13vw;
    line-height: 1.6;
    margin-top: 0.696vw;
  }
  #flow #section02 {
    position: relative;
  }
  #flow #section02:after {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 10.435vw;
    content: "";
    display: block;
    background: url(../img/common/body_bg2.jpg);
  }
  #flow #section02 * {
    margin: 0;
  }
  #flow #section02 .w1100, #flow #section02 .w1320 {
    margin-left: auto;
    margin-right: auto;
  }
  #flow #section02 .bg {
    position: relative;
    z-index: 1;
    border-radius: 3.478vw;
    padding: 8.696vw 0;
    background: #fff;
  }
  #flow #section02 .w_ttl04 {
    margin-bottom: 3.913vw;
  }
  #flow #section02 .lead {
    margin-bottom: 3.913vw;
  }
  #flow #section02 .box {
    border: dotted 3px #cac6bd;
    border-radius: 2.609vw;
    padding: 3.478vw 4.348vw 4.348vw;
    font-family: "Noto Sans JP", sans-serif;
    letter-spacing: 0.15em;
    margin-bottom: 3.478vw;
  }
  #flow #section02 .box h3 {
    color: #3a938c;
    font-weight: bold;
    font-size: 1.739vw;
    margin-bottom: 2.174vw;
  }
  #flow #section02 .box h3 i {
    font-size: 2.609vw;
    margin-right: 1.217vw;
    position: relative;
    top: 0.174vw;
  }
  #flow #section02 .box p {
    letter-spacing: 0.075em;
    line-height: 2;
  }
  #flow #section02 .grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 3.478vw;
    font-family: "Noto Sans JP", sans-serif;
  }
  #flow #section02 .grid > div {
    position: relative;
    background: #e7f4f3;
    border-radius: 2.609vw;
    padding: 3.478vw 3.478vw;
  }
  #flow #section02 .grid h4 {
    position: relative;
    padding-left: 1.739vw;
    letter-spacing: 0.1em;
    margin-bottom: 2.609vw;
    font-weight: bold;
    font-size: 1.739vw;
    line-height: 1.6;
  }
  #flow #section02 .grid h4:before {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    display: block;
    width: 0.435vw;
    height: 100%;
    border-radius: 0.87vw;
    background: #86c7c2;
  }
  #flow #section02 .grid h4 span {
    font-size: 1.391vw;
  }
  #flow #section02 .grid p {
    line-height: 2;
    letter-spacing: 0.075em;
  }
  #flow #section03 {
    padding-top: 8.696vw;
    padding-bottom: 22.174vw;
    background: url(../img/common/body_bg2.jpg);
  }
  #flow #section03 .w_ttl04 {
    margin-bottom: 5.217vw;
  }
  #flow #section03 .btn05 {
    display: block;
    width: fit-content;
    margin-left: auto;
    margin-top: 3.478vw;
  }
  #flow #section01 .side_nav_content .left_nav, #flow #section03 .side_nav_content .left_nav {
    padding-left: 4vw;
  }
}
/*―――――――――――――――――――――――――*
*	スマホ
*―――――――――――――――――――――――――*/
@media screen and (max-width: 767px) {
  #flow #under_mv {
    background-image: url(../img/flow/mv_sp.jpg);
  }
  #flow .lead {
    font-size: 3.4666666667vw;
    line-height: 2;
  }
  #flow #section01 {
    margin-bottom: 18.6666666667vw;
  }
  #flow #section01 .w1100 {
    padding-left: 8vw;
    padding-right: 8vw;
  }
  #flow #section01 .w_ttl04 {
    margin-bottom: 5.3333333333vw;
  }
  #flow #section01 .lead {
    text-align: center;
    margin-bottom: 8.5333333333vw;
  }
  #flow #section01 ol {
    gap: 12vw 0;
  }
  #flow #section01 ol li {
    background-size: 100% auto !important;
    padding-left: 4vw;
    padding-top: 58.6666666667vw;
    padding-right: 4vw;
  }
  #flow #section01 ol li:before {
    width: 16vw;
    height: 16vw;
    left: -4vw;
    top: -4vw;
  }
  #flow #section01 ol li:nth-child(1) {
    background: url(../img/flow/step1_img_sp.png) no-repeat left top/400px auto;
  }
  #flow #section01 ol li:nth-child(2) {
    background: url(../img/flow/step2_img_sp.png) no-repeat left top/400px auto;
  }
  #flow #section01 ol li:nth-child(3) {
    background: url(../img/flow/step3_img_sp.png) no-repeat left top/400px auto;
  }
  #flow #section01 ol li:nth-child(4) {
    background: url(../img/flow/step4_img_sp.png) no-repeat left top/400px auto;
  }
  #flow #section01 ol li:nth-child(5) {
    background: url(../img/flow/step5_img_sp.png) no-repeat left top/400px auto;
  }
  #flow #section01 ol .label {
    font-size: 3.2vw;
  }
  #flow #section01 ol h3 {
    font-size: 4.5333333333vw;
    margin-bottom: 4vw;
  }
  #flow #section01 ol .text {
    font-size: 3.4666666667vw;
    line-height: 2;
  }
  #flow #section01 ol .notice {
    font-size: 2.9333333333vw;
    margin-top: 2.6666666667vw;
  }
  #flow #section02:after {
    height: 26.6666666667vw;
  }
  #flow #section02 .w1100 {
    padding: 0;
  }
  #flow #section02 .w_ttl04 {
    margin-bottom: 4vw;
  }
  #flow #section02 .w_ttl04 .satoshi {
    bottom: 3.7333333333vw;
  }
  #flow #section02 .lead {
    padding: 0 4vw;
    margin-bottom: 8vw;
  }
  #flow #section02 .bg {
    border-radius: 5.3333333333vw;
    padding: 10.6666666667vw 4vw 4vw;
  }
  #flow #section02 .box {
    border-radius: 5.3333333333vw;
    padding: 6.6666666667vw 8vw 6.6666666667vw;
    margin-bottom: 4vw;
  }
  #flow #section02 .box h3 {
    position: relative;
    margin-bottom: 5.3333333333vw;
    font-size: 4.5333333333vw;
    line-height: 1.6;
    padding-left: 9.0666666667vw;
  }
  #flow #section02 .box h3 i {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(0, -50%);
    font-size: 6.9333333333vw;
  }
  #flow #section02 .box p {
    font-size: 3.4666666667vw;
    letter-spacing: 0.05em;
  }
  #flow #section02 .grid {
    grid-template-columns: 1fr;
    gap: 4vw 0;
  }
  #flow #section02 .grid > div {
    border-radius: 5.3333333333vw;
    padding: 8vw 8vw 6.6666666667vw;
  }
  #flow #section02 .grid h3 {
    padding-left: 5.3333333333vw;
    margin-bottom: 5.3333333333vw;
  }
  #flow #section02 .grid h3:before {
    width: 1.0666666667vw;
    border-radius: 2.6666666667vw;
  }
  #flow #section02 .grid p {
    font-size: 3.4666666667vw;
    letter-spacing: 0.05em;
  }
  #flow #section03 {
    padding-top: 20vw;
    padding-bottom: 24vw;
  }
  #flow #section03 .w1100 {
    padding-left: 8vw;
    padding-right: 8vw;
  }
  #flow #section03 .w_ttl04 {
    margin-bottom: 9.3333333333vw;
  }
  #flow #section03 .w_ttl04 .satoshi {
    bottom: 3.7333333333vw;
  }
  #flow #section03 .btn05 {
    margin-top: 9.3333333333vw;
  }
  #flow #section03 .faq_box {
    margin-left: 0;
    margin-right: 0;
  }
}
#step .lead {
  font-size: 17px;
  line-height: 2;
}
#step .step_ttl {
  text-align: center;
}
#step .step_ttl .ribbon {
  display: block;
  color: #fff;
  font-family: "satoshi";
  background: url(../img/step/ribbon.png) no-repeat left top/100% auto;
  width: 202px;
  height: 42px;
  margin: 0 auto 36px !important;
  text-align: center;
  gap: 0 8px;
  padding-top: 3px;
}
#step .step_ttl .ribbon span:first-child {
  margin-right: 8px !important;
  font-size: 15px;
  display: inline-block;
  position: relative;
  top: -1px;
}
#step .step_ttl .ribbon span:last-child {
  font-size: 18px;
}
#step .step_ttl .text {
  font-size: 34px;
  line-height: 1.2;
}
#step .step_ttl + p {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 65px !important;
}
#step .step_list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 25px 0;
  counter-reset: number 0;
}
#step .step_list li {
  position: relative;
  background: #fff;
  border-radius: 0 25px;
  min-height: 160px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#step .step_list li:before {
  position: absolute;
  left: 40px;
  top: 50%;
  transform: translate(0, -50%);
  counter-increment: number 1;
  content: "0" counter(number);
  font-family: "satoshi";
  display: block;
  width: 64px;
  height: 64px;
  background: url(../img/step/giza.svg) no-repeat center/cover;
  line-height: 64px;
  color: #fff;
  text-align: center;
  font-size: 16px;
}
#step .step_list .left {
  width: 470px;
  padding-left: 140px;
}
#step .step_list .right {
  width: calc(100% - 470px);
  text-align: left;
  padding-right: 50px;
}
#step .step_list .right p {
  font-size: 16px;
  letter-spacing: 0;
  line-height: 2;
}
#step .step_list .right a {
  color: #3a938c;
  text-decoration: underline;
}
#step .step_list h3 {
  font-size: 24px;
  line-height: 1.333;
  letter-spacing: 0.05em;
}
#step .step_list h3 .marker {
  background: linear-gradient(transparent 80%, #ffef6b 80%);
  display: inline-block;
  line-height: 1;
  padding-bottom: 2px;
}
#step #under_mv {
  background-image: url(../img/step/mv.jpg);
}
#step #under_mv:after {
  background: #fff;
}
#step #section01 {
  margin-bottom: 120px;
}
#step #section01 * {
  margin: 0;
}
#step #section01 .bg {
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  border-radius: 0 0 40px 40px;
  background: #fff;
  padding: 0 110px 100px;
}
#step #section01 .w_ttl03 {
  margin-bottom: 40px;
}
#step #section01 .lead {
  text-align: center;
  margin-bottom: 55px;
}
#step #section01 ol {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0 20px;
}
#step #section01 ol li {
  position: relative;
  aspect-ratio: 1/1;
  text-align: center;
  background: url(../img/step/circle.svg) no-repeat center/cover;
  padding-top: 50px;
}
#step #section01 ol li:after {
  position: absolute;
  right: -15px;
  top: 50%;
  transform: translate(0, -50%);
  content: "";
  display: block;
  width: 9px;
  height: 16px;
  background: url(../img/step/arrow.svg) no-repeat left top/100% auto;
}
#step #section01 ol li:last-child:after {
  content: none;
}
#step #section01 ol li:last-child .text {
  padding-top: 10px;
}
#step #section01 ol .ribbon {
  width: 98px;
  height: 26px;
  line-height: 26px;
  margin: 0 auto 18px;
  background: url(../img/step/ribbon.svg) no-repeat left top/100% auto;
  font-family: "satoshi";
  color: #fff;
}
#step #section01 ol .ribbon span:first-child {
  font-size: 12px;
  margin-right: 5px;
}
#step #section01 ol .ribbon span:last-child {
  font-size: 14px;
}
#step #section01 ol .text {
  font-weight: bold;
  font-size: 20px;
  line-height: 1.6;
}
#step .reco_ttl {
  font-size: 20px;
  margin-bottom: 20px !important;
}
#step .reco_ttl i {
  margin-right: 10px !important;
  display: inline-block;
  position: relative;
  top: -1px;
}
#step #section02 {
  margin-bottom: 100px;
}
#step #section02 * {
  margin: 0;
}
#step #section02 .w1100 {
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 100px;
  border-bottom: dotted 3px #c8c4bb;
}
#step #section02 .step_list {
  margin-bottom: 65px;
}
#step #section02 .reco_list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0 38px;
  margin-bottom: 80px;
}
#step #section02 .reco_list a {
  display: block;
  background: #fff;
  height: 100%;
  border-radius: 0 20px;
  color: var(--black);
  text-decoration: none;
  padding: 18px 15px 20px 16px;
  transition: opacity 0.4s ease;
}
#step #section02 .reco_list a:hover {
  opacity: 0.6;
}
#step #section02 .reco_list .flex {
  align-items: center;
  margin-bottom: 20px;
}
#step #section02 .reco_list .flex .img {
  width: 150px;
}
#step #section02 .reco_list .flex .ttl {
  width: calc(100% - 150px);
  font-weight: bold;
  font-size: 16px;
  line-height: 1.6;
  padding-left: 15px;
}
#step #section02 .reco_list .text {
  font-size: 14px;
  line-height: 1.6;
  padding: 0 10px;
}
#step #section02 .w_btn {
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
#step #section02 .w_btn p {
  padding: 7px 0 0 18px;
  color: #fff;
  margin-left: auto;
  margin-right: 70px;
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  width: 280px;
  height: 74px;
  background: url(../img/step/fukidashi.png) no-repeat left top/100% auto;
}
#step #section03 {
  margin-bottom: 100px;
}
#step #section03 * {
  margin: 0;
}
#step #section03 .w1100 {
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 100px;
  border-bottom: dotted 3px #c8c4bb;
}
#step #section03 .step_list {
  margin-bottom: 75px;
}
#step #section03 .bg {
  background: url(../img/common/body_bg2.jpg);
  border-radius: 40px;
  padding: 65px 72px 72px;
}
#step #section03 .bg .w_ttl {
  position: relative;
  border-bottom: dotted 3px #3a938c;
  padding-bottom: 22px;
  margin-bottom: 45px;
}
#step #section03 .bg .w_ttl h3 {
  font-size: 24px;
}
#step #section03 .bg .w_ttl p {
  position: absolute;
  font-weight: bold;
  font-size: 14px;
  color: #fff;
  width: 184px;
  height: 79px;
  background: url(../img/step/fukidashi2.png) no-repeat left top/100% auto;
  right: 12px;
  bottom: 0;
  padding: 9px 0 0 18px;
}
#step #section03 .bg .text {
  font-size: 16px;
  line-height: 2;
  margin-bottom: 55px;
}
#step #section03 .bg .grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  counter-reset: number 0;
}
#step #section03 .bg .grid > div {
  background: #fff;
  border-radius: 0 30px;
  padding: 45px 50px;
}
#step #section03 .bg .grid h4 {
  position: relative;
  font-size: 20px;
  color: #3a938c;
  line-height: 1.6;
  margin-bottom: 28px;
  padding-left: 90px;
}
#step #section03 .bg .grid h4:before {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
  display: block;
  counter-increment: number 1;
  content: "0" counter(number);
  -webkit-text-stroke: 1px #3a938c;
  text-stroke: 1px #3a938c;
  font-family: "satoshi";
  font-size: 52px;
  color: transparent;
}
#step #section03 .bg .grid p {
  font-size: 15px;
  line-height: 2;
}
#step #section03 .bg .grid a {
  text-decoration: underline;
  color: #3a938c;
}
#step #section04 {
  margin-bottom: 100px;
}
#step #section04 * {
  margin: 0;
}
#step #section04 .w1100 {
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 120px;
  border-bottom: dotted 3px #c8c4bb;
}
#step #section04 .step_list {
  margin-bottom: 75px;
}
#step #section04 .bg {
  background: url(../img/common/body_bg2.jpg);
  border-radius: 40px;
  padding: 50px 72px;
}
#step #section04 .bg .inner {
  padding-top: 30px;
  padding-left: 500px;
  min-height: 278px;
  background: url(../img/step/bg01.png) no-repeat left center/449px auto;
}
#step #section04 .bg h3 {
  font-size: 24px;
  line-height: 1.333;
  margin-bottom: 20px;
}
#step #section04 .bg p {
  letter-spacing: 0;
  font-size: 16px;
  line-height: 2;
  margin-bottom: 30px;
}
#step #section05 {
  margin-bottom: 100px;
}
#step #section05 * {
  margin: 0;
}
#step #section05 .w1100 {
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 100px;
  border-bottom: dotted 3px #c8c4bb;
}
#step #section05 .step_list {
  margin-bottom: 65px;
}
#step #section05 .reco_list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 40px;
}
#step #section05 .reco_list a {
  display: block;
  background: #fff;
  height: 100%;
  border-radius: 0 20px;
  color: var(--black);
  text-decoration: none;
  padding: 20px 30px 20px 20px;
  transition: opacity 0.4s ease;
}
#step #section05 .reco_list a:hover {
  opacity: 0.6;
}
#step #section05 .reco_list .flex {
  align-items: center;
  margin-bottom: 20px;
}
#step #section05 .reco_list .flex .img {
  width: 246px;
}
#step #section05 .reco_list .flex .img img {
  width: 100%;
}
#step #section05 .reco_list .flex .ttl {
  width: calc(100% - 246px);
  font-weight: bold;
  font-size: 16px;
  line-height: 1.6;
  padding-left: 26px;
}
#step #section05 .reco_list .text {
  font-size: 14px;
  line-height: 1.6;
  padding: 0 10px;
}
#step #section06 * {
  margin: 0;
}
#step #section06 .w1100 {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 120px;
}
#step #section06 .w1100:after {
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  bottom: -26px;
  content: "";
  display: block;
  width: 148px;
  height: 38px;
  background: url(../img/step/arrow2.svg) no-repeat left top/100% auto;
}
#step #section07 {
  padding-top: 120px;
  padding-bottom: 260px;
  background: url(../img/common/body_bg2.jpg);
}
#step #section07 .bg {
  background: url(../img/step/bg02.png) no-repeat calc(50% + 80px) bottom/2050px auto;
  margin-bottom: 220px;
}
#step #section07 .w1100 {
  padding-bottom: 450px;
  position: relative;
}
#step #section07 .w1100:after {
  position: absolute;
  right: 0;
  bottom: -34px;
  content: "";
  display: block;
  width: 332px;
  height: 196px;
  background: url(../img/step/img01.png) no-repeat left top/100% auto;
}
#step #section07 .step_ttl .ribbon {
  color: #3a938c;
  background-image: url(../img/step/ribbon2.png);
  font-family: "satoshi";
  font-size: 15px;
  padding-top: 8px;
}

/*―――――――――――――――――――――――――*
*	1420px 以下
*―――――――――――――――――――――――――*/
@media screen and (min-width: 767px) and (max-width: 1420px) {
  #step #section01 .bg {
    max-width: 100%;
    width: 96vw;
    padding-left: 0;
    padding-right: 0;
  }
  #step #section01 ol {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
  }
}
/*―――――――――――――――――――――――――*
*	1150px 以下
*―――――――――――――――――――――――――*/
@media screen and (min-width: 767px) and (max-width: 1150px) {
  #step .lead {
    font-size: 1.478vw;
    line-height: 2;
  }
  #step .step_ttl {
    text-align: center;
  }
  #step .step_ttl .ribbon {
    display: block;
    color: #fff;
    font-family: "satoshi";
    background: url(../img/step/ribbon.png) no-repeat left top/100% auto;
    width: 17.565vw;
    height: 3.652vw;
    margin: 0 auto 36px !important;
    text-align: center;
    gap: 0 0.696vw;
    padding-top: 0.261vw;
  }
  #step .step_ttl .ribbon span:first-child {
    margin-right: 8px !important;
    font-size: 1.304vw;
    display: inline-block;
    position: relative;
    top: -0.087vw;
  }
  #step .step_ttl .ribbon span:last-child {
    font-size: 1.565vw;
  }
  #step .step_ttl .text {
    font-size: 2.957vw;
    line-height: 1.2;
  }
  #step .step_ttl + p {
    font-size: 1.739vw;
    font-weight: bold;
    text-align: center;
    margin-bottom: 65px !important;
  }
  #step .step_list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2.174vw 0;
    counter-reset: number 0;
  }
  #step .step_list li {
    position: relative;
    background: #fff;
    border-radius: 0 2.174vw;
    min-height: 13.913vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #step .step_list li:before {
    position: absolute;
    left: 3.478vw;
    top: 50%;
    transform: translate(0, -50%);
    counter-increment: number 1;
    content: "0" counter(number);
    font-family: "satoshi";
    display: block;
    width: 5.565vw;
    height: 5.565vw;
    background: url(../img/step/giza.svg) no-repeat center/cover;
    line-height: 5.565vw;
    color: #fff;
    text-align: center;
    font-size: 1.391vw;
  }
  #step .step_list .left {
    width: 40.87vw;
    padding-left: 12.174vw;
  }
  #step .step_list .right {
    width: calc(100% - 40.87vw);
    text-align: left;
    padding-right: 4.348vw;
  }
  #step .step_list .right p {
    font-size: 1.391vw;
    letter-spacing: 0;
    line-height: 2;
  }
  #step .step_list .right a {
    color: #3a938c;
    text-decoration: underline;
  }
  #step .step_list h3 {
    font-size: 2.087vw;
    line-height: 1.333;
    letter-spacing: 0.05em;
  }
  #step .step_list h3 .marker {
    background: linear-gradient(transparent 80%, #ffef6b 80%);
    display: inline-block;
    line-height: 1;
    padding-bottom: 0.174vw;
  }
  #step #under_mv {
    background-image: url(../img/step/mv.jpg);
  }
  #step #under_mv:after {
    background: #fff;
  }
  #step #section01 {
    margin-bottom: 10.435vw;
  }
  #step #section01 * {
    margin: 0;
  }
  #step #section01 .bg {
    max-width: 114.783vw;
    margin-left: auto;
    margin-right: auto;
    border-radius: 0 0 3.478vw 3.478vw;
    background: #fff;
    padding: 0 3vw 8.696vw;
  }
  #step #section01 .w_ttl03 {
    margin-bottom: 3.478vw;
  }
  #step #section01 .lead {
    text-align: center;
    margin-bottom: 4.783vw;
  }
  #step #section01 ol {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0 1.739vw;
  }
  #step #section01 ol li {
    position: relative;
    aspect-ratio: 1/1;
    text-align: center;
    background: url(../img/step/circle.svg) no-repeat center/cover;
    padding-top: 4.348vw;
  }
  #step #section01 ol li:after {
    position: absolute;
    right: -1.304vw;
    top: 50%;
    transform: translate(0, -50%);
    content: "";
    display: block;
    width: 0.783vw;
    height: 1.391vw;
    background: url(../img/step/arrow.svg) no-repeat left top/100% auto;
  }
  #step #section01 ol li:last-child:after {
    content: none;
  }
  #step #section01 ol li:last-child .text {
    padding-top: 0.87vw;
  }
  #step #section01 ol .ribbon {
    width: 8.522vw;
    height: 2.261vw;
    line-height: 2.261vw;
    margin: 0 auto 18px;
    background: url(../img/step/ribbon.svg) no-repeat left top/100% auto;
    font-family: "satoshi";
    color: #fff;
  }
  #step #section01 ol .ribbon span:first-child {
    font-size: 1.043vw;
    margin-right: 0.435vw;
  }
  #step #section01 ol .ribbon span:last-child {
    font-size: 1.217vw;
  }
  #step #section01 ol .text {
    font-weight: bold;
    font-size: 1.739vw;
    line-height: 1.6;
  }
  #step .reco_ttl {
    font-size: 1.739vw;
    margin-bottom: 20px !important;
  }
  #step .reco_ttl i {
    margin-right: 10px !important;
    display: inline-block;
    position: relative;
    top: -0.087vw;
  }
  #step #section02 {
    margin-bottom: 8.696vw;
  }
  #step #section02 * {
    margin: 0;
  }
  #step #section02 .w1100 {
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 8.696vw;
    border-bottom: dotted 3px #c8c4bb;
  }
  #step #section02 .step_list {
    margin-bottom: 5.652vw;
  }
  #step #section02 .reco_list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0 3.304vw;
    margin-bottom: 6.957vw;
  }
  #step #section02 .reco_list a {
    display: block;
    background: #fff;
    height: 100%;
    border-radius: 0 1.739vw;
    color: var(--black);
    text-decoration: none;
    padding: 1.565vw 1.304vw 1.739vw 1.391vw;
    transition: opacity 0.4s ease;
  }
  #step #section02 .reco_list a:hover {
    opacity: 0.6;
  }
  #step #section02 .reco_list .flex {
    align-items: center;
    margin-bottom: 1.739vw;
  }
  #step #section02 .reco_list .flex .img {
    width: 13.043vw;
  }
  #step #section02 .reco_list .flex .ttl {
    width: calc(100% - 13.043vw);
    font-weight: bold;
    font-size: 1.391vw;
    line-height: 1.6;
    padding-left: 1.304vw;
  }
  #step #section02 .reco_list .text {
    font-size: 1.217vw;
    line-height: 1.6;
    padding: 0 0.87vw;
  }
  #step #section02 .w_btn {
    max-width: 41.739vw;
    margin-left: auto;
    margin-right: auto;
    position: relative;
  }
  #step #section02 .w_btn p {
    padding: 0.609vw 0 0 1.565vw;
    color: #fff;
    margin-left: auto;
    margin-right: 6.087vw;
    font-size: 1.217vw;
    font-weight: bold;
    line-height: 1;
    width: 24.348vw;
    height: 6.435vw;
    background: url(../img/step/fukidashi.png) no-repeat left top/100% auto;
  }
  #step #section03 {
    margin-bottom: 8.696vw;
  }
  #step #section03 * {
    margin: 0;
  }
  #step #section03 .w1100 {
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 8.696vw;
    border-bottom: dotted 3px #c8c4bb;
  }
  #step #section03 .step_list {
    margin-bottom: 6.522vw;
  }
  #step #section03 .bg {
    background: url(../img/common/body_bg2.jpg);
    border-radius: 3.478vw;
    padding: 5.652vw 6.261vw 6.261vw;
  }
  #step #section03 .bg .w_ttl {
    position: relative;
    border-bottom: dotted 3px #3a938c;
    padding-bottom: 1.913vw;
    margin-bottom: 3.913vw;
  }
  #step #section03 .bg .w_ttl h3 {
    font-size: 2.087vw;
  }
  #step #section03 .bg .w_ttl p {
    position: absolute;
    font-weight: bold;
    font-size: 1.217vw;
    color: #fff;
    width: 16vw;
    height: 6.87vw;
    background: url(../img/step/fukidashi2.png) no-repeat left top/100% auto;
    right: 1.043vw;
    bottom: 0;
    padding: 0.783vw 0 0 1.565vw;
  }
  #step #section03 .bg .text {
    font-size: 1.391vw;
    line-height: 2;
    margin-bottom: 4.783vw;
  }
  #step #section03 .bg .grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3.478vw;
    counter-reset: number 0;
  }
  #step #section03 .bg .grid > div {
    background: #fff;
    border-radius: 0 2.609vw;
    padding: 3.913vw 4.348vw;
  }
  #step #section03 .bg .grid h4 {
    position: relative;
    font-size: 1.739vw;
    color: #3a938c;
    line-height: 1.6;
    margin-bottom: 2.435vw;
    padding-left: 7.826vw;
  }
  #step #section03 .bg .grid h4:before {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(0, -50%);
    display: block;
    counter-increment: number 1;
    content: "0" counter(number);
    -webkit-text-stroke: 1px #3a938c;
    text-stroke: 1px #3a938c;
    font-family: "satoshi";
    font-size: 4.522vw;
    color: transparent;
  }
  #step #section03 .bg .grid p {
    font-size: 1.304vw;
    line-height: 2;
  }
  #step #section04 {
    margin-bottom: 8.696vw;
  }
  #step #section04 * {
    margin: 0;
  }
  #step #section04 .w1100 {
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 10.435vw;
    border-bottom: dotted 3px #c8c4bb;
  }
  #step #section04 .step_list {
    margin-bottom: 6.522vw;
  }
  #step #section04 .bg {
    background: url(../img/common/body_bg2.jpg);
    border-radius: 3.478vw;
    padding: 4.348vw 6.261vw;
  }
  #step #section04 .bg .inner {
    padding-top: 2.609vw;
    padding-left: 43.478vw;
    min-height: 24.174vw;
    background: url(../img/step/bg01.png) no-repeat left center/39vw auto;
  }
  #step #section04 .bg h3 {
    font-size: 2.087vw;
    line-height: 1.333;
    margin-bottom: 1.739vw;
  }
  #step #section04 .bg p {
    letter-spacing: 0;
    font-size: 1.391vw;
    line-height: 2;
    margin-bottom: 2.609vw;
  }
  #step #section05 {
    margin-bottom: 8.696vw;
  }
  #step #section05 * {
    margin: 0;
  }
  #step #section05 .w1100 {
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 8.696vw;
    border-bottom: dotted 3px #c8c4bb;
  }
  #step #section05 .step_list {
    margin-bottom: 5.652vw;
  }
  #step #section05 .reco_list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 3.478vw;
  }
  #step #section05 .reco_list a {
    display: block;
    background: #fff;
    height: 100%;
    border-radius: 0 1.739vw;
    color: var(--black);
    text-decoration: none;
    padding: 1.739vw 2.609vw 1.739vw 1.739vw;
    transition: opacity 0.4s ease;
  }
  #step #section05 .reco_list a:hover {
    opacity: 0.6;
  }
  #step #section05 .reco_list .flex {
    align-items: center;
    margin-bottom: 1.739vw;
  }
  #step #section05 .reco_list .flex .img {
    width: 21.391vw;
  }
  #step #section05 .reco_list .flex .img img {
    width: 100%;
  }
  #step #section05 .reco_list .flex .ttl {
    width: calc(100% - 21.391vw);
    font-weight: bold;
    font-size: 1.391vw;
    line-height: 1.6;
    padding-left: 2.261vw;
  }
  #step #section05 .reco_list .text {
    font-size: 1.217vw;
    line-height: 1.6;
    padding: 0 0.87vw;
  }
  #step #section06 * {
    margin: 0;
  }
  #step #section06 .w1100 {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 10.435vw;
  }
  #step #section06 .w1100:after {
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
    bottom: -2.261vw;
    content: "";
    display: block;
    width: 12.87vw;
    height: 3.304vw;
    background: url(../img/step/arrow2.svg) no-repeat left top/100% auto;
  }
  #step #section07 {
    padding-top: 10.435vw;
    padding-bottom: 22.609vw;
    background: url(../img/common/body_bg2.jpg);
  }
  #step #section07 .bg {
    background: url(../img/step/bg02.png) no-repeat calc(50% + 6.9vw) bottom/178vw auto;
    margin-bottom: 19.13vw;
  }
  #step #section07 .w1100 {
    padding-bottom: 39.13vw;
    position: relative;
  }
  #step #section07 .w1100:after {
    position: absolute;
    right: 0;
    bottom: -2.957vw;
    content: "";
    display: block;
    width: 28.87vw;
    height: 17.043vw;
    background: url(../img/step/img01.png) no-repeat left top/100% auto;
  }
  #step #section07 .step_ttl .ribbon {
    color: #3a938c;
    background-image: url(../img/step/ribbon2.png);
    font-family: "satoshi";
    font-size: 1.304vw;
    padding-top: 0.696vw;
  }
}
/*―――――――――――――――――――――――――*
*	スマホ
*―――――――――――――――――――――――――*/
@media screen and (max-width: 767px) {
  #step #under_mv {
    background-image: url(../img/step/mv_sp.jpg);
  }
  #step .w_ttl03 {
    margin-bottom: 6.6666666667vw;
  }
  #step .w_ttl03 .ja {
    letter-spacing: 0;
    white-space: nowrap;
  }
  #step .w_ttl03 .satoshi {
    white-space: nowrap;
  }
  #step .lead {
    font-size: 3.4666666667vw;
    line-height: 2;
    letter-spacing: -0.025em;
  }
  #step #section01 {
    margin-bottom: 18.6666666667vw;
  }
  #step #section01 .bg {
    padding-left: 8vw;
    padding-right: 8vw;
    padding-bottom: 8vw;
    margin-left: 4vw;
    margin-right: 4vw;
    border-radius: 0 0 5.3333333333vw 5.3333333333vw;
  }
  #step #section01 .w_ttl03 {
    margin-bottom: 6.6666666667vw;
  }
  #step #section01 .lead {
    text-align: left;
    margin-bottom: 8vw;
  }
  #step #section01 ol {
    grid-template-columns: 1fr;
    gap: 4.2666666667vw 0;
  }
  #step #section01 ol li {
    background-image: url(../img/step/circle_sp.svg);
    background-size: 100% auto;
    aspect-ratio: auto;
    height: 21.8666666667vw;
    padding-top: 4.8vw;
  }
  #step #section01 ol li:after {
    right: auto;
    left: 50%;
    transform: translate(-50%, 0);
    top: auto;
    bottom: -3.2vw;
    width: 3.4666666667vw;
    height: 1.8666666667vw;
    background-image: url(../img/step/arrow_sp.svg);
  }
  #step #section01 ol li:last-child .text {
    padding-top: 0;
  }
  #step #section01 ol .ribbon {
    width: 18.4vw;
    height: 5.0666666667vw;
    line-height: 5.0666666667vw;
    margin-bottom: 2.1333333333vw;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #step #section01 ol .ribbon span:first-child {
    font-size: 2.6666666667vw;
    transform: scale(0.8);
    display: inline-block;
    margin-right: 0.2666666667vw;
  }
  #step #section01 ol .ribbon span:last-child {
    font-size: 2.6666666667vw;
  }
  #step #section01 ol .text {
    font-size: 3.7333333333vw;
  }
  #step #section01 ol .text br {
    display: none;
  }
  #step .step_ttl .ribbon {
    width: 34.6666666667vw;
    height: 7.4666666667vw;
    line-height: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom: 1.6vw;
    gap: 0 1.0666666667vw;
    margin-bottom: 5.3333333333vw !important;
  }
  #step .step_ttl .ribbon span:first-child {
    top: -0.2666666667vw;
    font-size: 2.6666666667vw;
    margin-right: 0 !important;
  }
  #step .step_ttl .ribbon span:last-child {
    font-size: 3.2vw;
  }
  #step .step_ttl .text {
    font-size: 5.8666666667vw;
  }
  #step .step_ttl + p {
    font-size: 3.4666666667vw;
    margin-bottom: 9.3333333333vw !important;
  }
  #step .step_list {
    padding-left: 4vw;
    padding-right: 4vw;
  }
  #step .step_list li {
    display: block;
    padding: 10.1333333333vw 8vw 9.3333333333vw;
    border-radius: 0 4vw;
  }
  #step .step_list li:before {
    left: -2.6666666667vw;
    top: -2.6666666667vw;
    width: 12.2666666667vw;
    height: 12.2666666667vw;
    line-height: 12.2666666667vw;
    font-size: 3.2vw;
    transform: none;
  }
  #step .step_list .left, #step .step_list .right {
    width: 100%;
  }
  #step .step_list .left {
    padding-left: 0;
    padding-bottom: 4.8vw;
  }
  #step .step_list .left h3 {
    font-size: 4.5333333333vw;
  }
  #step .step_list .left h3 br {
    display: none;
  }
  #step .step_list .right {
    padding-right: 0;
  }
  #step .step_list .right p {
    letter-spacing: 0;
    font-size: 3.4666666667vw;
    line-height: 2;
  }
  #step #section02 {
    margin-bottom: 16vw;
  }
  #step #section02 .w1100 {
    padding-bottom: 12vw;
  }
  #step #section02 .reco_ttl {
    display: none;
  }
  #step #section02 .reco_list {
    display: none;
  }
  #step #section02 .step_list {
    margin-bottom: 12vw;
  }
  #step #section02 .w_btn {
    padding-left: 8vw;
    padding-right: 8vw;
  }
  #step #section02 .w_btn p {
    font-size: 3.2vw;
    width: 64vw;
    height: 16.8vw;
    margin-right: 8vw;
    padding: 1.8666666667vw 0 0 4.8vw;
  }
  #step #section02 .w_btn .btn01 {
    padding-right: 4vw;
  }
  #step #section03 {
    margin-bottom: 16vw;
  }
  #step #section03 .w1100 {
    padding-bottom: 16vw;
  }
  #step #section03 .sp_none_marker {
    background: none !important;
  }
  #step #section03 .marker_sp {
    background: linear-gradient(transparent 80%, #ffef6b 80%);
    display: inline-block;
    line-height: 1;
    padding-bottom: 2px;
  }
  #step #section03 .step_list {
    margin-bottom: 13.3333333333vw;
  }
  #step #section03 .bg {
    padding: 8vw 4vw 4vw;
    border-radius: 5.3333333333vw;
  }
  #step #section03 .bg .w_ttl {
    margin-left: 4vw;
    margin-right: 4vw;
    padding-bottom: 5.8666666667vw;
    margin-bottom: 6.6666666667vw;
  }
  #step #section03 .bg .w_ttl h3 {
    font-size: 4.5333333333vw;
    line-height: 1.6;
  }
  #step #section03 .bg .w_ttl p {
    padding: 0.5333333333vw 0 0 4.2666666667vw;
    font-size: 2.6666666667vw;
    right: 0;
    width: 21.0666666667vw;
    height: 25.0666666667vw;
    background-image: url(../img/step/fukidashi2_sp.png);
  }
  #step #section03 .bg .text {
    padding-left: 4vw;
    padding-right: 4vw;
    font-size: 3.4666666667vw;
    margin-bottom: 8.5333333333vw;
  }
  #step #section03 .bg .grid {
    grid-template-columns: 1fr;
    gap: 4.2666666667vw 0;
  }
  #step #section03 .bg .grid > div {
    border-radius: 0 5.3333333333vw;
    padding: 7.4666666667vw 7.4666666667vw;
  }
  #step #section03 .bg .grid h4 {
    font-size: 4.2666666667vw;
    padding-left: 18.1333333333vw;
    margin-bottom: 4.8vw;
  }
  #step #section03 .bg .grid h4:before {
    font-size: 10.6666666667vw;
  }
  #step #section03 .bg .grid p {
    font-size: 3.4666666667vw;
    line-height: 2;
    letter-spacing: 0;
  }
  #step #section04 {
    margin-bottom: 16vw;
  }
  #step #section04 .w1100 {
    padding-bottom: 16vw;
  }
  #step #section04 .step_list {
    margin-bottom: 13.3333333333vw;
  }
  #step #section04 .bg {
    border-radius: 5.3333333333vw;
    padding: 4vw 4vw 8vw;
  }
  #step #section04 .bg .inner {
    padding-left: 0;
    padding-top: 60vw;
    background: url(../img/step/bg01_sp.png) no-repeat left top/100% auto;
  }
  #step #section04 .bg h3 {
    font-size: 4.5333333333vw;
    padding: 0 4vw;
    margin-bottom: 5.3333333333vw;
  }
  #step #section04 .bg p {
    font-size: 3.4666666667vw;
    padding-left: 4vw;
    padding-right: 4vw;
    margin-bottom: 5.3333333333vw;
  }
  #step #section04 .bg .btn02 {
    margin-left: auto;
    margin-right: auto;
  }
  #step #section05 {
    margin-bottom: 16vw;
  }
  #step #section05 .step_list {
    margin-bottom: 0;
  }
  #step #section05 .reco_list, #step #section05 .reco_ttl {
    display: none;
  }
  #step #section05 .w1100 {
    padding-bottom: 16vw;
  }
  #step #section06 .w1100 {
    padding-bottom: 18.6666666667vw;
  }
  #step #section06 .w1100:after {
    width: 32vw;
    height: 8vw;
    bottom: -5.6vw;
  }
  #step #section07 {
    padding-top: 12vw;
    padding-bottom: 24vw;
  }
  #step #section07 .bg {
    background-size: 273.3333333333vw auto;
    background-position: calc(50% + 28.5333333333vw) bottom;
    margin-bottom: 34.6666666667vw;
  }
  #step #section07 .w1100 {
    padding-bottom: 58.6666666667vw;
  }
  #step #section07 .w1100:after {
    width: 44.2666666667vw;
    height: 26.1333333333vw;
    right: 4vw;
    bottom: -9.0666666667vw;
  }
  #step #section07 .step_ttl .ribbon {
    padding-top: 0.5333333333vw;
    font-size: 2.6666666667vw;
  }
}
#company {
  padding-bottom: 270px;
}
#company #under_mv {
  background-image: url(../img/company/mv.jpg);
}
#company #section01 {
  margin-bottom: 100px;
}
#company #section01 .w_ttl04 {
  margin-bottom: 60px;
}
#company #section01 .bg {
  padding-top: 440px;
  background: url(../img/company/img01.png) no-repeat left top/100% auto;
}
#company #section01 h3 {
  position: relative;
  width: 520px;
  background: url(../img/common/body_bg.jpg);
  font-size: 28px;
  padding: 45px 0 0 0;
  border-radius: 0 25px 0 0;
  letter-spacing: 0.05em;
  margin-bottom: 35px;
  line-height: 1.6;
}
#company #section01 h3:before, #company #section01 h3:after {
  position: absolute;
  content: "";
  display: block;
  width: 12px;
  height: 12px;
}
#company #section01 h3:before {
  background: url(../img/company/curve01.png) no-repeat left top/100% auto;
  left: 0;
  top: -12px;
}
#company #section01 h3:after {
  background: url(../img/company/curve02.png) no-repeat left top/100% auto;
  right: -12px;
  top: 40px;
}
#company #section01 p {
  font-size: 16px;
  line-height: 2;
}
#company #section01 .name {
  font-size: 14px;
  max-width: fit-content;
  margin-left: auto;
  margin-top: 35px;
}
#company #section02 {
  margin-bottom: 110px;
}
#company #section02 .right {
  text-align: left;
}
#company #section02 * {
  margin: 0;
}
#company #section02 .w1320, #company #section02 .w1100 {
  margin-left: auto;
  margin-right: auto;
}
#company #section02 .bg {
  position: relative;
  z-index: 1;
  border-radius: 40px;
  padding: 100px 0;
  background: #fff;
}
#company #section02 .w_ttl04 {
  margin-bottom: 60px;
}
#company #section02 .right_content .staff_box:last-child {
  margin-bottom: 0;
}
#company #section02 .staff_box {
  background: #e7f4f3;
  border-radius: 30px;
  padding: 50px;
  margin-bottom: 40px;
}
#company #section02 .staff_header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  line-height: 1.2;
  margin-bottom: 40px;
}
#company #section02 .staff_header .w_name {
  position: relative;
  padding-left: 28px;
}
#company #section02 .staff_header .w_name:before {
  position: absolute;
  left: 0;
  content: "";
  display: block;
  width: 5px;
  height: 100%;
  border-radius: 10px;
  background: #86c7c2;
}
#company #section02 .staff_header .w_name .name {
  font-size: 28px;
  letter-spacing: 0.1em;
}
#company #section02 .staff_header .w_name .position {
  position: relative;
  top: -5px;
  font-size: 12px;
  color: #fff;
  display: inline-block;
  height: 24px;
  line-height: 24px;
  text-align: center;
  margin-left: 16px;
  border-radius: 50px;
  padding: 0 15px;
  background: #49b0a8;
}
#company #section02 .staff_header .w_name .en {
  font-size: 14px;
  font-family: "satoshi";
  letter-spacing: 0.15em;
  margin-top: 5px;
}
#company #section02 .staff_header .right {
  font-size: 13px;
  font-weight: bold;
}
#company #section02 .staff_header .right > p, #company #section02 .staff_header .right > .flex {
  margin-bottom: 10px;
}
#company #section02 .staff_header .right > p:last-child, #company #section02 .staff_header .right > .flex:last-child {
  margin-bottom: 0;
}
#company #section02 .staff_header .right .flex p:nth-child(2) {
  padding-left: 14px;
  margin-left: 14px;
  border-left: solid 1px #cfdbda;
}
#company #section02 .staff_header .right .c_green {
  color: #3a938c;
}
#company #section02 .content01 {
  display: flex;
  justify-content: space-between;
  margin-bottom: 40px;
}
#company #section02 .content01 .left {
  width: 280px;
}
#company #section02 .content01 .right {
  width: calc(100% - 280px);
  padding-left: 55px;
  font-size: 16px;
  line-height: 2;
}
#company #section02 .content02 {
  background: #fff;
  padding: 25px 45px 30px;
}
#company #section02 .content02 h3 {
  font-size: 17px;
  color: #3a938c;
  margin-bottom: 10px;
}
#company #section02 .content02 p {
  font-size: 15px;
  line-height: 2;
}
#company #section03 table {
  font-size: 16px;
  line-height: 1.6;
  width: 100%;
  border-top: solid 1px rgba(106, 91, 78, 0.3);
}
#company #section03 table tr {
  border-bottom: solid 1px rgba(106, 91, 78, 0.3);
}
#company #section03 table th {
  width: 230px;
  color: #3a938c;
}
#company #section03 table th, #company #section03 table td {
  vertical-align: top;
  text-align: left;
  padding: 27px 18px;
}

/*―――――――――――――――――――――――――*
*	1420px 以下
*―――――――――――――――――――――――――*/
/*―――――――――――――――――――――――――*
*	1150px 以下
*―――――――――――――――――――――――――*/
@media screen and (min-width: 767px) and (max-width: 1150px) {
  #company {
    padding-bottom: 23.478vw;
  }
  #company #under_mv {
    background-image: url(../img/company/mv.jpg);
  }
  #company #section01 {
    margin-bottom: 8.696vw;
  }
  #company #section01 .w_ttl04 {
    margin-bottom: 5.217vw;
  }
  #company #section01 .bg {
    padding-top: 38.261vw;
    background: url(../img/company/img01.png) no-repeat left top/100% auto;
  }
  #company #section01 h3 {
    position: relative;
    width: 45.217vw;
    background: url(../img/common/body_bg.jpg);
    font-size: 2.435vw;
    padding: 3.913vw 0 0 0;
    border-radius: 0 2.174vw 0 0;
    letter-spacing: 0.05em;
    margin-bottom: 3.043vw;
    line-height: 1.6;
  }
  #company #section01 h3:before, #company #section01 h3:after {
    position: absolute;
    content: "";
    display: block;
    width: 1.043vw;
    height: 1.043vw;
  }
  #company #section01 h3:before {
    background: url(../img/company/curve01.png) no-repeat left top/100% auto;
    left: 0;
    top: -1.043vw;
  }
  #company #section01 h3:after {
    background: url(../img/company/curve02.png) no-repeat left top/100% auto;
    right: -1.043vw;
    top: 3.478vw;
  }
  #company #section01 p {
    font-size: 1.391vw;
    line-height: 2;
  }
  #company #section01 .name {
    font-size: 1.217vw;
    max-width: fit-content;
    margin-left: auto;
    margin-top: 3.043vw;
  }
  #company #section02 {
    margin-bottom: 9.565vw;
  }
  #company #section02 .right {
    text-align: left;
  }
  #company #section02 * {
    margin: 0;
  }
  #company #section02 .w1320, #company #section02 .w1100 {
    margin-left: auto;
    margin-right: auto;
  }
  #company #section02 .bg {
    position: relative;
    z-index: 1;
    border-radius: 3.478vw;
    padding: 8.696vw 0;
    background: #fff;
  }
  #company #section02 .w_ttl04 {
    margin-bottom: 5.217vw;
  }
  #company #section02 .right_content .staff_box:last-child {
    margin-bottom: 0;
  }
  #company #section02 .staff_box {
    background: #e7f4f3;
    border-radius: 2.609vw;
    padding: 4.348vw;
    margin-bottom: 3.478vw;
  }
  #company #section02 .staff_header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    line-height: 1.2;
    margin-bottom: 3.478vw;
  }
  #company #section02 .staff_header .w_name {
    position: relative;
    padding-left: 2.435vw;
  }
  #company #section02 .staff_header .w_name:before {
    position: absolute;
    left: 0;
    content: "";
    display: block;
    width: 0.435vw;
    height: 100%;
    border-radius: 0.87vw;
    background: #86c7c2;
  }
  #company #section02 .staff_header .w_name .name {
    font-size: 2.435vw;
    letter-spacing: 0.1em;
  }
  #company #section02 .staff_header .w_name .position {
    position: relative;
    top: -0.435vw;
    font-size: 1.043vw;
    color: #fff;
    display: inline-block;
    height: 2.087vw;
    line-height: 2.087vw;
    text-align: center;
    margin-left: 1.391vw;
    border-radius: 4.348vw;
    padding: 0 1.304vw;
    background: #49b0a8;
  }
  #company #section02 .staff_header .w_name .en {
    font-size: 1.217vw;
    font-family: "satoshi";
    letter-spacing: 0.15em;
    margin-top: 0.435vw;
  }
  #company #section02 .staff_header .right {
    font-size: 1.13vw;
    font-weight: bold;
  }
  #company #section02 .staff_header .right > p, #company #section02 .staff_header .right > .flex {
    margin-bottom: 0.87vw;
  }
  #company #section02 .staff_header .right > p:last-child, #company #section02 .staff_header .right > .flex:last-child {
    margin-bottom: 0;
  }
  #company #section02 .staff_header .right .flex p:nth-child(2) {
    padding-left: 1.217vw;
    margin-left: 1.217vw;
    border-left: solid 1px #cfdbda;
  }
  #company #section02 .staff_header .right .c_green {
    color: #3a938c;
  }
  #company #section02 .content01 {
    display: flex;
    justify-content: space-between;
    margin-bottom: 3.478vw;
  }
  #company #section02 .content01 .left {
    width: 24.348vw;
  }
  #company #section02 .content01 .right {
    width: calc(100% - 24.348vw);
    padding-left: 4.783vw;
    font-size: 1.391vw;
    line-height: 2;
  }
  #company #section02 .content02 {
    background: #fff;
    padding: 2.174vw 3.913vw 2.609vw;
  }
  #company #section02 .content02 h3 {
    font-size: 1.478vw;
    color: #3a938c;
    margin-bottom: 0.87vw;
  }
  #company #section02 .content02 p {
    font-size: 1.304vw;
    line-height: 2;
  }
  #company #section03 table {
    font-size: 1.391vw;
    line-height: 1.6;
    width: 100%;
    border-top: solid 1px rgba(106, 91, 78, 0.3);
  }
  #company #section03 table tr {
    border-bottom: solid 1px rgba(106, 91, 78, 0.3);
  }
  #company #section03 table th {
    width: 20vw;
    color: #3a938c;
  }
  #company #section03 table th, #company #section03 table td {
    vertical-align: top;
    text-align: left;
    padding: 2.348vw 1.565vw;
  }
  #company #section01 .side_nav_content .left_nav, #company #section03 .side_nav_content .left_nav {
    padding-left: 4vw;
  }
}
/*―――――――――――――――――――――――――*
*	スマホ
*―――――――――――――――――――――――――*/
@media screen and (max-width: 767px) {
  #company {
    padding-bottom: 24vw;
  }
  #company #under_mv {
    background-image: url(../img/company/mv_sp.jpg);
  }
  #company #section01 {
    margin-bottom: 21.3333333333vw;
  }
  #company #section01 .bg {
    padding-top: 46.5%;
  }
  #company #section01 h3 {
    font-size: 4.8vw;
    width: 80vw;
    padding-top: 8vw;
    padding-left: 4vw;
    margin-bottom: 5.3333333333vw;
    border-radius: 0 2.6666666667vw 0 0;
  }
  #company #section01 h3:before, #company #section01 h3:after {
    width: 1.6vw;
    height: 1.6vw;
  }
  #company #section01 h3:before {
    top: -1.3333333333vw;
  }
  #company #section01 h3:after {
    right: -1.6vw;
    top: 7.7333333333vw;
  }
  #company #section01 p {
    margin: 0;
    font-size: 3.4666666667vw;
    line-height: 2;
    padding-left: 4vw;
    padding-right: 4vw;
  }
  #company #section01 .name {
    font-size: 2.9333333333vw;
    margin-top: 8vw;
    padding-right: 4vw;
  }
  #company #section02 {
    margin-bottom: 21.3333333333vw;
  }
  #company #section02 .bg {
    border-radius: 5.3333333333vw;
    padding: 12vw 0 4.8vw;
  }
  #company #section02 .staff_box {
    border-radius: 5.3333333333vw;
    padding: 9.3333333333vw 4vw 4vw;
    margin-bottom: 8vw;
  }
  #company #section02 .staff_box .staff_header {
    padding: 0 4vw;
    display: block;
    letter-spacing: 0;
    margin-bottom: 6.9333333333vw;
  }
  #company #section02 .staff_box .staff_header .right {
    font-size: 3.2vw;
  }
  #company #section02 .staff_box .staff_header .right p {
    margin-bottom: 2.1333333333vw;
  }
  #company #section02 .staff_box .staff_header .flex {
    margin-bottom: 0;
    display: block;
  }
  #company #section02 .staff_box .staff_header .flex p:last-child {
    padding-left: 0;
    margin-left: 0;
    border-left: 0;
  }
  #company #section02 .staff_box .w_name {
    padding-left: 4vw;
    margin-bottom: 6.9333333333vw;
    padding-top: 0.5333333333vw;
  }
  #company #section02 .staff_box .w_name:before {
    width: 1.0666666667vw;
  }
  #company #section02 .staff_box .w_name .name {
    font-size: 5.3333333333vw;
  }
  #company #section02 .staff_box .w_name .position {
    font-size: 2.6666666667vw;
    height: 5.3333333333vw;
    line-height: 5.3333333333vw;
    padding: 0 2.6666666667vw;
    margin-left: 2.6666666667vw;
    letter-spacing: 0;
    top: -0.8vw;
  }
  #company #section02 .staff_box .w_name .en {
    font-size: 3.2vw;
  }
  #company #section02 .staff_box .content01 {
    display: block;
    padding: 0 4vw;
    margin-bottom: 6.6666666667vw;
  }
  #company #section02 .staff_box .content01 .left, #company #section02 .staff_box .content01 .right {
    width: 100%;
  }
  #company #section02 .staff_box .content01 .left img, #company #section02 .staff_box .content01 .right img {
    width: 100%;
  }
  #company #section02 .staff_box .content01 .right {
    padding-top: 6.6666666667vw;
    padding-left: 0;
    font-size: 3.4666666667vw;
  }
  #company #section02 .staff_box .content02 {
    padding: 6.6666666667vw 8vw;
  }
  #company #section02 .staff_box .content02 h3 {
    font-size: 3.7333333333vw;
    margin-bottom: 2.6666666667vw;
  }
  #company #section02 .staff_box .content02 p {
    font-size: 3.2vw;
  }
  #company #section03 .w1100 {
    padding-left: 8vw;
    padding-right: 8vw;
  }
  #company #section03 table {
    font-size: 3.4666666667vw;
    line-height: 1.6;
  }
  #company #section03 table th, #company #section03 table td {
    padding: 4.8vw 0;
  }
  #company #section03 table th {
    width: 34.6666666667vw;
  }
}
#city {
  padding-bottom: 270px;
}
#city .island_map {
  position: sticky;
  top: 120px;
}
#city #under_mv {
  background-image: url(../img/city/mv.jpg);
}
#city #section01 {
  margin-bottom: 120px;
}
#city #section01 * {
  margin: 0;
}
#city #section01 .w1100 {
  margin-left: auto;
  margin-right: auto;
}
#city #section01 .w_ttl03 {
  margin-bottom: 90px;
}
#city #section01 .flex {
  display: flex;
  justify-content: space-between;
}
#city #section01 .flex .left {
  width: 544px;
}
#city #section01 .flex .right {
  text-align: left;
  width: 510px;
}
#city #section01 ul {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px 0;
  counter-reset: number 0;
}
#city #section01 ul li {
  background: #fff;
  border-radius: 0 30px;
  padding: 35px 35px 45px;
}
#city #section01 ul h3 {
  position: relative;
  font-size: 20px;
  line-height: 1.6;
  margin-bottom: 20px;
  padding-left: 80px;
  padding-right: 15px;
}
#city #section01 ul h3:before {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
  counter-increment: number 1;
  content: "0" counter(number);
  font-family: "satoshi";
  display: block;
  width: 60px;
  height: 60px;
  background: url(../img/step/giza.svg) no-repeat center/cover;
  line-height: 64px;
  color: #fff;
  text-align: center;
  font-size: 16px;
}
#city #section01 ul p {
  font-size: 15px;
  line-height: 2;
}
#city #section02 {
  margin-bottom: 120px;
}
#city #section02 * {
  margin: 0;
}
#city #section02 .w_ttl03 {
  margin-bottom: 70px;
}
#city #section02 .w1320 {
  margin-left: auto;
  margin-right: auto;
}
#city #section02 .bg {
  background: #fff;
  border-radius: 40px;
  padding: 120px 110px 110px;
}
#city #section02 .bg .box:last-child {
  margin-bottom: 0;
}
#city #section02 .box {
  overflow: hidden;
  background: #e7f4f3;
  border-radius: 30px;
  display: flex;
  justify-content: space-between;
  margin-bottom: 40px;
}
#city #section02 .box:before {
  content: "";
  display: block;
  width: 410px;
}
#city #section02 .box .w_content {
  width: calc(100% - 410px);
  padding: 40px 50px 20px 60px;
  min-height: 629px;
}
#city #section02 .box .w_ttl {
  margin-bottom: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
#city #section02 .box .w_ttl h3 {
  position: relative;
  font-size: 32px;
}
#city #section02 .box .w_ttl h3:before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 32px;
  border-radius: 10px;
  background: #86c7c2;
  margin-right: 20px;
  position: relative;
  top: 4px;
}
#city #section02 .box .w_ttl .btn05 {
  font-size: 14px;
  padding-right: 42px;
}
#city #section02 .box .w_ttl .btn05:before {
  width: 32px;
  height: 32px;
}
#city #section02 .box table {
  font-size: 15px;
  line-height: 2;
  width: 100%;
}
#city #section02 .box table tr {
  border-bottom: solid 1px rgba(106, 91, 78, 0.3);
}
#city #section02 .box table th {
  width: 190px;
  color: #3a938c;
}
#city #section02 .box table th, #city #section02 .box table td {
  vertical-align: top;
  text-align: left;
  padding: 13px 12px;
}
#city #section02 .box table td {
  padding-left: 0;
  padding-right: 0;
}
#city #section02 .img01:before {
  background: url(../img/city/img01.jpg) no-repeat left top/100% auto;
}
#city #section02 .img02:before {
  background: url(../img/city/img02.jpg) no-repeat left top/100% auto;
}
#city #section02 .img03:before {
  background: url(../img/city/img03.jpg) no-repeat left top/100% auto;
}
#city #section02 .img04:before {
  background: url(../img/city/img04.jpg) no-repeat left top/100% auto;
}
#city #section02 .img05:before {
  background: url(../img/city/img05.jpg) no-repeat left top/100% auto;
}
#city #section03 * {
  margin: 0;
}
#city #section03 .w1100 {
  margin-left: auto;
  margin-right: auto;
}
#city #section03 .w_ttl03 {
  margin-bottom: 65px;
}
#city #section03 ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 30px 25px;
  counter-reset: number 0;
  margin-bottom: 45px;
}
#city #section03 ul li {
  width: 348px;
}
#city #section03 ul a {
  position: relative;
  display: flex;
  background: #fff url(../img/city/arrow.svg) no-repeat right 20px center/15px auto;
  text-decoration: none;
  min-height: 120px;
  border-radius: 20px 0;
  align-items: center;
  font-weight: bold;
  font-size: 16px;
  line-height: 1.6;
  padding-left: 76px;
  letter-spacing: 0.05em;
  transition: opacity 0.4s ease;
  color: var(--black);
}
#city #section03 ul a:hover {
  opacity: 0.6;
}
#city #section03 ul a:before {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 20px;
  content: "Q";
  font-size: 20px;
  font-family: "satoshi";
  display: block;
  width: 40px;
  border-radius: 50%;
  height: 40px;
  background: #49b0a8;
  color: #fff;
  text-align: center;
  line-height: 40px;
}
#city #section03 ul a span {
  color: #ffe866;
}
#city #section03 .btn05 {
  display: block;
  max-width: fit-content;
  margin-left: auto;
}

/*―――――――――――――――――――――――――*
*	1420px 以下
*―――――――――――――――――――――――――*/
/*―――――――――――――――――――――――――*
*	1150px 以下
*―――――――――――――――――――――――――*/
@media screen and (min-width: 767px) and (max-width: 1150px) {
  #city {
    padding-bottom: 23.478vw;
  }
  #city #under_mv {
    background-image: url(../img/city/mv.jpg);
  }
  #city #section01 {
    margin-bottom: 10.435vw;
  }
  #city #section01 * {
    margin: 0;
  }
  #city #section01 .w1100 {
    margin-left: auto;
    margin-right: auto;
  }
  #city #section01 .w_ttl03 {
    margin-bottom: 7.826vw;
  }
  #city #section01 .flex {
    display: flex;
    justify-content: space-between;
  }
  #city #section01 .flex .left {
    width: 47.304vw;
  }
  #city #section01 .flex .right {
    text-align: left;
    width: 44.348vw;
  }
  #city #section01 ul {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2.609vw 0;
    counter-reset: number 0;
  }
  #city #section01 ul li {
    background: #fff;
    border-radius: 0 2.609vw;
    padding: 3.043vw 3.043vw 3.913vw;
  }
  #city #section01 ul h3 {
    position: relative;
    font-size: 1.739vw;
    line-height: 1.6;
    margin-bottom: 1.739vw;
    padding-left: 6.957vw;
    padding-right: 1.304vw;
  }
  #city #section01 ul h3:before {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(0, -50%);
    counter-increment: number 1;
    content: "0" counter(number);
    font-family: "satoshi";
    display: block;
    width: 5.217vw;
    height: 5.217vw;
    background: url(../img/step/giza.svg) no-repeat center/cover;
    line-height: 5.565vw;
    color: #fff;
    text-align: center;
    font-size: 1.391vw;
  }
  #city #section01 ul p {
    font-size: 1.304vw;
    line-height: 2;
  }
  #city #section02 {
    margin-bottom: 10.435vw;
  }
  #city #section02 * {
    margin: 0;
  }
  #city #section02 .w_ttl03 {
    margin-bottom: 6.087vw;
  }
  #city #section02 .w1320 {
    margin-left: auto;
    margin-right: auto;
  }
  #city #section02 .bg {
    background: #fff;
    border-radius: 3.478vw;
    padding: 10.435vw 3vw 9.565vw;
  }
  #city #section02 .bg .box:last-child {
    margin-bottom: 0;
  }
  #city #section02 .box {
    overflow: hidden;
    background: #e7f4f3;
    border-radius: 2.609vw;
    display: flex;
    justify-content: space-between;
    margin-bottom: 3.478vw;
  }
  #city #section02 .box:before {
    content: "";
    display: block;
    width: 35.652vw;
  }
  #city #section02 .box .w_content {
    width: calc(100% - 35.652vw);
    padding: 3.478vw 4vw 1.739vw 3vw;
    min-height: 54.696vw;
  }
  #city #section02 .box .w_ttl {
    margin-bottom: 3.478vw;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  #city #section02 .box .w_ttl h3 {
    position: relative;
    font-size: 2.783vw;
  }
  #city #section02 .box .w_ttl h3:before {
    content: "";
    display: inline-block;
    width: 0.435vw;
    height: 2.783vw;
    border-radius: 0.87vw;
    background: #86c7c2;
    margin-right: 1.739vw;
    position: relative;
    top: 0.348vw;
  }
  #city #section02 .box .w_ttl .btn05 {
    font-size: 1.217vw;
    padding-right: 3.652vw;
  }
  #city #section02 .box .w_ttl .btn05:before {
    width: 2.783vw;
    height: 2.783vw;
  }
  #city #section02 .box table {
    font-size: 1.304vw;
    line-height: 2;
    width: 100%;
  }
  #city #section02 .box table tr {
    border-bottom: solid 1px rgba(106, 91, 78, 0.3);
  }
  #city #section02 .box table th {
    width: 16.522vw;
    color: #3a938c;
  }
  #city #section02 .box table th, #city #section02 .box table td {
    vertical-align: top;
    text-align: left;
    padding: 1.13vw 1.043vw;
  }
  #city #section02 .box table td {
    padding-left: 0;
    padding-right: 0;
  }
  #city #section02 .img01:before {
    background: url(../img/city/img01.jpg) no-repeat left top/cover;
  }
  #city #section02 .img02:before {
    background: url(../img/city/img02.jpg) no-repeat left top/cover;
  }
  #city #section02 .img03:before {
    background: url(../img/city/img03.jpg) no-repeat left top/cover;
  }
  #city #section02 .img04:before {
    background: url(../img/city/img04.jpg) no-repeat left top/cover;
  }
  #city #section02 .img05:before {
    background: url(../img/city/img05.jpg) no-repeat left top/cover;
  }
  #city #section03 * {
    margin: 0;
  }
  #city #section03 .w1100 {
    margin-left: auto;
    margin-right: auto;
  }
  #city #section03 .w_ttl03 {
    margin-bottom: 5.652vw;
  }
  #city #section03 ul {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 2.609vw 2.174vw;
    counter-reset: number 0;
    margin-bottom: 3.913vw;
  }
  #city #section03 ul li {
    width: 30.261vw;
  }
  #city #section03 ul a {
    position: relative;
    display: flex;
    background: #fff url(../img/city/arrow.svg) no-repeat right 1.74vw center/1.3vw auto;
    text-decoration: none;
    min-height: 10.435vw;
    border-radius: 1.739vw 0;
    align-items: center;
    font-weight: bold;
    font-size: 1.391vw;
    line-height: 1.6;
    padding-left: 6.609vw;
    letter-spacing: 0.05em;
    transition: opacity 0.4s ease;
    color: var(--black);
  }
  #city #section03 ul a:hover {
    opacity: 0.6;
  }
  #city #section03 ul a:before {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    left: 1.739vw;
    content: "Q";
    font-size: 1.739vw;
    font-family: "satoshi";
    display: block;
    width: 3.478vw;
    border-radius: 50%;
    height: 3.478vw;
    background: #49b0a8;
    color: #fff;
    text-align: center;
    line-height: 3.478vw;
  }
  #city #section03 ul a span {
    color: #ffe866;
  }
  #city #section03 .btn05 {
    display: block;
    max-width: fit-content;
    margin-left: auto;
  }
}
/*―――――――――――――――――――――――――*
*	スマホ
*―――――――――――――――――――――――――*/
@media screen and (min-width: 768px) {
  #city #section01 ul div {
    display: block !important;
  }
}
@media screen and (max-width: 767px) {
  #city {
    padding-bottom: 24vw;
  }
  #city #under_mv {
    background-image: url(../img/city/mv_sp.jpg);
  }
  #city #section01 {
    margin-bottom: 16vw;
  }
  #city #section01 .w_ttl03 {
    margin-bottom: 10.6666666667vw;
  }
  #city #section01 .w_ttl03 .satoshi {
    bottom: -0.8vw;
  }
  #city #section01 .flex {
    flex-wrap: wrap;
    flex-direction: column-reverse;
  }
  #city #section01 .flex .left, #city #section01 .flex .right {
    width: 100%;
  }
  #city #section01 .flex .right {
    margin-bottom: 21.3333333333vw;
  }
  #city #section01 ul {
    gap: 4vw 0;
  }
  #city #section01 ul li {
    padding: 0 4vw 0;
    border-radius: 0 5.3333333333vw;
  }
  #city #section01 ul div {
    position: relative;
  }
  #city #section01 ul div.on {
    border-bottom: none;
  }
  #city #section01 ul div.on:after {
    opacity: 0;
  }
  #city #section01 ul div:before, #city #section01 ul div:after {
    right: 0;
    top: 50%;
    position: absolute;
    content: "";
    display: block;
    background: var(--black);
    width: 3.4666666667vw;
    height: 0.5333333333vw;
  }
  #city #section01 ul div:after {
    transform: rotate(90deg);
  }
  #city #section01 ul h3 {
    font-size: 4.2666666667vw;
    margin-bottom: 0;
    padding-top: 5.8666666667vw;
    padding-bottom: 5.8666666667vw;
    padding-right: 12vw;
    padding-left: 18.1333333333vw;
    cursor: pointer;
  }
  #city #section01 ul h3:before {
    width: 13.3333333333vw;
    height: 13.3333333333vw;
    line-height: 13.3333333333vw;
    font-size: 3.4666666667vw;
  }
  #city #section01 ul p {
    display: none;
    font-size: 3.4666666667vw;
    padding: 0 4vw 6.6666666667vw;
  }
  #city #section02 {
    margin-bottom: 21.3333333333vw;
  }
  #city #section02 .bg {
    border-radius: 5.3333333333vw;
    padding: 13.3333333333vw 4vw 4vw;
  }
  #city #section02 .w_ttl03 {
    margin-bottom: 9.3333333333vw;
  }
  #city #section02 .box {
    position: relative;
    display: block;
    border-radius: 5.3333333333vw;
  }
  #city #section02 .box:before {
    height: 52vw;
    width: 100%;
  }
  #city #section02 .box .w_content {
    width: 100%;
    padding: 8vw 8vw 18.1333333333vw;
  }
  #city #section02 .box .w_ttl {
    margin-bottom: 2.6666666667vw;
  }
  #city #section02 .box .w_ttl h3 {
    font-size: 5.3333333333vw;
    line-height: 1.2;
  }
  #city #section02 .box .w_ttl h3:before {
    height: 6.9333333333vw;
    top: 1.3333333333vw;
    width: 1.0666666667vw;
    margin-right: 4vw;
  }
  #city #section02 .box .w_ttl .btn05 {
    position: absolute;
    right: 8vw;
    bottom: 5.3333333333vw;
  }
  #city #section02 .box .w_ttl .btn05:before {
    width: 7.4666666667vw;
    height: 7.4666666667vw;
  }
  #city #section02 .box table {
    font-size: 3.4666666667vw;
    line-height: 2;
  }
  #city #section02 .box table tr, #city #section02 .box table th, #city #section02 .box table td {
    display: block;
    width: 100%;
    padding: 0;
  }
  #city #section02 .box table th {
    padding-top: 4vw;
    margin-bottom: 0.8vw;
  }
  #city #section02 .box table td {
    padding-bottom: 4vw;
  }
  #city #section02 .img01:before {
    background: url(../img/city/img01_sp.jpg) no-repeat left top/cover;
  }
  #city #section02 .img02:before {
    background: url(../img/city/img02_sp.jpg) no-repeat left top/cover;
  }
  #city #section02 .img03:before {
    background: url(../img/city/img03_sp.jpg) no-repeat left top/cover;
  }
  #city #section02 .img04:before {
    background: url(../img/city/img04_sp.jpg) no-repeat left top/cover;
  }
  #city #section02 .img05:before {
    background: url(../img/city/img05_sp.jpg) no-repeat left top/cover;
  }
  #city #section03 .w_ttl03 {
    margin-bottom: 10.6666666667vw;
  }
  #city #section03 ul {
    grid-template-columns: 1fr;
    gap: 2.6666666667vw;
    margin-bottom: 9.3333333333vw;
    padding-left: 4vw;
    padding-right: 4vw;
  }
  #city #section03 ul li {
    width: 100%;
  }
  #city #section03 ul li a {
    font-size: 3.4666666667vw;
    min-height: 20vw;
    border-radius: 2.6666666667vw 0;
    background-size: 3.2vw auto;
    background-position: right 4vw center;
    padding-left: 14.6666666667vw;
  }
  #city #section03 ul li a:before {
    left: 4vw;
    width: 8vw;
    height: 8vw;
    line-height: 8vw;
    font-size: 4vw;
  }
  #city #section03 .btn05 {
    margin-right: 4vw;
  }
}
#educational #under_mv {
  background-image: url(../img/educational/mv.jpg);
}
#educational #under_mv:after {
  background: #fff;
}
#educational #section01 {
  margin-bottom: 110px;
}
#educational #section01 * {
  margin: 0;
}
#educational #section01 .w1320 {
  margin-left: auto;
  margin-right: auto;
}
#educational #section01 .bg {
  background: #fff;
  padding: 0 110px 110px;
  border-radius: 0 0 40px 40px;
}
#educational #section01 .w_ttl03 {
  margin-bottom: 55px;
}
#educational #section01 .lead {
  text-align: center;
  font-size: 17px;
  line-height: 1.88;
  margin-bottom: 80px;
}
#educational #section01 .grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px 60px;
  margin-bottom: 120px;
}
#educational #section01 .grid > div {
  padding-top: 51%;
  background-position: left top;
  background-size: 100% auto;
  background-repeat: no-repeat;
}
#educational #section01 .grid > div:nth-child(1) {
  background-image: url(../img/educational/img01.jpg);
}
#educational #section01 .grid > div:nth-child(2) {
  background-image: url(../img/educational/img02.jpg);
}
#educational #section01 .grid > div:nth-child(3) {
  background-image: url(../img/educational/img03.jpg);
}
#educational #section01 .grid > div:nth-child(4) {
  background-image: url(../img/educational/img04.jpg);
}
#educational #section01 .grid h3 {
  position: relative;
  width: 410px;
  background: #fff;
  font-size: 24px;
  padding: 45px 0 0 50px;
  border-radius: 0 25px 0 0;
  letter-spacing: 0.05em;
  margin-bottom: 25px;
  line-height: 1.6;
}
#educational #section01 .grid h3:before, #educational #section01 .grid h3:after {
  position: absolute;
  content: "";
  display: block;
  width: 12px;
  height: 12px;
}
#educational #section01 .grid h3:before {
  background: url(../img/educational/curve01.png) no-repeat left top/100% auto;
  left: 0;
  top: -12px;
}
#educational #section01 .grid h3:after {
  background: url(../img/educational/curve02.png) no-repeat left top/100% auto;
  right: -12px;
  top: 45px;
}
#educational #section01 .grid h3 .row {
  display: block;
  line-height: 1.6;
}
#educational #section01 .grid h3 .white {
  color: #fff;
}
#educational #section01 .grid p {
  padding: 0 50px;
}
#educational #section01 .box {
  padding: 90px 72px 60px;
  background: #e7f4f3;
  border-radius: 30px;
  position: relative;
}
#educational #section01 .box h3 {
  position: absolute;
  top: -28px;
  left: 50%;
  transform: translate(-50%, 0) rotate(0.03deg);
  background: url(../img/educational/ribbon.svg) no-repeat left top/100% auto;
  height: 56px;
  line-height: 56px;
  width: 560px;
  color: #fff;
  font-weight: bold;
  text-align: center;
}
#educational #section01 .box .list01 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0 40px;
  padding-bottom: 90px;
  background: url(../img/educational/arrow.svg) no-repeat center bottom/146px auto;
  margin-bottom: 50px;
}
#educational #section01 .box .list01 li {
  text-align: center;
  font-weight: bold;
  line-height: 1.6;
  font-size: 16px;
  padding-top: 100%;
  padding-top: 100%;
  padding-top: 100%;
  padding-top: 100%;
}
#educational #section01 .box .list01 li:nth-child(1) {
  background: url(../img/educational/fukidashi01.png) no-repeat left top/100% auto;
}
#educational #section01 .box .list01 li:nth-child(2) {
  background: url(../img/educational/fukidashi02.png) no-repeat left top/100% auto;
}
#educational #section01 .box .list01 li:nth-child(3) {
  background: url(../img/educational/fukidashi03.png) no-repeat left top/100% auto;
}
#educational #section01 .box .list01 li:nth-child(4) {
  background: url(../img/educational/fukidashi04.png) no-repeat left top/100% auto;
}
#educational #section01 .box h4 {
  font-weight: bold;
  text-align: center;
  font-size: 24px;
  color: #3a938c;
  margin-bottom: 40px;
}
#educational #section01 .box .list02 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0 44px;
}
#educational #section01 .box .list02 h5 {
  font-size: 20px;
  margin-bottom: 16px;
}
#educational #section01 .box .list02 li {
  padding-top: 69%;
}
#educational #section01 .box .list02 li:nth-child(1) {
  background: url(../img/educational/list02_01.png) no-repeat left top/100% auto;
}
#educational #section01 .box .list02 li:nth-child(2) {
  background: url(../img/educational/list02_02.png) no-repeat left top/100% auto;
}
#educational #section01 .box .list02 li:nth-child(3) {
  background: url(../img/educational/list02_03.png) no-repeat left top/100% auto;
}
#educational #section01 .box .list02 li:nth-child(4) {
  background: url(../img/educational/list02_04.png) no-repeat left top/100% auto;
}
#educational #section01 .box .list02 p {
  font-size: 15px;
  line-height: 2;
  letter-spacing: 0;
}
#educational #section02 {
  margin-bottom: 130px;
}
#educational #section02 * {
  margin: 0;
}
#educational #section02 .w1100 {
  margin-left: auto;
  margin-right: auto;
}
#educational #section02 .w_ttl03 {
  margin-bottom: 75px;
}
#educational #section02 .side_nav_content .left_nav ul {
  position: sticky;
  left: 0;
  top: 100px;
}
#educational #section02 .side_nav_content .left_nav a {
  font-family: "satoshi";
}
#educational #section02 ol {
  display: grid;
  grid-template-columns: 1fr;
  gap: 60px 0;
}
#educational #section02 ol li {
  padding: 0 0 0 435px;
  min-height: 245px;
  display: flex;
  align-items: center;
  position: relative;
}
#educational #section02 ol li:before {
  position: absolute;
  left: -16px;
  top: -16px;
  content: "";
  display: block;
  z-index: 1;
  width: 84px;
  height: 84px;
  background-position: center;
  background-size: cover;
}
#educational #section02 ol li:last-child {
  align-items: flex-start;
}
#educational #section02 ol li:nth-child(1) {
  background: url(../img/educational/flow01.png) no-repeat left top/400px auto;
}
#educational #section02 ol li:nth-child(1):before {
  background-image: url(../img/flow/step1.png);
}
#educational #section02 ol li:nth-child(2) {
  background: url(../img/educational/flow02.png) no-repeat left top/400px auto;
}
#educational #section02 ol li:nth-child(2):before {
  background-image: url(../img/flow/step2.png);
}
#educational #section02 ol li:nth-child(3) {
  background: url(../img/educational/flow03.png) no-repeat left top/400px auto;
}
#educational #section02 ol li:nth-child(3):before {
  background-image: url(../img/flow/step3.png);
}
#educational #section02 ol li:nth-child(4) {
  background: url(../img/educational/flow04.png) no-repeat left top/400px auto;
}
#educational #section02 ol li:nth-child(4):before {
  background-image: url(../img/flow/step4.png);
}
#educational #section02 ol li:nth-child(5) {
  background: url(../img/educational/flow05.png) no-repeat left top/400px auto;
}
#educational #section02 ol li:nth-child(5):before {
  background-image: url(../img/flow/step5.png);
}
#educational #section02 ol .label {
  font-size: 14px;
  letter-spacing: 0.15em;
}
#educational #section02 ol h3 {
  font-weight: bold;
  font-size: 20px;
  margin-bottom: 15px;
}
#educational #section02 ol .text {
  font-size: 15px;
  line-height: 2;
  letter-spacing: 0.025em;
}
#educational #section02 ol a {
  color: var(--black);
  text-decoration: underline;
}
#educational #section02 ol .notice {
  font-size: 13px;
  line-height: 1.6;
  margin-top: 8px;
}
#educational #section03 {
  position: relative;
}
#educational #section03:after {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  display: block;
  width: 100%;
  height: 120px;
  background: url(../img/common/body_bg2.jpg);
}
#educational #section03 * {
  margin: 0;
}
#educational #section03 .w1320 {
  margin-left: auto;
  margin-right: auto;
}
#educational #section03 .w1320 .box:last-child {
  margin-bottom: 0;
}
#educational #section03 .bg {
  position: relative;
  z-index: 1;
  background: #fff;
  border-radius: 40px;
  padding: 90px 110px 110px;
}
#educational #section03 .w_ttl03 {
  margin-bottom: 65px;
}
#educational #section03 .box {
  background: #e7f4f3;
  border-radius: 0 30px;
  margin-bottom: 40px;
  padding: 50px 72px 70px;
}
#educational #section03 .w_ttl {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 35px;
}
#educational #section03 .w_ttl h3 {
  font-size: 24px;
  line-height: 1.333;
  position: relative;
  padding-left: 20px;
}
#educational #section03 .w_ttl h3:before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  display: block;
  width: 5px;
  height: 100%;
  border-radius: 10px;
  background: #86c7c2;
}
#educational #section03 .w_ttl p {
  font-size: 14px;
  font-weight: bold;
  background: url(../img/educational/icon.png) no-repeat right center/48px auto;
  padding: 12px 62px 12px 0;
}
#educational #section03 .w_text {
  min-height: 285px;
  padding: 15px 0 15px 500px;
}
#educational #section03 .w_text p {
  margin-bottom: 32px;
}
#educational #section03 .w_text p:last-child {
  margin-bottom: 0;
}
#educational #section03 .bg01 {
  background: url(../img/educational/case01.png) no-repeat left top/460px auto;
}
#educational #section03 .bg02 {
  background: url(../img/educational/case02.png) no-repeat left top/460px auto;
}
#educational #section03 .bg03 {
  background: url(../img/educational/case03.png) no-repeat left top/460px auto;
}
#educational #section04 {
  background: url(../img/common/body_bg2.jpg);
  padding-bottom: 260px;
  padding-top: 110px;
}
#educational #section04 * {
  margin: 0;
}
#educational #section04 .w1100 {
  margin-left: auto;
  margin-right: auto;
}
#educational #section04 .w_ttl03 {
  margin-bottom: 65px;
}
#educational #section04 ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 30px 25px;
  counter-reset: number 0;
  margin-bottom: 45px;
}
#educational #section04 ul li {
  width: 348px;
}
#educational #section04 ul a {
  position: relative;
  display: flex;
  background: #fff url(../img/city/arrow.svg) no-repeat right 20px center/15px auto;
  text-decoration: none;
  min-height: 120px;
  border-radius: 20px 0;
  align-items: center;
  font-weight: bold;
  font-size: 16px;
  line-height: 1.6;
  padding-left: 76px;
  letter-spacing: 0.05em;
  transition: opacity 0.4s ease;
  color: var(--black);
  padding-right: 50px;
}
#educational #section04 ul a:hover {
  opacity: 0.6;
}
#educational #section04 ul a:before {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 20px;
  content: "Q";
  font-size: 20px;
  font-family: "satoshi";
  display: block;
  width: 40px;
  border-radius: 50%;
  height: 40px;
  background: #49b0a8;
  color: #fff;
  text-align: center;
  line-height: 40px;
}
#educational #section04 ul a span {
  color: #ffe866;
}
#educational #section04 .btn05 {
  display: block;
  max-width: fit-content;
  margin-left: auto;
}

/*―――――――――――――――――――――――――*
*	1420px 以下
*―――――――――――――――――――――――――*/
@media screen and (min-width: 767px) and (max-width: 1420px) {
  #educational #section01 .w1320 {
    width: 96vw;
    padding-left: 0;
    padding-right: 0;
  }
  #educational #section01 .bg {
    padding-left: 80px;
    padding-right: 80px;
  }
}
/*―――――――――――――――――――――――――*
*	1150px 以下
*―――――――――――――――――――――――――*/
@media screen and (min-width: 767px) and (max-width: 1150px) {
  #educational #under_mv {
    background-image: url(../img/educational/mv.jpg);
  }
  #educational #under_mv:after {
    background: #fff;
  }
  #educational #section01 {
    margin-bottom: 9.565vw;
  }
  #educational #section01 * {
    margin: 0;
  }
  #educational #section01 .w1320 {
    margin-left: auto;
    margin-right: auto;
  }
  #educational #section01 .bg {
    background: #fff;
    padding: 0 4vw 9.565vw;
    border-radius: 0 0 3.478vw 3.478vw;
  }
  #educational #section01 .w_ttl03 {
    margin-bottom: 4.783vw;
  }
  #educational #section01 .lead {
    text-align: center;
    font-size: 1.478vw;
    line-height: 1.88;
    margin-bottom: 6.957vw;
  }
  #educational #section01 .grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6.087vw 5.217vw;
    margin-bottom: 10.435vw;
  }
  #educational #section01 .grid > div {
    padding-top: 51%;
    background-position: left top;
    background-size: 100% auto;
    background-repeat: no-repeat;
  }
  #educational #section01 .grid > div:nth-child(1) {
    background-image: url(../img/educational/img01.jpg);
  }
  #educational #section01 .grid > div:nth-child(2) {
    background-image: url(../img/educational/img02.jpg);
  }
  #educational #section01 .grid > div:nth-child(3) {
    background-image: url(../img/educational/img03.jpg);
  }
  #educational #section01 .grid > div:nth-child(4) {
    background-image: url(../img/educational/img04.jpg);
  }
  #educational #section01 .grid h3 {
    position: relative;
    width: 35.652vw;
    background: #fff;
    font-size: 2.087vw;
    padding: 3.913vw 0 0 4.348vw;
    border-radius: 0 2.174vw 0 0;
    letter-spacing: 0.05em;
    margin-bottom: 2.174vw;
    line-height: 1.6;
  }
  #educational #section01 .grid h3:before, #educational #section01 .grid h3:after {
    position: absolute;
    content: "";
    display: block;
    width: 1.043vw;
    height: 1.043vw;
  }
  #educational #section01 .grid h3:before {
    background: url(../img/educational/curve01.png) no-repeat left top/100% auto;
    left: 0;
    top: -1.043vw;
  }
  #educational #section01 .grid h3:after {
    background: url(../img/educational/curve02.png) no-repeat left top/100% auto;
    right: -1.043vw;
    top: 3.913vw;
  }
  #educational #section01 .grid h3 .row {
    display: block;
    line-height: 1.6;
  }
  #educational #section01 .grid h3 .white {
    color: #fff;
  }
  #educational #section01 .grid p {
    padding: 0 4.348vw;
  }
  #educational #section01 .box {
    padding: 7.826vw 6.261vw 5.217vw;
    background: #e7f4f3;
    border-radius: 2.609vw;
    position: relative;
  }
  #educational #section01 .box h3 {
    position: absolute;
    top: -2.435vw;
    left: 50%;
    transform: translate(-50%, 0);
    background: url(../img/educational/ribbon.svg) no-repeat left top/100% auto;
    height: 4.87vw;
    line-height: 4.87vw;
    width: 48.696vw;
    color: #fff;
    font-weight: bold;
    text-align: center;
  }
  #educational #section01 .box .list01 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0 3.478vw;
    padding-bottom: 7.826vw;
    background: url(../img/educational/arrow.svg) no-repeat center bottom/146px auto;
    margin-bottom: 4.348vw;
  }
  #educational #section01 .box .list01 li {
    text-align: center;
    font-weight: bold;
    line-height: 1.6;
    font-size: 1.391vw;
    padding-top: 100%;
    padding-top: 100%;
    padding-top: 100%;
    padding-top: 100%;
  }
  #educational #section01 .box .list01 li:nth-child(1) {
    background: url(../img/educational/fukidashi01.png) no-repeat left top/100% auto;
  }
  #educational #section01 .box .list01 li:nth-child(2) {
    background: url(../img/educational/fukidashi02.png) no-repeat left top/100% auto;
  }
  #educational #section01 .box .list01 li:nth-child(3) {
    background: url(../img/educational/fukidashi03.png) no-repeat left top/100% auto;
  }
  #educational #section01 .box .list01 li:nth-child(4) {
    background: url(../img/educational/fukidashi04.png) no-repeat left top/100% auto;
  }
  #educational #section01 .box h4 {
    font-weight: bold;
    text-align: center;
    font-size: 2.087vw;
    color: #3a938c;
    margin-bottom: 3.478vw;
  }
  #educational #section01 .box .list02 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0 3.826vw;
  }
  #educational #section01 .box .list02 h5 {
    font-size: 1.739vw;
    margin-bottom: 1.391vw;
  }
  #educational #section01 .box .list02 li {
    padding-top: 69%;
  }
  #educational #section01 .box .list02 li:nth-child(1) {
    background: url(../img/educational/list02_01.png) no-repeat left top/100% auto;
  }
  #educational #section01 .box .list02 li:nth-child(2) {
    background: url(../img/educational/list02_02.png) no-repeat left top/100% auto;
  }
  #educational #section01 .box .list02 li:nth-child(3) {
    background: url(../img/educational/list02_03.png) no-repeat left top/100% auto;
  }
  #educational #section01 .box .list02 li:nth-child(4) {
    background: url(../img/educational/list02_04.png) no-repeat left top/100% auto;
  }
  #educational #section01 .box .list02 p {
    font-size: 1.304vw;
    line-height: 2;
    letter-spacing: 0;
  }
  #educational #section02 {
    margin-bottom: 11.304vw;
  }
  #educational #section02 * {
    margin: 0;
  }
  #educational #section02 .w1100 {
    margin-left: auto;
    margin-right: auto;
  }
  #educational #section02 .w_ttl03 {
    margin-bottom: 6.522vw;
  }
  #educational #section02 .side_nav_content .left_nav ul {
    position: sticky;
    left: 0;
    top: 8.696vw;
  }
  #educational #section02 .side_nav_content .left_nav a {
    font-family: "satoshi";
  }
  #educational #section02 ol {
    display: grid;
    grid-template-columns: 1fr;
    gap: 5.217vw 0;
  }
  #educational #section02 ol li {
    padding: 0 0 0 35vw;
    min-height: 21.304vw;
    display: flex;
    align-items: center;
    position: relative;
  }
  #educational #section02 ol li:before {
    position: absolute;
    left: -1.391vw;
    top: -1.391vw;
    content: "";
    display: block;
    z-index: 1;
    width: 7.304vw;
    height: 7.304vw;
    background-position: center;
    background-size: cover;
  }
  #educational #section02 ol li:last-child {
    align-items: flex-start;
  }
  #educational #section02 ol li:nth-child(1) {
    background: url(../img/educational/flow01.png) no-repeat left top/32vw auto;
  }
  #educational #section02 ol li:nth-child(1):before {
    background-image: url(../img/flow/step1.png);
  }
  #educational #section02 ol li:nth-child(2) {
    background: url(../img/educational/flow02.png) no-repeat left top/32vw auto;
  }
  #educational #section02 ol li:nth-child(2):before {
    background-image: url(../img/flow/step2.png);
  }
  #educational #section02 ol li:nth-child(3) {
    background: url(../img/educational/flow03.png) no-repeat left top/32vw auto;
  }
  #educational #section02 ol li:nth-child(3):before {
    background-image: url(../img/flow/step3.png);
  }
  #educational #section02 ol li:nth-child(4) {
    background: url(../img/educational/flow04.png) no-repeat left top/32vw auto;
  }
  #educational #section02 ol li:nth-child(4):before {
    background-image: url(../img/flow/step4.png);
  }
  #educational #section02 ol li:nth-child(5) {
    background: url(../img/educational/flow05.png) no-repeat left top/32vw auto;
  }
  #educational #section02 ol li:nth-child(5):before {
    background-image: url(../img/flow/step5.png);
  }
  #educational #section02 ol .label {
    font-size: 1.217vw;
    letter-spacing: 0.15em;
  }
  #educational #section02 ol h3 {
    font-weight: bold;
    font-size: 1.739vw;
    margin-bottom: 1.304vw;
  }
  #educational #section02 ol .text {
    font-size: 1.304vw;
    line-height: 2;
    letter-spacing: 0.025em;
  }
  #educational #section02 ol a {
    color: var(--black);
    text-decoration: underline;
  }
  #educational #section02 ol .notice {
    font-size: 1.13vw;
    line-height: 1.6;
    margin-top: 0.696vw;
  }
  #educational #section03 {
    position: relative;
  }
  #educational #section03:after {
    position: absolute;
    left: 0;
    bottom: 0;
    content: "";
    display: block;
    width: 100%;
    height: 10.435vw;
    background: url(../img/common/body_bg2.jpg);
  }
  #educational #section03 * {
    margin: 0;
  }
  #educational #section03 .w1320 {
    margin-left: auto;
    margin-right: auto;
  }
  #educational #section03 .w1320 .box:last-child {
    margin-bottom: 0;
  }
  #educational #section03 .bg {
    position: relative;
    z-index: 1;
    background: #fff;
    border-radius: 3.478vw;
    padding: 7.826vw 4vw 9.565vw;
  }
  #educational #section03 .w_ttl03 {
    margin-bottom: 5.652vw;
  }
  #educational #section03 .box {
    background: #e7f4f3;
    border-radius: 0 2.609vw;
    margin-bottom: 3.478vw;
    padding: 4.348vw 6.261vw 6.087vw;
  }
  #educational #section03 .w_ttl {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 3.043vw;
  }
  #educational #section03 .w_ttl h3 {
    font-size: 2.087vw;
    line-height: 1.333;
    position: relative;
    padding-left: 1.739vw;
  }
  #educational #section03 .w_ttl h3:before {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    display: block;
    width: 0.435vw;
    height: 100%;
    border-radius: 0.87vw;
    background: #86c7c2;
  }
  #educational #section03 .w_ttl p {
    font-size: 1.217vw;
    font-weight: bold;
    background: url(../img/educational/icon.png) no-repeat right center/4vw auto;
    padding: 1.043vw 5.391vw 1.043vw 0;
  }
  #educational #section03 .w_text {
    min-height: 24.783vw;
    padding: 1.304vw 0 1.304vw 42.609vw;
  }
  #educational #section03 .w_text p {
    margin-bottom: 2.783vw;
  }
  #educational #section03 .w_text p:last-child {
    margin-bottom: 0;
  }
  #educational #section03 .bg01 {
    background: url(../img/educational/case01.png) no-repeat left top/40vw auto;
  }
  #educational #section03 .bg02 {
    background: url(../img/educational/case02.png) no-repeat left top/40vw auto;
  }
  #educational #section03 .bg03 {
    background: url(../img/educational/case03.png) no-repeat left top/40vw auto;
  }
  #educational #section04 {
    background: url(../img/common/body_bg2.jpg);
    padding-bottom: 22.609vw;
    padding-top: 9.565vw;
  }
  #educational #section04 * {
    margin: 0;
  }
  #educational #section04 .w1100 {
    margin-left: auto;
    margin-right: auto;
  }
  #educational #section04 .w_ttl03 {
    margin-bottom: 5.652vw;
  }
  #educational #section04 ul {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 2.609vw 2.174vw;
    counter-reset: number 0;
    margin-bottom: 3.913vw;
  }
  #educational #section04 ul li {
    width: 30.261vw;
  }
  #educational #section04 ul a {
    position: relative;
    display: flex;
    background: #fff url(../img/city/arrow.svg) no-repeat right 20px center/15px auto;
    text-decoration: none;
    min-height: 10.435vw;
    border-radius: 1.739vw 0;
    align-items: center;
    font-weight: bold;
    font-size: 1.391vw;
    line-height: 1.6;
    padding-left: 6.609vw;
    letter-spacing: 0.05em;
    transition: opacity 0.4s ease;
    color: var(--black);
    padding-right: 4.348vw;
  }
  #educational #section04 ul a:hover {
    opacity: 0.6;
  }
  #educational #section04 ul a:before {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    left: 1.739vw;
    content: "Q";
    font-size: 1.739vw;
    font-family: "satoshi";
    display: block;
    width: 3.478vw;
    border-radius: 50%;
    height: 3.478vw;
    background: #49b0a8;
    color: #fff;
    text-align: center;
    line-height: 3.478vw;
  }
  #educational #section04 ul a span {
    color: #ffe866;
  }
  #educational #section04 .btn05 {
    display: block;
    max-width: fit-content;
    margin-left: auto;
  }
}
/*―――――――――――――――――――――――――*
*	スマホ
*―――――――――――――――――――――――――*/
@media screen and (max-width: 767px) {
  #educational #under_mv {
    background-image: url(../img/educational/mv_sp.jpg);
  }
  #educational #section01 {
    margin-bottom: 21.3333333333vw;
  }
  #educational #section01 .bg {
    padding-left: 4vw;
    padding-right: 4vw;
    padding-bottom: 4vw;
    border-radius: 0 0 5.3333333333vw 5.3333333333vw;
  }
  #educational #section01 .w_ttl03 {
    margin-bottom: 8vw;
  }
  #educational #section01 .w_ttl03 .satoshi {
    white-space: nowrap;
  }
  #educational #section01 .lead {
    font-size: 3.4666666667vw;
    line-height: 2;
    text-align: left;
    padding-left: 4vw;
    padding-right: 4vw;
    margin-bottom: 10.1333333333vw;
  }
  #educational #section01 .grid {
    grid-template-columns: 1fr;
    gap: 13.3333333333vw 0;
    margin-bottom: 18.6666666667vw;
  }
  #educational #section01 .grid > div:nth-child(1) {
    background-image: url(../img/educational/img01_sp.jpg);
  }
  #educational #section01 .grid > div:nth-child(2) {
    background-image: url(../img/educational/img02_sp.jpg);
  }
  #educational #section01 .grid > div:nth-child(3) {
    background-image: url(../img/educational/img03_sp.jpg);
  }
  #educational #section01 .grid > div:nth-child(4) {
    background-image: url(../img/educational/img04_sp.jpg);
  }
  #educational #section01 .grid h3 {
    width: 66.6666666667vw;
    font-size: 4.5333333333vw;
    padding: 6.6666666667vw 4vw 0;
    margin-bottom: 4vw;
    line-height: 1.6;
    border-radius: 0 2.6666666667vw 0 0;
  }
  #educational #section01 .grid h3:before, #educational #section01 .grid h3:after {
    width: 1.6vw;
    height: 1.6vw;
  }
  #educational #section01 .grid h3:before {
    top: -1.5466666667vw;
  }
  #educational #section01 .grid h3:after {
    right: -1.6vw;
    top: 7.7333333333vw;
  }
  #educational #section01 .grid p {
    font-size: 3.4666666667vw;
    padding: 0 4vw;
    line-height: 2;
  }
  #educational #section01 .box {
    padding: 21.3333333333vw 8vw 9.3333333333vw;
    border-radius: 4vw;
  }
  #educational #section01 .box h3 {
    width: 68vw;
    height: 16vw;
    line-height: 1.6;
    font-size: 3.7333333333vw;
    background-image: url(../img/educational/ribbon_sp.svg);
    padding-top: 2.1333333333vw;
    top: -8vw;
  }
  #educational #section01 .box .list01 {
    grid-template-columns: 1fr 1fr;
    gap: 6.6666666667vw 4.2666666667vw;
    padding-bottom: 13.3333333333vw;
    background-size: 27.2vw auto;
    margin-bottom: 4.8vw;
  }
  #educational #section01 .box .list01 li {
    font-size: 3.2vw;
    text-align: left;
  }
  #educational #section01 .box .list01 li br {
    display: none;
    letter-spacing: 0;
  }
  #educational #section01 .box h4 {
    font-size: 4.5333333333vw;
    line-height: 1.6;
  }
  #educational #section01 .box .list02 {
    gap: 8.5333333333vw 0;
    grid-template-columns: 1fr;
  }
  #educational #section01 .box .list02 li {
    padding-left: 4vw;
    padding-right: 4vw;
  }
  #educational #section01 .box .list02 li:nth-child(1) {
    background: url(../img/educational/list02_01_sp.png) no-repeat left top/100% auto;
  }
  #educational #section01 .box .list02 li:nth-child(2) {
    background: url(../img/educational/list02_02_sp.png) no-repeat left top/100% auto;
  }
  #educational #section01 .box .list02 li:nth-child(3) {
    background: url(../img/educational/list02_03_sp.png) no-repeat left top/100% auto;
  }
  #educational #section01 .box .list02 h5 {
    font-size: 4.2666666667vw;
    line-height: 1.6;
    margin-bottom: 1.3333333333vw;
  }
  #educational #section01 .box .list02 p {
    font-size: 3.4666666667vw;
    line-height: 2;
    letter-spacing: 0;
  }
  #educational #section02 {
    margin-bottom: 18.6666666667vw;
  }
  #educational #section02 .w_ttl03 {
    margin-bottom: 8vw;
  }
  #educational #section02 .w_ttl03 .satoshi {
    bottom: 0;
  }
  #educational #section02 ol {
    gap: 12vw 0;
    padding-left: 4vw;
    padding-right: 4vw;
  }
  #educational #section02 ol li {
    background-size: 100% auto !important;
    padding-left: 4vw;
    padding-top: 58.6666666667vw;
    padding-right: 4vw;
  }
  #educational #section02 ol li:before {
    width: 16vw;
    height: 16vw;
    left: -4vw;
    top: -4vw;
  }
  #educational #section02 ol li:nth-child(1) {
    background: url(../img/educational/flow01_sp.png) no-repeat left top/100% auto;
  }
  #educational #section02 ol li:nth-child(2) {
    background: url(../img/educational/flow02_sp.png) no-repeat left top/100% auto;
  }
  #educational #section02 ol li:nth-child(3) {
    background: url(../img/educational/flow03_sp.png) no-repeat left top/100% auto;
  }
  #educational #section02 ol li:nth-child(4) {
    background: url(../img/educational/flow04_sp.png) no-repeat left top/100% auto;
  }
  #educational #section02 ol li:nth-child(5) {
    background: url(../img/educational/flow05_sp.png) no-repeat left top/100% auto;
  }
  #educational #section02 ol .label {
    font-size: 3.2vw;
  }
  #educational #section02 ol h3 {
    font-size: 4.5333333333vw;
    margin-bottom: 4vw;
  }
  #educational #section02 ol .text {
    font-size: 3.4666666667vw;
    line-height: 2;
  }
  #educational #section02 ol .notice {
    font-size: 2.9333333333vw;
    margin-top: 2.6666666667vw;
  }
  #educational #section03:after {
    height: 26.6666666667vw;
  }
  #educational #section03 .w_ttl03 {
    margin-bottom: 12vw;
  }
  #educational #section03 .w_ttl03 .satoshi {
    bottom: 0;
  }
  #educational #section03 .bg {
    border-radius: 5.3333333333vw;
    padding: 10.6666666667vw 4vw 4vw;
  }
  #educational #section03 .box {
    padding: 8vw 8vw;
    border-radius: 0 4vw;
    margin-bottom: 4vw;
  }
  #educational #section03 .box .w_ttl {
    display: block;
    margin-bottom: 6.6666666667vw;
  }
  #educational #section03 .box .w_ttl h3 {
    font-size: 4.5333333333vw;
    padding-left: 4vw;
    margin-bottom: 2.1333333333vw;
  }
  #educational #section03 .box .w_ttl h3:before {
    width: 1.0666666667vw;
  }
  #educational #section03 .box .w_ttl p {
    max-width: fit-content;
    margin-left: auto;
    background-size: 8vw auto;
    padding: 2.1333333333vw 11.2vw 2.1333333333vw 0;
    font-size: 3.2vw;
  }
  #educational #section03 .box .w_text {
    padding-left: 0;
    padding-top: 49.3333333333vw;
    padding-bottom: 0;
  }
  #educational #section03 .box .w_text p {
    font-size: 3.4666666667vw;
    line-height: 2;
    margin-bottom: 6.6666666667vw;
  }
  #educational #section03 .box .w_text p:last-child {
    margin-bottom: 0;
  }
  #educational #section03 .bg01 {
    background: url(../img/educational/case01_sp.png) no-repeat left top/100% auto;
  }
  #educational #section03 .bg02 {
    background: url(../img/educational/case02_sp.png) no-repeat left top/100% auto;
  }
  #educational #section03 .bg03 {
    background: url(../img/educational/case03_sp.png) no-repeat left top/100% auto;
  }
  #educational #section04 {
    padding-top: 18.6666666667vw;
    padding-bottom: 24vw;
  }
  #educational #section04 .w_ttl03 {
    margin-bottom: 9.3333333333vw;
  }
  #educational #section04 .w_ttl03 .satoshi {
    bottom: 0;
  }
  #educational #section04 ul {
    grid-template-columns: 1fr;
    gap: 2.6666666667vw;
    margin-bottom: 9.3333333333vw;
    padding-left: 4vw;
    padding-right: 4vw;
  }
  #educational #section04 ul li {
    width: 100%;
  }
  #educational #section04 ul li a {
    font-size: 3.4666666667vw;
    min-height: 20vw;
    border-radius: 2.6666666667vw 0;
    background-size: 3.2vw auto;
    background-position: right 4vw center;
    padding-left: 14.6666666667vw;
    padding-top: 2.6666666667vw;
    padding-bottom: 2.6666666667vw;
  }
  #educational #section04 ul li a:before {
    left: 4vw;
    width: 8vw;
    height: 8vw;
    line-height: 8vw;
    font-size: 4vw;
  }
  #educational #section04 .btn05 {
    margin-right: 4vw;
  }
}
.smartphoto {
  z-index: 10000 !important;
}

#school #under_mv {
  background-image: url(../img/company/mv.jpg);
}
#school #two_column {
  flex-direction: row-reverse;
}
#school .search_text {
  font-size: 14px;
  margin-top: -20px;
  margin-bottom: 30px;
  color: #aea8a2;
}

.archive_list .exc {
  letter-spacing: -0.02em;
}
.archive_list .s_data {
  margin: 20px 0;
  font-size: 13px;
  font-weight: bold;
  display: flex;
  line-height: 1.2;
}
.archive_list .s_data li span {
  color: #3a938c;
}
.archive_list .s_data li:first-child {
  padding-right: 12px;
  margin-right: 12px;
  border-right: solid 1px #e5e5e5;
}

.org_widget .w_check_list {
  padding: 0 20px 28px;
}
.org_widget .widget_sub_ttl {
  font-size: 17px;
  position: relative;
  height: 24px;
  padding-left: 22px;
  margin-bottom: 20px;
  line-height: 1.4;
}
.org_widget .widget_sub_ttl:before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  display: block;
  width: 5px;
  height: 100%;
  border-radius: 10px;
  background: #49b0a8;
}
.org_widget .w_check_list {
  padding-bottom: 28px;
  margin-bottom: 28px;
  border-bottom: dashed 1px #49b0a8;
  font-size: 14px;
}
.org_widget .w_check_list ul {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px 0;
}
.org_widget .w_check_list .grid {
  grid-template-columns: 1fr 1fr;
}
.org_widget .w_check_list .w_check_box input[type=checkbox] {
  display: none;
}
.org_widget .w_check_list .w_check_box input[type=checkbox]:checked + span:before {
  opacity: 1;
}
.org_widget .w_check_list .w_check_box input[type=checkbox]:checked + span:after {
  background: #49b0a8;
}
.org_widget .w_check_list .w_check_box.on span:after {
  background: #49b0a8;
}
.org_widget .w_check_list .w_check_box span {
  position: relative;
  display: inline-block;
  padding-left: 30px;
}
.org_widget .w_check_list .w_check_box span:before, .org_widget .w_check_list .w_check_box span:after {
  top: 50%;
  transform: translate(0, -50%);
  position: absolute;
  left: 0;
  content: "";
  width: 20px;
  height: 20px;
}
.org_widget .w_check_list .w_check_box span:before {
  font-family: "Font Awesome 6 Free";
  content: "\f00c";
  font-weight: 900;
  display: inline-block;
  text-align: center;
  z-index: 2;
  font-size: 17px;
  padding-left: 1px;
  line-height: 20px;
  color: #fff;
}
.org_widget .w_check_list .w_check_box span:after {
  z-index: 1;
  background: #fff;
  border: solid 1px #deded8;
}
.org_widget button.btn02 {
  border: none;
  width: 100%;
}
.org_widget button.btn02:before {
  background-image: url(../img/school/ic.png);
}

#single.school #bread {
  margin-bottom: 0;
}

#school_header {
  margin-bottom: 50px;
  padding-left: 40px;
}
#school_header h1 {
  flex-wrap: wrap;
  display: flex;
  flex-direction: column-reverse;
  line-height: 1.4;
  margin-bottom: 30px;
}
#school_header h1 span {
  display: block;
}
#school_header h1 .sub {
  font-size: 18px;
  margin-bottom: 20px;
}
#school_header h1 .main {
  font-size: 40px;
  letter-spacing: 0.1em;
}
#school_header .s_data {
  margin: 20px 0;
  font-size: 13px;
  font-weight: bold;
  display: flex;
  line-height: 1.2;
  padding-left: 5px;
}
#school_header .s_data li {
  padding-right: 12px;
  margin-right: 12px;
  border-right: solid 1px #e5e5e5;
}
#school_header .s_data li span {
  color: #3a938c;
}
#school_header .s_data li:last-child {
  padding-right: 0;
  margin-right: 0;
  border-right: none;
}
#school_header .tags {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  margin-bottom: 60px;
}
#school_header .tags:has(+ .top_news) {
  margin-bottom: 40px;
}
#school_header .tags li {
  font-size: 12px;
  display: inline-block;
  color: #3a938c;
  border-radius: 50px;
  border: solid 1px #3a938c;
  line-height: 1.2;
  padding: 3px 8px 3px 6px;
  background: #fff;
}
#school_header .top_news {
  border: solid 3px #e76874;
  border-radius: 10px 0 10px 0;
  color: #e76874;
  padding: 20px 30px 20px 80px;
  background: #fff url(../img/school/ic_ex.svg) no-repeat 30px center/32px auto;
  margin-bottom: 45px;
  position: relative;
  margin-left: -40px;
}
#school_header .top_news p {
  margin: 0;
}

#school_nav {
  margin-bottom: 60px;
}
#school_nav ul {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
}
#school_nav ul li {
  border-right: dashed 1px #3a938c;
}
#school_nav ul li:last-child {
  border-right: none;
}
#school_nav a {
  color: var(--black);
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  text-align: center;
  height: 60px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.6;
  background: url(../img/school/arrow.svg) no-repeat center bottom/14px auto;
  padding-bottom: 12px;
  transition: opacity 0.4s ease;
}
#school_nav a:hover {
  opacity: 0.6;
}

#school_float_nav {
  display: none;
  z-index: 998;
  position: fixed;
  background: #fff;
  top: 0;
  left: 0;
  width: 100%;
  padding: 110px 0 20px;
  box-shadow: 0 0 7px 5px rgba(42, 104, 107, 0.15);
}
#school_float_nav ul {
  margin: 0;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
}
#school_float_nav ul li {
  border-right: dashed 1px #3a938c;
  padding-left: 5px;
  padding-right: 5px;
}
#school_float_nav ul li:last-child {
  border-right: none;
}
#school_float_nav a {
  color: var(--black);
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  text-align: center;
  height: 40px;
  font-size: 15px;
  font-weight: bold;
  line-height: 1.6;
  background: url(../img/school/arrow.svg) no-repeat center bottom 3px/12px auto;
  padding-bottom: 10px;
  transition: opacity 0.4s ease;
  border-radius: 8px;
}
#school_float_nav a.on {
  background: #49b0a8 url(../img/school/arrow_w.svg) no-repeat center bottom 3px/12px auto;
  color: #fff;
}

#school_detail {
  overflow: hidden;
  background: #fff;
  border-radius: 12px;
}
#school_detail * {
  margin: 0;
}
#school_detail h2 {
  font-size: 24px;
  background: #49b0a8;
  color: #fff;
  border-radius: 10px 0;
  line-height: 1.3;
  position: relative;
  padding: 18px 44px;
  margin-bottom: 40px;
}
#school_detail h2:before {
  position: absolute;
  content: "";
  display: block;
  width: 4px;
  top: 20px;
  bottom: 20px;
  left: 20px;
  border-radius: 10px;
  background: #fff;
}
#school_detail h3:not(.cta_ttl, .grid01 h3) {
  font-size: 20px;
  background: #e7f4f3;
  border-radius: 10px 0;
  line-height: 1.3;
  position: relative;
  padding: 16px 44px 18px;
  margin-bottom: 40px;
}
#school_detail h3:not(.cta_ttl, .grid01 h3):before {
  position: absolute;
  content: "";
  display: block;
  width: 4px;
  top: 15px;
  bottom: 15px;
  left: 20px;
  border-radius: 10px;
  background: #49b0a8;
}
#school_detail .inner {
  padding: 40px;
}
#school_detail .lead {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.6;
  margin-bottom: 40px;
}
#school_detail .chart_list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  margin-bottom: 70px;
}
#school_detail .chart_list > div {
  display: flex;
  justify-content: space-between;
}
#school_detail .chart_list p {
  font-size: 14px;
  color: #fff;
  background: #49b0a8;
  border-radius: 50px;
  font-weight: bold;
  width: 116px;
  text-align: center;
  height: 28px;
  line-height: 28px;
}
#school_detail .chart_list .right {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#school_detail .chart_list .text {
  font-size: 14px;
  font-weight: bold;
}
#school_detail .chart_list .chart {
  width: 160px;
  height: 3px;
  display: flex;
  justify-content: space-between;
  background: #ebebeb;
  margin: 0 8px;
}
#school_detail .chart_list .chart.position1 .circle:nth-child(1) {
  background: #49b0a8;
}
#school_detail .chart_list .chart.position2 .circle:nth-child(2) {
  background: #49b0a8;
}
#school_detail .chart_list .chart.position3 .circle:nth-child(3) {
  background: #49b0a8;
}
#school_detail .chart_list .chart.position4 .circle:nth-child(4) {
  background: #49b0a8;
}
#school_detail .chart_list .chart.position5 .circle:nth-child(5) {
  background: #49b0a8;
}
#school_detail .chart_list .chart .circle {
  position: relative;
  top: -7px;
  width: 16px;
  height: 16px;
  display: inline-block;
  background: #ebebeb;
  border-radius: 50%;
}
#school_detail #section01 {
  margin-bottom: 80px;
}
#school_detail #section01 .images {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 25px 25px;
  margin-bottom: 35px;
}
#school_detail #section01 .images div {
  border-radius: 0 15px;
  overflow: hidden;
}
#school_detail #section01 .text01 {
  font-size: 16px;
  line-height: 2;
  margin-bottom: 55px;
}
#school_detail #section01 .grid01 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px 30px;
  counter-reset: number 0;
  margin-bottom: 50px;
}
#school_detail #section01 .grid01 > div {
  position: relative;
}
#school_detail #section01 .grid01 > div:before {
  position: absolute;
  top: -10px;
  left: -10px;
  counter-increment: number 1;
  content: "0" counter(number);
  font-family: "satoshi";
  background: url(../img/step/giza.svg) no-repeat left top/100% auto;
  display: block;
  width: 60px;
  height: 60px;
  font-size: 13px;
  text-align: center;
  line-height: 60px;
  color: #fff;
}
#school_detail #section01 .grid01 .img {
  font-size: 0;
  line-height: 1;
  border-radius: 0 20px;
  overflow: hidden;
  margin-bottom: 25px;
}
#school_detail #section01 .grid01 h4 {
  font-size: 18px;
  line-height: 1.6;
  margin-bottom: 15px;
}
#school_detail #section01 .grid01 p {
  line-height: 2;
}
#school_detail #section01 .grid02 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px 30px;
  counter-reset: number 0;
  margin-bottom: 70px;
}
#school_detail #section01 .grid02 .img {
  font-size: 0;
  line-height: 1;
  border-radius: 0 20px;
  overflow: hidden;
}
#school_detail #section01 .grid02 .w_text {
  line-height: 2;
}
#school_detail #section01 .school_cta h3 {
  text-align: center;
  font-size: 24px;
  position: relative;
  margin-bottom: 30px;
}
#school_detail #section01 .school_cta h3:before, #school_detail #section01 .school_cta h3:after {
  content: "";
  display: inline-block;
  width: 2px;
  height: 26px;
  background: var(--black);
  border-radius: 5px;
  position: relative;
  top: 4px;
}
#school_detail #section01 .school_cta h3:before {
  margin-right: 12px;
  transform: rotate(-25deg);
}
#school_detail #section01 .school_cta h3:after {
  margin-left: 12px;
  transform: rotate(25deg);
}
#school_detail #section01 .school_cta h3 span {
  color: #3a938c;
}
#school_detail #section01 .school_cta ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 30px;
}
#school_detail #section01 .school_cta ul li {
  background: #e7f4f3;
  border-radius: 0 20px;
  padding: 30px 20px;
}
#school_detail #section01 .school_cta ul h4 {
  text-align: center;
  font-size: 20px;
  margin-bottom: 15px;
  letter-spacing: 0;
}
#school_detail #section01 .school_cta ul a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  text-decoration: none;
  color: #fff;
  background: #fff;
  border-radius: 50px;
  text-align: center;
  font-weight: bold;
  line-height: 1.6;
  height: 72px;
  overflow: hidden;
}
#school_detail #section01 .school_cta ul a span {
  display: inline-block;
  transform: rotate(0);
}
#school_detail #section01 .school_cta ul a:hover:before {
  animation: btnArrow 0.6s ease;
}
#school_detail #section01 .school_cta ul a:before {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%) rotate(0.03deg);
  right: 16px;
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  background: url(../img/school/pink_hove.png) no-repeat left top/100% auto;
}
#school_detail #section01 .school_cta ul .mail {
  background: #e76874 url(../img/school/ic_mail.svg) no-repeat 32px center/32px auto;
}
#school_detail #section01 .school_cta ul .est {
  background: #4981b0 url(../img/school/ic_est.svg) no-repeat 32px center/28px auto;
}
#school_detail #section01 .school_cta ul .est:before {
  background: url(../img/school/blue_hover.png) no-repeat left top/100% auto;
}
#school_detail #section02 {
  margin-bottom: 80px;
}
#school_detail #section02 .w_course h3 {
  margin-bottom: 30px;
}
#school_detail #section02 .w_course .grid {
  line-height: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 30px;
  margin-bottom: 40px;
}
#school_detail #section02 .w_course .grid .border {
  border: solid 2px #3a938c;
  border-radius: 15px;
  padding: 25px 30px;
  font-weight: bold;
}
#school_detail #section02 .w_course .grid .border span {
  color: #3a938c;
}
#school_detail #section02 .w_course table {
  width: 100%;
  text-align: center;
  border-top: solid 1px #ebebeb;
}
#school_detail #section02 .w_course table tr {
  border-bottom: solid 1px #ebebeb;
}
#school_detail #section02 .w_course table tr:first-child {
  color: #3a938c;
}
#school_detail #section02 .w_course table tr:first-child td {
  padding: 10px 2px;
}
#school_detail #section02 .w_course table tr td {
  padding: 5px 2px;
}
#school_detail #section02 .w_course table tr td:first-child {
  color: #3a938c;
}
#school_detail #section03 {
  margin-bottom: 70px;
}
#school_detail .price_tab, #school_detail .gallery_tab {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
#school_detail .price_tab.five, #school_detail .gallery_tab.five {
  grid-template-columns: repeat(5, 1fr);
}
#school_detail .price_tab li, #school_detail .gallery_tab li {
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  padding-bottom: 24px;
  border-bottom: solid 3px #ebebeb;
  line-height: 1.1;
  cursor: pointer;
}
#school_detail .price_tab .on, #school_detail .gallery_tab .on {
  cursor: default;
  color: #3a938c;
  border-bottom-color: #3a938c;
  background: url(../img/school/arrow.svg) no-repeat center bottom 5px/11px auto;
}
#school_detail .price_tab_content > div, #school_detail .gallery_tab_content > div {
  display: none;
  padding-top: 40px;
}
#school_detail .price_tab_content > div:first-child, #school_detail .gallery_tab_content > div:first-child {
  display: block;
}
#school_detail .price_tab_content > div .w_course, #school_detail .gallery_tab_content > div .w_course {
  margin-bottom: 60px;
}
#school_detail .price_tab_content > div .w_course:last-child, #school_detail .gallery_tab_content > div .w_course:last-child {
  margin-bottom: 0;
}
#school_detail .price_tab_content .gallery, #school_detail .gallery_tab_content .gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
}
#school_detail .price_tab_content .gallery .img, #school_detail .gallery_tab_content .gallery .img {
  border-radius: 0 15px;
  overflow: hidden;
  margin-bottom: 3px;
}
#school_detail .price_tab_content .gallery p, #school_detail .gallery_tab_content .gallery p {
  font-size: 13px;
}
#school_detail #section04 {
  margin-bottom: 80px;
}
#school_detail #section04 h2 {
  margin-bottom: 30px;
}
#school_detail #section04 .sc04_lead {
  line-height: 2;
  margin-bottom: 45px;
}
#school_detail #section04 .grid01 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px 30px;
}
#school_detail #section04 .grid01 .img {
  font-size: 0;
  line-height: 1;
  border-radius: 0 20px;
  overflow: hidden;
  margin-bottom: 25px;
}
#school_detail #section04 .grid01 h3 {
  font-size: 18px;
  line-height: 1.6;
  margin-bottom: 10px;
}
#school_detail #section04 .grid01 p {
  line-height: 2;
}
#school_detail #section04 .btn02 {
  max-width: 400px;
  display: flex;
  align-items: center;
  line-height: 1.4;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
  margin-top: 50px;
}
#school_detail #section05, #school_detail #section06 {
  margin-bottom: 60px;
}
#school_detail #section05 h2, #school_detail #section06 h2 {
  margin-bottom: 20px;
}
#school_detail #section05 table, #school_detail #section06 table {
  line-height: 1.6;
  width: 100%;
}
#school_detail #section05 table tr, #school_detail #section06 table tr {
  border-bottom: solid 1px rgba(106, 91, 78, 0.3);
}
#school_detail #section05 table th, #school_detail #section06 table th {
  width: 190px;
  color: #3a938c;
}
#school_detail #section05 table th span, #school_detail #section06 table th span {
  font-size: 13px;
  margin-top: -5px;
  display: block;
}
#school_detail #section05 table th, #school_detail #section05 table td, #school_detail #section06 table th, #school_detail #section06 table td {
  vertical-align: top;
  text-align: left;
  padding: 18px 10px;
  line-height: 2;
}
#school_detail #section05 table .serif, #school_detail #section06 table .serif {
  font-family: "serif";
  color: #ffcd76;
}
#school_detail #section05 table .pdf, #school_detail #section06 table .pdf {
  position: relative;
  color: #3a938c;
  text-decoration: underline;
  padding-right: 52px;
}
#school_detail #section05 table .pdf.ic_none:after, #school_detail #section06 table .pdf.ic_none:after {
  content: none;
}
#school_detail #section05 table .pdf:after, #school_detail #section06 table .pdf:after {
  position: absolute;
  font-size: 11px;
  content: "PDF";
  background: #e76874;
  color: #fff;
  width: 42px;
  height: 16px;
  line-height: 16px;
  text-align: center;
  border-radius: 50px;
  top: 2px;
  right: 0;
}
#school_detail #section06 table {
  margin-bottom: 60px;
}
#school_detail #section06 #comment01 {
  margin-bottom: 60px;
}
#school_detail #section06 #comment01 .flex {
  margin-bottom: 35px;
}
#school_detail #section06 #comment01 .flex .w_img {
  width: 220px;
}
#school_detail #section06 #comment01 .flex .w_text {
  position: relative;
  width: calc(100% - 220px);
  padding-left: 24px;
}
#school_detail #section06 #comment01 .flex .w_name {
  position: relative;
  padding-left: 26px;
  margin-bottom: 25px;
  letter-spacing: 0.05em;
}
#school_detail #section06 #comment01 .flex .w_name:before {
  position: absolute;
  left: 0;
  background: #86c7c2;
  border-radius: 10px;
  content: "";
  display: block;
  width: 5px;
  height: 100%;
}
#school_detail #section06 #comment01 .flex .w_name .name {
  font-weight: bold;
  font-size: 24px;
}
#school_detail #section06 #comment01 .flex .w_name .position {
  max-width: fit-content;
  display: block;
  font-size: 12px;
  color: #fff;
  background: #49b0a8;
  border-radius: 50px;
  padding: 1px 12px;
  letter-spacing: 0;
  position: relative;
  top: -3px;
}
#school_detail #section06 #comment01 .flex .w_name .en {
  font-size: 12px;
}
#school_detail #section06 #comment01 .border {
  border-radius: 15px;
  border: solid 2px #49b0a8;
  padding: 21px 30px;
  line-height: 2;
}
#school_detail #section06 #comment01 .icons {
  position: absolute;
  right: 0;
  top: 0;
  display: flex;
  gap: 0 12px;
}
#school_detail #section06 #comment01 .icons a {
  transition: opacity 0.4s ease;
}
#school_detail #section06 #comment01 .icons a:hover {
  opacity: 0.6;
}
#school_detail #section06 #comment01 h4 {
  font-size: 18px;
  font-weight: bold;
  color: #3a938c;
  margin-bottom: 10px;
}
#school_detail #section06 #comment01 .text {
  font-size: 16px;
  line-height: 2;
}
#school_detail #section06 #comment02, #school_detail #section06 #comment03 {
  margin-bottom: 60px;
}
#school_detail #section06 #comment02 .flex .w_img, #school_detail #section06 #comment03 .flex .w_img {
  width: 100px;
  text-align: center;
}
#school_detail #section06 #comment02 .flex .w_img .img, #school_detail #section06 #comment03 .flex .w_img .img {
  border-radius: 50%;
  overflow: hidden;
}
#school_detail #section06 #comment02 .flex .w_img .name, #school_detail #section06 #comment03 .flex .w_img .name {
  text-align: center;
  font-weight: bold;
  margin-top: 10px;
}
#school_detail #section06 #comment02 .flex .w_text, #school_detail #section06 #comment03 .flex .w_text {
  width: calc(100% - 100px);
  padding-left: 28px;
  font-size: 16px;
  line-height: 2;
}
#school_detail #section06 #comment02 .btn02, #school_detail #section06 #comment03 .btn02 {
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 30px;
}
#school_detail .school_cta2 .grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 30px;
}
#school_detail .school_cta2 .grid > div {
  padding: 30px 20px 30px;
  border-radius: 0 20px;
}
#school_detail .school_cta2 .ttl {
  text-align: center;
  font-weight: bold;
  font-size: 20px;
  margin-bottom: 20px;
}
#school_detail .school_cta2 .text {
  margin-bottom: 25px;
  font-size: 15px;
  line-height: 2;
  min-height: 90px;
  padding: 0 20px;
  letter-spacing: 0;
}
#school_detail .school_cta2 .line_box {
  background: #f7f7f3;
}
#school_detail .school_cta2 .line_box .ttl {
  color: #47ca56;
}
#school_detail .school_cta2 .pdf_box {
  background: #e7f4f3;
}
#school_detail .school_cta2 .pdf_box .ttl {
  color: #3a938c;
}
#school_detail .school_cta2 .pdf_box .ttl:after {
  position: relative;
  font-size: 11px;
  content: "PDF";
  background: #e76874;
  display: inline-block;
  color: #fff;
  width: 42px;
  height: 16px;
  line-height: 16px;
  text-align: center;
  border-radius: 50px;
  top: -3px;
  margin-left: 10px;
}
#school_detail .school_cta2 .btn03 {
  line-height: 1.6;
  display: flex;
  justify-content: center;
  align-items: center;
}
#school_detail .sc_info {
  background: #f7f7f3;
  border-radius: 10px 0 10px 0;
  overflow: hidden;
  margin-bottom: 64px;
}
#school_detail .sc_info .ttl {
  font-size: 24px;
  color: #fff;
  background: #6a5b4e url(../img/school/ic_megaphone.png) no-repeat 20px center/30px auto;
  border-radius: 0 0 10px 0;
  padding: 18px 20px 16px 62px;
}
#school_detail .sc_info ul {
  padding: 10px 20px;
}
#school_detail .sc_info li {
  border-bottom: solid 1px #e4e4e0;
  padding: 24px 0 24px 40px;
  background: url(../img/school/ic_ex.svg) no-repeat left 24px/25px auto;
}
#school_detail .sc_info li:last-child {
  border-bottom: none;
}
#school_detail .sc_info a {
  color: var(--black);
}

#side_cta {
  background: url(../img/school/side_bg01.png) no-repeat right top/140px auto, url(../img/school/side_bg02.png) no-repeat left bottom/114px auto, #49b0a8;
  border-radius: 15px 0;
  padding: 18px 20px 30px;
  margin-bottom: 40px;
}
#side_cta * {
  margin: 0;
}
#side_cta h2 {
  color: #fff;
  font-size: 17px;
  margin-bottom: 18px;
  letter-spacing: 0.05em;
}
#side_cta h2 i {
  position: relative;
  top: 1px;
  font-size: 20px;
}
#side_cta p {
  color: #fff;
  line-height: 2;
  margin-bottom: 20px;
  background: url(../img/school/side2.png) no-repeat left top/100% auto;
  padding-top: 220px;
  text-align: center;
}
#side_cta .buttons li {
  margin-bottom: 15px;
}
#side_cta .buttons li:last-child {
  margin-bottom: 0;
}
#side_cta .buttons a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  text-decoration: none;
  color: var(--black);
  background: #fff;
  border-radius: 50px;
  text-align: center;
  font-weight: bold;
  line-height: 1.6;
  height: 72px;
  overflow: hidden;
  transition: background-color 0.4s;
}
#side_cta .buttons a:hover {
  color: #fff;
}
#side_cta .buttons a:before {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%) rotate(0.03deg);
  right: 16px;
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  background: url(../img/common/arrow03.png) no-repeat left top/100% auto;
}
#side_cta .buttons a:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
}
#side_cta .buttons .mail {
  background-color: #fff;
}
#side_cta .buttons .mail:hover {
  background-color: #e76874;
}
#side_cta .buttons .mail:hover:before {
  background-image: url(../img/school/pink_hove.png);
}
#side_cta .buttons .mail:after {
  background: url(../img/common/ic_mail.png) no-repeat left top/100% auto;
  width: 32px;
  aspect-ratio: 32/25;
  left: 27px;
}
#side_cta .buttons .est {
  background-color: #fff;
}
#side_cta .buttons .est:before {
  background-image: url(../img/school/blue.png);
}
#side_cta .buttons .est:hover {
  background-color: #4981b0;
}
#side_cta .buttons .est:hover:before {
  background-image: url(../img/school/blue_hover.png);
}
#side_cta .buttons .est:after {
  background: url(../img/common/ic_est.png) no-repeat left top/100% auto;
  width: 28px;
  aspect-ratio: 28/35;
  left: 28px;
}
#side_cta .buttons .line {
  background-color: #fff;
}
#side_cta .buttons .line:before {
  background-image: url(../img/school/green.png);
}
#side_cta .buttons .line:hover {
  background-color: #47ca56;
}
#side_cta .buttons .line:hover:before {
  background-image: url(../img/school/green_hover.png);
}
#side_cta .buttons .line:hover:after {
  background-image: url(../img/school/ic_line_w.png);
}
#side_cta .buttons .line:after {
  background: url(../img/school/ic_line.png) no-repeat left top/100% auto;
  width: 28px;
  aspect-ratio: 28/26;
  left: 30px;
}

.org_widget .post_list .w_text {
  padding-top: 0;
}
.org_widget .post_list .w_text .text {
  font-weight: 500;
  font-size: 13px;
  line-height: 1.6;
}

/*―――――――――――――――――――――――――*
*	1500px 以下
*―――――――――――――――――――――――――*/
@media screen and (min-width: 1281px) and (max-width: 1500px) {
  #side_cta {
    padding-bottom: 20px;
  }
  #side_cta h2 {
    margin-bottom: 12px;
  }
  #side_cta p {
    padding-top: 205px;
    margin-bottom: 15px;
    line-height: 1.6;
  }
  #school_float_nav {
    padding: 95px 0 10px;
  }
}
/*―――――――――――――――――――――――――*
*	1280 以下
*―――――――――――――――――――――――――*/
@media screen and (min-width: 767px) and (max-width: 1280px) {
  #school #under_mv {
    background-image: url(../img/company/mv.jpg);
  }
  #school #two_column {
    flex-direction: row-reverse;
  }
  #school .search_text {
    font-size: 1.094vw;
    margin-top: -1.562vw;
    margin-bottom: 2.344vw;
    color: #aea8a2;
  }
  .archive_list .s_data {
    margin: 1.563vw 0;
    font-size: 1.016vw;
    font-weight: bold;
    display: flex;
    line-height: 1.2;
  }
  .archive_list .s_data li span {
    color: #3a938c;
  }
  .archive_list .s_data li:first-child {
    padding-right: 0.938vw;
    margin-right: 0.938vw;
    border-right: solid 1px #e5e5e5;
  }
  .org_widget .w_check_list {
    padding: 0 1.563vw 2.188vw;
  }
  .org_widget .widget_sub_ttl {
    font-size: 1.328vw;
    position: relative;
    height: 1.875vw;
    padding-left: 1.719vw;
    margin-bottom: 1.563vw;
    line-height: 1.4;
  }
  .org_widget .widget_sub_ttl:before {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    display: block;
    width: 0.391vw;
    height: 100%;
    border-radius: 0.781vw;
    background: #49b0a8;
  }
  .org_widget .w_check_list {
    padding-bottom: 2.188vw;
    margin-bottom: 2.188vw;
    border-bottom: dashed 1px #49b0a8;
    font-size: 1.094vw;
  }
  .org_widget .w_check_list ul {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.625vw 0;
  }
  .org_widget .w_check_list .grid {
    grid-template-columns: 1fr 1fr;
  }
  .org_widget .w_check_list .w_check_box input[type=checkbox] {
    display: none;
  }
  .org_widget .w_check_list .w_check_box input[type=checkbox]:checked + span:before {
    opacity: 1;
  }
  .org_widget .w_check_list .w_check_box input[type=checkbox]:checked + span:after {
    background: #49b0a8;
  }
  .org_widget .w_check_list .w_check_box.on span:after {
    background: #49b0a8;
  }
  .org_widget .w_check_list .w_check_box span {
    position: relative;
    display: inline-block;
    padding-left: 2.344vw;
  }
  .org_widget .w_check_list .w_check_box span:before, .org_widget .w_check_list .w_check_box span:after {
    top: 50%;
    transform: translate(0, -50%);
    position: absolute;
    left: 0;
    content: "";
    width: 1.563vw;
    height: 1.563vw;
  }
  .org_widget .w_check_list .w_check_box span:before {
    font-family: "Font Awesome 6 Free";
    content: "\f00c";
    font-weight: 900;
    display: inline-block;
    text-align: center;
    z-index: 2;
    font-size: 1.328vw;
    padding-left: 0.078vw;
    line-height: 1.563vw;
    color: #fff;
  }
  .org_widget .w_check_list .w_check_box span:after {
    z-index: 1;
    background: #fff;
    border: solid 1px #deded8;
  }
  .org_widget button.btn02 {
    border: none;
    width: 100%;
  }
  .org_widget button.btn02:before {
    background-image: url(../img/school/ic.png);
  }
  #single.school #bread {
    margin-bottom: 0;
  }
  #school_header {
    margin-bottom: 3.906vw;
    padding-left: 3.125vw;
  }
  #school_header h1 {
    flex-wrap: wrap;
    display: flex;
    flex-direction: column-reverse;
    line-height: 1.4;
    margin-bottom: 2.344vw;
  }
  #school_header h1 span {
    display: block;
  }
  #school_header h1 .sub {
    font-size: 1.406vw;
    margin-bottom: 1.563vw;
  }
  #school_header h1 .main {
    font-size: 3.125vw;
    letter-spacing: 0.1em;
  }
  #school_header .s_data {
    margin: 1.563vw 0;
    font-size: 1.016vw;
    font-weight: bold;
    display: flex;
    line-height: 1.2;
    padding-left: 0.391vw;
  }
  #school_header .s_data li {
    padding-right: 0.938vw;
    margin-right: 0.938vw;
    border-right: solid 1px #e5e5e5;
  }
  #school_header .s_data li span {
    color: #3a938c;
  }
  #school_header .s_data li:last-child {
    padding-right: 0;
    margin-right: 0;
    border-right: none;
  }
  #school_header .tags {
    display: flex;
    gap: 0.313vw;
    flex-wrap: wrap;
    margin-bottom: 4.688vw;
  }
  #school_header .tags:has(+ .top_news) {
    margin-bottom: 3.125vw;
  }
  #school_header .tags li {
    font-size: 0.938vw;
    display: inline-block;
    color: #3a938c;
    border-radius: 3.906vw;
    border: solid 1px #3a938c;
    line-height: 1.2;
    padding: 0.234vw 0.625vw 0.234vw 0.469vw;
    background: #fff;
  }
  #school_header .top_news {
    position: relative;
    margin-left: -3.125vw;
    border: solid 0.23vw #e76874;
    border-radius: 0.781vw 0 0.781vw 0;
    color: #e76874;
    padding: 1.563vw 2.344vw 1.563vw 6.25vw;
    background: #fff url(../img/school/ic_ex.svg) no-repeat 2.5vw center/2.5vw auto;
    margin-bottom: 3.516vw;
  }
  #school_header .top_news p {
    margin: 0;
  }
  #school_nav {
    margin-bottom: 4.688vw;
  }
  #school_nav ul {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
  }
  #school_nav ul li {
    border-right: dashed 1px #3a938c;
  }
  #school_nav ul li:last-child {
    border-right: none;
  }
  #school_nav a {
    color: var(--black);
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    text-align: center;
    height: 4.688vw;
    font-size: 1.25vw;
    font-weight: bold;
    line-height: 1.6;
    background: url(../img/school/arrow.svg) no-repeat center bottom/1.094vw auto;
    padding-bottom: 0.938vw;
    transition: opacity 0.4s ease;
  }
  #school_nav a:hover {
    opacity: 0.6;
  }
  #school_float_nav {
    display: none;
    z-index: 998;
    position: fixed;
    background: #fff;
    top: 0;
    left: 0;
    width: 100%;
    padding: 8.594vw 0 1.563vw;
    box-shadow: 0 0 7px 5px rgba(42, 104, 107, 0.15);
  }
  #school_float_nav ul {
    margin: 0;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
  }
  #school_float_nav ul li {
    border-right: dashed 1px #3a938c;
    padding-left: 0.391vw;
    padding-right: 0.391vw;
  }
  #school_float_nav ul li:last-child {
    border-right: none;
  }
  #school_float_nav a {
    color: var(--black);
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    text-align: center;
    height: 3.125vw;
    font-size: 1.172vw;
    font-weight: bold;
    line-height: 1.6;
    background: url(../img/school/arrow.svg) no-repeat center bottom 0.234vw/0.938vw auto;
    padding-bottom: 0.781vw;
    transition: opacity 0.4s ease;
    border-radius: 0.625vw;
  }
  #school_float_nav a.on {
    background: #49b0a8 url(../img/school/arrow_w.svg) no-repeat center bottom 0.234vw/0.938vw auto;
    color: #fff;
  }
  #school_detail {
    overflow: hidden;
    background: #fff;
    border-radius: 0.938vw;
  }
  #school_detail * {
    margin: 0;
  }
  #school_detail h2 {
    font-size: 1.875vw;
    background: #49b0a8;
    color: #fff;
    border-radius: 0.781vw 0;
    line-height: 1.3;
    position: relative;
    padding: 1.406vw 3.438vw;
    margin-bottom: 3.125vw;
  }
  #school_detail h2:before {
    position: absolute;
    content: "";
    display: block;
    width: 0.313vw;
    top: 1.563vw;
    bottom: 1.563vw;
    left: 1.563vw;
    border-radius: 0.781vw;
    background: #fff;
  }
  #school_detail h3:not(.cta_ttl, .grid01 h3) {
    font-size: 1.563vw;
    background: #e7f4f3;
    border-radius: 0.781vw 0;
    line-height: 1.3;
    position: relative;
    padding: 1.25vw 3.438vw 1.406vw;
    margin-bottom: 3.125vw;
  }
  #school_detail h3:not(.cta_ttl, .grid01 h3):before {
    position: absolute;
    content: "";
    display: block;
    width: 0.313vw;
    top: 1.172vw;
    bottom: 1.172vw;
    left: 1.563vw;
    border-radius: 0.781vw;
    background: #49b0a8;
  }
  #school_detail .inner {
    padding: 3.125vw;
  }
  #school_detail .lead {
    font-size: 1.563vw;
    font-weight: bold;
    line-height: 1.6;
    margin-bottom: 3.125vw;
  }
  #school_detail .chart_list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.344vw;
    margin-bottom: 5.469vw;
  }
  #school_detail .chart_list > div {
    display: flex;
    justify-content: space-between;
  }
  #school_detail .chart_list p {
    font-size: 1.094vw;
    color: #fff;
    background: #49b0a8;
    border-radius: 3.906vw;
    font-weight: bold;
    width: 9.063vw;
    text-align: center;
    height: 2.188vw;
    line-height: 2.188vw;
  }
  #school_detail .chart_list .right {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #school_detail .chart_list .text {
    font-size: 1.094vw;
    font-weight: bold;
  }
  #school_detail .chart_list .chart {
    width: 12.5vw;
    height: 0.234vw;
    display: flex;
    justify-content: space-between;
    background: #ebebeb;
    margin: 0 0.625vw;
  }
  #school_detail .chart_list .chart.position1 .circle:nth-child(1) {
    background: #49b0a8;
  }
  #school_detail .chart_list .chart.position2 .circle:nth-child(2) {
    background: #49b0a8;
  }
  #school_detail .chart_list .chart.position3 .circle:nth-child(3) {
    background: #49b0a8;
  }
  #school_detail .chart_list .chart.position4 .circle:nth-child(4) {
    background: #49b0a8;
  }
  #school_detail .chart_list .chart.position5 .circle:nth-child(5) {
    background: #49b0a8;
  }
  #school_detail .chart_list .chart .circle {
    position: relative;
    top: -0.547vw;
    width: 1.25vw;
    height: 1.25vw;
    display: inline-block;
    background: #ebebeb;
    border-radius: 50%;
  }
  #school_detail #section01 {
    margin-bottom: 6.25vw;
  }
  #school_detail #section01 .images {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1.953vw 1.953vw;
    margin-bottom: 2.734vw;
  }
  #school_detail #section01 .images div {
    border-radius: 0 1.172vw;
    overflow: hidden;
  }
  #school_detail #section01 .text01 {
    font-size: 1.25vw;
    line-height: 2;
    margin-bottom: 4.297vw;
  }
  #school_detail #section01 .grid01 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.813vw 2.344vw;
    counter-reset: number 0;
    margin-bottom: 3.906vw;
  }
  #school_detail #section01 .grid01 > div {
    position: relative;
  }
  #school_detail #section01 .grid01 > div:before {
    position: absolute;
    top: -0.781vw;
    left: -0.781vw;
    counter-increment: number 1;
    content: "0" counter(number);
    font-family: "satoshi";
    background: url(../img/step/giza.svg) no-repeat left top/100% auto;
    display: block;
    width: 4.688vw;
    height: 4.688vw;
    font-size: 1.016vw;
    text-align: center;
    line-height: 4.688vw;
    color: #fff;
  }
  #school_detail #section01 .grid01 .img {
    font-size: 0;
    line-height: 1;
    border-radius: 0 1.563vw;
    overflow: hidden;
    margin-bottom: 1.953vw;
  }
  #school_detail #section01 .grid01 h4 {
    font-size: 1.406vw;
    line-height: 1.6;
    margin-bottom: 1.172vw;
  }
  #school_detail #section01 .grid01 p {
    line-height: 2;
  }
  #school_detail #section01 .grid02 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.813vw 2.344vw;
    counter-reset: number 0;
    margin-bottom: 5.469vw;
  }
  #school_detail #section01 .grid02 .img {
    font-size: 0;
    line-height: 1;
    border-radius: 0 1.563vw;
    overflow: hidden;
  }
  #school_detail #section01 .grid02 .w_text {
    line-height: 2;
  }
  #school_detail #section01 .school_cta h3 {
    text-align: center;
    font-size: 1.875vw;
    position: relative;
    margin-bottom: 2.344vw;
  }
  #school_detail #section01 .school_cta h3:before, #school_detail #section01 .school_cta h3:after {
    content: "";
    display: inline-block;
    width: 0.156vw;
    height: 2.031vw;
    background: var(--black);
    border-radius: 0.391vw;
    position: relative;
    top: 0.313vw;
  }
  #school_detail #section01 .school_cta h3:before {
    margin-right: 0.938vw;
    transform: rotate(-25deg);
  }
  #school_detail #section01 .school_cta h3:after {
    margin-left: 0.938vw;
    transform: rotate(25deg);
  }
  #school_detail #section01 .school_cta h3 span {
    color: #3a938c;
  }
  #school_detail #section01 .school_cta ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 2.344vw;
  }
  #school_detail #section01 .school_cta ul li {
    background: #e7f4f3;
    border-radius: 0 1.563vw;
    padding: 2.344vw 1.563vw;
  }
  #school_detail #section01 .school_cta ul h4 {
    text-align: center;
    font-size: 1.563vw;
    margin-bottom: 1.172vw;
    letter-spacing: 0;
  }
  #school_detail #section01 .school_cta ul a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    text-decoration: none;
    color: var(--black);
    background: #fff;
    border-radius: 3.906vw;
    text-align: center;
    font-weight: bold;
    line-height: 1.6;
    height: 5.625vw;
  }
  #school_detail #section01 .school_cta ul a:hover:before {
    animation: btnArrow 0.6s ease;
  }
  #school_detail #section01 .school_cta ul a:before {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    right: 1.25vw;
    content: "";
    display: block;
    width: 3.125vw;
    height: 3.125vw;
    background: url(../img/common/arrow03.png) no-repeat left top/100% auto;
  }
  #school_detail #section01 .school_cta ul .mail {
    background: #fff url(../img/school/ic_mail.svg) no-repeat 2.5vw center/2.5vw auto;
  }
  #school_detail #section01 .school_cta ul .est {
    background: #fff url(../img/school/ic_est.svg) no-repeat 2.5vw center/2.188vw auto;
  }
  #school_detail #section02 {
    margin-bottom: 6.25vw;
  }
  #school_detail #section02 .w_course h3 {
    margin-bottom: 2.344vw;
  }
  #school_detail #section02 .w_course .grid {
    line-height: 2;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 2.344vw;
    margin-bottom: 3.125vw;
  }
  #school_detail #section02 .w_course .grid .border {
    border: solid 2px #3a938c;
    border-radius: 1.172vw;
    padding: 1.953vw 2.344vw;
    font-weight: bold;
  }
  #school_detail #section02 .w_course .grid .border span {
    color: #3a938c;
  }
  #school_detail #section02 .w_course table {
    width: 100%;
    text-align: center;
    border-top: solid 1px #ebebeb;
  }
  #school_detail #section02 .w_course table tr {
    border-bottom: solid 1px #ebebeb;
  }
  #school_detail #section02 .w_course table tr:first-child {
    color: #3a938c;
  }
  #school_detail #section02 .w_course table tr:first-child td {
    padding: 0.781vw 0.156vw;
  }
  #school_detail #section02 .w_course table tr td {
    padding: 0.391vw 0.156vw;
  }
  #school_detail #section02 .w_course table tr td:first-child {
    color: #3a938c;
  }
  #school_detail #section03 {
    margin-bottom: 5.469vw;
  }
  #school_detail .price_tab, #school_detail .gallery_tab {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
  }
  #school_detail .price_tab.five, #school_detail .gallery_tab.five {
    grid-template-columns: repeat(5, 1fr);
  }
  #school_detail .price_tab li, #school_detail .gallery_tab li {
    text-align: center;
    font-size: 1.25vw;
    font-weight: bold;
    padding-bottom: 1.875vw;
    border-bottom: solid 3px #ebebeb;
    line-height: 1.1;
    cursor: pointer;
  }
  #school_detail .price_tab .on, #school_detail .gallery_tab .on {
    cursor: default;
    color: #3a938c;
    border-bottom-color: #3a938c;
    background: url(../img/school/arrow.svg) no-repeat center bottom 0.391vw/0.859vw auto;
  }
  #school_detail .price_tab_content > div, #school_detail .gallery_tab_content > div {
    display: none;
    padding-top: 3.125vw;
  }
  #school_detail .price_tab_content > div:first-child, #school_detail .gallery_tab_content > div:first-child {
    display: block;
  }
  #school_detail .price_tab_content > div .w_course, #school_detail .gallery_tab_content > div .w_course {
    margin-bottom: 4.688vw;
  }
  #school_detail .price_tab_content > div .w_course:last-child, #school_detail .gallery_tab_content > div .w_course:last-child {
    margin-bottom: 0;
  }
  #school_detail .price_tab_content .gallery, #school_detail .gallery_tab_content .gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.953vw;
  }
  #school_detail .price_tab_content .gallery .img, #school_detail .gallery_tab_content .gallery .img {
    border-radius: 0 1.172vw;
    overflow: hidden;
    margin-bottom: 0.234vw;
  }
  #school_detail .price_tab_content .gallery p, #school_detail .gallery_tab_content .gallery p {
    font-size: 1.016vw;
  }
  #school_detail #section04 {
    margin-bottom: 6.25vw;
  }
  #school_detail #section04 h2 {
    margin-bottom: 2.344vw;
  }
  #school_detail #section04 .sc04_lead {
    line-height: 2;
    margin-bottom: 3.516vw;
  }
  #school_detail #section04 .grid01 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.813vw 2.344vw;
  }
  #school_detail #section04 .grid01 .img {
    font-size: 0;
    line-height: 1;
    border-radius: 0 1.563vw;
    overflow: hidden;
    margin-bottom: 1.953vw;
  }
  #school_detail #section04 .grid01 h3 {
    font-size: 1.406vw;
    line-height: 1.6;
    margin-bottom: 0.781vw;
  }
  #school_detail #section04 .grid01 p {
    line-height: 2;
  }
  #school_detail #section04 .btn02 {
    max-width: 31.25vw;
    display: flex;
    align-items: center;
    line-height: 1.4;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
    margin-top: 3.906vw;
  }
  #school_detail #section05, #school_detail #section06 {
    margin-bottom: 4.688vw;
  }
  #school_detail #section05 h2, #school_detail #section06 h2 {
    margin-bottom: 1.563vw;
  }
  #school_detail #section05 table, #school_detail #section06 table {
    line-height: 1.6;
    width: 100%;
  }
  #school_detail #section05 table tr, #school_detail #section06 table tr {
    border-bottom: solid 1px rgba(106, 91, 78, 0.3);
  }
  #school_detail #section05 table th, #school_detail #section06 table th {
    width: 14.844vw;
    color: #3a938c;
  }
  #school_detail #section05 table th span, #school_detail #section06 table th span {
    font-size: 1.016vw;
    margin-top: -0.391vw;
    display: block;
  }
  #school_detail #section05 table th, #school_detail #section05 table td, #school_detail #section06 table th, #school_detail #section06 table td {
    vertical-align: top;
    text-align: left;
    padding: 1.406vw 0.781vw;
    line-height: 2;
  }
  #school_detail #section05 table .serif, #school_detail #section06 table .serif {
    font-family: "serif";
    color: #ffcd76;
  }
  #school_detail #section05 table .pdf, #school_detail #section06 table .pdf {
    position: relative;
    color: #3a938c;
    text-decoration: underline;
    padding-right: 4.063vw;
  }
  #school_detail #section05 table .pdf:after, #school_detail #section06 table .pdf:after {
    position: absolute;
    font-size: 0.859vw;
    content: "PDF";
    background: #e76874;
    color: #fff;
    width: 3.281vw;
    height: 1.25vw;
    line-height: 1.25vw;
    text-align: center;
    border-radius: 3.906vw;
    top: 0.156vw;
    right: 0;
  }
  #school_detail #section06 table {
    margin-bottom: 4.688vw;
  }
  #school_detail #section06 #comment01 {
    margin-bottom: 4.688vw;
  }
  #school_detail #section06 #comment01 .flex {
    margin-bottom: 2.734vw;
  }
  #school_detail #section06 #comment01 .flex .w_img {
    width: 17.188vw;
  }
  #school_detail #section06 #comment01 .flex .w_text {
    width: calc(100% - 17.188vw);
    padding-left: 1.875vw;
  }
  #school_detail #section06 #comment01 .flex .w_name {
    position: relative;
    padding-left: 2.031vw;
    margin-bottom: 1.953vw;
    letter-spacing: 0.05em;
  }
  #school_detail #section06 #comment01 .flex .w_name:before {
    position: absolute;
    left: 0;
    background: #86c7c2;
    border-radius: 0.781vw;
    content: "";
    display: block;
    width: 0.391vw;
    height: 100%;
  }
  #school_detail #section06 #comment01 .flex .w_name .name {
    font-weight: bold;
    font-size: 1.875vw;
  }
  #school_detail #section06 #comment01 .flex .w_name .position {
    font-size: 0.938vw;
    color: #fff;
    background: #49b0a8;
    border-radius: 3.906vw;
    padding: 0.3vw 0.938vw;
    position: relative;
    top: -0.234vw;
  }
  #school_detail #section06 #comment01 .flex .w_name .en {
    font-size: 0.938vw;
  }
  #school_detail #section06 #comment01 .border {
    border-radius: 1.172vw;
    border: solid 2px #49b0a8;
    padding: 1.875vw 2.344vw;
    line-height: 2;
  }
  #school_detail #section06 #comment01 h4 {
    font-size: 1.406vw;
    font-weight: bold;
    color: #3a938c;
    margin-bottom: 0.781vw;
  }
  #school_detail #section06 #comment01 .text {
    font-size: 1.25vw;
    line-height: 2;
  }
  #school_detail #section06 #comment02, #school_detail #section06 #comment03 {
    margin-bottom: 4.688vw;
  }
  #school_detail #section06 #comment02 .flex .w_img, #school_detail #section06 #comment03 .flex .w_img {
    width: 7.813vw;
    text-align: center;
  }
  #school_detail #section06 #comment02 .flex .w_img .img, #school_detail #section06 #comment03 .flex .w_img .img {
    border-radius: 50%;
    overflow: hidden;
  }
  #school_detail #section06 #comment02 .flex .w_img .name, #school_detail #section06 #comment03 .flex .w_img .name {
    text-align: center;
    font-weight: bold;
    margin-top: 0.781vw;
  }
  #school_detail #section06 #comment02 .flex .w_text, #school_detail #section06 #comment03 .flex .w_text {
    width: calc(100% - 7.813vw);
    padding-left: 2.188vw;
    font-size: 1.25vw;
    line-height: 2;
  }
  #school_detail #section06 #comment02 .btn02, #school_detail #section06 #comment03 .btn02 {
    max-width: 31.25vw;
    margin-left: auto;
    margin-right: auto;
    margin-top: 2.344vw;
  }
  #school_detail .school_cta2 .grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 2.344vw;
  }
  #school_detail .school_cta2 .grid > div {
    padding: 2.344vw 1.563vw 2.344vw;
    border-radius: 0 1.563vw;
  }
  #school_detail .school_cta2 .ttl {
    text-align: center;
    font-weight: bold;
    font-size: 1.563vw;
    margin-bottom: 1.563vw;
  }
  #school_detail .school_cta2 .text {
    margin-bottom: 1.953vw;
    font-size: 1.172vw;
    line-height: 2;
    min-height: 7.031vw;
    padding: 0 1.563vw;
    letter-spacing: 0;
  }
  #school_detail .school_cta2 .line_box {
    background: #f7f7f3;
  }
  #school_detail .school_cta2 .line_box .ttl {
    color: #47ca56;
  }
  #school_detail .school_cta2 .pdf_box {
    background: #e7f4f3;
  }
  #school_detail .school_cta2 .pdf_box .ttl {
    color: #3a938c;
  }
  #school_detail .school_cta2 .pdf_box .ttl:after {
    position: relative;
    font-size: 0.859vw;
    content: "PDF";
    background: #e76874;
    display: inline-block;
    color: #fff;
    width: 3.281vw;
    height: 1.25vw;
    line-height: 1.25vw;
    text-align: center;
    border-radius: 3.906vw;
    top: -0.234vw;
    margin-left: 0.781vw;
  }
  #school_detail .school_cta2 .btn03 {
    line-height: 1.6;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #school_detail .sc_info {
    background: #f7f7f3;
    border-radius: 0.781vw 0 0.781vw 0;
    overflow: hidden;
    margin-bottom: 5vw;
  }
  #school_detail .sc_info .ttl {
    font-size: 1.875vw;
    color: #fff;
    background: #6a5b4e url(../img/school/ic_megaphone.svg) no-repeat 1.875vw center/2.344vw auto;
    border-radius: 0 0 0.781vw 0;
    padding: 1.406vw 1.563vw 1.25vw 4.844vw;
  }
  #school_detail .sc_info ul {
    padding: 0.781vw 1.563vw;
  }
  #school_detail .sc_info li {
    border-bottom: solid 1px #e4e4e0;
    padding: 1.875vw 0 1.875vw 3.125vw;
    background: url(../img/school/ic_ex.svg) no-repeat left 1.875vw/1.953vw auto;
  }
  #school_detail .sc_info li:last-child {
    border-bottom: none;
  }
  #school_detail .sc_info a {
    color: var(--black);
  }
  #side_cta {
    background: url(../img/school/side_bg01.png) no-repeat right top/10.938vw auto, url(../img/school/side_bg02.png) no-repeat left bottom/8.906vw auto, #49b0a8;
    border-radius: 1.172vw 0;
    padding: 1.406vw 1.563vw 2.344vw;
    margin-bottom: 3.125vw;
  }
  #side_cta * {
    margin: 0;
  }
  #side_cta h2 {
    color: #fff;
    font-size: 1.328vw;
    margin-bottom: 1.406vw;
    letter-spacing: 0.05em;
  }
  #side_cta h2 i {
    position: relative;
    top: 0.078vw;
    font-size: 1.563vw;
  }
  #side_cta p {
    color: #fff;
    line-height: 2;
    margin-bottom: 1.563vw;
    background: url(../img/school/side2.png) no-repeat left top/100% auto;
    padding-top: 17.188vw;
  }
  #side_cta .buttons li {
    margin-bottom: 1.172vw;
  }
  #side_cta .buttons li:last-child {
    margin-bottom: 0;
  }
  #side_cta .buttons a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    text-decoration: none;
    color: var(--black);
    background: #fff;
    border-radius: 3.906vw;
    text-align: center;
    font-weight: bold;
    line-height: 1.6;
    height: 5.625vw;
  }
  #side_cta .buttons a:before {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    right: 1.25vw;
    content: "";
    display: block;
    width: 3.125vw;
    height: 3.125vw;
    background: url(../img/common/arrow03.png) no-repeat left top/100% auto;
  }
  #side_cta .buttons .mail {
    background-color: #fff;
  }
  #side_cta .buttons .mail:hover {
    background-color: #e76874;
  }
  #side_cta .buttons .mail:hover:before {
    background-image: url(../img/school/pink_hove.png);
  }
  #side_cta .buttons .mail:after {
    background: url(../img/common/ic_mail.png) no-repeat left top/100% auto;
    width: 2.5vw;
    aspect-ratio: 32/25;
    left: 2.109vw;
  }
  #side_cta .buttons .est {
    background-color: #fff;
  }
  #side_cta .buttons .est:before {
    background-image: url(../img/school/blue.png);
  }
  #side_cta .buttons .est:hover {
    background-color: #4981b0;
  }
  #side_cta .buttons .est:hover:before {
    background-image: url(../img/school/blue_hover.png);
  }
  #side_cta .buttons .est:after {
    background: url(../img/common/ic_est.png) no-repeat left top/100% auto;
    width: 2.188vw;
    aspect-ratio: 28/35;
    left: 2.188vw;
  }
  #side_cta .buttons .line {
    background-color: #fff;
  }
  #side_cta .buttons .line:before {
    background-image: url(../img/school/green.png);
  }
  #side_cta .buttons .line:hover {
    background-color: #47ca56;
  }
  #side_cta .buttons .line:hover:before {
    background-image: url(../img/school/green_hover.png);
  }
  #side_cta .buttons .line:hover:after {
    background-image: url(../img/school/ic_line_w.png);
  }
  #side_cta .buttons .line:after {
    background: url(../img/school/ic_line.png) no-repeat left top/100% auto;
    width: 2.188vw;
    aspect-ratio: 28/26;
    left: 2.344vw;
  }
  .org_widget .post_list .w_text {
    padding-top: 0;
  }
  .org_widget .post_list .w_text .text {
    font-weight: 500;
    font-size: 1.016vw;
    line-height: 1.6;
  }
  #side_cta {
    padding-bottom: 1.563vw;
  }
  #side_cta h2 {
    margin-bottom: 0.938vw;
  }
  #side_cta p {
    padding-top: 16.016vw;
    margin-bottom: 1.172vw;
    line-height: 1.6;
  }
  #school_float_nav {
    padding: 7.422vw 0 0.781vw;
  }
}
/*―――――――――――――――――――――――――*
*	1150px 以下
*―――――――――――――――――――――――――*/
@media screen and (min-width: 768px) {
  .org_widget .sp_acd {
    display: block !important;
  }
}
/*―――――――――――――――――――――――――*
*	スマホ
*―――――――――――――――――――――――――*/
@media screen and (max-width: 767px) {
  #school #under_mv {
    background-image: url(../img/company/mv_sp.jpg);
  }
  #school #two_column #left {
    margin-bottom: 0;
  }
  #school #two_column #right {
    padding-top: 4vw;
    padding-left: 4vw;
    padding-right: 4vw;
    margin-bottom: 18.6666666667vw;
  }
  #school .result_count {
    padding-left: 4vw;
    padding-right: 4vw;
  }
  #school .search_text {
    padding-left: 4vw;
    padding-right: 4vw;
    font-size: 3.2vw;
    line-height: 1.6;
    margin-top: -2.6666666667vw;
    margin-bottom: 6.6666666667vw;
  }
  .archive_list .exc {
    letter-spacing: -0.05em;
  }
  .archive_list .s_data {
    font-size: 3.2vw;
    margin: 5.3333333333vw 0 4vw;
  }
  .archive_list .s_data li:first-child {
    padding-right: 2.1333333333vw;
    margin-right: 2.1333333333vw;
  }
  .org_widget #search_widget_ttl {
    position: relative;
    cursor: pointer;
  }
  .org_widget #search_widget_ttl.on:after {
    opacity: 0;
  }
  .org_widget #search_widget_ttl:before, .org_widget #search_widget_ttl:after {
    top: 50%;
    position: absolute;
    content: "";
    display: block;
    background: #fff;
    width: 3.4666666667vw;
    height: 0.5333333333vw;
    right: 4vw;
  }
  .org_widget #search_widget_ttl:after {
    transform: rotate(90deg);
  }
  .org_widget .sp_acd {
    display: none;
  }
  .org_widget .w_check_list {
    padding-left: 0;
    font-size: 3.2vw;
    padding-bottom: 5.3333333333vw;
    margin-bottom: 5.3333333333vw;
  }
  .org_widget .w_check_list .w_check_box span {
    padding-left: 7.4666666667vw;
  }
  .org_widget .w_check_list .w_check_box span:before, .org_widget .w_check_list .w_check_box span:after {
    width: 4.8vw;
    height: 4.8vw;
  }
  .org_widget .w_check_list .w_check_box span:before {
    font-size: 3.7333333333vw;
    line-height: 4.8vw;
  }
  .org_widget .widget_sub_ttl {
    font-size: 3.7333333333vw;
    padding-left: 4.8vw;
    height: 5.8666666667vw;
    margin-bottom: 4vw;
  }
  .org_widget .widget_sub_ttl:before {
    width: 4px;
  }
  .org_widget button.btn02 {
    margin-top: 8vw;
  }
  #single.school #bread {
    margin-bottom: 9.3333333333vw;
  }
  #school_header {
    padding-left: 0;
    padding-right: 0;
  }
  #school_header h1 {
    padding-left: 8vw;
    padding-right: 8vw;
  }
  #school_header h1 .sub {
    font-size: 3.4666666667vw;
    line-height: 1.6;
    margin-bottom: 3.2vw;
  }
  #school_header h1 .main {
    font-size: 6.9333333333vw;
    line-height: 1.4;
    letter-spacing: 0;
  }
  #school_header .s_data {
    font-size: 3.2vw;
    flex-wrap: wrap;
    padding-left: 8vw;
    padding-right: 8vw;
  }
  #school_header .s_data li {
    margin-bottom: 2.1333333333vw;
    padding-right: 3.2vw;
    margin-right: 3.2vw;
  }
  #school_header .s_data li:nth-child(2) {
    padding-right: 0;
    border-right: none;
    margin-right: 0;
  }
  #school_header .tags {
    padding: 0 8vw;
    gap: 0.8vw;
    margin-bottom: 12vw;
  }
  #school_header .tags li {
    font-size: 2.9333333333vw;
    padding: 0.8vw 2.1333333333vw 0.8vw 1.6vw;
  }
  #school_header .top_news {
    border-width: 2px;
    margin: 0 4vw 12vw;
    padding: 5.3333333333vw 6.6666666667vw 5.3333333333vw 14.6666666667vw;
    border-radius: 2.6666666667vw 0 2.6666666667vw 0;
    background-position: 5.3333333333vw 5.3333333333vw;
    background-size: 5.8666666667vw auto;
  }
  #school_header .top_news p {
    font-size: 3.4666666667vw;
    line-height: 1.6153846154;
    letter-spacing: 0.08em;
  }
  #school_nav, #school_float_nav {
    overflow: auto;
  }
  #school_nav ul, #school_float_nav ul {
    display: flex;
    width: 162.6666666667vw;
  }
  #school_nav a, #school_float_nav a {
    font-size: 3.4666666667vw;
    padding: 0 4vw 2.6666666667vw;
    height: 13.3333333333vw;
    background-size: 3.2vw auto;
  }
  #school_nav {
    margin-bottom: 13.3333333333vw;
  }
  #school_float_nav {
    z-index: 999;
    padding: 2.6666666667vw 0;
  }
  #school_float_nav ul {
    width: 177.3333333333vw;
  }
  #school_float_nav ul li {
    width: 29.3333333333vw;
    padding-left: 0.8vw;
    padding-right: 0.8vw;
  }
  #school_float_nav a {
    font-size: 3.2vw;
    border-radius: 1.3333333333vw;
  }
  #school_detail {
    border-radius: 3.2vw;
  }
  #school_detail h2 {
    font-size: 4.8vw;
    padding: 3.2vw 4vw 3.2vw 9.3333333333vw;
    border-radius: 2.1333333333vw 0;
    margin-bottom: 8vw;
  }
  #school_detail h2:before {
    top: 3.4666666667vw;
    bottom: 3.4666666667vw;
    left: 4vw;
    width: 1.0666666667vw;
  }
  #school_detail h3:not(.cta_ttl, .grid01 h3) {
    font-size: 4.2666666667vw;
    padding: 3.2vw 4vw 3.2vw 9.3333333333vw;
    border-radius: 2.1333333333vw 0;
    margin-bottom: 8vw;
  }
  #school_detail h3:not(.cta_ttl, .grid01 h3):before {
    top: 3.4666666667vw;
    bottom: 3.4666666667vw;
    left: 4vw;
    width: 1.0666666667vw;
  }
  #school_detail .inner {
    padding: 9.3333333333vw 0 4vw;
  }
  #school_detail .lead {
    font-size: 4.2666666667vw;
    padding-left: 8vw;
    padding-right: 8vw;
    line-height: 1.6;
    margin-bottom: 7.4666666667vw;
  }
  #school_detail .chart_list {
    grid-template-columns: 1fr;
    gap: 4vw 0;
    padding-left: 8vw;
    padding-right: 8vw;
    margin-bottom: 16vw;
  }
  #school_detail .chart_list > div {
    gap: 0 2.6666666667vw;
  }
  #school_detail .chart_list p {
    width: 24vw;
    height: 5.8666666667vw;
    line-height: 5.8666666667vw;
    font-size: 3.2vw;
  }
  #school_detail .chart_list .right {
    width: calc(100% - 26.6666666667vw);
  }
  #school_detail .chart_list .chart {
    width: 100%;
    height: 0.8vw;
    margin: 0 2.1333333333vw;
  }
  #school_detail .chart_list .chart .circle {
    top: -1.6vw;
    width: 3.7333333333vw;
    height: 3.7333333333vw;
  }
  #school_detail .chart_list .text {
    font-size: 3.2vw;
  }
  #school_detail #section01 {
    padding-left: 4vw;
    padding-right: 4vw;
    margin-bottom: 16vw;
  }
  #school_detail #section01 .images {
    grid-template-columns: 1fr;
    margin-bottom: 6.6666666667vw;
  }
  #school_detail #section01 .images > div {
    border-radius: 0 2.1333333333vw;
  }
  #school_detail #section01 .images > div:not(:first-child) {
    display: none;
  }
  #school_detail #section01 .images img {
    width: 100%;
  }
  #school_detail #section01 .text01 {
    font-size: 3.4666666667vw;
    padding-left: 4vw;
    padding-right: 4vw;
    margin-bottom: 12vw;
  }
  #school_detail #section01 .grid01 {
    grid-template-columns: 1fr;
    gap: 9.3333333333vw 0;
  }
  #school_detail #section01 .grid01 > div:before {
    width: 13.3333333333vw;
    height: 13.3333333333vw;
    line-height: 13.3333333333vw;
    font-size: 2.9333333333vw;
    top: -2.6666666667vw;
    left: -2.6666666667vw;
  }
  #school_detail #section01 .grid01 .img {
    border-radius: 0 2.6666666667vw;
    margin-bottom: 5.3333333333vw;
  }
  #school_detail #section01 .grid01 .img img {
    width: 100%;
  }
  #school_detail #section01 .grid01 h4, #school_detail #section01 .grid01 p {
    padding: 0 4vw;
  }
  #school_detail #section01 .grid01 h4 {
    font-size: 4.2666666667vw;
    line-height: 1.6;
    margin-bottom: 2.6666666667vw;
  }
  #school_detail #section01 .grid01 p {
    font-size: 3.4666666667vw;
    line-height: 1.6;
  }
  #school_detail #section01 .grid02 {
    grid-template-columns: 1fr;
    gap: 6.6666666667vw 0;
    margin-bottom: 10.6666666667vw;
  }
  #school_detail #section01 .grid02 .img {
    border-radius: 0 2.6666666667vw;
  }
  #school_detail #section01 .grid02 .img img {
    width: 100%;
  }
  #school_detail #section01 .grid02 .w_text {
    font-size: 3.4666666667vw;
    line-height: 2;
    padding: 0 4vw;
  }
  #school_detail #section01 .school_cta .cta_ttl {
    position: relative;
    max-width: fit-content;
    margin: 0 auto 5.8666666667vw;
    font-size: 4.8vw;
    line-height: 1.6;
  }
  #school_detail #section01 .school_cta .cta_ttl:before, #school_detail #section01 .school_cta .cta_ttl:after {
    position: absolute;
    top: auto;
    bottom: 1.6vw;
    width: 0.5333333333vw;
    height: 6.9333333333vw;
  }
  #school_detail #section01 .school_cta .cta_ttl:before {
    left: -4.8vw;
  }
  #school_detail #section01 .school_cta .cta_ttl:after {
    right: -4.8vw;
  }
  #school_detail #section01 .school_cta ul {
    grid-template-columns: 1fr;
    gap: 4vw 0;
  }
  #school_detail #section01 .school_cta ul li {
    padding: 8vw;
    border-radius: 0 2.6666666667vw;
  }
  #school_detail #section01 .school_cta ul li h4 {
    font-size: 4.5333333333vw;
    color: #3a938c;
    margin-bottom: 5.8666666667vw;
  }
  #school_detail #section01 .school_cta ul a {
    height: 16.8vw;
    font-size: 3.4666666667vw;
  }
  #school_detail #section01 .school_cta ul a:before {
    width: 9.6vw;
    height: 9.6vw;
    right: 4.2666666667vw;
  }
  #school_detail #section01 .school_cta ul .mail {
    background-size: 7.4666666667vw auto;
    background-position: 5.8666666667vw center;
  }
  #school_detail #section01 .school_cta ul .est {
    background-size: 6.9333333333vw auto;
    background-position: 5.8666666667vw center;
  }
  #school_detail #section02 {
    margin-bottom: 16vw;
  }
  #school_detail #section02 h2 {
    margin-left: 4vw;
    margin-right: 4vw;
  }
  #school_detail #section02 .price_tab_content > div {
    padding-top: 10.6666666667vw;
  }
  #school_detail #section02 .price_tab_content .w_course {
    margin-bottom: 13.3333333333vw;
  }
  #school_detail #section02 .price_tab_content .w_course h3 {
    margin-left: 4vw;
    margin-right: 4vw;
  }
  #school_detail #section02 .price_tab_content .w_course .grid {
    padding: 0 8vw;
    grid-template-columns: 1fr;
    margin-bottom: 6.6666666667vw;
  }
  #school_detail #section02 .price_tab_content .w_course .grid .border {
    border-radius: 2.6666666667vw;
    font-size: 3.4666666667vw;
    padding: 3.2vw 8vw;
    margin-bottom: 6.6666666667vw;
  }
  #school_detail #section02 .price_tab_content .w_course .grid .text {
    font-size: 3.4666666667vw;
    line-height: 2;
  }
  #school_detail #section02 .price_tab_content .w_course .w_table {
    overflow: auto;
    padding-left: 8vw;
    padding-right: 8vw;
  }
  #school_detail #section02 .price_tab_content .w_course .w_table table {
    width: 160vw !important;
    font-size: 3.7333333333vw;
  }
  #school_detail #section02 .price_tab_content .w_course .w_table table tr {
    border-bottom: solid 1px #ebebeb;
  }
  #school_detail #section02 .price_tab_content .w_course .w_table table tr:first-child {
    color: #3a938c;
  }
  #school_detail #section02 .price_tab_content .w_course .w_table table tr:first-child td {
    padding: 2.6666666667vw 0.5333333333vw;
  }
  #school_detail #section02 .price_tab_content .w_course .w_table table tr td {
    padding: 2.1333333333vw 0.5333333333vw;
  }
  #school_detail .price_tab, #school_detail .gallery_tab {
    padding-left: 4vw;
    padding-right: 4vw;
  }
  #school_detail .price_tab li, #school_detail .gallery_tab li {
    font-size: 3.2vw;
    background-size: 2.6666666667vw auto;
    background-position: center bottom 1.3333333333vw;
    padding-bottom: 4.8vw;
  }
  #school_detail .gallery_tab {
    letter-spacing: 0;
  }
  #school_detail .gallery_tab .single {
    padding-top: 1.3333333333vw;
  }
  #school_detail .gallery_tab > div {
    padding-top: 10.6666666667vw;
  }
  #school_detail .gallery_tab_content .gallery.sp_none {
    display: none;
  }
  #school_detail #section03 {
    margin-bottom: 16vw;
  }
  #school_detail #section03 h2 {
    margin-left: 4vw;
    margin-right: 4vw;
  }
  #school_detail #section03 .w_youtube {
    padding: 10.6666666667vw 4vw 0;
  }
  #school_detail #section03 #w_slide {
    padding-left: 4vw;
    position: relative;
    width: 77.3333333333vw;
    padding-bottom: 16vw;
  }
  #school_detail #section03 #w_slide:before {
    z-index: 3;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    background: #fff;
    content: "";
    display: block;
    width: 4vw;
    height: 100%;
  }
  #school_detail #section03 #w_slide img {
    width: 100%;
  }
  #school_detail #section03 #w_slide .img {
    border-radius: 0 2.6666666667vw;
    overflow: hidden;
  }
  #school_detail #section03 #w_slide p {
    font-size: 3.4666666667vw;
    margin-top: 2.6666666667vw;
  }
  #school_detail #section03 #w_slide .swiper-button-prev, #school_detail #section03 #w_slide .swiper-button-next {
    cursor: pointer;
    width: 9.6vw;
    height: 9.6vw;
    border-radius: 50%;
    border: solid 2px #49b0a8;
    top: auto;
    bottom: 0;
  }
  #school_detail #section03 #w_slide .swiper-button-prev:after, #school_detail #section03 #w_slide .swiper-button-next:after {
    content: none;
  }
  #school_detail #section03 #w_slide .swiper-pagination-fraction {
    position: absolute;
    font-size: 2.9333333333vw;
    bottom: 1.6vw;
    right: 17.3333333333vw;
    width: fit-content;
    left: auto;
  }
  #school_detail #section03 #w_slide .swiper-button-prev {
    background: url(../img/school/next.svg) no-repeat center/1.6vw auto;
    right: 2.6666666667vw;
    left: auto;
  }
  #school_detail #section03 #w_slide .swiper-button-next {
    background: url(../img/school/prev.svg) no-repeat center/1.6vw auto;
    right: -9.3333333333vw;
  }
  #school_detail #section04 {
    padding: 0 4vw;
    margin-bottom: 16vw;
  }
  #school_detail #section04 .sc04_lead {
    font-size: 3.4666666667vw;
    margin-bottom: 9.3333333333vw;
    padding: 0 4vw;
  }
  #school_detail #section04 .grid01 {
    grid-template-columns: 1fr;
    gap: 9.3333333333vw 0;
  }
  #school_detail #section04 .grid01 > div:before {
    width: 13.3333333333vw;
    height: 13.3333333333vw;
    line-height: 13.3333333333vw;
    font-size: 2.9333333333vw;
    top: -2.6666666667vw;
    left: -2.6666666667vw;
  }
  #school_detail #section04 .grid01 .img {
    border-radius: 0 2.6666666667vw;
    margin-bottom: 5.3333333333vw;
  }
  #school_detail #section04 .grid01 .img img {
    width: 100%;
  }
  #school_detail #section04 .grid01 h3, #school_detail #section04 .grid01 p {
    padding: 0 4vw;
  }
  #school_detail #section04 .grid01 h3 {
    font-size: 4.2666666667vw;
    line-height: 1.6;
    margin-bottom: 2.6666666667vw;
  }
  #school_detail #section04 .grid01 p {
    font-size: 3.4666666667vw;
    line-height: 1.6;
  }
  #school_detail #section04 .btn02 {
    margin-top: 8vw;
  }
  #school_detail #section05 {
    margin-bottom: 16vw;
  }
  #school_detail #section05, #school_detail #section06 {
    padding: 0 4vw;
  }
  #school_detail #section05 h2, #school_detail #section06 h2 {
    margin-bottom: 2.6666666667vw;
  }
  #school_detail #section05 table, #school_detail #section06 table {
    font-size: 3.4666666667vw;
  }
  #school_detail #section05 table tr, #school_detail #section05 table th, #school_detail #section05 table td, #school_detail #section06 table tr, #school_detail #section06 table th, #school_detail #section06 table td {
    width: 100%;
    display: block;
    padding: 0;
  }
  #school_detail #section05 table th, #school_detail #section06 table th {
    padding-top: 4vw;
    padding-bottom: 0.8vw;
  }
  #school_detail #section05 table th span, #school_detail #section06 table th span {
    font-size: 3.4666666667vw;
    display: inline-block;
  }
  #school_detail #section05 table td, #school_detail #section06 table td {
    line-height: 1.6;
    padding-bottom: 4vw;
  }
  #school_detail #section05 table .pdf, #school_detail #section06 table .pdf {
    padding-right: 13.8666666667vw;
  }
  #school_detail #section05 table .pdf:after, #school_detail #section06 table .pdf:after {
    font-size: 2.9333333333vw;
    width: 11.2vw;
    height: 4.2666666667vw;
    line-height: 4.2666666667vw;
    top: 0.5333333333vw;
  }
  #school_detail #section06 table {
    margin-bottom: 16vw;
  }
  #school_detail #section06 #comment01 {
    margin-bottom: 13.3333333333vw;
  }
  #school_detail #section06 #comment01 .flex {
    padding: 0 4vw;
    display: flex;
    margin-bottom: 5.3333333333vw;
  }
  #school_detail #section06 #comment01 .flex .w_img {
    width: 32vw;
  }
  #school_detail #section06 #comment01 .flex .w_text {
    width: calc(100% - 32vw);
    padding: 0 0 0 5.3333333333vw;
  }
  #school_detail #section06 #comment01 .flex .w_name {
    padding-left: 4.2666666667vw;
    line-height: 1.4;
    margin-bottom: 0;
  }
  #school_detail #section06 #comment01 .flex .w_name:before {
    width: 4px;
  }
  #school_detail #section06 #comment01 .flex .w_name .name {
    display: flex;
    flex-wrap: wrap;
  }
  #school_detail #section06 #comment01 .flex .w_name .name span:last-child {
    font-size: 5.8666666667vw;
  }
  #school_detail #section06 #comment01 .flex .w_name .position {
    top: auto;
    margin-left: 0;
    width: fit-content;
    font-size: 2.9333333333vw;
    padding: 0.5333333333vw 1.8666666667vw 0.5333333333vw;
    letter-spacing: 0;
    margin-bottom: 2.6666666667vw;
  }
  #school_detail #section06 #comment01 .flex .w_name .en {
    font-size: 2.9333333333vw;
    margin-top: 0.5333333333vw;
  }
  #school_detail #section06 #comment01 .icons {
    gap: 0 3.2vw;
    position: revert;
    margin-top: 4vw;
  }
  #school_detail #section06 #comment01 .icons li {
    width: 8vw;
  }
  #school_detail #section06 #comment01 .icons li img {
    width: 100%;
  }
  #school_detail #section06 #comment01 .border {
    border-radius: 2.6666666667vw;
    padding: 4.8vw 6.6666666667vw;
    font-size: 3.4666666667vw;
    line-height: 1.6;
    margin-left: 4vw;
    margin-right: 4vw;
    margin-bottom: 10.1333333333vw;
  }
  #school_detail #section06 #comment01 .border li {
    margin-bottom: 2.6666666667vw;
  }
  #school_detail #section06 #comment01 .border li:last-child {
    margin-bottom: 0;
  }
  #school_detail #section06 #comment01 h4, #school_detail #section06 #comment01 .text {
    padding: 0 4vw;
  }
  #school_detail #section06 #comment01 h4 {
    font-size: 4.2666666667vw;
    margin-bottom: 2.6666666667vw;
  }
  #school_detail #section06 #comment01 .text {
    font-size: 3.4666666667vw;
  }
  #school_detail #section06 #comment02, #school_detail #section06 #comment03 {
    margin-bottom: 13.3333333333vw;
  }
  #school_detail #section06 #comment02 h3, #school_detail #section06 #comment03 h3 {
    margin-bottom: 6.6666666667vw;
  }
  #school_detail #section06 #comment02 .flex, #school_detail #section06 #comment03 .flex {
    padding: 0 4vw;
  }
  #school_detail #section06 #comment02 .flex .w_img, #school_detail #section06 #comment03 .flex .w_img {
    width: 16vw;
    padding-top: 2.6666666667vw;
  }
  #school_detail #section06 #comment02 .flex .w_img .name, #school_detail #section06 #comment03 .flex .w_img .name {
    font-size: 3.2vw;
    margin-top: 2.6666666667vw;
  }
  #school_detail #section06 #comment02 .flex .w_text, #school_detail #section06 #comment03 .flex .w_text {
    width: calc(100% - 16vw);
    padding-left: 6.6666666667vw;
    font-size: 3.4666666667vw;
  }
  #school_detail #section06 #comment02 .btn02, #school_detail #section06 #comment03 .btn02 {
    max-width: 74.6666666667vw;
    margin-top: 8vw;
  }
  #school_detail .school_cta2 {
    padding: 0 4vw;
  }
  #school_detail .school_cta2 .grid {
    grid-template-columns: 1fr;
    gap: 4vw 0;
  }
  #school_detail .school_cta2 .grid > div {
    padding: 8vw;
    border-radius: 0 4vw;
  }
  #school_detail .school_cta2 .grid .ttl {
    font-size: 4.5333333333vw;
    margin-bottom: 4.8vw;
  }
  #school_detail .school_cta2 .grid .text {
    font-size: 3.4666666667vw;
    padding: 0;
    min-height: 0;
    margin-bottom: 5.3333333333vw;
  }
  #school_detail .school_cta2 .grid .pdf_box .ttl:after {
    font-size: 2.9333333333vw;
    width: 11.2vw;
    height: 4.2666666667vw;
    line-height: 4.2666666667vw;
    top: -0.5333333333vw;
    margin-left: 2.6666666667vw;
  }
  #school_detail .school_cta2 .grid .btn03, #school_detail .school_cta2 .grid .btn04 {
    width: 100%;
  }
  #school_detail .sc_info {
    margin-left: 4vw;
    margin-right: 4vw;
    border-radius: 2.6666666667vw 0 2.6666666667vw 0;
    padding-bottom: 2.6666666667vw;
  }
  #school_detail .sc_info .ttl {
    background-size: 5.0666666667vw auto;
    background-position: 4vw center;
    font-size: 4.8vw;
    border-radius: 0 0 2.6666666667vw 0;
    padding: 3.2vw 5.3333333333vw 2.6666666667vw 11.2vw;
  }
  #school_detail .sc_info ul {
    font-size: 3.4666666667vw;
    padding: 1.3333333333vw 4vw;
  }
  #school_detail .sc_info li {
    padding: 4vw 0 4vw 8vw;
    background-size: 4.8vw auto;
    background-position: left 4.8vw;
  }
  #single.school #two_column #left {
    margin-bottom: 16vw;
  }
  #side_cta {
    padding: 5.3333333333vw 4vw 8vw;
    border-radius: 2.6666666667vw 0;
    margin-bottom: 0;
  }
  #side_cta h2 {
    font-size: 4.2666666667vw;
    margin-bottom: 4.8vw;
  }
  #side_cta h2 i {
    font-size: 4.5333333333vw;
  }
  #side_cta p {
    padding-top: 70%;
    padding-left: 4vw;
    padding-right: 4vw;
    background-image: url(../img/school/side_sp2.png);
    font-size: 3.4666666667vw;
    margin-bottom: 6.6666666667vw;
  }
  #side_cta .buttons {
    padding-left: 4vw;
    padding-right: 4vw;
  }
  #side_cta .buttons li {
    margin-bottom: 2.6666666667vw;
  }
  #side_cta .buttons a {
    height: 16.8vw;
    font-size: 3.4666666667vw;
  }
  #side_cta .buttons a:before {
    width: 9.6vw;
    height: 9.6vw;
    right: 4.2666666667vw;
  }
  #side_cta .buttons .mail {
    background-size: 7.4666666667vw auto;
    background-position: 8vw center;
  }
  #side_cta .buttons .est {
    background-size: 6.9333333333vw auto;
    background-position: 8vw center;
  }
  .org_widget .post_list {
    padding-left: 4vw;
    padding-right: 4vw;
  }
  .org_widget .post_list .w_text .text {
    font-size: 3.2vw;
  }
}

/*# sourceMappingURL=common.css.map */
