@charset "UTF-8";
/* PCとSPの適用切り替え
--------------------------------- */
/* ホバー用メディアクエリ
--------------------------------- */
/* メディアクエリ調整関数
--------------------------------- */
/* 画面サイズ
--------------------------------- */
/*-----------------------------------
 Mixin
-----------------------------------*/
/* カラー
--------------------------------- */
/* スクロールバーサイズ
--------------------------------- */
:root {
  --sb-width: 0;
  --yellow: #F6B02C;
  --pink: #E72E7C;
  --blue: #62B8E9;
  --green: #2DB9BA;
}

/* 基本設定
--------------------------------- */
html {
  scroll-behavior: smooth;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  color: #000;
  font-weight: 700;
  scroll-behavior: smooth;
}

body, h1, h2, h3, h4, h5, h6, p, ul, li, span, figure {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

ul, li {
  list-style: none;
}

img, figure {
  width: 100%;
  vertical-align: bottom;
  object-fit: cover;
}

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

/* ボタン
--------------------------------- */
.btn {
  cursor: pointer;
  transition: all 0.2s;
}
.btn:hover {
  opacity: 0.9;
}

/* 設定
--------------------------------- */
@media (min-width: 768px) {
  .link-disable-pc {
    pointer-events: none;
  }
}
@media (max-width: 767px) {
  .link-disable-sp {
    pointer-events: none;
  }
}
html {
  font-size: 10px;
}

@media (max-width: 1300px) {
  html {
    font-size: calc((100vw - var(--sb-width)) / 136.6);
  }
}
@media (max-width: 767px) {
  html {
    font-size: calc((100vw - var(--sb-width)) / 37.5);
  }
}
body.fixed {
  overflow: hidden;
  position: fixed;
  width: 100%;
}

.anchor {
  margin-top: -5rem;
  padding-top: 5rem;
}

@media (max-width: 767px) {
  .anchor {
    margin-top: max(-4rem, -56px);
    padding-top: min(4rem, 56px);
  }
}
/* pc sp
--------------------------------- */
.dp-pc {
  display: block;
}

.dp-sp {
  display: none;
}

.dp-pc-ib {
  display: inline-block;
}

.dp-pc-im {
  display: block !important;
}

.dp-sp-im {
  display: none !important;
}

@media (max-width: 767px) {
  .dp-pc {
    display: none;
  }
  .dp-pc-ib {
    display: none;
  }
  .dp-sp {
    display: block;
  }
  .dp-pc-im {
    display: none !important;
  }
  .dp-sp-im {
    display: block !important;
  }
}
.dp-n {
  display: none;
}

.dp-n-im {
  display: none !important;
}

/* font
--------------------------------- */
.ff-noto {
  font-family: "Noto Sans JP", sans-serif;
}

.ff-maru {
  font-family: "Zen Maru Gothic", sans-serif;
}

/*-----------------------------------
 _typography.scss
-----------------------------------*/
.d-n,
.d-n-xs {
  display: none !important;
}

.d-i,
.d-i-xs {
  display: inline !important;
}

.d-b,
.d-b-xs {
  display: block !important;
}

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

.d-f,
.d-f-xs {
  display: flex !important;
}

@media (min-width: 576px) {
  .d-n-sm {
    display: none !important;
  }
  .d-i-sm {
    display: inline !important;
  }
  .d-b-sm {
    display: block !important;
  }
  .d-ib-sm {
    display: inline-block !important;
  }
  .d-f-sm {
    display: flex !important;
  }
}
@media (min-width: 768px) {
  .d-n-md {
    display: none !important;
  }
  .d-i-md {
    display: inline !important;
  }
  .d-b-md {
    display: block !important;
  }
  .d-ib-md {
    display: inline-block !important;
  }
  .d-f-md {
    display: flex !important;
  }
}
@media (min-width: 992px) {
  .d-n-lg {
    display: none !important;
  }
  .d-i-lg {
    display: inline !important;
  }
  .d-b-lg {
    display: block !important;
  }
  .d-ib-lg {
    display: inline-block !important;
  }
  .d-f-lg {
    display: flex !important;
  }
}
@media (min-width: 1200px) {
  .d-n-xl {
    display: none !important;
  }
  .d-i-xl {
    display: inline !important;
  }
  .d-b-xl {
    display: block !important;
  }
  .d-ib-xl {
    display: inline-block !important;
  }
  .d-f-xl {
    display: flex !important;
  }
}
/*-----------------------------------
 Global
-----------------------------------*/
html {
  font-size: 10px;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  color: #222;
  line-height: 1.2;
  background: #ffffff;
}

.container-lg {
  display: block;
  margin: 0 auto;
  width: 91.7948717949vw;
  max-width: 100%;
}
@media only screen and (min-width: 768px) {
  .container-lg {
    padding: 0;
    width: 88.8888888889vw;
  }
}

* {
  box-sizing: border-box;
}

.section {
  padding: 8.2051282051vw 0;
}
@media only screen and (min-width: 768px) {
  .section {
    padding: 4.4444444444vw 0;
  }
}
.section-header {
  position: relative;
  margin-bottom: 6.1538461538vw;
  padding-left: 8.7179487179vw;
}
@media only screen and (min-width: 768px) {
  .section-header {
    padding-left: 3.125vw;
    margin-bottom: 2.2222222222vw;
  }
}
.section-header::before {
  content: "";
  position: absolute;
  background-image: url(".././img/header/recommended-side-img.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  left: -1.0256410256vw;
  width: 7.6923076923vw;
  height: 8.2051282051vw;
}
@media only screen and (min-width: 768px) {
  .section-header::before {
    left: -0.2777777778vw;
    width: 2.5694444444vw;
    height: 2.7083333333vw;
  }
}
.section-header-jp {
  font-family: "Inter", sans-serif;
  font-weight: 700;
  font-size: 6.1538461538vw;
  line-height: 8.9743589744vw;
  letter-spacing: 0.03em;
}
@media only screen and (min-width: 768px) {
  .section-header-jp {
    line-height: 2.7083333333vw;
    font-size: 2.2222222222vw;
  }
}
.section-header-eng {
  font-family: "Barlow Semi Condensed", sans-serif;
  font-weight: 500;
  color: #e32799;
  margin-top: 1.0256410256vw;
  font-size: 3.5897435897vw;
  line-height: 3.5897435897vw;
  letter-spacing: -0.0358974359vw;
}
@media only screen and (min-width: 768px) {
  .section-header-eng {
    font-size: 1.3888888889vw;
    line-height: 1.3888888889vw;
    letter-spacing: -0.0138888889vw;
    margin-top: 0.2777777778vw;
  }
}

a {
  transition: all 0.2s ease;
}
a:hover {
  opacity: 0.7;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  color: #222;
  line-height: 1.2;
  background: #ffffff;
}

.container-lg {
  display: block;
  margin: 0 auto;
  width: 91.7948717949vw;
  max-width: 100%;
}
@media only screen and (min-width: 768px) {
  .container-lg {
    padding: 0;
    width: 88.8888888889vw;
  }
}

.container-sm {
  display: block;
  margin: 0 auto;
  width: 91.7948717949vw;
  max-width: 100%;
}
@media only screen and (min-width: 768px) {
  .container-sm {
    padding: 0;
    width: 64.4444444444vw;
  }
}

* {
  box-sizing: border-box;
}

.section {
  padding: 8.2051282051vw 0;
}
@media only screen and (min-width: 768px) {
  .section {
    padding: 4.4444444444vw 0;
  }
}
.section-header {
  position: relative;
  margin-bottom: 6.1538461538vw;
  padding-left: 8.7179487179vw;
}
@media only screen and (min-width: 768px) {
  .section-header {
    padding-left: 3.125vw;
    margin-bottom: 2.2222222222vw;
  }
}
.section-header::before {
  content: "";
  position: absolute;
  background-image: url(".././img/header/recommended-side-img.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  left: -1.0256410256vw;
  width: 7.6923076923vw;
  height: 8.2051282051vw;
}
@media only screen and (min-width: 768px) {
  .section-header::before {
    left: -0.2777777778vw;
    width: 2.5694444444vw;
    height: 2.7083333333vw;
  }
}
.section-header-jp {
  font-family: "Inter", sans-serif;
  font-weight: 700;
  font-size: 6.1538461538vw;
  line-height: 8.9743589744vw;
  letter-spacing: 0.1846153846vw;
}
@media only screen and (min-width: 768px) {
  .section-header-jp {
    line-height: 2.7083333333vw;
    font-size: 2.2222222222vw;
    letter-spacing: 0.0666666667vw;
  }
}
.section-header-eng {
  font-family: "Barlow Semi Condensed", sans-serif;
  font-weight: 500;
  color: #e32799;
  margin-top: 1.0256410256vw;
  font-size: 3.5897435897vw;
  line-height: 3.5897435897vw;
  letter-spacing: -0.0358974359vw;
}
@media only screen and (min-width: 768px) {
  .section-header-eng {
    font-size: 1.3888888889vw;
    line-height: 1.3888888889vw;
    letter-spacing: -0.0138888889vw;
    margin-top: 0.2777777778vw;
  }
}

a {
  transition: all 0.2s ease;
}
a:hover {
  opacity: 0.7;
}

.row {
  display: flex;
  align-items: flex-start;
  flex-direction: column-reverse;
  gap: 8.2051282051vw;
}
@media only screen and (min-width: 768px) {
  .row {
    gap: 3.6111111111vw;
    flex-direction: row;
  }
}
.row .col-one {
  width: 100%;
  max-width: 100%;
  padding-bottom: 32px;
}
@media only screen and (min-width: 768px) {
  .row .col-one {
    padding-bottom: 0;
    max-width: 20.8333333333vw;
  }
}
.row .col-two {
  width: 100%;
  max-width: 100%;
}
@media only screen and (min-width: 768px) {
  .row .col-two {
    max-width: 64.4444444444vw;
  }
}

.main.main-lg {
  padding-top: 7.6923076923vw;
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .main.main-lg {
    padding-top: 3.4722222222vw;
  }
}

.main.main-xl {
  margin: 0;
  padding-top: 21.7948717949vw;
}
@media only screen and (min-width: 768px) {
  .main.main-xl {
    padding-top: 3.4722222222vw;
  }
}

/* header
--------------------------------- */
.header {
  background-color: #ffffff;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .header {
    position: fixed;
    width: 100%;
    z-index: 10;
    top: 0;
  }
}
.header-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2.8205128205vw 0;
}
@media only screen and (min-width: 768px) {
  .header-container {
    padding: 1.5972222222vw 0;
  }
}
.header-logo {
  width: 50.2564102564vw;
  line-height: 0;
}
@media only screen and (min-width: 768px) {
  .header-logo {
    width: 22.2222222222vw;
  }
}
.header-search {
  display: flex;
  align-items: center;
  gap: 4.1025641026vw;
}
@media only screen and (max-width: 767px) {
  .header-search {
    position: fixed;
    background-color: #e32799;
    width: 100%;
    left: 0;
    top: 14.1025641026vw;
    opacity: 0;
    visibility: hidden;
    max-height: 0;
    transition: max-height 0.6s ease;
    z-index: 99;
  }
  .header-search.active {
    padding: 2.0512820513vw 4.1025641026vw;
    max-height: 100%;
    transition: max-height 0.6s ease;
    opacity: 1;
    visibility: visible;
  }
}
.header-search-input {
  display: flex;
  align-items: center;
  position: relative;
}
.header-search-input input {
  border-radius: 4px;
  border: 1px solid var(--Light-gray, #D9D9D9);
  background: #FFF;
  line-height: 5.3846153846vw;
  width: 81.5384615385vw;
  padding: 2.8205128205vw 24.1025641026vw 2.8205128205vw 10.2564102564vw;
  font-size: 3.5897435897vw;
}
.header-search-input input::placeholder, .header-search-input input::-moz-placeholder {
  color: #A3A3A3;
  font-size: 3.5897435897vw;
  line-height: 5.3846153846vw;
  letter-spacing: 0.1076923077vw;
}
@media only screen and (min-width: 768px) {
  .header-search-input input {
    padding: 0.5902777778vw 0.5555555556vw 0.5902777778vw 2.7777777778vw;
    width: 27.7777777778vw;
    font-size: 0.9722222222vw;
    line-height: 1.4583333333vw;
  }
  .header-search-input input::placeholder, .header-search-input input::-moz-placeholder {
    color: #A3A3A3;
    font-size: 0.9722222222vw;
    line-height: 1.4583333333vw;
    letter-spacing: 0.0291666667vw;
  }
}
.header-search-input::before {
  content: "";
  background-image: url(".././img/common/search-icon.svg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: absolute;
  display: block;
  top: 50%;
  transform: translateY(-50%);
  width: 6.1538461538vw;
  height: 6.1538461538vw;
  left: 2.8846153846vw;
}
@media only screen and (min-width: 768px) {
  .header-search-input::before {
    width: 1.6666666667vw;
    height: 1.6666666667vw;
    left: 0.5555555556vw;
  }
}
.header-search-submit {
  border-radius: 1.0256410256vw;
  background: #e32799;
  color: #ffffff;
  font-weight: 400;
  border: 0.2564102564vw solid #e32799;
  font-size: 3.5897435897vw;
  position: absolute;
  cursor: pointer;
  right: 2.0512820513vw;
  width: 15.641025641vw;
  letter-spacing: 0.1076923077vw;
  line-height: 5.3846153846vw;
}
@media only screen and (min-width: 768px) {
  .header-search-submit {
    letter-spacing: 0.0291666667vw;
    line-height: 1.4583333333vw;
    width: 4.1666666667vw;
    position: static;
    padding: 0.5902777778vw 0;
    margin-left: 1.1111111111vw;
    border: 0.0694444444vw solid #e32799;
    font-size: 0.9722222222vw;
    border-radius: 0.2777777778vw;
  }
}
.header-search-submit:hover {
  text-decoration: none;
  background-color: #ffffff;
  color: #e32799;
}
.header-search-sp-close {
  max-width: 6.1538461538vw;
  cursor: pointer;
}
.header-social {
  display: flex;
  align-items: center;
  gap: 6.1538461538vw;
  justify-content: center;
  margin-top: 6.1538461538vw;
  margin-bottom: 100px;
}
@media only screen and (min-width: 768px) {
  .header-social {
    gap: 1.1111111111vw;
    margin-top: 0;
  }
}
.header-social-icons {
  line-height: 0;
  max-width: 12.3076923077vw;
}
@media only screen and (min-width: 768px) {
  .header-social-icons {
    max-width: 2.7777777778vw;
  }
}
.header-email-btn a {
  background-color: #007FDD;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0.0694444444vw solid #007FDD;
  text-decoration: none;
  border-radius: 1.0256410256vw;
  transition: all 0.3s ease;
  width: 100%;
  height: 14.358974359vw;
  line-height: 6.1538461538vw;
  font-size: 4.1025641026vw;
  gap: 2.0512820513vw;
}
.header-email-btn a:visited {
  color: #ffffff;
}
@media only screen and (min-width: 768px) {
  .header-email-btn a {
    gap: 0.5555555556vw;
    font-size: 0.9722222222vw;
    line-height: 1.4583333333vw;
    height: 2.7777777778vw;
    width: 11.1111111111vw;
    border-radius: 0.2777777778vw;
  }
}
.header-email-btn a:hover {
  color: #007FDD;
  background-color: #ffffff;
}
.header-email-btn a:hover .norm {
  display: none;
}
.header-email-btn a:hover .hover {
  display: block;
}
.header-email-btn a .hover {
  display: none;
}
.header-email-btn a img {
  width: 6.1538461538vw;
}
@media only screen and (min-width: 768px) {
  .header-email-btn a img {
    width: 1.1111111111vw;
  }
}
.header-email-btn.sp {
  margin-top: 10.2564102564vw;
}
.header-email-btn.sp a {
  background-color: #ffffff;
  border-color: #ffffff;
  color: #e32799;
}
.header-email-btn.sp a:hover .norm {
  display: block;
}
.header-email-btn.header-search-btn a {
  background-color: #E32779;
  border: #E32779;
}
@media (hover: hover) {
  .header-email-btn.header-search-btn a:hover {
    background-color: #fff;
    color: #E32779;
    border: 0.5128205128vw solid #e32779;
  }
}
@media only screen and (hover: hover) and (min-width: 768px) {
  .header-email-btn.header-search-btn a:hover {
    border: 0.1388888889vw solid #e32779;
  }
}
.header .line-banners {
  width: 100%;
}
.header .line-banners a {
  display: block;
  margin-top: 2.5641025641vw;
}
.header-btm-links {
  background: #e32799;
}
@media only screen and (max-width: 767px) {
  .header-btm-links {
    max-height: 0;
    transition: max-height 0.6s ease, height 0.6s ease;
    overflow: hidden;
    position: fixed;
    top: 14.1025641026vw;
    width: 100%;
    z-index: 999;
    height: 0;
  }
}
@media only screen and (max-width: 767px) {
  .header-btm-links.active {
    max-height: 100%;
    transition: max-height 0.6s ease, height 0.6s ease;
    height: 100%;
    overflow: auto;
  }
}
.header-links {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
@media only screen and (min-width: 768px) {
  .header-links {
    padding: 0.5555555556vw 0;
    flex-direction: row;
  }
}
.header-item {
  border-bottom: 0.2564102564vw solid rgba(255, 255, 255, 0.3);
  width: 100%;
  text-align: start;
  padding-inline: 5.8974358974vw;
}
@media only screen and (min-width: 768px) {
  .header-item {
    padding-inline: 0;
    text-align: center;
    width: 11.1111111111vw;
    border-left: 0.0694444444vw solid #B91975;
    border-bottom: none;
  }
}
@media only screen and (min-width: 768px) {
  .header-item:last-of-type {
    border-right: 0.0694444444vw solid #B91975;
  }
}
.header-item a {
  font-weight: 700;
  color: #ffffff;
  text-decoration: none;
  padding: 5.8974358974vw 0;
  line-height: 7.4358974359vw;
  letter-spacing: 0.1538461538vw;
  font-size: 5.1282051282vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.header-item a:visited {
  color: #fff;
}
@media only screen and (min-width: 768px) {
  .header-item a {
    display: block;
    font-size: 1.1111111111vw;
    letter-spacing: 0.0333333333vw;
    line-height: 1.6666666667vw;
    padding: 0.5555555556vw 0;
  }
}
.header-item a img {
  width: 6.1538461538vw;
}
@media only screen and (min-width: 768px) {
  .header-item a img {
    display: none;
  }
}
.header-menu {
  display: flex;
  align-items: center;
  gap: 2.5641025641vw;
}
.header-sp-search {
  line-height: 0;
  transition: all 0.3s ease;
  cursor: pointer;
}
.header-sp-search img {
  width: 8.2051282051vw;
}
.header-hamburger {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 0.7692307692vw;
  line-height: 0;
  cursor: pointer;
  transition: all 0.3s ease;
}
.header-hamburger img {
  width: 6.1538461538vw;
}
.header-hamburger-txt {
  font-size: 2.0512820513vw;
  line-height: 3.0769230769vw;
  letter-spacing: 0.0615384615vw;
  font-weight: 700;
}
.header-hamburger.active .hamburger {
  display: none;
}
.header-hamburger.active .close {
  display: block;
}
.header-hamburger .close {
  display: none;
}

@media only screen and (max-width: 767px) {
  .main {
    margin-top: 14.1025641026vw;
  }
}

/* footer
--------------------------------- */
.footer {
  margin-top: auto;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-image: url("../img/footer/footer-bg-sp.svg");
}
@media only screen and (min-width: 768px) {
  .footer {
    background-image: url("../img/footer/footer-bg.svg");
  }
}
.footer-box {
  border-radius: 0.5555555556vw;
  background: #F8F8F8;
  display: flex;
  flex-direction: column;
  gap: 6.1538461538vw;
  margin-bottom: 12.3076923077vw;
  padding: 6.1538461538vw 4.1025641026vw;
}
@media only screen and (min-width: 768px) {
  .footer-box {
    margin-bottom: 6.9444444444vw;
    gap: 0;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    padding: 4.4444444444vw;
  }
}
.footer-logo {
  max-width: 71.7948717949vw;
  line-height: 0;
}
@media only screen and (min-width: 768px) {
  .footer-logo {
    max-width: 25vw;
  }
}
.footer-logo img {
  width: 100%;
}
.footer-links {
  display: flex;
  align-items: flex-start;
  gap: 10.2564102564vw;
}
@media only screen and (min-width: 768px) {
  .footer-links {
    max-width: 20.9722222222vw;
    gap: 2.7777777778vw;
  }
}
.footer-links .footer-item:not(:last-of-type) {
  margin-bottom: 4.1025641026vw;
}
@media only screen and (min-width: 768px) {
  .footer-links .footer-item:not(:last-of-type) {
    margin-bottom: 1.6666666667vw;
  }
}
.footer-links-col {
  flex-shrink: 0;
}
.footer-item {
  line-height: 0;
}
.footer-item a {
  font-weight: 400;
  text-decoration: none;
  color: #222;
  display: inline-flex;
  align-items: center;
  font-size: 3.5897435897vw;
  font-weight: 400;
  line-height: 5.3846153846vw;
  letter-spacing: 0.1076923077vw;
  gap: 2.0512820513vw;
  transition: all 0.2s ease;
}
.footer-item a:hover {
  opacity: 0.7;
}
@media only screen and (min-width: 768px) {
  .footer-item a {
    font-size: 1.1111111111vw;
    line-height: 1.6666666667vw;
    letter-spacing: 0.0333333333vw;
    gap: 0.5555555556vw;
  }
}
.footer-item img {
  width: 4.1025641026vw;
}
@media only screen and (min-width: 768px) {
  .footer-item img {
    width: 1.1111111111vw;
  }
}
.footer-social {
  display: flex;
  flex-direction: column;
  width: 100%;
  align-items: center;
  gap: 2.5641025641vw;
}
@media only screen and (min-width: 768px) {
  .footer-social {
    gap: 1.6666666667vw;
    align-items: flex-start;
    max-width: 24.6527777778vw;
  }
}
.footer-social .header-social {
  width: 100%;
  margin-top: 0;
}
@media only screen and (min-width: 768px) {
  .footer-social .header-social {
    flex-wrap: wrap;
    width: auto;
  }
}
.footer-social .line-banners {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .footer-social .line-banners {
    width: 16.25vw;
  }
}
.footer-social .line-banners a {
  display: block;
}
.footer-social .line-banners a:first-child {
  margin-bottom: 2.5641025641vw;
}
@media only screen and (min-width: 768px) {
  .footer-social .line-banners a:first-child {
    margin-bottom: 0.6944444444vw;
  }
}
.footer-social .header-social-icons {
  transition: all 0.2s ease;
}
@media only screen and (max-width: 767px) {
  .footer-social .header-social-icons img {
    width: 12.3076923077vw;
  }
}
.footer-social .header-social-icons:hover {
  opacity: 0.7;
}
.footer-social .header-social-icons.instagram {
  order: 3;
}
.footer-social .header-social-icons.x {
  order: 4;
}
.footer-social .header-social-icons.x-sp {
  margin: 2.5641025641vw auto;
}
.footer-social .header-social-icons.line {
  order: 2;
}
.footer-social .header-email-btn {
  order: 1;
}
@media only screen and (max-width: 767px) {
  .footer-social .header-email-btn {
    margin-right: 0.5555555556vw;
    flex-basis: 100%;
  }
}
.footer-social .header-email-btn a {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .footer-social .header-email-btn a {
    width: 12.4305555556vw;
  }
}
.footer-social .header-email-btn a img {
  width: 6.1538461538vw;
}
@media only screen and (min-width: 768px) {
  .footer-social .header-email-btn a img {
    width: 1.6666666667vw;
  }
}
.footer-social-btm {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .footer-social-btm {
    justify-content: flex-start;
  }
}
.footer-social-btm-txt {
  font-weight: 400;
  text-decoration: none;
  color: #222;
  border-right: 0.2564102564vw solid #D9D9D9;
  font-size: 3.0769230769vw;
  line-height: 4.6153846154vw;
  letter-spacing: 0.36px;
  width: 50%;
  text-align: center;
  padding-block: 0.5128205128vw;
  transition: all 0.2s ease;
}
.footer-social-btm-txt:hover {
  opacity: 0.7;
}
@media only screen and (min-width: 768px) {
  .footer-social-btm-txt {
    padding-block: 0;
    padding-right: 1.5972222222vw;
    border-right: 0.0694444444vw solid #D9D9D9;
    line-height: 1.4583333333vw;
    font-size: 0.9722222222vw;
    letter-spacing: 0.0291666667vw;
    text-align: start;
  }
}
.footer-social-btm-txt.privacy {
  border-right: none;
  padding-right: 0;
}
@media only screen and (min-width: 768px) {
  .footer-social-btm-txt.privacy {
    padding-left: 1.6666666667vw;
  }
}

.company {
  background-color: #e32799;
}
.company-container {
  display: flex;
  align-items: center;
  color: #ffffff;
  padding: 3.0769230769vw 0;
  flex-direction: column;
  gap: 2.0512820513vw;
}
@media only screen and (min-width: 768px) {
  .company-container {
    flex-direction: row;
    justify-content: space-between;
    padding: 0.8333333333vw 0;
    gap: 0;
  }
}
.company-copyright {
  font-weight: 400;
  font-size: 2.5641025641vw;
  line-height: 3.8461538462vw;
  letter-spacing: 0.0769230769vw;
}
@media only screen and (min-width: 768px) {
  .company-copyright {
    line-height: 1.25vw;
    font-size: 0.8333333333vw;
    letter-spacing: 0.025vw;
  }
}
.company-ttl {
  position: relative;
  font-weight: 400;
  font-size: 3.5897435897vw;
  line-height: 5.3846153846vw;
  letter-spacing: 0.1076923077vw;
}
.company-ttl a {
  padding-left: 5.1282051282vw;
}
@media only screen and (min-width: 768px) {
  .company-ttl a {
    padding-left: 1.3888888889vw;
  }
}
.company-ttl::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 4.1025641026vw;
  height: 4.1025641026vw;
  background: url(../img/footer/arrow_ic.png) no-repeat center/contain;
  transition: all 0.3s;
}
@media only screen and (min-width: 768px) {
  .company-ttl {
    font-size: 0.9722222222vw;
    line-height: 1.4583333333vw;
    letter-spacing: 0.0291666667vw;
  }
  .company-ttl::before {
    width: 1.1111111111vw;
    height: 1.1111111111vw;
  }
}

/* search
--------------------------------- */
.search .section-header::before {
  background-image: url(".././img/header/search-side-img.png");
  width: 8.9743589744vw;
  height: 8.2051282051vw;
}
@media only screen and (min-width: 768px) {
  .search .section-header::before {
    width: 3.4027777778vw;
    height: 3.125vw;
  }
}
.search-container {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
}
@media only screen and (min-width: 768px) {
  .search-container {
    gap: 2.7083333333vw;
    flex-direction: row;
  }
}
@media only screen and (min-width: 768px) {
  .search-head-col {
    max-width: 19.9305555556vw;
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .search-form-col {
    width: 100%;
    max-width: 66.25vw;
  }
}
.search-form-container {
  background: #FFF1F9;
  padding: 6.1538461538vw 4.1025641026vw;
  border-radius: 2.0512820513vw;
}
@media only screen and (min-width: 768px) {
  .search-form-container {
    border-radius: 0.5555555556vw;
    padding: 2.7777777778vw 10.9027777778vw;
  }
}
.search-form-tr {
  margin-bottom: 4.1025641026vw;
}
@media only screen and (min-width: 768px) {
  .search-form-tr {
    margin-bottom: 1.5277777778vw;
  }
}
.search-form-th {
  font-weight: 700;
  font-size: 4.1025641026vw;
  line-height: 6.1538461538vw;
  letter-spacing: 0.1230769231vw;
  margin-bottom: 2.0512820513vw;
}
@media only screen and (min-width: 768px) {
  .search-form-th {
    font-size: 1.1111111111vw;
    line-height: 1.6666666667vw;
    margin-bottom: 0.9722222222vw;
    letter-spacing: 0.0333333333vw;
  }
}
.search-form-checkbox {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 4.1025641026vw;
  row-gap: 2.5641025641vw;
}
@media only screen and (min-width: 768px) {
  .search-form-checkbox {
    column-gap: 1.3888888889vw;
    row-gap: 0.8333333333vw;
  }
}
.search-form-checkbox-group {
  display: flex;
  align-items: center;
  gap: 2.0512820513vw;
}
@media only screen and (min-width: 768px) {
  .search-form-checkbox-group {
    gap: 0.5555555556vw;
    flex-wrap: unset;
  }
}
.search-form-checkbox-group label {
  font-size: 3.5897435897vw;
  font-weight: 400;
  line-height: 5.3846153846vw;
  letter-spacing: 0.1076923077vw;
}
@media only screen and (min-width: 768px) {
  .search-form-checkbox-group label {
    font-size: 0.9722222222vw;
    line-height: 1.4583333333vw;
    letter-spacing: 0.0291666667vw;
  }
}
.search-form-checkbox-group input[type=checkbox] {
  accent-color: #e32799;
  margin: 0;
  width: 6.1538461538vw;
  height: 6.1538461538vw;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .search-form-checkbox-group input[type=checkbox] {
    width: 1.6666666667vw;
    height: 1.6666666667vw;
  }
}
.search-form-checkbox-group input[type=checkbox]::after {
  content: "";
  background-color: #ffffff;
  position: absolute;
  inset: 0;
  width: 6.1538461538vw;
  height: 6.1538461538vw;
  border: 0.2564102564vw solid #ABABAB;
  border-radius: 0.5128205128vw;
}
@media only screen and (min-width: 768px) {
  .search-form-checkbox-group input[type=checkbox]::after {
    width: 1.6666666667vw;
    height: 1.6666666667vw;
    border: 0.0694444444vw solid #ABABAB;
    border-radius: 0.1388888889vw;
  }
}
.search-form-checkbox-group input[type=checkbox]:checked::after {
  content: none;
}
.search-form-btns {
  display: inline-flex;
  flex-direction: column;
  gap: 4.1025641026vw;
  margin-top: 2.0512820513vw;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .search-form-btns {
    gap: 1.6666666667vw;
    margin-top: 1.1111111111vw;
    align-items: center;
    flex-direction: row;
  }
}
.search-form-btn {
  color: #e32799;
  background-color: #ffffff;
  text-decoration: none;
  transition: all 0.3s ease;
  max-width: 100%;
  width: 100%;
  display: inline-flex;
  border: 0.2564102564vw solid #e32799;
  padding: 3.8461538462vw 0;
  font-size: 4.1025641026vw;
  font-weight: 700;
  line-height: 6.1538461538vw;
  letter-spacing: 0.1230769231vw;
  border-radius: 1.0256410256vw;
  justify-content: center;
  cursor: pointer;
}
@media only screen and (min-width: 768px) {
  .search-form-btn {
    border: 0.0694444444vw solid #e32799;
    font-size: 1.1111111111vw;
    line-height: 1.6666666667vw;
    border-radius: 0.2777777778vw;
    letter-spacing: 0.0333333333vw;
    padding: 0.4861111111vw 0;
    width: 10.2083333333vw;
  }
}
.search-form-btn:hover {
  background-color: #e32799;
  color: #ffffff;
}
.search-form-btn.search {
  background-color: #e32799;
  color: #ffffff;
}
@media only screen and (min-width: 768px) {
  .search-form-btn.search {
    width: 13.6111111111vw;
  }
}
.search-form-btn.search:hover {
  background-color: #ffffff;
  color: #e32799;
}
.search-form-select {
  position: relative;
  flex-shrink: 0;
}
.search-form-select::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 2.0512820513vw;
  pointer-events: none;
  background-image: url(".././img/search/chevron_down.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  width: 6.1538461538vw;
  height: 6.1538461538vw;
}
@media only screen and (min-width: 768px) {
  .search-form-select::after {
    width: 1.6666666667vw;
    height: 1.6666666667vw;
    right: 0.5555555556vw;
  }
}
.search-form-select::after img {
  display: block;
}
.search-form-select select {
  -webkit-appearance: none;
  appearance: none;
  position: relative;
  display: block;
  padding: 2.0512820513vw;
  width: 46.1538461538vw;
  height: 10.2564102564vw;
  background: #fff;
  cursor: pointer;
  font-size: 3.5897435897vw;
}
@media only screen and (min-width: 768px) {
  .search-form-select select {
    font-size: 0.9722222222vw;
    width: 13.8888888889vw;
    height: 2.7777777778vw;
    padding: 0.5555555556vw;
  }
}
.search-form-select select:not(:-internal-select-author-button) {
  border-color: #ABABAB;
  border-radius: 1.0256410256vw;
}
@media only screen and (min-width: 768px) {
  .search-form-select select:not(:-internal-select-author-button) {
    border-radius: 0.2777777778vw;
  }
}
.search-form-select-container {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 2.0512820513vw;
}
@media only screen and (min-width: 768px) {
  .search-form-select-container {
    gap: 1.1111111111vw;
  }
}
.search-form-select-txt {
  font-weight: 400;
  font-size: 3.5897435897vw;
  line-height: 5.3846153846vw;
  letter-spacing: 0.1076923077vw;
}
@media only screen and (min-width: 768px) {
  .search-form-select-txt {
    font-size: 0.9722222222vw;
    line-height: 1.4583333333vw;
    letter-spacing: 0.0291666667vw;
  }
}
.search-form .down-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 2.0512820513vw;
}
@media only screen and (min-width: 768px) {
  .search-form .down-arrow {
    right: 0.5555555556vw;
  }
}
.search-form .down-arrow img {
  display: block;
  width: 6.1538461538vw;
  height: 6.1538461538vw;
}
@media only screen and (min-width: 768px) {
  .search-form .down-arrow img {
    width: 1.6666666667vw;
    height: 1.6666666667vw;
  }
}
.search-form-date {
  position: relative;
  max-width: 61.5384615385vw;
  height: 10.2564102564vw;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .search-form-date {
    height: 2.7777777778vw;
    max-width: 16.6666666667vw;
  }
}
.search-form-date-container {
  display: flex;
  flex-direction: column;
  gap: 2.0512820513vw;
}
@media only screen and (min-width: 768px) {
  .search-form-date-container {
    gap: 1.1111111111vw;
    align-items: center;
    flex-direction: row;
  }
}
.search-form-date-col {
  display: flex;
  align-items: center;
  gap: 2.0512820513vw;
}
@media only screen and (min-width: 768px) {
  .search-form-date-col {
    flex: 1;
    max-width: 18.75vw;
    gap: 1.1111111111vw;
    width: 100%;
  }
}
.search-form-date-col .search-form-select-txt {
  flex-shrink: 0;
}
.search-form-date input {
  width: 100%;
  height: 100%;
  border: 1px solid var(--Light-gray, #D9D9D9);
  padding: 2.4358974359vw 2.0512820513vw;
  border-radius: 1.0256410256vw;
  font-size: 3.5897435897vw;
}
.search-form-date input::placeholder {
  display: flex;
  align-items: center;
  margin-top: 5px;
  line-height: 1;
  font-size: 3.5897435897vw;
}
@media only screen and (min-width: 768px) {
  .search-form-date input {
    border-radius: 0.2777777778vw;
    width: 16.6666666667vw;
    padding: 0.6597222222vw 0.5555555556vw;
    font-size: 1.1111111111vw;
  }
  .search-form-date input::placeholder {
    font-size: 1.1111111111vw;
  }
}
.search-form-date .calendar {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 2.0512820513vw;
  width: 6.1538461538vw;
  height: 6.1538461538vw;
}
@media only screen and (min-width: 768px) {
  .search-form-date .calendar {
    width: 1.6666666667vw;
    height: 1.6666666667vw;
    right: 0.5555555556vw;
  }
}
.search-form .header-search-input input {
  width: 100%;
  padding-right: 4.1025641026vw;
  font-size: 3.5897435897vw;
}
@media only screen and (min-width: 768px) {
  .search-form .header-search-input input {
    font-size: 1.1111111111vw;
    padding-right: 1.1111111111vw;
    line-height: 1.75;
  }
}
.search-form .header-search-input input {
  line-height: 1.7;
}
@media only screen and (max-width: 767px) {
  .search-form .header-search-input {
    height: 10.2564102564vw;
  }
  .search-form .header-search-input input {
    height: 100%;
    line-height: 1.7;
  }
}

/* recommend posts
--------------------------------- */
.recommend-posts.event-detail {
  overflow: hidden;
}
.recommend-posts.event-detail-popular {
  width: 100%;
  padding-bottom: 8.2051282051vw;
}
@media only screen and (min-width: 768px) {
  .recommend-posts.event-detail-popular {
    max-width: 65.9722222222vw;
    margin-left: auto;
    padding-bottom: 0;
  }
}
.recommend-posts.event-detail-popular .event {
  background-color: #fff;
  overflow: unset;
}
.recommend-posts.event-detail-popular .event .event-row {
  gap: 1.3888888889vw;
}
.recommend-posts.event-detail-popular .event .recommend-box {
  width: calc(33.3333333333% - 0.9259259259vw);
}
.recommend-posts.event-detail-images {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 2.5641025641vw 1.8794871795vw;
}
@media only screen and (min-width: 768px) {
  .recommend-posts.event-detail-images {
    gap: 1.3888888889vw;
  }
}
.recommend-posts.event-detail-img {
  line-height: 0;
  width: calc(20% - vw-sp(7.33px) * 4 / 5);
  cursor: pointer;
}
@media only screen and (min-width: 768px) {
  .recommend-posts.event-detail-img {
    width: calc(20% - vw(20px) * 4 / 5);
  }
}
.recommend-posts.event-detail-img:first-child {
  width: 100%;
}
.recommend-posts.event-detail-accordion {
  max-height: 332px;
  height: 100%;
  overflow: hidden;
  position: relative;
  transition: all 0.3s ease-in-out;
  margin-top: 5.1282051282vw;
}
@media only screen and (min-width: 768px) {
  .recommend-posts.event-detail-accordion {
    margin-top: 2.0833333333vw;
  }
}
.recommend-posts.event-detail-accordion::after {
  content: "";
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #FFF 100%);
  width: 100%;
  position: absolute;
  bottom: 0;
  height: 50.2564102564vw;
}
@media only screen and (min-width: 768px) {
  .recommend-posts.event-detail-accordion::after {
    height: 6.6666666667vw;
  }
}
.recommend-posts.event-detail-accordion.open {
  transition: all 0.3s ease-in-out;
}
.recommend-posts.event-detail-accordion.open::after {
  content: none;
  overflow: auto;
}
.recommend-posts.event-detail-accordion-box {
  background: #FDEAF2;
  margin-top: 7.6923076923vw;
  border: 0.2564102564vw solid #E32779;
  padding: 5.1282051282vw;
  border-radius: 1.0256410256vw;
}
@media only screen and (min-width: 768px) {
  .recommend-posts.event-detail-accordion-box {
    border-radius: 0.2777777778vw;
    border: 0.0694444444vw solid #E32779;
    padding: 1.3888888889vw;
    margin-top: 2.0833333333vw;
  }
}
.recommend-posts.event-detail-accordion-box .event-detail-accordion-txt {
  margin-top: 1.3888888889vw;
}
@media (max-width: 767px) {
  .recommend-posts.event-detail-accordion-box .event-detail-accordion-txt {
    font-size: 4.1025641026vw;
    font-weight: 400;
    line-height: 6.1538461538vw;
    letter-spacing: 0.1230769231vw;
    margin-top: 5.1282051282vw;
  }
}
.recommend-posts.event-detail-accordion-txt-ttl {
  color: #222;
  font-weight: 700;
  position: relative;
  font-size: 4.6153846154vw;
  line-height: 6.9230769231vw;
  padding-left: 4.358974359vw;
  letter-spacing: 0.1384615385vw;
}
@media only screen and (min-width: 768px) {
  .recommend-posts.event-detail-accordion-txt-ttl {
    font-size: 1.25vw;
    line-height: 1.875vw;
    letter-spacing: 0.0375vw;
    padding-left: 1.1805555556vw;
  }
}
.recommend-posts.event-detail-accordion-txt-ttl::before {
  content: "";
  position: absolute;
  left: 0;
  background-color: #e32799;
  height: 100%;
  width: 1.7948717949vw;
}
@media only screen and (min-width: 768px) {
  .recommend-posts.event-detail-accordion-txt-ttl::before {
    width: 0.4861111111vw;
  }
}
.recommend-posts.event-detail-accordion-row:not(:first-of-type) {
  margin-top: 5.1282051282vw;
}
@media only screen and (min-width: 768px) {
  .recommend-posts.event-detail-accordion-row:not(:first-of-type) {
    margin-top: 2.0833333333vw;
  }
}
.recommend-posts.event-detail-accordion-row .event-detail-accordion-txt {
  margin-top: 2.5641025641vw;
}
@media only screen and (min-width: 768px) {
  .recommend-posts.event-detail-accordion-row .event-detail-accordion-txt {
    margin-top: 0.6944444444vw;
  }
}
.recommend-posts.event-detail-accordion-txt {
  font-weight: 400;
  font-size: 3.0769230769vw;
  line-height: 4.6153846154vw;
  letter-spacing: 0.0923076923vw;
}
@media only screen and (min-width: 768px) {
  .recommend-posts.event-detail-accordion-txt {
    font-size: 1.1111111111vw;
    line-height: 1.6666666667vw;
    letter-spacing: 0.0333333333vw;
  }
}
.recommend-posts.event-detail-accordion-txt .bold {
  font-weight: 700;
  font-size: 4.6153846154vw;
  line-height: 6.9230769231vw;
  letter-spacing: 0.1384615385vw;
}
@media only screen and (min-width: 768px) {
  .recommend-posts.event-detail-accordion-txt .bold {
    font-size: 1.25vw;
    line-height: 1.875vw;
    letter-spacing: 0.0375vw;
  }
}
.recommend-posts.event-detail-accordion-txt a {
  color: #e32799;
  text-decoration: underline;
  word-break: break-all;
}
.recommend-posts.event-detail-accordion-txt.mt {
  margin-top: 5.1282051282vw;
}
@media only screen and (min-width: 768px) {
  .recommend-posts.event-detail-accordion-txt.mt {
    margin-top: 1.3888888889vw;
  }
}
.recommend-posts.event-detail-accordion-txt.fw-b {
  font-weight: 700;
}
.recommend-posts.event-detail-accordion-btn {
  text-align: center;
  margin-top: 2.0833333333vw;
}
.recommend-posts.event-detail-accordion-btn button {
  color: #222;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
  border: 1px solid #eaeaea;
  width: 100%;
  height: 13.5897435897vw;
  font-size: 4.1025641026vw;
  font-weight: 700;
  letter-spacing: 0.1230769231vw;
}
@media only screen and (min-width: 768px) {
  .recommend-posts.event-detail-accordion-btn button {
    width: 31.25vw;
    height: 4.0972222222vw;
    font-size: 1.3888888889vw;
    letter-spacing: 0.0416666667vw;
    line-height: 2.0138888889vw;
    border-radius: 0.2777777778vw;
  }
}
.recommend-posts.event-detail-accordion-btn button:hover {
  opacity: 0.7;
}
.recommend-posts.event-detail-iframe {
  line-height: 0;
  margin-top: 8.2051282051vw;
}
@media only screen and (min-width: 768px) {
  .recommend-posts.event-detail-iframe {
    margin-top: 3.4722222222vw;
  }
}
.recommend-posts.event-detail-iframe iframe {
  aspect-ratio: 928/524;
}
.recommend-posts.event-detail-iframe-btn {
  text-align: center;
  margin-top: 5.1282051282vw;
}
@media only screen and (min-width: 768px) {
  .recommend-posts.event-detail-iframe-btn {
    margin-top: 2.0833333333vw;
  }
}
.recommend-posts.event-detail-iframe-btn a {
  background-color: #e32799;
  border: 1px solid #e32799;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  font-size: 4.1025641026vw;
  font-weight: 700;
  line-height: 5.8974358974vw;
  letter-spacing: 0.1230769231vw;
  color: #FFF;
  width: 100%;
  height: 13.5897435897vw;
  border-radius: 1.0256410256vw;
}
@media only screen and (min-width: 768px) {
  .recommend-posts.event-detail-iframe-btn a {
    border-radius: 0.2777777778vw;
    width: 31.25vw;
    height: 4.0972222222vw;
    font-size: 1.3888888889vw;
    font-weight: 700;
    letter-spacing: 0.0416666667vw;
  }
}
.recommend-posts.event-detail-table {
  padding-bottom: 8.2051282051vw;
  margin-top: 8.2051282051vw;
}
@media only screen and (min-width: 768px) {
  .recommend-posts.event-detail-table {
    margin-top: 3.4722222222vw;
    padding-bottom: 4.4444444444vw;
  }
}
.recommend-posts.event-detail-table-tr {
  display: flex;
  flex-direction: column;
}
@media only screen and (min-width: 768px) {
  .recommend-posts.event-detail-table-tr {
    flex-direction: row;
  }
}
.recommend-posts.event-detail-table-tr:last-of-type .event-detail-table-td {
  border-bottom: 1px solid #eaeaea;
}
.recommend-posts.event-detail-table-th, .recommend-posts.event-detail-table-td {
  display: flex;
  align-items: center;
  padding: 2.5641025641vw 2.3076923077vw;
}
@media only screen and (min-width: 768px) {
  .recommend-posts.event-detail-table-th, .recommend-posts.event-detail-table-td {
    padding: 1.3194444444vw 1.3888888889vw;
  }
}
.recommend-posts.event-detail-table-th {
  width: 100%;
  background-color: #eaeaea;
  max-width: 100%;
  justify-content: start;
}
@media only screen and (min-width: 768px) {
  .recommend-posts.event-detail-table-th {
    justify-content: center;
    max-width: 19.4444444444vw;
    border-bottom: 1px solid #fff;
  }
}
.recommend-posts.event-detail-table-th .event-detail-table-txt {
  font-weight: 700;
}
.recommend-posts.event-detail-table-td {
  background: #FFF;
  flex: 1;
  border-right: 1px solid #EAEAEA;
  border-left: 1px solid #EAEAEA;
}
@media only screen and (min-width: 768px) {
  .recommend-posts.event-detail-table-td {
    border-top: 1px solid #EAEAEA;
    border-bottom: 1px solid #EAEAEA;
    border-right: 1px solid #EAEAEA;
    border-left: 1px solid #EAEAEA;
  }
}
@media only screen and (max-width: 767px) {
  .recommend-posts.event-detail-table-td .event-detail-table-txt {
    font-size: 3.0769230769vw;
    font-weight: 400;
    line-height: 4.6153846154vw;
    letter-spacing: 0.0923076923vw;
  }
}
.recommend-posts.event-detail-table-txt {
  font-size: 3.5897435897vw;
  font-weight: 400;
  line-height: 5.3846153846vw;
  letter-spacing: 0.1076923077vw;
}
@media only screen and (min-width: 768px) {
  .recommend-posts.event-detail-table-txt {
    font-size: 1.1111111111vw;
    line-height: 1.6666666667vw;
    letter-spacing: 0.0333333333vw;
  }
}
@media only screen and (max-width: 767px) {
  .recommend-posts.event-detail-table-txt.lg {
    font-size: 4.1025641026vw;
    line-height: 6.1538461538vw;
    letter-spacing: 0.1230769231vw;
  }
}
.recommend-posts.event-detail-table-chukyoTv {
  max-width: 25.641025641vw;
}
@media only screen and (min-width: 768px) {
  .recommend-posts.event-detail-table-chukyoTv {
    max-width: 7.6388888889vw;
  }
}
.recommend-posts.event-detail-table-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  gap: 2.5641025641vw;
}
@media only screen and (min-width: 768px) {
  .recommend-posts.event-detail-table-row {
    gap: 0.6944444444vw;
  }
}
.recommend-posts.event-detail-table-box {
  background-color: #FDEAF2;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  color: #222;
  text-decoration: none;
  width: 100%;
  font-size: 3.5897435897vw;
  font-weight: 500;
  line-height: 5.3846153846vw;
  letter-spacing: 0.1076923077vw;
  border-radius: 1.0256410256vw;
  gap: 2.5641025641vw;
  padding: 2.5641025641vw;
}
@media only screen and (min-width: 768px) {
  .recommend-posts.event-detail-table-box {
    padding: 0.6944444444vw;
    gap: 0.3472222222vw;
    border-radius: 0.2777777778vw;
    font-size: 0.9722222222vw;
    line-height: 1.4583333333vw;
    letter-spacing: 0.0291666667vw;
    width: calc(33.3333333333% - vw(10px) * 2 / 3);
  }
}
.recommend-posts.event-detail-table-box img {
  width: 7.6923076923vw;
}
@media only screen and (min-width: 768px) {
  .recommend-posts.event-detail-table-box img {
    width: 2.0833333333vw;
  }
}
.recommend-posts.event-detail-table-box::after {
  content: "";
  position: absolute;
  background-image: url(".././img/event/detail/share.svg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  top: 50%;
  transform: translateY(-50%);
  right: 3.8461538462vw;
  width: 3.8461538462vw;
  height: 3.8461538462vw;
}
@media only screen and (min-width: 768px) {
  .recommend-posts.event-detail-table-box::after {
    width: 1.0416666667vw;
    height: 1.0416666667vw;
    right: 0.4861111111vw;
  }
}
.recommend-posts.event-detail-table-ticket {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 2.5641025641vw;
}
@media only screen and (min-width: 768px) {
  .recommend-posts.event-detail-table-ticket {
    gap: 0.6944444444vw;
  }
}
.recommend-posts.event-detail-table-ticket-box {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  margin: 0 auto;
  width: 100%;
  padding: 4.1025641026vw 0;
  background-image: url(".././img/event/detail/ticket-bg-sp.png");
  text-decoration: none;
  cursor: pointer;
}
@media only screen and (min-width: 768px) {
  .recommend-posts.event-detail-table-ticket-box {
    max-width: 38.0555555556vw;
    padding: 1.1111111111vw 0;
    background-image: url(".././img/event/detail/ticket-bg.png");
  }
}
.recommend-posts.event-detail-table-ticket-box-txt {
  text-align: center;
  font-weight: 700;
  color: #fff;
  font-size: 3.5897435897vw;
  line-height: 5.3846153846vw;
  letter-spacing: 0.1076923077vw;
  margin-left: 11.5384615385vw;
}
@media only screen and (min-width: 768px) {
  .recommend-posts.event-detail-table-ticket-box-txt {
    margin-left: 0;
    font-size: 1.1111111111vw;
    line-height: 1.6666666667vw;
    letter-spacing: 0.0333333333vw;
  }
}
.recommend-posts.event-detail-banner {
  position: relative;
}
.recommend-posts.event-detail-banner-img {
  position: fixed;
  z-index: 2;
  right: 4.6153846154vw;
  max-width: 30.7692307692vw;
  bottom: 4.6153846154vw;
  filter: drop-shadow(0px 2px 5px rgba(0, 0, 0, 0.3));
}
@media screen and (orientation: landscape) and (max-width: 900px) {
  .event-detail-banner-img {
    display: none;
  }
}

@media only screen and (min-width: 768px) {
  .recommend-posts.event-detail-banner-img {
    max-width: 10.4166666667vw;
    right: 1.7361111111vw;
    bottom: 1.7361111111vw;
  }
}
.recommend-posts.event-detail-banner-img img {
  width: 100%;
}

/* pagenation
--------------------------------- */
.pagination {
  margin-top: 8.2051282051vw;
}
@media only screen and (min-width: 768px) {
  .pagination {
    margin-top: 3.4722222222vw;
  }
}
.pagination__list {
  display: flex;
  justify-content: center;
}
.pagination__item {
  background-color: #e32799;
  border: 0.2564102564vw solid #e32799;
  height: 7.6923076923vw;
  min-width: 7.6923076923vw;
  border-radius: 1.0256410256vw;
}
@media only screen and (min-width: 768px) {
  .pagination__item {
    border: 0.0694444444vw solid #e32799;
    height: 2.0833333333vw;
    min-width: 2.0833333333vw;
    border-radius: 0.2777777778vw;
  }
}
.pagination__item:not(:last-of-type) {
  margin-right: 2.5641025641vw;
}
@media only screen and (min-width: 768px) {
  .pagination__item:not(:last-of-type) {
    margin-right: 0.6944444444vw;
  }
}
.pagination__item a {
  font-family: "noto-sans-jp", sans-serif;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 4.6153846154vw;
  line-height: 3.3333333333vw;
  color: #ffffff;
  font-weight: 700;
  height: 100%;
  padding: 1.7948717949vw;
  text-decoration: none;
  transition: all 0.25s ease;
}
@media only screen and (min-width: 768px) {
  .pagination__item a {
    font-size: 1.25vw;
    line-height: 0.9027777778vw;
    padding: 0.4861111111vw;
  }
}
.pagination__item a:hover {
  opacity: 0.7;
}
.pagination__item a:visited {
  color: #fff;
}
.pagination__item.-dots, .pagination__item:has(.dots) {
  background-color: transparent;
  border: none;
  min-width: auto;
}
.pagination__item.-dots a, .pagination__item.-dots span, .pagination__item:has(.dots) a, .pagination__item:has(.dots) span {
  color: #000;
  padding-left: 0;
  padding-right: 0;
}
.pagination__item.-active {
  background-color: #ffffff;
  border: 0.2564102564vw solid #e32799;
}
@media only screen and (min-width: 768px) {
  .pagination__item.-active {
    border: 0.0694444444vw solid #e32799;
  }
}
.pagination__item.-active a, .pagination__item.-active span {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #e32799;
  font-size: 1.25vw;
  line-height: 0.9027777778vw;
  padding: 0.4861111111vw;
}
.pagination__item.-next {
  transform: rotate(180deg);
}
.pagination__item.-prev, .pagination__item.-next {
  background-color: unset;
  border: none;
}
.pagination__item.-prev a, .pagination__item.-next a {
  padding: 0;
}
/* purchase
--------------------------------- */
@media only screen and (min-width: 768px) {
  .purchase.section {
    padding: 0 0 4.4444444444vw;
  }
}
.purchase-head {
  background: #f8f8f8;
  font-weight: 700;
  text-align: center;
  font-size: 4.1025641026vw;
  line-height: 6.1538461538vw;
  letter-spacing: 0.1230769231vw;
  padding: 2.0512820513vw 0;
}
@media only screen and (min-width: 768px) {
  .purchase-head {
    padding: 0.5555555556vw 1.6666666667vw;
    font-size: 1.1111111111vw;
    line-height: 1.6666666667vw;
    text-align: start;
    letter-spacing: 0.0333333333vw;
  }
}
.purchase-banner {
  display: block;
  margin: 8.2051282051vw 0;
}
@media only screen and (min-width: 768px) {
  .purchase-banner {
    max-width: 64.5833333333vw;
    margin: 2.2222222222vw auto 0;
  }
}
.purchase-banner img {
  width: 100%;
}
.purchase-slider-banner .purchase-slider .swiper-wrapper {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 4.1025641026vw;
}
@media only screen and (min-width: 768px) {
  .purchase-slider-banner .purchase-slider .swiper-wrapper {
    flex-direction: row;
    gap: 0;
  }
}
.purchase-slider-banner .purchase-slider .swiper-wrapper .purchase-slide {
  line-height: 0;
  transition: all 0.3s ease;
}
@media only screen and (min-width: 768px) {
  .purchase-slider-banner .purchase-slider .swiper-wrapper .purchase-slide:hover {
    opacity: 1;
  }
}
.purchase-slider-banner .purchase-slider .swiper-wrapper .purchase-slide img {
  width: 100%;
}

/* サイドバーのおすすめ記事
--------------------------------- */
.recommend-event-box {
  display: flex;
  align-items: center;
  gap: 3.8461538462vw;
  margin-top: 2.5641025641vw;
  padding-bottom: 2.5641025641vw;
  border-bottom: 0.2564102564vw solid #D9D9D9;
  cursor: pointer;
  text-decoration: none;
}
@media only screen and (min-width: 768px) {
  .recommend-event-box {
    gap: 1.0416666667vw;
    margin-top: 1.0416666667vw;
    border-bottom: 0.0694444444vw solid #D9D9D9;
    padding-bottom: 1.0416666667vw;
  }
}
@media only screen and (min-width: 768px) {
  .recommend-event-box:last-child {
    padding: 0;
    border-bottom: none;
  }
}
.recommend-event-box-img {
  max-width: 30.7692307692vw;
  aspect-ratio: 1/1;
  flex-shrink: 0;
  line-height: 0;
}
.recommend-event-box-img img {
  height: 100%;
  object-fit: contain;
  background: #e6e6e6;
}
@media only screen and (min-width: 768px) {
  .recommend-event-box-img {
    max-width: 8.3333333333vw;
  }
}
.recommend-event-box-content {
  color: #000;
  font-size: 3.5897435897vw;
  font-weight: 500;
  line-height: 5.1282051282vw;
  letter-spacing: 0.1076923077vw;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .recommend-event-box-content {
    font-family: "Noto Sans JP";
    font-size: 0.9722222222vw;
    line-height: 1.3888888889vw;
    letter-spacing: 0.0291666667vw;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    overflow: hidden;
  }
}

/* other
--------------------------------- */
.pagetitlebar {
  background-image: url(.././img/common/pagetitlebg-sp.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  text-align: center;
  padding-block: 10.7692307692vw 11.0256410256vw;
  margin-top: 14.1025641026vw;
}
@media only screen and (min-width: 768px) {
  .pagetitlebar {
    background-image: url(.././img/common/pagetitlebg-pc.png);
    padding-block: 2.9166666667vw 2.9861111111vw;
    margin-top: 0;
  }
}
.pagetitlebar__title {
  font-family: "Inter", sans-serif;
  font-size: 7.6923076923vw;
  font-weight: 700;
  line-height: 11.5384615385vw; /* 45px */
  letter-spacing: 0.2307692308vw;
}
@media only screen and (min-width: 768px) {
  .pagetitlebar__title {
    font-size: 2.0833333333vw;
    font-weight: 700;
    line-height: 3.125vw; /* 45px */
    letter-spacing: 0.0625vw;
  }
}
.pagetitlebar__subtitle {
  font-family: "Barlow Semi Condensed", sans-serif;
  color: #e32799;
  font-size: 5.1282051282vw;
  font-weight: 500;
  line-height: 5.1282051282vw; /* 45px */
  letter-spacing: -0.0512820513vw;
}
@media only screen and (min-width: 768px) {
  .pagetitlebar__subtitle {
    font-size: 1.3888888889vw;
    line-height: 1.3888888889vw; /* 45px */
    letter-spacing: -0.0138888889vw;
  }
}

.heading-underline {
  color: var(--Black, #222);
  font-family: "Inter", sans-serif;
  font-size: 5.1282051282vw;
  font-weight: 700;
  line-height: 6.1538461538vw;
  letter-spacing: 0.1538461538vw;
  padding-bottom: 1.2820512821vw;
  border-bottom: 0.7692307692vw solid #e32799;
  margin-bottom: 3.8461538462vw;
}
@media only screen and (min-width: 768px) {
  .heading-underline {
    font-size: 1.8055555556vw;
    line-height: 2.1527777778vw;
    letter-spacing: 0.0541666667vw;
    padding-bottom: 0.3472222222vw;
    border-bottom: 0.2777777778vw solid #e32799;
    margin-bottom: 1.3888888889vw;
  }
}

/* mv
--------------------------------- */
.mv {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-image: url("../img/mv/mv-bg-sp.svg");
}
@media only screen and (min-width: 768px) {
  .mv {
    background-image: url(".././img/mv/mv-bg.svg");
  }
}
.mv-carousel {
  padding: 8.2051282051vw 0 17.4358974359vw;
}
@media only screen and (min-width: 768px) {
  .mv-carousel {
    padding: 6.25vw 0 8.4722222222vw;
  }
}
.mv-carousel .mv-item {
  line-height: 0;
}
.mv-carousel .mv-item:hover {
  opacity: 1;
}
.mv-carousel .swiper-slide {
  transition: all 0.5s;
}
.mv-carousel .swiper-slide img {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .mv-carousel .swiper-slide {
    width: 57.7777777778vw !important;
    margin-inline: 3.7152777778vw !important;
  }
}
.mv-carousel .swiper-wrapper {
  transition-timing-function: ease-in-out;
}
.mv-carousel .swiper-slide-active {
  z-index: 2;
}
@media only screen and (min-width: 768px) {
  .mv-carousel .swiper-slide-active {
    transition: all 0.5s;
    transform: scale(1.2);
  }
}
.mv-carousel .swiper-slide-next {
  z-index: 1;
}
.mv-carousel .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
  top: unset;
  bottom: 8.2051282051vw;
}
@media only screen and (min-width: 768px) {
  .mv-carousel .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: 4.4444444444vw;
  }
}
@media only screen and (max-width: 767px) {
  .mv-carousel .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
  .mv-carousel .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin-right: 4.1025641026vw;
  }
}
.mv-carousel .swiper-pagination-bullet {
  background: #d9d9d9;
  opacity: 1;
}
@media only screen and (max-width: 767px) {
  .mv-carousel .swiper-pagination-bullet {
    width: 3.0769230769vw;
    height: 3.0769230769vw;
  }
}
.mv-carousel .swiper-pagination-bullet-active {
  background: #e32799;
}
@media only screen and (min-width: 768px) {
  .mv-carousel.no-slide .swiper-slide {
    width: 80% !important;
    margin-inline: auto !important;
  }
}

/*-----------------------------------
 recommend
-----------------------------------*/
.recommend-section-title {
  background: #E32779;
  color: #FFF;
  font-weight: 700;
  width: 100%;
  font-size: 4.6153846154vw;
  line-height: 6.6666666667vw;
  padding: 2.8205128205vw 3.8461538462vw 3.0769230769vw;
  letter-spacing: 0.1384615385vw;
}
@media only screen and (min-width: 768px) {
  .recommend-section-title {
    font-size: 1.25vw;
    line-height: 1.8055555556vw;
    letter-spacing: 0.0375vw;
    padding: 0.7638888889vw 1.0416666667vw 0.8333333333vw;
  }
}

.recommend-event-box {
  display: flex;
  align-items: center;
  gap: 3.8461538462vw;
  margin-top: 2.5641025641vw;
  padding-bottom: 2.5641025641vw;
  border-bottom: 0.2564102564vw solid #D9D9D9;
  cursor: pointer;
  text-decoration: none;
}
@media only screen and (min-width: 768px) {
  .recommend-event-box {
    gap: 1.0416666667vw;
    margin-top: 1.0416666667vw;
    border-bottom: 0.0694444444vw solid #D9D9D9;
    padding-bottom: 1.0416666667vw;
  }
}
@media only screen and (min-width: 768px) {
  .recommend-event-box:last-child {
    padding: 0;
    border-bottom: none;
  }
}
.recommend-event-box-img {
  max-width: 30.7692307692vw;
  flex-shrink: 0;
  line-height: 0;
}
@media only screen and (min-width: 768px) {
  .recommend-event-box-img {
    max-width: 8.3333333333vw;
  }
}
.recommend-event-box-content {
  color: #000;
  font-size: 3.5897435897vw;
  font-weight: 500;
  line-height: 5.1282051282vw;
  letter-spacing: 0.1076923077vw;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .recommend-event-box-content {
    font-family: "Noto Sans JP";
    font-size: 0.9722222222vw;
    line-height: 1.3888888889vw;
    letter-spacing: 0.0291666667vw;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    overflow: hidden;
  }
}

.recommend-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
@media only screen and (min-width: 768px) {
  .recommend-row.even .recommend-box:nth-last-child(2) {
    border-bottom: none;
    margin-bottom: 1.1111111111vw;
  }
}
.recommend-box {
  display: flex;
  align-items: flex-start;
  width: 100%;
  flex-wrap: wrap;
  gap: 2.0512820513vw 4.1025641026vw;
  padding-bottom: 3.8461538462vw;
}
@media only screen and (min-width: 768px) {
  .recommend-box {
    padding-bottom: 2rem;
    gap: 1.1111111111vw;
    width: 43.6111111111vw;
    flex-wrap: unset;
    min-height: 12.8472222222vw;
  }
}
.recommend-box:nth-child(even) {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .recommend-box:nth-child(even) {
    width: 45.2777777778vw;
    padding-left: 1.6666666667vw;
  }
  .recommend-box:nth-child(even)::before {
    content: "";
    left: 0;
    position: absolute;
    height: calc(100% - 1.7361111111vw);
    width: 0.0694444444vw;
    background: #D9D9D9;
  }
}
.recommend-box:not(:last-of-type) {
  border-bottom: 0.2564102564vw solid #D9D9D9;
  margin-bottom: 4.1025641026vw;
}
@media only screen and (min-width: 768px) {
  .recommend-box:not(:last-of-type) {
    border-bottom: 0.0694444444vw solid #D9D9D9;
    margin-bottom: 1.1111111111vw;
  }
}
.recommend-box-container {
  display: flex;
  text-decoration: none;
  gap: 4.1025641026vw;
}
@media only screen and (min-width: 768px) {
  .recommend-box-container {
    gap: 1.1111111111vw;
  }
}
.recommend-img {
  line-height: 0;
  flex-shrink: 0;
  height: 100%;
  aspect-ratio: 1/1;
}
.recommend-img img {
  width: 41.0256410256vw;
  height: 100%;
  background: #e6e6e6;
  object-fit: contain;
}
@media only screen and (min-width: 768px) {
  .recommend-img img {
    width: 11.1111111111vw;
  }
}
.recommend-content {
  max-width: 46.6666666667vw;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .recommend-content {
    max-width: 19.7222222222vw;
  }
}
.recommend-ttl {
  color: #000;
  font-style: normal;
  font-weight: 700;
  font-size: 3.5897435897vw;
  line-height: 5.3846153846vw;
  letter-spacing: 0.1076923077vw;
  word-wrap: break-word;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .recommend-ttl {
    font-size: 1.1111111111vw;
    line-height: 1.6666666667vw;
    letter-spacing: 0.0333333333vw;
  }
}
.recommend-tag {
  background: #F3AF18;
  font-weight: 400;
  display: inline-block;
  margin-top: 1.0256410256vw;
  margin-right: 1.0256410256vw;
  padding: 0.5128205128vw 4.1025641026vw;
  line-height: 3.8461538462vw;
  font-size: 2.5641025641vw;
  border-radius: 2.8205128205vw;
}
@media only screen and (min-width: 768px) {
  .recommend-tag {
    border-radius: 0.7638888889vw;
    line-height: 1.25vw;
    font-size: 0.8333333333vw;
    margin-top: 0.625vw;
    margin-right: 0.2777777778vw;
    padding: 0.1388888889vw 1.1111111111vw;
  }
}
.recommend-tag.blue {
  background: #62B7E9;
}
.recommend-tag.white {
  background: #D9D9D9;
  color: #222;
}
.recommend-tag.advance-reception {
  background: #F3AF18;
}
.recommend-tag.general-sale {
  background: #FF6BAC;
}
.recommend-tag.sale {
  background: #62B7E9;
}
.recommend-tag.pre {
  background: #63D9B6;
}
.recommend-tag.sold-out, .recommend-tag.cancel, .recommend-tag.finish {
  background: #D9D9D9;
  color: #222;
}
.recommend-sub-ttl {
  color: #6B717E;
  font-weight: 400;
  font-size: 3.0769230769vw;
  line-height: 4.6153846154vw;
  letter-spacing: 0.0923076923vw;
  margin-top: 1.0256410256vw;
}
@media only screen and (min-width: 768px) {
  .recommend-sub-ttl {
    font-size: 0.8333333333vw;
    line-height: 1.25vw;
    letter-spacing: 0.025vw;
    margin-top: 0.625vw;
  }
}
.recommend-txt {
  font-weight: 400;
  margin-top: 1.0256410256vw;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  font-size: 3.0769230769vw;
  font-weight: 400;
  line-height: 4.6153846154vw;
  letter-spacing: 0.0923076923vw;
}
@media only screen and (min-width: 768px) {
  .recommend-txt {
    margin-top: 0.625vw;
    font-size: 0.8333333333vw;
    line-height: 1.25vw;
    letter-spacing: 0.025vw;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
  }
}
.recommend-btn {
  align-self: center;
}
@media only screen and (max-width: 767px) {
  .recommend-btn {
    flex-basis: 100%;
  }
}
.recommend-btn a, .recommend-btn a:visited {
  color: #e32799;
  font-weight: 700;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  width: 100%;
  border: 0.2564102564vw solid #e32799;
  border-radius: 1.0256410256vw;
  font-size: 3.5897435897vw;
  line-height: 5.3846153846vw;
  letter-spacing: 0.1076923077vw;
  height: 9.4871794872vw;
}
@media only screen and (min-width: 768px) {
  .recommend-btn a, .recommend-btn a:visited {
    border-radius: 0.2777777778vw;
    border: 0.0694444444vw solid #e32799;
    line-height: 1.4583333333vw;
    letter-spacing: 0.0291666667vw;
    font-size: 0.9722222222vw;
    height: 2.5694444444vw;
    width: 9.7222222222vw;
  }
}
.recommend-btn a:hover, .recommend-btn a:visited:hover {
  opacity: 0.8;
}
.recommend-btn a.link-disable, .recommend-btn a:visited.link-disable {
  border-color: #696d74;
  color: #696d74;
  pointer-events: none;
}

/*-----------------------------------
 news
-----------------------------------*/
.news {
  background-color: #F8F8F8;
}
.news .section-header::before {
  background-image: url(".././img/header/news-side-img.png");
  width: 8.8538461538vw;
  height: 8.2051282051vw;
}
@media only screen and (min-width: 768px) {
  .news .section-header::before {
    width: 2.8472222222vw;
    height: 2.6388888889vw;
  }
}
.news-container {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
}
@media only screen and (min-width: 768px) {
  .news-container {
    gap: 1.7361111111vw;
    flex-direction: row;
  }
}
@media only screen and (min-width: 768px) {
  .news-head-col {
    max-width: 20.9027777778vw;
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .news-content-col {
    max-width: 66.25vw;
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .news-btn {
    margin-top: 6.1538461538vw;
    text-align: center;
  }
}
.news-btn a {
  border: 0.2564102564vw solid #e32799;
  color: #e32799;
  font-weight: 700;
  text-decoration: none;
  background-color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 2.0512820513vw;
  transition: all 0.3s ease;
  border-radius: 1.0256410256vw;
  width: 47.9487179487vw;
  height: 10.2564102564vw;
  font-size: 4.1025641026vw;
  line-height: 6.1538461538vw;
  letter-spacing: 0.1230769231vw;
}
@media only screen and (min-width: 768px) {
  .news-btn a {
    border: 0.0694444444vw solid #e32799;
    font-size: 1.1111111111vw;
    line-height: 1.6666666667vw;
    letter-spacing: 0.0333333333vw;
    width: 12.9861111111vw;
    height: 2.7777777778vw;
    gap: 0.5555555556vw;
    border-radius: 0.2777777778vw;
  }
}
.news-btn a img {
  width: 4.1025641026vw;
}
@media only screen and (min-width: 768px) {
  .news-btn a img {
    width: 1.1111111111vw;
  }
}
.news-btn a:hover {
  opacity: 0.9;
}
.news-box:not(:last-of-type) {
  margin-bottom: 4.1025641026vw;
}
@media only screen and (min-width: 768px) {
  .news-box:not(:last-of-type) {

    margin-bottom: 1.1111111111vw;
  }
}
.news-box a {
  display: flex;
  align-items: center;
  background: #FFF;
  box-shadow: 0vw 0.2564102564vw 2.5641025641vw 0vw rgba(0, 0, 0, 0.1);
  flex-wrap: wrap;
  padding: 4.1025641026vw;
  border-radius: 2.0512820513vw;
  gap: 1.0256410256vw 4.1025641026vw;
}
@media only screen and (min-width: 768px) {
  .news-box a {
    gap: 1.6666666667vw;
    border-radius: 0.5555555556vw;
    padding: 1.6666666667vw;
    justify-content: center;
    box-shadow: 0vw 0.0694444444vw 0.6944444444vw 0vw rgba(0, 0, 0, 0.1);
    flex-wrap: unset;
  }
}
.news-date {
  color: #e32799;
  font-weight: 400;
  width: 100%;
  align-self: flex-start;
  font-size: 3.5897435897vw;
  line-height: 5.3846153846vw;
  letter-spacing: 0.1076923077vw;
  max-width: 25.641025641vw;
  flex-basis: 100%;
}
@media only screen and (min-width: 768px) {
  .news-date {
    max-width: 6.9444444444vw;
    font-size: 1.1111111111vw;
    line-height: 1.6666666667vw;
    letter-spacing: 0.0333333333vw;
    flex-basis: unset;
  }
}
.news-ttl {
  font-weight: 400;
  width: 100%;
  max-width: 75.3846153846vw;
  font-size: 3.5897435897vw;
  line-height: 5.3846153846vw;
  letter-spacing: 0.1076923077vw;
}
@media only screen and (max-width: 767px) {
  .news-ttl {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
}
@media only screen and (min-width: 768px) {
  .news-ttl {
    max-width: 51.5277777778vw;
    font-size: 1.1111111111vw;
    line-height: 1.6666666667vw;
    letter-spacing: 0.0333333333vw;
  }
}
.news-play-btn {
  width: 4.1025641026vw;
  align-self: flex-start;
}
@media only screen and (min-width: 768px) {
  .news-play-btn {
    width: 1.1111111111vw;
    align-self: center;
  }
}

/*-----------------------------------
 pruchase
-----------------------------------*/
.purchase-head {
  background: #f8f8f8;
  font-weight: 700;
  text-align: center;
  font-size: 4.1025641026vw;
  line-height: 6.1538461538vw;
  letter-spacing: 0.1230769231vw;
  padding: 2.0512820513vw 0;
}
@media only screen and (min-width: 768px) {
  .purchase-head {
    padding: 0.5555555556vw 1.6666666667vw;
    font-size: 1.1111111111vw;
    line-height: 1.6666666667vw;
    text-align: start;
    letter-spacing: 0.0333333333vw;
  }
}
.purchase-banner {
  margin: 8.2051282051vw 0;
}
@media only screen and (min-width: 768px) {
  .purchase-banner {
    max-width: 64.5833333333vw;
    margin: 2.2222222222vw auto 0;
  }
}
.purchase-banner img {
  width: 100%;
}
.purchase-slider-banner {
  padding-bottom: 8.2051282051vw;
}
@media only screen and (min-width: 768px) {
  .purchase-slider-banner {
    padding-bottom: 6.9444444444vw;
  }
}
.purchase-slider .swiper-wrapper {
  transition-timing-function: linear;
}
.purchase-slider .purchase-slide {
  line-height: 0;
}
.purchase-slider .purchase-slide img {
  width: 100%;
}

/*-----------------------------------
 event
-----------------------------------*/
.event {
  background-color: #F8F8F8;
}
.event .section-header::before {
  background-image: url(".././img/header/event-side-img.png");
  width: 6.6974358974vw;
  height: 8.2051282051vw;
}
@media only screen and (min-width: 768px) {
  .event .section-header::before {
    width: 2.2673611111vw;
    height: 2.7777777778vw;
  }
}
@media only screen and (min-width: 768px) {
  .event-carousel {
    overflow: unset;
  }
}
.event-row {
  display: flex;
}
@media only screen and (min-width: 768px) {
  .event-row {
    flex-wrap: wrap;
    gap: 2.2222222222vw;
  }
}
.event .recommend-box {
  flex-direction: column;
  background: #FFF;
  /* card_shadow */
  width: calc(25% - 1.6666666667vw);
  margin-bottom: 0;
  border-bottom: none;
  border-radius: 2.0512820513vw;
  box-shadow: 0vw 0.2564102564vw 2.5641025641vw 0vw rgba(0, 0, 0, 0.1);
  overflow: hidden;
  gap: 0;
  padding-bottom: 1.1111111111vw;
}
@media only screen and (max-width: 767px) {
  .event .recommend-box {
    gap: 2.0512820513vw;
    padding-bottom: 2.0512820513vw;
  }
}
@media only screen and (min-width: 768px) {
  .event .recommend-box {
    box-shadow: 0vw 0.0694444444vw 0.6944444444vw 0vw rgba(0, 0, 0, 0.1);
    border-radius: 0.5555555556vw;
  }
}
.event .recommend-box:nth-child(even) {
  padding-left: 0;
}
.event .recommend-box::before {
  content: none;
}
.event .recommend-box-container {
  flex-direction: column;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .event .recommend-box-container {
    gap: 2.0512820513vw;
  }
}
.event .recommend-img {
  background: #e6e6e6;
  width: 100%;
  height: 100%;
  aspect-ratio: unset;
}
.event .recommend-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 1/1;
}
@media only screen and (min-width: 768px) {
  .event .recommend-img img {
    min-height: 12.5vw;
  }
}
.event .recommend-content {
  max-width: 100%;
  padding: 0 2.0512820513vw 2.0512820513vw;
}
@media only screen and (min-width: 768px) {
  .event .recommend-content {
    padding: 0 1.1111111111vw 1.1111111111vw;
  }
}
.event .recommend-ttl {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  min-height: 2.9166666667vw;
}
@media only screen and (min-width: 768px) {
  .event .recommend-ttl {
    min-height: 3.3333333333vw;
  }
}
.event .recommend-tag {
  margin-top: 1.0256410256vw;
}
@media only screen and (min-width: 768px) {
  .event .recommend-tag {
    margin-top: 0.2777777778vw;
  }
}
.event .recommend-sub-ttl {
  margin-top: 1.0256410256vw;
}
@media only screen and (min-width: 768px) {
  .event .recommend-sub-ttl {
    margin-top: 0.2777777778vw;
  }
}
@media only screen and (max-width: 767px) {
  .event .recommend-sub-ttl {
    font-size: 2.5641025641vw;
    font-weight: 400;
    line-height: 3.8461538462vw;
    letter-spacing: 0.0769230769vw;
  }
}
.event .recommend-txt {
  font-weight: 400;
  font-size: 3.0769230769vw;
  line-height: 4.6153846154vw;
  letter-spacing: 0.0923076923vw;
  margin-top: 2.0512820513vw;
  min-height: 13.8461538462vw;
}
@media only screen and (min-width: 768px) {
  .event .recommend-txt {
    margin-top: 0.5555555556vw;
    font-size: 0.9722222222vw;
    line-height: 1.4583333333vw;
    letter-spacing: 0.0291666667vw;
    min-height: 4.375vw;
  }
}
@media only screen and (max-width: 767px) {
  .event .recommend-txt {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
  }
}
.event .recommend-btn {
  text-align: center;
  margin-top: 2.0512820513vw;
}
.event .recommend-btn a {
  padding: 2.0512820513vw 4.1025641026vw;
}
.event .recommend-btn a.link-disable {
  border-color: #696d74;
  color: #696d74;
  pointer-events: none;
}
@media only screen and (min-width: 768px) {
  .event .recommend-btn {
    margin-top: 0.5555555556vw;
  }
  .event .recommend-btn a {
    padding: 0.5555555556vw 1.1111111111vw;
  }
}

/*-----------------------------------
 movie
-----------------------------------*/
.movie {
  background-color: #E32779;
}
.movie h2 {
  width: 100%;
  margin: 0 auto 8.2051282051vw;
}
@media only screen and (min-width: 768px) {
  .movie h2 {
    width: 80%;
    margin: 0 auto 2.2222222222vw;
  }
}
.movie div.movie-container {
  width: 100%;
  margin: 0 auto;
}
@media only screen and (min-width: 768px) {
  .movie div.movie-container {
    width: 70%;
  }
}
.movie div.movie-container div.main-movie {
  overflow: hidden;
  margin-bottom: 2.5641025641vw;
  border-radius: 2.5641025641vw;
}
@media only screen and (min-width: 768px) {
  .movie div.movie-container div.main-movie {
    margin-bottom: 0.6944444444vw;
    border-radius: 1.1111111111vw;
  }
}
.movie div.movie-container div.main-movie iframe {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9;
}
.movie div.movie-container ul.movie-thumbnails {
  display: flex;
  flex-wrap: wrap;
  column-gap: 1.2820512821vw;
  row-gap: 2.5641025641vw;
}
@media only screen and (min-width: 768px) {
  .movie div.movie-container ul.movie-thumbnails {
    flex-wrap: nowrap;
    column-gap: 0.6944444444vw;
    row-gap: 0;
  }
}
.movie div.movie-container ul.movie-thumbnails li {
  overflow: hidden;
  width: calc((100% - 2.5641025641vw) / 3);
  border-radius: 1.2820512821vw;
  cursor: pointer;
}
@media only screen and (min-width: 768px) {
  .movie div.movie-container ul.movie-thumbnails li {
    width: auto;
    max-width: 25%;
    border-radius: 0.6944444444vw;
  }
}
/* イベント詳細ページ（single-event.php
--------------------------------- */
.post-single-event .single-main-block {
  display: flex;
  justify-content: space-between;
}
@media only screen and (min-width: 768px) {
  .post-single-event .single-main-block {
    padding-top: 3.4722222222vw;
    width: 88.8888888889vw;
    margin: 0 auto 2.7777777778vw;
  }
}
.post-single-event .single-main-block section.sidebar-list {
  width: 23%;
}
.post-single-event .single-main-block section.sidebar-list h3 {
  font-size: 1.3194444444vw;
}
.post-single-event .single-main-block section.sidebar-list ul li {
  display: flex;
  column-gap: 0.6944444444vw;
}
.post-single-event .single-main-block section.sidebar-list ul li img {
  width: 30%;
  height: 100%;
  object-fit: cover;
}
.post-single-event .single-main-block section.sidebar-list ul li h5 {
  width: calc(70% - 0.6944444444vw);
}
.post-single-event .single-main-block section.single-event {
  width: 72%;
}
.post-single-event .single-main-block section.single-event div.single-event__inner h1.single-event__ttl {
  margin-bottom: 3.4722222222vw;
  font-size: 2.0833333333vw;
  line-height: 1.75;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .event-detail-banner {
  position: relative;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .event-detail-banner-img {
  position: fixed;
  z-index: 2;
  right: 4.6153846154vw;
  max-width: 30.7692307692vw;
  bottom: 4.6153846154vw;
  filter: drop-shadow(0px 2px 5px rgba(0, 0, 0, 0.3));
}
@media only screen and (min-width: 768px) {
  .post-single-event .single-main-block section.single-event div.single-event__inner .event-detail-banner-img {
    max-width: 10.4166666667vw;
    right: 1.7361111111vw;
    bottom: 1.7361111111vw;
  }
}
.post-single-event .single-main-block section.single-event div.single-event__inner .event-detail-banner-img img {
  width: 100%;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__info {
  position: relative;
  margin-top: 5.5555555556vw;
  margin-bottom: 3.4722222222vw;
  padding: 2.0833333333vw;
  border: 0.2rem solid #ee510c;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__info p {
  font-size: 4.1025641026vw;
  line-height: 1.75;
}
@media only screen and (min-width: 768px) {
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__info p {
    font-size: 1.1111111111vw;
  }
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__info h4 {
  font-size: 5.641025641vw;
  font-weight: 400;
  line-height: 1.75;
}
@media only screen and (min-width: 768px) {
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__info h4 {
    font-size: 1.5277777778vw;
  }
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__info h5 {
  font-size: 4.8717948718vw;
  font-weight: 400;
  line-height: 1.75;
}
@media only screen and (min-width: 768px) {
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__info h5 {
    font-size: 1.3194444444vw;
  }
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__info::before {
  position: absolute;
  content: "";
  top: -2.0833333333vw;
  left: 0;
  width: 100%;
  height: 0.1rem;
  background-color: #b9b9b9;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__mv {
  position: relative;
  margin-bottom: 3.4722222222vw;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__mv .mv__main {
  margin-bottom: 1.3888888889vw;
  text-align: center;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__mv .mv__main img {
  max-width: fit-content;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__mv .mv__main .thmbnail-caption {
  margin-top: 1.2820512821vw;
  font-size: 3.0769230769vw;
  text-align: right;
}
@media only screen and (min-width: 768px) {
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__mv .mv__main .thmbnail-caption {
    margin-top: 0.3472222222vw;
    font-size: 0.8333333333vw;
  }
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__mv .mv__thumbs {
  display: flex;
  column-gap: 1.0416666667vw;
  width: 100%;
  height: auto;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__mv .mv__thumbs.scroll {
  overflow-x: scroll;
  padding-bottom: 0.4166666667vw;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__mv .mv__thumbs.scroll::-webkit-scrollbar {
  background: #d6d6d6;
  width: 6px;
  height: 6px;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__mv .mv__thumbs.scroll::-webkit-scrollbar-thumb {
  background-color: rgb(162, 133, 133);
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__mv .mv__thumbs li {
  width: calc((100% - 4.1666666667vw) / 5);
  min-width: calc((100% - 4.1666666667vw) / 5);
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__mv .mv__thumbs li img {
  height: 8.3333333333vw;
  margin-bottom: 0.3472222222vw;
  object-fit: contain;
  cursor: pointer;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__mv .mv__thumbs li p {
  font-size: 0.8333333333vw;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__mv .mv__modal {
  z-index: 10000;
  position: fixed;
  top: 0;
  left: 0;
  display: none;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.8);
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__mv .mv__modal.is-shown {
  display: block;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__mv .mv__modal .modal-inner img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  justify-content: center;
  align-items: center;
  width: auto;
  max-width: min(80%, 900px);
  height: auto;
  max-height: calc(100vh - 20px);
  object-fit: contain;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__mv .mv__modal .modal-close {
  position: absolute;
  top: 2.5641025641vw;
  right: 2.5641025641vw;
  width: 17.9487179487vw;
  height: 17.9487179487vw;
  cursor: pointer;
}
@media only screen and (min-width: 768px) {
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__mv .mv__modal .modal-close {
    top: 0.6944444444vw;
    right: 0.6944444444vw;
    width: 6.9444444444vw;
    height: 6.9444444444vw;
  }
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__mv .mv__modal .modal-close::before, .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__mv .mv__modal .modal-close::after {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  width: 100%;
  height: 0.1rem;
  background-color: #fff;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__mv .mv__modal .modal-close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__mv .mv__modal .modal-close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__content {
  position: relative;
  overflow: hidden;
  display: none;
  height: auto;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__content a, .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__content a:visited {
  color: #0033cc;
  text-decoration: underline;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__content.no-toggle {
  margin-bottom: 10.2564102564vw;
}
@media only screen and (min-width: 768px) {
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__content.no-toggle {
    margin-bottom: 5.5555555556vw;
  }
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__content.no-toggle + .single-event__ctt-toggle {
  display: none;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__content::after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  display: none;
  width: 100%;
  height: 3.4722222222vw;
  background: linear-gradient(transparent 0%, #fff 70%);
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__content.open::after {
  display: none;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__content.close::after {
  display: block;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__content + .single-event__ctt-toggle {
  z-index: 0;
  position: relative;
  display: none;
  justify-content: center;
  align-items: center;
  width: 22.7083333333vw;
  height: 3.3333333333vw;
  margin: 1.7361111111vw auto 2.7777777778vw;
  font-size: 1.1111111111vw;
  font-weight: 700;
  border-radius: 0.2777777778vw;
  background-color: #E0E0E0;
  cursor: pointer;
  transition: all 0.2s;
}
@media (hover: hover) and (min-width: 768px) {
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__content + .single-event__ctt-toggle:hover {
    color: #fff;
  }
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__content + .single-event__ctt-toggle:hover::before {
    width: 100%;
    height: 100%;
    transition: all 0.2s;
  }
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__content + .single-event__ctt-toggle::before {
  z-index: -1;
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 0;
  background-color: #666;
  border-radius: 0.2777777778vw;
  transition: all 0.15s;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__content.open + .single-event__ctt-toggle::after {
  transform: translate(calc(-50% - 2.7777777778vw), -50%) rotate(90deg);
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__yt {
  margin-bottom: 2.7777777778vw;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__yt iframe {
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__check-flyer a {
  z-index: 0;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 22.7083333333vw;
  height: 3.3333333333vw;
  margin: 1.7361111111vw auto 2.7777777778vw;
  padding-left: 1.3888888889vw;
  font-size: 1.1111111111vw;
  font-weight: 700;
  color: #fff;
  border-radius: 0.2777777778vw;
  background-color: #e32799;
  border: 0.2rem solid #e32799;
  cursor: pointer;
  transition: all 0.2s;
}
@media (hover: hover) and (min-width: 768px) {
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__check-flyer a:hover {
    color: #e32799;
  }
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__check-flyer a:hover::before {
    width: 100%;
    height: 100%;
    transition: all 0.2s;
  }
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__check-flyer a::before {
  z-index: -1;
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 0;
  background-color: #fff;
  border-radius: 0.4rem;
  transition: all 0.15s;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info {
  margin-bottom: 2.7777777778vw;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul {
  border: 0.1rem solid #eaeaea;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li {
  display: flex;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li > h5 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 28%;
  min-height: 3.4722222222vw;
  padding: 1.0416666667vw 0.6944444444vw 1.1805555556vw 1.3888888889vw;
  font-size: 0.9722222222vw;
  background-color: #EAEAEA;
  border-bottom: 0.0694444444vw solid #fff;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li > div {
  display: flex;
  align-items: center;
  width: 72%;
  min-height: 3.4722222222vw;
  padding: 1.0416666667vw 0.6944444444vw 1.1805555556vw 1.3888888889vw;
  font-size: 0.9722222222vw;
  line-height: 1.7;
  border-bottom: 0.1rem solid #eaeaea;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li > div.dp-b {
  display: block;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li:last-child > h5, .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li:last-child > div {
  border-bottom: none;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__location div a {
  margin-left: 10px;
  padding: 4px 10px;
  font-size: 3.5897435897vw;
  font-weight: 700;
  color: #fff;
  background-color: #e32779;
  border-radius: 4px;
}
@media only screen and (min-width: 768px) {
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__location div a {
    font-size: 0.9722222222vw;
  }
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-purchase > div {
  flex-direction: column;
  align-items: flex-start;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-purchase > div .ticket-purchase a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 40.9722222222vw;
  height: auto;
  min-height: 5.5555555556vw;
  margin: 0 auto 0 auto;
  padding: 0.4166666667vw 1.25vw 0.4166666667vw 4.3055555556vw;
  font-size: 1.1111111111vw;
  color: #fff;
  text-align: center;
  border-radius: 0.2777777778vw;
  background: url(../img/event/ticket-bg.png) no-repeat center/100% 100%;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-purchase > div .ticket-purchase a small {
  display: block;
  margin-top: 0.3472222222vw;
  font-size: 0.9027777778vw;
  letter-spacing: 0.05em;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-purchase > div .ticket-purchase.gray a {
  filter: grayscale(1) brightness(1.3);
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-purchase > div .ticket-purchase a, .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-purchase > div .ticket-purchase a:visited {
  text-decoration: none !important;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-purchase > div .ticket-purchase:not(:last-of-type) a {
  margin-bottom: 1.3888888889vw;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-purchase > div ul, .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-purchase > div ol {
  padding-left: 2.4rem;
  border: none;
  list-style: initial;
  list-style-type: initial;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-purchase > div ul li, .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-purchase > div ol li {
  display: list-item;
  list-style-type: initial;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-store > div {
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: 1.1111111111vw;
  row-gap: 0.6944444444vw;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-store > div div.store-default,
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-store > div a.store-additional {
  display: block;
  width: 30%;
  height: auto;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-store > div div.store-default a,
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-store > div a.store-additional a {
  position: relative;
  display: flex;
  align-items: center;
  height: 3.3333333333vw;
  padding-left: 0.6944444444vw;
  padding-right: 2.0833333333vw;
  font-size: 0.7638888889vw;
  font-weight: 500;
  border-radius: 0.1388888889vw;
  background-color: #FDEAF2;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-store > div div.store-default a::after,
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-store > div a.store-additional a::after {
  position: absolute;
  content: "";
  top: 50%;
  right: 0.6944444444vw;
  transform: translateY(-50%);
  width: 1.0069444444vw;
  height: 1.0069444444vw;
  background: url(../img/common/icon-external-link.png) no-repeat center/contain;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-store > div div.store-default img,
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-store > div a.store-additional img {
  width: 2.2222222222vw;
  height: 2.2222222222vw;
  object-fit: contain;
  object-position: left;
  margin-right: 0.4861111111vw;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-store > div div.store-default p,
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-store > div a.store-additional p {
  font-size: 0.9027777778vw;
  word-break: break-word;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-store > div .store-free {
  width: 100%;
  margin-top: 0.6944444444vw;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-store > div .store-free ul, .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-store > div .store-free ol {
  padding-left: 2.4rem;
  border: none;
  list-style: initial;
  list-style-type: initial;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-store > div .store-free ul li, .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-store > div .store-free ol li {
  display: list-item;
  list-style-type: initial;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-store > div .store-free a, .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-store > div .store-free a:visited {
  color: #0033cc;
  text-decoration: underline;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-organiser > div {
  column-gap: 1.6rem;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-organiser > div a {
  width: 30%;
  height: 5rem;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-organiser > div a img {
  height: 100%;
  object-fit: contain;
  object-position: left;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-sponsor img,
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-cooperation img,
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-production img,
.post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-supervisor img {
  width: auto;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .wysiwyg a, .post-single-event .single-main-block section.single-event div.single-event__inner .wysiwyg a:visited {
  color: #0033cc;
  text-decoration: underline;
}
.post-single-event .single-main-block section.single-event div.single-event__inner .wysiwyg img {
  width: auto;
}

@media (max-width: 767px) {
  .post-single-event {
    margin-top: 0;
  }
  .post-single-event .single-main-block {
    flex-direction: column;
    row-gap: 10.2564102564vw;
    width: 91.7948717949vw;
    max-width: 100%;
    margin: 0 auto 10.2564102564vw;
    padding-top: 17.9487179487vw;
  }
  .post-single-event .single-main-block section.sidebar-list {
    order: 2;
    width: 100%;
  }
  .post-single-event .single-main-block section.sidebar-list h3 {
    font-size: 4.1025641026vw;
  }
  .post-single-event .single-main-block section.single-event {
    width: 100%;
  }
  .post-single-event .single-main-block section.single-event div.single-event__inner h1.single-event__ttl {
    margin-bottom: 5.1282051282vw;
    font-size: 5.1282051282vw;
  }
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__mv .mv__thumbs {
    column-gap: 1.5384615385vw;
  }
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__mv .mv__thumbs.scroll {
    padding-bottom: 1.5384615385vw;
  }
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__mv .mv__thumbs li img {
    height: 16.6666666667vw;
    margin-bottom: 0.7692307692vw;
  }
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__mv .mv__thumbs li p {
    font-size: 2.5641025641vw;
  }
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__content .is-style-basic-paragraph-b,
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__content .is-style-basic-paragraph {
    font-size: 4.1025641026vw;
  }
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__content .is-style-blue-field {
    padding: 2.5641025641vw 5.1282051282vw;
    border-radius: 1.0256410256vw;
  }
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__content .is-style-blue-field h4, .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__content .is-style-blue-field p {
    font-size: 4.1025641026vw;
    line-height: 1.6;
  }
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__content + .single-event__ctt-toggle {
    width: 83.8461538462vw;
    height: 12.3076923077vw;
    margin: 6.4102564103vw auto 10.2564102564vw;
    font-size: 4.1025641026vw;
    font-size: 4.1025641026vw;
    border-radius: 1.0256410256vw;
  }
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__content + .single-event__ctt-toggle::before {
    border-radius: 1.0256410256vw;
  }
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__content.open + .single-event__ctt-toggle::after {
    transform: translate(calc(-50% - 10.2564102564vw), -50%) rotate(90deg);
  }
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__check-flyer a {
    width: 83.8461538462vw;
    height: 12.3076923077vw;
    margin: 6.1538461538vw auto 10.2564102564vw;
    padding-left: 5.1282051282vw;
    font-size: 4.1025641026vw;
    border-radius: 1.0256410256vw;
  }
}
@media (max-width: 767px) and (hover: hover) and (min-width: 768px) {
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__check-flyer a:hover {
    color: #e32799;
  }
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__check-flyer a:hover::before {
    width: 100%;
    height: 100%;
    transition: all 0.2s;
  }
}
@media (max-width: 767px) {
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info {
    margin-bottom: 0;
  }
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li {
    flex-direction: column;
  }
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li > h5 {
    width: 100%;
    font-size: 4.1025641026vw;
  }
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li > div {
    width: 100%;
    font-size: 4.1025641026vw;
    padding: 4.1025641026vw 3.0769230769vw 4.1025641026vw 3.0769230769vw;
  }
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li:last-child > h5, .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li:last-child > div {
    border-bottom: none;
  }
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-purchase > div {
    padding: 4.6153846154vw 2.5641025641vw;
  }
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-purchase > div .ticket-purchase {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 2.5641025641vw;
  }
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-purchase > div .ticket-purchase a {
    width: 100%;
    height: 100%;
    margin: 0 auto 5.1282051282vw auto;
    padding: 2.5641025641vw 2.5641025641vw 2.5641025641vw 17.9487179487vw;
    font-size: 3.5897435897vw;
    line-height: 5.3846153846vw;
    letter-spacing: 0.1076923077vw;
    text-decoration: none;
    background: url("../img/event/ticket-bg-sp.png") no-repeat center/cover;
    cursor: pointer;
  }
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-purchase > div .ticket-purchase a small {
    display: block;
    margin-top: 1.0256410256vw;
    font-size: 3.0769230769vw;
    letter-spacing: 0.05em;
    line-height: 1.4;
  }
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-purchase > div .ticket-purchase:not(:last-of-type) a {
    margin-bottom: 5.1282051282vw;
  }
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-store > div {
    flex-wrap: wrap;
    column-gap: 4.1025641026vw;
    row-gap: 3.0769230769vw;
  }
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-store > div div.store-default {
    width: 100%;
    height: auto;
    margin: 0 auto;
  }
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-store > div div.store-default a {
    width: 100%;
    height: 12.3076923077vw;
    padding-left: 4.1025641026vw;
    font-size: 4.1025641026vw;
    border-radius: 1.0256410256vw;
  }
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-store > div div.store-default a::after {
    right: 2.5641025641vw;
    width: 3.7179487179vw;
    height: 3.7179487179vw;
  }
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-store > div div.store-default a img {
    width: 8.2051282051vw;
    height: 8.2051282051vw;
    margin-right: 2.5641025641vw;
  }
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-store > div div.store-default p {
    font-size: 3.3333333333vw;
  }
  .post-single-event .single-main-block section.single-event div.single-event__inner .single-event__event-info ul li.event-info__ticket-organiser > div a {
    height: 12.8205128205vw;
  }
}
.event-list .event {
  background-color: #fff;
  overflow: unset;
}
.event-list .event .event-row {
  flex-wrap: wrap;
  gap: 3.8461538462vw 4.1025641026vw;
}
@media only screen and (min-width: 768px) {
  .event-list .event .event-row {
    gap: 1.3888888889vw;
  }
}
.event-list .event .recommend-box {
  width: calc(50% - 2.0512820513vw);
  height: 100%;
  padding-bottom: 2rem;
}
.event-list .event .recommend-box a {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .event-list .event .recommend-box {
    width: calc(33.3333333333% - 0.9259259259vw);
  }
}
@media only screen and (max-width: 767px) {
  .event-list .event .recommend-ttl {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    min-height: 16.1538461538vw;
  }
}
@media only screen and (max-width: 767px) {
  .event-list .event .recommend-txt {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
  }
}
@media only screen and (max-width: 767px) {
  .event-list .event .recommend-img img {
    min-height: 29.4871794872vw;
    max-height: 29.4871794872vw;
  }
}
.event-list-result {
  padding-bottom: 3.8461538462vw;
}
@media only screen and (min-width: 768px) {
  .event-list-result {
    padding-bottom: 1.3888888889vw;
  }
}
.event-list-result .search-conditions {
  display: flex;
  flex-direction: column;
  row-gap: 1.2820512821vw;
}
.event-list-result .search-conditions p {
  font-size: 3.5897435897vw;
  font-weight: 500;
}
.event-list-result .search-conditions span {
  margin-right: 2.5641025641vw;
}
@media only screen and (min-width: 768px) {
  .event-list-result .search-conditions {
    row-gap: 0.6944444444vw;
  }
  .event-list-result .search-conditions p {
    font-size: 1.1111111111vw;
  }
  .event-list-result .search-conditions span {
    margin-right: 0.6944444444vw;
  }
}
.event-list-result-txt {
  font-weight: 500;
  font-size: 3.5897435897vw;
  line-height: 5.1282051282vw;
}
@media only screen and (min-width: 768px) {
  .event-list-result-txt {
    font-size: 1.1111111111vw;
    line-height: 1.5972222222vw;
  }
}
.event-list-result-txt.count {
  text-align: right;
  margin-top: 2.5641025641vw;
}
@media only screen and (min-width: 768px) {
  .event-list-result-txt.count {
    margin-top: 1.0416666667vw;
  }
}

.news-list-row {
  display: flex;
  align-items: center;
  border-top: 0.0694444444vw solid #E32779;
  padding: 2.5641025641vw 1.2820512821vw 2.5641025641vw 0;
  color: #222;
  text-decoration: none;
  cursor: pointer;
}
@media only screen and (min-width: 768px) {
  .news-list-row {
    justify-content: space-between;
    padding: 1.3888888889vw 1.3888888889vw 1.3888888889vw 0;
  }
}
.news-list-row:last-of-type {
  border-bottom: 0.0694444444vw solid #E32779;
}
.news-list-text {
  font-weight: 400;
  font-size: 3.0769230769vw;
  line-height: 4.6153846154vw;
  letter-spacing: 0.0923076923vw;
}
@media only screen and (min-width: 768px) {
  .news-list-text {
    font-size: 1.1111111111vw;
    line-height: 1.6666666667vw;
    letter-spacing: 0.0333333333vw;
  }
}
.news-list-text.date {
  width: 100%;
  max-width: 15.641025641vw;
  margin-right: 7.4358974359vw;
}
@media only screen and (min-width: 768px) {
  .news-list-text.date {
    margin-right: 0;
    max-width: 6.9444444444vw;
  }
}
.news-list-text.ttl {
  width: 100%;
  max-width: 59.7435897436vw;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  margin-right: 2.5641025641vw;
}
@media only screen and (min-width: 768px) {
  .news-list-text.ttl {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
    max-width: 52.9861111111vw;
    margin-right: 0;
  }
}
.news-list-arrow {
  width: 100%;
  line-height: 0;
  max-width: 5.1282051282vw;
}
@media only screen and (min-width: 768px) {
  .news-list-arrow {
    max-width: 1.7361111111vw;
  }
}

.schedule {
  overflow: hidden;
}
.schedule .year-block {
  display: none;
}
.schedule .year-block.active {
  display: block;
}
.schedule-section {
  padding-top: 20.5128205128vw;
  margin-top: -20.5128205128vw;
}
@media only screen and (min-width: 768px) {
  .schedule-section {
    margin-top: 0;
    padding-top: 0;
  }
}
.schedule-section:not(:last-of-type) {
  padding-bottom: 6.6666666667vw;
}
@media only screen and (min-width: 768px) {
  .schedule-section:not(:last-of-type) {
    padding-top: 0.6944444444vw;
    padding-bottom: 2.7777777778vw;
  }
}
.schedule .pagination {
  margin: 0;
}
/*----------------------------
 スケジュールページ｜年選択フィルター
---------------------------*/
.schedule-filter {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-bottom: 5vw;
}
.schedule-filter.filter-2 {
  display: none;
}
.schedule-filter.filter-3 {
  display: flex;
  justify-content: flex-end;
  /* margin-top: -10vw; */
  margin-bottom: 8vw;
  margin-left: auto;
}
@media only screen and (min-width: 768px) {
  .schedule-filter {
    margin-bottom: 2vw;
  }
  .schedule-filter.filter-2 {
    display: flex;
    justify-content: flex-end;
    margin-top: 2.7777777778vw;
    margin-bottom: 5.1282051282vw;
  }
  .schedule-filter.filter-3 {
    display: none;
  }
}

.schedule-filter span {
  font-weight: 700;
  font-size: 4.1025641026vw;
  letter-spacing: 0.1025641026vw;
  line-height: 6.1538461538vw;
}
@media only screen and (min-width: 768px) {
  .schedule-filter span {
    line-height: 2.0833333333vw;
    font-size: 1.3888888889vw;
    letter-spacing: 0.0416666667vw;
  }
}
.schedule-filter .search-form-select {
  display: block;
  margin-inline: 3.8461538462vw;
}
@media only screen and (min-width: 768px) {
  .schedule-filter .search-form-select {
    margin-inline: 2.0833333333vw 1.0416666667vw;
  }
}
.schedule-filter .search-form-select select {
  width: 33.3333333333vw !important;
  height: 11.5384615385vw;
  font-size: 3.5897435897vw;
}
@media only screen and (min-width: 768px) {
  .schedule-filter .search-form-select select {
    width: 10.5555555556vw !important;
    height: 4.3055555556vw;
    font-size: 1.1111111111vw;
  }
}
.schedule .event {
  overflow: unset;
  background-color: #fff;
}
.schedule .event-carousel {
  overflow: visible;
}
.schedule .event-carousel .event-row {
  gap: 1.3888888889vw;
}
@media only screen and (min-width: 768px) {
  .schedule .event-carousel .recommend-box {
    width: calc(33.3333333333% - 0.9259259259vw);
  }
}
.schedule .select-menu {
  margin: 0 3.8461538462vw 0 3.8461538462vw;
}
@media only screen and (min-width: 768px) {
  .schedule .select-menu {
    margin: 0 1.0416666667vw 0 2.0833333333vw;
  }
}
.schedule .select-menu .select-btn {
  display: flex;
  background: #fff;
  align-items: center;
  cursor: pointer;
  justify-content: space-between;
  border: 1px solid #cacaca;
  position: relative;
  font-size: 3.5897435897vw;
  border-radius: 1.2820512821vw;
  height: 11.5384615385vw;
  padding: 3.8461538462vw;
  width: 33.3333333333vw;
}
@media only screen and (min-width: 768px) {
  .schedule .select-menu .select-btn {
    height: 4.3055555556vw;
    width: 10.4166666667vw;
    padding: 1.0416666667vw;
    border-radius: 0.3472222222vw;
    font-size: 0.9722222222vw;
  }
}
.schedule .select-menu .select-btn .sBtn-text {
  font-size: 3.5897435897vw;
}
@media only screen and (min-width: 768px) {
  .schedule .select-menu .select-btn .sBtn-text {
    font-size: 0.9722222222vw;
  }
}
.schedule .select-menu .select-btn span {
  font-weight: 400;
}
.schedule .select-menu .select-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 2.0512820513vw;
  pointer-events: none;
  background-image: url(".././img/search/chevron_down.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  width: 6.1538461538vw;
  height: 6.1538461538vw;
  display: block;
}
@media only screen and (min-width: 768px) {
  .schedule .select-menu .select-btn::after {
    width: 1.6666666667vw;
    height: 1.6666666667vw;
    right: 0.5555555556vw;
  }
}
.schedule .select-menu .select-btn::after img {
  display: block;
}
.schedule .select-menu .options {
  position: absolute;
  overflow-y: auto;
  margin-top: 1.2820512821vw;
  border-radius: 1.2820512821vw;
  background: #fff;
  box-shadow: 0 0 2.5641025641vw rgba(0, 0, 0, 0.1);
  display: none;
  width: 33.3333333333vw;
  max-height: 51.2820512821vw;
  padding: 2.5641025641vw;
}
@media only screen and (min-width: 768px) {
  .schedule .select-menu .options {
    box-shadow: 0 0 0.6944444444vw rgba(0, 0, 0, 0.1);
    border-radius: 0.3472222222vw;
    padding: 0.3472222222vw;
    max-height: 20.4861111111vw;
    margin-top: 1.0256410256vw;
    width: 10.4166666667vw;
  }
}
.schedule .select-menu .options .option {
  display: flex;
  cursor: pointer;
  padding: 0 1.1111111111vw;
  border-radius: 0.3472222222vw;
  align-items: center;
  background: #fff;
  font-weight: 400;
  height: 8.9743589744vw;
}
@media only screen and (min-width: 768px) {
  .schedule .select-menu .options .option {
    height: 2.7777777778vw;
  }
}
.schedule .select-menu .options .option:hover {
  background: #f2f2f2;
}
.schedule .select-menu .options .option .option-text {
  font-size: 3.5897435897vw;
  font-weight: 400;
}
@media only screen and (min-width: 768px) {
  .schedule .select-menu .options .option .option-text {
    font-size: 0.9722222222vw;
  }
}
.schedule .select-menu.active .options {
  display: block;
  opacity: 1;
  z-index: 10;
}

.sales .section {
  padding: 0 0 3.4615384615vw;
}
@media only screen and (min-width: 768px) {
  .sales .section {
    padding: 0 0 6.9444444444vw;
  }
}
.sales-logo {
  margin: 20vw auto 12.8205128205vw;
  max-width: 91.7948717949vw;
}
@media only screen and (min-width: 768px) {
  .sales-logo {
    max-width: 32.0833333333vw;
    margin: 0 auto 6.9444444444vw;
  }
}
.sales-heading {
  position: relative;
  color: #222;
  text-align: center;
  font-family: "Inter", sans-serif;
  font-size: 6.6666666667vw;
  font-weight: 700;
  line-height: 10vw;
  letter-spacing: 0.6666666667vw;
  margin-bottom: 11.5384615385vw;
}
@media only screen and (min-width: 768px) {
  .sales-heading {
    font-size: 2.7777777778vw;
    line-height: 4.1666666667vw;
    letter-spacing: 0.2777777778vw;
    margin-bottom: 4.5138888889vw;
  }
}
.sales-heading::after {
  position: absolute;
  content: "";
  background: url(../img/sales/dots.svg) no-repeat;
  background-position: center;
  background-size: contain;
  width: 12.8205128205vw;
  height: 2.5641025641vw;
  bottom: -1.2820512821vw;
  left: 50%;
  transform: translateX(-50%);
}
@media only screen and (min-width: 768px) {
  .sales-heading::after {
    width: 3.4722222222vw;
    height: 0.6944444444vw;
    bottom: -0.3472222222vw;
  }
}

.sales .banner {
  background: url(../img/sales/banner/banner-sp.jpg) no-repeat;
  background-position: center;
  background-size: cover;
  padding-block: 17.9487179487vw 19.2307692308vw;
}
@media only screen and (min-width: 768px) {
  .sales .banner {
    background: url(../img/sales/banner/banner.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    padding-block: 7.1527777778vw 8.3333333333vw;
  }
}
.sales .banner-ttl {
  text-align: center;
  filter: drop-shadow(0px 2px 5px rgba(0, 0, 0, 0.15));
}
.sales .banner-ttl span {
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .sales .banner-ttl span {
    display: inline-block;
  }
}
.sales .banner-ttl-top {
  display: block !important;
  line-height: 10.7692307692vw !important;
}
@media only screen and (min-width: 768px) {
  .sales .banner-ttl-top {
    line-height: 5.2083333333vw !important;
  }
}
.sales .banner-ttl-btm {
  display: inline-block !important;
  line-height: 7.6923076923vw !important;
  margin-top: -0.5128205128vw;
}
@media only screen and (min-width: 768px) {
  .sales .banner-ttl-btm {
    display: inline-block !important;
    line-height: 5.2083333333vw !important;
    margin-top: -1.3194444444vw;
  }

}
.sales .banner-ttl .fst {
  color: #353535;
  font-family: "Dela Gothic One", sans-serif;
  font-size: 5.1282051282vw;
  font-weight: 400;
  letter-spacing: 0.5128205128vw;
  margin-right: 1.2820512821vw;
}
.sales .banner-ttl .fst span {
  letter-spacing: 0.358974359vw;
  margin-right: 1.2820512821vw;
}
@media only screen and (min-width: 768px) {
  .sales .banner-ttl .fst {
    font-size: 2.2222222222vw;
    letter-spacing: 0.2222222222vw;
  }
  .sales .banner-ttl .fst span {
    letter-spacing: 0.1555555556vw;
  }
}
.sales .banner-ttl .scd {
  color: #F6B02C;
  font-family: "Dela Gothic One", sans-serif;
  font-size: 7.1794871795vw;
  font-weight: 400;
  letter-spacing: 0.7179487179vw;
  margin-right: 1.2820512821vw;
}
@media only screen and (min-width: 768px) {
  .sales .banner-ttl .scd {
    font-size: 3.4722222222vw;
    letter-spacing: 0.3472222222vw;
    margin-right: 0.3472222222vw;
  }
}
.sales .banner-ttl .trd {
  color: #e32799;
  font-family: "Dela Gothic One", sans-serif;
  font-size: 7.1794871795vw;
  font-weight: 400;
  letter-spacing: 0.7179487179vw;
  margin-right: 1.2820512821vw;
}
@media only screen and (min-width: 768px) {
  .sales .banner-ttl .trd {
    font-size: 3.4722222222vw;
    letter-spacing: 0.3472222222vw;
    margin-right: 0.3472222222vw;
  }
}
.sales .banner-ttl .trd span {
  color: #F6B02C;
}
.sales .banner-ttl .ls-sm {
  letter-spacing: 0.7692307692vw;
}
.sales .banner-ttl .ls-sm span {
  letter-spacing: 0.7692307692vw;
}
@media only screen and (min-width: 768px) {
  .sales .banner-ttl .ls-sm {
    letter-spacing: 0.3333333333vw;
  }
  .sales .banner-ttl .ls-sm span {
    letter-spacing: 0.2222222222vw;
  }
}
.sales .banner-btm {
  background: url(../img/sales/banner/banner-btm-sp.png) no-repeat;
  background-position: center;
  background-size: cover;
  padding-block: 34vw 35.1282051282vw;
}
@media only screen and (min-width: 768px) {
  .sales .banner-btm {
    background: url(../img/sales/banner/banner-btm.png) no-repeat;
    background-position: center;
    background-size: cover;
    padding-block: 13vw 10.5555555556vw;
  }
}
.sales .banner-btm--desc {
  text-align: center;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 4.6153846154vw;
  font-weight: 700;
  line-height: 6.9230769231vw;
  letter-spacing: 0.4615384615vw;
}
@media only screen and (min-width: 768px) {
  .sales .banner-btm--desc {
    font-size: 1.8055555556vw;
    line-height: 2.7083333333vw;
    letter-spacing: 0.1805555556vw;
  }
}
.sales .mv {
  width: 100%;
  background: #fff;
  height: 115.38vw;
  position: relative;
  overflow: hidden;
}
.sales .mv .mv-text {
  position: absolute;
  top: 37.43vw;
  left: 50%;
  transform: translateX(-50%);
  width: 92.56vw;
  z-index: 3;
}
.sales .mv .mv-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  z-index: 2;
}
.sales .mv .mv-shapes {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  .sales .mv {
    width: 100%;
    background: #fff;
    height: 30vw;
    position: relative;
    overflow-y: hidden;
  }
  .sales .mv .mv-text {
    position: absolute;
    top: 6.25vw;
    left: 50%;
    transform: translateX(-50%);
    width: 48.47vw;
  }
}

.sales .service {
  background-color: #F5F5F5;
  clip-path: polygon(0 12%, 100% 0, 100% 88%, 0 100%);
  margin-top: 12.8205128205vw;
}
@media only screen and (min-width: 768px) {
  .sales .service {
    margin-top: 3.4722222222vw;
  }
}
.sales .service .section {
  padding-block: 30.5128205128vw;
}
@media only screen and (min-width: 768px) {
  .sales .service .section {
    padding-block: 10.4166666667vw;
  }
}
.sales .service-row {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  gap: 5.1282051282vw;
}
.sales .service-row:first-of-type {
  margin-bottom: 2.65vw;
}
@media only screen and (min-width: 768px) {
  .sales .service-row {
    flex-direction: row;
    gap: 4.8611111111vw;
  }
}
.sales .service-col {
  position: relative;
  text-decoration: none;
  color: #ffffff;
  border-radius: 7.6923076923vw;
  width: 100%;
  min-height: 35.8974358974vw;
  padding-block: 1.7361111111vw;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width: 768px) {
  .sales .service-col {
    border-radius: 2.0833333333vw;
    min-height: 15.2777777778vw;
    padding-block: 2.9166666667vw;
    width: 26.38%;
  }
}
.sales .service-col:hover {
  opacity: 0.7;
}
.sales .service-col::after {
  position: absolute;
  content: "";
  background: url(../img/sales/arw-rgt.svg) no-repeat;
  background-position: center;
  background-size: cover;
  width: 7.6923076923vw;
  height: 7.6923076923vw;
  bottom: 5.1282051282vw;
  right: 5.1282051282vw;
}
@media only screen and (min-width: 768px) {
  .sales .service-col::after {
    width: 3.4722222222vw;
    height: 3.4722222222vw;
    bottom: 1.3888888889vw;
    right: 1.3888888889vw;
  }
}
.sales .service-col.-fst {
  background: var(--yellow);
}
.sales .service-col.-scd {
  background: var(--pink);
}
.sales .service-col.-trd {
  background: var(--blue);
}
.sales .service-col.-fth {
  background: var(--green);
}
.sales .service-col--txt {
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 5.1282051282vw;
  font-weight: 700;
  line-height: 7.6923076923vw;
  letter-spacing: 0.1538461538vw;
}
@media only screen and (min-width: 768px) {
  .sales .service-col--txt {
    font-size: 2.0833333333vw;
    line-height: 3.125vw;
    letter-spacing: 0.0625vw;
  }
}



.sales .service-child {
  padding-top: 3vw;
}
@media only screen and (min-width: 768px) {
  .sales .service-child {
    padding-top: 5.5555555556vw;
  }
}
.sales .service-child-block {
  border-radius: 12.8205128205vw 0vw 0vw 12.8205128205vw;
  padding: 5.1282051282vw;
  margin-left: 4.1025641026vw;
}
@media only screen and (min-width: 768px) {
  .sales .service-child-block {
    border-radius: 3.4722222222vw 0vw 0vw 3.4722222222vw;
    padding: 4.8611111111vw 5.5555555556vw;
    margin-left: 5.5555555556vw;
  }
}
.sales .service-child-row {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  width: 85.641025641vw;
  padding-bottom: 76.1538461538vw;
}
@media only screen and (min-width: 768px) {
  .sales .service-child-row {
    flex-direction: row;
    width: 80.9027777778vw;
    padding-bottom: 0vw;
  }
}
.sales .service-child-col.-txt {
  background-color: #ffffff;
  border-radius: 7.6923076923vw;
  width: 85.641025641vw;
  padding: 7.6923076923vw 3.8461538462vw;
}
@media only screen and (min-width: 768px) {
  .sales .service-child-col.-txt {
    border-radius: 2.0833333333vw;
    width: 45.13888888888889vw;
    padding: 3.4722222222vw;
  }
}
.sales .service-child-col.-img {
  position: absolute;
  width: 74.358974359vw;
  bottom: -7.051282vw;
  z-index: 0;
}
@media only screen and (min-width: 768px) {
  .sales .service-child-col.-img {
    width: 30.2083333333vw;
    top: 0vw;
    left: 0vw;
    bottom: unset;
  }
}
.sales .service-child-col--ttl {
  color: #222;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 4.6153846154vw;
  font-weight: 700;
  text-align: center;
  line-height: 6.9230769231vw;
  letter-spacing: 0.1384615385vw;
  margin-bottom: 5.1282051282vw;
}
@media only screen and (min-width: 768px) {
  .sales .service-child-col--ttl {
    font-size: 2.0833333333vw;
    line-height: 3.125vw;
    letter-spacing: 0.0625vw;
    margin-bottom: 2.0833333333vw;
  }
}
.sales .service-child-col--desc {
  color: #222;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.5897435897vw;
  font-weight: 400;
  line-height: 5.3846153846vw;
  letter-spacing: 0.1076923077vw;
  margin-bottom: 5.1282051282vw;
}
@media only screen and (min-width: 768px) {
  .sales .service-child-col--desc {
    font-size: 1.1111111111vw;
    text-align: right;
    line-height: 1.6666666667vw;
    letter-spacing: 0.0333333333vw;
    margin-bottom: 2.0833333333vw;
  }
}
.sales .service-child-col--link {
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  border-radius: 50px;
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  width: 77.9487179487vw;
  font-size: 4.1025641026vw;
  font-weight: 700;
  line-height: 6.1538461538vw;
  letter-spacing: 0.1230769231vw;
  padding-block: 3.3333333333vw;
  padding-right: 7.6923076923vw;
}
@media only screen and (min-width: 768px) {
  .sales .service-child-col--link {
    width: 20.8333333333vw;
    font-size: 1.3888888889vw;
    line-height: 1.0416666667vw;
    letter-spacing: 0.0416666667vw;
    padding-block: 1.5277777778vw 1.5972222222vw;
    padding-right: 0vw;
  }
}
.sales .service-child-col--link::after {
  position: absolute;
  content: "";
  background: url(../img/sales/arw-rgt.svg) no-repeat;
  background-position: center;
  background-size: cover;
  width: 5.1282051282vw;
  height: 5.1282051282vw;
  bottom: 50%;
  right: 22.0512820513vw;
  transform: translateY(50%);
}
@media only screen and (min-width: 768px) {
  .sales .service-child-col--link::after {
    width: 1.7361111111vw;
    height: 1.7361111111vw;
    right: 2.0833333333vw;
  }
}
.sales .service-contact-btn {
  display: flex;
  justify-content: flex-end;
}

/*反転*/
@media only screen and (min-width: 768px) {
  .service-child:nth-child(odd) .service-child-block {
    margin-left: 0;
    margin-right: 5.5556vw;
    border-radius: 0vw 3.4722222222vw 3.4722222222vw 0vw;
  }
  .service-child:nth-child(odd) .service-child-col.-img {
    right: 0vw;
    left: unset;
  }
  .service-child:nth-child(odd) .service-child-row {
    justify-content: flex-start;
  }
  .service-child:nth-child(odd) .service-child-col--ttl {
    text-align: left;
  }
  .service-child:nth-child(odd) .service-child-col--desc {
    text-align: left;
  }
  .service-child:nth-child(odd) .service-contact-btn {
    justify-content: flex-start;
  }
}
@media only screen and (max-width: 767px) {
  .service-child:nth-child(odd) .service-child-row {
    padding-bottom: 64vw;
  }
  .service-child:nth-child(odd) .service-child-block {
    margin-left: 0;
    margin-right: 4.1025641026vw;
    border-radius: 0vw 12.8205128205vw 12.8205128205vw 0vw;
  }
}

/*背景色*/
.service-child .service-child-block.-yellow { background: var(--yellow); }
.service-child .service-child-block.-pink { background: var(--pink); }
.service-child .service-child-block.-blue { background: var(--blue); }
.service-child .service-child-block.-green { background: var(--green); }

/*ボタン色*/
.service-child .service-child-block.-yellow .service-child-col--link { background: var(--yellow); }
.service-child .service-child-block.-pink .service-child-col--link { background: var(--pink); }
.service-child .service-child-block.-blue .service-child-col--link { background: var(--blue); }
.service-child .service-child-block.-green .service-child-col--link { background: var(--green); }

/*強調文字色*/
.service-child .service-child-block.-yellow .b { font-weight: 700; color: var(--yellow); }
.service-child .service-child-block.-pink .b { font-weight: 700; color: var(--pink); }
.service-child .service-child-block.-blue .b { font-weight: 700; color: var(--blue); }
.service-child .service-child-block.-green .b { font-weight: 700; color: var(--green); }

.sales .contact-form {
  margin: 0 auto;
  max-width: 91.7948717949vw;
}
@media only screen and (min-width: 768px) {
  .sales .contact-form {
    max-width: 45.2777777778vw;
  }
}
.sales .contact-form-tr {
  margin-bottom: 7.6923076923vw;
}
@media only screen and (min-width: 768px) {
  .sales .contact-form-tr {
    margin-bottom: 2.0833333333vw;
  }
}
.sales .contact-form-th {
  display: flex;
  align-items: center;
  font-weight: 700;
  font-size: 3.5897435897vw;
  padding: 0 0 2.5641025641vw 0;
  line-height: 5.641025641vw;
  gap: 2.5641025641vw;
}
@media only screen and (min-width: 768px) {
  .sales .contact-form-th {
    font-size: 1.1111111111vw;
    gap: 0.6944444444vw;
    line-height: 1.8055555556vw;
    padding: 0 0 0.6944444444vw 0;
  }
}
.sales .contact-form-required {
  font-family: Roboto;
  font-weight: 400;
  background: #E53935;
  color: #fff;
  font-size: 3.0769230769vw;
  padding: 1.0256410256vw 2.5641025641vw;
  line-height: 3.5897435897vw;
  border-radius: 0.5128205128vw;
}
@media only screen and (min-width: 768px) {
  .sales .contact-form-required {
    font-size: 0.9722222222vw;
    line-height: 1.1111111111vw;
    padding: 0.2777777778vw 0.6944444444vw;
    border-radius: 0.1388888889vw;
  }
}
.sales .contact-form-select {
  max-width: 64.1025641026vw;
}
@media only screen and (min-width: 768px) {
  .sales .contact-form-select {
    max-width: 17.3611111111vw;
  }
}
.sales .contact-form-select .search-form-select select {
  width: 100%;
  border: 0.2564102564vw solid #CACACA;
  height: 11.7948717949vw;
}
@media only screen and (min-width: 768px) {
  .sales .contact-form-select .search-form-select select {
    border: 0.0694444444vw solid #CACACA;
    height: 3.1944444444vw;
  }
}
.sales .contact-form-input input {
  width: 100%;
  height: 11.7948717949vw;
  border: 0.2564102564vw solid #CACACA;
  border-radius: 0.5128205128vw;
  padding: 2.5641025641vw 3.0769230769vw;
}
@media only screen and (min-width: 768px) {
  .sales .contact-form-input input {
    height: 3.1944444444vw;
    border: 0.0694444444vw solid #CACACA;
    border-radius: 0.1388888889vw;
    padding: 0.6944444444vw 0.8333333333vw;
  }
}
.sales .contact-form-textarea textarea {
  width: 100%;
  background: #FFF;
  resize: none;
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
  font-weight: 400;
  line-height: normal;
  border-radius: 0.5128205128vw;
  border: 0.2564102564vw solid #CACACA;
  padding: 3.0769230769vw 2.5641025641vw;
  height: 25.641025641vw;
  font-size: 3.0769230769vw;
}
@media only screen and (min-width: 768px) {
  .sales .contact-form-textarea textarea {
    border-radius: 0.1388888889vw;
    border: 0.0694444444vw solid #CACACA;
    padding: 0.8333333333vw 0.6944444444vw;
    height: 6.9444444444vw;
    font-size: 0.9722222222vw;
  }
}
.sales .contact-form-policy {
  color: #494949;
  font-weight: 400;
  background: #FFF;
  font-size: 3.0769230769vw;
  margin-bottom: 7.6923076923vw;
}
@media only screen and (min-width: 768px) {
  .sales .contact-form-policy {
    font-size: 0.8333333333vw;
    line-height: 1.1805555556vw;
    margin-bottom: 2.0833333333vw;
  }
}
.sales .contact-form .sales-privacy {
  overflow: scroll;
  height: 200px;
  padding: 2rem;
  border: 0.1rem solid #ccc;
  font-size: 3.0769230769vw;
}
.sales .contact-form .sales-privacy h3, .sales .contact-form .sales-privacy p {
  margin-bottom: 5.1282051282vw;
  font-size: 3.0769230769vw;
  font-weight: 400;
}
.sales .contact-form .sales-privacy > div {
  margin-bottom: 5.1282051282vw;
  font-size: 3.0769230769vw;
}
@media only screen and (min-width: 768px) {
  .sales .contact-form .sales-privacy {
    font-size: 0.8333333333vw;
  }
  .sales .contact-form .sales-privacy h3, .sales .contact-form .sales-privacy p {
    margin-bottom: 1.3888888889vw;
    font-size: 0.8333333333vw;
  }
  .sales .contact-form .sales-privacy > div {
    margin-bottom: 1.3888888889vw;
    font-size: 0.8333333333vw;
  }
}
.sales .contact-form-submit {
  margin: 0 auto;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .sales .contact-form-submit {
    max-width: 31.25vw;
  }
}
.sales .contact-form-submit button {
  background: #E32779;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  width: 100%;
  transition: all 0.3s ease;
  cursor: pointer;
  font-family: "Noto Sans JP", sans-serif;
  height: 16.1538461538vw;
  border: 0.2564102564vw solid #E32779;
  gap: 2.0512820513vw;
  font-size: 4.1025641026vw;
  line-height: 5.8974358974vw;
  border-radius: 1.0256410256vw;
}
@media only screen and (min-width: 768px) {
  .sales .contact-form-submit button {
    border-radius: 0.2777777778vw;
    gap: 0.5555555556vw;
    font-size: 1.3888888889vw;
    line-height: 2.0138888889vw;
    border: 0.0694444444vw solid #E32779;
    height: 4.8611111111vw;
  }
}
.sales .contact-form-submit button:hover {
  background-color: #fff;
  color: #E32779;
}
.sales .contact-form-submit button:hover .norm {
  display: none;
}
.sales .contact-form-submit button:hover .hover {
  display: block;
}
.sales .contact-form-submit button img {
  width: 6.4102564103vw;
}
@media only screen and (min-width: 768px) {
  .sales .contact-form-submit button img {
    width: 2.2222222222vw;
  }
}
.sales .contact-form-submit button .hover {
  display: none;
}
.sales .contact-form-agree label {
  font-weight: 400;
  font-size: 3.5897435897vw;
  line-height: 5.1282051282vw;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.5641025641vw;
}
@media only screen and (min-width: 768px) {
  .sales .contact-form-agree label {
    gap: 0.6944444444vw;
    font-size: 0.9722222222vw;
    line-height: 1.3888888889vw;
  }
}
.sales .contact-form-agree label input[type=checkbox] {
  accent-color: #FE0000;
  border-radius: 0.5128205128vw;
  width: 6.1538461538vw;
  height: 6.1538461538vw;
}
@media only screen and (min-width: 768px) {
  .sales .contact-form-agree label input[type=checkbox] {
    width: 1.6666666667vw;
    height: 1.6666666667vw;
    border-radius: vw 2px;
  }
}
.sales .contact input::placeholder {
  color: #999;
  font-weight: 400;
  line-height: 5.641025641vw;
  font-size: 3.0769230769vw;
}
@media only screen and (min-width: 768px) {
  .sales .contact input::placeholder {
    line-height: 1.5277777778vw;
    font-size: 0.9722222222vw;
  }
}

@media only screen and (max-width: 767px) {
  .faq-container {
    padding-bottom: 8.2051282051vw;
  }
}
.faq-section:not(:last-of-type) {
  margin-bottom: 7.6923076923vw;
}
@media only screen and (min-width: 768px) {
  .faq-section:not(:last-of-type) {
    margin-bottom: 3.4722222222vw;
  }
}
.faq-top-box {
  background: #FFF1F9;
  padding: 3.8461538462vw 2.5641025641vw;
}
@media only screen and (min-width: 768px) {
  .faq-top-box {
    padding: 1.3888888889vw;
  }
}
.faq-top-box-section:not(:last-of-type) {
  margin-bottom: 3.8461538462vw;
}
@media only screen and (min-width: 768px) {
  .faq-top-box-section:not(:last-of-type) {
    margin-bottom: 1.3888888889vw;
  }
}
.faq-top-box-ttl {
  color: #e32799;
  font-weight: 700;
  font-size: 3.5897435897vw;
  line-height: 5.3846153846vw;
  letter-spacing: 0.1076923077vw;
}
@media only screen and (min-width: 768px) {
  .faq-top-box-ttl {
    font-size: 1.3888888889vw;
    line-height: 2.0833333333vw;
    letter-spacing: 0.0416666667vw;
  }
}
.faq-top-box-list {
  margin-top: 2.5641025641vw;
}
@media only screen and (min-width: 768px) {
  .faq-top-box-list {
    margin-top: 0.6944444444vw;
  }
}
.faq-top-box-list li {
  font-weight: 400;
  text-decoration-line: underline;
  font-size: 3.0769230769vw;
  font-weight: 400;
  line-height: 4.6153846154vw;
  letter-spacing: 0.0923076923vw;
}
@media only screen and (min-width: 768px) {
  .faq-top-box-list li {
    font-size: 1.1111111111vw;
    line-height: 1.6666666667vw;
    letter-spacing: 0.0333333333vw;
  }
}
.faq-top-box-list li:not(:last-of-type) {
  margin-bottom: 1.2820512821vw;
}
@media only screen and (min-width: 768px) {
  .faq-top-box-list li:not(:last-of-type) {
    margin-bottom: 0.3472222222vw;
  }
}
.faq-box:not(:last-of-type) {
  margin-bottom: 5.1282051282vw;
}
@media only screen and (min-width: 768px) {
  .faq-box:not(:last-of-type) {
    margin-bottom: 2.0833333333vw;
  }
}
.faq-box .link-icon {
  margin: 0.5128205128vw;
}
@media only screen and (min-width: 768px) {
  .faq-box .link-icon {
    margin: 0.2777777778vw;
  }
}
.faq-box-q-txt {
  color: #e32799;
  font-family: "Inter", sans-serif;
  font-weight: 700;
  position: relative;
  font-size: 4.6153846154vw;
  line-height: 5.641025641vw;
  letter-spacing: 0.1384615385vw;
  padding: 0 0 0 4.358974359vw;
  min-height: 12.8205128205vw;
  display: flex;
  align-items: center;
}
@media only screen and (min-width: 768px) {
  .faq-box-q-txt {
    min-height: 3.125vw;
    font-size: 1.6666666667vw;
    line-height: 2.0138888889vw;
    letter-spacing: 0.05vw;
    padding: 0 0 0 1.7361111111vw;
  }
}
.faq-box-q-txt::after {
  content: "";
  background-color: #e32799;
  height: 12.8205128205vw;
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 2.5641025641vw;
}
@media only screen and (min-width: 768px) {
  .faq-box-q-txt::after {
    width: 0.6944444444vw;
    height: 3.125vw;
  }
}
.faq-box-a {
  margin-top: 3.8461538462vw;
  font-weight: 400;
  font-size: 3.0769230769vw;
  line-height: 4.358974359vw;
  letter-spacing: 0.0923076923vw;
}
@media only screen and (min-width: 768px) {
  .faq-box-a {
    font-size: 1.1111111111vw;
    line-height: 1.5972222222vw;
    letter-spacing: 0.0333333333vw;
    margin-top: 1.3888888889vw;
  }
}
.faq-box-a a {
  color: #e32799;
}
.faq-box-a a img {
  width: 2.5641025641vw;
}
@media only screen and (min-width: 768px) {
  .faq-box-a a img {
    width: 1.0416666667vw;
  }
}

@media only screen and (max-width: 767px) {
  .privacy-container {
    padding-bottom: 8.2051282051vw;
  }
}
.privacy-txt {
  font-size: 3.0769230769vw;
  font-weight: 400;
  line-height: 4.358974359vw;
  margin-top: 2.5641025641vw;
  letter-spacing: 0.0923076923vw;
}
@media only screen and (min-width: 768px) {
  .privacy-txt {
    font-size: 1.1111111111vw;
    font-weight: 400;
    line-height: 1.5972222222vw;
    letter-spacing: 0.0333333333vw;
    margin-top: 1.3888888889vw;
  }
}
.privacy-txt.sm {
  font-size: 3.0769230769vw;
  line-height: 4.358974359vw;
  letter-spacing: 0.0923076923vw;
}
@media only screen and (min-width: 768px) {
  .privacy-txt.sm {
    font-size: 0.8333333333vw;
    line-height: 1.1805555556vw;
    letter-spacing: 0.025vw;
  }
}
.privacy-txt.top {
  margin: 0;
}
.privacy-txt.btm {
  text-align: right;
  margin-top: 3.8461538462vw;
}
@media only screen and (min-width: 768px) {
  .privacy-txt.btm {
    margin-top: 2.0833333333vw;
  }
}
.privacy-txt.tleft {
  text-align: left;
}
.privacy-box {
  margin-top: 7.6923076923vw;
}
@media only screen and (min-width: 768px) {
  .privacy-box {
    margin-top: 3.4722222222vw;
  }
}

/* --------------------------------------------
thanks
-------------------------------------------- */
.main.thanks {
  background: #F8F8F8;
  padding: 30px 15px;
}
.thanks p {
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  margin-bottom: 6.0rem;
  line-height: 1.8;
  font-size: 1.6rem;
}
.thanks a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: fit-content;
  padding: 10px 20px;
  background-color: #E32779;
  border: #E32779 solid 2px;
  text-decoration: none;
  border-radius: 5px;
  transition: .3s;
  margin: 0 auto;
}
.thanks a:hover {
  background-color: #fff;
  opacity: 1;
}
.thanks a span {
  color: #FFF;
  font-size: 1.6rem;
}
.thanks a:hover span {
  color: #E32779;
}
@media only screen and (min-width: 768px) {
  .main.thanks {
    padding: 100px 15px;
  }
  .thanks p {
    margin-bottom: 4.16vw;
  }
  .thanks a span {
    line-height: 1.4583333333vw;
  }
}

/* --------------------------------------------
scroll animation
-------------------------------------------- */
.anm-fadein {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1s ease-out, transform 1s ease-out;
}
.anm-fadein.visible {
  opacity: 1;
  transform: translateY(0);
}
