@charset "UTF-8";
/**** 共通カラー ****/
.header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  transition: 0.3s;
}
.header .header_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 23px;
}
.header .header-logo {
  max-width: 637px;
  width: 44.2361111111vw;
  margin-left: 2.7777777778vw;
  transition: opacity 0.3s ease, transform 0.3s ease;
  position: relative;
  z-index: 99;
}
@media screen and (max-width: 768px) {
  .header .header-logo {
    width: 178px;
    margin-left: 15px;
  }
}
.header .header-logo.is-hidden {
  opacity: 0;
  transform: translateY(-10px);
  pointer-events: none;
}
.header .header-btn-flex {
  margin-right: 120px;
  position: relative;
  z-index: 100;
}
@media screen and (max-width: 992px) {
  .header .header-btn-flex {
    display: flex;
    justify-content: center;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    padding: 15px 0;
    transition: 0.3s;
  }
  .header .header-btn-flex.bg-black {
    background-color: #181919;
  }
}
.header .header-btn-flex .header-contact {
  display: inline-block;
  color: #ffffff;
  background-color: #181919;
  border: solid 1px #ffffff;
  border-radius: 10px;
  width: 160px;
  text-align: center;
  padding: 15px 0;
  margin-right: 40px;
  transition: 0.3s;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 992px) {
  .header .header-btn-flex .header-contact {
    width: 46%;
    max-width: 290px;
  }
}
@media screen and (max-width: 768px) {
  .header .header-btn-flex .header-contact {
    margin: auto;
  }
}
.header .header-btn-flex .header-contact span {
  position: relative;
  z-index: 2;
}
.header .header-btn-flex .header-contact::before {
  content: "";
  display: inline-block;
  position: absolute;
  background-color: #005bbb;
  width: 100%;
  height: 100%;
  top: 0;
  left: -100%;
  transition: 0.3s;
}
.header .header-btn-flex .header-contact:hover::before {
  left: 0;
}
.header .header-btn-flex .header-trial-lesson {
  display: inline-block;
  background-color: #ffffff;
  border-radius: 10px;
  border: solid 1px #181919;
  width: 160px;
  text-align: center;
  padding: 15px 0;
  transition: 0.3s;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 992px) {
  .header .header-btn-flex .header-trial-lesson {
    width: 46%;
    max-width: 290px;
  }
}
@media screen and (max-width: 768px) {
  .header .header-btn-flex .header-trial-lesson {
    margin: auto;
  }
}
.header .header-btn-flex .header-trial-lesson span {
  position: relative;
  z-index: 2;
}
.header .header-btn-flex .header-trial-lesson::before {
  content: "";
  display: inline-block;
  position: absolute;
  background-color: #d72638;
  width: 100%;
  height: 100%;
  top: 0;
  left: -100%;
  transition: 0.3s;
  z-index: 1;
}
.header .header-btn-flex .header-trial-lesson:hover {
  color: #ffffff;
}
.header .header-btn-flex .header-trial-lesson:hover::before {
  left: 0;
}
.header .header-nav {
  position: relative;
}
.header .header-nav .mv-cta {
  position: absolute;
  bottom: 50px;
  right: 120px;
  display: flex;
  align-items: center;
  z-index: 99;
}
@media screen and (max-width: 768px) {
  .header .header-nav .mv-cta {
    display: none;
  }
}
.header .header-nav .mv-cta .btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 280px;
  padding: 16px 28px;
  color: #ffffff;
  border-radius: 10px;
  font-size: clamp(1.8rem, 2.2vw, 2.2rem);
}
.header .header-nav .mv-cta .btn.btn-boxer-course {
  background: linear-gradient(#d72638 0%, #a70c1c 100%);
  background-size: 100% 200%;
  background-position: 0 0;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.4);
  margin-right: 40px;
  transition: 0.3s;
}
.header .header-nav .mv-cta .btn.btn-boxer-course:hover {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
  background-position: 0 100%;
  transition: 0.3s;
}
.header .header-nav .mv-cta .btn.btn-boxer-course:hover .arrow {
  transform: translateX(6px);
}
.header .header-nav .mv-cta .btn.btn-fitness-course {
  background: linear-gradient(#005bbb 0%, #053467 100%);
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.4);
  background-size: 100% 200%;
  background-position: 0 0;
  transition: 0.3s;
}
.header .header-nav .mv-cta .btn.btn-fitness-course:hover {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
  background-position: 0 100%;
  transition: 0.3s;
}
.header .header-nav .mv-cta .btn.btn-fitness-course:hover .arrow {
  transform: translateX(6px);
}
.header .header-nav .mv-cta .btn .arrow {
  display: inline-block;
  transition: 0.3s;
}
.header .header-nav .mv-cta .btn .arrow::before {
  content: "";
  display: inline-block;
  background-image: url(../image/common/arrow-w.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 9px;
  height: 17px;
}
.header .header-nav .mv-sns {
  position: absolute;
  right: 15px;
  bottom: 50px;
  z-index: 99;
}
@media screen and (max-width: 768px) {
  .header .header-nav .mv-sns {
    bottom: 80px;
  }
}
.header .header-nav .mv-sns .icon {
  display: block;
  width: 20px;
  height: 20px;
}
@media screen and (max-width: 768px) {
  .header .header-nav .mv-sns .icon {
    width: 16px;
    height: 16px;
  }
}
.header .header-nav .mv-sns .insta {
  margin-bottom: 10px;
}
.header .header_menu {
  display: flex;
  align-items: center;
}
.header .header_menu li {
  position: relative;
}
.header .header_menu li::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 24px;
  background-color: #ffffff;
}
.header .header_menu li:nth-child(3) {
  margin-right: 14px;
}
.header .header_menu li:nth-child(3)::after {
  display: none;
}
.header .header_menu li a {
  display: block;
  color: #fff;
  font-size: clamp(1.4rem, 1.25vw, 1.6rem);
  padding: 0 26px;
  transition: 0.3s;
}
.header .header_menu li a:hover {
  color: #b69130;
}

/*ハンバーガー--------------------------------------*/
#switch {
  display: none;
}

#switch ~ label {
  cursor: pointer;
  z-index: 99;
  position: fixed;
  top: 0;
  right: 0;
}
#switch ~ label::before {
  content: "";
  display: inline-block;
  width: 105px;
  height: 105px;
  background-image: url(../image/common/menucover.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: right top;
}
@media screen and (max-width: 768px) {
  #switch ~ label::before {
    width: 80px;
    height: 80px;
  }
}

#switch ~ label .hamburger {
  position: absolute;
  width: 40px;
  top: 25px;
  right: 25px;
}
@media screen and (max-width: 768px) {
  #switch ~ label .hamburger {
    top: 15px;
    right: 15px;
  }
}

#switch ~ label .hamburger .border-wrap {
  height: 16px;
}

#switch ~ label .hamburger .text {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  color: #ffffff;
  font-size: clamp(1rem, 1.25vw, 1.2rem);
  text-align: center;
  margin-top: 6px;
  transform: translateX(-4px);
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  #switch ~ label .hamburger .text {
    transform: none;
  }
}

#switch ~ label .hamburger .text .open {
  display: block;
  transition: 0.3s;
}

#switch:checked ~ label .hamburger .text .open {
  transform: translateY(-20px);
}

#switch ~ label .hamburger .text .close {
  display: inline-block;
  position: absolute;
  bottom: -20px;
  left: 0;
  right: 0;
  margin: auto;
  transition: 0.3s;
}

#switch:checked ~ label .hamburger .text .close {
  bottom: 0;
}

#switch ~ label .hamburger .border {
  display: block;
  height: 2px;
  position: absolute;
  right: 0;
  left: 0;
  margin: auto;
  background-color: #ffffff;
  transition: transform 0.3s ease-in-out, opacity 0.2s ease-in-out, top 0.3s ease-in-out;
}

#switch ~ label .hamburger #switch ~ label .hamburger .border:first-child {
  width: 40px;
  top: 0;
}

#switch ~ label .hamburger .border:nth-child(2) {
  width: 40px;
  top: 8px;
}

#switch ~ label .hamburger .border:last-child {
  width: 40px;
  top: 16px;
}

/* チェック時のアニメーション */
#switch:checked ~ label .hamburger .border:first-child {
  top: 8px;
  width: 40px;
  transform: rotate(16deg);
}

#switch:checked ~ label .hamburger .border:nth-child(2) {
  opacity: 0;
}

#switch:checked ~ label .hamburger .border:last-child {
  top: 8px;
  width: 40px;
  transform: rotate(-16deg);
}

.header:has(#switch:checked) .header-logo.is-hidden {
  opacity: 1;
  transform: none;
  pointer-events: all;
}

#switch:checked ~ #NavWrap {
  opacity: 1;
  pointer-events: auto;
  /* クリックを有効化 */
  clip-path: inset(0 0 0 0);
  /* クリップを解除 */
  transition: opacity 0.2s ease-out;
}

#switch:checked ~ label .menu .open {
  display: none;
}

#switch:checked ~ label .menu .close {
  display: block;
}

#NavWrap {
  position: fixed;
  z-index: 97;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(30px);
  -webkit-backdrop-filter: blur(30px);
  top: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  box-sizing: border-box;
  overflow-y: auto;
  opacity: 0;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  #NavWrap {
    background-color: rgba(0, 0, 0, 0.7);
  }
}

#switch:checked ~ #NavWrap {
  opacity: 1;
  pointer-events: auto;
  overflow-x: hidden;
}

#NavWrap .inner-nav {
  position: relative; /* プラポリをabsoluteで置くなら必須 */
  display: grid;
  /* 3列：左(main) / 中(boxer) / 右(fitness) */
  grid-template-columns: 1.2fr 1fr 1fr;
  grid-template-rows: auto auto auto auto;
  grid-template-areas: "top   top   top" "main  boxer fitness" "main  media fitness" "policy     .     .";
  padding: 120px;
  color: #fff;
}
@media screen and (max-width: 768px) {
  #NavWrap .inner-nav {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    text-align: center;
    padding: 70px 15px 160px 15px;
  }
}
#NavWrap .inner-nav .inner-nav-top {
  grid-area: top;
}
@media screen and (max-width: 768px) {
  #NavWrap .inner-nav .inner-nav-top {
    width: 100%;
  }
}
#NavWrap .inner-nav .inner-nav-top li:first-child a {
  transition: 0.3s;
}
#NavWrap .inner-nav .inner-nav-top li:first-child a:hover {
  color: #d72638;
}
#NavWrap .inner-nav .inner-nav-top li:last-child a {
  transition: 0.3s;
}
#NavWrap .inner-nav .inner-nav-top li:last-child a:hover {
  color: #005bbb;
}
#NavWrap .inner-nav .inner-nav-main {
  grid-area: main;
}
@media screen and (max-width: 768px) {
  #NavWrap .inner-nav .inner-nav-main {
    width: 100%;
    margin-bottom: 14px;
  }
}
#NavWrap .inner-nav .inner-nav-main .list li:nth-child(odd) a {
  transition: 0.3s;
}
#NavWrap .inner-nav .inner-nav-main .list li:nth-child(odd) a:hover {
  color: #d72638;
}
#NavWrap .inner-nav .inner-nav-main .list li:nth-child(even) a {
  transition: 0.3s;
}
#NavWrap .inner-nav .inner-nav-main .list li:nth-child(even) a:hover {
  color: #005bbb;
}
#NavWrap .inner-nav .inner-nav-main .sub-list.red li:nth-child(odd) a {
  transition: 0.3s;
}
#NavWrap .inner-nav .inner-nav-main .sub-list.red li:nth-child(odd) a:hover {
  color: #005bbb;
}
#NavWrap .inner-nav .inner-nav-main .sub-list.blue li:nth-child(even) a {
  transition: 0.3s;
}
#NavWrap .inner-nav .inner-nav-main .sub-list.blue li:nth-child(even) a:hover {
  color: #d72638;
}
#NavWrap .inner-nav .inner-nav-boxer-course {
  grid-area: boxer;
}
@media screen and (max-width: 768px) {
  #NavWrap .inner-nav .inner-nav-boxer-course {
    width: 46.1333333333vw;
    margin-bottom: 14px;
  }
}
#NavWrap .inner-nav .inner-nav-boxer-course .list li a {
  transition: 0.3s;
}
#NavWrap .inner-nav .inner-nav-boxer-course .list li a:hover {
  color: #d72638;
}
#NavWrap .inner-nav .inner-nav-fitness-course {
  grid-area: fitness;
}
@media screen and (max-width: 768px) {
  #NavWrap .inner-nav .inner-nav-fitness-course {
    width: 46.1333333333vw;
    margin-bottom: 14px;
  }
}
#NavWrap .inner-nav .inner-nav-fitness-course .list li a {
  transition: 0.3s;
}
#NavWrap .inner-nav .inner-nav-fitness-course .list li a:hover {
  color: #005bbb;
}
#NavWrap .inner-nav .inner-nav-media {
  grid-area: media;
}
@media screen and (max-width: 768px) {
  #NavWrap .inner-nav .inner-nav-media {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  #NavWrap .inner-nav .inner-nav-media .list {
    display: flex;
    justify-content: space-between;
  }
}
#NavWrap .inner-nav .inner-nav-media .list > li a {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  #NavWrap .inner-nav .inner-nav-media .list > li a {
    justify-content: center;
  }
}
@media screen and (max-width: 768px) {
  #NavWrap .inner-nav .inner-nav-media .list li {
    width: 50%;
  }
}
#NavWrap .inner-nav .inner-nav-media span {
  display: inline-block;
}
#NavWrap .inner-nav .inner-nav-media .youtube::before {
  display: inline-block;
  content: "";
  background-image: url(../image/common/youtube-icon.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 27px;
  height: 20px;
  margin-left: 16px;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  #NavWrap .inner-nav .inner-nav-media .youtube::before {
    margin-left: 8px;
  }
}
#NavWrap .inner-nav .inner-nav-media .blog::before {
  display: inline-block;
  content: "";
  background-image: url(../image/common/blog-icon.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 20px;
  height: 20px;
  margin-left: 47px;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  #NavWrap .inner-nav .inner-nav-media .blog::before {
    margin-left: 8px;
  }
}
#NavWrap .inner-nav .inner-nav-media .youtube-item a {
  transition: 0.3s;
}
#NavWrap .inner-nav .inner-nav-media .youtube-item a:hover {
  color: #d72638;
}
#NavWrap .inner-nav .inner-nav-media .youtube-item a:hover .youtube::before {
  background-image: url(../image/common/youtube-icon-red.svg);
}
#NavWrap .inner-nav .inner-nav-media .blog-item a {
  transition: 0.3s;
}
#NavWrap .inner-nav .inner-nav-media .blog-item a:hover {
  color: #005bbb;
}
#NavWrap .inner-nav .inner-nav-media .blog-item a:hover .blog::before {
  background-image: url(../image/common/blog-icon-blue.svg);
}
#NavWrap .inner-nav .policy {
  grid-area: policy;
  font-size: clamp(1rem, 1.25vw, 1.2rem);
  padding-top: 16px;
}
@media screen and (max-width: 768px) {
  #NavWrap .inner-nav .policy {
    padding-top: 0;
    text-align: left;
    margin-left: auto;
    margin-right: 0;
    padding-right: 30px;
  }
}
#NavWrap .inner-nav .list > li {
  margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
  #NavWrap .inner-nav .list > li {
    margin-bottom: 16px;
  }
}
#NavWrap .inner-nav .sub-list > li {
  margin-top: 16px;
  padding-left: 1.2em;
}
@media screen and (max-width: 768px) {
  #NavWrap .inner-nav .sub-list > li {
    margin-bottom: 14px;
    padding-left: 0;
  }
}
#NavWrap .inner-nav .inner-nav-boxer-course > .list > li,
#NavWrap .inner-nav .inner-nav-fitness-course > .list > li {
  font-size: clamp(1.8rem, 2vw, 2rem);
}
@media screen and (max-width: 768px) {
  #NavWrap .inner-nav .inner-nav-boxer-course > .list > li,
  #NavWrap .inner-nav .inner-nav-fitness-course > .list > li {
    font-size: 16px;
  }
}
#NavWrap .inner-nav .inner-nav-boxer-course .sub-list > li,
#NavWrap .inner-nav .inner-nav-fitness-course .sub-list > li {
  font-size: clamp(1.4rem, 1.25vw, 1.6rem);
  margin-top: 24px;
}
@media screen and (max-width: 768px) {
  #NavWrap .inner-nav .inner-nav-boxer-course .sub-list > li,
  #NavWrap .inner-nav .inner-nav-fitness-course .sub-list > li {
    font-size: 14px;
    margin-top: 16px;
  }
}

.more-btn {
  width: 170px;
  font-size: clamp(1.4rem, 1.25vw, 1.6rem);
}
@media screen and (max-width: 768px) {
  .more-btn {
    width: 160px;
  }
}
.more-btn a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 6px;
  position: relative;
}
.more-btn a::before {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: 14px;
  left: 0;
  background-color: #181919;
  width: 146px;
  height: 1px;
  z-index: 2;
}
.more-btn a .arrow {
  display: inline-block;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  position: relative;
  overflow: hidden;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .more-btn a .arrow {
    width: 40px;
    height: 40px;
  }
}
.more-btn a .arrow.red {
  background-color: #d72638;
}
.more-btn a .arrow.blue {
  background-color: #005bbb;
}
.more-btn a .arrow.white {
  background-color: #ffffff;
}
.more-btn a .arrow.white::before {
  background-image: url(../image/common/arrow-blue.svg);
}
.more-btn a .arrow::before {
  content: "";
  position: absolute;
  background-image: url(../image/common/arrow-w.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 20px;
  aspect-ratio: 1;
  left: 10px;
  right: 0;
  bottom: 0;
  top: 0;
  margin: auto;
  z-index: 2;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .more-btn a .arrow::before {
    width: 14px;
    left: 8px;
  }
}
.more-btn a:hover .arrow {
  transform: scale(1.2);
}

/*ページナビゲーション--------------------------------------*/
.navigation {
  width: 100%;
}

.wp-pagenavi {
  clear: both;
  text-align: center;
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  margin: auto;
}

.navigation .pages {
  display: none;
}

.wp-pagenavi a,
.wp-pagenavi span {
  width: 40px;
  height: 40px;
  margin: 0 4px;
  white-space: nowrap;
  border-radius: 10px;
  transition: 0.2s ease-in-out;
  text-align: center;
  text-decoration: none;
  font-size: clamp(1.4rem, 1.25vw, 1.6rem);
  display: flex;
  align-items: center;
  justify-content: center;
}

.wp-pagenavi a:hover {
  color: #fff;
}
.wp-pagenavi a:hover:before {
  background-color: #fff;
}

.wp-pagenavi .previouspostslink {
  position: relative;
}
.wp-pagenavi .previouspostslink:before {
  content: "";
  display: block;
  clip-path: polygon(0 7%, 7% 0, 57% 50%, 7% 100%, 0 93%, 43% 50%, 0 7%);
  height: 14px;
  aspect-ratio: 1;
  transform: scale(-1, 1);
  transition: 0.2s ease-in-out;
  position: absolute;
  top: 14px;
  left: 8px;
}

.wp-pagenavi .nextpostslink {
  position: relative;
}
.wp-pagenavi .nextpostslink:before {
  content: "";
  display: block;
  clip-path: polygon(0 7%, 7% 0, 57% 50%, 7% 100%, 0 93%, 43% 50%, 0 7%);
  height: 14px;
  aspect-ratio: 1;
  transition: 0.2s ease-in-out;
  position: absolute;
  top: 14px;
  right: 8px;
}

/*ページナビここまで--------------------------------------*/
.section-footer {
  background-color: #181919;
  color: #ffffff;
  padding-top: 60px;
  padding-bottom: 80px;
}
@media screen and (max-width: 768px) {
  .section-footer {
    padding-top: 40px;
    padding-bottom: 80px;
  }
}
.section-footer .footer-logo {
  max-width: 330px;
  width: 22.9166666667vw;
}
@media screen and (max-width: 768px) {
  .section-footer .footer-logo {
    max-width: 180px;
    width: 100%;
  }
}
.section-footer .footer-flex {
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .section-footer .footer-flex {
    display: block;
  }
}
.section-footer .footer-nav {
  line-height: 1.6;
}
.section-footer .footer-nav .inner-nav {
  width: 55.5555555556vw;
  max-width: 800px;
  position: relative; /* プラポリをabsoluteで置くなら必須 */
  display: grid;
  /* 3列：左(main) / 中(boxer) / 右(fitness) */
  grid-template-columns: 1.2fr 1fr 1fr;
  grid-template-rows: auto auto auto auto;
  grid-template-areas: "top   top   top" "main  boxer fitness" "main  media fitness";
}
@media screen and (max-width: 768px) {
  .section-footer .footer-nav .inner-nav {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-right: 0;
    transform: translateY(-20px);
  }
}
@media screen and (max-width: 768px) {
  .section-footer .footer-nav .inner-nav-top {
    display: none;
  }
}
.section-footer .footer-nav .inner-nav-main {
  grid-area: main;
  margin-right: 6.6666666667%;
}
@media screen and (max-width: 768px) {
  .section-footer .footer-nav .inner-nav-main {
    display: none;
  }
}
.section-footer .footer-nav .inner-nav-boxer-course {
  grid-area: boxer;
}
@media screen and (max-width: 768px) {
  .section-footer .footer-nav .inner-nav-boxer-course {
    display: none;
  }
}
.section-footer .footer-nav .inner-nav-fitness-course {
  grid-area: fitness;
}
@media screen and (max-width: 768px) {
  .section-footer .footer-nav .inner-nav-fitness-course {
    display: none;
  }
}
.section-footer .footer-nav .inner-nav-media {
  grid-area: media;
}
@media screen and (max-width: 768px) {
  .section-footer .footer-nav .inner-nav-media .list {
    display: block;
  }
}
.section-footer .footer-nav .inner-nav-media .list > li a {
  display: flex;
  align-items: center;
}
.section-footer .footer-nav .inner-nav-media span {
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .section-footer .footer-nav .inner-nav-media span {
    font-size: 14px;
  }
}
.section-footer .footer-nav .inner-nav-media .youtube::before {
  display: inline-block;
  content: "";
  background-image: url(../image/common/youtube-icon.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 22px;
  height: 16px;
  margin-left: 16px;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .section-footer .footer-nav .inner-nav-media .youtube::before {
    width: 18px;
    height: 14px;
    background-position: right;
  }
}
.section-footer .footer-nav .inner-nav-media .blog::before {
  display: inline-block;
  content: "";
  background-image: url(../image/common/blog-icon.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 16px;
  height: 16px;
  margin-left: 47px;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .section-footer .footer-nav .inner-nav-media .blog::before {
    width: 14px;
    height: 14px;
    background-position: right;
  }
}
.section-footer .footer-nav .inner-nav-media .insta::before {
  display: inline-block;
  content: "";
  background-image: url(../image/common/footer-insta.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 16px;
  height: 16px;
  margin-left: 16px;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .section-footer .footer-nav .inner-nav-media .insta::before {
    width: 14px;
    height: 14px;
    background-position: right;
  }
}
.section-footer .footer-nav .inner-nav-media .facebook::before {
  display: inline-block;
  content: "";
  background-image: url(../image/common/footer-facebook.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 16px;
  height: 16px;
  margin-left: 20px;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .section-footer .footer-nav .inner-nav-media .facebook::before {
    width: 14px;
    height: 14px;
    background-position: right;
  }
}
.section-footer .footer-nav .list > li {
  margin-bottom: 16px;
  font-size: clamp(1.2rem, 1.25vw, 1.4rem);
}
@media screen and (max-width: 768px) {
  .section-footer .footer-nav .list > li {
    margin-bottom: 12px;
  }
}
.section-footer .footer-nav .sub-list > li {
  margin-top: 12px;
  padding-left: 1.2em;
  font-size: clamp(1rem, 1.25vw, 1.2rem);
}
.section-footer .footer-nav .inner-nav-boxer-course > .list > li,
.section-footer .footer-nav .inner-nav-fitness-course > .list > li {
  font-size: clamp(1.2rem, 1.25vw, 1.4rem);
}
.section-footer .footer-nav .inner-nav-boxer-course .sub-list > li,
.section-footer .footer-nav .inner-nav-fitness-course .sub-list > li {
  font-size: clamp(1rem, 1.25vw, 1.2rem);
  margin-top: 16px;
}
.section-footer .note {
  font-size: clamp(1.2rem, 1.25vw, 1.4rem);
  line-height: 1.8;
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .section-footer .note {
    margin-top: 12px;
  }
  .section-footer .note:last-child {
    white-space: nowrap;
  }
}
.section-footer .footer-bottom {
  margin-top: 30px;
  padding-top: 30px;
  border-top: solid 1px #ffffff;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .section-footer .footer-bottom {
    margin-top: 30px;
    padding-top: 20px;
  }
}
.section-footer .footer-bottom-flex {
  justify-content: space-between;
  font-size: clamp(1rem, 1.25vw, 1.2rem);
}
@media screen and (max-width: 768px) {
  .section-footer .footer-bottom-flex {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
}
.section-footer small {
  display: block;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .section-footer small {
    margin-top: 20px;
  }
}

@media (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
.page .section-mv {
  background-repeat: no-repeat;
  background-size: cover;
  height: 500px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .page .section-mv {
    height: 80svh;
  }
}
.page .section-mv::before {
  content: "";
  background-image: url(../image/common/mv-cover.svg);
  background-repeat: repeat;
  background-size: 3px;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.page .section-mv .mv-sns {
  position: absolute;
  right: 15px;
  bottom: 50px;
  z-index: 99;
}
@media screen and (max-width: 768px) {
  .page .section-mv .mv-sns {
    bottom: 80px;
  }
}
.page .section-mv .mv-sns .icon {
  display: block;
  width: 20px;
  height: 20px;
}
@media screen and (max-width: 768px) {
  .page .section-mv .mv-sns .icon {
    width: 16px;
    height: 16px;
  }
}
.page .section-mv .mv-sns .insta {
  margin-bottom: 10px;
}
.page .section-mv .mv-cta {
  position: absolute;
  bottom: 50px;
  right: 120px;
  display: flex;
  align-items: center;
  z-index: 99;
}
@media screen and (max-width: 768px) {
  .page .section-mv .mv-cta {
    flex-direction: column;
    bottom: 80px;
    right: auto;
    left: 15px;
  }
}
.page .section-mv .mv-cta .btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 280px;
  padding: 16px 28px;
  color: #ffffff;
  border-radius: 10px;
  font-size: clamp(1.8rem, 2.2vw, 2.2rem);
}
@media screen and (max-width: 768px) {
  .page .section-mv .mv-cta .btn {
    width: 220px;
    font-size: 16px;
    padding: 16px 28px;
    padding: 12px 10px 12px 30px;
  }
}
.page .section-mv .mv-cta .btn.btn-boxer-course {
  background: linear-gradient(#d72638 0%, #a70c1c 100%);
  background-size: 100% 200%;
  background-position: 0 0;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.4);
  margin-right: 40px;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .page .section-mv .mv-cta .btn.btn-boxer-course {
    margin-right: 0;
    margin-bottom: 16px;
  }
}
.page .section-mv .mv-cta .btn.btn-boxer-course:hover {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
  background-position: 0 100%;
  transition: 0.3s;
}
.page .section-mv .mv-cta .btn.btn-boxer-course:hover .arrow::before {
  transform: translateX(30px);
}
.page .section-mv .mv-cta .btn.btn-boxer-course:hover .arrow::after {
  transform: translateX(0);
}
.page .section-mv .mv-cta .btn.btn-fitness-course {
  background: linear-gradient(#005bbb 0%, #053467 100%);
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.4);
  background-size: 100% 200%;
  background-position: 0 0;
  transition: 0.3s;
}
.page .section-mv .mv-cta .btn.btn-fitness-course:hover {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
  background-position: 0 100%;
  transition: 0.3s;
}
.page .section-mv .mv-cta .btn.btn-fitness-course:hover .arrow::before {
  transform: translateX(30px);
}
.page .section-mv .mv-cta .btn.btn-fitness-course:hover .arrow::after {
  transform: translateX(0);
}
.page .section-mv .mv-cta .btn .arrow {
  display: inline-block;
  transition: 0.3s;
  overflow: hidden;
}
.page .section-mv .mv-cta .btn .arrow::before {
  content: "";
  display: inline-block;
  background-image: url(../image/common/arrow-w.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 9px;
  height: 17px;
  transition: 0.5s;
}
@media screen and (max-width: 768px) {
  .page .section-mv .mv-cta .btn .arrow::before {
    height: 15px;
  }
}
.page .section-mv .mv-cta .btn .arrow::after {
  content: "";
  display: inline-block;
  background-image: url(../image/common/arrow-w.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 9px;
  height: 17px;
  transform: translateX(-30px);
  transition: 0.5s;
}
.page .tit-wrap {
  position: absolute;
  top: 50%;
  color: #ffffff;
  left: 8.3333333333vw;
  z-index: 3;
}
.page .tit-wrap .sub-text {
  font-size: clamp(1.4rem, 1.25vw, 1.6rem);
  margin-bottom: 6px;
}
.page .tit-wrap .sub-text::after {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  width: 15px;
  aspect-ratio: 1;
}
.page .tit-wrap h1 {
  font-size: clamp(3rem, 3.2vw, 4.4rem);
}
.page .tit-wrap.red .sub-text::after {
  background-image: url(../image/common/page-mv-decored.svg);
  display: inline-block;
  margin-left: 5px;
}
.page .tit-wrap.red h1 span {
  color: #d72638;
}
.page .tit-wrap.blue .sub-text::after {
  background-image: url(../image/common/page-mv-decoblue.svg);
  display: inline-block;
  margin-left: 5px;
}
.page .tit-wrap.blue h1 span {
  color: #d72638;
}
.page .breadcrumb {
  position: absolute;
  bottom: -40px;
  z-index: 3;
  right: 8.3333333333vw;
}
.page .breadcrumb.black {
  color: #ffffff;
}
.page .breadcrumb.white {
  color: #181919;
}
.page .breadcrumb.white .breadcrumb-item:first-child::after {
  background-image: url(../image/common/bread-deco-black.svg);
}
.page .breadcrumb.white .breadcrumb-item:last-child {
  margin-left: 8px;
}
.page .breadcrumb .breadcrumb-list {
  display: flex;
  align-items: center;
  font-size: clamp(1rem, 1.25vw, 1.2rem);
}
.page .breadcrumb .breadcrumb-list .breadcrumb-item:first-child {
  display: inline-block;
  position: relative;
  display: flex;
  align-items: center;
}
.page .breadcrumb .breadcrumb-list .breadcrumb-item:first-child::after {
  content: "";
  display: inline-block;
  background-image: url(../image/common/bread-deco-white.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 16px;
  height: 9px;
  margin-left: 6px;
}
.page .breadcrumb .breadcrumb-list .breadcrumb-item:last-child {
  margin-left: 8px;
}

.facilities-swiper {
  position: relative;
  overflow: visible;
}

@media screen and (max-width: 768px) {
  .facilities-swiper.swiper {
    overflow: visible;
  }
}

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

.facilities-item {
  max-width: 1000px;
  margin: auto;
  border-radius: 10px;
  overflow: hidden;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .facilities-item {
    height: 61.3333333333vw;
    max-height: 230px;
  }
}
.facilities-item img {
  max-width: 100%;
  height: 34.7222222222vw;
  max-height: 500px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .facilities-item img {
    height: 100%;
  }
}

.facilities-swiper .swiper-button-prev,
.facilities-swiper .swiper-button-next {
  width: 40px;
  height: 40px;
}
@media screen and (max-width: 768px) {
  .facilities-swiper .swiper-button-prev,
  .facilities-swiper .swiper-button-next {
    width: 22px;
    height: 22px;
  }
}

.facilities-swiper .swiper-button-prev {
  left: -10px;
}

.facilities-swiper .swiper-button-next {
  right: -10px;
}

.facilities-swiper .swiper-button-prev img,
.facilities-swiper .swiper-button-next img {
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 768px) {
  .image_area {
    overflow: auto;
    position: relative;
  }
}

.scroll-hint-icon-wrap {
  display: none;
}
@media screen and (max-width: 768px) {
  .scroll-hint-icon-wrap {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-height: 100%;
    pointer-events: none;
  }
}

@media screen and (max-width: 768px) {
  .scroll-hint-icon-wrap.is-active .scroll-hint-icon {
    opacity: 0.8;
  }
}

@media screen and (max-width: 768px) {
  .scroll-hint-icon {
    position: absolute;
    top: calc(50% - 25px);
    left: calc(50% - 60px);
    box-sizing: border-box;
    width: 120px;
    height: 80px;
    border-radius: 5px;
    transition: opacity 0.3s;
    opacity: 0;
    background: rgba(0, 0, 0, 0.7);
    text-align: center;
    padding: 20px 10px 10px;
  }
}

@media screen and (max-width: 768px) {
  .scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
    animation: scroll-hint-appear 1.2s linear;
    animation-iteration-count: 2;
  }
}

@media screen and (max-width: 768px) {
  .scroll-hint-icon:before {
    display: inline-block;
    width: 40px;
    height: 40px;
    color: #fff;
    vertical-align: middle;
    text-align: center;
    content: "";
    background-size: contain;
    background-position: 50%;
    background-repeat: no-repeat;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiI+PGcgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PHBhdGggZD0iTTIxLjMzIDMwLjUySDcuODVBMS41NSAxLjU1IDAgMDE2LjMgMjlhMTIuNDYgMTIuNDYgMCAwMC0uNjMtNC40MiAyNS4xNiAyNS4xNiAwIDAwLTQuMjUtNWwtLjA2LS4wNkE1IDUgMCAwMTAgMTUuODZhMy42NCAzLjY0IDAgMDExLjE3LTIuNjIgMy42MyAzLjYzIDAgMDE1LjE0LjA3VjMuNzdhMy43NyAzLjc3IDAgMTE3LjU0IDB2NC41NmEzLjM1IDMuMzUgMCAwMTEuMjYgMCAzIDMgMCAwMTIgMS4yMiAzLjUgMy41IDAgMDEyLS4wNiAzLjIxIDMuMjEgMCAwMTIgMS41NCAzLjc0IDMuNzQgMCAwMTMgLjQ3IDQuMjEgNC4yMSAwIDAxMS42MyAzLjV2LjQ2YTE5LjI2IDE5LjI2IDAgMDEtLjg0IDdjLS4xNC4zOC0uMzYuODEtLjU2IDEuMjJsLS4xMS4yMmMwIC4wNy0uMDkuMTQtLjE0LjIxYTcuMTMgNy4xMyAwIDAwLTEuMTcgMi4xN2MtLjA2LjU2LS4wNiAyLjE1LS4wNSAyLjcxYTEuNTUgMS41NSAwIDAxLTEuNTQgMS41M3pNOC42MSAyOC4yMWgxMmMwLS43MSAwLTEuNzEuMDctMi4yM2E4Ljc0IDguNzQgMCAwMTEuNTktMy4yNWwuMDYtLjEyYTEwIDEwIDAgMDAuNDYtMSAxNi44IDE2LjggMCAwMC43LTYuMTJ2LS41NGEyIDIgMCAwMC0uNjQtMS41MiAxLjMzIDEuMzMgMCAwMC0xLjU1LjA4IDEuMTMgMS4xMyAwIDAxLTEuMTguMjggMS4xNSAxLjE1IDAgMDEtLjc4LS45NCAxLjI2IDEuMjYgMCAwMC0uNzUtMS4xMSAxIDEgMCAwMC0xLjExLjI4bC0uMS4xYTEuMTUgMS4xNSAwIDAxLTEuMTkuMjkgMS4xNiAxLjE2IDAgMDEtLjc4LS45NWMtLjA5LS42OC0uMjEtLjc3LS43LS44N2EuODIuODIgMCAwMC0xIC40OCAxLjE2IDEuMTYgMCAwMS0yLjE2LS41OFYzLjc3YTEuNDYgMS40NiAwIDEwLTIuOTIgMHYxMi4xOGExLjE3IDEuMTcgMCAwMS0uODMgMS4xMSAxLjE1IDEuMTUgMCAwMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSAxLjM1IDAgMDAtMi0uMTJMMi43IDE1YTEuMzIgMS4zMiAwIDAwLS4zOSAxQTIuNTcgMi41NyAwIDAwMyAxNy44NWEyNy4yNCAyNy4yNCAwIDAxNC43IDUuNjIgMTIuNjMgMTIuNjMgMCAwMS45MSA0Ljc0em0xNC41OS00Ljg2ek02LjUxIDE2LjU5eiIgZmlsbD0iI2ZmZiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMSIvPjwvZz48L3N2Zz4=);
  }
}

@media screen and (max-width: 768px) {
  .scroll-hint-text {
    font-size: 10px;
    color: #fff;
    margin-top: 5px;
  }
}

@media screen and (max-width: 768px) {
  .scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
    opacity: 1;
  }
}

@media screen and (max-width: 768px) {
  .scroll-hint-icon:after {
    content: "";
    width: 34px;
    height: 14px;
    display: block;
    position: absolute;
    top: 10px;
    left: 50%;
    margin-left: -20px;
    background-repeat: no-repeat;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiI+PGcgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMSIgZmlsbD0iI2ZmZiI+PHBhdGggZD0iTTEuODUgNi4wMWg4LjU1TTEwLjQgNy4xN0gxLjg1YTEuMTYgMS4xNiAwIDExMC0yLjMxaDguNTVhMS4xNiAxLjE2IDAgMTEwIDIuMzF6Ii8+PHBhdGggZD0iTTcuNCAxMmExLjE1IDEuMTUgMCAwMS0uNzItLjI1bC02LjI1LTVBMS4yIDEuMiAwIDAxMCA1Ljg3IDEuMTQgMS4xNCAwIDAxLjQ2IDVMNi43LjIzYTEuMTYgMS4xNiAwIDAxMS40IDEuODVMMyA1LjkxIDguMTIgMTBhMS4xNiAxLjE2IDAgMDEtLjcyIDJ6TTMxLjQ1IDYuMDFoLTguNTZNMzEuNDUgNy4xN2gtOC41NmExLjE2IDEuMTYgMCAxMTAtMi4zMWg4LjU2YTEuMTYgMS4xNiAwIDAxMCAyLjMxeiIvPjxwYXRoIGQ9Ik0yNS45IDEyYTEuMTggMS4xOCAwIDAxLS45MS0uNDMgMS4xNyAxLjE3IDAgMDEuMTgtMS41N2w1LjA5LTQuMDUtNS4wNi0zLjg3QTEuMTYgMS4xNiAwIDAxMjYuNTkuMjNMMzIuODQgNWExLjE2IDEuMTYgMCAwMS40NS45MSAxLjE0IDEuMTQgMCAwMS0uNDMuOTJsLTYuMjQgNWExLjE3IDEuMTcgMCAwMS0uNzIuMTd6Ii8+PC9nPjwvZz48L3N2Zz4=);
    opacity: 0;
    transition-delay: 2.4s;
  }
}

.scroll-hint-icon {
  transition: opacity 0.6s ease;
}

/* スマホでフリック */
@keyframes scroll-hint-appear {
  0% {
    transform: translateX(40px);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  50%, to {
    transform: translateX(-40px);
    opacity: 0;
  }
}
.fixed-btn {
  position: fixed;
  bottom: 50px;
  right: 50px;
  z-index: 99;
  transform: translateY(120px);
  opacity: 0;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}
@media screen and (max-width: 768px) {
  .fixed-btn {
    width: 80px;
    aspect-ratio: 1;
    bottom: 20px;
    right: 20px;
  }
}

.fixed-btn.is-show {
  transform: translateY(0);
  opacity: 1;
}

.fixed-btn a {
  transition: 0.3s;
}
.fixed-btn a:hover {
  transform: translateY(-10px);
  opacity: 0.9;
}

@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.circle-wrapper {
  position: absolute;
  width: 1254.1666666667vw;
  max-width: 1290px;
  height: 89.5833333333vw;
  max-height: 1290px;
  right: 0;
  bottom: 0;
  transform: translate(50%, 50%);
}
@media screen and (max-width: 768px) {
  .circle-wrapper {
    width: 473px;
    height: 473px;
    bottom: 30%;
  }
}
.circle-wrapper .circle {
  width: 100%;
  height: 100%;
  background-image: url(../image/fitness/logo-deco.webp);
  background-repeat: no-repeat;
  background-size: contain;
  animation: rotation 30s linear infinite;
  transform-origin: center;
}

.section-contact {
  background-image: url(../image/top/contact-bg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: 40px;
  padding-bottom: 45px;
  color: #ffffff;
}
@media screen and (max-width: 768px) {
  .section-contact {
    padding-bottom: 80px;
    background-image: url(../image/top/contact-bg-sp.webp);
  }
}
.section-contact .tit-wrap {
  position: static;
}
.section-contact .contact-flex {
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .section-contact .contact-flex {
    flex-direction: column;
  }
}
.section-contact .tit-wrap h2 {
  font-size: clamp(5.5rem, 5.5vw, 6.6rem);
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .section-contact .tit-wrap h2 {
    font-size: 40px;
    margin-bottom: 16px;
  }
}
.section-contact .tit-wrap h2 span {
  color: #d72638;
}
.section-contact .tit-wrap h3 {
  font-size: clamp(1.8rem, 2vw, 2rem);
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .section-contact .tit-wrap h3 {
    margin-bottom: 20px;
  }
}
.section-contact .tit-wrap .note {
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .section-contact .tit-wrap .note {
    margin-bottom: 30px;
  }
}
.section-contact .contact-item {
  border-radius: 10px;
  background: transparent;
  backdrop-filter: blur(30px);
  --webkit-backdrop-filter: blur(30px);
  background-color: rgba(255, 255, 255, 0.15);
  width: 30%;
  max-width: 360px;
  padding: 15px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .section-contact .contact-item {
    width: 100%;
    max-width: 100%;
    margin-bottom: 30px;
  }
  .section-contact .contact-item:last-child {
    padding: 49px 0;
    margin-bottom: 0;
  }
}
.section-contact .contact-item h3 {
  margin-bottom: 14px;
}
.section-contact .contact-item .tel-number {
  font-size: clamp(2.4rem, 3vw, 3.2rem);
  margin-bottom: 14px;
}
@media screen and (max-width: 768px) {
  .section-contact .contact-item .tel-number {
    font-size: 32px;
    margin-bottom: 20px;
  }
}
.section-contact .contact-item .hour {
  font-size: clamp(1rem, 1.25vw, 1.2rem);
  line-height: 1.8333333333;
}
@media screen and (max-width: 768px) {
  .section-contact .contact-item .hour {
    font-size: 12px;
  }
}
.section-contact .contact-item .hour p:last-child {
  text-align: right;
}
.section-contact .contact-item .btn {
  max-width: 260px;
  width: 18.0555555556vw;
  min-width: 250px;
  height: 50px;
  background-color: #181919;
  position: relative;
  border-radius: 10px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .section-contact .contact-item .btn {
    width: 260px;
  }
}
.section-contact .contact-item .btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  background-color: #d72638;
  width: 100%;
  height: 50px;
  display: inline-block;
  transition: 0.3s;
}
.section-contact .contact-item .btn:hover::before {
  left: 0;
}
.section-contact .contact-item .link_arrow_s {
  width: 100%;
  line-height: 50px;
  padding-left: 20px;
  position: relative;
}
.section-contact .contact-item .link_arrow_s .arrow {
  position: absolute;
  width: 25px;
  aspect-ratio: 1;
  background-color: #ffffff;
  border-radius: 50%;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.3s;
  overflow: hidden;
}
.section-contact .contact-item .link_arrow_s .arrow::before {
  display: inline-block;
  content: "";
  position: absolute;
  background-image: url(../image/common/arrow-b.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 12px;
  aspect-ratio: 1;
  top: 0;
  left: 5px;
  right: 0;
  bottom: 0;
  margin: auto;
  transition: 0.3s;
}
.section-contact .contact-item .link_arrow_s .arrow::after {
  display: inline-block;
  content: "";
  position: absolute;
  background-image: url(../image/common/arrow-red.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 12px;
  aspect-ratio: 1;
  top: 0;
  left: 5px;
  right: 0;
  bottom: 0;
  margin: auto;
  transform: translateX(-30px);
  transition: 0.3s;
}
.section-contact .contact-item .link_arrow_s:hover .arrow::before {
  transform: translateX(30px);
}
.section-contact .contact-item .link_arrow_s:hover .arrow::after {
  transform: translateX(0);
}/*# sourceMappingURL=module.css.map */