@charset "UTF-8";
:root {
  --blue: #006EBD;
  --navy: #18354A;
  --white: #FFFFFF;
  --gray: #637988;
  --pale: #BACBD8;
  --deep: #195B83;
  --bg: #F1F6F8;
  --black: #000000;
  --shade: 16, 62, 91; /* #103E5B */
  --serif: "Shippori Mincho", "Yu Mincho", serif;
  --heading: "Zen Kaku Gothic New", "Hiragino Sans", sans-serif;
  --sans: "Noto Sans JP", "Hiragino Sans", sans-serif;
  --en: "Jost", sans-serif;
  --content-w: 1400px; /* 各セクションのコンテンツ最大幅 */
  --header-h: 80px;
  --ease: cubic-bezier(.25, .8, .25, 1);
  --arrow-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10'%3E%3Cpath d='M0 5h15M10.5.5 15 5l-4.5 4.5' fill='none' stroke='%23000' stroke-width='1.1'/%3E%3C/svg%3E");
}

@media (max-width: 900px) {
  :root {
    --header-h: 64px;
  }
}
#wpadminbar #wp-admin-bar-wp-logo {
  display: none;
}

.container,
#container {
  padding: 0;
  width: 100%;
  max-width: unset;
}

#wrapper .header-container {
  background: unset;
}
#wrapper .wrap {
  width: auto;
}
#wrapper .main {
  background-color: unset;
  width: auto;
  border: none;
  padding: 0;
  border-radius: unset;
}
#wrapper #header-in .tagline {
  margin: 0;
}

.home #wrapper #content-in > .inBase,
.home #wrapper #content-in > .inBase > .inBase__inner {
  width: auto;
}
.home #wrapper .footer {
  margin-top: 0;
}

.home #content {
  padding-top: 0;
  margin-top: 0;
}

.header {
  height: auto;
}

a {
  color: unset;
}

.entry-content strong,
.wp-block-post-content strong {
  font-weight: bold;
}

.fz-18px {
  font-size: 3.5vw;
}
@media print, screen and (min-width: 768px) {
  .fz-18px {
    font-size: 1.176vw;
  }
}
@media print, screen and (min-width: 1280px) {
  .fz-18px {
    font-size: 1.6rem;
  }
}

@media print, screen and (min-width: 768px) {
  .br-sp {
    display: none;
  }
}

@media print, screen and (min-width: 768px) {
  #mailform {
    display: block;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
}
#mailform .noDeco input {
  background: none;
}
#mailform input {
  border: 1px solid #ccc;
  width: 100% !important;
  min-height: 30px;
  display: block;
  outline: none;
  vertical-align: middle;
  border-radius: 3px;
}
#mailform input[type=radio] {
  display: inline;
  width: 1em !important;
}
#mailform input[type=checkbox] {
  display: inline;
  width: 1em !important;
}
#mailform input[type=submit] {
  background: none;
  padding: 0.8rem;
  background: #000;
  margin: 0 0 20px;
  cursor: pointer;
  color: #FFF;
  font-weight: bold;
}
@media print, screen and (min-width: 768px) {
  #mailform input[type=submit] {
    width: 60% !important;
    margin-left: auto;
    margin-right: auto;
    font-size: 1.2em;
    padding: 1em;
  }
}
#mailform input[type=reset] {
  background: none;
  padding: 0.8rem;
  background: #F3DCEC;
  margin: 0 0 20px;
  cursor: pointer;
}
#mailform textarea {
  border: 1px solid #ccc;
  width: 100% !important;
  min-height: 30px;
  display: block;
  margin-bottom: 15px;
  margin-top: 5px;
  outline: none;
  border-radius: 3px;
}
@media print, screen and (min-width: 768px) {
  #mailform dl dt {
    width: 30%;
    float: left;
    text-align: right;
    clear: both;
    margin: 0 0 0.8rem;
    font-size: 1.2em;
  }
}
#mailform dl dt span {
  font-size: 0.7em;
  color: #FFF;
  background: #db083e;
  border-radius: 0.1em;
  padding: 0.1em 0.6em;
  margin-left: 1em;
  display: inline-block;
  margin-bottom: 0.3em;
  float: right;
  line-height: 1.6em;
}
@media print, screen and (min-width: 768px) {
  #mailform dl dt span {
    font-size: 0.8em;
    margin-bottom: 0;
    padding: 0.1em 0.6em;
    float: none;
  }
}
@media print, screen and (min-width: 768px) {
  #mailform dl dt label {
    padding: 0.8rem 20px;
    display: block;
  }
}
#mailform dl dd {
  line-height: 2em;
  padding: 0 0 15px;
  margin: 0 0 0.8rem;
  border-bottom: #E8E8E8 solid 1px;
  display: block;
}
@media print, screen and (min-width: 768px) {
  #mailform dl dd {
    width: 65%;
    float: left;
    padding: 0.2em 0.8rem 0.8rem 0.8rem;
    border-bottom: none;
  }
}

@media print, screen and (min-width: 768px) {
  .mailformBox {
    width: 90%;
    margin: 0 auto 30px;
    border: #D7D7D7 solid 5px;
    padding: 40px 0 0 20px;
  }
}

@media print, screen and (min-width: 768px) {
  .wpcf7-radio {
    font-size: 1.2em;
    display: inline-block;
    margin-top: 0.3em;
  }
}

.article #mailform p {
  margin-bottom: 0;
}

.page-transition {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transition: -webkit-transform 0.8s cubic-bezier(0.39, 0.575, 0.565, 1) 0.8s;
  transition: -webkit-transform 0.8s cubic-bezier(0.39, 0.575, 0.565, 1) 0.8s;
  transition: transform 0.8s cubic-bezier(0.39, 0.575, 0.565, 1) 0.8s;
  transition: transform 0.8s cubic-bezier(0.39, 0.575, 0.565, 1) 0.8s, -webkit-transform 0.8s cubic-bezier(0.39, 0.575, 0.565, 1) 0.8s;
  z-index: 999999;
}
.page-transition::before {
  content: "";
  width: 100%;
  height: 300%;
  display: block;
  position: absolute;
  left: 0;
  top: -100%;
  background: -webkit-gradient(linear, left bottom, left top, from(hsla(0deg, 0%, 100%, 0)), color-stop(33.33333%, #fff), color-stop(66.66667%, #fff), to(hsla(0deg, 0%, 100%, 0)));
  background: -webkit-linear-gradient(bottom, hsla(0deg, 0%, 100%, 0), #fff 33.33333%, #fff 66.66667%, hsla(0deg, 0%, 100%, 0));
  background: linear-gradient(0deg, hsla(0deg, 0%, 100%, 0), #fff 33.33333%, #fff 66.66667%, hsla(0deg, 0%, 100%, 0));
}

body.is-pageRemove .page-transition {
  -webkit-animation: maskCloseTransition 0.8s cubic-bezier(0.47, 0, 0.745, 0.715) 0s 1 forwards;
          animation: maskCloseTransition 0.8s cubic-bezier(0.47, 0, 0.745, 0.715) 0s 1 forwards;
}

body:not(.is-pageFade) .page-transition {
  -webkit-transform: translateY(-200%);
          transform: translateY(-200%);
}

@-webkit-keyframes maskCloseTransition {
  0% {
    -webkit-transform: translateY(200%);
            transform: translateY(200%);
  }
  to {
    -webkit-transform: translate(0);
            transform: translate(0);
  }
}
@keyframes maskCloseTransition {
  0% {
    -webkit-transform: translateY(200%);
            transform: translateY(200%);
  }
  to {
    -webkit-transform: translate(0);
            transform: translate(0);
  }
}
.company .pageTitleBox {
  background: url("../img/company/mainVisual.jpg") no-repeat center top;
  background-size: cover;
}

.contact .pageTitleBox {
  background: url("../img/contact/mainVisual.jpg") no-repeat center top;
  background-size: cover;
}

@media print, screen and (min-width: 768px) {
  #contents {
    margin-top: -4em;
    padding-top: 4em;
  }
}

@media print, screen and (min-width: 768px) {
  .linkAdjustment {
    margin-top: -4em;
    padding-top: 4em;
  }
}

@media print, screen and (min-width: 768px) {
  #pageBox01 {
    margin-top: -4em;
    padding-top: 4em;
  }
}

@media print, screen and (min-width: 768px) {
  #pageBox02 {
    margin-top: -4em;
    padding-top: 4em;
  }
}

@media print, screen and (min-width: 768px) {
  #pageBox03 {
    margin-top: -4em;
    padding-top: 4em;
  }
}

@media print, screen and (min-width: 768px) {
  #pageBox04 {
    margin-top: -4em;
    padding-top: 4em;
  }
}

@media print, screen and (min-width: 768px) {
  #pageBox05 {
    margin-top: -4em;
    padding-top: 4em;
  }
}

@media print, screen and (min-width: 768px) {
  #pageBox06 {
    margin-top: -4em;
    padding-top: 4em;
  }
}

@media print, screen and (min-width: 768px) {
  #pageBox07 {
    margin-top: -4em;
    padding-top: 4em;
  }
}

@media print, screen and (min-width: 768px) {
  #pageBox08 {
    margin-top: -4em;
    padding-top: 4em;
  }
}

@media print, screen and (min-width: 768px) {
  #pageBox09 {
    margin-top: -4em;
    padding-top: 4em;
  }
}

@media print, screen and (min-width: 768px) {
  #pageBox10 {
    margin-top: -4em;
    padding-top: 4em;
  }
}

@media print, screen and (min-width: 768px) {
  #pageBox11 {
    margin-top: -4em;
    padding-top: 4em;
  }
}

@media print, screen and (min-width: 768px) {
  #pageBox12 {
    margin-top: -4em;
    padding-top: 4em;
  }
}

@media print, screen and (min-width: 768px) {
  #pageBox13 {
    margin-top: -4em;
    padding-top: 4em;
  }
}

@media print, screen and (min-width: 768px) {
  #pageBox14 {
    margin-top: -4em;
    padding-top: 4em;
  }
}

@media print, screen and (min-width: 768px) {
  #pageBox15 {
    margin-top: -4em;
    padding-top: 4em;
  }
}

.modal {
  z-index: 999;
}

.header {
  z-index: 20;
}

.tooltip {
  z-index: 10;
}

.default {
  z-index: 1;
}

@media print, screen and (min-width: 768px) {
  .inBase__inner {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    display: block;
  }
}
.inBase__inner::after {
  content: " ";
  display: block;
  clear: both;
}
@media print, screen and (min-width: 768px) {
  .inBase__inner .inBase__inner--cancel {
    width: 111%;
    margin-left: -5.5%;
    display: block;
  }
}

.pagefixed {
  position: fixed;
  width: 100%;
  height: 100%;
}

.center-box {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
          transform: translateY(-50%) translateX(-50%);
}

@media print, screen and (min-width: 768px) {
  #pageTopFix.is-scroll {
    opacity: 1;
    background: rgb(255, 255, 255);
    z-index: 2;
    overflow: hidden;
  }
}

#btnTelEmpty {
  position: relative;
  width: 100%;
  height: auto;
  overflow: hidden;
}
@media print, screen and (min-width: 768px) {
  #btnTelEmpty {
    display: none;
  }
}
#btnTelEmpty:before {
  content: "";
  display: block;
  padding-top: 14.3%;
}

.parallaxBox {
  min-height: 17em;
  display: block;
  padding: 3.6rem 0 0;
  position: relative;
}

.copyright {
  display: block;
  text-align: center;
  padding: 0.8rem 0;
  font-size: 0.8em;
  margin-top: 0;
}

.luminous, .luminousGallery {
  position: relative;
  display: block;
}
.luminous:after, .luminousGallery:after {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  opacity: 0;
  font-family: "icomoon";
  content: "\f00e";
  font-size: 1.5rem;
  color: #FFF;
  background: rgba(0, 0, 0, 0.3);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; /* 縦方向中央揃え（Safari用） */
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; /* 縦方向中央揃え */ /* 横方向中央揃え（Safari用） */
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; /* 横方向中央揃え */
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .luminous:after, .luminousGallery:after {
    font-size: 3rem;
  }
}
.luminous:hover:after, .luminousGallery:hover:after {
  filter: alpha(opacity=90);
  -moz-opacity: 0.9;
  opacity: 0.9;
}

.movieButton {
  position: relative;
  display: block;
  cursor: pointer;
}
.movieButton:after {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  opacity: 0;
  font-family: "icomoon";
  content: "\f16a";
  font-size: 1.5rem;
  color: #FFF;
  background: rgba(0, 0, 0, 0.3);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; /* 縦方向中央揃え（Safari用） */
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; /* 縦方向中央揃え */ /* 横方向中央揃え（Safari用） */
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; /* 横方向中央揃え */
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .movieButton:after {
    font-size: 3rem;
  }
}
.movieButton:hover:after {
  filter: alpha(opacity=90);
  -moz-opacity: 0.9;
  opacity: 0.9;
}

.inlineModalButton {
  position: relative;
  display: block;
  cursor: pointer;
}
.inlineModalButton:after {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  opacity: 0;
  font-family: "icomoon";
  content: "\f0c1";
  font-size: 1.5rem;
  color: #FFF;
  background: rgba(0, 0, 0, 0.3);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; /* 縦方向中央揃え（Safari用） */
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; /* 縦方向中央揃え */ /* 横方向中央揃え（Safari用） */
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; /* 横方向中央揃え */
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .inlineModalButton:after {
    font-size: 3rem;
  }
}
.inlineModalButton:hover:after {
  filter: alpha(opacity=90);
  -moz-opacity: 0.9;
  opacity: 0.9;
}

.modal-inlineContent .inline__display::-webkit-scrollbar {
  width: 10px;
}

.modal-inlineContent .inline__display::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.3);
}

.modal-inlineContent .inline__display::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.6);
}

.modal-inlineContent .inline__display {
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.6) rgba(0, 0, 0, 0.3);
}

.adjustBox {
  position: relative;
  width: 100%;
  height: auto;
  overflow: hidden;
}
.adjustBox:before {
  content: "";
  display: block;
  padding-top: 100%; /* 1:1 */
}
.adjustBox.adjustBox--type01:before {
  padding-top: 175%; /* 4:7 */
}
.adjustBox.adjustBox--type02:before {
  padding-top: 150%; /* 2:3 */
}
.adjustBox.adjustBox--type03:before {
  padding-top: 125%; /* 3:4 */
}
.adjustBox.adjustBox--type04:before {
  padding-top: 75%; /* 4:3 */
}
.adjustBox.adjustBox--type05:before {
  padding-top: 50%; /* 2:1 */
}
.adjustBox.adjustBox--type06:before {
  padding-top: 25%; /* 4:1 */
}
.adjustBox.adjustBox--typeGR:before {
  padding-top: 61.74%; /* 1.618:1 */
}
.adjustBox.adjustBox--typeGR-h:before {
  padding-top: 161.8%; /* 1:1.618 */
}
.adjustBox__inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.adjustBox__inner img {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.adjustBox__inner img.h100 {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transform: none;
  transform: none;
}
.adjustBox p {
  font-size: 1.25vw;
  line-height: 1.5em;
}

.googleMapBox {
  position: relative;
  padding-bottom: 75%;
  height: 0;
  overflow: hidden;
}
@media print, screen and (min-width: 768px) {
  .googleMapBox {
    padding-bottom: 40%;
  }
}
.googleMapBox iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

.youtubeBox {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  display: block;
}
.youtubeBox iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

.modal-movie .modal__container {
  width: 95%;
  padding: 0.5em;
}
@media print, screen and (min-width: 768px) {
  .modal-movie .modal__container {
    padding: 1em;
  }
}
@media print, screen and (min-width: 1280px) {
  .modal-movie .modal__container {
    max-width: 854px;
  }
}

#btnPageBottom {
  width: 100%;
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: -1;
  opacity: 0;
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
  display: block;
}
@media print, screen and (min-width: 768px) {
  #btnPageBottom {
    display: none;
    _display: none;
  }
}
#btnPageBottom.is-active {
  z-index: 4;
  opacity: 1;
}

#wrapper .btnPageBottom__title {
  color: #FFF;
  font-family: "Noto Sans JP", "Hiragino Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  display: block;
  text-align: center;
  margin-bottom: 0.3em;
}

#wrapper .btnPageBottom--btn {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#wrapper .btnPageBottom--btn a {
  width: 50%;
  height: 100%;
  position: relative;
  font-family: "Noto Sans JP", "Hiragino Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  display: block;
  color: var(--white);
  text-decoration: none;
  background: rgba(0, 110, 189, 0.8); /* .side-recruit と同じ #006EBD 60% */
  line-height: 1.2;
  text-align: center;
  padding: 1.5em 0;
  vertical-align: middle;
  -webkit-transition: background 0.4s;
  transition: background 0.4s;
}
#wrapper .btnPageBottom--btn a + a {
  border-left: #FFF solid 1px;
}
#wrapper .btnPageBottom--btn a:hover {
  background: var(--blue); /* .side-recruit と同じ #006EBD 100% */
  color: var(--white);
}
#wrapper .btnPageBottom--btn a .arrow {
  position: absolute;
  right: 1em;
  top: 50%;
  margin-top: -0.5em;
}
#wrapper .btnPageBottom__image {
  width: 2em;
  display: block;
  margin: 0 auto 0.6em;
}
#wrapper .btnPageBottom__image img {
  width: 100%;
}
#wrapper .btnPageBottom__name span {
  display: block;
  font-size: 0.9em;
  line-height: 1;
}

#wrapper .fadeParts {
  opacity: 0;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

#wrapper .fadeParts.active {
  opacity: 1;
}

/* .--typeScrollFadeIn 汎用スクロールアクション */
@media print, screen and (min-width: 768px) {
  .--typeScrollFadeIn {
    opacity: 0;
    -webkit-transition: 1s;
    transition: 1s;
    -webkit-transition-duration: 1.5s;
            transition-duration: 1.5s;
  }
}

@media print, screen and (min-width: 768px) {
  .--typeScrollFadeIn.active {
    opacity: 1;
    -webkit-animation-name: fadeUpAnime;
            animation-name: fadeUpAnime;
    -webkit-animation-duration: 1s;
            animation-duration: 1s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
  }
}

/* #wrapper スクロールアクション */
@media print, screen and (min-width: 768px) {
  #wrapper.--typeScrollAction {
    opacity: 0;
    -webkit-transition: all 1s ease;
    transition: all 1s ease;
    -webkit-transition-duration: 1.5s;
            transition-duration: 1.5s;
  }
}

@media print, screen and (min-width: 768px) {
  #wrapper.--typeScrollAction.active {
    opacity: 1;
  }
}

/* .--typeScrollAction.--typeFromLeft 右から現れるスクロールアクション*/
@media print, screen and (min-width: 768px) {
  .--typeScrollAction.--typeFromLeft {
    -webkit-transform: translateX(-100px);
            transform: translateX(-100px);
    opacity: 0;
    -webkit-transition: all 1s ease;
    transition: all 1s ease;
    -webkit-transition-duration: 1.5s;
            transition-duration: 1.5s;
  }
}

@media print, screen and (min-width: 768px) {
  .--typeScrollAction.--typeFromLeft.active {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}

/* .--typeScrollAction.--typeFromRight 左から現れるスクロールアクション */
@media print, screen and (min-width: 768px) {
  .--typeScrollAction.--typeFromRight {
    -webkit-transform: translateX(100px);
            transform: translateX(100px);
    opacity: 0;
    -webkit-transition: all 1s ease;
    transition: all 1s ease;
    -webkit-transition-duration: 1.5s;
            transition-duration: 1.5s;
  }
}

@media print, screen and (min-width: 768px) {
  .--typeScrollAction.--typeFromRight.active {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}

/* .--typeScrollFadeIn 効果を遅らせる */
@media print, screen and (min-width: 768px) {
  .--typeScrollFadeIn .homeAboutBox__pointBox > div {
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    opacity: 0;
    -webkit-transition: all 1s ease;
    transition: all 1s ease;
    -webkit-transition-duration: 1.5s;
            transition-duration: 1.5s;
  }
}
@media print, screen and (min-width: 768px) {
  .--typeScrollFadeIn.active .homeAboutBox__pointBox > div {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@media print, screen and (min-width: 768px) {
  .--typeScrollFadeIn.active .homeAboutBox__pointBox > div:nth-child(1) {
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
  }
}
@media print, screen and (min-width: 768px) {
  .--typeScrollFadeIn.active .homeAboutBox__pointBox > div:nth-child(2) {
    -webkit-transition-delay: 0.3s;
            transition-delay: 0.3s;
  }
}
@media print, screen and (min-width: 768px) {
  .--typeScrollFadeIn.active .homeAboutBox__pointBox > div:nth-child(3) {
    -webkit-transition-delay: 0.6s;
            transition-delay: 0.6s;
  }
}
@media print, screen and (min-width: 768px) {
  .--typeScrollFadeIn .swiper-slide {
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    opacity: 0;
    -webkit-transition: all 1s ease;
    transition: all 1s ease;
    -webkit-transition-duration: 1.5s;
            transition-duration: 1.5s;
  }
}
@media print, screen and (min-width: 768px) {
  .--typeScrollFadeIn.active .swiper-slide {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@media print, screen and (min-width: 768px) {
  .--typeScrollFadeIn.active .swiper-slide:nth-child(1) {
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
  }
}
@media print, screen and (min-width: 768px) {
  .--typeScrollFadeIn.active .swiper-slide:nth-child(2) {
    -webkit-transition-delay: 0.3s;
            transition-delay: 0.3s;
  }
}
@media print, screen and (min-width: 768px) {
  .--typeScrollFadeIn.active .swiper-slide:nth-child(3) {
    -webkit-transition-delay: 0.6s;
            transition-delay: 0.6s;
  }
}

/* フェードモーション用アニメーション */
@-webkit-keyframes fadeAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes fadeUpAnime {
  from {
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeUpAnime {
  from {
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes fadeDownAnime {
  from {
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeDownAnime {
  from {
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes blurAnime {
  0% {
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
    opacity: 0;
    -webkit-filter: blur(300px);
    filter: blur(300px);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0);
  }
}
@keyframes blurAnime {
  0% {
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
    opacity: 0;
    -webkit-filter: blur(300px);
    filter: blur(300px);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0);
  }
}
.sliderBox--typeBasic {
  --easing: cubic-bezier(.2, 1, .2, 1);
  --transition: .8s var(--easing);
  --color-base: #f8f8f8;
  --color-gray: #ddd;
  --color-theme: #f5695f;
  --color-theme-darken: #f12617;
  --box-shadow: .8rem .8rem 1.2rem rgba(0, 0, 0, .05), -.8rem -.8rem 1.2rem #fff;
  --box-shadow-hover: 1rem 1rem 1.5rem rgba(0, 0, 0, .08), -1rem -1rem 1.5rem #fff;
  --box-shadow-inset: inset .8rem .8rem 1.2rem rgba(0, 0, 0, .05), inset -.8rem -.8rem 1.2rem #fff;
  --box-shadow-dark: .8rem .8rem 1.2rem rgba(0, 0, 0, .1), -.8rem -.8rem 1.2rem rgba(#fff,.2);
}
@media print, screen and (min-width: 768px) {
  .sliderBox--typeBasic .inBase {
    position: relative;
  }
}
.sliderBox--typeBasic .swiper {
  display: block;
  width: 90%;
  padding-left: 5%;
  padding-right: 5%;
  overflow: visible;
  overflow: hidden;
}
@media print, screen and (min-width: 768px) {
  .sliderBox--typeBasic .swiper {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
    padding-top: 16px;
  }
}
@media print, screen and (min-width: 1280px) {
  .sliderBox--typeBasic .swiper {
    width: auto;
    margin-left: 0;
    padding-left: 0;
    padding-right: 0;
  }
}
.sliderBox--typeBasic .swiper a {
  text-decoration: none;
}
@media print, screen and (min-width: 768px) {
  .sliderBox--typeBasic .slide {
    -webkit-transition: var(--transition);
    transition: var(--transition);
  }
}
@media print, screen and (min-width: 768px) {
  .sliderBox--typeBasic .slide:hover {
    -webkit-transform: translateY(-16px);
    transform: translateY(-16px);
  }
}
@media print, screen and (min-width: 768px) {
  .sliderBox--typeBasic .slide:hover img {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
.sliderBox--typeBasic__image {
  position: relative;
  overflow: hidden;
}
.sliderBox--typeBasic__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media print, screen and (min-width: 768px) {
  .sliderBox--typeBasic__image img {
    -webkit-transition: var(--transition);
    transition: var(--transition);
  }
}
.sliderBox--typeBasic .swiper-button-prev, .sliderBox--typeBasic .swiper-button-next {
  display: grid;
  place-content: center;
  width: 6.4rem;
  height: 6.4rem;
  cursor: pointer;
  -webkit-transition: var(--transition);
  transition: var(--transition);
}
.sliderBox--typeBasic .swiper-button-prev::before, .sliderBox--typeBasic .swiper-button-next::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  border-radius: 50%;
  -webkit-box-shadow: var(--box-shadow);
  box-shadow: var(--box-shadow);
  background-color: rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: var(--box-shadow-dark);
  box-shadow: var(--box-shadow-dark);
}
@media print, screen and (min-width: 768px) {
  .sliderBox--typeBasic .swiper-button-prev::before, .sliderBox--typeBasic .swiper-button-next::before {
    -webkit-transition: var(--transition);
    transition: var(--transition);
  }
}
.sliderBox--typeBasic .swiper-button-prev::after, .sliderBox--typeBasic .swiper-button-next::after {
  width: 1.2rem;
  height: 1.2rem;
  content: "";
  border: solid var(--color-gray);
  border-width: 3px 3px 0 0;
  border-color: #fff;
}
@media print, screen and (min-width: 768px) {
  .sliderBox--typeBasic .swiper-button-prev:hover::before, .sliderBox--typeBasic .swiper-button-next:hover::before {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
}
.sliderBox--typeBasic .swiper-button-prev {
  right: calc(100% - 7.2rem);
}
@media print, screen and (min-width: 768px) {
  .sliderBox--typeBasic .swiper-button-prev {
    right: calc(100% - 3.5rem);
    margin-left: -7em;
  }
}
@media print, screen and (min-width: 1280px) {
  .sliderBox--typeBasic .swiper-button-prev {
    right: calc(100% + 3rem);
  }
}
.sliderBox--typeBasic .swiper-button-next {
  left: calc(100% - 7.2rem);
}
@media print, screen and (min-width: 768px) {
  .sliderBox--typeBasic .swiper-button-next {
    left: calc(100% + 3rem);
  }
}
@media print, screen and (min-width: 1280px) {
  .sliderBox--typeBasic .swiper-button-next {
    left: calc(100% + 3rem);
  }
}
.sliderBox--typeBasic .swiper-button-prev::after {
  margin-left: 0.4rem;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}
.sliderBox--typeBasic .swiper-button-next::after {
  margin-right: 0.4rem;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.sliderBox--typeBasic .swiper-button-disabled {
  pointer-events: none;
  opacity: 0;
}
.sliderBox--typeBasic .swiper-area {
  position: relative;
}
.sliderBox--typeBasic .swiper-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 1.2rem 0.8rem;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 3.2rem;
  text-align: center;
}
.sliderBox--typeBasic .swiper-pagination-bullet {
  width: 1.6rem;
  height: 3px;
  cursor: pointer;
  -webkit-transition: var(--transition);
  transition: var(--transition);
  vertical-align: top;
  background-color: var(--color-gray);
}
.sliderBox--typeBasic .swiper-pagination-bullet-active {
  width: 4rem;
  background-color: var(--color-theme);
}
.sliderBox--typeBasic .swiper-button-prev, .sliderBox--typeBasic .swiper-button-next {
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  margin-top: auto;
  margin-bottom: auto;
}
.sliderBox--typeBasic__image {
  padding-top: 62.5%;
  border-radius: 4px;
}
.sliderBox--typeBasic__image img {
  height: calc(100% + 16px);
  -webkit-transform: translateY(-16px);
  transform: translateY(-16px);
}
.sliderBox--typeBasic__content {
  padding: 1em 0;
}

.home #contents {
  padding-top: 0;
}
@media print, screen and (min-width: 768px) {
  .home #contents {
    padding-top: 4em;
  }
}

#wrapper .content {
  margin-top: 0;
}

#wrapper .pageTitleBox {
  display: block;
}
#wrapper .pageTitleBox figure {
  width: 180%;
  margin-left: -40%;
}
@media print, screen and (min-width: 768px) {
  #wrapper .pageTitleBox figure {
    width: 178%;
    margin-left: -39%;
  }
}
#wrapper .pageTitleBox figure img {
  width: 100%;
}
#wrapper .pageTitleBox .inBase__inner {
  position: relative;
}

#wrapper .pageTitle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-line-pack: center;
      align-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  text-align: center;
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
}
.entry-title, .archive-title {
  margin: 0;
}

#wrapper .pageTitle h1,
.categolyTitle,
#wrapper #container .pageTitle h1 {
  color: #FFF;
  font-size: 1.1em;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  font-family: "Noto Sans JP", "Hiragino Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
@media print, screen and (min-width: 768px) {
  #wrapper .pageTitle h1,
.categolyTitle,
#wrapper #container .pageTitle h1 {
    font-size: 2.125em;
  }
}

#wrapper .topicpathBox {
  padding: 1em 0 1em;
  display: block;
  position: relative;
}
@media print, screen and (min-width: 768px) {
  #wrapper .topicpathBox {
    margin-bottom: 3em;
  }
}
#wrapper .topicpathBox #breadcrumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  color: #000;
}
#wrapper .topicpathBox #breadcrumb a {
  color: #000;
}
#wrapper .topicpathBox #breadcrumb a:hover {
  color: #006EBD;
}
#wrapper .topicpathBox #breadcrumb .fa-angle-right:before {
  content: "";
  width: 0.5em;
  height: 0.5em;
  display: inline-block;
  border-top: #000 solid 1px;
  border-right: #000 solid 1px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
#wrapper .topicpathBox #breadcrumb .sp {
  margin: 0 10px;
}

#container #wrapper .topicpathBox {
  padding: 0;
}

#wrapper .breadcrumb {
  text-align: left;
}
#wrapper .breadcrumb .fa-fw {
  display: none;
}

#wrapper .cat-link {
  background: rgba(0, 110, 189, 0.5);
  margin-bottom: 0.3em;
}

.single #wrapper .breadcrumb {
  margin-bottom: 0;
}
@media print, screen and (min-width: 768px) {
  .single #wrapper .pager-post-navi {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.single #wrapper .pager-post-navi a {
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .single #wrapper .pager-post-navi a + a {
    width: 48%;
  }
}
@media print, screen and (min-width: 768px) {
  .single #wrapper .pager-post-navi a:nth-last-child(2) {
    width: 48%;
  }
}
.single #wrapper .pager-post-navi a .iconfont {
  color: #BBB;
}
.single #wrapper .pager-post-navi a:hover {
  color: #000;
}

.single-news #wrapper .pager-post-navi a figure {
  display: none;
}

/* ページネーション（reference .s-pager） */
#wrapper .pagination-next {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 0 16px;
}
#wrapper .pagination-next .pagination-next-link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 12px;
  width: auto;
  margin: 0;
  padding: 9px 24px;
  border: 1px solid var(--pale);
  border-radius: 0;
  background: var(--white);
  -webkit-box-shadow: none;
          box-shadow: none;
  color: var(--navy);
  font-family: var(--heading);
  font-weight: 500;
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: 0;
  text-decoration: none;
  white-space: nowrap;
  -webkit-transition: background 0.3s, border-color 0.3s, color 0.3s;
  transition: background 0.3s, border-color 0.3s, color 0.3s;
}
#wrapper .pagination-next .pagination-next-link::after {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 15px;
  height: 10px;
  background: currentColor;
  -webkit-mask: var(--arrow-icon) center/contain no-repeat;
  mask: var(--arrow-icon) center/contain no-repeat;
}
#wrapper .pagination-next .pagination-next-link:hover {
  background: var(--pale);
  border-color: var(--white);
  color: var(--white);
}

#wrapper .pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px 12px;
  margin: 0;
  padding: 28px 0;
  border: 0;
  border-top: 1px solid var(--pale);
  background: transparent;
  text-align: center;
}
#wrapper .pagination .page-numbers {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 32px;
  height: 32px;
  margin: 0;
  padding: 0 6px;
  border: 0;
  border-radius: 0;
  background: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
  color: var(--navy);
  font-family: var(--en);
  font-weight: 500;
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0.08em;
  text-decoration: none;
}
#wrapper .pagination a.page-numbers:hover {
  color: var(--blue);
  background: transparent;
}
#wrapper .pagination .page-numbers.current {
  color: var(--blue);
}
#wrapper .pagination .page-numbers.dots {
  min-width: 0;
  letter-spacing: 0;
}
#wrapper .pagination .prev,
#wrapper .pagination .next {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 40px;
          flex: 0 0 40px;
  width: 40px;
  height: 40px;
  min-width: 40px;
  padding: 0;
  border: 1px solid var(--pale);
  border-radius: 50%;
  color: var(--blue);
  font-size: 0;
  letter-spacing: 0;
  -webkit-transition: background 0.3s, border-color 0.3s, color 0.3s;
  transition: background 0.3s, border-color 0.3s, color 0.3s;
}
#wrapper .pagination .prev .fa,
#wrapper .pagination .prev .screen-reader-text,
#wrapper .pagination .next .fa,
#wrapper .pagination .next .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
#wrapper .pagination .prev::after,
#wrapper .pagination .next::after {
  content: "";
  width: 13px;
  height: 9px;
  background: currentColor;
  -webkit-mask: var(--arrow-icon) center/contain no-repeat;
  mask: var(--arrow-icon) center/contain no-repeat;
}
#wrapper .pagination .prev:hover,
#wrapper .pagination .next:hover {
  background: var(--blue);
  border-color: var(--blue);
  color: var(--white);
}
#wrapper .pagination .prev::after {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}

@media (max-width: 560px) {
  #wrapper .pagination-next .pagination-next-link {
    width: 100%;
    padding-block: 12px;
  }
  #wrapper .pagination {
    gap: 16px;
  }
}
/* 本文下の前後記事（.under-entry-content .pager-post-navi） */
.single #wrapper .under-entry-content .pager-post-navi {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
  margin: 0;
  padding: 28px 0;
  border-top: 1px solid var(--pale);
}
.single #wrapper .under-entry-content .pager-post-navi a {
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 16px;
     -moz-column-gap: 16px;
          column-gap: 16px;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
  color: var(--navy);
  font-size: 11px;
  line-height: 1.6;
  text-decoration: none;
}
.single #wrapper .under-entry-content .pager-post-navi a:hover {
  color: var(--navy);
}
.single #wrapper .under-entry-content .pager-post-navi a::before {
  font-family: var(--en);
  font-weight: 400;
  font-size: 11px;
  line-height: 1.6;
  letter-spacing: 0.25em;
  color: var(--blue);
}
.single #wrapper .under-entry-content .pager-post-navi a.prev-post {
  grid-column: 1;
  grid-template-columns: 40px minmax(0, 1fr);
}
.single #wrapper .under-entry-content .pager-post-navi a.prev-post::before {
  content: "PREV";
  grid-column: 2;
  grid-row: 1;
}
.single #wrapper .under-entry-content .pager-post-navi a.next-post {
  grid-column: 2;
  grid-template-columns: minmax(0, 1fr) 40px;
  text-align: right;
}
.single #wrapper .under-entry-content .pager-post-navi a.next-post::before {
  content: "NEXT";
  grid-column: 1;
  grid-row: 1;
}
.single #wrapper .under-entry-content .pager-post-navi figure {
  display: none;
}
.single #wrapper .under-entry-content .pager-post-navi .iconfont {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  grid-row: 1/3;
  width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
  border: 1px solid var(--pale);
  border-radius: 50%;
  color: var(--blue);
  font-size: 0;
  line-height: 0;
  -webkit-transition: background 0.3s, border-color 0.3s, color 0.3s;
  transition: background 0.3s, border-color 0.3s, color 0.3s;
}
.single #wrapper .under-entry-content .pager-post-navi .iconfont::before {
  content: "";
  width: 13px;
  height: 9px;
  background: currentColor;
  -webkit-mask: var(--arrow-icon) center/contain no-repeat;
  mask: var(--arrow-icon) center/contain no-repeat;
}
.single #wrapper .under-entry-content .pager-post-navi a:hover .iconfont {
  background: var(--blue);
  border-color: var(--blue);
  color: var(--white);
}
.single #wrapper .under-entry-content .pager-post-navi .prev-post .iconfont {
  grid-column: 1;
}
.single #wrapper .under-entry-content .pager-post-navi .prev-post .iconfont::before {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}
.single #wrapper .under-entry-content .pager-post-navi .next-post .iconfont {
  grid-column: 2;
}
.single #wrapper .under-entry-content .pager-post-navi .prev-post-title,
.single #wrapper .under-entry-content .pager-post-navi .next-post-title {
  grid-row: 2;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 11px;
  line-height: 1.6;
}
.single #wrapper .under-entry-content .pager-post-navi .prev-post-title {
  grid-column: 2;
}
.single #wrapper .under-entry-content .pager-post-navi .next-post-title {
  grid-column: 1;
}

@media (max-width: 560px) {
  .single #wrapper .under-entry-content .pager-post-navi {
    gap: 16px;
  }
}
/* 本文パーツ（reference/parts.html）。パンくずは .entry-content の外なので対象外 */
#wrapper .article .entry-content h2,
.editor-styles-wrapper h2 {
  display: block;
  width: auto;
  margin: 0 0 40px;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  color: var(--navy);
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(24px, 2.4vw, 34px);
  line-height: 1.7;
  letter-spacing: 0;
  text-align: left;
}
#wrapper .article .entry-content h2::before, #wrapper .article .entry-content h2::after,
.editor-styles-wrapper h2::before,
.editor-styles-wrapper h2::after {
  content: none;
}
#wrapper .article .entry-content h2 strong,
.editor-styles-wrapper h2 strong {
  font-weight: inherit;
}
#wrapper .article .entry-content h3,
.editor-styles-wrapper h3 {
  display: block;
  position: relative;
  width: auto;
  margin: 56px 0 24px;
  padding: 0 0 14px;
  border: 0;
  border-bottom: 1px solid var(--pale);
  color: var(--navy);
  font-family: var(--heading);
  font-weight: 500;
  font-size: clamp(19px, 1.6vw, 22px);
  line-height: 1.6;
  letter-spacing: 0.06em;
  text-align: left;
}
#wrapper .article .entry-content h3::before,
.editor-styles-wrapper h3::before {
  content: none;
}
#wrapper .article .entry-content h3::after,
.editor-styles-wrapper h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 48px;
  height: 2px;
  margin: 0;
  background: var(--blue);
}
#wrapper .article .entry-content h3:first-child,
.editor-styles-wrapper h3:first-child {
  margin-top: 0;
}
#wrapper .article .entry-content h4,
.editor-styles-wrapper h4 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  width: auto;
  margin: 36px 0 14px;
  padding: 0;
  border: 0;
  color: var(--blue);
  font-family: var(--heading);
  font-weight: 700;
  font-size: 17px;
  line-height: 1.6;
  letter-spacing: 0.06em;
  text-align: left;
}
#wrapper .article .entry-content h4::before,
.editor-styles-wrapper h4::before {
  content: "";
  position: static;
  top: auto;
  left: auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 16px;
  height: 1px;
  margin: 0;
  background: currentColor;
}
#wrapper .article .entry-content h4::after,
.editor-styles-wrapper h4::after {
  content: none;
}
#wrapper .article .entry-content h4:first-child,
.editor-styles-wrapper h4:first-child {
  margin-top: 0;
}

.article h5 {
  padding: 0;
  border-bottom: 0;
}

.article h5 {
  font-family: "Noto Sans JP", "Hiragino Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  vertical-align: bottom;
  display: block;
  line-height: 1.7;
  letter-spacing: 0.1em;
  font-size: 1.1em;
  margin-bottom: 0.5em;
  position: relative;
  color: #18354A;
  padding-bottom: 0.3em;
}
.article h5::before {
  content: " ";
  width: 100%;
  height: 1px;
  display: block;
  background: #18354A;
  position: absolute;
  bottom: 0;
  left: 0;
  margin-top: -0.2em;
}
@media print, screen and (min-width: 768px) {
  .article h5 {
    font-size: 1.25em;
  }
}
.article h5.block-editor-rich-text__editable {
  display: block;
}

.article h6 {
  padding: 0;
  border-bottom: 0;
}

#wrapper .article .entry-content ul,
.editor-styles-wrapper ul {
  display: grid;
  gap: 10px;
  margin: 0 0 1.4em;
  padding: 0;
  list-style: none;
  font-size: 15px;
  line-height: 1.9;
}
#wrapper .article .entry-content ul li,
.editor-styles-wrapper ul li {
  position: relative;
  margin: 0;
  padding-left: 1.4em;
  text-indent: 0;
}
#wrapper .article .entry-content ul li::before,
.editor-styles-wrapper ul li::before {
  content: "";
  position: absolute;
  left: 0.3em;
  top: 0.85em;
  width: 6px;
  height: 6px;
  margin: 0;
  padding: 0;
  border-radius: 50%;
  background: var(--blue);
}
#wrapper .article .entry-content ol,
.editor-styles-wrapper ol {
  display: grid;
  gap: 12px;
  margin: 0 0 1.4em;
  padding: 0;
  list-style: none;
  font-size: 15px;
  line-height: 1.9;
  counter-reset: ol;
}
#wrapper .article .entry-content ol li,
.editor-styles-wrapper ol li {
  position: relative;
  margin: 0;
  padding-left: 2.9em;
  line-height: 1.9;
  text-indent: 0;
  counter-increment: ol;
}
#wrapper .article .entry-content ol li::before,
.editor-styles-wrapper ol li::before {
  content: counter(ol, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: none;
  font-family: var(--en);
  font-weight: 500;
  font-size: 1em;
  line-height: inherit;
  letter-spacing: 0.08em;
  text-align: left;
  color: var(--blue);
}
#wrapper .article .entry-content ol li::after,
.editor-styles-wrapper ol li::after {
  content: "";
  position: absolute;
  left: 1.7em;
  top: calc((1lh - 2px) / 2);
  width: 0.7em;
  height: 2px;
  background: var(--pale);
}

#wrapper .article .entry-content table,
.editor-styles-wrapper table {
  width: 100%;
  margin: 0 0 1.4em;
  border-collapse: collapse;
  border-spacing: 0;
  border-top: 1px solid var(--pale);
  font-size: 14px;
  line-height: 1.9;
}
#wrapper .article .entry-content table th,
#wrapper .article .entry-content table td,
.editor-styles-wrapper table th,
.editor-styles-wrapper table td {
  display: table-cell;
  width: auto;
  min-width: 0;
  padding: 20px 24px;
  border: 0;
  border-bottom: 1px solid var(--pale);
  text-align: left;
  vertical-align: top;
}
#wrapper .article .entry-content table th,
.editor-styles-wrapper table th {
  width: 22%;
  background: var(--bg);
  color: var(--navy);
  font-family: var(--heading);
  font-weight: 700;
}
#wrapper .article .entry-content table td,
.editor-styles-wrapper table td {
  background: var(--white);
}

@media (max-width: 560px) {
  #wrapper .article .entry-content h2,
.editor-styles-wrapper h2 {
    margin-bottom: 28px;
    font-size: max(24px, 7.6vw);
  }
  #wrapper .article .entry-content h3,
.editor-styles-wrapper h3 {
    margin: 44px 0 18px;
    font-size: 18px;
  }
  #wrapper .article .entry-content h4,
.editor-styles-wrapper h4 {
    font-size: 16px;
  }
  #wrapper .article .entry-content ul,
#wrapper .article .entry-content ol,
.editor-styles-wrapper ul,
.editor-styles-wrapper ol {
    font-size: 14px;
    line-height: 1.9;
  }
  #wrapper .article .entry-content table th,
#wrapper .article .entry-content table td,
.editor-styles-wrapper table th,
.editor-styles-wrapper table td {
    display: block;
    width: auto;
    padding: 12px 16px;
  }
  #wrapper .article .entry-content table th,
.editor-styles-wrapper table th {
    border-bottom: 0;
  }
  #wrapper .article .entry-content table td,
.editor-styles-wrapper table td {
    padding-bottom: 20px;
    font-size: 13px;
  }
}
.article p {
  font-family: "Noto Sans JP", "Hiragino Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 1.1em;
  margin-bottom: 1em;
  line-height: 2em;
}
@media print, screen and (min-width: 768px) {
  .article p {
    font-size: 1.12em;
    line-height: 2em;
  }
}

#wrapper .article .entry-content .wp-block-button.is-style-button-style-1,
#wrapper .article .entry-content .wp-block-button.is-style-button-style-2,
#wrapper .article .entry-content .wp-block-button.is-style-button-style-3,
.editor-styles-wrapper .wp-block-button.is-style-button-style-1,
.editor-styles-wrapper .wp-block-button.is-style-button-style-2,
.editor-styles-wrapper .wp-block-button.is-style-button-style-3 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

#wrapper .article .entry-content .is-style-button-style-1 .wp-block-button__link,
#wrapper .article .entry-content .is-style-button-style-2 .wp-block-button__link,
.editor-styles-wrapper .is-style-button-style-1 .wp-block-button__link,
.editor-styles-wrapper .is-style-button-style-2 .wp-block-button__link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  width: auto;
  margin: 0;
  padding: 14px 44px;
  border: 1px solid var(--blue);
  border-radius: 100px;
  -webkit-box-shadow: none;
          box-shadow: none;
  font-family: var(--heading);
  font-weight: 500;
  font-size: clamp(14px, 1.05vw, 15px);
  line-height: 1.4;
  letter-spacing: 0;
  text-decoration: none;
  -webkit-transition: background 0.3s, color 0.3s;
  transition: background 0.3s, color 0.3s;
}
#wrapper .article .entry-content .is-style-button-style-1 .wp-block-button__link::before,
#wrapper .article .entry-content .is-style-button-style-2 .wp-block-button__link::before,
.editor-styles-wrapper .is-style-button-style-1 .wp-block-button__link::before,
.editor-styles-wrapper .is-style-button-style-2 .wp-block-button__link::before {
  content: none;
}
#wrapper .article .entry-content .is-style-button-style-1 .wp-block-button__link::after,
#wrapper .article .entry-content .is-style-button-style-2 .wp-block-button__link::after,
.editor-styles-wrapper .is-style-button-style-1 .wp-block-button__link::after,
.editor-styles-wrapper .is-style-button-style-2 .wp-block-button__link::after {
  content: "";
  position: static;
  top: auto;
  right: auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 15px;
  height: 10px;
  margin: 0 0 0 14px;
  padding: 0;
  background: currentColor;
  font-family: inherit;
  font-size: 0;
  line-height: 0;
  -webkit-mask: var(--arrow-icon) center/contain no-repeat;
  mask: var(--arrow-icon) center/contain no-repeat;
}

#wrapper .article .entry-content .is-style-button-style-1 .wp-block-button__link,
.editor-styles-wrapper .is-style-button-style-1 .wp-block-button__link {
  background: var(--white);
  color: var(--navy);
}
#wrapper .article .entry-content .is-style-button-style-1 .wp-block-button__link:hover,
.editor-styles-wrapper .is-style-button-style-1 .wp-block-button__link:hover {
  background: var(--blue);
  color: var(--white);
  -webkit-box-shadow: none;
          box-shadow: none;
}

#wrapper .article .entry-content .is-style-button-style-2 .wp-block-button__link,
.editor-styles-wrapper .is-style-button-style-2 .wp-block-button__link {
  background: var(--blue);
  color: var(--white);
}
#wrapper .article .entry-content .is-style-button-style-2 .wp-block-button__link:hover,
.editor-styles-wrapper .is-style-button-style-2 .wp-block-button__link:hover {
  background: var(--white);
  color: var(--navy);
  -webkit-box-shadow: none;
          box-shadow: none;
}

#wrapper .article .entry-content .is-style-button-style-3 .wp-block-button__link,
.editor-styles-wrapper .is-style-button-style-3 .wp-block-button__link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 14px;
  width: auto;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
  color: var(--blue);
  font-family: var(--heading);
  font-weight: 500;
  font-size: 14px;
  line-height: 1.4;
  letter-spacing: 0;
  text-decoration: none;
}
#wrapper .article .entry-content .is-style-button-style-3 .wp-block-button__link::before,
.editor-styles-wrapper .is-style-button-style-3 .wp-block-button__link::before {
  content: none;
}
#wrapper .article .entry-content .is-style-button-style-3 .wp-block-button__link::after,
.editor-styles-wrapper .is-style-button-style-3 .wp-block-button__link::after {
  content: "";
  position: static;
  top: auto;
  right: auto;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 40px;
          flex: 0 0 40px;
  width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
  border: 1px solid var(--blue);
  border-radius: 50%;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10'%3E%3Cpath d='M0 5h15M10.5.5 15 5l-4.5 4.5' fill='none' stroke='%23006EBD' stroke-width='1.1'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px 8px;
  font-family: inherit;
  font-size: 0;
  line-height: 0;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}
#wrapper .article .entry-content .is-style-button-style-3 .wp-block-button__link:hover,
.editor-styles-wrapper .is-style-button-style-3 .wp-block-button__link:hover {
  background: transparent;
  color: var(--blue);
  -webkit-box-shadow: none;
          box-shadow: none;
}
#wrapper .article .entry-content .is-style-button-style-3 .wp-block-button__link:hover::after,
.editor-styles-wrapper .is-style-button-style-3 .wp-block-button__link:hover::after {
  background-color: var(--blue);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10'%3E%3Cpath d='M0 5h15M10.5.5 15 5l-4.5 4.5' fill='none' stroke='%23FFFFFF' stroke-width='1.1'/%3E%3C/svg%3E");
}

#wrapper .cocoon-block-caption-box.not-nested-style,
.editor-styles-wrapper .cocoon-block-caption-box.not-nested-style {
  background: var(--bg);
  border: 0;
  border-radius: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  padding: 32px 36px;
  overflow: visible;
  color: var(--navy);
  font-family: var(--sans);
  font-weight: 400;
  font-size: 14px;
  line-height: 2;
}

#wrapper .cocoon-block-caption-box.not-nested-style > .box-label,
.editor-styles-wrapper .cocoon-block-caption-box.not-nested-style > .box-label {
  display: block;
  position: static;
  width: auto;
  margin: 0 0 10px;
  padding: 0;
  background: transparent;
  border: 0;
  color: var(--blue);
  font-family: var(--heading);
  font-weight: 700;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0;
  text-align: left;
}
#wrapper .cocoon-block-caption-box.not-nested-style > .box-label .box-label-text,
.editor-styles-wrapper .cocoon-block-caption-box.not-nested-style > .box-label .box-label-text {
  color: var(--blue);
  background: transparent;
}

#wrapper .cocoon-block-caption-box .caption-box-content,
.editor-styles-wrapper .cocoon-block-caption-box .caption-box-content {
  padding: 0;
}
#wrapper .cocoon-block-caption-box .caption-box-content p,
.editor-styles-wrapper .cocoon-block-caption-box .caption-box-content p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}

#wrapper .is-style-paragraph-style-1,
.editor-styles-wrapper .is-style-paragraph-style-1 {
  position: relative;
  margin: 26px 0 1.4em;
  padding: 32px 36px;
  border: 1px solid var(--blue);
  border-radius: 0;
  background: var(--white);
  -webkit-box-shadow: none;
          box-shadow: none;
  color: var(--navy);
  font-family: var(--sans);
  font-weight: 400;
  font-size: 14px;
  line-height: 2;
}
#wrapper .is-style-paragraph-style-1::before,
.editor-styles-wrapper .is-style-paragraph-style-1::before {
  content: "POINT";
  position: absolute;
  left: 28px;
  top: -12px;
  padding: 0 12px;
  background: var(--white);
  font-family: var(--en);
  font-weight: 500;
  font-size: 14px;
  line-height: 24px;
  letter-spacing: 0.3em;
  color: var(--blue);
}

@media (max-width: 560px) {
  #wrapper .cocoon-block-caption-box.not-nested-style,
.editor-styles-wrapper .cocoon-block-caption-box.not-nested-style,
#wrapper .is-style-paragraph-style-1,
.editor-styles-wrapper .is-style-paragraph-style-1 {
    padding: 24px 20px;
    font-size: 13px;
    line-height: 1.9;
  }
}
#wrapper .is-style-paragraph-style-2,
#wpwrap .is-style-paragraph-style-2 {
  background: var(--bg);
  border: 0;
  border-radius: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  padding: 32px 36px;
  overflow: visible;
  color: var(--navy);
  font-family: var(--sans);
  font-weight: 400;
  font-size: 14px;
  line-height: 2;
}

.wp-block-media-text > .wp-block-media-text__content {
  padding: 0;
}

.wp-block-media-text__media img, .wp-block-media-text__media video {
  padding-bottom: 1em;
}
@media print, screen and (min-width: 768px) {
  .wp-block-media-text__media img, .wp-block-media-text__media video {
    padding: 0;
  }
}

.wp-block-media-text > .wp-block-media-text__media {
  padding-right: 5%;
}
@media print, screen and (min-width: 768px) {
  .wp-block-media-text > .wp-block-media-text__media + .wp-block-media-text__content {
    padding-left: 5%;
    padding-right: 0;
  }
}

.wp-block-media-text > .wp-block-media-text__content {
  padding-right: 5%;
}
@media print, screen and (min-width: 768px) {
  .wp-block-media-text > .wp-block-media-text__content + .wp-block-media-text__media {
    padding-left: 5%;
    padding-right: 0;
  }
}

#wrapper .archiveColumnBox {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px 32px;
  width: auto;
  margin: 0 0 40px;
}
#wrapper .archiveColumnBox a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  -webkit-column-gap: 12px;
     -moz-column-gap: 12px;
          column-gap: 12px;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  width: auto;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--navy);
  text-decoration: none;
  opacity: 1;
  overflow: visible;
}
#wrapper .archiveColumnBox a::before {
  content: none;
}
#wrapper .archiveColumnBox a::after {
  content: "";
  grid-column: 2;
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
  align-self: end;
  position: static;
  bottom: auto;
  right: auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 1px solid var(--blue);
  border-radius: 50%;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10'%3E%3Cpath d='M0 5h15M10.5.5 15 5l-4.5 4.5' fill='none' stroke='%23006EBD' stroke-width='1.1'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px 10px;
  -webkit-transform: none;
          transform: none;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}
#wrapper .archiveColumnBox a:hover {
  opacity: 1;
}
#wrapper .archiveColumnBox a:hover::after {
  right: auto;
  background-color: var(--blue);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10'%3E%3Cpath d='M0 5h15M10.5.5 15 5l-4.5 4.5' fill='none' stroke='%23FFFFFF' stroke-width='1.1'/%3E%3C/svg%3E");
}
#wrapper .archiveColumnBox a:hover img {
  opacity: 0.8;
  -webkit-transform: none;
          transform: none;
}
#wrapper .archiveColumnBox__image {
  grid-column: 1/-1;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  margin: 0;
  overflow: hidden;
}
#wrapper .archiveColumnBox__image img {
  display: block;
  width: 100%;
  aspect-ratio: 390/224;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transform: none;
          transform: none;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
#wrapper .archiveColumnBox__inner {
  display: contents;
}
#wrapper .archiveColumnBox__date {
  grid-column: 1/-1;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  position: static;
  margin: 14px 0 0;
  font-family: var(--sans);
  font-size: 12px;
  line-height: 1.6;
  color: var(--gray);
}
#wrapper .archiveColumnBox__title,
#wrapper .archiveColumnBox h4.archiveColumnBox__title {
  grid-column: 1/-1;
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  display: block;
  margin: 2px 0 6px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--navy);
  font-family: var(--sans);
  font-weight: 500;
  font-size: clamp(16px, 1.25vw, 18px);
  line-height: 1.6;
  letter-spacing: 0;
  text-align: left;
}
#wrapper .archiveColumnBox__title::before, #wrapper .archiveColumnBox__title::after,
#wrapper .archiveColumnBox h4.archiveColumnBox__title::before,
#wrapper .archiveColumnBox h4.archiveColumnBox__title::after {
  content: none;
}
#wrapper .archiveColumnBox__sentence {
  grid-column: 1;
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
  min-width: 0;
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: var(--gray);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

@media (max-width: 560px) {
  #wrapper .archiveColumnBox {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  #wrapper .archiveColumnBox__date {
    margin-top: 10px;
    font-size: 11px;
  }
  #wrapper .archiveColumnBox__title,
#wrapper .archiveColumnBox h4.archiveColumnBox__title {
    margin: 2px 0 4px;
    font-size: 15px;
  }
  #wrapper .archiveColumnBox__sentence {
    grid-column: 1/-1;
    font-size: 11px;
    line-height: 1.5;
  }
  #wrapper .archiveColumnBox a::before {
    content: "詳しく見る";
    grid-column: 1;
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
    justify-self: end;
    font-family: var(--heading);
    font-weight: 500;
    font-size: 11px;
    line-height: 1;
    letter-spacing: 0;
    color: var(--blue);
  }
  #wrapper .archiveColumnBox a::after {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
    width: 26px;
    height: 26px;
    background-size: 10px 6px;
  }
}
.post-type-archive-product #wrapper .archiveColumnBox__date {
  display: none;
}

.post-type-archive-product #wrapper .archiveColumnBox__image {
  margin-bottom: 0.5em;
}

#wrapper .archiveListBox {
  display: block;
  font-family: "Noto Sans JP", "Hiragino Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 1.1em;
  position: relative;
}
@media print, screen and (min-width: 768px) {
  #wrapper .archiveListBox {
    font-size: 1.24em;
  }
}
#wrapper .archiveListBox a {
  line-height: 1.7em;
  display: block;
  padding: 1em 1em;
  position: relative;
  z-index: 1;
  border-top: var(--pale) solid 1px;
  border-bottom: var(--pale) solid 1px;
}
@media print, screen and (min-width: 768px) {
  #wrapper .archiveListBox a {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 1em 2em;
  }
}
#wrapper .archiveListBox a span {
  display: inline-block;
}
#wrapper .archiveListBox a span:nth-child(1) {
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color: #006EBD;
  display: block;
  margin-right: 1em;
}
@media print, screen and (min-width: 768px) {
  #wrapper .archiveListBox a span:nth-child(1) {
    display: inline-block;
  }
}
#wrapper .archiveListBox a:hover {
  color: #18354A;
}
#wrapper .archiveListBox a:hover span:nth-child(1) {
  color: #18354A;
}
#wrapper .archiveListBox + .archiveListBox a {
  border-top: none;
}
#wrapper .archiveListBox__image {
  width: 6.8em;
  display: block;
  position: absolute;
  top: -3em;
  left: -3em;
}
#wrapper .archiveListBox__image img {
  width: 100%;
}
#wrapper .archiveListBox__title {
  font-family: "Noto Sans JP", "Hiragino Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  color: #18354A;
  font-size: 1.25em;
  position: absolute;
  top: -2em;
  left: 3em;
}
#wrapper .archiveListBox__inner {
  width: 100%;
  font-family: "Noto Sans JP", "Hiragino Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
@media print, screen and (min-width: 768px) {
  #wrapper .archiveListBox__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
#wrapper .archiveListBox__inner p {
  margin-bottom: 1em;
}
@media print, screen and (min-width: 768px) {
  #wrapper .archiveListBox__inner p {
    margin-bottom: 0;
  }
}
#wrapper .archiveListBox__inner p span {
  display: block;
}
@media print, screen and (min-width: 768px) {
  #wrapper .archiveListBox__inner p span {
    display: inline-block;
  }
}
#wrapper .archiveListBox__inner p span:nth-child(1) {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
@media print, screen and (min-width: 768px) {
  #wrapper .archiveListBox__inner p span:nth-child(1) {
    margin-right: 1em;
  }
}
#wrapper .archiveListBox__inner p a {
  font-size: 1.1em;
  line-height: 1.7;
}
@media print, screen and (min-width: 768px) {
  #wrapper .archiveListBox__inner p a {
    font-size: 1em;
  }
}
#wrapper .archiveListBox__button {
  text-align: right;
  display: block;
}
@media print, screen and (min-width: 768px) {
  #wrapper .archiveListBox__button {
    display: inline-block;
    width: 9em;
  }
}
#wrapper .archiveListBox__button a {
  position: relative;
}
#wrapper .archiveListBox__button a::after {
  content: "▶";
  margin-left: 0.5em;
  font-size: 0.8em;
}

#wrapper .categoryDateNavi {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-bottom: 1.5em;
}
@media print, screen and (min-width: 768px) {
  #wrapper .categoryDateNavi {
    margin-bottom: 0.5em;
  }
}
#wrapper .categoryDateNavi > select {
  width: 14em;
}

#wrapper .categoryNavi {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1em;
  margin-bottom: 2.5em;
}
#wrapper .categoryNavi a {
  font-family: "Noto Sans JP", "Hiragino Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  padding: 0.2em 1em;
  background: #006EBD;
  border-radius: 0.3em;
  font-size: 0.9em;
  display: inline-block;
  color: #FFF;
}
@media print, screen and (min-width: 768px) {
  #wrapper .categoryNavi a {
    margin-bottom: 1em;
  }
}
#wrapper .categoryNavi a:hover {
  background: #18354A;
}
#wrapper .categoryNavi a.is-active {
  background: #FFF;
  color: #000;
  pointer-events: none;
}

.post-date {
  font-size: 1em;
}

#list > a {
  border-bottom: #006EBD solid 1px;
}
#list > a:hover {
  color: #000;
}

.entry-card-terms {
  display: none;
}
@media print, screen and (min-width: 768px) {
  .entry-card-terms {
    display: block;
  }
}
.entry-card-terms span {
  display: inline-block;
  margin: 0 0.5em 0.5em;
  background: rgba(0, 110, 189, 0.5);
  colo: #000;
  padding: 0.1em 1em;
  line-height: 1.7;
  border-radius: 0.3em;
  font-size: 0.9em;
}

@media print, screen and (min-width: 768px) {
  .related-entry-card-title, .entry-card-title {
    font-size: 1.5em;
    padding-top: 0.7em;
  }
}

@media print, screen and (min-width: 768px) {
  .entry-card-snippet {
    font-size: 1.1em;
    line-height: 1.7em;
  }
}

body#home #btnRise,
body#home #btnSideBanner,
body#home .copyright,
body#home #navi,
body#home .mobile-header-menu-buttons,
body#home .mobile-footer-menu-buttons,
body#home .go-to-top,
body#home .footer-widgets,
body.home #btnRise,
body.home #btnSideBanner,
body.home .copyright,
body.home #navi,
body.home .mobile-header-menu-buttons,
body.home .mobile-footer-menu-buttons,
body.home .go-to-top,
body.home .footer-widgets,
body.page #btnRise,
body.page #btnSideBanner,
body.page .copyright,
body.page #navi,
body.page .mobile-header-menu-buttons,
body.page .mobile-footer-menu-buttons,
body.page .go-to-top,
body.page .footer-widgets {
  display: none;
}

/* フッターの背景は #footer にある。Cocoon の .inBase に収まると左右が欠けるので、要素ごと画面幅にする */
.inBase__inner > #footer {
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

body.page:not(.home),
body.single,
body.archive {
  /* #main は画面より狭いので、本文だけ画面幅まではみ出して中身を中央に置く */
}
body.page:not(.home) .fullView,
body.single .fullView,
body.archive .fullView {
  width: auto;
  margin: 0;
}
body.page:not(.home) #main .fullView,
body.single #main .fullView,
body.archive #main .fullView {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
}
body.page:not(.home) #contents,
body.page:not(.home) #main,
body.single #contents,
body.single #main,
body.archive #contents,
body.archive #main {
  margin-top: 0;
  padding-top: var(--header-h);
}
body.page:not(.home) #wrapper .pageTitleBox,
body.single #wrapper .pageTitleBox,
body.archive #wrapper .pageTitleBox {
  background: var(--bg);
}
body.page:not(.home) #wrapper .pageTitleBox figure,
body.single #wrapper .pageTitleBox figure,
body.archive #wrapper .pageTitleBox figure {
  display: none;
}
body.page:not(.home) #wrapper .pageTitle,
body.single #wrapper .pageTitle,
body.archive #wrapper .pageTitle {
  position: static;
  height: auto;
  padding: 4.5em 0 4.5em;
}
body.page:not(.home) #wrapper .pageTitle h1,
body.page:not(.home) #wrapper #container .pageTitle h1,
body.single #wrapper .pageTitle h1,
body.single #wrapper #container .pageTitle h1,
body.archive #wrapper .pageTitle h1,
body.archive #wrapper #container .pageTitle h1 {
  color: var(--navy);
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(28px, 3.2vw, 40px);
  line-height: 1.5;
  letter-spacing: 0.04em;
}
body.page:not(.home) #wrapper .topicpathBox,
body.single #wrapper .topicpathBox,
body.archive #wrapper .topicpathBox {
  margin-bottom: 48px;
  padding-top: 0;
}
body.page:not(.home) #wrapper .breadcrumb,
body.page:not(.home) #wrapper .breadcrumb a,
body.single #wrapper .breadcrumb,
body.single #wrapper .breadcrumb a,
body.archive #wrapper .breadcrumb,
body.archive #wrapper .breadcrumb a {
  color: var(--gray);
  font-size: 13px;
}
body.page:not(.home) .page-anchors,
body.single .page-anchors,
body.archive .page-anchors {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px 28px;
  margin-bottom: 56px;
}
body.page:not(.home) .page-anchors a,
body.single .page-anchors a,
body.archive .page-anchors a {
  color: var(--navy);
  font-size: 14px;
  letter-spacing: 0.06em;
}
body.page:not(.home) .page-anchors a:hover,
body.single .page-anchors a:hover,
body.archive .page-anchors a:hover {
  color: var(--blue);
}
body.page:not(.home) .entry-content > section,
body.single .entry-content > section,
body.archive .entry-content > section {
  padding-bottom: 72px;
}
body.page:not(.home) .entry-content > section + section,
body.single .entry-content > section + section,
body.archive .entry-content > section + section {
  padding-top: 72px;
  border-top: 1px solid rgba(24, 53, 74, 0.12);
}

/*!
 * Bootstrap Grid v5.0.2 (https://getbootstrap.com/)
 * Copyright 2011-2021 The Bootstrap Authors
 * Copyright 2011-2021 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
  width: 100%;
  padding-right: var(--bs-gutter-x, 0.75rem);
  padding-left: var(--bs-gutter-x, 0.75rem);
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) {
  .container-sm, .container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container-md, .container-sm, .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container-lg, .container-md, .container-sm, .container {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1140px;
  }
}
@media (min-width: 1400px) {
  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1320px;
  }
}
.row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: calc(var(--bs-gutter-y) * -1);
  margin-right: calc(var(--bs-gutter-x) * -0.5);
  margin-left: calc(var(--bs-gutter-x) * -0.5);
}

.row > * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-top: var(--bs-gutter-y);
}

.col {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 0%;
          flex: 1 0 0%;
}

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

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

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

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

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

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

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

@media (min-width: 576px) {
  .col-sm {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 0%;
            flex: 1 0 0%;
  }
  .row-cols-sm-auto > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
  .row-cols-sm-1 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-sm-2 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-sm-3 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .row-cols-sm-4 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-sm-5 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-sm-6 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 16.6666666667%;
  }
}
@media (min-width: 768px) {
  .col-md {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 0%;
            flex: 1 0 0%;
  }
  .row-cols-md-auto > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
  .row-cols-md-1 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-md-2 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-md-3 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .row-cols-md-4 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-md-5 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-md-6 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 16.6666666667%;
  }
}
@media (min-width: 992px) {
  .col-lg {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 0%;
            flex: 1 0 0%;
  }
  .row-cols-lg-auto > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
  .row-cols-lg-1 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-lg-2 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-lg-3 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .row-cols-lg-4 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-lg-5 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-lg-6 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 16.6666666667%;
  }
}
@media (min-width: 1200px) {
  .col-xl {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 0%;
            flex: 1 0 0%;
  }
  .row-cols-xl-auto > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xl-1 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xl-2 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xl-3 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .row-cols-xl-4 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xl-5 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xl-6 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 16.6666666667%;
  }
}
@media (min-width: 1400px) {
  .col-xxl {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 0%;
            flex: 1 0 0%;
  }
  .row-cols-xxl-auto > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xxl-1 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xxl-2 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xxl-3 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .row-cols-xxl-4 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xxl-5 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xxl-6 > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 16.6666666667%;
  }
}
.col-auto {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: auto;
}

.col-1 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 8.33333333%;
}

.col-2 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 16.66666667%;
}

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

.col-4 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 33.33333333%;
}

.col-5 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 41.66666667%;
}

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

.col-7 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 58.33333333%;
}

.col-8 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 66.66666667%;
}

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

.col-10 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 83.33333333%;
}

.col-11 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 91.66666667%;
}

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

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

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

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

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

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

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

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

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

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

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

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

.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-auto {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
  .col-sm-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-sm-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 25%;
  }
  .col-sm-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-sm-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-sm-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 50%;
  }
  .col-sm-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-sm-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-sm-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 75%;
  }
  .col-sm-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-sm-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-sm-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 100%;
  }
  .offset-sm-0 {
    margin-left: 0;
  }
  .offset-sm-1 {
    margin-left: 8.33333333%;
  }
  .offset-sm-2 {
    margin-left: 16.66666667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.33333333%;
  }
  .offset-sm-5 {
    margin-left: 41.66666667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.33333333%;
  }
  .offset-sm-8 {
    margin-left: 66.66666667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.33333333%;
  }
  .offset-sm-11 {
    margin-left: 91.66666667%;
  }
  .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-auto {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
  .col-md-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-md-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 25%;
  }
  .col-md-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-md-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-md-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 50%;
  }
  .col-md-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-md-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-md-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 75%;
  }
  .col-md-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-md-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-md-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 100%;
  }
  .offset-md-0 {
    margin-left: 0;
  }
  .offset-md-1 {
    margin-left: 8.33333333%;
  }
  .offset-md-2 {
    margin-left: 16.66666667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.33333333%;
  }
  .offset-md-5 {
    margin-left: 41.66666667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.33333333%;
  }
  .offset-md-8 {
    margin-left: 66.66666667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.33333333%;
  }
  .offset-md-11 {
    margin-left: 91.66666667%;
  }
  .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-auto {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
  .col-lg-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-lg-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 25%;
  }
  .col-lg-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-lg-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-lg-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 50%;
  }
  .col-lg-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-lg-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-lg-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 75%;
  }
  .col-lg-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-lg-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-lg-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 100%;
  }
  .offset-lg-0 {
    margin-left: 0;
  }
  .offset-lg-1 {
    margin-left: 8.33333333%;
  }
  .offset-lg-2 {
    margin-left: 16.66666667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.33333333%;
  }
  .offset-lg-5 {
    margin-left: 41.66666667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.33333333%;
  }
  .offset-lg-8 {
    margin-left: 66.66666667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.33333333%;
  }
  .offset-lg-11 {
    margin-left: 91.66666667%;
  }
  .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-auto {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
  .col-xl-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xl-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 25%;
  }
  .col-xl-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xl-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xl-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 50%;
  }
  .col-xl-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xl-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xl-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 75%;
  }
  .col-xl-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xl-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xl-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 100%;
  }
  .offset-xl-0 {
    margin-left: 0;
  }
  .offset-xl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xl-11 {
    margin-left: 91.66666667%;
  }
  .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-auto {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
  .col-xxl-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xxl-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 25%;
  }
  .col-xxl-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xxl-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xxl-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 50%;
  }
  .col-xxl-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xxl-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xxl-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 75%;
  }
  .col-xxl-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xxl-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xxl-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 100%;
  }
  .offset-xxl-0 {
    margin-left: 0;
  }
  .offset-xxl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xxl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xxl-3 {
    margin-left: 25%;
  }
  .offset-xxl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xxl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xxl-6 {
    margin-left: 50%;
  }
  .offset-xxl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xxl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xxl-9 {
    margin-left: 75%;
  }
  .offset-xxl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xxl-11 {
    margin-left: 91.66666667%;
  }
  .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;
  }
}
.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-block {
  display: block !important;
}

.d-grid {
  display: grid !important;
}

.d-table {
  display: table !important;
}

.d-table-row {
  display: table-row !important;
}

.d-table-cell {
  display: table-cell !important;
}

.d-flex {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}

.d-inline-flex {
  display: -webkit-inline-box !important;
  display: -ms-inline-flexbox !important;
  display: inline-flex !important;
}

.d-none {
  display: none !important;
}

.flex-fill {
  -webkit-box-flex: 1 !important;
      -ms-flex: 1 1 auto !important;
          flex: 1 1 auto !important;
}

.flex-row {
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: row !important;
          flex-direction: row !important;
}

.flex-column {
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: column !important;
          flex-direction: column !important;
}

.flex-row-reverse {
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: reverse !important;
      -ms-flex-direction: row-reverse !important;
          flex-direction: row-reverse !important;
}

.flex-column-reverse {
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: reverse !important;
      -ms-flex-direction: column-reverse !important;
          flex-direction: column-reverse !important;
}

.flex-grow-0 {
  -webkit-box-flex: 0 !important;
      -ms-flex-positive: 0 !important;
          flex-grow: 0 !important;
}

.flex-grow-1 {
  -webkit-box-flex: 1 !important;
      -ms-flex-positive: 1 !important;
          flex-grow: 1 !important;
}

.flex-shrink-0 {
  -ms-flex-negative: 0 !important;
      flex-shrink: 0 !important;
}

.flex-shrink-1 {
  -ms-flex-negative: 1 !important;
      flex-shrink: 1 !important;
}

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

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

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

.justify-content-start {
  -webkit-box-pack: start !important;
      -ms-flex-pack: start !important;
          justify-content: flex-start !important;
}

.justify-content-end {
  -webkit-box-pack: end !important;
      -ms-flex-pack: end !important;
          justify-content: flex-end !important;
}

.justify-content-center {
  -webkit-box-pack: center !important;
      -ms-flex-pack: center !important;
          justify-content: center !important;
}

.justify-content-between {
  -webkit-box-pack: justify !important;
      -ms-flex-pack: justify !important;
          justify-content: space-between !important;
}

.justify-content-around {
  -ms-flex-pack: distribute !important;
      justify-content: space-around !important;
}

.justify-content-evenly {
  -webkit-box-pack: space-evenly !important;
      -ms-flex-pack: space-evenly !important;
          justify-content: space-evenly !important;
}

.align-items-start {
  -webkit-box-align: start !important;
      -ms-flex-align: start !important;
          align-items: flex-start !important;
}

.align-items-end {
  -webkit-box-align: end !important;
      -ms-flex-align: end !important;
          align-items: flex-end !important;
}

.align-items-center {
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
}

.align-items-baseline {
  -webkit-box-align: baseline !important;
      -ms-flex-align: baseline !important;
          align-items: baseline !important;
}

.align-items-stretch {
  -webkit-box-align: stretch !important;
      -ms-flex-align: stretch !important;
          align-items: stretch !important;
}

.align-content-start {
  -ms-flex-line-pack: start !important;
      align-content: flex-start !important;
}

.align-content-end {
  -ms-flex-line-pack: end !important;
      align-content: flex-end !important;
}

.align-content-center {
  -ms-flex-line-pack: center !important;
      align-content: center !important;
}

.align-content-between {
  -ms-flex-line-pack: justify !important;
      align-content: space-between !important;
}

.align-content-around {
  -ms-flex-line-pack: distribute !important;
      align-content: space-around !important;
}

.align-content-stretch {
  -ms-flex-line-pack: stretch !important;
      align-content: stretch !important;
}

.align-self-auto {
  -ms-flex-item-align: auto !important;
      align-self: auto !important;
}

.align-self-start {
  -ms-flex-item-align: start !important;
      align-self: flex-start !important;
}

.align-self-end {
  -ms-flex-item-align: end !important;
      align-self: flex-end !important;
}

.align-self-center {
  -ms-flex-item-align: center !important;
      align-self: center !important;
}

.align-self-baseline {
  -ms-flex-item-align: baseline !important;
      align-self: baseline !important;
}

.align-self-stretch {
  -ms-flex-item-align: stretch !important;
      align-self: stretch !important;
}

.order-first {
  -webkit-box-ordinal-group: 0 !important;
      -ms-flex-order: -1 !important;
          order: -1 !important;
}

.order-0 {
  -webkit-box-ordinal-group: 1 !important;
      -ms-flex-order: 0 !important;
          order: 0 !important;
}

.order-1 {
  -webkit-box-ordinal-group: 2 !important;
      -ms-flex-order: 1 !important;
          order: 1 !important;
}

.order-2 {
  -webkit-box-ordinal-group: 3 !important;
      -ms-flex-order: 2 !important;
          order: 2 !important;
}

.order-3 {
  -webkit-box-ordinal-group: 4 !important;
      -ms-flex-order: 3 !important;
          order: 3 !important;
}

.order-4 {
  -webkit-box-ordinal-group: 5 !important;
      -ms-flex-order: 4 !important;
          order: 4 !important;
}

.order-5 {
  -webkit-box-ordinal-group: 6 !important;
      -ms-flex-order: 5 !important;
          order: 5 !important;
}

.order-last {
  -webkit-box-ordinal-group: 7 !important;
      -ms-flex-order: 6 !important;
          order: 6 !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

.mx-5 {
  margin-right: 3rem !important;
  margin-left: 3rem !important;
}

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

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

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

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

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

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

.my-5 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

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

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

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

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

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

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

.mt-5 {
  margin-top: 3rem !important;
}

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

.me-0 {
  margin-right: 0 !important;
}

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

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

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

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

.me-5 {
  margin-right: 3rem !important;
}

.me-auto {
  margin-right: auto !important;
}

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

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

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

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

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

.mb-5 {
  margin-bottom: 3rem !important;
}

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

.ms-0 {
  margin-left: 0 !important;
}

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

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

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

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

.ms-5 {
  margin-left: 3rem !important;
}

.ms-auto {
  margin-left: auto !important;
}

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

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

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

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

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

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

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

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

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

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

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

.px-5 {
  padding-right: 3rem !important;
  padding-left: 3rem !important;
}

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

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

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

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

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

.py-5 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

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

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

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

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

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

.pt-5 {
  padding-top: 3rem !important;
}

.pe-0 {
  padding-right: 0 !important;
}

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

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

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

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

.pe-5 {
  padding-right: 3rem !important;
}

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

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

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

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

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

.pb-5 {
  padding-bottom: 3rem !important;
}

.ps-0 {
  padding-left: 0 !important;
}

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

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

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

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

.ps-5 {
  padding-left: 3rem !important;
}

@media (min-width: 576px) {
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-grid {
    display: grid !important;
  }
  .d-sm-table {
    display: table !important;
  }
  .d-sm-table-row {
    display: table-row !important;
  }
  .d-sm-table-cell {
    display: table-cell !important;
  }
  .d-sm-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
  .d-sm-none {
    display: none !important;
  }
  .flex-sm-fill {
    -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 auto !important;
            flex: 1 1 auto !important;
  }
  .flex-sm-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important;
  }
  .flex-sm-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: row-reverse !important;
            flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important;
  }
  .flex-sm-grow-0 {
    -webkit-box-flex: 0 !important;
        -ms-flex-positive: 0 !important;
            flex-grow: 0 !important;
  }
  .flex-sm-grow-1 {
    -webkit-box-flex: 1 !important;
        -ms-flex-positive: 1 !important;
            flex-grow: 1 !important;
  }
  .flex-sm-shrink-0 {
    -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important;
  }
  .flex-sm-shrink-1 {
    -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important;
  }
  .flex-sm-wrap {
    -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
  }
  .flex-sm-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important;
  }
  .justify-content-sm-start {
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
            justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
  }
  .justify-content-sm-between {
    -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
            justify-content: space-between !important;
  }
  .justify-content-sm-around {
    -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
  }
  .justify-content-sm-evenly {
    -webkit-box-pack: space-evenly !important;
        -ms-flex-pack: space-evenly !important;
            justify-content: space-evenly !important;
  }
  .align-items-sm-start {
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important;
  }
  .align-items-sm-end {
    -webkit-box-align: end !important;
        -ms-flex-align: end !important;
            align-items: flex-end !important;
  }
  .align-items-sm-center {
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
  }
  .align-items-sm-baseline {
    -webkit-box-align: baseline !important;
        -ms-flex-align: baseline !important;
            align-items: baseline !important;
  }
  .align-items-sm-stretch {
    -webkit-box-align: stretch !important;
        -ms-flex-align: stretch !important;
            align-items: stretch !important;
  }
  .align-content-sm-start {
    -ms-flex-line-pack: start !important;
        align-content: flex-start !important;
  }
  .align-content-sm-end {
    -ms-flex-line-pack: end !important;
        align-content: flex-end !important;
  }
  .align-content-sm-center {
    -ms-flex-line-pack: center !important;
        align-content: center !important;
  }
  .align-content-sm-between {
    -ms-flex-line-pack: justify !important;
        align-content: space-between !important;
  }
  .align-content-sm-around {
    -ms-flex-line-pack: distribute !important;
        align-content: space-around !important;
  }
  .align-content-sm-stretch {
    -ms-flex-line-pack: stretch !important;
        align-content: stretch !important;
  }
  .align-self-sm-auto {
    -ms-flex-item-align: auto !important;
        align-self: auto !important;
  }
  .align-self-sm-start {
    -ms-flex-item-align: start !important;
        align-self: flex-start !important;
  }
  .align-self-sm-end {
    -ms-flex-item-align: end !important;
        align-self: flex-end !important;
  }
  .align-self-sm-center {
    -ms-flex-item-align: center !important;
        align-self: center !important;
  }
  .align-self-sm-baseline {
    -ms-flex-item-align: baseline !important;
        align-self: baseline !important;
  }
  .align-self-sm-stretch {
    -ms-flex-item-align: stretch !important;
        align-self: stretch !important;
  }
  .order-sm-first {
    -webkit-box-ordinal-group: 0 !important;
        -ms-flex-order: -1 !important;
            order: -1 !important;
  }
  .order-sm-0 {
    -webkit-box-ordinal-group: 1 !important;
        -ms-flex-order: 0 !important;
            order: 0 !important;
  }
  .order-sm-1 {
    -webkit-box-ordinal-group: 2 !important;
        -ms-flex-order: 1 !important;
            order: 1 !important;
  }
  .order-sm-2 {
    -webkit-box-ordinal-group: 3 !important;
        -ms-flex-order: 2 !important;
            order: 2 !important;
  }
  .order-sm-3 {
    -webkit-box-ordinal-group: 4 !important;
        -ms-flex-order: 3 !important;
            order: 3 !important;
  }
  .order-sm-4 {
    -webkit-box-ordinal-group: 5 !important;
        -ms-flex-order: 4 !important;
            order: 4 !important;
  }
  .order-sm-5 {
    -webkit-box-ordinal-group: 6 !important;
        -ms-flex-order: 5 !important;
            order: 5 !important;
  }
  .order-sm-last {
    -webkit-box-ordinal-group: 7 !important;
        -ms-flex-order: 6 !important;
            order: 6 !important;
  }
  .m-sm-0 {
    margin: 0 !important;
  }
  .m-sm-1 {
    margin: 0.25rem !important;
  }
  .m-sm-2 {
    margin: 0.5rem !important;
  }
  .m-sm-3 {
    margin: 1rem !important;
  }
  .m-sm-4 {
    margin: 1.5rem !important;
  }
  .m-sm-5 {
    margin: 3rem !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mx-sm-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-sm-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-sm-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-sm-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-sm-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-sm-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-sm-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-sm-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-sm-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-sm-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-sm-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-sm-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-sm-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-sm-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-sm-0 {
    margin-top: 0 !important;
  }
  .mt-sm-1 {
    margin-top: 0.25rem !important;
  }
  .mt-sm-2 {
    margin-top: 0.5rem !important;
  }
  .mt-sm-3 {
    margin-top: 1rem !important;
  }
  .mt-sm-4 {
    margin-top: 1.5rem !important;
  }
  .mt-sm-5 {
    margin-top: 3rem !important;
  }
  .mt-sm-auto {
    margin-top: auto !important;
  }
  .me-sm-0 {
    margin-right: 0 !important;
  }
  .me-sm-1 {
    margin-right: 0.25rem !important;
  }
  .me-sm-2 {
    margin-right: 0.5rem !important;
  }
  .me-sm-3 {
    margin-right: 1rem !important;
  }
  .me-sm-4 {
    margin-right: 1.5rem !important;
  }
  .me-sm-5 {
    margin-right: 3rem !important;
  }
  .me-sm-auto {
    margin-right: auto !important;
  }
  .mb-sm-0 {
    margin-bottom: 0 !important;
  }
  .mb-sm-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-sm-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-sm-3 {
    margin-bottom: 1rem !important;
  }
  .mb-sm-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-sm-5 {
    margin-bottom: 3rem !important;
  }
  .mb-sm-auto {
    margin-bottom: auto !important;
  }
  .ms-sm-0 {
    margin-left: 0 !important;
  }
  .ms-sm-1 {
    margin-left: 0.25rem !important;
  }
  .ms-sm-2 {
    margin-left: 0.5rem !important;
  }
  .ms-sm-3 {
    margin-left: 1rem !important;
  }
  .ms-sm-4 {
    margin-left: 1.5rem !important;
  }
  .ms-sm-5 {
    margin-left: 3rem !important;
  }
  .ms-sm-auto {
    margin-left: auto !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .p-sm-1 {
    padding: 0.25rem !important;
  }
  .p-sm-2 {
    padding: 0.5rem !important;
  }
  .p-sm-3 {
    padding: 1rem !important;
  }
  .p-sm-4 {
    padding: 1.5rem !important;
  }
  .p-sm-5 {
    padding: 3rem !important;
  }
  .px-sm-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-sm-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-sm-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-sm-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-sm-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-sm-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-sm-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-sm-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-sm-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-sm-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-sm-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-sm-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-sm-0 {
    padding-top: 0 !important;
  }
  .pt-sm-1 {
    padding-top: 0.25rem !important;
  }
  .pt-sm-2 {
    padding-top: 0.5rem !important;
  }
  .pt-sm-3 {
    padding-top: 1rem !important;
  }
  .pt-sm-4 {
    padding-top: 1.5rem !important;
  }
  .pt-sm-5 {
    padding-top: 3rem !important;
  }
  .pe-sm-0 {
    padding-right: 0 !important;
  }
  .pe-sm-1 {
    padding-right: 0.25rem !important;
  }
  .pe-sm-2 {
    padding-right: 0.5rem !important;
  }
  .pe-sm-3 {
    padding-right: 1rem !important;
  }
  .pe-sm-4 {
    padding-right: 1.5rem !important;
  }
  .pe-sm-5 {
    padding-right: 3rem !important;
  }
  .pb-sm-0 {
    padding-bottom: 0 !important;
  }
  .pb-sm-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-sm-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-sm-3 {
    padding-bottom: 1rem !important;
  }
  .pb-sm-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-sm-5 {
    padding-bottom: 3rem !important;
  }
  .ps-sm-0 {
    padding-left: 0 !important;
  }
  .ps-sm-1 {
    padding-left: 0.25rem !important;
  }
  .ps-sm-2 {
    padding-left: 0.5rem !important;
  }
  .ps-sm-3 {
    padding-left: 1rem !important;
  }
  .ps-sm-4 {
    padding-left: 1.5rem !important;
  }
  .ps-sm-5 {
    padding-left: 3rem !important;
  }
}
@media (min-width: 768px) {
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-grid {
    display: grid !important;
  }
  .d-md-table {
    display: table !important;
  }
  .d-md-table-row {
    display: table-row !important;
  }
  .d-md-table-cell {
    display: table-cell !important;
  }
  .d-md-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .d-md-inline-flex {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
  .d-md-none {
    display: none !important;
  }
  .flex-md-fill {
    -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 auto !important;
            flex: 1 1 auto !important;
  }
  .flex-md-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important;
  }
  .flex-md-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }
  .flex-md-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: row-reverse !important;
            flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important;
  }
  .flex-md-grow-0 {
    -webkit-box-flex: 0 !important;
        -ms-flex-positive: 0 !important;
            flex-grow: 0 !important;
  }
  .flex-md-grow-1 {
    -webkit-box-flex: 1 !important;
        -ms-flex-positive: 1 !important;
            flex-grow: 1 !important;
  }
  .flex-md-shrink-0 {
    -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important;
  }
  .flex-md-shrink-1 {
    -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important;
  }
  .flex-md-wrap {
    -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important;
  }
  .justify-content-md-start {
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important;
  }
  .justify-content-md-end {
    -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
            justify-content: flex-end !important;
  }
  .justify-content-md-center {
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
  }
  .justify-content-md-between {
    -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
            justify-content: space-between !important;
  }
  .justify-content-md-around {
    -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
  }
  .justify-content-md-evenly {
    -webkit-box-pack: space-evenly !important;
        -ms-flex-pack: space-evenly !important;
            justify-content: space-evenly !important;
  }
  .align-items-md-start {
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important;
  }
  .align-items-md-end {
    -webkit-box-align: end !important;
        -ms-flex-align: end !important;
            align-items: flex-end !important;
  }
  .align-items-md-center {
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
  }
  .align-items-md-baseline {
    -webkit-box-align: baseline !important;
        -ms-flex-align: baseline !important;
            align-items: baseline !important;
  }
  .align-items-md-stretch {
    -webkit-box-align: stretch !important;
        -ms-flex-align: stretch !important;
            align-items: stretch !important;
  }
  .align-content-md-start {
    -ms-flex-line-pack: start !important;
        align-content: flex-start !important;
  }
  .align-content-md-end {
    -ms-flex-line-pack: end !important;
        align-content: flex-end !important;
  }
  .align-content-md-center {
    -ms-flex-line-pack: center !important;
        align-content: center !important;
  }
  .align-content-md-between {
    -ms-flex-line-pack: justify !important;
        align-content: space-between !important;
  }
  .align-content-md-around {
    -ms-flex-line-pack: distribute !important;
        align-content: space-around !important;
  }
  .align-content-md-stretch {
    -ms-flex-line-pack: stretch !important;
        align-content: stretch !important;
  }
  .align-self-md-auto {
    -ms-flex-item-align: auto !important;
        align-self: auto !important;
  }
  .align-self-md-start {
    -ms-flex-item-align: start !important;
        align-self: flex-start !important;
  }
  .align-self-md-end {
    -ms-flex-item-align: end !important;
        align-self: flex-end !important;
  }
  .align-self-md-center {
    -ms-flex-item-align: center !important;
        align-self: center !important;
  }
  .align-self-md-baseline {
    -ms-flex-item-align: baseline !important;
        align-self: baseline !important;
  }
  .align-self-md-stretch {
    -ms-flex-item-align: stretch !important;
        align-self: stretch !important;
  }
  .order-md-first {
    -webkit-box-ordinal-group: 0 !important;
        -ms-flex-order: -1 !important;
            order: -1 !important;
  }
  .order-md-0 {
    -webkit-box-ordinal-group: 1 !important;
        -ms-flex-order: 0 !important;
            order: 0 !important;
  }
  .order-md-1 {
    -webkit-box-ordinal-group: 2 !important;
        -ms-flex-order: 1 !important;
            order: 1 !important;
  }
  .order-md-2 {
    -webkit-box-ordinal-group: 3 !important;
        -ms-flex-order: 2 !important;
            order: 2 !important;
  }
  .order-md-3 {
    -webkit-box-ordinal-group: 4 !important;
        -ms-flex-order: 3 !important;
            order: 3 !important;
  }
  .order-md-4 {
    -webkit-box-ordinal-group: 5 !important;
        -ms-flex-order: 4 !important;
            order: 4 !important;
  }
  .order-md-5 {
    -webkit-box-ordinal-group: 6 !important;
        -ms-flex-order: 5 !important;
            order: 5 !important;
  }
  .order-md-last {
    -webkit-box-ordinal-group: 7 !important;
        -ms-flex-order: 6 !important;
            order: 6 !important;
  }
  .m-md-0 {
    margin: 0 !important;
  }
  .m-md-1 {
    margin: 0.25rem !important;
  }
  .m-md-2 {
    margin: 0.5rem !important;
  }
  .m-md-3 {
    margin: 1rem !important;
  }
  .m-md-4 {
    margin: 1.5rem !important;
  }
  .m-md-5 {
    margin: 3rem !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mx-md-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-md-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-md-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-md-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-md-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-md-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-md-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-md-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-md-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-md-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-md-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-md-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-md-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-md-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-md-0 {
    margin-top: 0 !important;
  }
  .mt-md-1 {
    margin-top: 0.25rem !important;
  }
  .mt-md-2 {
    margin-top: 0.5rem !important;
  }
  .mt-md-3 {
    margin-top: 1rem !important;
  }
  .mt-md-4 {
    margin-top: 1.5rem !important;
  }
  .mt-md-5 {
    margin-top: 3rem !important;
  }
  .mt-md-auto {
    margin-top: auto !important;
  }
  .me-md-0 {
    margin-right: 0 !important;
  }
  .me-md-1 {
    margin-right: 0.25rem !important;
  }
  .me-md-2 {
    margin-right: 0.5rem !important;
  }
  .me-md-3 {
    margin-right: 1rem !important;
  }
  .me-md-4 {
    margin-right: 1.5rem !important;
  }
  .me-md-5 {
    margin-right: 3rem !important;
  }
  .me-md-auto {
    margin-right: auto !important;
  }
  .mb-md-0 {
    margin-bottom: 0 !important;
  }
  .mb-md-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-md-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-md-3 {
    margin-bottom: 1rem !important;
  }
  .mb-md-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-md-5 {
    margin-bottom: 3rem !important;
  }
  .mb-md-auto {
    margin-bottom: auto !important;
  }
  .ms-md-0 {
    margin-left: 0 !important;
  }
  .ms-md-1 {
    margin-left: 0.25rem !important;
  }
  .ms-md-2 {
    margin-left: 0.5rem !important;
  }
  .ms-md-3 {
    margin-left: 1rem !important;
  }
  .ms-md-4 {
    margin-left: 1.5rem !important;
  }
  .ms-md-5 {
    margin-left: 3rem !important;
  }
  .ms-md-auto {
    margin-left: auto !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .p-md-1 {
    padding: 0.25rem !important;
  }
  .p-md-2 {
    padding: 0.5rem !important;
  }
  .p-md-3 {
    padding: 1rem !important;
  }
  .p-md-4 {
    padding: 1.5rem !important;
  }
  .p-md-5 {
    padding: 3rem !important;
  }
  .px-md-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-md-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-md-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-md-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-md-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-md-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-md-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-md-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-md-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-md-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-md-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-md-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-md-0 {
    padding-top: 0 !important;
  }
  .pt-md-1 {
    padding-top: 0.25rem !important;
  }
  .pt-md-2 {
    padding-top: 0.5rem !important;
  }
  .pt-md-3 {
    padding-top: 1rem !important;
  }
  .pt-md-4 {
    padding-top: 1.5rem !important;
  }
  .pt-md-5 {
    padding-top: 3rem !important;
  }
  .pe-md-0 {
    padding-right: 0 !important;
  }
  .pe-md-1 {
    padding-right: 0.25rem !important;
  }
  .pe-md-2 {
    padding-right: 0.5rem !important;
  }
  .pe-md-3 {
    padding-right: 1rem !important;
  }
  .pe-md-4 {
    padding-right: 1.5rem !important;
  }
  .pe-md-5 {
    padding-right: 3rem !important;
  }
  .pb-md-0 {
    padding-bottom: 0 !important;
  }
  .pb-md-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-md-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-md-3 {
    padding-bottom: 1rem !important;
  }
  .pb-md-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-md-5 {
    padding-bottom: 3rem !important;
  }
  .ps-md-0 {
    padding-left: 0 !important;
  }
  .ps-md-1 {
    padding-left: 0.25rem !important;
  }
  .ps-md-2 {
    padding-left: 0.5rem !important;
  }
  .ps-md-3 {
    padding-left: 1rem !important;
  }
  .ps-md-4 {
    padding-left: 1.5rem !important;
  }
  .ps-md-5 {
    padding-left: 3rem !important;
  }
}
@media (min-width: 992px) {
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-grid {
    display: grid !important;
  }
  .d-lg-table {
    display: table !important;
  }
  .d-lg-table-row {
    display: table-row !important;
  }
  .d-lg-table-cell {
    display: table-cell !important;
  }
  .d-lg-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
  .d-lg-none {
    display: none !important;
  }
  .flex-lg-fill {
    -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 auto !important;
            flex: 1 1 auto !important;
  }
  .flex-lg-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important;
  }
  .flex-lg-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: row-reverse !important;
            flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important;
  }
  .flex-lg-grow-0 {
    -webkit-box-flex: 0 !important;
        -ms-flex-positive: 0 !important;
            flex-grow: 0 !important;
  }
  .flex-lg-grow-1 {
    -webkit-box-flex: 1 !important;
        -ms-flex-positive: 1 !important;
            flex-grow: 1 !important;
  }
  .flex-lg-shrink-0 {
    -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important;
  }
  .flex-lg-shrink-1 {
    -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important;
  }
  .flex-lg-wrap {
    -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
  }
  .flex-lg-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important;
  }
  .justify-content-lg-start {
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
            justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
  }
  .justify-content-lg-between {
    -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
            justify-content: space-between !important;
  }
  .justify-content-lg-around {
    -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
  }
  .justify-content-lg-evenly {
    -webkit-box-pack: space-evenly !important;
        -ms-flex-pack: space-evenly !important;
            justify-content: space-evenly !important;
  }
  .align-items-lg-start {
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important;
  }
  .align-items-lg-end {
    -webkit-box-align: end !important;
        -ms-flex-align: end !important;
            align-items: flex-end !important;
  }
  .align-items-lg-center {
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
  }
  .align-items-lg-baseline {
    -webkit-box-align: baseline !important;
        -ms-flex-align: baseline !important;
            align-items: baseline !important;
  }
  .align-items-lg-stretch {
    -webkit-box-align: stretch !important;
        -ms-flex-align: stretch !important;
            align-items: stretch !important;
  }
  .align-content-lg-start {
    -ms-flex-line-pack: start !important;
        align-content: flex-start !important;
  }
  .align-content-lg-end {
    -ms-flex-line-pack: end !important;
        align-content: flex-end !important;
  }
  .align-content-lg-center {
    -ms-flex-line-pack: center !important;
        align-content: center !important;
  }
  .align-content-lg-between {
    -ms-flex-line-pack: justify !important;
        align-content: space-between !important;
  }
  .align-content-lg-around {
    -ms-flex-line-pack: distribute !important;
        align-content: space-around !important;
  }
  .align-content-lg-stretch {
    -ms-flex-line-pack: stretch !important;
        align-content: stretch !important;
  }
  .align-self-lg-auto {
    -ms-flex-item-align: auto !important;
        align-self: auto !important;
  }
  .align-self-lg-start {
    -ms-flex-item-align: start !important;
        align-self: flex-start !important;
  }
  .align-self-lg-end {
    -ms-flex-item-align: end !important;
        align-self: flex-end !important;
  }
  .align-self-lg-center {
    -ms-flex-item-align: center !important;
        align-self: center !important;
  }
  .align-self-lg-baseline {
    -ms-flex-item-align: baseline !important;
        align-self: baseline !important;
  }
  .align-self-lg-stretch {
    -ms-flex-item-align: stretch !important;
        align-self: stretch !important;
  }
  .order-lg-first {
    -webkit-box-ordinal-group: 0 !important;
        -ms-flex-order: -1 !important;
            order: -1 !important;
  }
  .order-lg-0 {
    -webkit-box-ordinal-group: 1 !important;
        -ms-flex-order: 0 !important;
            order: 0 !important;
  }
  .order-lg-1 {
    -webkit-box-ordinal-group: 2 !important;
        -ms-flex-order: 1 !important;
            order: 1 !important;
  }
  .order-lg-2 {
    -webkit-box-ordinal-group: 3 !important;
        -ms-flex-order: 2 !important;
            order: 2 !important;
  }
  .order-lg-3 {
    -webkit-box-ordinal-group: 4 !important;
        -ms-flex-order: 3 !important;
            order: 3 !important;
  }
  .order-lg-4 {
    -webkit-box-ordinal-group: 5 !important;
        -ms-flex-order: 4 !important;
            order: 4 !important;
  }
  .order-lg-5 {
    -webkit-box-ordinal-group: 6 !important;
        -ms-flex-order: 5 !important;
            order: 5 !important;
  }
  .order-lg-last {
    -webkit-box-ordinal-group: 7 !important;
        -ms-flex-order: 6 !important;
            order: 6 !important;
  }
  .m-lg-0 {
    margin: 0 !important;
  }
  .m-lg-1 {
    margin: 0.25rem !important;
  }
  .m-lg-2 {
    margin: 0.5rem !important;
  }
  .m-lg-3 {
    margin: 1rem !important;
  }
  .m-lg-4 {
    margin: 1.5rem !important;
  }
  .m-lg-5 {
    margin: 3rem !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mx-lg-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-lg-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-lg-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-lg-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-lg-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-lg-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-lg-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-lg-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-lg-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-lg-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-lg-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-lg-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-lg-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-lg-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-lg-0 {
    margin-top: 0 !important;
  }
  .mt-lg-1 {
    margin-top: 0.25rem !important;
  }
  .mt-lg-2 {
    margin-top: 0.5rem !important;
  }
  .mt-lg-3 {
    margin-top: 1rem !important;
  }
  .mt-lg-4 {
    margin-top: 1.5rem !important;
  }
  .mt-lg-5 {
    margin-top: 3rem !important;
  }
  .mt-lg-auto {
    margin-top: auto !important;
  }
  .me-lg-0 {
    margin-right: 0 !important;
  }
  .me-lg-1 {
    margin-right: 0.25rem !important;
  }
  .me-lg-2 {
    margin-right: 0.5rem !important;
  }
  .me-lg-3 {
    margin-right: 1rem !important;
  }
  .me-lg-4 {
    margin-right: 1.5rem !important;
  }
  .me-lg-5 {
    margin-right: 3rem !important;
  }
  .me-lg-auto {
    margin-right: auto !important;
  }
  .mb-lg-0 {
    margin-bottom: 0 !important;
  }
  .mb-lg-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-lg-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-lg-3 {
    margin-bottom: 1rem !important;
  }
  .mb-lg-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-lg-5 {
    margin-bottom: 3rem !important;
  }
  .mb-lg-auto {
    margin-bottom: auto !important;
  }
  .ms-lg-0 {
    margin-left: 0 !important;
  }
  .ms-lg-1 {
    margin-left: 0.25rem !important;
  }
  .ms-lg-2 {
    margin-left: 0.5rem !important;
  }
  .ms-lg-3 {
    margin-left: 1rem !important;
  }
  .ms-lg-4 {
    margin-left: 1.5rem !important;
  }
  .ms-lg-5 {
    margin-left: 3rem !important;
  }
  .ms-lg-auto {
    margin-left: auto !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .p-lg-1 {
    padding: 0.25rem !important;
  }
  .p-lg-2 {
    padding: 0.5rem !important;
  }
  .p-lg-3 {
    padding: 1rem !important;
  }
  .p-lg-4 {
    padding: 1.5rem !important;
  }
  .p-lg-5 {
    padding: 3rem !important;
  }
  .px-lg-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-lg-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-lg-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-lg-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-lg-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-lg-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-lg-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-lg-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-lg-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-lg-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-lg-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-lg-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-lg-0 {
    padding-top: 0 !important;
  }
  .pt-lg-1 {
    padding-top: 0.25rem !important;
  }
  .pt-lg-2 {
    padding-top: 0.5rem !important;
  }
  .pt-lg-3 {
    padding-top: 1rem !important;
  }
  .pt-lg-4 {
    padding-top: 1.5rem !important;
  }
  .pt-lg-5 {
    padding-top: 3rem !important;
  }
  .pe-lg-0 {
    padding-right: 0 !important;
  }
  .pe-lg-1 {
    padding-right: 0.25rem !important;
  }
  .pe-lg-2 {
    padding-right: 0.5rem !important;
  }
  .pe-lg-3 {
    padding-right: 1rem !important;
  }
  .pe-lg-4 {
    padding-right: 1.5rem !important;
  }
  .pe-lg-5 {
    padding-right: 3rem !important;
  }
  .pb-lg-0 {
    padding-bottom: 0 !important;
  }
  .pb-lg-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-lg-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-lg-3 {
    padding-bottom: 1rem !important;
  }
  .pb-lg-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-lg-5 {
    padding-bottom: 3rem !important;
  }
  .ps-lg-0 {
    padding-left: 0 !important;
  }
  .ps-lg-1 {
    padding-left: 0.25rem !important;
  }
  .ps-lg-2 {
    padding-left: 0.5rem !important;
  }
  .ps-lg-3 {
    padding-left: 1rem !important;
  }
  .ps-lg-4 {
    padding-left: 1.5rem !important;
  }
  .ps-lg-5 {
    padding-left: 3rem !important;
  }
}
@media (min-width: 1200px) {
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-grid {
    display: grid !important;
  }
  .d-xl-table {
    display: table !important;
  }
  .d-xl-table-row {
    display: table-row !important;
  }
  .d-xl-table-cell {
    display: table-cell !important;
  }
  .d-xl-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
  .d-xl-none {
    display: none !important;
  }
  .flex-xl-fill {
    -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 auto !important;
            flex: 1 1 auto !important;
  }
  .flex-xl-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important;
  }
  .flex-xl-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }
  .flex-xl-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: row-reverse !important;
            flex-direction: row-reverse !important;
  }
  .flex-xl-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important;
  }
  .flex-xl-grow-0 {
    -webkit-box-flex: 0 !important;
        -ms-flex-positive: 0 !important;
            flex-grow: 0 !important;
  }
  .flex-xl-grow-1 {
    -webkit-box-flex: 1 !important;
        -ms-flex-positive: 1 !important;
            flex-grow: 1 !important;
  }
  .flex-xl-shrink-0 {
    -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important;
  }
  .flex-xl-shrink-1 {
    -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important;
  }
  .flex-xl-wrap {
    -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
  }
  .flex-xl-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important;
  }
  .justify-content-xl-start {
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important;
  }
  .justify-content-xl-end {
    -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
            justify-content: flex-end !important;
  }
  .justify-content-xl-center {
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
  }
  .justify-content-xl-between {
    -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
            justify-content: space-between !important;
  }
  .justify-content-xl-around {
    -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
  }
  .justify-content-xl-evenly {
    -webkit-box-pack: space-evenly !important;
        -ms-flex-pack: space-evenly !important;
            justify-content: space-evenly !important;
  }
  .align-items-xl-start {
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important;
  }
  .align-items-xl-end {
    -webkit-box-align: end !important;
        -ms-flex-align: end !important;
            align-items: flex-end !important;
  }
  .align-items-xl-center {
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
  }
  .align-items-xl-baseline {
    -webkit-box-align: baseline !important;
        -ms-flex-align: baseline !important;
            align-items: baseline !important;
  }
  .align-items-xl-stretch {
    -webkit-box-align: stretch !important;
        -ms-flex-align: stretch !important;
            align-items: stretch !important;
  }
  .align-content-xl-start {
    -ms-flex-line-pack: start !important;
        align-content: flex-start !important;
  }
  .align-content-xl-end {
    -ms-flex-line-pack: end !important;
        align-content: flex-end !important;
  }
  .align-content-xl-center {
    -ms-flex-line-pack: center !important;
        align-content: center !important;
  }
  .align-content-xl-between {
    -ms-flex-line-pack: justify !important;
        align-content: space-between !important;
  }
  .align-content-xl-around {
    -ms-flex-line-pack: distribute !important;
        align-content: space-around !important;
  }
  .align-content-xl-stretch {
    -ms-flex-line-pack: stretch !important;
        align-content: stretch !important;
  }
  .align-self-xl-auto {
    -ms-flex-item-align: auto !important;
        align-self: auto !important;
  }
  .align-self-xl-start {
    -ms-flex-item-align: start !important;
        align-self: flex-start !important;
  }
  .align-self-xl-end {
    -ms-flex-item-align: end !important;
        align-self: flex-end !important;
  }
  .align-self-xl-center {
    -ms-flex-item-align: center !important;
        align-self: center !important;
  }
  .align-self-xl-baseline {
    -ms-flex-item-align: baseline !important;
        align-self: baseline !important;
  }
  .align-self-xl-stretch {
    -ms-flex-item-align: stretch !important;
        align-self: stretch !important;
  }
  .order-xl-first {
    -webkit-box-ordinal-group: 0 !important;
        -ms-flex-order: -1 !important;
            order: -1 !important;
  }
  .order-xl-0 {
    -webkit-box-ordinal-group: 1 !important;
        -ms-flex-order: 0 !important;
            order: 0 !important;
  }
  .order-xl-1 {
    -webkit-box-ordinal-group: 2 !important;
        -ms-flex-order: 1 !important;
            order: 1 !important;
  }
  .order-xl-2 {
    -webkit-box-ordinal-group: 3 !important;
        -ms-flex-order: 2 !important;
            order: 2 !important;
  }
  .order-xl-3 {
    -webkit-box-ordinal-group: 4 !important;
        -ms-flex-order: 3 !important;
            order: 3 !important;
  }
  .order-xl-4 {
    -webkit-box-ordinal-group: 5 !important;
        -ms-flex-order: 4 !important;
            order: 4 !important;
  }
  .order-xl-5 {
    -webkit-box-ordinal-group: 6 !important;
        -ms-flex-order: 5 !important;
            order: 5 !important;
  }
  .order-xl-last {
    -webkit-box-ordinal-group: 7 !important;
        -ms-flex-order: 6 !important;
            order: 6 !important;
  }
  .m-xl-0 {
    margin: 0 !important;
  }
  .m-xl-1 {
    margin: 0.25rem !important;
  }
  .m-xl-2 {
    margin: 0.5rem !important;
  }
  .m-xl-3 {
    margin: 1rem !important;
  }
  .m-xl-4 {
    margin: 1.5rem !important;
  }
  .m-xl-5 {
    margin: 3rem !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mx-xl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-xl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-xl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-xl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-xl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-xl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-xl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-xl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-xl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-xl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-xl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xl-0 {
    margin-top: 0 !important;
  }
  .mt-xl-1 {
    margin-top: 0.25rem !important;
  }
  .mt-xl-2 {
    margin-top: 0.5rem !important;
  }
  .mt-xl-3 {
    margin-top: 1rem !important;
  }
  .mt-xl-4 {
    margin-top: 1.5rem !important;
  }
  .mt-xl-5 {
    margin-top: 3rem !important;
  }
  .mt-xl-auto {
    margin-top: auto !important;
  }
  .me-xl-0 {
    margin-right: 0 !important;
  }
  .me-xl-1 {
    margin-right: 0.25rem !important;
  }
  .me-xl-2 {
    margin-right: 0.5rem !important;
  }
  .me-xl-3 {
    margin-right: 1rem !important;
  }
  .me-xl-4 {
    margin-right: 1.5rem !important;
  }
  .me-xl-5 {
    margin-right: 3rem !important;
  }
  .me-xl-auto {
    margin-right: auto !important;
  }
  .mb-xl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xl-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-xl-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-xl-3 {
    margin-bottom: 1rem !important;
  }
  .mb-xl-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-xl-5 {
    margin-bottom: 3rem !important;
  }
  .mb-xl-auto {
    margin-bottom: auto !important;
  }
  .ms-xl-0 {
    margin-left: 0 !important;
  }
  .ms-xl-1 {
    margin-left: 0.25rem !important;
  }
  .ms-xl-2 {
    margin-left: 0.5rem !important;
  }
  .ms-xl-3 {
    margin-left: 1rem !important;
  }
  .ms-xl-4 {
    margin-left: 1.5rem !important;
  }
  .ms-xl-5 {
    margin-left: 3rem !important;
  }
  .ms-xl-auto {
    margin-left: auto !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .p-xl-1 {
    padding: 0.25rem !important;
  }
  .p-xl-2 {
    padding: 0.5rem !important;
  }
  .p-xl-3 {
    padding: 1rem !important;
  }
  .p-xl-4 {
    padding: 1.5rem !important;
  }
  .p-xl-5 {
    padding: 3rem !important;
  }
  .px-xl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-xl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-xl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-xl-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-xl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-xl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-xl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-xl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-xl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-xl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-xl-0 {
    padding-top: 0 !important;
  }
  .pt-xl-1 {
    padding-top: 0.25rem !important;
  }
  .pt-xl-2 {
    padding-top: 0.5rem !important;
  }
  .pt-xl-3 {
    padding-top: 1rem !important;
  }
  .pt-xl-4 {
    padding-top: 1.5rem !important;
  }
  .pt-xl-5 {
    padding-top: 3rem !important;
  }
  .pe-xl-0 {
    padding-right: 0 !important;
  }
  .pe-xl-1 {
    padding-right: 0.25rem !important;
  }
  .pe-xl-2 {
    padding-right: 0.5rem !important;
  }
  .pe-xl-3 {
    padding-right: 1rem !important;
  }
  .pe-xl-4 {
    padding-right: 1.5rem !important;
  }
  .pe-xl-5 {
    padding-right: 3rem !important;
  }
  .pb-xl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-xl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-xl-3 {
    padding-bottom: 1rem !important;
  }
  .pb-xl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-xl-5 {
    padding-bottom: 3rem !important;
  }
  .ps-xl-0 {
    padding-left: 0 !important;
  }
  .ps-xl-1 {
    padding-left: 0.25rem !important;
  }
  .ps-xl-2 {
    padding-left: 0.5rem !important;
  }
  .ps-xl-3 {
    padding-left: 1rem !important;
  }
  .ps-xl-4 {
    padding-left: 1.5rem !important;
  }
  .ps-xl-5 {
    padding-left: 3rem !important;
  }
}
@media (min-width: 1400px) {
  .d-xxl-inline {
    display: inline !important;
  }
  .d-xxl-inline-block {
    display: inline-block !important;
  }
  .d-xxl-block {
    display: block !important;
  }
  .d-xxl-grid {
    display: grid !important;
  }
  .d-xxl-table {
    display: table !important;
  }
  .d-xxl-table-row {
    display: table-row !important;
  }
  .d-xxl-table-cell {
    display: table-cell !important;
  }
  .d-xxl-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .d-xxl-inline-flex {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
  .d-xxl-none {
    display: none !important;
  }
  .flex-xxl-fill {
    -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 auto !important;
            flex: 1 1 auto !important;
  }
  .flex-xxl-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important;
  }
  .flex-xxl-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }
  .flex-xxl-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: row-reverse !important;
            flex-direction: row-reverse !important;
  }
  .flex-xxl-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important;
  }
  .flex-xxl-grow-0 {
    -webkit-box-flex: 0 !important;
        -ms-flex-positive: 0 !important;
            flex-grow: 0 !important;
  }
  .flex-xxl-grow-1 {
    -webkit-box-flex: 1 !important;
        -ms-flex-positive: 1 !important;
            flex-grow: 1 !important;
  }
  .flex-xxl-shrink-0 {
    -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important;
  }
  .flex-xxl-shrink-1 {
    -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important;
  }
  .flex-xxl-wrap {
    -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
  }
  .flex-xxl-nowrap {
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
  }
  .flex-xxl-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important;
  }
  .justify-content-xxl-start {
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important;
  }
  .justify-content-xxl-end {
    -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
            justify-content: flex-end !important;
  }
  .justify-content-xxl-center {
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
  }
  .justify-content-xxl-between {
    -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
            justify-content: space-between !important;
  }
  .justify-content-xxl-around {
    -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
  }
  .justify-content-xxl-evenly {
    -webkit-box-pack: space-evenly !important;
        -ms-flex-pack: space-evenly !important;
            justify-content: space-evenly !important;
  }
  .align-items-xxl-start {
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important;
  }
  .align-items-xxl-end {
    -webkit-box-align: end !important;
        -ms-flex-align: end !important;
            align-items: flex-end !important;
  }
  .align-items-xxl-center {
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
  }
  .align-items-xxl-baseline {
    -webkit-box-align: baseline !important;
        -ms-flex-align: baseline !important;
            align-items: baseline !important;
  }
  .align-items-xxl-stretch {
    -webkit-box-align: stretch !important;
        -ms-flex-align: stretch !important;
            align-items: stretch !important;
  }
  .align-content-xxl-start {
    -ms-flex-line-pack: start !important;
        align-content: flex-start !important;
  }
  .align-content-xxl-end {
    -ms-flex-line-pack: end !important;
        align-content: flex-end !important;
  }
  .align-content-xxl-center {
    -ms-flex-line-pack: center !important;
        align-content: center !important;
  }
  .align-content-xxl-between {
    -ms-flex-line-pack: justify !important;
        align-content: space-between !important;
  }
  .align-content-xxl-around {
    -ms-flex-line-pack: distribute !important;
        align-content: space-around !important;
  }
  .align-content-xxl-stretch {
    -ms-flex-line-pack: stretch !important;
        align-content: stretch !important;
  }
  .align-self-xxl-auto {
    -ms-flex-item-align: auto !important;
        align-self: auto !important;
  }
  .align-self-xxl-start {
    -ms-flex-item-align: start !important;
        align-self: flex-start !important;
  }
  .align-self-xxl-end {
    -ms-flex-item-align: end !important;
        align-self: flex-end !important;
  }
  .align-self-xxl-center {
    -ms-flex-item-align: center !important;
        align-self: center !important;
  }
  .align-self-xxl-baseline {
    -ms-flex-item-align: baseline !important;
        align-self: baseline !important;
  }
  .align-self-xxl-stretch {
    -ms-flex-item-align: stretch !important;
        align-self: stretch !important;
  }
  .order-xxl-first {
    -webkit-box-ordinal-group: 0 !important;
        -ms-flex-order: -1 !important;
            order: -1 !important;
  }
  .order-xxl-0 {
    -webkit-box-ordinal-group: 1 !important;
        -ms-flex-order: 0 !important;
            order: 0 !important;
  }
  .order-xxl-1 {
    -webkit-box-ordinal-group: 2 !important;
        -ms-flex-order: 1 !important;
            order: 1 !important;
  }
  .order-xxl-2 {
    -webkit-box-ordinal-group: 3 !important;
        -ms-flex-order: 2 !important;
            order: 2 !important;
  }
  .order-xxl-3 {
    -webkit-box-ordinal-group: 4 !important;
        -ms-flex-order: 3 !important;
            order: 3 !important;
  }
  .order-xxl-4 {
    -webkit-box-ordinal-group: 5 !important;
        -ms-flex-order: 4 !important;
            order: 4 !important;
  }
  .order-xxl-5 {
    -webkit-box-ordinal-group: 6 !important;
        -ms-flex-order: 5 !important;
            order: 5 !important;
  }
  .order-xxl-last {
    -webkit-box-ordinal-group: 7 !important;
        -ms-flex-order: 6 !important;
            order: 6 !important;
  }
  .m-xxl-0 {
    margin: 0 !important;
  }
  .m-xxl-1 {
    margin: 0.25rem !important;
  }
  .m-xxl-2 {
    margin: 0.5rem !important;
  }
  .m-xxl-3 {
    margin: 1rem !important;
  }
  .m-xxl-4 {
    margin: 1.5rem !important;
  }
  .m-xxl-5 {
    margin: 3rem !important;
  }
  .m-xxl-auto {
    margin: auto !important;
  }
  .mx-xxl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xxl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-xxl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-xxl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-xxl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-xxl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-xxl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xxl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xxl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-xxl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-xxl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-xxl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-xxl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-xxl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xxl-0 {
    margin-top: 0 !important;
  }
  .mt-xxl-1 {
    margin-top: 0.25rem !important;
  }
  .mt-xxl-2 {
    margin-top: 0.5rem !important;
  }
  .mt-xxl-3 {
    margin-top: 1rem !important;
  }
  .mt-xxl-4 {
    margin-top: 1.5rem !important;
  }
  .mt-xxl-5 {
    margin-top: 3rem !important;
  }
  .mt-xxl-auto {
    margin-top: auto !important;
  }
  .me-xxl-0 {
    margin-right: 0 !important;
  }
  .me-xxl-1 {
    margin-right: 0.25rem !important;
  }
  .me-xxl-2 {
    margin-right: 0.5rem !important;
  }
  .me-xxl-3 {
    margin-right: 1rem !important;
  }
  .me-xxl-4 {
    margin-right: 1.5rem !important;
  }
  .me-xxl-5 {
    margin-right: 3rem !important;
  }
  .me-xxl-auto {
    margin-right: auto !important;
  }
  .mb-xxl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xxl-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-xxl-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-xxl-3 {
    margin-bottom: 1rem !important;
  }
  .mb-xxl-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-xxl-5 {
    margin-bottom: 3rem !important;
  }
  .mb-xxl-auto {
    margin-bottom: auto !important;
  }
  .ms-xxl-0 {
    margin-left: 0 !important;
  }
  .ms-xxl-1 {
    margin-left: 0.25rem !important;
  }
  .ms-xxl-2 {
    margin-left: 0.5rem !important;
  }
  .ms-xxl-3 {
    margin-left: 1rem !important;
  }
  .ms-xxl-4 {
    margin-left: 1.5rem !important;
  }
  .ms-xxl-5 {
    margin-left: 3rem !important;
  }
  .ms-xxl-auto {
    margin-left: auto !important;
  }
  .p-xxl-0 {
    padding: 0 !important;
  }
  .p-xxl-1 {
    padding: 0.25rem !important;
  }
  .p-xxl-2 {
    padding: 0.5rem !important;
  }
  .p-xxl-3 {
    padding: 1rem !important;
  }
  .p-xxl-4 {
    padding: 1.5rem !important;
  }
  .p-xxl-5 {
    padding: 3rem !important;
  }
  .px-xxl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xxl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-xxl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-xxl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-xxl-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-xxl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-xxl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xxl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-xxl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-xxl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-xxl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-xxl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-xxl-0 {
    padding-top: 0 !important;
  }
  .pt-xxl-1 {
    padding-top: 0.25rem !important;
  }
  .pt-xxl-2 {
    padding-top: 0.5rem !important;
  }
  .pt-xxl-3 {
    padding-top: 1rem !important;
  }
  .pt-xxl-4 {
    padding-top: 1.5rem !important;
  }
  .pt-xxl-5 {
    padding-top: 3rem !important;
  }
  .pe-xxl-0 {
    padding-right: 0 !important;
  }
  .pe-xxl-1 {
    padding-right: 0.25rem !important;
  }
  .pe-xxl-2 {
    padding-right: 0.5rem !important;
  }
  .pe-xxl-3 {
    padding-right: 1rem !important;
  }
  .pe-xxl-4 {
    padding-right: 1.5rem !important;
  }
  .pe-xxl-5 {
    padding-right: 3rem !important;
  }
  .pb-xxl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xxl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-xxl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-xxl-3 {
    padding-bottom: 1rem !important;
  }
  .pb-xxl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-xxl-5 {
    padding-bottom: 3rem !important;
  }
  .ps-xxl-0 {
    padding-left: 0 !important;
  }
  .ps-xxl-1 {
    padding-left: 0.25rem !important;
  }
  .ps-xxl-2 {
    padding-left: 0.5rem !important;
  }
  .ps-xxl-3 {
    padding-left: 1rem !important;
  }
  .ps-xxl-4 {
    padding-left: 1.5rem !important;
  }
  .ps-xxl-5 {
    padding-left: 3rem !important;
  }
}
@media print {
  .d-print-inline {
    display: inline !important;
  }
  .d-print-inline-block {
    display: inline-block !important;
  }
  .d-print-block {
    display: block !important;
  }
  .d-print-grid {
    display: grid !important;
  }
  .d-print-table {
    display: table !important;
  }
  .d-print-table-row {
    display: table-row !important;
  }
  .d-print-table-cell {
    display: table-cell !important;
  }
  .d-print-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .d-print-inline-flex {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
  .d-print-none {
    display: none !important;
  }
}
/*# sourceMappingURL=bootstrap-grid.css.map */
@-webkit-keyframes lum-fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes lum-fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes lum-fadeZoom {
  0% {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
    opacity: 0;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
@keyframes lum-fadeZoom {
  0% {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
    opacity: 0;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
@-webkit-keyframes lum-loader-rotate {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0);
            transform: translate(-50%, -50%) rotate(0);
  }
  50% {
    -webkit-transform: translate(-50%, -50%) rotate(-180deg);
            transform: translate(-50%, -50%) rotate(-180deg);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(-360deg);
            transform: translate(-50%, -50%) rotate(-360deg);
  }
}
@keyframes lum-loader-rotate {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0);
            transform: translate(-50%, -50%) rotate(0);
  }
  50% {
    -webkit-transform: translate(-50%, -50%) rotate(-180deg);
            transform: translate(-50%, -50%) rotate(-180deg);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(-360deg);
            transform: translate(-50%, -50%) rotate(-360deg);
  }
}
@-webkit-keyframes lum-loader-before {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  10% {
    -webkit-transform: scale(1.2) translateX(6px);
            transform: scale(1.2) translateX(6px);
  }
  25% {
    -webkit-transform: scale(1.3) translateX(8px);
            transform: scale(1.3) translateX(8px);
  }
  40% {
    -webkit-transform: scale(1.2) translateX(6px);
            transform: scale(1.2) translateX(6px);
  }
  50% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  60% {
    -webkit-transform: scale(0.8) translateX(6px);
            transform: scale(0.8) translateX(6px);
  }
  75% {
    -webkit-transform: scale(0.7) translateX(8px);
            transform: scale(0.7) translateX(8px);
  }
  90% {
    -webkit-transform: scale(0.8) translateX(6px);
            transform: scale(0.8) translateX(6px);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes lum-loader-before {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  10% {
    -webkit-transform: scale(1.2) translateX(6px);
            transform: scale(1.2) translateX(6px);
  }
  25% {
    -webkit-transform: scale(1.3) translateX(8px);
            transform: scale(1.3) translateX(8px);
  }
  40% {
    -webkit-transform: scale(1.2) translateX(6px);
            transform: scale(1.2) translateX(6px);
  }
  50% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  60% {
    -webkit-transform: scale(0.8) translateX(6px);
            transform: scale(0.8) translateX(6px);
  }
  75% {
    -webkit-transform: scale(0.7) translateX(8px);
            transform: scale(0.7) translateX(8px);
  }
  90% {
    -webkit-transform: scale(0.8) translateX(6px);
            transform: scale(0.8) translateX(6px);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@-webkit-keyframes lum-loader-after {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  10% {
    -webkit-transform: scale(1.2) translateX(-6px);
            transform: scale(1.2) translateX(-6px);
  }
  25% {
    -webkit-transform: scale(1.3) translateX(-8px);
            transform: scale(1.3) translateX(-8px);
  }
  40% {
    -webkit-transform: scale(1.2) translateX(-6px);
            transform: scale(1.2) translateX(-6px);
  }
  50% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  60% {
    -webkit-transform: scale(0.8) translateX(-6px);
            transform: scale(0.8) translateX(-6px);
  }
  75% {
    -webkit-transform: scale(0.7) translateX(-8px);
            transform: scale(0.7) translateX(-8px);
  }
  90% {
    -webkit-transform: scale(0.8) translateX(-6px);
            transform: scale(0.8) translateX(-6px);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes lum-loader-after {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  10% {
    -webkit-transform: scale(1.2) translateX(-6px);
            transform: scale(1.2) translateX(-6px);
  }
  25% {
    -webkit-transform: scale(1.3) translateX(-8px);
            transform: scale(1.3) translateX(-8px);
  }
  40% {
    -webkit-transform: scale(1.2) translateX(-6px);
            transform: scale(1.2) translateX(-6px);
  }
  50% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  60% {
    -webkit-transform: scale(0.8) translateX(-6px);
            transform: scale(0.8) translateX(-6px);
  }
  75% {
    -webkit-transform: scale(0.7) translateX(-8px);
            transform: scale(0.7) translateX(-8px);
  }
  90% {
    -webkit-transform: scale(0.8) translateX(-6px);
            transform: scale(0.8) translateX(-6px);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
.lum-lightbox {
  background: rgba(0, 0, 0, 0.6);
}

.lum-lightbox-inner {
  top: 2.5%;
  right: 2.5%;
  bottom: 2.5%;
  left: 2.5%;
}

.lum-lightbox-inner img {
  position: relative;
}

.lum-lightbox-inner .lum-lightbox-caption {
  margin: 0 auto;
  color: #fff;
  max-width: 90%;
  text-align: center;
}

.lum-loading .lum-lightbox-loader {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 66px;
  height: 20px;
  -webkit-animation: lum-loader-rotate 1800ms infinite linear;
          animation: lum-loader-rotate 1800ms infinite linear;
}

.lum-lightbox-loader:before,
.lum-lightbox-loader:after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  margin-top: -10px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.9);
}

.lum-lightbox-loader:before {
  left: 0;
  -webkit-animation: lum-loader-before 1800ms infinite linear;
          animation: lum-loader-before 1800ms infinite linear;
}

.lum-lightbox-loader:after {
  right: 0;
  -webkit-animation: lum-loader-after 1800ms infinite linear;
          animation: lum-loader-after 1800ms infinite linear;
  -webkit-animation-delay: -900ms;
          animation-delay: -900ms;
}

.lum-lightbox.lum-opening {
  -webkit-animation: lum-fade 180ms ease-out;
          animation: lum-fade 180ms ease-out;
}

.lum-lightbox.lum-opening .lum-lightbox-inner {
  -webkit-animation: lum-fadeZoom 180ms ease-out;
          animation: lum-fadeZoom 180ms ease-out;
}

.lum-lightbox.lum-closing {
  -webkit-animation: lum-fade 300ms ease-in;
          animation: lum-fade 300ms ease-in;
  animation-direction: reverse;
}

.lum-lightbox.lum-closing .lum-lightbox-inner {
  -webkit-animation: lum-fadeZoom 300ms ease-in;
          animation: lum-fadeZoom 300ms ease-in;
  animation-direction: reverse;
}

.lum-img {
  -webkit-transition: opacity 120ms ease-out;
  transition: opacity 120ms ease-out;
}

.lum-loading .lum-img {
  opacity: 0;
}

.lum-gallery-button {
  overflow: hidden;
  text-indent: 150%;
  white-space: nowrap;
  background: transparent;
  border: 0;
  margin: 0;
  padding: 0;
  outline: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  height: 100px;
  max-height: 100%;
  width: 60px;
  cursor: pointer;
}

.lum-close-button {
  position: absolute;
  right: 5px;
  top: 5px;
  width: 32px;
  height: 32px;
  opacity: 0.3;
}

.lum-close-button:hover {
  opacity: 1;
}

.lum-close-button:before,
.lum-close-button:after {
  position: absolute;
  left: 15px;
  content: " ";
  height: 33px;
  width: 2px;
  background-color: #fff;
}

.lum-close-button:before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.lum-close-button:after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.lum-previous-button {
  left: 12px;
}

.lum-next-button {
  right: 12px;
}

.lum-gallery-button:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  width: 36px;
  height: 36px;
  border-top: 4px solid rgba(255, 255, 255, 0.8);
}

.lum-previous-button:after {
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
  border-left: 4px solid rgba(255, 255, 255, 0.8);
  -webkit-box-shadow: -2px 0 rgba(0, 0, 0, 0.2);
          box-shadow: -2px 0 rgba(0, 0, 0, 0.2);
  left: 12%;
  border-radius: 3px 0 0 0;
}

.lum-next-button:after {
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
  border-right: 4px solid rgba(255, 255, 255, 0.8);
  -webkit-box-shadow: 2px 0 rgba(0, 0, 0, 0.2);
          box-shadow: 2px 0 rgba(0, 0, 0, 0.2);
  right: 12%;
  border-radius: 0 3px 0 0;
}

/* This media query makes screens less than 460px wide display in a "fullscreen"-esque mode. Users can then scroll around inside the lightbox to see the entire image. */
@media (max-width: 460px) {
  .lum-lightbox-image-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
  .lum-lightbox-caption {
    width: 100%;
    position: absolute;
    bottom: 0;
  }
  /* Used to centre the image in the container, respecting overflow: https://stackoverflow.com/a/33455342/515634 */
  .lum-lightbox-position-helper {
    margin: auto;
  }
  .lum-lightbox-inner img {
    max-width: none;
    max-height: none;
  }
}
.lum-lightbox {
  z-index: 999;
}

@media (max-width: 460px) {
  .lum-lightbox-inner img {
    max-width: 150vw; /* 好きなサイズ感で */
    max-height: 88vh; /* 90vhだと数pxだけ上下にスクロールできてしまうためこのサイズ */
    /* display: block;  を追加すると max-height: 92vh くらいでも大丈夫 */
  }
  　 .lum-gallery-button:after {
    width: 6vw;
    height: 6vw;
  }
}
/**
 * Swiper 8.2.4
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2022 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: June 13, 2022
 */
@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color:#007aff;
}

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

.swiper-vertical > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}

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

.swiper-pointer-events {
  -ms-touch-action: pan-y;
      touch-action: pan-y;
}

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

.swiper-slide {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
}

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

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

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

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

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

.swiper-3d .swiper-cube-shadow, .swiper-3d .swiper-slide, .swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top, .swiper-3d .swiper-wrapper {
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
}

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

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

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

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

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

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

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

.swiper-centered > .swiper-wrapper::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-ordinal-group: 10000;
      -ms-flex-order: 9999;
          order: 9999;
}

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

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

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

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

.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
}

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

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

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

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

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

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

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

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

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

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

.swiper-button-prev, .swiper-rtl .swiper-button-next {
  left: 10px;
  right: auto;
}

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

.swiper-button-next, .swiper-rtl .swiper-button-prev {
  right: 10px;
  left: auto;
}

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

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

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

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

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

.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: 10px;
  left: 0;
  width: 100%;
}

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

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transform: scale(0.33);
          transform: scale(0.33);
  position: relative;
}

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

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  -webkit-transform: scale(1);
          transform: scale(1);
}

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

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

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

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

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: 50%;
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet:only-child {
  display: none !important;
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-pagination-vertical.swiper-pagination-bullets, .swiper-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  -webkit-transform: translate3d(0px, -50%, 0);
          transform: translate3d(0px, -50%, 0);
}

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

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

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  -webkit-transition: 0.2s top, 0.2s -webkit-transform;
  transition: 0.2s top, 0.2s -webkit-transform;
  transition: 0.2s transform, 0.2s top;
  transition: 0.2s transform, 0.2s top, 0.2s -webkit-transform;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  white-space: nowrap;
}

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

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

.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transform-origin: left top;
          transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  -webkit-transform-origin: right top;
          transform-origin: right top;
}

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

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

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

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

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

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

.swiper-scrollbar.swiper-scrollbar-vertical, .swiper-vertical > .swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%;
}

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

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

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

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

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

.swiper-slide-zoomed {
  cursor: move;
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  -webkit-transform-origin: 50%;
          transform-origin: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

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

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

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

@-webkit-keyframes swiper-preloader-spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes swiper-preloader-spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

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

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

.swiper-grid-column > .swiper-wrapper {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

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

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

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

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

.swiper-cube {
  overflow: visible;
}

.swiper-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  -webkit-transform-origin: 0 0;
          transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

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

.swiper-cube.swiper-rtl .swiper-slide {
  -webkit-transform-origin: 100% 0;
          transform-origin: 100% 0;
}

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

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-next, .swiper-cube .swiper-slide-next + .swiper-slide, .swiper-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}

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

.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  z-index: 0;
}

.swiper-cube .swiper-cube-shadow:before {
  content: "";
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  -webkit-filter: blur(50px);
          filter: blur(50px);
}

.swiper-flip {
  overflow: visible;
}

.swiper-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
}

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

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

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

.swiper-creative .swiper-slide {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
  -webkit-transition-property: opacity, height, -webkit-transform;
  transition-property: opacity, height, -webkit-transform;
  transition-property: transform, opacity, height;
  transition-property: transform, opacity, height, -webkit-transform;
}

.swiper-cards {
  overflow: visible;
}

.swiper-cards .swiper-slide {
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
}

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

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

.swiper-vertical > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}

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

.swiper-pointer-events {
  -ms-touch-action: pan-y;
      touch-action: pan-y;
}

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

.swiper-slide {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
}

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

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

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

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

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

.swiper-3d .swiper-cube-shadow, .swiper-3d .swiper-slide, .swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top, .swiper-3d .swiper-wrapper {
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
}

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

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

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

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

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

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

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

.swiper-centered > .swiper-wrapper::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-ordinal-group: 10000;
      -ms-flex-order: 9999;
          order: 9999;
}

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

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

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

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

.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
}

#footer {
  clear: both;
}

.footer {
  padding: 0;
}

/* =========================================================
   Footer
   ========================================================= */
.footer {
  padding: 70px 0 44px;
  background: var(--bg);
  color: var(--navy);
}

.footer .container {
  width: min(var(--content-w), 100% - 160px);
} /* 左右80pxずつの余白 */
/* ---------- 上段：ロゴ・住所 ／ ナビ ---------- */
.footer__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 48px;
  padding-bottom: 50px;
  border-bottom: 1px solid var(--pale);
}

.footer__logo {
  height: 40px;
  width: auto;
}

.footer__group {
  margin-top: 10px;
  font-size: 13px;
  letter-spacing: 0.06em;
}

/* 「本社」タグ＋社名を横並びに */
.footer__office {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  margin-top: 30px;
}

.footer__company {
  font-size: 13px;
  color: var(--blue);
  letter-spacing: 0.04em;
}

.footer__tag {
  display: inline-block;
  padding: 1px 9px;
  font-size: 11px;
  color: var(--blue);
  border: 1px solid var(--blue);
}

.footer__addr {
  margin-top: 12px;
  font-style: normal;
  font-size: 12px;
  line-height: 1.7;
  color: var(--blue);
}

.footer__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 52px;
  padding-top: 4px;
}

.footer__nav dt {
  font-family: var(--en);
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: 0.12em;
  color: var(--blue);
  margin-bottom: 18px;
}

.footer__nav dt.mt {
  margin-top: 42px;
}

.footer__nav dd {
  font-size: 13px;
  line-height: 1.6;
  margin-bottom: 7px;
}

.footer__nav a, .footer__addr a, .footer__group-list a {
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}

.footer__nav a:hover, .footer__addr a:hover, .footer__group-list a:hover {
  color: var(--blue);
}

/* ---------- 中段：グループ会社（左にラベル、右に2列） ---------- */
.footer__group-list {
  margin-top: 44px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0;
}

.footer__label {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 320px;
  padding-top: 9px;
  font-family: var(--en);
  font-size: 13px;
  letter-spacing: 0.3em;
  color: var(--blue);
  white-space: nowrap;
}

.footer__group-list ul {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: repeat(4, auto);
  grid-auto-flow: column;
  -webkit-column-gap: 50px;
     -moz-column-gap: 50px;
          column-gap: 50px;
}

.footer__group-list a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  padding: 12px 0 14px;
  font-size: 13px;
  border-bottom: 1px solid var(--pale);
}

.footer__group-list .arrow--diagonal {
  width: 12px;
  height: 8px;
}

/* ---------- 下段：コピーライト ／ PAGE TOP ---------- */
.footer__bottom {
  margin-top: 64px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
}

.footer__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 28px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.footer__bottom small {
  font-size: 12px;
  color: var(--gray);
  letter-spacing: 0.04em;
}

.footer__privacy {
  font-size: 12px;
  color: var(--gray);
  letter-spacing: 0.04em;
}

.footer__privacy:hover {
  color: var(--blue);
}

.pagetop {
  width: 13em;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 18px;
  padding: 6px 1em 6px 1.25em;
  border: 1px solid var(--blue);
  border-radius: 100px;
  font-size: 13px;
  letter-spacing: 0.04em;
  color: var(--blue);
  -webkit-transition: background 0.3s, color 0.3s;
  transition: background 0.3s, color 0.3s;
}
@media print, screen and (min-width: 559px) {
  .pagetop {
    width: auto;
  }
}

.pagetop .arrow {
  margin-left: 0;
}

.pagetop:hover {
  background: var(--blue);
  color: var(--white);
}

@media (max-width: 1100px) {
  .footer__label {
    width: 200px;
  }
}
@media (max-width: 900px) {
  .footer {
    padding-top: 56px;
  }
  .footer .container {
    width: calc(100% - 32px);
  }
  .footer__top {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 40px;
    padding-bottom: 40px;
  }
  .footer__logo {
    height: 34px;
  }
  .footer__nav {
    gap: 28px 40px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .footer__group-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8px;
    margin-top: 36px;
  }
  .footer__label {
    width: auto;
    padding-top: 0;
  }
  .footer__group-list ul {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    grid-auto-flow: row;
  }
  .footer__bottom {
    margin-top: 48px;
  }
}
@media (max-width: 560px) {
  .footer__logo {
    display: block;
    margin-inline: auto;
  } /* フッターのロゴと日本語表記だけ中央揃え */
  .footer__group {
    text-align: center;
  }
  .footer__office {
    margin-top: 40px;
  } /* ロゴまわりと本社情報の間を広げる（30→40px） */
  .footer__hq {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
  } /* 本社情報：文字は左揃えのまま、ブロックごと中央に */
  .footer__addr br.sp-only {
    display: inline;
  } /* 住所は番地の後で改行し、ブロック幅を縮めて中央揃えを見せる */
  .footer__nav {
    display: grid;
    grid-template-columns: auto auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
  } /* リンクナビ：2列のままブロックごと中央に（左右の余白をそろえる） */
  .footer__nav br.sp-only {
    display: inline;
  }
  .footer__nav dd.is-2line {
    line-height: 1.3;
  } /* 2行に分けたリンクは行間を詰め、1つのリンクに見えるように */
  .footer__nav dd {
    margin-bottom: 12px;
  } /* リンク同士の間隔：7→12px */
  .footer__nav {
    -webkit-column-gap: 56px;
       -moz-column-gap: 56px;
            column-gap: 56px;
  } /* 2列の間隔：40→56px */
  .footer__group-list a {
    font-size: 12px;
  } /* GROUP COMPANIESのリスト：13→12px */
  .footer__bottom small {
    font-size: 10px;
  } /* コピーライト：12→10px */
}
/* =========================================================
   Base
   ========================================================= */
*, *::before, *::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  font-family: var(--sans);
  color: var(--navy);
  background: var(--white);
  line-height: 1.8;
  letter-spacing: 0.04em;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

img, video {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

ul, dl, dd {
  margin: 0;
  padding: 0;
  list-style: none;
}

h1, h2, h3, p {
  margin: 0;
}

button {
  font: inherit;
  color: inherit;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
}

.container {
  width: min(var(--content-w), 100% - 64px);
  max-width: none;
  margin-inline: auto;
  padding-right: 0;
  padding-left: 0;
}

.center {
  text-align: center;
}

/* ---------- section heading ---------- */
.sec-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  font-family: var(--en);
  font-size: clamp(15px, 1.39vw, 20px);
  letter-spacing: 0.4em;
  color: var(--blue);
  margin-bottom: 20px;
}

.sec-label::before {
  content: "";
  width: 32px;
  height: 1px;
  background: currentColor;
}

.sec-label span {
  font-family: var(--sans);
  font-size: clamp(12px, 1.1vw, 15px);
  letter-spacing: 0.1em;
  white-space: nowrap;
}

.sec-label--light {
  color: var(--pale);
}

.sec-label--center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.sec-title {
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(24px, 2.6vw, 40px);
  line-height: 1.7;
  letter-spacing: 0;
}

.sec-title--center {
  text-align: center;
}

/* 見出しの改行位置：狭い画面でも語の途中で折り返さず、文節（.phrase）の切れ目でだけ改行する */
.phrase {
  display: inline-block;
}

/* スマホだけの改行（PCでは非表示。スマホ用の指定で表示する） */
br.sp-only {
  display: none;
}

.sec-lead {
  margin-top: 28px;
  font-size: 14px;
  color: var(--gray);
  line-height: 2;
}

/* ---------- fade-in ---------- */
.js .js-fade {
  opacity: 0;
  -webkit-transform: translateY(24px);
          transform: translateY(24px);
  -webkit-transition: opacity 1s var(--ease), -webkit-transform 1s var(--ease);
  transition: opacity 1s var(--ease), -webkit-transform 1s var(--ease);
  transition: opacity 1s var(--ease), transform 1s var(--ease);
  transition: opacity 1s var(--ease), transform 1s var(--ease), -webkit-transform 1s var(--ease);
}

.js .js-fade.is-in {
  opacity: 1;
  -webkit-transform: none;
          transform: none;
}

/* =========================================================
   Strength
   ========================================================= */
.strength {
  padding: 140px 0 150px;
  background: var(--white);
  position: relative;
  z-index: 1;
}

.strength .container {
  width: min(var(--content-w), 100% - 160px);
} /* 左右80pxずつの余白 */
.strength__list {
  margin-top: 40px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 48px;
}

/* 上にイラスト用の余白 → 番号 → 英字見出し → 小見出し → 本文。イラストは右上に大きく置き、文字の背面に重ねる */
.strength__item {
  position: relative;
  padding-top: min(115px, 40%);
} /* イラストの高さ（幅の80%・最大230px）の半分。％は段の幅が基準 */
.strength__head {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 12px; /* HTMLは 見出し→番号 の順なので、表示は 番号→見出し に入れ替え */
}

.strength__head h3 {
  font-family: var(--en);
  font-weight: 400;
  font-size: clamp(22px, 2.4vw, 34px);
  line-height: 1;
  letter-spacing: 0.16em;
  color: var(--blue);
}

.strength__head span {
  font-family: var(--en);
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.04em;
  color: var(--blue);
}

.strength__body {
  padding-top: 30px;
}

.strength__icon {
  position: absolute;
  z-index: 0;
  right: 0;
  top: 0;
  width: 80%;
  max-width: 230px;
  pointer-events: none;
}

.strength__catch {
  position: relative;
  font-family: var(--heading);
  font-weight: 500;
  font-size: clamp(17px, 1.46vw, 21px);
  line-height: 1.75;
  letter-spacing: 0.06em;
}

.strength__text {
  position: relative;
  margin-top: 22px;
  font-family: var(--sans);
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.04em;
  color: var(--navy); /* #18354A */
}

/* ---------- STRENGTH アイコン（インラインSVG）のアニメーション ----------
   画面に入ると（.is-in）線が描き起こされ、そのあと各テーマに合わせた動きがループする。
   初期状態（非表示など）は .js があるときだけ適用し、JSが動かない環境でも完成形が見えるようにしている */
.strength__icon {
  display: block;
  height: auto;
  aspect-ratio: 1;
  overflow: visible;
}

.strength__icon * {
  transform-box: view-box;
  -webkit-transform-origin: var(--o, 500px 500px);
          transform-origin: var(--o, 500px 500px);
}

/* 共通：線を描き起こす（pathLength="1" の要素）／塗り・点線はふわっと出す */
.js .strength__icon .draw {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
}

.strength__icon.is-in .draw {
  -webkit-animation: si-draw 1.4s cubic-bezier(0.45, 0, 0.2, 1) var(--d, 0s) forwards;
          animation: si-draw 1.4s cubic-bezier(0.45, 0, 0.2, 1) var(--d, 0s) forwards;
}

.js .strength__icon .fade {
  opacity: 0;
}

.strength__icon.is-in .fade {
  -webkit-animation: si-fade 0.9s ease var(--d, 0s) forwards;
          animation: si-fade 0.9s ease var(--d, 0s) forwards;
}

@-webkit-keyframes si-draw {
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes si-draw {
  to {
    stroke-dashoffset: 0;
  }
}
@-webkit-keyframes si-fade {
  to {
    opacity: 1;
  }
}
@keyframes si-fade {
  to {
    opacity: 1;
  }
}
@-webkit-keyframes si-spin {
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes si-spin {
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@-webkit-keyframes si-breathe {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.55;
  }
}
@keyframes si-breathe {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.55;
  }
}
/* 01 KNOW：虫眼鏡を囲む点線の輪がゆっくり回り、十字が鼓動のように脈打つ（虫眼鏡本体は動かさない） */
.strength__icon.is-in .k-orbit {
  -webkit-animation: si-fade 0.9s ease forwards, si-spin 28s linear 1s infinite;
          animation: si-fade 0.9s ease forwards, si-spin 28s linear 1s infinite;
}

.strength__icon.is-in .k-cross {
  -webkit-animation: si-draw 1.4s cubic-bezier(0.45, 0, 0.2, 1) 0.5s forwards, si-beat 1.4s ease-in-out 2s infinite;
          animation: si-draw 1.4s cubic-bezier(0.45, 0, 0.2, 1) 0.5s forwards, si-beat 1.4s ease-in-out 2s infinite;
}

.strength__icon.is-in .k-glow {
  -webkit-animation: si-fade 0.9s ease 0.3s forwards, si-breathe 2.8s ease-in-out 2s infinite;
          animation: si-fade 0.9s ease 0.3s forwards, si-breathe 2.8s ease-in-out 2s infinite;
}

@-webkit-keyframes si-beat {
  0%, 40%, 100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  15% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  28% {
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
  }
}

@keyframes si-beat {
  0%, 40%, 100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  15% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  28% {
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
  }
}
/* 02 MOBILIZE：周りの点から中心へ矢印が順番に伸びて集まり、中心の円が小さく脈打つ */
.js .strength__icon .m-flow {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
}

.js .strength__icon .m-head {
  opacity: 0;
}

.strength__icon.is-in .m-orbit {
  animation: si-fade 0.9s ease forwards, si-spin 36s linear 1s infinite reverse;
}

.strength__icon.is-in .m-flow {
  -webkit-animation: si-flow 3.6s cubic-bezier(0.45, 0, 0.2, 1) var(--d) infinite;
          animation: si-flow 3.6s cubic-bezier(0.45, 0, 0.2, 1) var(--d) infinite;
}

.strength__icon.is-in .m-head {
  -webkit-animation: si-head 3.6s ease var(--d) infinite;
          animation: si-head 3.6s ease var(--d) infinite;
}

.strength__icon.is-in .m-node {
  -webkit-animation: si-fade 0.6s ease var(--d0, 0s) forwards, si-node 3.6s ease-in-out var(--d) infinite;
          animation: si-fade 0.6s ease var(--d0, 0s) forwards, si-node 3.6s ease-in-out var(--d) infinite;
}

.strength__icon.is-in .m-dot {
  -webkit-animation: si-fade 0.6s ease var(--d0, 0s) forwards;
          animation: si-fade 0.6s ease var(--d0, 0s) forwards;
}

.strength__icon.is-in .m-core {
  -webkit-animation: si-draw 1.2s ease forwards, si-core 1.2s ease-in-out 1.2s infinite;
          animation: si-draw 1.2s ease forwards, si-core 1.2s ease-in-out 1.2s infinite;
}

@-webkit-keyframes si-flow {
  0% {
    stroke-dashoffset: 1;
    opacity: 1;
  }
  35%, 75% {
    stroke-dashoffset: 0;
    opacity: 1;
  }
  100% {
    stroke-dashoffset: 0;
    opacity: 0;
  }
}

@keyframes si-flow {
  0% {
    stroke-dashoffset: 1;
    opacity: 1;
  }
  35%, 75% {
    stroke-dashoffset: 0;
    opacity: 1;
  }
  100% {
    stroke-dashoffset: 0;
    opacity: 0;
  }
}
@-webkit-keyframes si-head {
  0%, 30% {
    opacity: 0;
  }
  38%, 75% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes si-head {
  0%, 30% {
    opacity: 0;
  }
  38%, 75% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes si-node {
  0%, 100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  20% {
    -webkit-transform: scale(0.92);
            transform: scale(0.92);
  }
}
@keyframes si-node {
  0%, 100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  20% {
    -webkit-transform: scale(0.92);
            transform: scale(0.92);
  }
}
@-webkit-keyframes si-core {
  0%, 100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.07);
            transform: scale(1.07);
  }
}
@keyframes si-core {
  0%, 100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.07);
            transform: scale(1.07);
  }
}
/* 03 CREATE：電球が描かれたあと明かりが灯り、光の線が短い間隔でまたたく。外側の点線は流れ続ける */
.js .strength__icon .c-rays, .js .strength__icon .c-glow {
  opacity: 0;
}

.strength__icon.is-in .c-orbit {
  -webkit-animation: si-fade 0.9s ease forwards, si-dots 2.4s linear 1s infinite;
          animation: si-fade 0.9s ease forwards, si-dots 2.4s linear 1s infinite;
}

.strength__icon.is-in .c-rays {
  -webkit-animation: si-rays 1.2s ease-in-out 1.6s infinite;
          animation: si-rays 1.2s ease-in-out 1.6s infinite;
}

.strength__icon.is-in .c-glow {
  -webkit-animation: si-glow 2.4s ease-in-out 1.4s infinite;
          animation: si-glow 2.4s ease-in-out 1.4s infinite;
}

@-webkit-keyframes si-dots {
  to {
    stroke-dashoffset: -89.36;
  }
}

@keyframes si-dots {
  to {
    stroke-dashoffset: -89.36;
  }
}
@-webkit-keyframes si-rays {
  0%, 100% {
    opacity: 0.25;
    -webkit-transform: scale(0.97);
            transform: scale(0.97);
  }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.02);
            transform: scale(1.02);
  }
}
@keyframes si-rays {
  0%, 100% {
    opacity: 0.25;
    -webkit-transform: scale(0.97);
            transform: scale(0.97);
  }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.02);
            transform: scale(1.02);
  }
}
@-webkit-keyframes si-glow {
  0%, 100% {
    opacity: 0.55;
    -webkit-transform: scale(0.92);
            transform: scale(0.92);
  }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.04);
            transform: scale(1.04);
  }
}
@keyframes si-glow {
  0%, 100% {
    opacity: 0.55;
    -webkit-transform: scale(0.92);
            transform: scale(0.92);
  }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.04);
            transform: scale(1.04);
  }
}
/* 04 CONNECT：3人を囲む円が順番に、線をなぞるように消えてはまた点く。周りの点線の輪がゆっくり回る */
.js .strength__icon .n-person {
  opacity: 0;
}

.strength__icon .n-ring {
  stroke-dasharray: 1 1;
  stroke-dashoffset: 0;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
} /* 12時の位置から */
.strength__icon.is-in .n-orbit {
  -webkit-animation: si-fade 0.9s ease forwards, si-spin 40s linear 1s infinite;
          animation: si-fade 0.9s ease forwards, si-spin 40s linear 1s infinite;
}

.strength__icon.is-in .n-core {
  -webkit-animation: si-fade 0.9s ease 0.3s forwards, si-breathe 3s ease-in-out 1.6s infinite;
          animation: si-fade 0.9s ease 0.3s forwards, si-breathe 3s ease-in-out 1.6s infinite;
}

.strength__icon.is-in .n-person {
  -webkit-animation: si-pop 0.7s cubic-bezier(0.3, 1.4, 0.5, 1) var(--d0) forwards;
          animation: si-pop 0.7s cubic-bezier(0.3, 1.4, 0.5, 1) var(--d0) forwards;
}

.strength__icon.is-in .n-ring {
  -webkit-animation: si-trace 4.8s cubic-bezier(0.45, 0, 0.25, 1) var(--d) infinite;
          animation: si-trace 4.8s cubic-bezier(0.45, 0, 0.25, 1) var(--d) infinite;
}

@-webkit-keyframes si-pop {
  from {
    opacity: 0;
    -webkit-transform: scale(0.7);
            transform: scale(0.7);
  }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes si-pop {
  from {
    opacity: 0;
    -webkit-transform: scale(0.7);
            transform: scale(0.7);
  }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@-webkit-keyframes si-trace {
  0%, 12% {
    stroke-dashoffset: 0;
  } /* 点いている */
  42%, 55% {
    stroke-dashoffset: -1;
  } /* なぞるように消える → 少し消えたまま */
  85%, 100% {
    stroke-dashoffset: -2;
  } /* なぞるように点く */
}
@keyframes si-trace {
  0%, 12% {
    stroke-dashoffset: 0;
  } /* 点いている */
  42%, 55% {
    stroke-dashoffset: -1;
  } /* なぞるように消える → 少し消えたまま */
  85%, 100% {
    stroke-dashoffset: -2;
  } /* なぞるように点く */
}
/* =========================================================
   Vision
   ========================================================= */
.vision {
  --origin-y: 100px; /* 発信の中心（大阪）をセクション上端から何pxに置くか */
  padding: 220px 0 130px; /* 上はアニメーションを見せる分、広めに */
  background: var(--blue);
  color: var(--white);
  position: relative;
  overflow: hidden;
}

.vision::after {
  content: "";
  position: absolute;
  right: -10%;
  top: -40%;
  width: 60vw;
  aspect-ratio: 1;
  border-radius: 50%;
  background: -webkit-radial-gradient(rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0) 65%);
  background: radial-gradient(rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0) 65%);
  pointer-events: none;
}

.vision .container {
  position: relative;
  z-index: 1;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: calc(100% - 64px);
} /* 文字は左揃えのまま、ブロックごと中央に */
.vision .sec-label--light {
  color: var(--white);
}

.vision__title {
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(24px, 2.6vw, 40px);
  line-height: 1.8;
  letter-spacing: 0;
}

.vision__text {
  margin: 24px 0 40px;
  font-size: 13px;
  opacity: 0.85;
}

.js .vision__text.js-fade {
  -webkit-transition-delay: 0.7s;
          transition-delay: 0.7s;
}

.js .vision .btn.js-fade {
  -webkit-transition-delay: 0.85s;
          transition-delay: 0.85s;
}

/* B：見出しを1行ずつ下からせり上げる */
.vision__line {
  display: block;
  overflow: hidden;
}

.vision__line > span {
  display: inline-block;
}

.js .vision__line > span {
  -webkit-transform: translateY(105%);
          transform: translateY(105%);
  -webkit-transition: -webkit-transform 1.2s var(--ease);
  transition: -webkit-transform 1.2s var(--ease);
  transition: transform 1.2s var(--ease);
  transition: transform 1.2s var(--ease), -webkit-transform 1.2s var(--ease);
}

.js .vision__line:nth-child(2) > span {
  -webkit-transition-delay: 0.15s;
          transition-delay: 0.15s;
}

.js .vision__title.is-in .vision__line > span {
  -webkit-transform: none;
          transform: none;
}

/* C：日本から世界へ広がるドットの世界地図 */
.vision__map {
  /* 発信の中心（地図の縦33.79%地点）が --origin-y の位置に来るよう配置 */
  position: absolute;
  left: 50%;
  top: var(--origin-y);
  width: max(1400px, 110%);
  aspect-ratio: 1440/560;
  -webkit-transform: translate(-50%, -33.79%);
          transform: translate(-50%, -33.79%);
  pointer-events: none;
}

.vision__dots, .vision__fx {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.vision__dots {
  opacity: 0.16;
}

.vision__arc, .vision__flow {
  fill: none;
  stroke: var(--white);
  vector-effect: non-scaling-stroke;
}

.vision__arc {
  stroke-opacity: 0.35;
  stroke-width: 1;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
}

.vision__flow {
  stroke-width: 2;
  stroke-linecap: round;
  stroke-dasharray: 0.06 0.94;
  stroke-dashoffset: 0.06;
  opacity: 0;
}

.vision__city {
  fill: var(--white);
  opacity: 0;
  transform-box: fill-box;
  -webkit-transform-origin: center;
          transform-origin: center;
}

.vision__japan {
  fill: var(--white);
  opacity: 0.3;
  -webkit-transition: opacity 1s;
  transition: opacity 1s;
}

.vision__origin {
  fill: var(--white);
  opacity: 0;
  -webkit-transition: opacity 0.6s;
  transition: opacity 0.6s;
}

.vision__ripple circle {
  fill: none;
  stroke: var(--white);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
  opacity: 0;
  transform-box: fill-box;
  -webkit-transform-origin: center;
          transform-origin: center;
}

/* 画面に入ったら：日本が灯る → 波紋 → 各地へ弧が伸びる → 光が流れ続ける */
.vision.is-in .vision__japan {
  opacity: 0.95;
}

.vision.is-in .vision__origin {
  opacity: 1;
}

.vision.is-in .vision__ripple circle {
  -webkit-animation: visionRipple 4.5s linear infinite;
          animation: visionRipple 4.5s linear infinite;
}

.vision.is-in .vision__ripple circle:nth-child(2) {
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
}

.vision.is-in .vision__ripple circle:nth-child(3) {
  -webkit-animation-delay: 3s;
          animation-delay: 3s;
}

.vision.is-in .vision__arc {
  stroke-dashoffset: 0;
  -webkit-transition: stroke-dashoffset 1.6s var(--ease) calc(0.6s + var(--i) * 0.12s);
  transition: stroke-dashoffset 1.6s var(--ease) calc(0.6s + var(--i) * 0.12s);
}

.vision.is-in .vision__city {
  -webkit-animation: visionCity 0.6s var(--ease) calc(1.8s + var(--i) * 0.12s) forwards;
          animation: visionCity 0.6s var(--ease) calc(1.8s + var(--i) * 0.12s) forwards;
}

.vision.is-in .vision__flow {
  -webkit-animation: visionFlow 3.2s linear calc(2.4s + var(--i) * 0.4s) infinite;
          animation: visionFlow 3.2s linear calc(2.4s + var(--i) * 0.4s) infinite;
}

@-webkit-keyframes visionRipple {
  0% {
    -webkit-transform: scale(0.4);
            transform: scale(0.4);
    opacity: 0;
  }
  10% {
    opacity: 0.7;
  }
  100% {
    -webkit-transform: scale(9);
            transform: scale(9);
    opacity: 0;
  }
}

@keyframes visionRipple {
  0% {
    -webkit-transform: scale(0.4);
            transform: scale(0.4);
    opacity: 0;
  }
  10% {
    opacity: 0.7;
  }
  100% {
    -webkit-transform: scale(9);
            transform: scale(9);
    opacity: 0;
  }
}
@-webkit-keyframes visionCity {
  from {
    opacity: 0;
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  to {
    opacity: 0.8;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes visionCity {
  from {
    opacity: 0;
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  to {
    opacity: 0.8;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@-webkit-keyframes visionFlow {
  0% {
    stroke-dashoffset: 0.06;
    opacity: 0;
  }
  10% {
    opacity: 0.9;
  }
  90% {
    opacity: 0.9;
  }
  100% {
    stroke-dashoffset: -1;
    opacity: 0;
  }
}
@keyframes visionFlow {
  0% {
    stroke-dashoffset: 0.06;
    opacity: 0;
  }
  10% {
    opacity: 0.9;
  }
  90% {
    opacity: 0.9;
  }
  100% {
    stroke-dashoffset: -1;
    opacity: 0;
  }
}
/* =========================================================
   Group Business
   ========================================================= */
.business {
  padding: 130px 0;
  background: var(--bg);
}

/* 見出しまわり：文字は左揃えのまま、ブロックごと中央に */
.business__head {
  position: relative;
  z-index: 2;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: calc(100% - 64px);
}

.business .sec-title {
  line-height: 1.5;
}

.business .sec-lead {
  margin-top: 30px;
  font-size: 15px;
  line-height: 2.27;
  letter-spacing: 0.04em;
}

/* ---------- 森（木・幹・茂み） ---------- */
.forest {
  position: relative;
  z-index: 1;
  margin-top: -95px;
} /* 木の頭をリード文に重ねる */
.forest__scroller {
  overflow-x: auto;
  scrollbar-width: none;
  container-type: inline-size;
} /* 紺の色面の幅の基準 */
.forest__scroller::-webkit-scrollbar {
  display: none;
}

.forest__stage {
  width: min(1404px, 100% - 36px);
  min-width: 1000px;
  margin-inline: auto;
}

.forest__trees {
  /* 基準サイズ 1404×479px。木の位置・大きさはこの枠に対する%で指定 */
  --h: .34117cqw; /* 枠の高さの1% = 幅の 479/1404 % */
  container-type: inline-size;
  position: relative;
  aspect-ratio: 1404/479;
}

.tree {
  position: absolute;
  left: calc((var(--x) - var(--w) / 2) * 1%);
  top: calc(var(--y) * 1%);
  width: calc(var(--w) * 1%);
}

.tree img {
  position: relative;
  z-index: 1;
  width: 100%;
  -webkit-transition: -webkit-filter 0.5s, -webkit-transform 0.5s var(--ease);
  transition: -webkit-filter 0.5s, -webkit-transform 0.5s var(--ease);
  transition: filter 0.5s, transform 0.5s var(--ease);
  transition: filter 0.5s, transform 0.5s var(--ease), -webkit-filter 0.5s, -webkit-transform 0.5s var(--ease);
}

.tree span {
  position: absolute;
  z-index: 1;
  left: 0;
  right: 0;
  top: calc(var(--label, 60) * 1%); /* 文字の縦位置（木ごとに --label で調整） */
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: -webkit-transform 0.5s var(--ease);
  transition: -webkit-transform 0.5s var(--ease);
  transition: transform 0.5s var(--ease);
  transition: transform 0.5s var(--ease), -webkit-transform 0.5s var(--ease);
  font-family: var(--heading);
  font-weight: 500;
  font-size: clamp(13px, 1.28cqw, 18px);
  line-height: 1.6;
  letter-spacing: 0.1em;
  color: var(--navy);
}

.tree::after { /* 幹：木の中から下のバーまで */
  content: "";
  position: absolute;
  z-index: 3;
  left: 50%;
  top: calc((var(--stem) - var(--y)) * var(--h));
  height: calc((100 - var(--stem)) * var(--h));
  width: 2px;
  margin-left: -1px;
  background: var(--deep);
  -webkit-transition: width 0.3s var(--ease), margin-left 0.3s var(--ease);
  transition: width 0.3s var(--ease), margin-left 0.3s var(--ease);
}

/* オンマウス（＝選択中）：葉と文字が少し大きく、幹が太く */
.tree:hover img, .tree.is-active img {
  -webkit-filter: saturate(1.25) brightness(1.02);
          filter: saturate(1.25) brightness(1.02);
  -webkit-transform: scale(1.06);
          transform: scale(1.06);
}

.tree.is-active img {
  -webkit-filter: saturate(1.25) brightness(1.02) drop-shadow(0 10px 14px rgba(24, 53, 74, 0.18));
          filter: saturate(1.25) brightness(1.02) drop-shadow(0 10px 14px rgba(24, 53, 74, 0.18));
} /* 選択中だけ影 */
.tree:hover span, .tree.is-active span {
  -webkit-transform: translateY(-50%) scale(1.08);
          transform: translateY(-50%) scale(1.08);
}

.tree.is-active span {
  font-weight: 700;
}

.tree:hover::after, .tree.is-active::after {
  width: 4px;
  margin-left: -2px;
}

.forest__bush {
  position: absolute;
  z-index: 2;
  left: 5.48%;
  bottom: 0;
  width: 89.03%;
  height: 15.45%;
  max-width: none;
  -o-object-fit: fill;
     object-fit: fill;
  pointer-events: none;
}

/* ---------- グループ会社のバー ---------- */
.forest__bar {
  position: relative;
  isolation: isolate;
  color: var(--white);
  padding: 20px 0 43px;
} /* 下43pxは会社カードが重なる分 */
.forest__bar::before { /* 紺の色面：表示幅の98%（左右1%ずつ余白）。中身の配置は木と揃えたまま */
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 98cqw;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: var(--navy);
}

.forest__bar-label {
  text-align: center;
  font-family: var(--en);
  font-size: clamp(12px, 1.04vw, 15px);
  line-height: 1.4;
  letter-spacing: 0.4em;
  opacity: 0.9;
}

.forest__tabs {
  position: relative;
  height: 112px;
  margin-top: 28px;
}

.forest__tabs li {
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(var(--x) * 1%);
  width: min(160px, 12.5%);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
} /* 狭い幅で隣のタブと重ならないように */
.forest__tab {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; /* 文字を上詰めにして三角と重ならないように */
  width: 100%;
  height: 100%;
  font-family: var(--heading);
  font-size: 15px;
  line-height: 1.45;
  letter-spacing: 0.04em;
  text-align: center;
  color: rgba(255, 255, 255, 0.82);
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}

.forest__tab i {
  display: block;
  margin-bottom: 4px;
  line-height: 1.4;
  font-style: normal;
  font-family: var(--en);
  font-size: 13px;
  color: var(--pale); /* #BACBD8 */
}

/* 選択中を示す三角：タブ全体で1つ。選択した会社の位置へ左右にスライド（下の会社カードを指す） */
.forest__tabs::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: calc(var(--active-x, 11.82) * 1%);
  border: 0 solid transparent;
  border-width: 0 16px 28px;
  border-bottom-color: var(--white);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: left 0.6s var(--ease);
  transition: left 0.6s var(--ease);
  pointer-events: none;
}

.forest__tab:hover {
  color: var(--white);
}

.forest__tab.is-active {
  color: var(--white);
  font-weight: 700;
}

/* ---------- 会社カード ---------- */
.company-card {
  position: relative;
  z-index: 1;
  width: min(1242px, 100% - 198px);
  margin: -43px auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 18px 56px 18px 32px;
  background: var(--white);
  border-bottom: 1px solid var(--navy);
}

.company-card.is-switching .company-card__img,
.company-card.is-switching .company-card__body {
  opacity: 0;
  -webkit-transform: translateY(8px);
          transform: translateY(8px);
}

.company-card__img {
  width: 195px;
  aspect-ratio: 3/2;
  -o-object-fit: cover;
     object-fit: cover;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-radius: 4px;
  -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: opacity 0.3s, transform 0.3s;
  transition: opacity 0.3s, transform 0.3s, -webkit-transform 0.3s;
}

.company-card__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-left: 48px;
  -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: opacity 0.3s, transform 0.3s;
  transition: opacity 0.3s, transform 0.3s, -webkit-transform 0.3s;
}

.company-card__name {
  font-family: var(--heading);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  font-size: clamp(17px, 1.39vw, 20px);
  font-weight: 500;
  letter-spacing: 0.06em;
}

.company-card__name i {
  font-style: normal;
  font-family: var(--en);
  font-weight: 400;
  font-size: 14px;
  color: var(--blue);
}

.company-card__tag {
  font-family: var(--heading);
  font-weight: 500;
  display: inline-block;
  margin: 8px 0 18px;
  padding: 4px 16px;
  font-size: 13px;
  color: var(--blue);
  border: 1px solid var(--blue);
}

.company-card__text {
  font-family: var(--sans);
  font-size: 13px;
  color: var(--navy);
}

.company-card__more {
  font-family: var(--heading);
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 30px;
  height: 73px;
  padding-left: 30px;
  border-left: 1px solid var(--pale);
  font-size: 13px;
  color: var(--blue); /* 矢印と同じ青 */
}

.company-card__more .circle-arrow {
  width: 54px;
  height: 54px;
  border-color: var(--blue);
  color: var(--blue);
}

.company-card__more:hover .circle-arrow {
  background: var(--blue);
  color: var(--white);
}

.company-card__more-text {
  -webkit-transition: -webkit-transform 0.35s ease;
  transition: -webkit-transform 0.35s ease;
  transition: transform 0.35s ease;
  transition: transform 0.35s ease, -webkit-transform 0.35s ease;
}

.company-card__more:hover .company-card__more-text {
  -webkit-transform: translateX(6px);
          transform: translateX(6px);
} /* オンマウスで文字を少し右へ */
/* ---------- 森の横スクロールバー（森が画面に収まらない幅でだけ表示） ----------
   iOSでは標準スクロールバーの装飾が効かないため、JSで位置を同期する独自バー */
.forest__scrollbar {
  display: none;
}

.forest.is-scrollable .forest__scrollbar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 14px;
  width: calc(100% - 32px);
  margin-inline: auto;
  padding: 18px 20px 4px;
  background: var(--white);
}

.forest__scrollbar-label {
  font-family: var(--en);
  font-size: 11px;
  letter-spacing: 0.25em;
  color: var(--gray);
}

.forest__scrollbar-track {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  height: 2px;
  background: var(--pale);
  cursor: pointer;
  -ms-touch-action: none;
      touch-action: none;
}

.forest__scrollbar-track::before {
  content: "";
  position: absolute;
  inset: -10px 0;
} /* タップしやすいよう当たり判定を広げる */
.forest__scrollbar-thumb {
  position: absolute;
  left: 0;
  top: -2px;
  height: 6px;
  border-radius: 3px;
  background: var(--navy);
  cursor: -webkit-grab;
  cursor: grab;
}

.forest__scrollbar-thumb:active {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

/* スクロールできる幅では、グループ名を左端に固定して常に見えるように */
.forest.is-scrollable .forest__bar-label {
  position: sticky;
  left: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-left: 24px;
  text-align: left;
}

.business .center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 63px;
}

/* =========================================================
   Products
   ========================================================= */
.products {
  padding: 130px 0;
  background: var(--white);
}

.products__head {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: calc(100% - 64px);
} /* 文字は左揃えのまま、ブロックごと中央に */
.products__list {
  width: 98%;
  margin: 64px auto; /* GROUP BUSINESS の紺の色面と同じく、左右1%ずつ余白 */
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
}

/* 投稿タイプ product の article.product には当てない */
.products .product {
  position: relative;
  display: block;
  overflow: hidden;
  background: var(--bg);
}

.products .product__img {
  aspect-ratio: 16/10;
  overflow: hidden;
}

.products .product__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.8s var(--ease);
  transition: -webkit-transform 0.8s var(--ease);
  transition: transform 0.8s var(--ease);
  transition: transform 0.8s var(--ease), -webkit-transform 0.8s var(--ease);
}

.products .product:hover .product__img img {
  -webkit-transform: scale(1.04);
          transform: scale(1.04);
}

.products .product__body {
  position: absolute;
  left: 40px;
  bottom: 36px;
}

.products .product__name {
  font-family: var(--en);
  font-weight: 500;
  font-size: clamp(20px, 1.875vw, 27px);
  letter-spacing: 0.1em;
}

.products .product__text {
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.9;
  color: var(--gray);
}

.products .product .circle-arrow {
  position: absolute;
  right: 36px;
  bottom: 40px;
  background: var(--white);
  border-color: var(--white);
}

.products .product:hover .circle-arrow {
  background: var(--navy);
  color: var(--white);
  border-color: var(--navy);
}

/* =========================================================
   Seminar / Exhibition
   ========================================================= */
.seminar {
  padding: 130px 0;
  background: var(--bg);
}

.seminar__intro {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
}

.seminar__cols {
  margin-top: 64px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
}

.seminar__cols.is-single {
  grid-template-columns: minmax(0, calc((100% - 56px) / 2));
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.seminar__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 20px;
}

.seminar__head h3 {
  font-family: var(--heading);
  font-size: clamp(17px, 1.39vw, 20px);
  font-weight: 700;
  color: var(--blue);
  letter-spacing: 0.1em;
}

.seminar__cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.event {
  display: block;
}

.event__img {
  width: 100%;
  aspect-ratio: 390/224;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.event:hover .event__img {
  opacity: 0.8;
}

.event__date {
  margin-top: 14px;
  font-family: var(--sans);
  font-size: 12px;
  color: var(--gray);
}

.event__title {
  font-family: var(--sans);
  font-size: clamp(16px, 1.25vw, 18px);
  font-weight: 500;
  margin: 2px 0 6px;
}

.event__foot {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 12px;
}

.event__text {
  font-size: 14px;
  line-height: 1.6;
  color: var(--gray);
}

.event .circle-arrow {
  width: 44px;
  height: 44px;
  border-color: var(--blue);
  color: var(--blue);
}

.event .circle-arrow::before {
  width: 16px;
  height: 10px;
}

.event:hover .circle-arrow {
  background: var(--blue);
  color: var(--white);
}

/* =========================================================
   Company
   ========================================================= */
.company {
  position: relative;
  padding: 200px 0;
  overflow: hidden;
  color: var(--white);
  background: var(--navy);
}

/* 背景画像（パララックス）：セクションより上下20%ずつ大きくし、スクロールに合わせてJSでずらす */
.company__bg {
  position: absolute;
  left: 0;
  right: 0;
  top: -20%;
  height: 140%;
  background: url("../img/home/company-bg.webp") center/cover no-repeat;
  will-change: transform;
}

.company::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(var(--shade), 0.55);
}

.company__inner {
  position: relative;
  z-index: 2;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: calc(100% - 64px);
  margin-inline: auto;
}

.company .sec-label--light {
  color: var(--white);
}

.company__title {
  color: var(--white);
} /* 文字の設定は他セクションの見出し（.sec-title）と共通 */
.company__btns {
  margin-top: 48px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 24px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.pill {
  font-family: var(--heading);
  font-weight: 500;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  padding: 14px 44px;
  border-radius: 100px;
  background: var(--white);
  color: var(--navy);
  font-size: clamp(14px, 1.05vw, 15px);
  -webkit-transition: background 0.3s, color 0.3s;
  transition: background 0.3s, color 0.3s;
}

.pill b {
  font-family: var(--en);
  font-weight: 400;
  font-size: clamp(16px, 1.25vw, 18px);
  letter-spacing: 0.2em;
  color: var(--blue);
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}

.pill:hover {
  background: var(--blue);
  color: var(--white);
}

.pill:hover b {
  color: var(--white);
}

body#home #content,
body#home #content-in,
body#home #main,
body#home .main,
body#home .wrap,
body.home #content,
body.home #content-in,
body.home #main,
body.home .main,
body.home .wrap {
  width: auto;
  max-width: none;
  padding: 0;
  margin-top: 0;
  background: transparent;
  border: 0;
}

@media (max-width: 1100px) {
  .forest__bar::before {
    width: 100%;
  } /* 森が横スクロールになる幅では、色面も森の幅に合わせる */
  /* 会社カード（とスクロールバー）をバーの直下に置き、三角とつなげる */
  .forest__bar {
    padding-bottom: 0;
  }
  .company-card {
    width: calc(100% - 32px);
    margin-top: 0;
  }
  /* 4列だと小見出しが3行に崩れるため2列に */
  .strength__list {
    grid-template-columns: 1fr 1fr;
    gap: 56px 40px;
  }
  .strength__icon {
    max-width: 200px;
  } /* 2列時は小見出しに重なりすぎないよう少し小さく */
}
@media (max-width: 900px) {
  .container {
    width: calc(100% - 32px);
  }
  .strength, .business, .products, .seminar {
    padding: 96px 0;
  }
  .strength__list {
    gap: 48px 24px;
  }
  .strength .container {
    width: calc(100% - 32px);
  }
  .sec-lead br {
    display: none;
  }
  .vision {
    --origin-y: 80px;
    padding: 170px 0 96px;
  }
  .vision .container {
    max-width: calc(100% - 32px);
  }
  .company-card {
    width: calc(100% - 32px);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    gap: 20px;
    padding: 22px 24px;
  }
  .company-card__body {
    margin-left: 0;
  }
  .business__head, .products__head, .company__inner {
    max-width: calc(100% - 32px);
  }
  .business .sec-lead {
    font-size: 14px;
    line-height: 2;
  }
  .forest {
    margin-top: 0;
  }
  .company-card__img {
    width: 100%;
    aspect-ratio: 2/1;
  } /* スマホは横長にして窓の縦幅を抑える */
  .company-card__more {
    height: auto;
    padding: 16px 0 0;
    border-left: 0;
    border-top: 1px solid var(--pale);
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .products__list {
    grid-template-columns: 1fr;
  }
  .products .product__body {
    left: 20px;
    bottom: 20px;
  }
  .products .product .circle-arrow {
    right: 20px;
    bottom: 24px;
  }
  .seminar__cols,
.seminar__cols.is-single {
    grid-template-columns: 1fr;
    gap: 56px;
  }
  .company {
    padding: 140px 0;
  }
}
@media (max-width: 560px) {
  /* 明朝体のセクション見出し（.sec-title と VISION の見出し）を少し大きく。320px幅では従来の24px、375px幅で約26px */
  .sec-title, .vision__title {
    font-size: max(24px, 7.6vw);
  } /* 375px幅で約28.5px */
  .business .sec-title, .vision__title {
    font-size: max(24px, 6.9vw);
  } /* GROUP BUSINESS・VISIONの見出しは改行が増えないよう従来のサイズ（375px幅で約26px）のまま */
  /* OUR STRENGTH：英字見出し（KNOWなど）を大きく、上の番号は小さく */
  .strength__head h3 {
    font-size: 28px;
  }
  .strength__head span {
    font-size: 13px;
  }
  .strength__catch {
    font-size: 19px;
  } /* 小見出し（医療・介護の現場から、など）を少し大きく */
  .strength__body {
    padding-top: 20px;
  } /* 英字見出し → 小見出し の間を詰める */
  .strength__text {
    margin-top: 14px;
    line-height: 1.8;
  } /* 小見出し → 本文 の間を詰める／本文の行間も詰める */
  /* VISION背景の世界地図：トリミングされすぎないよう縮小（PCは1400px）。上端が切れないよう少し下げ、点も少し濃く */
  .vision {
    --origin-y: 130px;
  }
  .vision__map {
    width: 800px;
  }
  .vision__dots {
    opacity: 0.26;
  }
  /* GROUP BUSINESSの森：少し縮小（1000px→780px）し、左右に40pxずつはみ出させて端の木が画面外に切れるように */
  .forest__stage {
    width: 762px;
    min-width: 762px;
    margin-inline: -40px;
    overflow-x: clip;
  } /* 右端は07社名の右に約25pxの余白で止まるよう、ステージを少し短くして木・紺帯の右端を切る */
  .forest__trees, .forest__bar {
    width: 780px;
  }
  .forest__tabs {
    margin-left: 20px;
  } /* 01社名の左に約25pxの余白（左右の余白をそろえる） */
  .business .sec-lead, .products .sec-lead {
    line-height: 1.8;
  } /* GROUP BUSINESS・PRODUCTSのリード文：行間を詰める（2→1.8） */
  .forest {
    margin-top: -55px;
  } /* PC時と同様に、背の高い木の葉先がリード文に重なるよう引き上げる（木の高さの約27%） */
  .forest__tab {
    font-size: 13px;
  } /* タブ間が狭くなる分、社名を少し小さく */
  /* 会社カードの「詳しく見る」：上の線をなくし、右寄せ・矢印との間を詰めて、丸を小さく */
  .company-card__more {
    border-top: 0;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 12px;
  }
  .company-card__more .circle-arrow {
    width: 34px;
    height: 34px;
  }
  .company-card__more .circle-arrow::before {
    width: 10px;
    height: 7px;
  }
  /* 森のスクロールバー：上下の余白を詰めて低く、SCROLLを小さくして右向きの矢印を添える */
  .forest.is-scrollable .forest__scrollbar {
    padding-top: 12px;
    padding-bottom: 0;
  }
  .forest__scrollbar-label {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 6px;
    font-size: 9px;
  }
  .forest__scrollbar-label::after {
    content: "";
    width: 5px;
    height: 5px;
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .forest.is-scrollable .forest__bar-label {
    width: 100cqw;
    padding-left: 0;
    text-align: center;
  } /* NISSHIN MEDICAL GROUP を画面幅の中央に（横スクロールしても中央に留まる） */
  .strength__icon {
    top: -3px;
  } /* イラストを下げて文字部分と重ねる（上の余白を詰めた分だけ上げ、文字との重なりは保つ） */
  .strength__list {
    margin-top: -16px;
    row-gap: 28px;
  } /* 大見出しの文字とイラストの点線が接するくらいまで詰める／各項目どうしの間も詰める */
  .strength__item {
    padding-top: 56px;
  } /* 番号の上（イラスト用）の余白を詰める */
  .btn {
    font-size: 14px;
  } /* 枠線付きのリンクボタン（日伸メディカルグループとは／理念・ビジョンを見る／グループ企業を見る／製品情報を見る）の文字を少し小さく */
  .btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  } /* 枠線付きのリンクボタンはコンテンツ幅いっぱいに */
  .center {
    padding-inline: 16px;
  } /* グループ企業を見る／製品情報を見る：見出し・カードと同じ左右16pxの内側に */
  .sec-label {
    letter-spacing: 0.3em;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    row-gap: 4px;
  }
  .sec-label span {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    padding-left: 48px;
  } /* セミナー・展示会：改行した行の始点を英字（線32px＋間隔16pxの右）にそろえる */
  .strength__list {
    grid-template-columns: 1fr;
  }
  .strength__icon {
    width: 40%;
    max-width: 140px;
  } /* 狭い端末では見出し・小見出しにかぶるため、200px・幅80%より小さく */
  .products__list {
    width: calc(100% - 20px);
  } /* 写真の左右に10pxずつ余白 */
  .products .product__name {
    font-size: 23px;
  } /* 製品名：20→23px */
  .products .product__text {
    margin-top: 4px;
    font-size: 12px;
    line-height: 1.7;
  } /* 製品の説明文：13→12px、行間1.9→1.7、製品名との間 8→4px */
  /* 製品画像：左端を基準に少し拡大して製品を右へ寄せ（右は画面外に切れてもよい）、左側に余白をつくる */
  .products .product__img {
    position: relative;
    aspect-ratio: 4/3;
  } /* 写真のボックスを少し縦長に（16:10 → 4:3） */
  .products .product__img img {
    -webkit-transform-origin: left center;
            transform-origin: left center;
    -webkit-transform: scale(1.22);
            transform: scale(1.22);
  }
  .products .product:hover .product__img img {
    -webkit-transform: scale(1.27);
            transform: scale(1.27);
  }
  /* 文字の後ろに、左から右へ薄くなる白のグラデーションを敷いて読みやすく */
  .products .product__img::after {
    content: "";
    position: absolute;
    inset: 0;
    background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0.7)), color-stop(40%, rgba(255, 255, 255, 0.55)), color-stop(70%, rgba(255, 255, 255, 0)));
    background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0.55) 40%, rgba(255, 255, 255, 0) 70%);
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0.55) 40%, rgba(255, 255, 255, 0) 70%);
    pointer-events: none;
  }
  .circle-arrow--lg {
    width: 48px;
    height: 48px;
  }
  .circle-arrow--lg::before {
    width: 18px;
    height: 12px;
  }
  .seminar__head h3 {
    font-size: 19px;
  } /* セミナー情報／展示会情報：17→19px */
  .btn-sm {
    padding: 6px 14px;
    font-size: 11px;
  } /* 一覧を見る：padding 9px 24px → 6px 14px、文字12→11px */
  .seminar__cards {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .event__date {
    margin-top: 10px;
    font-size: 11px;
  }
  .event__title {
    font-size: 15px;
    margin: 2px 0 4px;
  }
  .event__foot {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 8px 8px;
  } /* 矢印は概要文の下・右寄せにし、左に「詳しく見る」を添える */
  .event__foot .event__text {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
  }
  .event__foot::after {
    content: "詳しく見る";
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    font-family: var(--heading);
    font-weight: 500;
    font-size: 11px;
    letter-spacing: 0;
    color: var(--blue);
  }
  .event__foot .circle-arrow {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .event__text {
    font-size: 11px;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  } /* 開催概要は2行まで、3行目以降は「…」で省略 */
  .event .circle-arrow {
    width: 26px;
    height: 26px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  .event .circle-arrow::before {
    width: 10px;
    height: 6px;
  }
  /* 縦積みのボタンは幅を揃える */
  .company__btns {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 16px;
  }
  .pill {
    padding: 14px 32px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .pill .arrow {
    margin-left: auto;
  }
}
/* トップページのリンクは、Cocoon の a:hover（#e53900）ではなく、今の文字色を保つ。
   WordPress の body には id="home" が付かないので、class="home" も対象にする。 */
body#home a:hover,
body.home a:hover {
  color: inherit;
}
body#home .btn-contact:hover,
body#home .side-recruit:hover,
body#home .btn--outline:hover,
body#home .btn-sm:hover,
body#home .pill:hover,
body#home .pagetop:hover,
body.home .btn-contact:hover,
body.home .side-recruit:hover,
body.home .btn--outline:hover,
body.home .btn-sm:hover,
body.home .pill:hover,
body.home .pagetop:hover {
  color: var(--white);
}
body#home .btn--ghost:hover,
body#home .hero-news:hover,
body.home .btn--ghost:hover,
body.home .hero-news:hover {
  color: var(--navy);
}
body#home .footer__nav a:hover,
body#home .footer__addr a:hover,
body#home .footer__group-list a:hover,
body#home .footer__privacy:hover,
body#home .header__sub a:hover,
body.home .footer__nav a:hover,
body.home .footer__addr a:hover,
body.home .footer__group-list a:hover,
body.home .footer__privacy:hover,
body.home .header__sub a:hover {
  color: var(--blue);
}

@media (prefers-reduced-motion: reduce) {
  /* STRENGTH アイコン：描き起こしもループもせず完成形で静止 */
  .js .strength__icon .draw, .js .strength__icon .m-flow {
    stroke-dashoffset: 0 !important;
  }
  .js .strength__icon .fade, .js .strength__icon .m-head, .js .strength__icon .c-rays, .js .strength__icon .c-glow, .js .strength__icon .n-person {
    opacity: 1 !important;
  }
  .strength__icon * {
    -webkit-animation: none !important;
            animation: none !important;
  }
  html {
    scroll-behavior: auto;
  }
  .js .js-fade {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
  }
  .js .vision__line > span {
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
  }
  .vision__ripple circle, .vision__flow {
    -webkit-animation: none !important;
            animation: none !important;
  }
  .vision__arc {
    stroke-dashoffset: 0;
    -webkit-transition: none !important;
    transition: none !important;
  }
  .vision__city {
    -webkit-animation: none !important;
            animation: none !important;
    opacity: 0.8;
  }
}
/* 下層：ページタイトル（H1）＋パンくず（reference/parts.html） */
.s-inner {
  width: min(var(--sub-w, 1080px), 100% - 64px);
  max-width: none;
  margin-inline: auto;
  padding-right: 0;
  padding-left: 0;
}

.page-hero {
  position: relative;
  padding: 88px 0 72px;
  background: var(--bg);
  overflow: hidden;
}

.page-hero__label {
  margin-bottom: 18px;
}

.page-hero__title {
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(28px, 3vw, 44px);
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.page-hero--image {
  padding: calc(var(--header-h) + 96px) 0 80px;
  background: var(--navy);
  color: var(--white);
}

.archive .page-hero--image {
  margin-bottom: 1em;
}

.page-hero__bg {
  position: absolute;
  inset: 0;
}

.page-hero__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.page-hero__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: -webkit-gradient(linear, left top, right top, from(rgba(var(--shade), 0.85)), color-stop(45%, rgba(var(--shade), 0.55)), to(rgba(var(--shade), 0.15))), -webkit-gradient(linear, left top, left bottom, from(rgba(var(--shade), 0.45)), color-stop(35%, rgba(var(--shade), 0)));
  background: -webkit-linear-gradient(left, rgba(var(--shade), 0.85) 0%, rgba(var(--shade), 0.55) 45%, rgba(var(--shade), 0.15) 100%), -webkit-linear-gradient(top, rgba(var(--shade), 0.45) 0%, rgba(var(--shade), 0) 35%);
  background: linear-gradient(90deg, rgba(var(--shade), 0.85) 0%, rgba(var(--shade), 0.55) 45%, rgba(var(--shade), 0.15) 100%), linear-gradient(180deg, rgba(var(--shade), 0.45) 0%, rgba(var(--shade), 0) 35%);
}

.page-hero--image .s-inner {
  position: relative;
  z-index: 1;
}

.page-hero--image .sec-label,
.page-hero--image .page-hero__title {
  color: var(--white);
}

body.page:not(.home) #contents,
body.page:not(.home) #main,
body.single #contents,
body.single #main,
body.archive #contents,
body.archive #main {
  padding-top: 0;
}

body.page:not(.home) #wrapper .page-hero .breadcrumb,
body.single #wrapper .page-hero .breadcrumb,
body.archive #wrapper .page-hero .breadcrumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px 10px;
  margin: 48px 0 0;
  padding: 0;
  list-style: none;
  text-align: left;
  font-size: 11px;
  line-height: 1.6;
  letter-spacing: 0.06em;
  color: rgba(255, 255, 255, 0.65);
}
body.page:not(.home) #wrapper .page-hero .breadcrumb li,
body.single #wrapper .page-hero .breadcrumb li,
body.archive #wrapper .page-hero .breadcrumb li {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  margin: 0;
  padding-left: 0;
  text-indent: 0;
}
body.page:not(.home) #wrapper .page-hero .breadcrumb li::before,
body.single #wrapper .page-hero .breadcrumb li::before,
body.archive #wrapper .page-hero .breadcrumb li::before {
  content: none;
  counter-increment: none;
}
body.page:not(.home) #wrapper .page-hero .breadcrumb li:first-child a,
body.single #wrapper .page-hero .breadcrumb li:first-child a,
body.archive #wrapper .page-hero .breadcrumb li:first-child a {
  font-family: var(--en);
  letter-spacing: 0.14em;
}
body.page:not(.home) #wrapper .page-hero .breadcrumb li + li::before,
body.single #wrapper .page-hero .breadcrumb li + li::before,
body.archive #wrapper .page-hero .breadcrumb li + li::before {
  content: "";
  -webkit-box-flex: 0;
      -ms-flex: 0 0 4px;
          flex: 0 0 4px;
  width: 4px;
  min-width: 4px;
  height: 4px;
  margin: 0;
  padding: 0;
  background: none;
  border-radius: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.45);
  border-right: 1px solid rgba(255, 255, 255, 0.45);
  border-bottom: 0;
  border-left: 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
body.page:not(.home) #wrapper .page-hero .breadcrumb a,
body.single #wrapper .page-hero .breadcrumb a,
body.archive #wrapper .page-hero .breadcrumb a {
  color: rgba(255, 255, 255, 0.85);
  font-size: 11px;
  text-decoration: underline;
  -webkit-text-decoration-color: transparent;
          text-decoration-color: transparent;
  text-underline-offset: 0.3em;
  -webkit-transition: color 0.3s, -webkit-text-decoration-color 0.3s;
  transition: color 0.3s, -webkit-text-decoration-color 0.3s;
  transition: color 0.3s, text-decoration-color 0.3s;
  transition: color 0.3s, text-decoration-color 0.3s, -webkit-text-decoration-color 0.3s;
}
body.page:not(.home) #wrapper .page-hero .breadcrumb a:hover,
body.single #wrapper .page-hero .breadcrumb a:hover,
body.archive #wrapper .page-hero .breadcrumb a:hover {
  color: var(--pale);
  -webkit-text-decoration-color: currentColor;
          text-decoration-color: currentColor;
}
body.page:not(.home) #wrapper .page-hero .breadcrumb [aria-current],
body.single #wrapper .page-hero .breadcrumb [aria-current],
body.archive #wrapper .page-hero .breadcrumb [aria-current] {
  color: var(--white);
  opacity: 0.6;
}

@media (max-width: 900px) {
  .page-hero {
    padding: 56px 0 48px;
  }
  .page-hero--image {
    padding: calc(var(--header-h) + 64px) 0 56px;
  }
}
@media (max-width: 560px) {
  .s-inner {
    width: calc(100% - 32px);
  }
  .page-hero {
    padding: 40px 0 32px;
  }
  .page-hero--image {
    padding: calc(var(--header-h) + 40px) 0 40px;
  }
  .page-hero__bg::after {
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(var(--shade), 0.55)), to(rgba(var(--shade), 0.75)));
    background: -webkit-linear-gradient(top, rgba(var(--shade), 0.55) 0%, rgba(var(--shade), 0.75) 100%);
    background: linear-gradient(180deg, rgba(var(--shade), 0.55) 0%, rgba(var(--shade), 0.75) 100%);
  }
  .page-hero__title {
    font-size: max(24px, 7.6vw);
  }
  body.page:not(.home) #wrapper .page-hero .breadcrumb,
body.single #wrapper .page-hero .breadcrumb,
body.archive #wrapper .page-hero .breadcrumb {
    margin-top: 32px;
    font-size: 10px;
  }
}
/* =======================================
このCSSはSassから生成されていますので、
編集する際はSassを使用してください。
========================================== */
/*# sourceMappingURL=maps/import.css.map */
