@charset "UTF-8";
/* ==========================================================
 mixin 
========================================================== */
.c-breadcrumb {
  font-size: 1.2rem;
  margin: 0.5rem 0;
}
@media (max-width: 767px) {
  .c-breadcrumb {
    font-size: 1rem;
  }
}
.c-breadcrumb__list {
  width: 100%;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .c-breadcrumb__list {
    overflow-x: scroll;
  }
}
.c-breadcrumb__list li {
  display: inline;
}

.c-blubtn {
  background-color: var(--secondary);
  color: #fff;
  font-weight: 700;
  width: 100%;
  transition: 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  .c-blubtn:hover:hover {
    background-color: #8f9bb3;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .c-blubtn:hover:hover {
    background-color: #8f9bb3;
  }
}
.c-blubtn a {
  padding: 1.5rem 6rem;
  display: flex;
  height: inherit;
  justify-content: center;
  align-items: center;
}
@media (max-width: 767px) {
  .c-blubtn a {
    font-size: 1.4rem;
    padding: 0.7rem;
  }
}
.c-blubtn .blubtn-nopad {
  padding: 1.5rem 0;
  display: flex;
  height: inherit;
  justify-content: center;
  align-items: center;
}
@media (max-width: 767px) {
  .c-blubtn .blubtn-nopad {
    font-size: 1.4rem;
    padding: 0.7rem;
  }
}
.c-blubtn--small {
  background-color: var(--secondary);
  color: #fff;
  font-weight: 700;
  border: 1px solid transparent;
  transition: 0.3s;
}
.c-blubtn--small a {
  display: flex;
  height: inherit;
  justify-content: center;
  align-items: center;
}
@media (max-width: 767px) {
  .c-blubtn--small a {
    font-size: 1.4rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-blubtn--small:hover:hover {
    background-color: #fff;
    color: var(--secondary);
    border: 1px solid var(--secondary);
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .c-blubtn--small:hover:hover {
    background-color: #fff;
    color: var(--secondary);
    border: 1px solid var(--secondary);
  }
}

.c-graybtn {
  background-color: #747474;
  color: #fff;
  font-weight: 700;
  width: 100%;
  transition: 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  .c-graybtn:hover:hover {
    background-color: #8f9bb3;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .c-graybtn:hover:hover {
    background-color: #8f9bb3;
  }
}
.c-graybtn a {
  padding: 1.5rem 6rem;
  display: flex;
  height: inherit;
  justify-content: center;
  align-items: center;
}
@media (max-width: 767px) {
  .c-graybtn a {
    font-size: 1.4rem;
    padding: 0.7rem;
  }
}

.c-whibtn {
  background-color: #fff;
  border: 1px solid var(--secondary);
  color: var(--secondary);
  font-weight: 700;
  width: 100%;
  transition: 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  .c-whibtn:hover:hover {
    background-color: #8f9bb3;
    color: #fff;
    border: 1px solid transparent;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .c-whibtn:hover:hover {
    background-color: #8f9bb3;
    color: #fff;
    border: 1px solid transparent;
  }
}
.c-whibtn a {
  padding: 1.5rem;
  display: flex;
  height: inherit;
  justify-content: center;
  align-items: center;
}
@media (max-width: 767px) {
  .c-whibtn a {
    font-size: 1.4rem;
    padding: 0.7rem;
  }
}
.c-whibtn--small {
  background-color: #fff;
  border: 1px solid var(--secondary);
  color: var(--secondary);
  font-weight: 700;
  transition: 0.3s;
}
.c-whibtn--small a {
  display: flex;
  width: 100%;
  height: inherit;
  justify-content: center;
  align-items: center;
}
@media (max-width: 767px) {
  .c-whibtn--small a {
    font-size: 1.4rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-whibtn--small:hover:hover {
    background-color: var(--secondary);
    color: #fff;
    border: 1px solid transparent;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .c-whibtn--small:hover:hover {
    background-color: var(--secondary);
    color: #fff;
    border: 1px solid transparent;
  }
}

.c-fgoldbtn {
  color: #fff;
  background-color: var(--tertiary);
  transition: 0.3s;
  border: 1px solid transparent;
}
.c-fgoldbtn a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 4rem;
}
@media (hover: hover) and (pointer: fine) {
  .c-fgoldbtn:hover:hover {
    background-color: #fff;
    border: 1px solid var(--tertiary);
    color: var(--tertiary);
    font-weight: 700;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .c-fgoldbtn:hover:hover {
    background-color: #fff;
    border: 1px solid var(--tertiary);
    color: var(--tertiary);
    font-weight: 700;
  }
}

.c-goldbtn {
  border: 1px solid var(--tertiary);
  color: var(--tertiary);
  font-weight: 700;
  background-color: #fff;
  transition: 0.3s;
}
.c-goldbtn a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.5rem 4rem;
}
@media (max-width: 767px) {
  .c-goldbtn a {
    font-size: 1.4rem;
  }
}
.c-goldbtn a p {
  width: 100%;
  text-align: center;
}
.c-goldbtn--arw {
  display: flex;
  position: relative;
}
@media (hover: hover) and (pointer: fine) {
  .c-goldbtn:hover:hover {
    background-color: var(--tertiary);
    border: 1px solid transparent;
    color: #fff;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .c-goldbtn:hover:hover {
    background-color: var(--tertiary);
    border: 1px solid transparent;
    color: #fff;
  }
}

.c-more {
  position: relative;
  font-size: 1.5rem;
  font-weight: 700;
  background: #fff;
  border: solid 1px #d0d0d0;
  text-align: center;
  width: 17rem;
  height: 3.7rem;
  display: flex;
  align-items: center;
  transition: 0.3s;
}
@media (max-width: 767px) {
  .c-more {
    font-size: 1.4rem;
  }
}
.c-more p {
  width: 90%;
}
@media (hover: hover) and (pointer: fine) {
  .c-more:hover:hover {
    background: #d0d0d0;
    color: #fff;
    border: 1px solid transparent;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .c-more:hover:hover {
    background: #d0d0d0;
    color: #fff;
    border: 1px solid transparent;
  }
}
.c-more--on {
  position: absolute;
  bottom: 0;
  right: 0;
  font-size: 1.3rem;
  font-weight: 700;
  background: rgba(255, 255, 255, 0.62);
  text-align: center;
  width: 14rem;
  height: 3rem;
  display: flex;
  align-items: center;
  transition: 0.3s;
  justify-content: center;
}
@media (max-width: 767px) {
  .c-more--on {
    background-color: var(--gray);
    position: relative;
    height: 1.6rem;
    width: 100%;
  }
}
.c-more--on p {
  width: 90%;
  font-size: 13px;
}
@media (max-width: 767px) {
  .c-more--on p {
    font-size: 1rem;
    width: 8.6rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-more--on:hover:hover {
    background: #d0d0d0;
    color: #fff;
    border: 1px solid transparent;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .c-more--on:hover:hover {
    background: #d0d0d0;
    color: #fff;
    border: 1px solid transparent;
  }
}

.c-ctrl {
  width: 12rem;
  height: 3rem;
  background-color: #fff;
  border: 1px solid #adadad;
  border-radius: 1.5rem;
  display: flex;
  justify-content: space-between;
}
.c-ctrl__btn {
  width: 10rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #adadad;
  font-size: 1.4rem;
  cursor: pointer;
  background-color: #fff;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2236%22%20height%3D%2236%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23adadad%22%20stroke-width%3D%221%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20class%3D%22ai%20ai-Pause%22%3E%3Cpath%20d%3D%22M7%205v14M17%205v14%22%2F%3E%3C%2Fsvg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: relative;
}
.c-ctrl__btn.is-off {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2236%22%20height%3D%2236%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23adadad%22%20stroke-width%3D%221%22%20class%3D%22ai%20ai-TriangleRightFill%22%3E%3Cpath%20d%3D%22M8%206a1%201%200%200%201%201.6-.8l8%206a1%201%200%200%201%200%201.6l-8%206A1%201%200%200%201%208%2018V6z%22%2F%3E%3C%2Fsvg%3E");
}
.c-ctrl__arw {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #adadad;
  font-size: 1.4rem;
  cursor: pointer;
}
.c-ctrl__arw::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  color: currentColor;
  line-height: 1;
  position: relative;
  border-top: currentColor 1px solid;
  border-right: currentColor 1px solid;
  width: 1rem;
  height: 1rem;
  transform: translateX(25%) rotate(-135deg);
}
.c-ctrl .__next::after {
  transform: translateX(-10%) rotate(45deg);
}

.obj--ctrl-border {
  display: block;
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  border-right: 1px solid #adadad;
  border-left: 1px solid #adadad;
}

.c-play {
  width: 26px;
  height: 26px;
  border: 1px solid #fff;
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 27.8.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' id='レイヤー_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 36 36' style='enable-background:new 0 0 36 36;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:none;stroke:%23FFFFFF;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:6;%7D%0A%3C/style%3E%3Cpath class='st0' d='M10.5,7.5v21 M25.5,7.5v21'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.c-play.is-off {
  background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 27.8.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' id='レイヤー_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 36 36' style='enable-background:new 0 0 36 36;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M12,9c0-0.8,0.7-1.5,1.5-1.5c0.3,0,0.6,0.1,0.9,0.3l12,9c0.7,0.5,0.8,1.4,0.3,2.1c-0.1,0.1-0.2,0.2-0.3,0.3 l-12,9c-0.7,0.5-1.6,0.4-2.1-0.3C12.1,27.6,12,27.3,12,27V9z'/%3E%3C/svg%3E%0A");
}
@media (max-width: 767px) {
  .c-play {
    width: 18px;
    height: 18px;
    border-radius: 5px;
  }
}

.c-trans {
  width: 100%;
  height: inherit;
  color: currentColor;
  border: 1px solid currentColor;
  padding: 1rem 0;
  cursor: pointer;
}

.u-arw {
  color: currentColor;
  position: absolute;
  right: 1rem;
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  width: 1em;
  height: 0.1em;
  background: currentColor;
}
.u-arw::before {
  content: "";
  width: 0.65em;
  height: 0.65em;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  transform: rotate(45deg);
  transform-origin: top right;
  position: absolute;
  top: 50%;
  right: -0.05em;
  box-sizing: border-box;
}
.u-arw--next {
  position: relative;
  right: 1rem;
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  width: 1em;
  height: 0.1em;
  background: currentColor;
}
@media (max-width: 767px) {
  .u-arw--next {
    right: 0;
  }
}
.u-arw--next::before {
  content: "";
  width: 0.55em;
  height: 0.55em;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  transform: rotate(45deg);
  transform-origin: top right;
  position: absolute;
  top: 50%;
  right: -0.05em;
  box-sizing: border-box;
}

.obj--bot {
  bottom: 2rem;
}

.obj--botbot {
  bottom: 1.2rem;
  right: 0.7rem;
}

.u-arw-on {
  position: relative;
}
.u-arw-on__bg {
  position: absolute;
  display: flex;
  align-items: center;
  width: 4rem;
  height: 4rem;
  bottom: 0;
  right: 0;
  background-color: rgba(255, 255, 255, 0.6);
  color: var(--black);
}
.u-arw-on__bg--bn {
  background-color: rgba(255, 255, 255, 0.6);
  color: var(--black);
  position: absolute;
  display: flex;
  align-items: center;
  width: 3rem;
  height: 2.7rem;
  bottom: 0;
  right: 0;
}

.u-darw {
  pointer-events: none;
  position: absolute;
  right: 1rem;
  top: 50%;
  display: inline-block;
  vertical-align: middle;
  color: #333;
  line-height: 1;
  width: 10px;
  height: 10px;
  border: 2px solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(-50%) rotate(135deg);
  transition: 0.3s;
  pointer-events: none;
}

.u-darw.darw-close {
  transform: translateY(0%) rotate(315deg);
}

.u-down {
  display: inline-block;
  vertical-align: middle;
  color: currentColor;
  line-height: 1;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent;
  border-width: 0.64952em 0.375em;
  border-top-color: currentColor;
  border-bottom: 0;
}

.u-counter {
  color: #adadad;
  left: 0;
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  .u-counter {
    position: absolute;
    padding-left: 1rem;
    font-size: 1rem;
  }
}
.u-counter .pagingInfo {
  font-size: 3rem;
  font-weight: 700;
}
@media (max-width: 767px) {
  .u-counter .pagingInfo {
    font-size: 2rem;
  }
}

/* 左右のスライド */
.u-emslid li:not(.slick-center) {
  transform: scale(0.85) !important;
}
@media (max-width: 767px) {
  .u-emslid li:not(.slick-center) {
    transform: scale(1) !important;
  }
}

.u-topslid .slick-center {
  transform: scale(1.5);
}
@media (max-width: 767px) {
  .u-topslid .slick-center {
    transform: scale(1);
  }
}
.u-topslid .slick-list {
  overflow: unset;
}

.u-topslid li:not(.slick-center) {
  transform: scale(0.8) !important;
}
@media (max-width: 767px) {
  .u-topslid li:not(.slick-center) {
    transform: scale(1) !important;
  }
}
.u-topslid li:not(.slick-center) .u-topslid--hid {
  display: none;
}
@media (max-width: 767px) {
  .u-topslid li:not(.slick-center) .u-topslid--hid {
    display: flex;
    opacity: 0;
  }
}
.u-topslid li:not(.slick-center) .p-pusl__item-img img {
  filter: brightness(0.6);
}

.u-nodot .slick-dots {
  display: none !important;
}

.u-flexcol .slick-track {
  display: flex;
}
.u-flexcol .slick-slide {
  height: auto !important;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.p-slickpnt .u-relat .slick-slide {
  position: relative;
}

.slickmain .slick-track {
  display: flex !important;
}
.slickmain .slick-slide {
  height: inherit !important;
  max-height: 35vw;
}
@media (max-width: 767px) {
  .slickmain .slick-slide {
    max-height: 65vw;
  }
}

.slickmain.slick-slider {
  touch-action: auto !important;
}

.js-modalSlide.slick-slider {
  touch-action: auto !important;
}

.u-mg0-5 .slick-slide {
  margin-right: 0.5rem !important;
  margin-left: 0.5rem !important;
}
@media (max-width: 767px) {
  .u-mg0-5 .slick-slide {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
}

.u-mg1 .slick-slide {
  margin-right: 1rem !important;
  margin-left: 1rem !important;
}
@media (max-width: 767px) {
  .u-mg1 .slick-slide {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
}

.u-mg2 .slick-slide {
  margin-right: 2rem !important;
}
@media (max-width: 767px) {
  .u-mg2 .slick-slide {
    margin-right: 2rem !important;
  }
}

@media (max-width: 767px) {
  .slickbnr .slick-slide {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
}

.slickosu .slick-list {
  margin: 0 -1rem;
}

.p-slickpnt .slick-next, .p-slickpnt .slick-prev, .js-modalSlide .slick-next, .js-modalSlide .slick-prev {
  font-size: 0;
}
.p-slickpnt .slick-arrow, .js-modalSlide .slick-arrow {
  position: absolute;
  width: 4rem;
  height: 4rem;
  z-index: 1;
  top: 50%;
  transform: translateY(-50%);
}
@media (max-width: 767px) {
  .p-slickpnt .slick-arrow, .js-modalSlide .slick-arrow {
    top: 25%;
  }
}
.p-slickpnt .slick-arrow::after, .js-modalSlide .slick-arrow::after {
  content: "";
  width: 20px;
  height: 20px;
  display: block;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
.p-slickpnt .slick-prev, .js-modalSlide .slick-prev {
  left: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 767px) {
  .p-slickpnt .slick-prev, .js-modalSlide .slick-prev {
    left: 0;
  }
}
.p-slickpnt .slick-prev::after, .js-modalSlide .slick-prev::after {
  transform: translate(-10%, 10%) rotate(225deg);
}
.p-slickpnt .slick-next, .js-modalSlide .slick-next {
  right: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 767px) {
  .p-slickpnt .slick-next, .js-modalSlide .slick-next {
    right: 0;
  }
}
.p-slickpnt .slick-next::after, .js-modalSlide .slick-next::after {
  transform: translate(-10%, 10%) rotate(45deg);
}
.p-slickpnt .slick-track, .js-modalSlide .slick-track {
  display: flex;
}
.p-slickpnt .slick-slide, .js-modalSlide .slick-slide {
  height: auto !important;
}

.u-font-en {
  font-family: "proxima-nova", "source-han-sans-japanese", sans-serif !important;
  font-weight: 400;
}

.u-font-enb {
  font-family: "proxima-nova", "source-han-sans-japanese", sans-serif !important;
  font-weight: 700;
}

.u-font-b {
  font-family: "source-han-sans-japanese", sans-serif !important;
  font-weight: 700;
}

.u-font-semi {
  font-weight: 600;
}

.u-font-med {
  font-weight: 500;
}

.u-siz-eng {
  font-size: 1.06em;
}

.row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(var(--bs-gutter-y) * -1);
  margin-right: calc(var(--bs-gutter-x) / -2);
  margin-left: calc(var(--bs-gutter-x) / -2);
}

.row > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) / 2);
  padding-left: calc(var(--bs-gutter-x) / 2);
  margin-top: var(--bs-gutter-y);
}

.col {
  flex: 1 0 0%;
}

.row-cols-auto > * {
  flex: 0 0 auto;
  width: auto;
}

.row-cols-1 > * {
  flex: 0 0 auto;
  width: 100%;
}

.row-cols-2 > * {
  flex: 0 0 auto;
  width: 50%;
}

.row-cols-3 > * {
  flex: 0 0 auto;
  width: 33.3333333333%;
}

.row-cols-4 > * {
  flex: 0 0 auto;
  width: 25%;
}

.row-cols-5 > * {
  flex: 0 0 auto;
  width: 20%;
}

.row-cols-6 > * {
  flex: 0 0 auto;
  width: 16.6666666667%;
}

.col-auto {
  flex: 0 0 auto;
  width: auto;
}

.col-1 {
  flex: 0 0 auto;
  width: 8.3333333333%;
}

.col-2 {
  flex: 0 0 auto;
  width: 16.6666666667%;
}

.col-3 {
  flex: 0 0 auto;
  width: 25%;
}

.col-4 {
  flex: 0 0 auto;
  width: 33.3333333333%;
}

.col-5 {
  flex: 0 0 auto;
  width: 41.6666666667%;
}

.col-6 {
  flex: 0 0 auto;
  width: 50%;
}

.col-7 {
  flex: 0 0 auto;
  width: 58.3333333333%;
}

.col-8 {
  flex: 0 0 auto;
  width: 66.6666666667%;
}

.col-9 {
  flex: 0 0 auto;
  width: 75%;
}

.col-10 {
  flex: 0 0 auto;
  width: 83.3333333333%;
}

.col-11 {
  flex: 0 0 auto;
  width: 91.6666666667%;
}

.col-12 {
  flex: 0 0 auto;
  width: 100%;
}

.offset-1 {
  margin-left: 8.3333333333%;
}

.offset-2 {
  margin-left: 16.6666666667%;
}

.offset-3 {
  margin-left: 25%;
}

.offset-4 {
  margin-left: 33.3333333333%;
}

.offset-5 {
  margin-left: 41.6666666667%;
}

.offset-6 {
  margin-left: 50%;
}

.offset-7 {
  margin-left: 58.3333333333%;
}

.offset-8 {
  margin-left: 66.6666666667%;
}

.offset-9 {
  margin-left: 75%;
}

.offset-10 {
  margin-left: 83.3333333333%;
}

.offset-11 {
  margin-left: 91.6666666667%;
}

.g-0,
.gx-0 {
  --bs-gutter-x: 0;
}

.g-0,
.gy-0 {
  --bs-gutter-y: 0;
}

.g-1,
.gx-1 {
  --bs-gutter-x: 0.25rem;
}

.g-1,
.gy-1 {
  --bs-gutter-y: 0.25rem;
}

.g-2,
.gx-2 {
  --bs-gutter-x: 0.5rem;
}

.g-2,
.gy-2 {
  --bs-gutter-y: 0.5rem;
}

.g-3,
.gx-3 {
  --bs-gutter-x: 1rem;
}

.g-3,
.gy-3 {
  --bs-gutter-y: 1rem;
}

.g-4,
.gx-4 {
  --bs-gutter-x: 1.5rem;
}

.g-4,
.gy-4 {
  --bs-gutter-y: 1.5rem;
}

.g-5,
.gx-5 {
  --bs-gutter-x: 3rem;
}

.g-5,
.gy-5 {
  --bs-gutter-y: 3rem;
}

@media (min-width: 576px) {
  .col-sm {
    flex: 1 0 0%;
  }
  .row-cols-sm-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-sm-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-sm-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-sm-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .row-cols-sm-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-sm-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-sm-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-sm-1 {
    flex: 0 0 auto;
    width: 8.3333333333%;
  }
  .col-sm-2 {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .col-sm-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .col-sm-5 {
    flex: 0 0 auto;
    width: 41.6666666667%;
  }
  .col-sm-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 auto;
    width: 58.3333333333%;
  }
  .col-sm-8 {
    flex: 0 0 auto;
    width: 66.6666666667%;
  }
  .col-sm-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 auto;
    width: 83.3333333333%;
  }
  .col-sm-11 {
    flex: 0 0 auto;
    width: 91.6666666667%;
  }
  .col-sm-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-sm-0 {
    margin-left: 0;
  }
  .offset-sm-1 {
    margin-left: 8.3333333333%;
  }
  .offset-sm-2 {
    margin-left: 16.6666666667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.3333333333%;
  }
  .offset-sm-5 {
    margin-left: 41.6666666667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.3333333333%;
  }
  .offset-sm-8 {
    margin-left: 66.6666666667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.3333333333%;
  }
  .offset-sm-11 {
    margin-left: 91.6666666667%;
  }
  .g-sm-0,
  .gx-sm-0 {
    --bs-gutter-x: 0;
  }
  .g-sm-0,
  .gy-sm-0 {
    --bs-gutter-y: 0;
  }
  .g-sm-1,
  .gx-sm-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-sm-1,
  .gy-sm-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-sm-2,
  .gx-sm-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-sm-2,
  .gy-sm-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-sm-3,
  .gx-sm-3 {
    --bs-gutter-x: 1rem;
  }
  .g-sm-3,
  .gy-sm-3 {
    --bs-gutter-y: 1rem;
  }
  .g-sm-4,
  .gx-sm-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-sm-4,
  .gy-sm-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-sm-5,
  .gx-sm-5 {
    --bs-gutter-x: 3rem;
  }
  .g-sm-5,
  .gy-sm-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 768px) {
  .col-md {
    flex: 1 0 0%;
  }
  .row-cols-md-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-md-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-md-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-md-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .row-cols-md-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-md-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-md-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-md-1 {
    flex: 0 0 auto;
    width: 8.3333333333%;
  }
  .col-md-2 {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .col-md-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-md-4 {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .col-md-5 {
    flex: 0 0 auto;
    width: 41.6666666667%;
  }
  .col-md-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-md-7 {
    flex: 0 0 auto;
    width: 58.3333333333%;
  }
  .col-md-8 {
    flex: 0 0 auto;
    width: 66.6666666667%;
  }
  .col-md-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-md-10 {
    flex: 0 0 auto;
    width: 83.3333333333%;
  }
  .col-md-11 {
    flex: 0 0 auto;
    width: 91.6666666667%;
  }
  .col-md-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-md-0 {
    margin-left: 0;
  }
  .offset-md-1 {
    margin-left: 8.3333333333%;
  }
  .offset-md-2 {
    margin-left: 16.6666666667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.3333333333%;
  }
  .offset-md-5 {
    margin-left: 41.6666666667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.3333333333%;
  }
  .offset-md-8 {
    margin-left: 66.6666666667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.3333333333%;
  }
  .offset-md-11 {
    margin-left: 91.6666666667%;
  }
  .g-md-0,
  .gx-md-0 {
    --bs-gutter-x: 0;
  }
  .g-md-0,
  .gy-md-0 {
    --bs-gutter-y: 0;
  }
  .g-md-1,
  .gx-md-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-md-1,
  .gy-md-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-md-2,
  .gx-md-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-md-2,
  .gy-md-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-md-3,
  .gx-md-3 {
    --bs-gutter-x: 1rem;
  }
  .g-md-3,
  .gy-md-3 {
    --bs-gutter-y: 1rem;
  }
  .g-md-4,
  .gx-md-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-md-4,
  .gy-md-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-md-5,
  .gx-md-5 {
    --bs-gutter-x: 3rem;
  }
  .g-md-5,
  .gy-md-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 992px) {
  .col-lg {
    flex: 1 0 0%;
  }
  .row-cols-lg-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-lg-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-lg-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-lg-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .row-cols-lg-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-lg-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-lg-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-lg-1 {
    flex: 0 0 auto;
    width: 8.3333333333%;
  }
  .col-lg-2 {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .col-lg-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .col-lg-5 {
    flex: 0 0 auto;
    width: 41.6666666667%;
  }
  .col-lg-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 auto;
    width: 58.3333333333%;
  }
  .col-lg-8 {
    flex: 0 0 auto;
    width: 66.6666666667%;
  }
  .col-lg-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 auto;
    width: 83.3333333333%;
  }
  .col-lg-11 {
    flex: 0 0 auto;
    width: 91.6666666667%;
  }
  .col-lg-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-lg-0 {
    margin-left: 0;
  }
  .offset-lg-1 {
    margin-left: 8.3333333333%;
  }
  .offset-lg-2 {
    margin-left: 16.6666666667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.3333333333%;
  }
  .offset-lg-5 {
    margin-left: 41.6666666667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.3333333333%;
  }
  .offset-lg-8 {
    margin-left: 66.6666666667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.3333333333%;
  }
  .offset-lg-11 {
    margin-left: 91.6666666667%;
  }
  .g-lg-0,
  .gx-lg-0 {
    --bs-gutter-x: 0;
  }
  .g-lg-0,
  .gy-lg-0 {
    --bs-gutter-y: 0;
  }
  .g-lg-1,
  .gx-lg-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-lg-1,
  .gy-lg-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-lg-2,
  .gx-lg-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-lg-2,
  .gy-lg-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-lg-3,
  .gx-lg-3 {
    --bs-gutter-x: 1rem;
  }
  .g-lg-3,
  .gy-lg-3 {
    --bs-gutter-y: 1rem;
  }
  .g-lg-4,
  .gx-lg-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-lg-4,
  .gy-lg-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-lg-5,
  .gx-lg-5 {
    --bs-gutter-x: 3rem;
  }
  .g-lg-5,
  .gy-lg-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1200px) {
  .col-xl {
    flex: 1 0 0%;
  }
  .row-cols-xl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xl-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .row-cols-xl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xl-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xl-1 {
    flex: 0 0 auto;
    width: 8.3333333333%;
  }
  .col-xl-2 {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .col-xl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .col-xl-5 {
    flex: 0 0 auto;
    width: 41.6666666667%;
  }
  .col-xl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 auto;
    width: 58.3333333333%;
  }
  .col-xl-8 {
    flex: 0 0 auto;
    width: 66.6666666667%;
  }
  .col-xl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 auto;
    width: 83.3333333333%;
  }
  .col-xl-11 {
    flex: 0 0 auto;
    width: 91.6666666667%;
  }
  .col-xl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xl-0 {
    margin-left: 0;
  }
  .offset-xl-1 {
    margin-left: 8.3333333333%;
  }
  .offset-xl-2 {
    margin-left: 16.6666666667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.3333333333%;
  }
  .offset-xl-5 {
    margin-left: 41.6666666667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.3333333333%;
  }
  .offset-xl-8 {
    margin-left: 66.6666666667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.3333333333%;
  }
  .offset-xl-11 {
    margin-left: 91.6666666667%;
  }
  .g-xl-0,
  .gx-xl-0 {
    --bs-gutter-x: 0;
  }
  .g-xl-0,
  .gy-xl-0 {
    --bs-gutter-y: 0;
  }
  .g-xl-1,
  .gx-xl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xl-1,
  .gy-xl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xl-2,
  .gx-xl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xl-2,
  .gy-xl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xl-3,
  .gx-xl-3 {
    --bs-gutter-x: 1rem;
  }
  .g-xl-3,
  .gy-xl-3 {
    --bs-gutter-y: 1rem;
  }
  .g-xl-4,
  .gx-xl-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xl-4,
  .gy-xl-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xl-5,
  .gx-xl-5 {
    --bs-gutter-x: 3rem;
  }
  .g-xl-5,
  .gy-xl-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1400px) {
  .col-xxl {
    flex: 1 0 0%;
  }
  .row-cols-xxl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xxl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xxl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xxl-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .row-cols-xxl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xxl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xxl-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .col-xxl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xxl-1 {
    flex: 0 0 auto;
    width: 8.3333333333%;
  }
  .col-xxl-2 {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .col-xxl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xxl-4 {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .col-xxl-5 {
    flex: 0 0 auto;
    width: 41.6666666667%;
  }
  .col-xxl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xxl-7 {
    flex: 0 0 auto;
    width: 58.3333333333%;
  }
  .col-xxl-8 {
    flex: 0 0 auto;
    width: 66.6666666667%;
  }
  .col-xxl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xxl-10 {
    flex: 0 0 auto;
    width: 83.3333333333%;
  }
  .col-xxl-11 {
    flex: 0 0 auto;
    width: 91.6666666667%;
  }
  .col-xxl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xxl-0 {
    margin-left: 0;
  }
  .offset-xxl-1 {
    margin-left: 8.3333333333%;
  }
  .offset-xxl-2 {
    margin-left: 16.6666666667%;
  }
  .offset-xxl-3 {
    margin-left: 25%;
  }
  .offset-xxl-4 {
    margin-left: 33.3333333333%;
  }
  .offset-xxl-5 {
    margin-left: 41.6666666667%;
  }
  .offset-xxl-6 {
    margin-left: 50%;
  }
  .offset-xxl-7 {
    margin-left: 58.3333333333%;
  }
  .offset-xxl-8 {
    margin-left: 66.6666666667%;
  }
  .offset-xxl-9 {
    margin-left: 75%;
  }
  .offset-xxl-10 {
    margin-left: 83.3333333333%;
  }
  .offset-xxl-11 {
    margin-left: 91.6666666667%;
  }
  .g-xxl-0,
  .gx-xxl-0 {
    --bs-gutter-x: 0;
  }
  .g-xxl-0,
  .gy-xxl-0 {
    --bs-gutter-y: 0;
  }
  .g-xxl-1,
  .gx-xxl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xxl-1,
  .gy-xxl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xxl-2,
  .gx-xxl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xxl-2,
  .gy-xxl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xxl-3,
  .gx-xxl-3 {
    --bs-gutter-x: 1rem;
  }
  .g-xxl-3,
  .gy-xxl-3 {
    --bs-gutter-y: 1rem;
  }
  .g-xxl-4,
  .gx-xxl-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xxl-4,
  .gy-xxl-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xxl-5,
  .gx-xxl-5 {
    --bs-gutter-x: 3rem;
  }
  .g-xxl-5,
  .gy-xxl-5 {
    --bs-gutter-y: 3rem;
  }
}
.m-0 {
  margin: 0 !important;
}

.mt-0,
.my-0 {
  margin-top: 0 !important;
}

.mr-0,
.mx-0 {
  margin-right: 0 !important;
}

.mb-0,
.my-0 {
  margin-bottom: 0 !important;
}

.ml-0,
.mx-0 {
  margin-left: 0 !important;
}

.m-1 {
  margin: 0.25rem !important;
}

.mt-1,
.my-1 {
  margin-top: 0.25rem !important;
}

.mr-1,
.mx-1 {
  margin-right: 0.25rem !important;
}

.mb-1,
.my-1 {
  margin-bottom: 0.25rem !important;
}

.ml-1,
.mx-1 {
  margin-left: 0.25rem !important;
}

.m-2 {
  margin: 0.5rem !important;
}

.mt-2,
.my-2 {
  margin-top: 0.5rem !important;
}

.mr-2,
.mx-2 {
  margin-right: 0.5rem !important;
}

.mb-2,
.my-2 {
  margin-bottom: 0.5rem !important;
}

.ml-2,
.mx-2 {
  margin-left: 0.5rem !important;
}

.m-3 {
  margin: 1rem !important;
}

.mt-3,
.my-3 {
  margin-top: 1rem !important;
}

.mr-3,
.mx-3 {
  margin-right: 1rem !important;
}

.mb-3,
.my-3 {
  margin-bottom: 1rem !important;
}

.ml-3,
.mx-3 {
  margin-left: 1rem !important;
}

.m-4 {
  margin: 1.5rem !important;
}

.mt-4,
.my-4 {
  margin-top: 1.5rem !important;
}

.mr-4,
.mx-4 {
  margin-right: 1.5rem !important;
}

.mb-4,
.my-4 {
  margin-bottom: 1.5rem !important;
}

.ml-4,
.mx-4 {
  margin-left: 1.5rem !important;
}

.m-5 {
  margin: 2rem !important;
}

.mt-5,
.my-5 {
  margin-top: 2rem !important;
}

.mr-5,
.mx-5 {
  margin-right: 2rem !important;
}

.mb-5,
.my-5 {
  margin-bottom: 2rem !important;
}

.ml-5,
.mx-5 {
  margin-left: 2rem !important;
}

.m-6 {
  margin: 2.5rem !important;
}

.mt-6,
.my-6 {
  margin-top: 2.5rem !important;
}

.mr-6,
.mx-6 {
  margin-right: 2.5rem !important;
}

.mb-6,
.my-6 {
  margin-bottom: 2.5rem !important;
}

.ml-6,
.mx-6 {
  margin-left: 2.5rem !important;
}

.m-7 {
  margin: 3rem !important;
}

.mt-7,
.my-7 {
  margin-top: 3rem !important;
}

.mr-7,
.mx-7 {
  margin-right: 3rem !important;
}

.mb-7,
.my-7 {
  margin-bottom: 3rem !important;
}

.ml-7,
.mx-7 {
  margin-left: 3rem !important;
}

.m-8 {
  margin: 3.5rem !important;
}

.mt-8,
.my-8 {
  margin-top: 3.5rem !important;
}

.mr-8,
.mx-8 {
  margin-right: 3.5rem !important;
}

.mb-8,
.my-8 {
  margin-bottom: 3.5rem !important;
}

.ml-8,
.mx-8 {
  margin-left: 3.5rem !important;
}

.m-9 {
  margin: 4rem !important;
}

.mt-9,
.my-9 {
  margin-top: 4rem !important;
}

.mr-9,
.mx-9 {
  margin-right: 4rem !important;
}

.mb-9,
.my-9 {
  margin-bottom: 4rem !important;
}

.ml-9,
.mx-9 {
  margin-left: 4rem !important;
}

.p-0 {
  padding: 0 !important;
}

.pt-0,
.py-0 {
  padding-top: 0 !important;
}

.pr-0,
.px-0 {
  padding-right: 0 !important;
}

.pb-0,
.py-0 {
  padding-bottom: 0 !important;
}

.pl-0,
.px-0 {
  padding-left: 0 !important;
}

.p-1 {
  padding: 0.25rem !important;
}

.pt-1,
.py-1 {
  padding-top: 0.25rem !important;
}

.pr-1,
.px-1 {
  padding-right: 0.25rem !important;
}

.pb-1,
.py-1 {
  padding-bottom: 0.25rem !important;
}

.pl-1,
.px-1 {
  padding-left: 0.25rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.pt-2,
.py-2 {
  padding-top: 0.5rem !important;
}

.pr-2,
.px-2 {
  padding-right: 0.5rem !important;
}

.pb-2,
.py-2 {
  padding-bottom: 0.5rem !important;
}

.pl-2,
.px-2 {
  padding-left: 0.5rem !important;
}

.p-3 {
  padding: 1rem !important;
}

.pt-3,
.py-3 {
  padding-top: 1rem !important;
}

.pr-3,
.px-3 {
  padding-right: 1rem !important;
}

.pb-3,
.py-3 {
  padding-bottom: 1rem !important;
}

.pl-3,
.px-3 {
  padding-left: 1rem !important;
}

.p-4 {
  padding: 1.5rem !important;
}

.pt-4,
.py-4 {
  padding-top: 1.5rem !important;
}

.pr-4,
.px-4 {
  padding-right: 1.5rem !important;
}

.pb-4,
.py-4 {
  padding-bottom: 1.5rem !important;
}

.pl-4,
.px-4 {
  padding-left: 1.5rem !important;
}

.p-5 {
  padding: 2rem !important;
}

.pt-5,
.py-5 {
  padding-top: 2rem !important;
}

.pr-5,
.px-5 {
  padding-right: 2rem !important;
}

.pb-5,
.py-5 {
  padding-bottom: 2rem !important;
}

.pl-5,
.px-5 {
  padding-left: 2rem !important;
}

.p-6 {
  padding: 2.5rem !important;
}

.pt-6,
.py-6 {
  padding-top: 2.5rem !important;
}

.pr-6,
.px-6 {
  padding-right: 2.5rem !important;
}

.pb-6,
.py-6 {
  padding-bottom: 2.5rem !important;
}

.pl-6,
.px-6 {
  padding-left: 2.5rem !important;
}

.p-7 {
  padding: 3rem !important;
}

.pt-7,
.py-7 {
  padding-top: 3rem !important;
}

.pr-7,
.px-7 {
  padding-right: 3rem !important;
}

.pb-7,
.py-7 {
  padding-bottom: 3rem !important;
}

.pl-7,
.px-7 {
  padding-left: 3rem !important;
}

.p-8 {
  padding: 3.5rem !important;
}

.pt-8,
.py-8 {
  padding-top: 3.5rem !important;
}

.pr-8,
.px-8 {
  padding-right: 3.5rem !important;
}

.pb-8,
.py-8 {
  padding-bottom: 3.5rem !important;
}

.pl-8,
.px-8 {
  padding-left: 3.5rem !important;
}

.p-9 {
  padding: 4rem !important;
}

.pt-9,
.py-9 {
  padding-top: 4rem !important;
}

.pr-9,
.px-9 {
  padding-right: 4rem !important;
}

.pb-9,
.py-9 {
  padding-bottom: 4rem !important;
}

.pl-9,
.px-9 {
  padding-left: 4rem !important;
}

.m-auto {
  margin: auto !important;
}

.mt-auto,
.my-auto {
  margin-top: auto !important;
}

.mr-auto,
.mx-auto {
  margin-right: auto !important;
}

.mb-auto,
.my-auto {
  margin-bottom: auto !important;
}

.ml-auto,
.mx-auto {
  margin-left: auto !important;
}

@media (min-width: 576px) {
  .m-sm-0 {
    margin: 0 !important;
  }
  .mt-sm-0,
  .my-sm-0 {
    margin-top: 0 !important;
  }
  .mr-sm-0,
  .mx-sm-0 {
    margin-right: 0 !important;
  }
  .mb-sm-0,
  .my-sm-0 {
    margin-bottom: 0 !important;
  }
  .ml-sm-0,
  .mx-sm-0 {
    margin-left: 0 !important;
  }
  .m-sm-1 {
    margin: 0.25rem !important;
  }
  .mt-sm-1,
  .my-sm-1 {
    margin-top: 0.25rem !important;
  }
  .mr-sm-1,
  .mx-sm-1 {
    margin-right: 0.25rem !important;
  }
  .mb-sm-1,
  .my-sm-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-sm-1,
  .mx-sm-1 {
    margin-left: 0.25rem !important;
  }
  .m-sm-2 {
    margin: 0.5rem !important;
  }
  .mt-sm-2,
  .my-sm-2 {
    margin-top: 0.5rem !important;
  }
  .mr-sm-2,
  .mx-sm-2 {
    margin-right: 0.5rem !important;
  }
  .mb-sm-2,
  .my-sm-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-sm-2,
  .mx-sm-2 {
    margin-left: 0.5rem !important;
  }
  .m-sm-3 {
    margin: 1rem !important;
  }
  .mt-sm-3,
  .my-sm-3 {
    margin-top: 1rem !important;
  }
  .mr-sm-3,
  .mx-sm-3 {
    margin-right: 1rem !important;
  }
  .mb-sm-3,
  .my-sm-3 {
    margin-bottom: 1rem !important;
  }
  .ml-sm-3,
  .mx-sm-3 {
    margin-left: 1rem !important;
  }
  .m-sm-4 {
    margin: 1.5rem !important;
  }
  .mt-sm-4,
  .my-sm-4 {
    margin-top: 1.5rem !important;
  }
  .mr-sm-4,
  .mx-sm-4 {
    margin-right: 1.5rem !important;
  }
  .mb-sm-4,
  .my-sm-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-sm-4,
  .mx-sm-4 {
    margin-left: 1.5rem !important;
  }
  .m-sm-5 {
    margin: 2rem !important;
  }
  .mt-sm-5,
  .my-sm-5 {
    margin-top: 2rem !important;
  }
  .mr-sm-5,
  .mx-sm-5 {
    margin-right: 2rem !important;
  }
  .mb-sm-5,
  .my-sm-5 {
    margin-bottom: 2rem !important;
  }
  .ml-sm-5,
  .mx-sm-5 {
    margin-left: 2rem !important;
  }
  .m-sm-6 {
    margin: 2.5rem !important;
  }
  .mt-sm-6,
  .my-sm-6 {
    margin-top: 2.5rem !important;
  }
  .mr-sm-6,
  .mx-sm-6 {
    margin-right: 2.5rem !important;
  }
  .mb-sm-6,
  .my-sm-6 {
    margin-bottom: 2.5rem !important;
  }
  .ml-sm-6,
  .mx-sm-6 {
    margin-left: 2.5rem !important;
  }
  .m-sm-7 {
    margin: 3rem !important;
  }
  .mt-sm-7,
  .my-sm-7 {
    margin-top: 3rem !important;
  }
  .mr-sm-7,
  .mx-sm-7 {
    margin-right: 3rem !important;
  }
  .mb-sm-7,
  .my-sm-7 {
    margin-bottom: 3rem !important;
  }
  .ml-sm-7,
  .mx-sm-7 {
    margin-left: 3rem !important;
  }
  .m-sm-8 {
    margin: 3.5rem !important;
  }
  .mt-sm-8,
  .my-sm-8 {
    margin-top: 3.5rem !important;
  }
  .mr-sm-8,
  .mx-sm-8 {
    margin-right: 3.5rem !important;
  }
  .mb-sm-8,
  .my-sm-8 {
    margin-bottom: 3.5rem !important;
  }
  .ml-sm-8,
  .mx-sm-8 {
    margin-left: 3.5rem !important;
  }
  .m-sm-9 {
    margin: 4rem !important;
  }
  .mt-sm-9,
  .my-sm-9 {
    margin-top: 4rem !important;
  }
  .mr-sm-9,
  .mx-sm-9 {
    margin-right: 4rem !important;
  }
  .mb-sm-9,
  .my-sm-9 {
    margin-bottom: 4rem !important;
  }
  .ml-sm-9,
  .mx-sm-9 {
    margin-left: 4rem !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .pt-sm-0,
  .py-sm-0 {
    padding-top: 0 !important;
  }
  .pr-sm-0,
  .px-sm-0 {
    padding-right: 0 !important;
  }
  .pb-sm-0,
  .py-sm-0 {
    padding-bottom: 0 !important;
  }
  .pl-sm-0,
  .px-sm-0 {
    padding-left: 0 !important;
  }
  .p-sm-1 {
    padding: 0.25rem !important;
  }
  .pt-sm-1,
  .py-sm-1 {
    padding-top: 0.25rem !important;
  }
  .pr-sm-1,
  .px-sm-1 {
    padding-right: 0.25rem !important;
  }
  .pb-sm-1,
  .py-sm-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-sm-1,
  .px-sm-1 {
    padding-left: 0.25rem !important;
  }
  .p-sm-2 {
    padding: 0.5rem !important;
  }
  .pt-sm-2,
  .py-sm-2 {
    padding-top: 0.5rem !important;
  }
  .pr-sm-2,
  .px-sm-2 {
    padding-right: 0.5rem !important;
  }
  .pb-sm-2,
  .py-sm-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-sm-2,
  .px-sm-2 {
    padding-left: 0.5rem !important;
  }
  .p-sm-3 {
    padding: 1rem !important;
  }
  .pt-sm-3,
  .py-sm-3 {
    padding-top: 1rem !important;
  }
  .pr-sm-3,
  .px-sm-3 {
    padding-right: 1rem !important;
  }
  .pb-sm-3,
  .py-sm-3 {
    padding-bottom: 1rem !important;
  }
  .pl-sm-3,
  .px-sm-3 {
    padding-left: 1rem !important;
  }
  .p-sm-4 {
    padding: 1.5rem !important;
  }
  .pt-sm-4,
  .py-sm-4 {
    padding-top: 1.5rem !important;
  }
  .pr-sm-4,
  .px-sm-4 {
    padding-right: 1.5rem !important;
  }
  .pb-sm-4,
  .py-sm-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-sm-4,
  .px-sm-4 {
    padding-left: 1.5rem !important;
  }
  .p-sm-5 {
    padding: 2rem !important;
  }
  .pt-sm-5,
  .py-sm-5 {
    padding-top: 2rem !important;
  }
  .pr-sm-5,
  .px-sm-5 {
    padding-right: 2rem !important;
  }
  .pb-sm-5,
  .py-sm-5 {
    padding-bottom: 2rem !important;
  }
  .pl-sm-5,
  .px-sm-5 {
    padding-left: 2rem !important;
  }
  .p-sm-6 {
    padding: 2.5rem !important;
  }
  .pt-sm-6,
  .py-sm-6 {
    padding-top: 2.5rem !important;
  }
  .pr-sm-6,
  .px-sm-6 {
    padding-right: 2.5rem !important;
  }
  .pb-sm-6,
  .py-sm-6 {
    padding-bottom: 2.5rem !important;
  }
  .pl-sm-6,
  .px-sm-6 {
    padding-left: 2.5rem !important;
  }
  .p-sm-7 {
    padding: 3rem !important;
  }
  .pt-sm-7,
  .py-sm-7 {
    padding-top: 3rem !important;
  }
  .pr-sm-7,
  .px-sm-7 {
    padding-right: 3rem !important;
  }
  .pb-sm-7,
  .py-sm-7 {
    padding-bottom: 3rem !important;
  }
  .pl-sm-7,
  .px-sm-7 {
    padding-left: 3rem !important;
  }
  .p-sm-8 {
    padding: 3.5rem !important;
  }
  .pt-sm-8,
  .py-sm-8 {
    padding-top: 3.5rem !important;
  }
  .pr-sm-8,
  .px-sm-8 {
    padding-right: 3.5rem !important;
  }
  .pb-sm-8,
  .py-sm-8 {
    padding-bottom: 3.5rem !important;
  }
  .pl-sm-8,
  .px-sm-8 {
    padding-left: 3.5rem !important;
  }
  .p-sm-9 {
    padding: 4rem !important;
  }
  .pt-sm-9,
  .py-sm-9 {
    padding-top: 4rem !important;
  }
  .pr-sm-9,
  .px-sm-9 {
    padding-right: 4rem !important;
  }
  .pb-sm-9,
  .py-sm-9 {
    padding-bottom: 4rem !important;
  }
  .pl-sm-9,
  .px-sm-9 {
    padding-left: 4rem !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mt-sm-auto,
  .my-sm-auto {
    margin-top: auto !important;
  }
  .mr-sm-auto,
  .mx-sm-auto {
    margin-right: auto !important;
  }
  .mb-sm-auto,
  .my-sm-auto {
    margin-bottom: auto !important;
  }
  .ml-sm-auto,
  .mx-sm-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 768px) {
  .m-md-0 {
    margin: 0 !important;
  }
  .mt-md-0,
  .my-md-0 {
    margin-top: 0 !important;
  }
  .mr-md-0,
  .mx-md-0 {
    margin-right: 0 !important;
  }
  .mb-md-0,
  .my-md-0 {
    margin-bottom: 0 !important;
  }
  .ml-md-0,
  .mx-md-0 {
    margin-left: 0 !important;
  }
  .m-md-1 {
    margin: 0.25rem !important;
  }
  .mt-md-1,
  .my-md-1 {
    margin-top: 0.25rem !important;
  }
  .mr-md-1,
  .mx-md-1 {
    margin-right: 0.25rem !important;
  }
  .mb-md-1,
  .my-md-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-md-1,
  .mx-md-1 {
    margin-left: 0.25rem !important;
  }
  .m-md-2 {
    margin: 0.5rem !important;
  }
  .mt-md-2,
  .my-md-2 {
    margin-top: 0.5rem !important;
  }
  .mr-md-2,
  .mx-md-2 {
    margin-right: 0.5rem !important;
  }
  .mb-md-2,
  .my-md-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-md-2,
  .mx-md-2 {
    margin-left: 0.5rem !important;
  }
  .m-md-3 {
    margin: 1rem !important;
  }
  .mt-md-3,
  .my-md-3 {
    margin-top: 1rem !important;
  }
  .mr-md-3,
  .mx-md-3 {
    margin-right: 1rem !important;
  }
  .mb-md-3,
  .my-md-3 {
    margin-bottom: 1rem !important;
  }
  .ml-md-3,
  .mx-md-3 {
    margin-left: 1rem !important;
  }
  .m-md-4 {
    margin: 1.5rem !important;
  }
  .mt-md-4,
  .my-md-4 {
    margin-top: 1.5rem !important;
  }
  .mr-md-4,
  .mx-md-4 {
    margin-right: 1.5rem !important;
  }
  .mb-md-4,
  .my-md-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-md-4,
  .mx-md-4 {
    margin-left: 1.5rem !important;
  }
  .m-md-5 {
    margin: 2rem !important;
  }
  .mt-md-5,
  .my-md-5 {
    margin-top: 2rem !important;
  }
  .mr-md-5,
  .mx-md-5 {
    margin-right: 2rem !important;
  }
  .mb-md-5,
  .my-md-5 {
    margin-bottom: 2rem !important;
  }
  .ml-md-5,
  .mx-md-5 {
    margin-left: 2rem !important;
  }
  .m-md-6 {
    margin: 2.5rem !important;
  }
  .mt-md-6,
  .my-md-6 {
    margin-top: 2.5rem !important;
  }
  .mr-md-6,
  .mx-md-6 {
    margin-right: 2.5rem !important;
  }
  .mb-md-6,
  .my-md-6 {
    margin-bottom: 2.5rem !important;
  }
  .ml-md-6,
  .mx-md-6 {
    margin-left: 2.5rem !important;
  }
  .m-md-7 {
    margin: 3rem !important;
  }
  .mt-md-7,
  .my-md-7 {
    margin-top: 3rem !important;
  }
  .mr-md-7,
  .mx-md-7 {
    margin-right: 3rem !important;
  }
  .mb-md-7,
  .my-md-7 {
    margin-bottom: 3rem !important;
  }
  .ml-md-7,
  .mx-md-7 {
    margin-left: 3rem !important;
  }
  .m-md-8 {
    margin: 3.5rem !important;
  }
  .mt-md-8,
  .my-md-8 {
    margin-top: 3.5rem !important;
  }
  .mr-md-8,
  .mx-md-8 {
    margin-right: 3.5rem !important;
  }
  .mb-md-8,
  .my-md-8 {
    margin-bottom: 3.5rem !important;
  }
  .ml-md-8,
  .mx-md-8 {
    margin-left: 3.5rem !important;
  }
  .m-md-9 {
    margin: 4rem !important;
  }
  .mt-md-9,
  .my-md-9 {
    margin-top: 4rem !important;
  }
  .mr-md-9,
  .mx-md-9 {
    margin-right: 4rem !important;
  }
  .mb-md-9,
  .my-md-9 {
    margin-bottom: 4rem !important;
  }
  .ml-md-9,
  .mx-md-9 {
    margin-left: 4rem !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .pt-md-0,
  .py-md-0 {
    padding-top: 0 !important;
  }
  .pr-md-0,
  .px-md-0 {
    padding-right: 0 !important;
  }
  .pb-md-0,
  .py-md-0 {
    padding-bottom: 0 !important;
  }
  .pl-md-0,
  .px-md-0 {
    padding-left: 0 !important;
  }
  .p-md-1 {
    padding: 0.25rem !important;
  }
  .pt-md-1,
  .py-md-1 {
    padding-top: 0.25rem !important;
  }
  .pr-md-1,
  .px-md-1 {
    padding-right: 0.25rem !important;
  }
  .pb-md-1,
  .py-md-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-md-1,
  .px-md-1 {
    padding-left: 0.25rem !important;
  }
  .p-md-2 {
    padding: 0.5rem !important;
  }
  .pt-md-2,
  .py-md-2 {
    padding-top: 0.5rem !important;
  }
  .pr-md-2,
  .px-md-2 {
    padding-right: 0.5rem !important;
  }
  .pb-md-2,
  .py-md-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-md-2,
  .px-md-2 {
    padding-left: 0.5rem !important;
  }
  .p-md-3 {
    padding: 1rem !important;
  }
  .pt-md-3,
  .py-md-3 {
    padding-top: 1rem !important;
  }
  .pr-md-3,
  .px-md-3 {
    padding-right: 1rem !important;
  }
  .pb-md-3,
  .py-md-3 {
    padding-bottom: 1rem !important;
  }
  .pl-md-3,
  .px-md-3 {
    padding-left: 1rem !important;
  }
  .p-md-4 {
    padding: 1.5rem !important;
  }
  .pt-md-4,
  .py-md-4 {
    padding-top: 1.5rem !important;
  }
  .pr-md-4,
  .px-md-4 {
    padding-right: 1.5rem !important;
  }
  .pb-md-4,
  .py-md-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-md-4,
  .px-md-4 {
    padding-left: 1.5rem !important;
  }
  .p-md-5 {
    padding: 2rem !important;
  }
  .pt-md-5,
  .py-md-5 {
    padding-top: 2rem !important;
  }
  .pr-md-5,
  .px-md-5 {
    padding-right: 2rem !important;
  }
  .pb-md-5,
  .py-md-5 {
    padding-bottom: 2rem !important;
  }
  .pl-md-5,
  .px-md-5 {
    padding-left: 2rem !important;
  }
  .p-md-6 {
    padding: 2.5rem !important;
  }
  .pt-md-6,
  .py-md-6 {
    padding-top: 2.5rem !important;
  }
  .pr-md-6,
  .px-md-6 {
    padding-right: 2.5rem !important;
  }
  .pb-md-6,
  .py-md-6 {
    padding-bottom: 2.5rem !important;
  }
  .pl-md-6,
  .px-md-6 {
    padding-left: 2.5rem !important;
  }
  .p-md-7 {
    padding: 3rem !important;
  }
  .pt-md-7,
  .py-md-7 {
    padding-top: 3rem !important;
  }
  .pr-md-7,
  .px-md-7 {
    padding-right: 3rem !important;
  }
  .pb-md-7,
  .py-md-7 {
    padding-bottom: 3rem !important;
  }
  .pl-md-7,
  .px-md-7 {
    padding-left: 3rem !important;
  }
  .p-md-8 {
    padding: 3.5rem !important;
  }
  .pt-md-8,
  .py-md-8 {
    padding-top: 3.5rem !important;
  }
  .pr-md-8,
  .px-md-8 {
    padding-right: 3.5rem !important;
  }
  .pb-md-8,
  .py-md-8 {
    padding-bottom: 3.5rem !important;
  }
  .pl-md-8,
  .px-md-8 {
    padding-left: 3.5rem !important;
  }
  .p-md-9 {
    padding: 4rem !important;
  }
  .pt-md-9,
  .py-md-9 {
    padding-top: 4rem !important;
  }
  .pr-md-9,
  .px-md-9 {
    padding-right: 4rem !important;
  }
  .pb-md-9,
  .py-md-9 {
    padding-bottom: 4rem !important;
  }
  .pl-md-9,
  .px-md-9 {
    padding-left: 4rem !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mt-md-auto,
  .my-md-auto {
    margin-top: auto !important;
  }
  .mr-md-auto,
  .mx-md-auto {
    margin-right: auto !important;
  }
  .mb-md-auto,
  .my-md-auto {
    margin-bottom: auto !important;
  }
  .ml-md-auto,
  .mx-md-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 992px) {
  .m-lg-0 {
    margin: 0 !important;
  }
  .mt-lg-0,
  .my-lg-0 {
    margin-top: 0 !important;
  }
  .mr-lg-0,
  .mx-lg-0 {
    margin-right: 0 !important;
  }
  .mb-lg-0,
  .my-lg-0 {
    margin-bottom: 0 !important;
  }
  .ml-lg-0,
  .mx-lg-0 {
    margin-left: 0 !important;
  }
  .m-lg-1 {
    margin: 0.25rem !important;
  }
  .mt-lg-1,
  .my-lg-1 {
    margin-top: 0.25rem !important;
  }
  .mr-lg-1,
  .mx-lg-1 {
    margin-right: 0.25rem !important;
  }
  .mb-lg-1,
  .my-lg-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-lg-1,
  .mx-lg-1 {
    margin-left: 0.25rem !important;
  }
  .m-lg-2 {
    margin: 0.5rem !important;
  }
  .mt-lg-2,
  .my-lg-2 {
    margin-top: 0.5rem !important;
  }
  .mr-lg-2,
  .mx-lg-2 {
    margin-right: 0.5rem !important;
  }
  .mb-lg-2,
  .my-lg-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-lg-2,
  .mx-lg-2 {
    margin-left: 0.5rem !important;
  }
  .m-lg-3 {
    margin: 1rem !important;
  }
  .mt-lg-3,
  .my-lg-3 {
    margin-top: 1rem !important;
  }
  .mr-lg-3,
  .mx-lg-3 {
    margin-right: 1rem !important;
  }
  .mb-lg-3,
  .my-lg-3 {
    margin-bottom: 1rem !important;
  }
  .ml-lg-3,
  .mx-lg-3 {
    margin-left: 1rem !important;
  }
  .m-lg-4 {
    margin: 1.5rem !important;
  }
  .mt-lg-4,
  .my-lg-4 {
    margin-top: 1.5rem !important;
  }
  .mr-lg-4,
  .mx-lg-4 {
    margin-right: 1.5rem !important;
  }
  .mb-lg-4,
  .my-lg-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-lg-4,
  .mx-lg-4 {
    margin-left: 1.5rem !important;
  }
  .m-lg-5 {
    margin: 2rem !important;
  }
  .mt-lg-5,
  .my-lg-5 {
    margin-top: 2rem !important;
  }
  .mr-lg-5,
  .mx-lg-5 {
    margin-right: 2rem !important;
  }
  .mb-lg-5,
  .my-lg-5 {
    margin-bottom: 2rem !important;
  }
  .ml-lg-5,
  .mx-lg-5 {
    margin-left: 2rem !important;
  }
  .m-lg-6 {
    margin: 2.5rem !important;
  }
  .mt-lg-6,
  .my-lg-6 {
    margin-top: 2.5rem !important;
  }
  .mr-lg-6,
  .mx-lg-6 {
    margin-right: 2.5rem !important;
  }
  .mb-lg-6,
  .my-lg-6 {
    margin-bottom: 2.5rem !important;
  }
  .ml-lg-6,
  .mx-lg-6 {
    margin-left: 2.5rem !important;
  }
  .m-lg-7 {
    margin: 3rem !important;
  }
  .mt-lg-7,
  .my-lg-7 {
    margin-top: 3rem !important;
  }
  .mr-lg-7,
  .mx-lg-7 {
    margin-right: 3rem !important;
  }
  .mb-lg-7,
  .my-lg-7 {
    margin-bottom: 3rem !important;
  }
  .ml-lg-7,
  .mx-lg-7 {
    margin-left: 3rem !important;
  }
  .m-lg-8 {
    margin: 3.5rem !important;
  }
  .mt-lg-8,
  .my-lg-8 {
    margin-top: 3.5rem !important;
  }
  .mr-lg-8,
  .mx-lg-8 {
    margin-right: 3.5rem !important;
  }
  .mb-lg-8,
  .my-lg-8 {
    margin-bottom: 3.5rem !important;
  }
  .ml-lg-8,
  .mx-lg-8 {
    margin-left: 3.5rem !important;
  }
  .m-lg-9 {
    margin: 4rem !important;
  }
  .mt-lg-9,
  .my-lg-9 {
    margin-top: 4rem !important;
  }
  .mr-lg-9,
  .mx-lg-9 {
    margin-right: 4rem !important;
  }
  .mb-lg-9,
  .my-lg-9 {
    margin-bottom: 4rem !important;
  }
  .ml-lg-9,
  .mx-lg-9 {
    margin-left: 4rem !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .pt-lg-0,
  .py-lg-0 {
    padding-top: 0 !important;
  }
  .pr-lg-0,
  .px-lg-0 {
    padding-right: 0 !important;
  }
  .pb-lg-0,
  .py-lg-0 {
    padding-bottom: 0 !important;
  }
  .pl-lg-0,
  .px-lg-0 {
    padding-left: 0 !important;
  }
  .p-lg-1 {
    padding: 0.25rem !important;
  }
  .pt-lg-1,
  .py-lg-1 {
    padding-top: 0.25rem !important;
  }
  .pr-lg-1,
  .px-lg-1 {
    padding-right: 0.25rem !important;
  }
  .pb-lg-1,
  .py-lg-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-lg-1,
  .px-lg-1 {
    padding-left: 0.25rem !important;
  }
  .p-lg-2 {
    padding: 0.5rem !important;
  }
  .pt-lg-2,
  .py-lg-2 {
    padding-top: 0.5rem !important;
  }
  .pr-lg-2,
  .px-lg-2 {
    padding-right: 0.5rem !important;
  }
  .pb-lg-2,
  .py-lg-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-lg-2,
  .px-lg-2 {
    padding-left: 0.5rem !important;
  }
  .p-lg-3 {
    padding: 1rem !important;
  }
  .pt-lg-3,
  .py-lg-3 {
    padding-top: 1rem !important;
  }
  .pr-lg-3,
  .px-lg-3 {
    padding-right: 1rem !important;
  }
  .pb-lg-3,
  .py-lg-3 {
    padding-bottom: 1rem !important;
  }
  .pl-lg-3,
  .px-lg-3 {
    padding-left: 1rem !important;
  }
  .p-lg-4 {
    padding: 1.5rem !important;
  }
  .pt-lg-4,
  .py-lg-4 {
    padding-top: 1.5rem !important;
  }
  .pr-lg-4,
  .px-lg-4 {
    padding-right: 1.5rem !important;
  }
  .pb-lg-4,
  .py-lg-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-lg-4,
  .px-lg-4 {
    padding-left: 1.5rem !important;
  }
  .p-lg-5 {
    padding: 2rem !important;
  }
  .pt-lg-5,
  .py-lg-5 {
    padding-top: 2rem !important;
  }
  .pr-lg-5,
  .px-lg-5 {
    padding-right: 2rem !important;
  }
  .pb-lg-5,
  .py-lg-5 {
    padding-bottom: 2rem !important;
  }
  .pl-lg-5,
  .px-lg-5 {
    padding-left: 2rem !important;
  }
  .p-lg-6 {
    padding: 2.5rem !important;
  }
  .pt-lg-6,
  .py-lg-6 {
    padding-top: 2.5rem !important;
  }
  .pr-lg-6,
  .px-lg-6 {
    padding-right: 2.5rem !important;
  }
  .pb-lg-6,
  .py-lg-6 {
    padding-bottom: 2.5rem !important;
  }
  .pl-lg-6,
  .px-lg-6 {
    padding-left: 2.5rem !important;
  }
  .p-lg-7 {
    padding: 3rem !important;
  }
  .pt-lg-7,
  .py-lg-7 {
    padding-top: 3rem !important;
  }
  .pr-lg-7,
  .px-lg-7 {
    padding-right: 3rem !important;
  }
  .pb-lg-7,
  .py-lg-7 {
    padding-bottom: 3rem !important;
  }
  .pl-lg-7,
  .px-lg-7 {
    padding-left: 3rem !important;
  }
  .p-lg-8 {
    padding: 3.5rem !important;
  }
  .pt-lg-8,
  .py-lg-8 {
    padding-top: 3.5rem !important;
  }
  .pr-lg-8,
  .px-lg-8 {
    padding-right: 3.5rem !important;
  }
  .pb-lg-8,
  .py-lg-8 {
    padding-bottom: 3.5rem !important;
  }
  .pl-lg-8,
  .px-lg-8 {
    padding-left: 3.5rem !important;
  }
  .p-lg-9 {
    padding: 4rem !important;
  }
  .pt-lg-9,
  .py-lg-9 {
    padding-top: 4rem !important;
  }
  .pr-lg-9,
  .px-lg-9 {
    padding-right: 4rem !important;
  }
  .pb-lg-9,
  .py-lg-9 {
    padding-bottom: 4rem !important;
  }
  .pl-lg-9,
  .px-lg-9 {
    padding-left: 4rem !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mt-lg-auto,
  .my-lg-auto {
    margin-top: auto !important;
  }
  .mr-lg-auto,
  .mx-lg-auto {
    margin-right: auto !important;
  }
  .mb-lg-auto,
  .my-lg-auto {
    margin-bottom: auto !important;
  }
  .ml-lg-auto,
  .mx-lg-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 1200px) {
  .m-xl-0 {
    margin: 0 !important;
  }
  .mt-xl-0,
  .my-xl-0 {
    margin-top: 0 !important;
  }
  .mr-xl-0,
  .mx-xl-0 {
    margin-right: 0 !important;
  }
  .mb-xl-0,
  .my-xl-0 {
    margin-bottom: 0 !important;
  }
  .ml-xl-0,
  .mx-xl-0 {
    margin-left: 0 !important;
  }
  .m-xl-1 {
    margin: 0.25rem !important;
  }
  .mt-xl-1,
  .my-xl-1 {
    margin-top: 0.25rem !important;
  }
  .mr-xl-1,
  .mx-xl-1 {
    margin-right: 0.25rem !important;
  }
  .mb-xl-1,
  .my-xl-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-xl-1,
  .mx-xl-1 {
    margin-left: 0.25rem !important;
  }
  .m-xl-2 {
    margin: 0.5rem !important;
  }
  .mt-xl-2,
  .my-xl-2 {
    margin-top: 0.5rem !important;
  }
  .mr-xl-2,
  .mx-xl-2 {
    margin-right: 0.5rem !important;
  }
  .mb-xl-2,
  .my-xl-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-xl-2,
  .mx-xl-2 {
    margin-left: 0.5rem !important;
  }
  .m-xl-3 {
    margin: 1rem !important;
  }
  .mt-xl-3,
  .my-xl-3 {
    margin-top: 1rem !important;
  }
  .mr-xl-3,
  .mx-xl-3 {
    margin-right: 1rem !important;
  }
  .mb-xl-3,
  .my-xl-3 {
    margin-bottom: 1rem !important;
  }
  .ml-xl-3,
  .mx-xl-3 {
    margin-left: 1rem !important;
  }
  .m-xl-4 {
    margin: 1.5rem !important;
  }
  .mt-xl-4,
  .my-xl-4 {
    margin-top: 1.5rem !important;
  }
  .mr-xl-4,
  .mx-xl-4 {
    margin-right: 1.5rem !important;
  }
  .mb-xl-4,
  .my-xl-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-xl-4,
  .mx-xl-4 {
    margin-left: 1.5rem !important;
  }
  .m-xl-5 {
    margin: 2rem !important;
  }
  .mt-xl-5,
  .my-xl-5 {
    margin-top: 2rem !important;
  }
  .mr-xl-5,
  .mx-xl-5 {
    margin-right: 2rem !important;
  }
  .mb-xl-5,
  .my-xl-5 {
    margin-bottom: 2rem !important;
  }
  .ml-xl-5,
  .mx-xl-5 {
    margin-left: 2rem !important;
  }
  .m-xl-6 {
    margin: 2.5rem !important;
  }
  .mt-xl-6,
  .my-xl-6 {
    margin-top: 2.5rem !important;
  }
  .mr-xl-6,
  .mx-xl-6 {
    margin-right: 2.5rem !important;
  }
  .mb-xl-6,
  .my-xl-6 {
    margin-bottom: 2.5rem !important;
  }
  .ml-xl-6,
  .mx-xl-6 {
    margin-left: 2.5rem !important;
  }
  .m-xl-7 {
    margin: 3rem !important;
  }
  .mt-xl-7,
  .my-xl-7 {
    margin-top: 3rem !important;
  }
  .mr-xl-7,
  .mx-xl-7 {
    margin-right: 3rem !important;
  }
  .mb-xl-7,
  .my-xl-7 {
    margin-bottom: 3rem !important;
  }
  .ml-xl-7,
  .mx-xl-7 {
    margin-left: 3rem !important;
  }
  .m-xl-8 {
    margin: 3.5rem !important;
  }
  .mt-xl-8,
  .my-xl-8 {
    margin-top: 3.5rem !important;
  }
  .mr-xl-8,
  .mx-xl-8 {
    margin-right: 3.5rem !important;
  }
  .mb-xl-8,
  .my-xl-8 {
    margin-bottom: 3.5rem !important;
  }
  .ml-xl-8,
  .mx-xl-8 {
    margin-left: 3.5rem !important;
  }
  .m-xl-9 {
    margin: 4rem !important;
  }
  .mt-xl-9,
  .my-xl-9 {
    margin-top: 4rem !important;
  }
  .mr-xl-9,
  .mx-xl-9 {
    margin-right: 4rem !important;
  }
  .mb-xl-9,
  .my-xl-9 {
    margin-bottom: 4rem !important;
  }
  .ml-xl-9,
  .mx-xl-9 {
    margin-left: 4rem !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .pt-xl-0,
  .py-xl-0 {
    padding-top: 0 !important;
  }
  .pr-xl-0,
  .px-xl-0 {
    padding-right: 0 !important;
  }
  .pb-xl-0,
  .py-xl-0 {
    padding-bottom: 0 !important;
  }
  .pl-xl-0,
  .px-xl-0 {
    padding-left: 0 !important;
  }
  .p-xl-1 {
    padding: 0.25rem !important;
  }
  .pt-xl-1,
  .py-xl-1 {
    padding-top: 0.25rem !important;
  }
  .pr-xl-1,
  .px-xl-1 {
    padding-right: 0.25rem !important;
  }
  .pb-xl-1,
  .py-xl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-xl-1,
  .px-xl-1 {
    padding-left: 0.25rem !important;
  }
  .p-xl-2 {
    padding: 0.5rem !important;
  }
  .pt-xl-2,
  .py-xl-2 {
    padding-top: 0.5rem !important;
  }
  .pr-xl-2,
  .px-xl-2 {
    padding-right: 0.5rem !important;
  }
  .pb-xl-2,
  .py-xl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-xl-2,
  .px-xl-2 {
    padding-left: 0.5rem !important;
  }
  .p-xl-3 {
    padding: 1rem !important;
  }
  .pt-xl-3,
  .py-xl-3 {
    padding-top: 1rem !important;
  }
  .pr-xl-3,
  .px-xl-3 {
    padding-right: 1rem !important;
  }
  .pb-xl-3,
  .py-xl-3 {
    padding-bottom: 1rem !important;
  }
  .pl-xl-3,
  .px-xl-3 {
    padding-left: 1rem !important;
  }
  .p-xl-4 {
    padding: 1.5rem !important;
  }
  .pt-xl-4,
  .py-xl-4 {
    padding-top: 1.5rem !important;
  }
  .pr-xl-4,
  .px-xl-4 {
    padding-right: 1.5rem !important;
  }
  .pb-xl-4,
  .py-xl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-xl-4,
  .px-xl-4 {
    padding-left: 1.5rem !important;
  }
  .p-xl-5 {
    padding: 2rem !important;
  }
  .pt-xl-5,
  .py-xl-5 {
    padding-top: 2rem !important;
  }
  .pr-xl-5,
  .px-xl-5 {
    padding-right: 2rem !important;
  }
  .pb-xl-5,
  .py-xl-5 {
    padding-bottom: 2rem !important;
  }
  .pl-xl-5,
  .px-xl-5 {
    padding-left: 2rem !important;
  }
  .p-xl-6 {
    padding: 2.5rem !important;
  }
  .pt-xl-6,
  .py-xl-6 {
    padding-top: 2.5rem !important;
  }
  .pr-xl-6,
  .px-xl-6 {
    padding-right: 2.5rem !important;
  }
  .pb-xl-6,
  .py-xl-6 {
    padding-bottom: 2.5rem !important;
  }
  .pl-xl-6,
  .px-xl-6 {
    padding-left: 2.5rem !important;
  }
  .p-xl-7 {
    padding: 3rem !important;
  }
  .pt-xl-7,
  .py-xl-7 {
    padding-top: 3rem !important;
  }
  .pr-xl-7,
  .px-xl-7 {
    padding-right: 3rem !important;
  }
  .pb-xl-7,
  .py-xl-7 {
    padding-bottom: 3rem !important;
  }
  .pl-xl-7,
  .px-xl-7 {
    padding-left: 3rem !important;
  }
  .p-xl-8 {
    padding: 3.5rem !important;
  }
  .pt-xl-8,
  .py-xl-8 {
    padding-top: 3.5rem !important;
  }
  .pr-xl-8,
  .px-xl-8 {
    padding-right: 3.5rem !important;
  }
  .pb-xl-8,
  .py-xl-8 {
    padding-bottom: 3.5rem !important;
  }
  .pl-xl-8,
  .px-xl-8 {
    padding-left: 3.5rem !important;
  }
  .p-xl-9 {
    padding: 4rem !important;
  }
  .pt-xl-9,
  .py-xl-9 {
    padding-top: 4rem !important;
  }
  .pr-xl-9,
  .px-xl-9 {
    padding-right: 4rem !important;
  }
  .pb-xl-9,
  .py-xl-9 {
    padding-bottom: 4rem !important;
  }
  .pl-xl-9,
  .px-xl-9 {
    padding-left: 4rem !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mt-xl-auto,
  .my-xl-auto {
    margin-top: auto !important;
  }
  .mr-xl-auto,
  .mx-xl-auto {
    margin-right: auto !important;
  }
  .mb-xl-auto,
  .my-xl-auto {
    margin-bottom: auto !important;
  }
  .ml-xl-auto,
  .mx-xl-auto {
    margin-left: auto !important;
  }
}
.fair-nav {
  position: relative;
  background-color: #fff;
  margin: 0 auto;
  padding: 0;
  z-index: 3;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .fair-nav {
    min-height: 66px;
  }
}
@media screen and (min-width: 1080px) {
  .fair-nav {
    max-width: 1040px;
  }
}
@media screen and (min-width: 1200px) {
  .fair-nav {
    max-width: 1080px;
  }
}
.fair-nav__items {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  text-align: left;
  display: flex;
  justify-content: space-between;
}

.fair-nav__item {
  font-weight: 600;
  padding: 20px 14px 26px;
  box-sizing: border-box;
  display: block;
  transition: all 0.3s;
  color: #000;
  line-height: 1.3;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .fair-nav__item {
    max-height: 86px;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .fair-nav__item {
    padding: 14px 8px 16px;
  }
}
.fair-nav__item:before {
  content: "";
  width: 6px;
  height: 6px;
  border: 0;
  border-bottom: solid 2px #bbb;
  border-right: solid 2px #bbb;
  position: absolute;
  bottom: 10px;
  left: 50%;
  margin-top: -6px;
  transform: translate(-50%, 0) rotate(45deg);
}

@media screen and (min-width: 768px) {
  .fair-nav__item:before {

  }
}
@media screen and (max-width: 767px) {
  .fair-nav__item:before {
    content: "";
    width: 3px;
    height: 3px;
    bottom: 4px;
  }
}
.fair-nav__item img {
  max-height: 34px;
  width: auto;
  transition: all 0.3s;
}

.fair-nav__item:hover {
  opacity: 0.6;
}

@media screen and (max-width: 767px) {
  .fair-nav__item:hover {
    opacity: 1;
  }
}
.fair-nav__item:hover img {
  opacity: 0.6 !important;
}

.fair-nav__item:visited {
  color: #000;
}

@media screen and (max-width: 767px) {
  .fair-nav__item {
    height: auto;
  }
  .fair-nav__item img {
    max-height: 24px;
  }
  .fair-nav__item img.sp-only {
    display: inline-block;
  }
  .fair-nav-item__inner .fair-nav-item__txt {
    font-size: 12px;
  }
}
.fair-nav__item {
  position: relative;
  cursor: pointer;
}
.fair-nav__item {
  flex-grow: 1;
  max-height: 120px;
  border-right: solid 1px #dfdfdf;
}
@media screen and (min-width: 768px) {

  .fair-nav__item:nth-child(1) {
    width: 33%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .fair-nav__item:nth-child(2) {
    width: 33%;
  }
  .fair-nav__item:nth-child(3) {
    width: 34%;
  }
  .fair-nav__items li:last-child,
  .fair-nav-fixed__items li:last-child {
    border-right: none;
    flex-grow: 0;
  }
}
@media screen and (min-width: 768px) {
  .fair-nav-item__inner {
    display: block;
    justify-content: center;
    flex-wrap: wrap;
  }
}
@media (max-width: 767px) {
  .fair-nav-item__inner {
    align-items: center;
    display: block;
  }
}
.fair-nav-item__inner .fair-nav-item__txt {
  line-height: 20px;
  display: block;
}

@media screen and (min-width: 768px) and (max-width: 1030px) {
  .fair-nav-item__inner .fair-nav-item__txt {
    font-size: 11px;
    line-height: 20px;
    letter-spacing: 0;
  }
}
.fair-nav__item:nth-child(4) .fair-nav-item__txt,
.fair-nav__item:nth-child(5) .fair-nav-item__txt {
  padding-left: 0;
}

@media screen and (min-width: 768px) and (max-width: 1030px) {
  .fair-nav__item {
    padding-left: 4px;
    padding-right: 4px;
  }
  .fair-nav__item img {
    max-height: 3.883495146vw;
  }
}
.fair-nav-fixed {
  opacity: 0;
  background-color: #fff;
  margin: 0 auto;
  padding: 0;
  min-height: 48px;
  box-shadow: 0px 10px 10px -5px rgba(0, 0, 0, 0.2);
  position: absolute;
  margin-top: -106px;
  z-index: -1;
}
.fair-nav-fixed.is-fixed {
  opacity: 1;
  width: 100%;
  margin-top: 0;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
}

@media (min-width: 768px) {
  .fair-nav-fixed {
    display: block;
    background-color: #fff;
    margin: 0 auto;
    padding: 0;
    min-height: 66px;
    box-shadow: 0px 10px 10px -5px rgba(0, 0, 0, 0.2);
    position: absolute;
    opacity: 0;
    margin-top: -106px;
    z-index: -1;
  }
}
  .fair-nav-fixed__items {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    text-align: left;
    display: flex;
    justify-content: space-between;
  }
@media screen and (min-width: 768px) and (min-width: 1200px) {
  .fair-nav-fixed__items {
    padding: 0 60px;
  }
}
@media screen and (min-width: 768px) and (max-width: 959px) and (min-width: 768px) {
  .fair-nav-fixed__items {
    width: 100%;
  }
}
.fair-nav-item__sptxt {
  display: inline-block;
  font-weight: 400;
  line-height: 1;
  padding: 5px 5px 7px;
  font-size: 12px;
  background-color: #e3ebee;
}

@media screen and (min-width: 768px) and (max-width: 1030px) {
  .fair-nav-item__sptxt {
    font-size: 10px;
    letter-spacing: -0.5px;
    margin-top: 2px;
  }
}
@media screen and (max-width: 767px) {
  .fair-nav-item__sptxt {
    background-color: #e3ebee;
    display: inline-block;
  }
}
.btn__wrap {
  text-align: center;
  z-index: 20;
  margin: 20px 0 60px;
}

.btn__wrap .btn--apply {
  text-align: center;
  display: inline-block;
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
  border: solid 1px #0275C2;
}

@media screen and (min-width: 768px) {
  .btn__wrap .btn--apply {
    padding: 20px 0;
    width: 490px;
  }
}
@media screen and (max-width: 767px) {
  .btn__wrap .btn--apply {
    padding: 5vw 0;
    width: 87.5%;
  }
}
.btn__wrap .btn--apply::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 28px;
  width: 25px;
  height: 7px;
  margin-top: -4px;
  transition: all 0.6s cubic-bezier(1, 0, 0, 1);
  background-image: url(../../../img/campaign/heimlandmarkmodel2/btn_arrow-white.svg);
  background-repeat: no-repeat;
  z-index: 2;
}

@media screen and (max-width: 767px) {
  .btn__wrap .btn--apply::before {
    right: 5vw;
  }
}
.btn__wrap .btn--apply::after {
  content: "";
  position: absolute;
  transition: all 0.6s cubic-bezier(1, 0, 0, 1);
  width: 100%;
  height: 100%;
  left: 0;
  right: auto;
  bottom: 0;
  background: #0275C2;
}

.btn__wrap .btn--apply:hover {
  cursor: pointer;
  border: solid 1px #0275C2;
  background-color: #fff;
}

.btn__wrap .btn--apply:hover::after {
  width: 0;
  right: 0;
}

.btn__wrap .btn--apply span.btn__txtbox {
  font-size: 22px;
  line-height: 1.4;
  color: #fff;
  letter-spacing: 3px;
  transition: color 0.5s cubic-bezier(1, 0, 0, 1);
  display: block;
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 767px) {
  .btn__wrap .btn--apply span.btn__txtbox {
    font-size: 16px;
  }
}
.btn__wrap .btn--apply span.btn__txtbox::before {
  opacity: 0;
  content: "";
  position: absolute;
  top: 50%;
  right: 28px;
  width: 25px;
  height: 7px;
  margin-top: -4px;
  transition: all 0.6s cubic-bezier(1, 0, 0, 1);
  background-image: url(../../../img/campaign/heimlandmarkmodel2/btn_arrow-blue.svg);
  background-repeat: no-repeat;
  z-index: 3;
}

.btn__wrap .btn--apply span.btn__txtbox--small {
  font-size: 12px;
  display: block;
  padding-bottom: 0.5em;
}

.btn__wrap .btn--apply:hover span.btn__txtbox {
  color: #0275C2;
}

.btn__wrap .btn--apply:hover span.btn__txtbox::before {
  opacity: 1;
}

.btn--type--02 .btn--apply {
  border: solid 1px #ef4024;
}

.btn--type--02 .btn--apply::before {
  background-image: url(../../../img/campaign/heimlandmarkmodel2/btn_arrow-white.svg);
}

.btn--type--02 .btn--apply::after {
  background: #ef4024;
}

.btn--type--02 .btn--apply:hover {
  cursor: pointer;
  border: solid 1px #ef4024;
}

.btn--type--02 .btn--apply span.btn__txtbox {
  color: #fff;
}

.btn--type--02 .btn--apply span.btn__txtbox::before {
  background-image: url(../../../img/campaign/heimlandmarkmodel2/btn_arrow-red.svg);
}

.btn--type--02 .btn--apply:hover span.btn__txtbox {
  color: #ef4024;
}

/* nav */
@media screen and (min-width: 1031px) {
  .is-fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeInDown {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/* device
------------------------*/
.sp-only {
  display: block;
}

@media screen and (min-width: 768px) {
  .sp-only {
    display: none;
  }
}
.pc-only {
  display: none;
}

@media screen and (min-width: 768px) {
  .pc-only {
    display: block;
  }
}
.pc2 {
  display: none;
}

@media screen and (min-width: 821px) {
  .pc2 {
    display: block;
  }
}
.pctb2 {
  display: none;
}

@media screen and (min-width: 768px) {
  .pctb2 {
    display: block;
  }
}
.tb2 {
  display: none;
}

@media screen and (min-width: 768px) and (max-width: 820px) {
  .tb2 {
    display: block;
  }
}
.tbsp2 {
  display: none;
}

@media screen and (max-width: 820px) {
  .tbsp2 {
    display: block;
  }
}
.sp2 {
  display: none;
}

@media screen and (max-width: 767px) {
  .sp2 {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  #copyright-wrap {
    padding-bottom: 150px;
  }
  .back-to-top {
    bottom: 130px;
  }
}
@media screen and (max-width: 767px) {
  #copyright-wrap {
    padding: 20px 0 80px;
  }
  .back-to-top a {
    display: none;
  }
}
/* =====================
  base
===================== */
.text_box > * {
  color: #000;
}

.contents-wrap ul {
  font-size: 14px;
}

.txt-left {
  text-align: left;
}

.txt-right {
  text-align: right;
}

.txt--s {
  font-size: 0.8em;
}

.txt--xs {
  font-size: 10px;
}

.txt--note {
  font-size: 10px;
}

.txt--announce {
  font-size: 14px;
}

.txt--condition {
  font-size: 12px;
}

.text-shadow {
  text-shadow: 1px 2px 3px #000;
}

/* ボタン
-----------------------------------------------------*/
a.btn-reserve {
  width: 96%;
  max-width: 1080px;
  margin: 0 auto;
  display: block;
  position: relative;
}

a.btn-reserve::before {
  content: "";
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  background: #EF8B1E;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
@media (max-width: 767px) {
  a.btn-reserve::before {
    width: 100%;
    height: 100%;
  }
}

a.btn-reserve::after {
  content: "";
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  background: #E95A24;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 1;
}
@media (max-width: 767px) {
  a.btn-reserve::after {
    content: none;
  }
}

a.btn-reserve:hover {
  opacity: 0.8;
}

a.btn-reserve p {
  padding: 18px 0 22px;
  text-align: center;
  color: #fff;
  font-size: 28px;
  font-weight: 600;
  line-height: 1;
  position: relative;
  z-index: 3;
}

a.btn-reserve p::after {
  content: "";
  width: 9px;
  height: 18px;
  background: url(../../../img/campaign/resilience_heimfair2023_shisan/icon_arrow_white_light.png) center center no-repeat;
  background-size: 100%;
  position: absolute;
  right: 20px;
  top: calc(50% - 9px);
}

@media (max-width: 1030px) {
  a.btn-reserve p {
    padding: 2vw 0 2.5vw;
    text-align: center;
    color: #fff;
    font-size: 2.8vw;
    font-weight: 600;
    line-height: 1;
    position: relative;
    z-index: 3;
  }
  a.btn-reserve p::after {
    content: "";
    width: 9px;
    height: 18px;
    background: url(../../../img/campaign/resilience_heimfair2023_shisan/icon_arrow_white_light.png) center center no-repeat;
    background-size: 100%;
    position: absolute;
    right: 20px;
    top: calc(50% - 1.5vw);
  }
}
@media (max-width: 767px) {
  a.btn-reserve p {
    text-align: center;
    color: #fff;
    padding: 4vw 0 4vw;
    font-size: 5.2vw;
    font-weight: 600;
    line-height: 1;
    position: relative;
    z-index: 3;
  }
  a.btn-reserve p::after {
    content: "";
    width: 9px;
    height: 18px;
    background: url(../../../img/campaign/resilience_heimfair2023_shisan/icon_arrow_white_light.png) center center no-repeat;
    background-size: 100%;
    position: absolute;
    right: 20px;
    top: calc(50% - 2vw);
  }
}
/* cv-area
-----------------------------------------------------*/
.cv-area {
  width: 100%;
  padding: 1rem 0;
  background: #fff;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 3;
}

.cv-area ul.cv-btn {
  width: 98%;
  max-width: 1080px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
}

.cv-area ul.cv-btn li {
  width: calc((100% - 30px) / 4);
  display: flex;
  justify-content: center;
  align-items: center;
}

.cv-area ul.cv-btn li + li {
  margin-left: 10px;
}

.cv-area ul.cv-btn li a {
  width: 100%;
  height: 100%;
  padding: 15px 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #3073bb;
  border-radius: 2px;
  text-align: center;
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
}

.cv-area ul.cv-btn li a span {
  margin: auto 0;
}

.cv-area ul.cv-btn li a.btn-cv-search,
.cv-area ul.cv-btn li a.btn-cv-catalog,
.cv-area ul.cv-btn li a.btn-cv-plan,
.cv-area ul.cv-btn li a.btn-cv-contact {
  position: relative;
}

.cv-area ul.cv-btn li a.btn-cv-search::before {
  content: "";
  width: 31px;
  height: 28px;
  margin-right: 10px;
  display: inline-block;
  vertical-align: middle;
  background: url(../../../img/campaign/heimlandmarkmodel/icon_house.png) left center no-repeat;
  background-size: 100%;
}

.cv-area ul.cv-btn li a.btn-cv-catalog::before {
  content: "";
  width: 96px;
  height: 40px;
  margin-right: 10px;
  display: inline-block;
  vertical-align: middle;
  background: url(../../../img/campaign/heimlandmarkmodel/icon_catalog.png) left center no-repeat;
  background-size: 100%;
}

.cv-area ul.cv-btn li a.btn-cv-plan::before {
  content: "";
  width: 92px;
  height: 50px;
  margin-right: 10px;
  display: inline-block;
  vertical-align: middle;
  background: url(../../../img/campaign/heimlandmarkmodel/icon_plan.png) left center no-repeat;
  background-size: 100%;
}

.cv-area ul.cv-btn li a.btn-cv-contact::before {
  content: "";
  width: 38px;
  height: 32px;
  margin-right: 10px;
  display: inline-block;
  vertical-align: middle;
  background: url(../../../img/campaign/heimlandmarkmodel/icon_contact.png) left center no-repeat;
  background-size: 100%;
}

@media (min-width: 1031px) {
  .cv-area a:hover {
    opacity: 0.6;
  }
}
@media (max-width: 1030px) {
  .cv-area {
    width: 100%;
    padding: 1rem;
    background-color: #fff;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 3;
  }
  .cv-area ul.cv-btn {
    width: 100%;
    max-width: 1080px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
  }
  .cv-area ul.cv-btn li {
    width: calc((100% - 6px) / 3);
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .cv-area ul.cv-btn li a {
    width: 100%;
    height: 100%;
    padding: 2vw 0.5vw;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    border-radius: 2px;
    text-align: center;
    color: #3073bb;
    font-size: 1.8vw;
    font-weight: 500;
    line-height: 1.4;
  }
  .cv-area ul.cv-btn li a span {
    margin: auto 0;
    display: block;
  }
  .cv-area ul.cv-btn li a.btn-cv-search,
  .cv-area ul.cv-btn li a.btn-cv-catalog,
  .cv-area ul.cv-btn li a.btn-cv-plan,
  .cv-area ul.cv-btn li a.btn-cv-contact {
    position: relative;
  }
  .cv-area ul.cv-btn li a.btn-cv-search::before {
    content: "";
    width: 4vw;
    height: 4vw;
    margin-right: 1vw;
    display: inline-block;
    vertical-align: middle;
    background: url(../../../img/campaign/heimlandmarkmodel/icon_house_blue.png) center center no-repeat;
    background-size: 100%;
  }
  .cv-area ul.cv-btn li a.btn-cv-catalog::before {
    content: "";
    width: 10vw;
    height: 6vw;
    margin-right: 1vw;
    display: inline-block;
    vertical-align: middle;
    background: url(../../../img/campaign/heimlandmarkmodel/icon_catalog.png) center center no-repeat;
    background-size: 100%;
  }
  .cv-area ul.cv-btn li a.btn-cv-plan::before {
    content: "";
    width: 10vw;
    height: 8vw;
    margin-right: 1vw;
    display: inline-block;
    vertical-align: middle;
    background: url(../../../img/campaign/heimlandmarkmodel/icon_plan.png) center center no-repeat;
    background-size: 100%;
  }
  .cv-area ul.cv-btn li a.btn-cv-contact::before {
    content: "";
    width: 4vw;
    height: 4vw;
    margin-right: 1vw;
    display: inline-block;
    vertical-align: middle;
    background: url(../../../img/campaign/heimlandmarkmodel/icon_contact_blue.png) center center no-repeat;
    background-size: 100%;
  }
}
@media (max-width: 767px) {
  .cv-area ul.cv-btn li a {
    padding: 2vw 0.5vw;
    flex-direction: column;
    font-size: 3vw;
  }
  .cv-area ul.cv-btn li a.btn-cv-search::before {
    content: "";
    width: 8vw;
    height: 7vw;
    margin-right: 0;
    margin-bottom: 1vw;
    display: block;
    vertical-align: middle;
    background: url(../../../img/campaign/heimlandmarkmodel/icon_house_blue.png) center center no-repeat;
    background-size: 100%;
  }
  .cv-area ul.cv-btn li a.btn-cv-catalog::before {
    content: "";
    width: 22vw;
    height: 10vw;
    margin-right: 0;
    margin-bottom: 1vw;
    display: block;
    vertical-align: middle;
    background: url(../../../img/campaign/heimlandmarkmodel/icon_catalog.png) center center no-repeat;
    background-size: 100%;
  }
  .cv-area ul.cv-btn li a.btn-cv-plan::before {
    content: "";
    width: 18vw;
    height: 10vw;
    margin-right: 0;
    margin-bottom: 1vw;
    display: block;
    vertical-align: middle;
    background: url(../../../img/campaign/heimlandmarkmodel/icon_plan.png) center center no-repeat;
    background-size: 100%;
  }
  .cv-area ul.cv-btn li a.btn-cv-contact::before {
    content: "";
    width: 7vw;
    height: 6vw;
    margin-right: 0;
    margin-bottom: 1vw;
    display: block;
    vertical-align: middle;
    background: url(../../../img/campaign/heimlandmarkmodel/icon_contact_blue.png) center center no-repeat;
    background-size: 100%;
  }
}
.cv-area__wrap {
  display: flex;
  justify-content: space-between;
  width: 98%;
  margin: 0 auto;
}

@media only screen and (max-width: 767px) {
  .cv-area__item {
    width: 100%;
  }
  .cv-area__item + .cv-area__item {
    margin-top: 2vw;
  }
}
.heroArea {
  overflow: hidden;
  margin: 0 auto 0;
  box-sizing: border-box;
  position: relative;
}

@media screen and (max-width: 767px) {
  .heroArea {
    width: 100%;
    padding: 0;
    margin: 0 auto;
  }
}
@media screen and (min-width: 768px) {
  .heroArea {
    background-image: url(../../../img/campaign/heimlandmarkmodel/heroArea__bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom;
  }
}
.heroArea__cover {
  position: relative;
  max-width: 640px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .heroArea__cover {
    max-width: none;
    width: 100%;
  }
}
.heroArea__title {
  max-width: 510px;
  position: absolute;
  top: 20px;
  left: calc(50% - 255px);
}

@media screen and (max-width: 767px) {
  .heroArea__title {
    width: 55.47vw;
    left: 50%;
    transform: translateX(-50%);
  }
}
.heroArea__bottom {
/*  position: absolute;*/
  bottom: 0;
  overflow: hidden;
  width: 100%;
}

.heroArea__bottomInner {
  position: relative;
  box-sizing: border-box;
}

.heroArea__bottomContents {
  max-width: 767px;
  padding: 30px;
  box-sizing: border-box;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.heroArea__bottom::before {
  position: absolute;
  z-index: 0;
  content: "";
  background-color: #002e58;
  display: block;
  width: 100%;
  padding: 100%;
/*  mix-blend-mode: multiply;*/
}
.heroArea__bottomText {
  color: #fff;
  font-size: 28px;
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
}

.heroArea__band {
  width: 100%;
  position: absolute;
  bottom: 118px;
  text-align: center;
}
.heroArea__band img {
  width: 338px;
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
  .heroArea__band {
    /*    bottom: 26.67vw;*/
  }
}
@media screen and (max-width: 768px) {
  .heroArea__band {
    bottom: 10vw;
  }
  .heroArea__band img {
    width: 64vw;
  }
  .heroArea__photo {
    padding-bottom: 0;
    background-color: #cac9c6;
  }
  .heroArea__bottomContents {
    padding: 30px 10px;
  }
  .heroArea__bottomText {
    font-size: 4.27vw;
  }
}
@media screen and (max-width: 700px) {
  .heroArea__photo {
/*    padding-bottom: 24vw;*/
    background-color: #cac9c6;
  }
}
/* phrasing
------------------------*/
sup {
  font-size: 40%;
  vertical-align: top;
  position: relative;
  top: -0.1em;
}

.text-center {
  text-align: center !important;
}

.rounded-pill {
  border-radius: 50rem !important;
}

.cp-color-blue {
  color: #004ea2;
}

.cp-color-red {
  color: #e60012;
}

.cp-color-black {
  color: black;
}

.cp-color-white {
  color: white;
}

.cp-color-rose {
  color: #c3718e;
}

.cp-color-green {
  color: #8dc21f;
}

/* heading
------------------------*/
.cp-h1 {
  font-size: 24px;
}

@media only screen and (max-width: 767px) {
  .cp-h1 {
    font-size: 20px;
  }
}
.cp-h2 {
  font-size: 20px;
}

@media only screen and (max-width: 767px) {
  .cp-h2 {
    font-size: 16px;
  }
}
.cp-h3 {
  font-size: 18px;
}

@media only screen and (max-width: 767px) {
  .cp-h3 {
    font-size: 16px;
  }
}
/* content
------------------------*/
.cp-flex {
  display: flex;
}

.justify-content-center {
  justify-content: center !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

.flex-wrap-wrap {
  flex-wrap: wrap !important;
}

.align-items-end {
  align-items: end !important;
}

.rounded {
  border-radius: 0.25rem !important;
}

.rounded {
  background-color: #fff;
  padding: 60px;
  margin: 60px 0;
}

@media only screen and (max-width: 767px) {
  .rounded {
    padding: 20px;
    margin: 20px 0;
  }
}
.cp-section {
  max-width: 1080px;
  margin: 0 auto;
  padding: 60px 0 60px 0;
  box-sizing: border-box;
}

@media screen and (min-width: 768px) and (max-width: 1080px) {
  .cp-section {
    padding: 30px 18px;
  }
}
@media only screen and (max-width: 767px) {
  .cp-section {
    padding: 30px 18px;
  }
}
.cp-section._900 {
  max-width: 900px;
}

.-navy {
  background-color: #002d58;
}

.-navy h2, .-navy h3, .-navy h4, .-navy p {
  color: #fff;
}

.-green {
  background-color: #335a19;
}

.-green h2, .-green h3, .-green h4, .-green p {
  color: #fff;
}

.linkarrow {
  display: block;
  padding: 10px 0 0;
  text-align: right;
}

.linkarrow a {
  position: relative;
  display: block;
  padding: 0 16px 0 0;
  vertical-align: middle;
}

.linkarrow a::before,
.linkarrow a::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}

.linkarrow a::before {
  right: 3px;
  width: 6px;
  height: 6px;
  border-top: 2px solid #3073b3;
  border-right: 2px solid #3073b3;
  transform: rotate(45deg);
}

.linkarrow a:hover {
  opacity: 0.5;
}

.grn-baner {
  display: block;
  max-width: 980px;
  margin: 0 auto;
  position: relative;
}

.grn-baner:hover {
  opacity: 0.7;
}

.grn-baner__btn {
  position: absolute;
  bottom: 10px;
  right: 10px;
  color: #fff;
  margin: 0;
  background: rgba(0, 0, 0, 0.7);
  border: 1px solid #FFF;
  border-radius: 2px;
  padding: 10px 40px 10px 25px;
  cursor: pointer;
  font-size: 12px;
}

@media only screen and (max-width: 767px) {
  .grn-baner__btn {
    bottom: 3vw;
    right: 3vw;
    padding: 1.5vw 6vw 1.5vw 3vw;
  }
}
.grn-baner__btn span {
  position: relative;
  display: block;
}

.grn-baner__btn span::after {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  top: 4px;
  right: -20px;
  background: url(../../../../img/campaign/heimlandmarkmodel/icon_arrow_white.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

@media only screen and (max-width: 767px) {
  .grn-baner__btn span::after {
    width: 2vw;
    height: 2vw;
    top: 1.3vw;
    right: -4vw;
  }
}
.h-border-left {
  padding: 0.25em 0.5em; /*上下 左右の余白*/
  color: #000; /*文字色*/
  background: transparent; /*背景透明に*/
  border-left: solid 5px #8dc21f; /*左線*/
}

.res-p2 {
  font-size: 16px;
}

@media only screen and (max-width: 767px) {
  .res-p2 {
    font-size: 14px;
  }
}
.res-p3 {
  font-size: 14px;
}

.res-p4 {
  font-size: 12px;
}

.res-t2 {
  font-size: 16px;
}

.res-t3 {
  font-size: 14px;
}

@media only screen and (max-width: 767px) {
  .res-t3 {
    font-size: 12px;
  }
}
.res-t4 {
  font-size: 12px;
}

.res-t5 {
  font-size: 10px;
}

.fair__inner {
  max-width: 1080px;
  margin: 0 auto;
  padding: 30px 0 80px 0;
  box-sizing: border-box;
}

@media screen and (min-width: 768px) and (max-width: 1080px) {
  .fair__inner {
    padding: 30px 18px;
  }
}
@media only screen and (max-width: 767px) {
  .fair__inner {
    padding: 30px 18px;
  }
}
@media screen and (min-width: 768px) {
  .timeline {
    overflow-y: hidden;
    display: flex;
    list-style: none;
    width: 100%;
    margin: 1em auto 3em;
  }
  .timeline li {
    text-align: center;
    flex: 1;
    position: relative;
    padding: 20px 15px 20px 30px;
    margin: 0 4px 0 0;
    background: #dfe1e2;
    min-height: 112px;
  }
  .timeline-date {
    font-size: 1.2em;
    font-weight: 600;
  }
  .timeline-content {
    font-size: 14px;
  }
  /* 先端部分 */
  .timeline li::before {
    content: "";
    position: absolute;
    top: 0;
    right: -32px;
    border-width: 56px 16px;
    border-color: transparent transparent transparent #dfe1e2;
    border-style: solid;
    z-index: 10;
  }
  .timeline li::after {
    content: "";
    position: absolute;
    top: 0;
    right: -36px;
    border-width: 56px 16px;
    border-color: transparent transparent transparent white;
    border-style: solid;
    z-index: 5;
  }
  .timeline li:last-child:before, li:last-child:after {
    display: none;
  }
  .timeline li:last-child {
    padding-right: 30px;
  }
}
@media screen and (min-width: 768px) and (max-width: 820px) {
  .timeline li {
    padding: 20px 0px 20px 26px;
  }
  .timeline li::before {
    right: -32px;
    border-width: 56px 16px;
  }
  .timeline li::after {
    right: -36px;
    border-width: 56px 16px;
  }
  .timeline-date {
    font-size: 1em;
  }
  .timeline-content {
    font-size: 12px;
  }
  .timeline li:first-child {
    padding-left: 10px;
  }
  .timeline li:last-child {
    padding-right: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .timeline {
    margin: 12px 0 30px;
  }
  .timeline p {
    margin: 1em 0;
  }
  .timeline > li {
    overflow: hidden;
    margin: 0;
    position: relative;
  }
  .timeline-date {
    width: 80px;
    float: left;
    margin-top: 20px;
  }
  .timeline-content {
    width: 75%;
    float: left;
    border-left: 3px #e5e5d1 solid;
    padding-left: 30px;
  }
  .timeline-content:before {
    content: "";
    width: 12px;
    height: 12px;
    background: #0075c1;
    position: absolute;
    left: 75px;
    top: 20px;
    border-radius: 100%;
  }
}
.limit-title {
  padding: 0.5em;
  background-color: #454649;
  color: #fff;
  margin: 1em 0;
}

.fair-btnbox {
  margin-top: 30px;
}

.link-arrow {
  text-align: center;
}

.link-arrow a {
  padding-right: 50px;
  position: relative;
  color: #000;
  display: inline-block;
  line-height: 1.2;
}

.link-arrow a::before {
  content: "";
  position: absolute;
  top: calc(50% - 3px);
  right: 0;
  transform: rotate(30deg);
  width: 12px;
  height: 1px;
  background-color: #000;
}

.link-arrow a::after {
  content: "";
  position: absolute;
  top: calc(50% + 1px);
  right: 0;
  transform: translateY(-50%);
  width: 40px;
  height: 1px;
  background-color: #000;
}

.link-arrow a:hover {
  opacity: 0.7;
}

/*  recommend
------------------------*/
.recommend {
  background-color: #f8f8f8;
  padding-top: 60px;
}

@media screen and (max-width: 767px) {
  .recommend {
    padding-top: 8vw;
  }
}
.recommend .fair__inner {
  background-color: transparent;
}

.recommend .recommend-heading {
  font-size: 32px;
  text-align: center;
  margin-top: 0;
  margin-bottom: 1em;
}

@media screen and (max-width: 767px) {
  .recommend .recommend-heading {
    font-size: 1.3rem;
  }
}
.recommend .h-small {
  font-size: 0.7em;
}

.campaign-list {
  width: 100%;
  position: relative;
  overflow: hidden;
  padding-top: 60px;
}
@media screen and (max-width: 767px) {
  .campaign-list {
     padding-top: 30px;
  }
}
.campaign-list p.txt-sub {
  margin-bottom: 80px;
  text-align: center;
  font-size: 20px;
  font-weight: 600;
}

.campaign-list ul {
  width: 96%;
  max-width: 1080px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
}

.campaign-list ul li {
  width: calc((100% - 30px) / 3);
  margin: 0 15px 50px 0;
}

.campaign-list ul li:nth-child(3) {
  margin-right: 0;
}

.campaign-list ul li a,
.campaign-list ul li span {
  display: block;
}

.campaign-list ul li p {
  margin-top: 15px;
  padding: 0 0 0 60px;
  display: block;
  position: relative;
}

.campaign-list ul li p span {
  display: block;
  font-size: 20px;
}

.campaign-list ul li p::before {
  /* content: "＞"; */
  display: inline-block;
  color: #94adce;
  font-size: 20px;
  position: absolute;
  top: 0;
  left: 25px;
}

.campaign-list ul li a img {
  border: 1px solid #c4c4c4;
  box-sizing: border-box;
}

@media (max-width: 1030px) {
  .campaign-list {
    width: 100%;
  }
  .campaign-list p.txt-sub {
    margin-bottom: 8vw;
    text-align: center;
    font-size: 2.2vw;
    font-weight: 600;
  }
  .campaign-list ul {
    width: 96%;
    max-width: 1080px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
  }
  .campaign-list ul li {
    width: calc((100% - 2vw) / 2);
    margin: 0 2vw 3vw 0;
  }
  .campaign-list ul li:nth-child(2n) {
    margin-right: 0;
  }
  .campaign-list ul li a {
    display: block;
  }
  .campaign-list ul li a p {
    margin-top: 1vw;
    padding: 0 0 0 5vw;
    display: block;
    position: relative;
  }
  .campaign-list ul li a p span {
    display: block;
    font-size: 2.2vw;
  }
  .campaign-list ul li a p::before {
    /* content: "＞"; */
    display: inline-block;
    color: #94adce;
    font-size: 2.2vw;
    position: absolute;
    top: 0;
    left: 1vw;
  }
}
@media (max-width: 768px) {
  .campaign-list {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
  .campaign-list p.txt-sub {
    margin-bottom: 12vw;
    text-align: center;
    font-size: 4.2vw;
    font-weight: 600;
  }
  .campaign-list ul {
    width: 100%;
    max-width: initial;
    margin: 0 auto;
    display: block;
  }
  .campaign-list ul li {
    width: 100%;
    margin-bottom: 6vw;
  }
  .campaign-list ul li a {
    display: block;
  }
  .campaign-list ul li a p {
    margin-top: 2vw;
    padding: 0 5vw 0 11vw;
    display: block;
    position: relative;
    font-size: 3.6vw;
  }
  .campaign-list ul li a p span {
    display: block;
    font-size: 4.2vw;
  }
  .campaign-list ul li a p::before {
    /* content: "＞"; */
    display: inline-block;
    color: #94adce;
    font-size: 4.2vw;
    position: absolute;
    top: 0;
    left: 4vw;
  }
}
.bannerbox {
  margin-top: 70px;
}

@media only screen and (max-width: 767px) {
  .bannerbox {
    margin-top: 8vw;
  }
}
.banner {
  display: block;
  max-width: 768px;
  margin: 0 auto;
  position: relative;
}

.banner__btn {
  position: absolute;
  bottom: 10px;
  right: 10px;
  color: #fff;
  margin: 0;
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid #FFF;
  border-radius: 2px;
  padding: 10px 40px 10px 25px;
  cursor: pointer;
  font-size: 12px;
}

@media only screen and (max-width: 767px) {
  .banner__btn {
    bottom: 3vw;
    right: 3vw;
    padding: 1.5vw 6vw 1.5vw 3vw;
  }
}
.banner__btn span {
  position: relative;
  display: block;
}

.banner__btn span::after {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  top: 4px;
  right: -20px;
  background: url(../../../img/campaign/heimlandmarkmodel/icon_arrow_white.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

@media only screen and (max-width: 767px) {
  .banner__btn span::after {
    width: 2vw;
    height: 2vw;
    top: 1.3vw;
    right: -4vw;
  }
}
.banner:hover {
  opacity: 0.7;
}

.banner__btn {
  position: absolute;
  bottom: 10px;
  right: 10px;
  color: #fff;
  margin: 0;
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid #FFF;
  border-radius: 2px;
  padding: 10px 40px 10px 25px;
  cursor: pointer;
  font-size: 12px;
}

@media only screen and (max-width: 767px) {
  .banner__btn {
    bottom: 3vw;
    right: 3vw;
    padding: 1.5vw 6vw 1.5vw 3vw;
  }
}
.banner__btn span {
  position: relative;
  display: block;
}

.banner__btn span::after {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  top: 4px;
  right: -20px;
  background: url(../../../img/campaign/heimlandmarkmodel/icon_arrow_white.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

@media only screen and (max-width: 767px) {
  .banner__btn span::after {
    width: 2vw;
    height: 2vw;
    top: 1.3vw;
    right: -4vw;
  }
}
/*  intro
------------------------*/
.intro__ttl {
  font-size: 31px;
  margin-bottom: 0.5em;
  font-weight: 400;
}

@media screen and (max-width: 767px) {
  .intro__ttl {
    font-size: 24px;
    text-align: center;
  }
}
.intro__txt {
  font-size: 17px;
  line-height: 2em;
}

@media screen and (max-width: 767px) {
  .intro__txt {
    font-size: 14px;
    text-align: center;
  }
}
.intro__logo {
  max-width: 190px;
  margin: 2em 0 4em;
}

@media screen and (max-width: 767px) {
  .intro__logo {
    max-width: 130px;
    margin: 0 auto 30px;
  }
}
.intro__txt {
   text-shadow:  0 0 10px #002E58,
    0 0 10px #002E58,
     0 0 10px #002E58;
}

@media screen and (min-width: 768px) {
  .intro__top {
    background-image: url(../../../img/campaign/2024_heimlandmarkmodel/intro__bg-PC.jpg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: right 0px bottom;
    padding-bottom: 1px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1030px) {
  .intro__top {
    background-position: right 0px bottom 18vw;
  }
}
.intro__policy {
  margin: 40px 0 0;
  max-width: 672px;
}
.intro__policy-list {
  margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
  .intro {
    background-image: url(../../../img/campaign/2024_heimlandmarkmodel/intro__bg-PC.jpg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: right 0px top;
    padding-bottom: 1px;
    background-size: 75%;
  }
  .intro__txt {
    font-size: 4.8vw;
    text-align: left;
  }
  .intro__policy {
    margin: 6vw 0 8vw;
  }
}
.intro__policy-01 {
  margin-bottom: 10px;
}

@media screen and (max-width: 767px) {
  .intro__policy-01 {
    margin-bottom: 7vw;
  }
}


.intro__bottom {
  background-color: #4c6d8a;
  padding: 50px 50px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .intro__bottom {
    max-width: 88%;
    margin: 0 auto;
  }
}
.chart__ttl {
  font-size: 30px;
}
.simulation__ttl {
  font-size: 22px;
}
.simulation__ttlsub {
  font-size: 20px;
  line-height: 1;
  color: #4C6D8A;
  background-color: #fff;
  padding: 10px 20px;
  display: inline-block;
}
.intro__bottom .simulation__cppy {
  font-size: 30px;
  line-height: 1.6;
  font-weight: bold;
  margin: 0;
  color: #EFD88E;
}
@media screen and (min-width: 768px) and (max-width: 880px) {
  .intro__bottom .simulation__cppy {
    font-size: 3.41vw;
  }
}

.intro__chart {
  padding: 65px 65px 0 65px;
}


  .intro__chart {
    padding: 0;
  }

.simulation__ttl {
  margin-bottom: 0.5em;
  font-size: 20px;
}

.simulation__ttlsub {
  margin-bottom: 0.5em;
}

.simulation__list {
  font-size: 16px;
  color: #fff;
  margin-bottom: 1em;
  display: flex;
  flex-wrap: wrap;
}

.simulation__list li {
/*  margin-left: 1.6em;*/
  margin-left: 1em;
  padding-right: 16px;
  list-style-type: disc;
}

.simulation__cppy {
  margin: 1em auto;
}

.table-scroll {
  overflow: auto;
  margin: 30px 0 20px;
  padding-bottom: 10px;
}

.table-scroll table {
  white-space: nowrap;
  margin: 0 0 10px;
}

.table-scroll::-webkit-scrollbar {
  height: 5px;
}

.table-scroll::-webkit-scrollbar-thumb {
  background: #999;
  border-radius: 5px;
}

.table-scroll::-webkit-scrollbar-track-piece {
  background: #4c6d8a;
}
@media screen and (max-width: 767px) {
  .intro__bottom {
    padding: 30px;
  }
  .chart__ttl {
    font-size: 4.5vw;
  }
  .simulation__ttl,
  .simulation__ttlsub {
    font-size: 4.27vw;
  }
  .intro__bottom .simulation__cppy {
    font-size: 5.5vw;
  }
  .table-scroll img {
    width: 570px;
    max-width: 570px;
  }
}



/*  spec
------------------------*/
.spec {
/*  padding-bottom: 150px;
  background-image: url(../../../img/campaign/heimlandmarkmodel/spec__bg.png);
  background-repeat: no-repeat;
  background-size: 422px;
  background-position: right bottom;*/
}

@media screen and (min-width: 768px) and (max-width: 1030px) {
  .spec {
/*    background-size: 40vw;*/
  }
}
@media screen and (max-width: 767px) {
  .spec {
/*    padding-bottom: 0;
    background-size: 50vw;*/
  }
}
.spec .fair-ttl {
  text-align: center;
  margin-bottom: 2em;
}

@media screen and (max-width: 767px) {
  .spec .fair-ttl {
    margin-bottom: 1em;
  }
}
.spec__standard {
  text-align: right;
}

@media screen and (max-width: 767px) {
  .spec__standard {
    text-align: center;
  }
}
.spec__standard-img {
  display: inline-block;
  max-width: 428px;
}
.spec__items {
  padding: 20px 0 20px;
}
.spec__item {
  margin-bottom: 5.33vw;
}
@media screen and (min-width: 768px) {
  .spec__items {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 20px 0 20px;
  }
  .spec__item {
    width: 46%;
    margin-bottom: 40px;
  }
}

.spec__ttl-left {
  font-size: 20px;
  font-weight: bold;
  color: #002E58;
  padding-left: 70px;
  position: relative;
  line-height: 1.6;
  margin-bottom: 1em;
}
.spec__ttl-left:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 56px;
  height: 48px;
  background-image: url(../../../img/campaign/2024_heimlandmarkmodel/hexagon.png);
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 1;
  transform: translateY(-50%)
}
.spec__ttl-s {
  display: block;
  font-size: 16px;
}
.spec__ttl {
  width: 28.7%;
}

@media screen and (max-width: 767px) {
  .spec {
/*    padding-bottom: 16vw;*/
  }
  .spec__items {
    padding-bottom: 0;
  }
  .spec__ttl {
    max-width: 294px;
    width: 100%;
    margin: 0 auto 1em;
  }
  .spec__ttl-left {
    font-size: 5.33vw;
    padding-left: 10.67vw;
    margin-bottom: 2.67vw;
  }
  .spec__ttl-left:before {
    width: 8vw;
    height: 6.93vw;
  }
  .spec__ttl-s {
    font-size: 4vw;
  }
}
.spec__content {
}

@media screen and (max-width: 767px) {
  .spec__content {
    width: 100%;
  }
}
/*  others
------------------------*/
.lcc__ttl {
  margin: 0 auto 1.5em;
}

@media screen and (max-width: 767px) {
  .lcc__ttl {
    max-width: 300px;
  }
}
.lcc__items {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 2em;
}

@media screen and (max-width: 767px) {
  .lcc__items {
    margin-bottom: 0;
  }
}
.lcc__item {
  width: 48.444%;
}

@media screen and (max-width: 767px) {
  .lcc__item {
    width: 100%;
    margin-bottom: 1em;
  }
}
.zeh__ttl {
  max-width: 754px;
  margin: 0 auto 1.5em;
}

.zeh__items {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 2em;
}

@media screen and (max-width: 767px) {
  .zeh__items {
    margin-bottom: 0;
  }
}
.zeh__item {
  width: 48.444%;
}

@media screen and (max-width: 767px) {
  .zeh__item {
    width: 100%;
    margin-bottom: 1em;
  }
}
.zeh__txt {
  margin-bottom: 1em;
}

.merit {
  background-color: #fff;
  padding: 30px;
  border-radius: 16px;
  margin: 1em 0;
}

@media screen and (max-width: 767px) {
  .merit {
    padding: 20px 20px;
  }
}
@media screen and (min-width: 768px) {
  .merit__items {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}
.merit__title {
  width: 50%;
}

@media screen and (max-width: 767px) {
  .merit__title {
    width: 100%;
  }
}
.merit__img {
  width: 20.4%;
}

@media screen and (max-width: 767px) {
  .merit__img {
    width: 50%;
    margin: 1.25em auto 0;
  }
}
.merit__txt {
  width: 100%;
}

.merit__txt p {
  margin-top: 1em;
  color: #000;
}

.lineup {
  position: relative;
}

.lineup__ttl {
  max-width: 848px;
}

@media screen and (max-width: 767px) {
  .lineup__ttl {
    max-width: 312px;
    margin: 0 auto 20px;
  }
}
.lineup__items {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}

.lineup__item {
  width: 46.296%;
  margin-bottom: 1em;
}

@media screen and (max-width: 767px) {
  .lineup__item {
    width: 100%;
  }
}
.lineup__item h3 {
  margin: 0.75em 0 0.3em;
}

@media screen and (max-width: 767px) {
  .lineup__item p {
    font-size: 14px;
  }
}
.lineup__bottom {
  position: absolute;
  width: 50%;
  bottom: 0;
  left: 0;
}

@media screen and (max-width: 767px) {
  .lineup__bottom {
    display: none;
  }
}
.lineup a {
  color: #fff;
}

.lineup .linkarrow a::before {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.special__head {
  padding: 18px 70px 8px;
}

@media screen and (max-width: 767px) {
  .special__head {
    padding: 30px 20px;
  }
}
.special__ttl {
  /*  padding-top: 3em;*/
  margin-bottom: 1em;
}

@media screen and (min-width: 768px) and (max-width: 1030px) {
  .special__ttl {
    /*    padding-top: 12vw;*/
    /*    margin-top: -6vw;*/
  }
}
@media screen and (max-width: 767px) {
  .special__ttl {
    /*    padding-top: 1.5em;*/
    margin-bottom: 0.5em;
  }
}
@media screen and (min-width: 768px) {
  .greenmodel .inview {
    opacity: 0;
  }
  .greenmodel .animated {
    animation-duration: 1s;
  }
  .greenmodel .animated-1 {
    animation-duration: 1s;
  }
  .greenmodel .animated-2 {
    animation-duration: 2s;
  }
  .greenmodel .animated-3 {
    animation-duration: 3s;
  }
  .greenmodel .anime-delay-01 {
    animation-delay: 0ms;
  }
  .greenmodel .anime-delay-02 {
    animation-delay: 300ms;
  }
  .greenmodel .anime-delay-03 {
    animation-delay: 600ms;
  }
  .greenmodel .anime-delay-04 {
    animation-delay: 900ms;
  }
  .greenmodel .anime-delay-10 {
    animation-delay: 1000ms;
  }
  .greenmodel .anime-delay-11 {
    animation-delay: 1300ms;
  }
  .greenmodel .anime-delay-12 {
    animation-delay: 1600ms;
  }
  .greenmodel .anime-delay-13 {
    animation-delay: 1900ms;
  }
  .greenmodel .anime-delay-14 {
    animation-delay: 2200ms;
  }
  .greenmodel .show {
    display: block;
  }
  @keyframes slideOut {
    0% {
      transform: translate3d(0, 0, 0);
    }
    100% {
      transform: translate3d(100%, 0, 0);
    }
  }
}
/*  color
------------------------*/
.txt-white {
  color: #fff;
}

.txt-stay01 {
  color: #005083;
}

.txt-stay02 {
  color: #5bb15a;
}

.txt-stay03 {
  color: #f2971b;
}

.specification__item-01 {
  background-color: #005083;
}

.specification__item-02 {
  background-color: #ccdce6;
}

.bg-light {
  background-color: #efefef;
}

.bg-catalog {
  background-color: #009fe8;
}

.bg-tatedoki {
  background-color: #174273;
}

a.res-baner:hover {
  opacity: 0.8;
}

.res-baner {
  display: block;
  max-width: 768px;
  margin: 0 auto;
  position: relative;
}

.res-baner__btn {
  position: absolute;
  bottom: 10px;
  right: 10px;
  color: #fff;
  margin: 0;
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid #FFF;
  border-radius: 2px;
  padding: 10px 40px 10px 25px;
  cursor: pointer;
  font-size: 12px;
}

@media only screen and (max-width: 767px) {
  .res-baner__btn {
    bottom: 3vw;
    right: 3vw;
    padding: 1.5vw 6vw 1.5vw 3vw;
  }
}
.res-baner__btn span {
  position: relative;
  display: block;
}

.res-baner__btn span::after {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  top: 4px;
  right: -20px;
  background: url(../../../img/campaign/heimlandmarkmodel/icon_arrow_white.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

@media only screen and (max-width: 767px) {
  .res-baner__btn span::after {
    width: 2vw;
    height: 2vw;
    top: 1.3vw;
    right: -4vw;
  }
}
.letoitAZ {
  width: 100%;
  background-color: #929526;
/*  display: flex;
  justify-content: space-between;*/
  position: relative;
  margin-bottom: 30px;
}

.letoitAZ__title {
/*  width: 33.52%;*/
  width: 100%;
  background-color: #1e320e;
  padding: 20px 20px 20px;
/*  background: url(../../../img/campaign/heimlandmarkmodel/letoitAZ__bg-title-PC.svg);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: cover;
  padding: 70px 20px 40px;*/
}

.letoitAZ__title {
  /*  padding-top: 150px;*/
}

.letoitAZ__sarani {
  max-width: 138px;
  width: 11.5vw;
  position: absolute;
  top: -10px;
  left: 20px;
}

.letoitAZ__contents {
/*  width: 65.19%;*/
  width: 100%;
  padding: 20px;
}

.letoitAZ__subtitle {
/*  margin-bottom: 14px;*/
}

.letoitAZ .letoitAZ__subtitle + .txt--note {
  color: #fff;
}

@media only screen and (max-width: 767px) {
  .letoitAZ {
    display: block;
  }
  .letoitAZ__title {
    padding: 8vw 4vw;
/*    padding: 10.67vw 12vw 8vw;*/
/*    background: url(../../../img/campaign/heimlandmarkmodel/letoitAZ__bg-title-SP.svg);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: cover;*/
  }
  .letoitAZ__sarani {
    width: 27.73vw;
    top: -2.67vw;
    left: 5.33vw;
  }
  .letoitAZ__title,
  .letoitAZ__contents {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .cv-area {
    padding: 1vw;
  }
}
.cv-area__wrap {
  display: flex;
  justify-content: space-between;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  width: 98%;
  max-width: 1440px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .cv-area__wrap {
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
}
.cv-area__wrap .c-fgoldbtn {
  width: 100%;
}
.cv-area__wrap .c-fgoldbtn a {
  position: relative;
}
@media (max-width: 767px) {
  .cv-area__wrap .c-fgoldbtn a {
    font-size: 1.2rem;
    padding: 0.5rem;
  }
}

.cv-area__item {
  width: 50%;
}

@media only screen and (max-width: 767px) {
  .cv-area__item {
    width: 49.5%;
  }
  .cv-area__item + .cv-area__item {
    margin-top: 0;
  }
  .cv-area__item a.btn-reserve {
    width: 100%;
  }
  .cv-area__item a.btn-reserve::before {
    width: 100%;
    height: 100%;
  }
  .cv-area__item a.btn-reserve::after {
    display: none;
  }
  .cv-area__item a.btn-reserve p {
    padding: 4vw 0 4vw;
    font-size: 3.2vw;
  }
  .cv-area__item a.btn-reserve p::after {
    width: 6px;
    height: 12px;
    right: 1.88vw;
    top: calc(50% - 1.6vw);
  }
}


a.btn-reserve p::after {
  display: none;
}

@media (max-width: 767px) {
  .cv-area__item .u-arw {
    right: 1rem;
  }
}/*# sourceMappingURL=style.css.map */




/*2024*/
.letoitAZ._2024 {
  background-color: #335A19;
}
.letoitAZ__title._2024 {
  background-image: none;
/*  background-image: url(../../../img/campaign/heimlandmarkmodel/letoitAZ__bg-title_2404-PC.svg);*/
}
.-renga {
  background-color: #946134;
}
@media only screen and (max-width: 767px) {
  .letoitAZ__title._2024 {
    background-image: none;
/*    background-image: url(../../../img/campaign/heimlandmarkmodel/letoitAZ__bg-title_2404-SP.svg);*/
  }
}

.popup {
  position: fixed;
  bottom: 10px;
  right: 10px;
  width: 400px;
  z-index: 9997;
  transition: 0.3s;
}
@media (max-width: 767px) {
  .popup {
    width: 60%;
    right: 0;
    bottom: 0;
  }
}


/*close*/
.btn-close {
  display: block;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-align: center;
  color: #fff;
  width: 70%;
  margin: 0 auto;
  background: #666;
  padding: 10px 0;
  box-shadow: 5px 5px 0 #555;
  transition: 0.3s;
  position: relative;
}
@media (max-width: 1030px) {
  .btn-close {
    width: 100%;
  }
}

.insulation {

}
.insulation__ttl {

}
.insulation__ttl {
  font-size: 30px;
  font-weight: bold;
  color: #002E58;
  padding-left: 70px;
  position: relative;
  line-height: 1.6;
  margin-bottom: 1em;
}
.insulation__ttl:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 56px;
  height: 48px;
  background-image: url(../../../img/campaign/2024_heimlandmarkmodel/hexagon.png);
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 2;
  transform: translateY(-50%);
}
.insulation__ttl-s {
  display: block;
  font-size: 20px;
}
@media (max-width: 767px) {
  .insulation__ttl {
    font-size: 5.33vw;
    padding-left: 9.67vw;
    margin-bottom: 5.33vw;
  }
  .insulation__ttl:before {
    width: 8vw;
    height: 6.93vw;
  }
  .insulation__ttl-s {
    font-size: 4vw;
  }
}
.insulation__head {

}
.insulation__ttlImg {
  max-width: 390px;
  margin-bottom: 20px;
}
.insulation__headImg {
  width: 100%;
}
.insulation__headitemTxt {
  font-size: 20px;
  font-weight: bold;
  margin: 1em 0;
}
@media (max-width: 767px) {
  .insulation__ttlImg {
    display: block;
    max-width: 100%;
    margin: 0 auto 5.33vw;
  }
  .insulation__headitemTxt {
    font-size: 4vw;
  }
}
@media screen and (min-width: 768px) {
  .insulation__head {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 20px 0 20px;
  }
  .insulation__headitem.-right {
    width: 55.9%;
  }
}
.insulation__items {
  padding: 20px 0 20px;
}
.insulation__item {
/*  margin-bottom: 5.33vw;*/
}
.insulation__subitemTtl {
  text-align: center;
  color: #fff;
  background-color: #002E58;
  line-height: 1;
  padding: 6px;
}
.insulation__subitem img + p {
  font-weight: bold;
  line-height: 1.6;
  margin-top: .5em;
}
@media screen and (min-width: 768px) {
  .insulation__items {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 20px 0 20px;
  }
  .insulation__item {
    width: 46%;
  }
  .insulation__subitems {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 3vw;
  }
  .insulation__subitem {
    width: 46%;
  }
}
@media (max-width: 767px) {
  .insulation__items {
    padding: 0;
  }
  .insulation__subitems {
    margin-top: 6vw;
  }
  .insulation__subitem {
    margin-bottom: 4.27vw;
  }
}
.-ivory {
  background-color: #FAF4DA;
}


/*shoenelabel*/
.shoenelabel {

}
.shoenelabel-top {
  background-color: #197451;
  padding: 10px;
  border-radius:8px 8px 0px 0px ;
  text-align: center;
  color: #fff;
  margin-top: 40px;
}
.shoenelabel-ttl {
  font-size: 30px;
  line-height: 1.6;
}
.shoenelabel-s {
  font-size: 20px;
  display: block;
}
.shoenelabel-ss {
  font-size: 16px;
  display: block;
}
.shoenelabel-box {
  color: #197451;
  background-color: #fff;
  font-size: 20px;
  padding: 6px;
  line-height: 1.2;
  display: inline-block;
  left: 1em;
}
.shoenelabel-bottom {
  background-color: #D0E1D3;
  padding: 30px;
  border-radius:0px 0px 8px 8px ;
}
@media screen and (min-width: 768px) {
  .shoenelabel-bottom__items {
    display: flex;
    justify-content: space-between;
  }
  .shoenelabel-bottom__item.-left {
    max-width: 520px;
    width: 100%;
  }
  .shoenelabel-01 {
    max-width: 420px;
    display: block;
    margin: 0 auto 10px;
  }
  .shoenelabel-03 {
    max-width: 450px;
  }
}
@media (max-width: 767px) {
  .shoenelabel-ttl {
    font-size: 6.4vw;
  }
  .shoenelabel-s {
    font-size: 4.8vw;
  }
  .shoenelabel-ss {
    font-size: 3.73vw;
    margin-top: 2vw;
  }
  .shoenelabel-box {
    font-size: 4.27vw;
  }
  .shoenelabel-bottom {
    padding: 5.33vw 8vw;
  }
  .shoenelabel-bottom__item.-left {
    margin-bottom: 5.33vw;
  }
}
/*shoenelabel*/


.special__box {
  border: solid 7px #F19A96;
  background: rgb(148,30,35);
  background: linear-gradient(90deg, rgba(148,30,35,1) 0%, rgba(234,93,41,1) 50%, rgba(148,30,35,1) 100%);
  margin-bottom: 20px;
  padding: 10px;
}
.special__inner {
  margin: 0 14px;
}
.special__list {
  color: #fff;
  font-size: 30px;
  font-weight: bold;
  padding: 10px 0;
  border-bottom: solid 1px #fff;
}
.special__list:last-child {
  border: none;
}
.special__dt,
.special__dd {
/*  display: inline-block;*/
  display: block;
  vertical-align: top;
  line-height: 1.6;
}
.special__list sup,
.special__box .txt--note {
  color: #fff;
}
@media (max-width: 767px) {
  .special__list {
    font-size: 4.8vw;
    line-height: 1.6;
  }
  .special__dt, .special__dd {
    display: block;
  }
}



.c-fentrybtn {
  color: #fff;
  background-color: #EF8B1E;
  transition: 0.3s;
  border: 1px solid transparent;
  text-align: center;
  margin: 6rem auto;
  font-weight: 700;
  width: 80%;
  border-radius: 3px;
}
.c-fentrybtn p {
  font-size: 2.4rem;
}
.c-fentrybtn a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem 6rem;
  position: relative;
  font-size: 16px;
}
@media (max-width: 767px) {
  .c-fentrybtn {
    width: 100%;
    margin-top: 3rem;
  }
  .c-fentrybtn p {
    font-size: 1.25em;
    line-height: 1.5;
  }
  .c-fentrybtn a {
    font-size: 3.59vw;
    padding: 2.05vw 2.56vw 2.56vw;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-fentrybtn:hover:hover {
    background-color: #fff;
    border: 1px solid #EF8B1E;
    color: #EF8B1E;
    font-weight: 700;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .c-fentrybtn:hover:hover {
    background-color: #fff;
    border: 1px solid #EF8B1E;
    color: #EF8B1E;
    font-weight: 700;
  }
}




/*letoitAZ*/
.letoitAZ__subtitle {
  color: #fff;
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 6px;
}
.letoitAZ__item {
  background-color: #fff;
  color: #335A19;
  font-size: 20px;
  font-weight: bold;
  width: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
@media (min-width: 768px) {
  .letoitAZ__items {
    display: flex;
    margin-bottom: 10px;
  }
  .letoitAZ__item {
    padding: 0 1em;
    margin-right: 6px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1080px) {
  .letoitAZ__subtitle {
    font-size: 2vw;
  }
}
@media (max-width: 767px) {
  .letoitAZ__subtitle {
    font-size: 4.8vw;
    line-height: 1.6em;
    margin-bottom: 3vw;
  }
  .letoitAZ__items {
    margin-bottom: 3vw;
  }
  .letoitAZ__item {
    font-size: 4.8vw;
    text-align: center;
    margin-bottom: 6px;
    width: 100%;
    line-height: 1.6;
    padding: 3vw;
  }
}

.scroll-hint-text {
  line-height: 1;
}


.cp-title {
  background-color: #012e58;
  color: #fff;
  max-width: 1080px;
  margin: 0 auto 1em;
  padding: .5em;
}
@media only screen and (max-width: 767px) {
  .cp-title {
    padding: 4.27vw;
    font-size: 5.87vw;
  }
}


@media screen and (max-width: 767px) {
  #intro, #spec, #special {
    margin-top: -60px;
    padding-top: 60px;
  }
}



/*2025 p-entry__container*/
.p-entry__container {
  position: relative;
}
.p-entry__container.u-single .p-entry__btnwrap {
  width: 56.1%;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .p-entry__container.u-single .p-entry__btnwrap {
    width: 100%;
  }
}
.p-entry__container.u-single .c-campaignbtn {
  width: 100%;
}
.p-entry__imgwrap {
  display: flex;
  justify-content: end;
  padding: 0 3%;
  position: relative;
}
.p-entry__img {
  width: 12.4rem;
  display: block;
  position: relative;
}
@media (max-width: 767px) {
  .p-entry__img {
    width: 6.8rem;
  }
}
.p-entry__img-txt {
  position: absolute;
  top: 0;
  left: -20rem;
  display: block;
  text-align: center;
  padding: 0.8rem 2.4rem;
  border: 0.24rem solid lightgray;
  background-color: #fff;
  line-height: 1.5;
  font-size: 1.44rem;
}
@media (max-width: 767px) {
  .p-entry__img-txt {
    top: -0.64rem;
    left: -14.2rem;
    padding: 0.4rem 1.6rem;
    border: 0.16rem solid lightgray;
    font-size: 1.04rem;
  }
}
.p-entry__img-txt::before {
  content: "";
  position: absolute;
  width: 2.4rem;
  height: 2.4rem;
  background-color: #fff;
  bottom: -1.6rem;
  right: 3.2rem;
  clip-path: polygon(0 37%, 100% 0, 100% 100%);
}
@media (max-width: 767px) {
  .p-entry__img-txt::before {
    width: 1.6rem;
    height: 1.6rem;
    bottom: -1rem;
    right: 3.1rem;
  }
}
.p-entry__img-txt::after {
  content: "";
  width: 2.72rem;
  height: 0.24rem;
  background-color: lightgray;
  position: absolute;
  bottom: -0.88rem;
  right: 3.2rem;
  transform: rotate(28deg);
}
@media (max-width: 767px) {
  .p-entry__img-txt::after {
    width: 1.92rem;
    height: 0.1444rem;
    bottom: -0.56rem;
    right: 3.04rem;
  }
}
.p-entry .u-font-cute {
  font-family: "fot-tsukubrdgothic-std", sans-serif;
  font-weight: 700;
  font-style: normal;
}
.p-entry__btnwrap {
  display: flex;
}
@media screen and (min-width: 768px) {
  .p-entry__btnwrap {
    justify-content: space-between;
  }
}
@media (max-width: 767px) {
  .p-entry__btnwrap {
    flex-wrap: wrap;
    flex-direction: column-reverse;
  }
}

.c-campaignbtn {
  width: 100%;
  color: #fff;
  background-color: #EF8B1E;
  transition: 0.3s;
  border: 1px solid transparent;
  text-align: center;
  font-weight: 700;
  border-radius: 999em;
}
@media screen and (min-width: 768px) {
  .c-campaignbtn {
    width: 49%;
  }
}
@media (max-width: 767px) {
  .c-campaignbtn {
    margin-bottom: 0.8rem;
  }
}
.c-campaignbtn a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem 6rem;
  position: relative;
  font-size: 20px;
}
@media (max-width: 767px) {
  .c-campaignbtn a {
    font-size: 3.59vw;
    padding: 2.05vw 2.56vw 2.56vw;
  }
}
.c-campaignbtn a .u-arw {
  right: 2rem;
}

.p-campaign__bann {
  width: 100%;
  max-width: 1220px;
  margin: 0 auto;
  padding-bottom: 3rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-campaign__bann {
    width: 100%;
    padding-bottom: 2rem;
  }
}
@media (max-width: 767px) {
  .p-campaign__bann a {
    position: relative;
    display: block;
    width: 100%;
/*    width: 90%;*/
    margin: 0 auto;
  }
}
.p-campaign__relate {
  text-align: center;
  padding-bottom: 2.75rem;
}
@media (max-width: 767px) {
  .p-campaign__relate {
    font-size: 3.2vw;
    padding-bottom: 3vw;
  }
}

.gradation {
  content: "";
  width: 100%;
  height: 3vw;
  background: linear-gradient(0deg, rgb(255, 221, 178) 0%, rgb(255, 255, 255) 60%);
}
@media (max-width: 767px) {
  .gradation {
    height: 10vw;
  }
}

.triangle {
  content: "";
  height: 60px;
  width: 100%;
  clip-path: polygon(50% 100%, 100% 0%, 0% 0%);
  background-color: #ffddb2;
  margin-bottom: 3rem;
}
@media (max-width: 767px) {
  .triangle {
    height: 6vw;
    margin-bottom: 6vw;
  }
}