@charset "UTF-8";
/**
 * 指定したブレークポイント以下（モバイル・タブレット向け）
 * @param $bp - ブレークポイント名 (xs, tb,tbmin, lg, lgmax)
 */
/**
 * 指定したブレークポイントより大きい（PC向け）
 * ブラウザ間の隙間を防ぐため 0.02px を加算
 * @param $bp - ブレークポイント名 (xs, tb, tbl, lg)
 */
/**
 * 2つのブレークポイントの間（特定の範囲向け）
 * @param $min - 最小幅のブレークポイント名
 * @param $max - 最大幅のブレークポイント名
 */
:root {
  /* color */
  --color-dark-ocean: #0097cf;
  --color-light-ocean: #bfe5f3;
  --color-lighter-ocecan: #ddf0f8;
  --color-dark-pink: #e5006e;
  --color-light-pink: #facce2;
  --color-dark-orange: #cd684d;
  --color-darker-orange: #ed6f1f;
  --color-dark-red: #e4006e;
  --color-light-red: #e46fbb;
  --color-lighter-red: #f6e5ea;
  --color-dark-orange: #b28300;
  --color-lighter-orange: #fadac7;
  --color-dark-purple: #ab71d8;
  --color-light-purple: #cbd2ff;
  --color-dark-green: #00b500;
  --color-light-green: #c1ffbf;
  --color-darker-green: #005351;
  --color-dark-yellow: #ed6d1f;
  --color-light-yellow: #f7e9dc;
  --color-yellow: #f5f515;
  --color-black: #000;
  --color-white: #fff;
  --color-gray: #4d4d4d;
  --color-light-gray: #f5f2f2;
  --color-gradient01: linear-gradient(-70deg, #f97c00 0%, #fbb03b 100%);
  --color-gradient03: linear-gradient(-70deg, #fbb03b 0%, #f97c00 100%);
  --color-gradient02: linear-gradient(-70deg, #002d62 0%, #4e6d92 100%);
  /* font size */
  --fs-12: 0.75rem;
  --fs-14: 0.875rem;
  --fs-15: 0.9375rem;
  --fs-16: 1rem;
  --fs-18: 1.125rem;
  --fs-19: 1.1875;
  --fs-20: 1.25rem;
  --fs-21: 1.3125rem;
  --fs-24: 1.5rem;
  --fs-25: 1.5625rem;
  --fs-26: 1.625rem;
  --fs-28: 2.3333rem;
  --fs-30: 1.875rem;
  --fs-32: 2rem;
  --fs-36: 2.25rem;
  --fs-37: 2.3125rem;
  --fs-38: 2.375rem;
  --fs-40: 2.5rem;
  /* font family */
  --ff-noto-san-jp: "Noto Sans JP", serif;
  --ff-noto-serif-jp: "Noto Serif", serif;
  --ff-zenkaku-gothic-antique: "Zen Kaku Gothic Antique", serif;
  /* font weight */
  --fw-100: 100;
  --fw-200: 200;
  --fw-300: 300;
  --fw-400: 400;
  --fw-500: 500;
  --fw-600: 600;
  --fw-700: 700;
  --fw-800: 700;
  --fw-900: 700;
  /* transition */
  --transition: 0.25s ease-in-out;
  /* box-shadow */
  --box-shadow: 0px 4px 10px hsla(0, 0%, 0%, 0.05);
  /* animation */
  --animation: slide-in 1.25s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ====================================================

                       common.css

======================================================*/
/* * {
    outline: 1px solid red;
} */
* {
  box-sizing: border-box;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
}

html {
  scroll-behavior: smooth;
}

body {
  color: #000;
  background: #fff;
  font-family: "Noto Sans JP", sans-serif;
  overflow-wrap: break-word;
  font-feature-settings: "palt";
  font-variant-east-asian: proportional-width;
  line-height: 1.733333;
  word-break: normal;
  line-break: strict;
}

body::-webkit-scrollbar {
  width: 15px;
}

body::-webkit-scrollbar-track {
  background: var(--color-white);
}

body::-webkit-scrollbar-thumb {
  background: #cccccc;
  border: 3px solid var(--color-white);
  border-radius: 10px;
}

body::-webkit-scrollbar-thumb:hover {
  background: #b3b3b3;
}

/* 共通のcss */
.inner900 {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
}

.inner954 {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
}

.inner1080 {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
}
@media (max-width: 750px) {
  .inner1080 {
    width: 90%;
    margin: 0 auto;
  }
}

.inner1920 {
  max-width: 1920px;
  margin: 0 auto;
}
@media (max-width: 750px) {
  .inner1920 {
    width: 90%;
    margin: 0 auto;
  }
}

.overflow {
  overflow: hidden;
}

.clearfix {
  zoom: 1;
}

.orange {
  color: var(--color-dark-yellow);
}

.centertxt {
  text-align: center;
}

.lefttxt {
  text-align: left;
}

.righttxt {
  text-align: right;
}

.dislay {
  display: flex;
}

.animate {
  opacity: 0;
  transition: opacity 0.8s ease, transform 0.8s ease;
  will-change: transform, opacity;
}

.fade-up {
  transform: translateY(40px);
}

.fade-left {
  transform: translateX(-60px);
}

.fade-right {
  transform: translateX(40px);
}

.animate.is-show {
  opacity: 1;
  transform: translate(0, 0);
}

/* Display for PC and SP */
.forPC {
  display: block !important;
}

.forSP {
  display: none !important;
}

@media (max-width: 750px) {
  .forSP {
    display: block !important;
  }
  .forPC {
    display: none !important;
  }
}
.swiper {
  width: 90%;
  height: 100%;
  overflow: hidden !important;
}

.swiper-container {
  width: 100%;
  overflow: hidden;
  position: relative;
}

.swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
}

.swiper-slide img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.card-slide {
  height: auto;
  display: flex;
  justify-content: center;
}

.card-slide picture,
.card-slide img {
  width: auto;
  height: auto;
  display: block;
  object-fit: contain;
}
@media (max-width: 750px) {
  .card-slide picture,
  .card-slide img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
  }
}

.swiper-button-next::after,
.swiper-button-prev::after {
  display: none;
}

.swiper-button-next,
.swiper-button-prev {
  width: 0 !important;
  height: 0 !important;
  border-top: 6vw solid transparent;
  border-bottom: 6vw solid transparent;
  background: none;
  position: relative;
}

.swiper-button-prev {
  border-right: 3vw solid var(--color-gray);
  left: 0px !important;
}

.swiper-button-next {
  border-left: 3vw solid var(--color-gray);
  right: 0 !important;
}

.swiper-button-prev:hover {
  border-right-color: var(--color-gray, #ccc);
}

.swiper-button-next:hover {
  border-left-color: var(--color-gray, #ccc);
}

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