@charset "UTF-8";
/*--------------------------------------*
* foundation
*--------------------------------------*/
/*--------------------------------------*
* ベースカラー
*--------------------------------------*/
/*--------------------------------------*
* フォント
*--------------------------------------*/
/*--------------------------------------*
* ブレイクポイント
*--------------------------------------*/
/*--------------------------------------*
* vw変換(SP用)
*--------------------------------------*/
/*--------------------------------------*
* vw変換(PC用)
*--------------------------------------*/
/*--------------------------------------*
* デフォルトスタイル
*--------------------------------------*/
html,
body {
  width: 100%;
  font-size: 16px;
  margin: 0 auto;
  font-family: "kozuka-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #111;
}

.de_italic {
  font-family: "de-walpergens-pica", sans-serif;
  font-weight: 400;
  font-style: italic;
}

.en {
  font-family: "futura-pt", sans-serif;
  font-weight: 400;
  font-style: normal;
}

img,
video,
object {
  width: 100%;
  border: none;
  display: block;
}

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

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

/*--------------------------------------*
* aタグ
*--------------------------------------*/
a {
  display: block;
  text-decoration: none;
  transition: all 0.4s;
  color: #fff;
}
@media screen and (min-width: 769px) {
  a:hover {
    opacity: 0.8;
    transition: all 0.5s;
    cursor: pointer;
  }
}
a[href=""] {
  pointer-events: none;
}

/*--------------------------------------*
* ローディング
*--------------------------------------*/
#loading-bg {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: #fff;
  z-index: 999;
}

/*--------------------------------------*
* layout
*--------------------------------------*/
/*--------------------------------------*
* foundation
*--------------------------------------*/
/*--------------------------------------*
* ヘッダー
*--------------------------------------*/
/*--------------------------------------*
* foundation
*--------------------------------------*/
/*--------------------------------------*
* フッター
*--------------------------------------*/
footer {
  background-color: #CF2841;
}
@media screen and (max-width: 768px) {
  footer {
    padding-top: 10.6666666667vw;
  }
}
@media screen and (min-width: 769px) {
  footer {
    padding-top: 4.2857142857vw;
  }
}
footer a:hover {
  opacity: 0.4;
}
footer .txt {
  text-align: center;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  footer .txt {
    font-size: 12px;
    padding: 40vw 0 0;
    line-height: 1.5;
  }
}
@media screen and (min-width: 769px) {
  footer .txt {
    font-size: min(1.171875vw, 15px);
    padding: 10.7142857143vw 0 0;
    line-height: 1.875;
  }
}
footer .txt .m_b {
  margin-bottom: 1em;
}
footer .logo_btn {
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  footer .logo_btn {
    padding: 21.3333333333vw 0 10.6666666667vw;
    width: 35.3333333333vw;
  }
}
@media screen and (min-width: 769px) {
  footer .logo_btn {
    padding: 5.7142857143vw 0 5.7142857143vw;
    max-width: 170px;
    width: 100%;
  }
}
footer .link ul {
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  footer .link ul {
    width: 84vw;
    font-size: 14px;
  }
}
@media screen and (min-width: 769px) {
  footer .link ul {
    font-size: 16px;
    max-width: 750px;
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  footer .link ul li {
    margin-bottom: 4vw;
  }
}
@media screen and (min-width: 769px) {
  footer .link ul li {
    margin-bottom: 2.1428571429vw;
  }
}
footer .link ul li:last-child {
  border-right: none;
}
footer .link ul li a {
  color: #fff;
}
footer .copyright {
  text-align: center;
  color: #fff;
}
@media screen and (max-width: 768px) {
  footer .copyright {
    font-size: 8px;
    padding: 0 0 2.1333333333vw;
    letter-spacing: 0.1em;
  }
}
@media screen and (min-width: 769px) {
  footer .copyright {
    font-size: 10px;
    padding: 0 0 1.4285714286vw;
    letter-spacing: 0.1em;
  }
}

/*--------------------------------------*
* object
*--------------------------------------*/
/*-------------------
* component
-------------------*/
/*--------------------------------------*
* foundation
*--------------------------------------*/
/*--------------------------------------*
* コンテンツ幅
*--------------------------------------*/
/*--------------------------------------*
* foundation
*--------------------------------------*/
/*--------------------------------------*
* 共通ボタン
*--------------------------------------*/
.btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 225px;
  width: 100%;
  min-height: 50px;
  padding: 0 5%;
  margin: 0 auto;
  font-size: 14px;
  font-family: "futura-pt-bold", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1;
  letter-spacing: 0.05em;
  text-decoration: none;
  text-align: center;
  border-radius: 9999px;
  background-color: #fff;
  color: #CF2841;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .btn a {
    max-width: 400px;
    min-height: 80px;
    margin: 120px auto 60px;
    font-size: 22px;
  }
}

/*--------------------------------------*
* foundation
*--------------------------------------*/
/*--------------------------------------*
* セクション共通
*--------------------------------------*/
.inner {
  height: -moz-fit-content;
  height: fit-content;
  position: relative;
}

@media screen and (min-width: 769px) {
  .pc_flex {
    display: flex;
  }
}

a {
  cursor: pointer;
}

a:hover {
  opacity: 0.6;
}

.bg_red {
  background-color: #CF2841;
}

/* ===== 雪を表示するコンテナのスタイル ===== */
.snow-container {
  position: relative;
  width: 100%; /* コンテナの横幅 */
  overflow: hidden;
  background-color: #DEDEDE;
}
/* ===== 雪のスタイル ===== */
.snow {
  background-color: #fff; /* 雪の色 */
  border-radius: 50%;
  position: absolute;
  animation: animate-snow 10s linear;
  filter: blur(3px);
}

/* ===== 雪のアニメーション ===== */
@keyframes animate-snow {
  0% {
    opacity: 1;
    top: 0;
  }
  100% {
    opacity: 0;
    opacity: 1;
    top: 100%;
  }
}
dl dt {
  margin: 20px 50px;
  font-size: large;
  background: #829FD9;
  border: 1px solid black;
  padding-left: 10px;
  width: 200px;
  cursor: pointer;
}

dl dt:hover {
  background: #5C73F2;
}

div#glayLayer {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background: #000000;
  filter: alpha(opacity=50);
  opacity: 0.5;
  z-index: 10;
}

#overLayer {
  z-index: 11;
  display: none;
  width: 400px;
  background: white;
  padding: 10px;
  position: fixed;
  top: 50%;
  left: 50%;
}

/* フェードアップ */
.fade_up {
  opacity: 0; /*表示前に透明にしておく */
  transform: translateY(20px); /*表示前の位置 */
  transition: 0.8s; /*移動にかける時間 */
  transition-delay: 0.1s; /*遅延をかける秒数 */
}

.fade_up.show {
  opacity: 1;
  transform: translateY(0px);
}

/* フェードイン */
.fade_in {
  opacity: 0; /*表示前に透明にしておく */
  transition: 1s; /*移動にかける時間 */
  transition-delay: 1s; /*遅延をかける秒数 */
}

.fade_in.show {
  opacity: 1;
}

.iframe-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.iframe-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*-------------------
* project
-------------------*/
/*--------------------------------------*
* foundation
*--------------------------------------*/
/*--------------------------------------*
* FV
*--------------------------------------*/
#fv {
  width: 100%;
  position: relative;
}
#fv .inner {
  position: relative;
  border: 7.5px solid #CF2841;
  border-bottom: none;
}
@media screen and (max-width: 768px) {
  #fv .inner {
    min-height: 177.8666666667vw;
  }
}
@media screen and (min-width: 769px) {
  #fv .inner {
    height: 100vh;
    height: calc(var(--vh, 1vh) * 100);
    padding-bottom: 8.59375vw;
  }
}
#fv h1 {
  position: absolute;
  z-index: 10;
  color: #CF2841;
}
@media screen and (max-width: 768px) {
  #fv h1 {
    font-size: 16vw;
    line-height: 0.933;
    left: 3.6vw;
    top: 5.2vw;
  }
}
@media screen and (min-width: 769px) {
  #fv h1 {
    font-size: 10vw;
    left: 5.9375vw;
    top: 3.671875vw;
  }
}
#fv .pic {
  position: absolute;
}
@media screen and (max-width: 768px) {
  #fv .pic.sub_title {
    width: 68.1333333333vw;
    left: 0.8vw;
    top: 34.9333333333vw;
  }
}
@media screen and (min-width: 769px) {
  #fv .pic.sub_title {
    width: 33.203125vw;
    left: 4.6875vw;
    top: 23.828125vw;
  }
}
#fv .pic.main {
  z-index: 0;
}
@media screen and (max-width: 768px) {
  #fv .pic.main {
    width: 82.6666666667vw;
    left: 5.2vw;
    top: 42.8vw;
  }
}
@media screen and (min-width: 769px) {
  #fv .pic.main {
    width: 42.03125vw;
    left: 51.796875vw;
    top: 0.34375vw;
  }
}
#fv .pic.pic1 {
  transform: rotate(9deg);
}
@media screen and (max-width: 768px) {
  #fv .pic.pic1 {
    width: 11.7333333333vw;
    left: 51.2vw;
    top: 20.9333333333vw;
  }
}
@media screen and (min-width: 769px) {
  #fv .pic.pic1 {
    width: 5.78125vw;
    left: 0vw;
    top: 16.71875vw;
  }
}
@media screen and (max-width: 768px) {
  #fv .pic.pic2 {
    width: 11.7333333333vw;
    left: 65.6vw;
    top: 25.8666666667vw;
  }
}
@media screen and (min-width: 769px) {
  #fv .pic.pic2 {
    width: 5.78125vw;
    left: 51.953125vw;
    top: 17.890625vw;
  }
}
#fv .pic.pic3 {
  transform: rotate(9deg);
}
@media screen and (max-width: 768px) {
  #fv .pic.pic3 {
    width: 10.6666666667vw;
    left: 28.1333333333vw;
    top: 50.1333333333vw;
  }
}
@media screen and (min-width: 769px) {
  #fv .pic.pic3 {
    width: 5.78125vw;
    left: 42.734375vw;
    top: 14.296875vw;
  }
}
@media screen and (max-width: 768px) {
  #fv .pic.pic4 {
    width: 12.6666666667vw;
    left: 4.5333333333vw;
    top: 58.6666666667vw;
  }
}
@media screen and (min-width: 769px) {
  #fv .pic.pic4 {
    width: 5.9375vw;
    left: 65.625vw;
    top: 0.9375vw;
  }
}
@media screen and (max-width: 768px) {
  #fv .pic.pic5 {
    width: 17.0586666667vw;
    left: 77.3333333333vw;
    top: 55.3333333333vw;
  }
}
@media screen and (min-width: 769px) {
  #fv .pic.pic5 {
    width: 8.828125vw;
    left: 88.828125vw;
    top: 14.0625vw;
  }
}
@media screen and (max-width: 768px) {
  #fv .pic.pic6 {
    width: 16.9333333333vw;
    left: 76.5333333333vw;
    top: 131.3333333333vw;
  }
}
@media screen and (min-width: 769px) {
  #fv .pic.pic6 {
    width: 7.734375vw;
    left: 89.84375vw;
    top: 42.8125vw;
  }
}
@media screen and (max-width: 768px) {
  #fv .pic.pic7 {
    width: 17.8666666667vw;
    left: 1.8666666667vw;
    top: 161.3333333333vw;
  }
}
@media screen and (min-width: 769px) {
  #fv .pic.pic7 {
    width: 8.75vw;
    left: 0.859375vw;
    top: 42.1875vw;
  }
}
@media screen and (max-width: 768px) {
  #fv .pic.pic8 {
    width: 13.7333333333vw;
    left: 3.2vw;
    top: 126.6666666667vw;
  }
}
@media screen and (min-width: 769px) {
  #fv .pic.pic8 {
    width: 8.4375vw;
    left: 40.390625vw;
    top: 37.8125vw;
  }
}
@media screen and (max-width: 768px) {
  #fv .pic.pic9 {
    width: 16.9573333333vw;
    left: 77.2vw;
    top: 158.9333333333vw;
  }
}
@media screen and (min-width: 769px) {
  #fv .pic.pic9 {
    transform: rotate(-20deg);
    width: 7.65625vw;
    left: 37.578125vw;
    top: 18.671875vw;
  }
}
@media screen and (max-width: 768px) {
  #fv .pic.pic10 {
    width: 25.4573333333vw;
    left: 71.4666666667vw;
    top: 30.6666666667vw;
  }
}
@media screen and (min-width: 769px) {
  #fv .pic.pic10 {
    width: 12.1875vw;
    left: 85.9375vw;
    top: 0.78125vw;
  }
}
@media screen and (max-width: 768px) {
  #fv .pic.pic11 {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  #fv .pic.pic11 {
    width: 5.546875vw;
    left: 1.71875vw;
    top: 29.296875vw;
  }
}
@media screen and (max-width: 768px) {
  #fv .pic.pic12 {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  #fv .pic.pic12 {
    transform: rotate(18deg);
    width: 5.78125vw;
    left: 30.390625vw;
    top: 0.625vw;
  }
}
@media screen and (max-width: 768px) {
  #fv .pic.pic13 {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  #fv .pic.pic13 {
    transform: rotate(-5deg);
    width: 5.78125vw;
    left: 45.3125vw;
    top: 30.46875vw;
  }
}
@media screen and (max-width: 768px) {
  #fv .pic.pic14 {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  #fv .pic.pic14 {
    transform: rotate(-40deg);
    width: 5.78125vw;
    left: 35.390625vw;
    top: 43.359375vw;
  }
}
@media screen and (max-width: 768px) {
  #fv .pic.logo {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  #fv .pic.logo {
    width: 8.203125vw;
    left: 0.390625vw;
    top: 0.9375vw;
  }
}
#fv .lead {
  position: absolute;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  #fv .lead {
    width: 66.6666666667vw;
    top: 140vw;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    text-align: center;
  }
}
@media screen and (min-width: 769px) {
  #fv .lead {
    width: 33.046875vw;
    left: 7.421875vw;
    top: 32.8125vw;
  }
}
@media screen and (max-width: 768px) {
  #fv .lead p {
    font-size: 11px;
  }
}
@media screen and (min-width: 769px) {
  #fv .lead p {
    font-size: 1.40625vw;
  }
}

.jsc-fadeIn-1,
.jsc-fadeIn-2,
.jsc-fadeIn-3,
.jsc-fadeIn-4,
.jsc-fadeIn-5,
.jsc-fadeIn-6 {
  opacity: 0;
  transition: opacity 1s;
}

.jsc-fadeIn-1.is-active,
.jsc-fadeIn-2.is-active,
.jsc-fadeIn-3.is-active,
.jsc-fadeIn-4.is-active,
.jsc-fadeIn-5.is-active,
.jsc-fadeIn-6.is-active {
  opacity: 1;
}

.jsc-fadeIn-1.is-active {
  transition-delay: 0.3s;
}

.jsc-fadeIn-2.is-active {
  transition-delay: 0.6s;
}

.jsc-fadeIn-3.is-active {
  transition-delay: 0.9s;
}

.jsc-fadeIn-4.is-active {
  transition-delay: 1.2s;
}

.jsc-fadeIn-5.is-active {
  transition-delay: 1.5s;
}

.jsc-fadeIn-6.is-active {
  transition-delay: 1.8s;
}

/*--------------------------------------*
* foundation
*--------------------------------------*/
/*--------------------------------------*
* lead
*--------------------------------------*/
/*--------------------------------------*
* foundation
*--------------------------------------*/
/*--------------------------------------*
* credit
*--------------------------------------*/
.credit_card {
  position: relative;
}
.credit_card.active .plus {
  transform: rotate(45deg);
  transition: all 0.4s;
}

.credit_wrap {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .credit_wrap {
    margin-top: 5.3333333333vw;
  }
}
@media screen and (min-width: 769px) {
  .credit_wrap {
    margin-top: 2.5vw;
  }
}
.credit_wrap.t_left {
  text-align: left;
}
.credit_wrap li {
  color: #000;
}
@media screen and (max-width: 768px) {
  .credit_wrap li {
    font-size: 12px;
    line-height: 2;
    letter-spacing: 0.05em;
  }
}
@media screen and (min-width: 769px) {
  .credit_wrap li {
    font-size: 16px;
    line-height: 1.875;
    letter-spacing: 0.05em;
  }
}
.credit_wrap li a {
  color: #000;
  display: inline-block;
}
.credit_wrap li a:hover {
  opacity: 0.4;
}
.credit_wrap li.all {
  line-height: 1;
  margin-top: 0.5em;
}
.credit_wrap li.all a {
  display: inline-block;
  position: relative;
}
.credit_wrap li.all a::after {
  content: "";
  width: 100%;
  height: 1px;
  display: inline-block;
  background-color: #000;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

.plus {
  position: absolute;
  transition: all 0.4s;
  z-index: 15;
}
@media screen and (max-width: 768px) {
  .plus {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
    bottom: 5.3333333333vw;
    right: 5.3333333333vw;
  }
}
@media screen and (min-width: 769px) {
  .plus {
    width: min(1.953125vw, 25px);
    height: min(1.953125vw, 25px);
    bottom: min(2.34375vw, 30px);
    right: min(2.34375vw, 30px);
  }
}
.plus:before, .plus:after {
  content: "";
  background-color: #fff;
  position: absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
}
@media screen and (max-width: 768px) {
  .plus:before {
    width: 5.3333333333vw;
    height: 1px;
  }
}
@media screen and (min-width: 769px) {
  .plus:before {
    width: min(1.953125vw, 25px);
    height: 1px;
  }
}
@media screen and (max-width: 768px) {
  .plus:after {
    width: 1px;
    height: 5.3333333333vw;
  }
}
@media screen and (min-width: 769px) {
  .plus:after {
    width: 1px;
    height: min(1.953125vw, 25px);
  }
}

/*--------------------------------------*
* foundation
*--------------------------------------*/
/*--------------------------------------*
* top_collabo
*--------------------------------------*/
#top_collabo {
  width: 100%;
  position: relative;
}
#top_collabo .inner {
  position: relative;
  border: 7.5px solid #CF2841;
  border-top: none;
}
#top_collabo .inner .content {
  background-color: #FDF8EB;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #top_collabo .inner .content {
    width: 80vw;
    margin: 0 auto 28.6666666667vw;
    padding: 12.6666666667vw 0 15.3333333333vw;
  }
}
@media screen and (min-width: 769px) {
  #top_collabo .inner .content {
    width: 54.6875vw;
    padding: 5.078125vw 0;
    margin: 0 auto 10.9375vw;
  }
}
#top_collabo .inner .content h2 {
  text-align: center;
}
@media screen and (max-width: 768px) {
  #top_collabo .inner .content h2 {
    font-size: 5.3333333333vw;
  }
}
@media screen and (min-width: 769px) {
  #top_collabo .inner .content h2 {
    font-size: 3.125vw;
  }
}
#top_collabo .inner .content .detail {
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #top_collabo .inner .content .detail {
    width: 60vw;
  }
}
@media screen and (min-width: 769px) {
  #top_collabo .inner .content .detail {
    width: 39.0625vw;
  }
}
#top_collabo .inner .content .detail .img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  #top_collabo .inner .content .detail .img {
    margin: 4vw 0;
  }
}
@media screen and (min-width: 769px) {
  #top_collabo .inner .content .detail .img {
    margin: 2.34375vw 0 1.40625vw;
  }
}
#top_collabo .inner .content .detail p {
  letter-spacing: 0.05em;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #top_collabo .inner .content .detail p {
    width: 56vw;
    margin-bottom: 6vw;
    font-size: 11px;
    line-height: 1.818;
  }
}
@media screen and (min-width: 769px) {
  #top_collabo .inner .content .detail p {
    width: 35.15625vw;
    font-size: 1.25vw;
    line-height: 1.818;
  }
}
#top_collabo .inner .content .detail .btn a {
  background-color: #CF2841;
  color: #fff;
  font-weight: normal;
}
@media screen and (max-width: 768px) {
  #top_collabo .inner .content .detail .btn a {
    font-size: 11px;
    max-width: 53.3333333333vw;
    min-height: 10.6666666667vw;
  }
}
@media screen and (min-width: 769px) {
  #top_collabo .inner .content .detail .btn a {
    font-size: 18px;
    line-height: 2;
    font-size: 16px;
    margin: 3.125vw auto 0;
  }
}
#top_collabo .inner .pic {
  position: absolute;
}
@media screen and (max-width: 768px) {
  #top_collabo .inner .pic.pic1 {
    width: 34vw;
    left: 0vw;
    top: -9vw;
  }
}
@media screen and (min-width: 769px) {
  #top_collabo .inner .pic.pic1 {
    width: 20.78125vw;
    left: 16.796875vw;
    top: -4.84375vw;
  }
}
@media screen and (max-width: 768px) {
  #top_collabo .inner .pic.pic2 {
    width: 21.5133333333vw;
    left: -2.1333333333vw;
    top: 44vw;
  }
}
@media screen and (min-width: 769px) {
  #top_collabo .inner .pic.pic2 {
    width: 12.5vw;
    left: 15.4375vw;
    top: 21.453125vw;
  }
}
@media screen and (max-width: 768px) {
  #top_collabo .inner .pic.pic3 {
    width: 21.0666666667vw;
    left: 73.3333333333vw;
    top: 9.3333333333vw;
  }
}
@media screen and (min-width: 769px) {
  #top_collabo .inner .pic.pic3 {
    width: 12.34375vw;
    left: 66.53125vw;
    top: 4.265625vw;
  }
}
@media screen and (max-width: 768px) {
  #top_collabo .inner .pic.pic4 {
    width: 32.1333333333vw;
    left: 7.4666666667vw;
    top: 130vw;
  }
}
@media screen and (min-width: 769px) {
  #top_collabo .inner .pic.pic4 {
    width: 18.828125vw;
    left: 19.53125vw;
    top: 60.234375vw;
  }
}
@media screen and (max-width: 768px) {
  #top_collabo .inner .pic.pic5 {
    width: 14.4vw;
    left: 73.6vw;
    top: 143.7333333333vw;
  }
}
@media screen and (min-width: 769px) {
  #top_collabo .inner .pic.pic5 {
    width: 8.4375vw;
    left: 67.265625vw;
    top: 69.921875vw;
  }
}
@media screen and (max-width: 768px) {
  #top_collabo .inner .pic.pic6 {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  #top_collabo .inner .pic.pic6 {
    width: 14.375vw;
    left: 1.25vw;
    top: 27.265625vw;
  }
}
@media screen and (max-width: 768px) {
  #top_collabo .inner .pic.pic7 {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  #top_collabo .inner .pic.pic7 {
    width: 8.828125vw;
    left: 82.1875vw;
    top: 30.234375vw;
  }
}
@media screen and (max-width: 768px) {
  #top_collabo .inner .pic.pic8 {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  #top_collabo .inner .pic.pic8 {
    transform: rotate(-35deg);
    width: 5.078125vw;
    left: 5.3125vw;
    top: 0.625vw;
  }
}
@media screen and (max-width: 768px) {
  #top_collabo .inner .pic.pic9 {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  #top_collabo .inner .pic.pic9 {
    transform: rotate(-35deg);
    width: 5.78125vw;
    left: 5.3125vw;
    top: 53.625vw;
  }
}
@media screen and (max-width: 768px) {
  #top_collabo .inner .pic.pic10 {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  #top_collabo .inner .pic.pic10 {
    width: 8.828125vw;
    left: 3.203125vw;
    top: 70.234375vw;
  }
}
@media screen and (max-width: 768px) {
  #top_collabo .inner .pic.pic11 {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  #top_collabo .inner .pic.pic11 {
    transform: rotate(-5deg);
    width: 5.78125vw;
    left: 88.28125vw;
    top: 48.59375vw;
  }
}
@media screen and (max-width: 768px) {
  #top_collabo .inner .pic.pic12 {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  #top_collabo .inner .pic.pic12 {
    transform: rotate(-5deg);
    width: 5.78125vw;
    left: 88.28125vw;
    top: 5.59375vw;
  }
}
@media screen and (max-width: 768px) {
  #top_collabo .inner .pic.pic13 {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  #top_collabo .inner .pic.pic13 {
    transform: rotate(7deg);
    width: 8.515625vw;
    left: 84.21875vw;
    top: 61.5625vw;
  }
}

/*--------------------------------------*
* foundation
*--------------------------------------*/
/*--------------------------------------*
* menu
*--------------------------------------*/
#menu {
  width: 100%;
  position: relative;
}
#menu .bg {
  width: 100%;
  height: 0;
  padding-top: 104%; /* (画像の高さ / 画像の横幅) × 100 */
  background: url(../assets/images/menu_bg.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
@media screen and (min-width: 769px) {
  #menu .bg {
    padding-top: 42.859375%;
  }
}
#menu .bg .inner {
  margin: 0 auto;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 768px) {
  #menu .bg .inner {
    width: 95%;
    height: 95%;
  }
}
@media screen and (min-width: 769px) {
  #menu .bg .inner {
    width: 98%;
    height: 95%;
  }
}
#menu .bg .inner ul {
  margin: 0 auto;
  padding: 40px 0;
}
@media screen and (max-width: 768px) {
  #menu .bg .inner ul {
    width: 80vw;
    padding: 5.8666666667vw 0;
  }
}
@media screen and (min-width: 769px) {
  #menu .bg .inner ul {
    width: 46.875vw;
    padding: 4.6875vw 0;
  }
}
#menu .bg .inner ul li {
  border-bottom: 0.5px solid #111;
}
#menu .bg .inner ul li:first-child {
  padding-top: 0;
}
#menu .bg .inner ul li:last-child {
  border-bottom: none;
}
@media screen and (max-width: 768px) {
  #menu .bg .inner ul li {
    width: 80vw;
    padding-bottom: 4.2666666667vw;
    padding-top: 4.2666666667vw;
  }
}
@media screen and (min-width: 769px) {
  #menu .bg .inner ul li {
    width: 100%;
    padding-bottom: 1.171875vw;
    padding-top: 1.171875vw;
  }
}
#menu .bg .inner ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  color: #111;
  line-height: 1.5;
  width: 100%;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  #menu .bg .inner ul li a {
    gap: 10px;
    width: 95%;
  }
}
@media screen and (max-width: 768px) {
  #menu .bg .inner ul li .arrow {
    width: 2.9333333333vw;
    margin-top: 1em;
  }
}
@media screen and (min-width: 769px) {
  #menu .bg .inner ul li .arrow {
    width: 1.171875vw;
    margin-top: 1em;
  }
}
#menu .bg .inner ul li .price {
  position: relative;
}
@media screen and (max-width: 768px) {
  #menu .bg .inner ul li .price {
    font-size: 8vw;
    padding: 8vw;
    width: 30.4vw;
    padding: 0 0 0 2.6666666667vw;
  }
}
@media screen and (min-width: 769px) {
  #menu .bg .inner ul li .price {
    font-size: 3.90625vw;
    width: 14.0625vw;
    padding: 0 0 0 1.5625vw;
  }
}
#menu .bg .inner ul li .price:before { /*スペースを作る*/
  content: "";
  position: absolute;
  top: 60%;
  left: 3%;
  width: 85%; /*指定したい幅*/
  padding-top: 14.62%; /*画像の幅に対する高さ比率*/
  display: block;
}
#menu .bg .inner ul li .price:after { /*画像を絶対配置*/
  position: absolute;
  content: "";
  top: 60%;
  left: 5%;
  display: block;
  width: 91%; /*幅*/
  height: 100px; /*どれだけデカくなってもはみ出ないであろう高さを指定*/
  background-image: url(../assets/images/menu_marker.png);
  background-size: contain;
  background-repeat: no-repeat; /*画像を繰り返さない*/
}
@media screen and (min-width: 769px) {
  #menu .bg .inner ul li .price:after {
    left: 5%;
  }
}
#menu .bg .inner ul li .price p {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  #menu .bg .inner ul li .price p span {
    font-size: 5.3333333333vw;
  }
}
@media screen and (min-width: 769px) {
  #menu .bg .inner ul li .price p span {
    font-size: 2.34375vw;
  }
}
#menu .bg .inner ul li .comment {
  letter-spacing: 0.05em;
  padding-left: 1.25em;
}
@media screen and (max-width: 768px) {
  #menu .bg .inner ul li .comment {
    width: 44vw;
    font-size: 11px;
    line-height: 1.455;
    margin-top: 0.5em;
    white-space: nowrap;
  }
}
@media screen and (min-width: 769px) {
  #menu .bg .inner ul li .comment {
    width: 23.4375vw;
    font-size: 1.25vw;
    margin-top: 1em;
  }
}
#menu .bg .pic {
  position: absolute;
  z-index: 3;
}
@media screen and (max-width: 768px) {
  #menu .bg .pic.pic1 {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  #menu .bg .pic.pic1 {
    width: 13.671875vw;
    left: 3.90625vw;
    top: 0.78125vw;
  }
}
@media screen and (max-width: 768px) {
  #menu .bg .pic.pic2 {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  #menu .bg .pic.pic2 {
    transform: rotate(9deg);
    width: 4.6875vw;
    left: 6.25vw;
    top: 20.859375vw;
  }
}
@media screen and (max-width: 768px) {
  #menu .bg .pic.pic3 {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  #menu .bg .pic.pic3 {
    width: 7.734375vw;
    left: 3.828125vw;
    top: 30.546875vw;
  }
}
@media screen and (max-width: 768px) {
  #menu .bg .pic.pic4 {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  #menu .bg .pic.pic4 {
    width: 7.8125vw;
    left: 82.734375vw;
    top: 4.578125vw;
  }
}
@media screen and (max-width: 768px) {
  #menu .bg .pic.pic5 {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  #menu .bg .pic.pic5 {
    width: 5.3125vw;
    left: 88.90625vw;
    top: 15.3125vw;
  }
}
@media screen and (max-width: 768px) {
  #menu .bg .pic.pic6 {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  #menu .bg .pic.pic6 {
    width: 13.984375vw;
    left: 81.875vw;
    top: 26.25vw;
  }
}

/*--------------------------------------*
* foundation
*--------------------------------------*/
/*--------------------------------------*
* gift
*--------------------------------------*/
#gift .content {
  color: #fff;
  position: relative;
}
@media screen and (max-width: 768px) {
  #gift .content {
    padding: 21.3333333333vw 0 23.3333333333vw;
  }
}
@media screen and (min-width: 769px) {
  #gift .content {
    padding: 7.8125vw 0 15.625vw;
  }
}
#gift .content h2 {
  text-align: center;
  line-height: 0.8;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 768px) {
  #gift .content h2 {
    width: 41.0666666667vw;
    font-size: 44px;
  }
}
@media screen and (min-width: 769px) {
  #gift .content h2 {
    width: 23.4375vw;
    font-size: 6.875vw;
  }
}
#gift .content h2::after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 0.5px #fff;
  bottom: 3px;
  width: 100%;
}
#gift .content h2 .sub {
  display: block;
}
@media screen and (max-width: 768px) {
  #gift .content h2 .sub {
    font-size: 14px;
  }
}
@media screen and (min-width: 769px) {
  #gift .content h2 .sub {
    font-size: 2.1875vw;
  }
}
@media screen and (max-width: 768px) {
  #gift .content h2 .yen {
    font-size: 22px;
  }
}
@media screen and (min-width: 769px) {
  #gift .content h2 .yen {
    font-size: 3.4375vw;
  }
}
#gift .content .sub_txt {
  text-align: center;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  #gift .content .sub_txt {
    font-size: 14px;
    margin: 5.3333333333vw 0 20vw;
    line-height: 1.5;
  }
}
@media screen and (min-width: 769px) {
  #gift .content .sub_txt {
    font-size: 1.5625vw;
    margin: 3.515625vw 0 10.15625vw;
  }
}
#gift .content .inner {
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #gift .content .inner {
    width: 80vw;
    margin-bottom: 24vw;
  }
}
@media screen and (min-width: 769px) {
  #gift .content .inner {
    width: 66.40625vw;
  }
}
@media screen and (min-width: 769px) {
  #gift .content .inner .pc_flex {
    align-items: flex-end;
  }
}
@media screen and (min-width: 769px) {
  #gift .content .inner .pc_flex figure {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 769px) {
  #gift .content .inner .pc_flex .credit {
    width: 25vw;
  }
}
#gift .content .inner .number {
  position: absolute;
}
@media screen and (max-width: 768px) {
  #gift .content .inner .number {
    left: -1.3333333333vw;
    top: -13.3333333333vw;
  }
}
@media screen and (min-width: 769px) {
  #gift .content .inner .number {
    left: -0.78125vw;
    top: -4.6875vw;
  }
}
#gift .content .inner .number p {
  position: relative;
  white-space: nowrap;
}
#gift .content .inner .number p::before {
  content: "";
  display: inline-block;
  background: url(../assets/images/recommend.svg) no-repeat;
  background-position: center;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  #gift .content .inner .number p::before {
    width: 29.3333333333vw;
    height: 21.3333333333vw;
  }
}
@media screen and (min-width: 769px) {
  #gift .content .inner .number p::before {
    width: 15.625vw;
    height: 5.3125vw;
  }
}
#gift .content .inner .number p .txt {
  position: absolute;
  color: #111;
}
@media screen and (max-width: 768px) {
  #gift .content .inner .number p .txt {
    font-size: 2.9333333333vw;
    left: 3.2vw;
    top: 2.1333333333vw;
  }
}
@media screen and (min-width: 769px) {
  #gift .content .inner .number p .txt {
    font-size: 1.71875vw;
    left: 1.5625vw;
    top: -1.6796875vw;
  }
}
#gift .content .inner .number p .txt .em {
  letter-spacing: -0.03em;
}
@media screen and (max-width: 768px) {
  #gift .content .inner .number p .txt .em {
    font-size: 10vw;
  }
}
@media screen and (min-width: 769px) {
  #gift .content .inner .number p .txt .em {
    font-size: 5.078125vw;
  }
}
#gift .content .inner figure {
  margin-bottom: 18px;
}
@media screen and (min-width: 769px) {
  #gift .content .inner figure {
    width: 39.0625vw;
  }
}
#gift .content .inner .credit .item {
  padding-bottom: 15px;
  margin-bottom: 10px;
  border-bottom: 0.5px solid #fff;
}
#gift .content .inner .credit .item li:nth-child(n+2) {
  padding-top: 10px;
}
#gift .content .inner .credit .item li p {
  display: flex;
  justify-content: space-between;
  line-height: 1.5;
  gap: 10px;
}
#gift .content .inner .credit .item li p .name {
  text-indent: -1.5em;
  padding-left: 1.5em;
}
@media screen and (max-width: 768px) {
  #gift .content .inner .credit .item li p .name {
    font-size: 13px;
  }
}
@media screen and (min-width: 769px) {
  #gift .content .inner .credit .item li p .name {
    font-size: 1.09375vw;
  }
}
@media screen and (max-width: 768px) {
  #gift .content .inner .credit .item li p .price {
    font-size: 14px;
  }
}
@media screen and (min-width: 769px) {
  #gift .content .inner .credit .item li p .price {
    font-size: 1.25vw;
  }
}
#gift .content .inner .credit .total {
  text-align: right;
}
@media screen and (max-width: 768px) {
  #gift .content .inner .credit .total {
    font-size: 11px;
  }
}
@media screen and (min-width: 769px) {
  #gift .content .inner .credit .total {
    font-size: 1.09375vw;
  }
}
#gift .content .inner .credit .total span {
  display: inline-block;
}
@media screen and (max-width: 768px) {
  #gift .content .inner .credit .total span {
    font-size: 4.8vw;
    padding-left: 2.1333333333vw;
  }
}
@media screen and (min-width: 769px) {
  #gift .content .inner .credit .total span {
    font-size: 2.03125vw;
    padding-left: 0.78125vw;
  }
}
@media screen and (min-width: 769px) {
  #gift .content .inner.reverse {
    margin: 14.0625vw auto 0;
  }
}
@media screen and (min-width: 769px) {
  #gift .content .inner.reverse .number {
    left: auto;
    right: 24.8046875vw;
    top: -4.6875vw;
  }
}
@media screen and (min-width: 769px) {
  #gift .content .inner.reverse .pc_flex {
    flex-direction: row-reverse;
  }
}
@media screen and (min-width: 769px) {
  #gift .content .pc_flex {
    justify-content: space-between;
  }
}
@media screen and (min-width: 769px) {
  #gift .content .pc_flex.col2 {
    width: 66.40625vw;
    margin: 14.0625vw auto 0;
  }
}
@media screen and (min-width: 769px) {
  #gift .content .pc_flex.col2 .inner {
    width: 29.6875vw;
    margin: 0;
  }
}
@media screen and (min-width: 769px) {
  #gift .content .pc_flex.col2 .inner figure {
    width: 100%;
  }
}
#gift .content .btn {
  font-weight: bold;
}
#gift .content .pic {
  position: absolute;
}
@media screen and (max-width: 768px) {
  #gift .content .pic.pic1 {
    width: 14.4vw;
    left: 64.5333333333vw;
    top: 50.1333333333vw;
  }
}
@media screen and (min-width: 769px) {
  #gift .content .pic.pic1 {
    width: 6.09375vw;
    left: 67.5vw;
    top: 35.859375vw;
  }
}
@media screen and (max-width: 768px) {
  #gift .content .pic.pic2 {
    width: 27.7333333333vw;
    right: 0vw;
    top: 61.8666666667vw;
  }
}
@media screen and (min-width: 769px) {
  #gift .content .pic.pic2 {
    width: 12.1875vw;
    right: 38.59375vw;
    top: 27.96875vw;
  }
}
#gift .content .pic.pic3 {
  transform: rotate(-7deg);
}
@media screen and (max-width: 768px) {
  #gift .content .pic.pic3 {
    width: 22.9333333333vw;
    left: 1.3333333333vw;
    top: 123.2vw;
  }
}
@media screen and (min-width: 769px) {
  #gift .content .pic.pic3 {
    width: 10.71484375vw;
    left: 10.9375vw;
    top: 63.75vw;
  }
}
@media screen and (max-width: 768px) {
  #gift .content .pic.pic4 {
    width: 21.0666666667vw;
    left: 72.2666666667vw;
    top: 174.5333333333vw;
  }
}
@media screen and (min-width: 769px) {
  #gift .content .pic.pic4 {
    width: 6.796875vw;
    left: 41.640625vw;
    top: 77.5vw;
  }
}
@media screen and (max-width: 768px) {
  #gift .content .pic.pic5 {
    width: 20.4vw;
    left: -1.6vw;
    top: 242.4vw;
  }
}
@media screen and (min-width: 769px) {
  #gift .content .pic.pic5 {
    width: 10.625vw;
    left: 9.6875vw;
    top: 106.25vw;
  }
}
@media screen and (max-width: 768px) {
  #gift .content .pic.pic6 {
    width: 16.9333333333vw;
    left: 60.6666666667vw;
    top: 305.6vw;
  }
}
@media screen and (min-width: 769px) {
  #gift .content .pic.pic6 {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  #gift .content .pic.pic7 {
    width: 27.7333333333vw;
    left: 69.2vw;
    top: 316.5333333333vw;
  }
}
@media screen and (min-width: 769px) {
  #gift .content .pic.pic7 {
    width: 10.165625vw;
    left: 77.5vw;
    top: 81.015625vw;
  }
}
#gift .content .pic.pic8 {
  transform: rotate(-24deg);
}
@media screen and (max-width: 768px) {
  #gift .content .pic.pic8 {
    width: 17.0666666667vw;
    left: 4.9333333333vw;
    top: 369.0666666667vw;
  }
}
@media screen and (min-width: 769px) {
  #gift .content .pic.pic8 {
    width: 5.546875vw;
    left: 49.140625vw;
    top: 104.296875vw;
  }
}
@media screen and (max-width: 768px) {
  #gift .content .pic.pic9 {
    width: 13.8666666667vw;
    left: 14.1333333333vw;
    top: 433.3333333333vw;
  }
}
@media screen and (min-width: 769px) {
  #gift .content .pic.pic9 {
    width: 6.640625vw;
    left: 28.28125vw;
    top: 125.78125vw;
  }
}
@media screen and (max-width: 768px) {
  #gift .content .pic.pic10 {
    width: 14vw;
    left: 2.4vw;
    top: 449.2vw;
  }
}
@media screen and (min-width: 769px) {
  #gift .content .pic.pic10 {
    width: 6.171875vw;
    left: 20.703125vw;
    top: 132.8125vw;
  }
}
@media screen and (max-width: 768px) {
  #gift .content .pic.pic11 {
    width: 26.6666666667vw;
    left: 72vw;
    top: 458.6666666667vw;
  }
}
@media screen and (min-width: 769px) {
  #gift .content .pic.pic11 {
    width: 11.5625vw;
    left: 61.875vw;
    top: 133.59375vw;
  }
}
@media screen and (max-width: 768px) {
  #gift .content .pic.pic12 {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  #gift .content .pic.pic12 {
    width: 5.78125vw;
    left: 77.421875vw;
    top: 45vw;
  }
}
@media screen and (max-width: 768px) {
  #gift .content .pic.pic13 {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  #gift .content .pic.pic13 {
    transform: rotate(9deg);
    width: 5.78125vw;
    left: 63.671875vw;
    top: 50.390625vw;
  }
}
#gift #sec1 {
  background-color: #CF2841;
}
#gift #sec2 {
  background-color: #144160;
}
@media screen and (max-width: 768px) {
  #gift #sec2 .pic.pic3 {
    left: 0.2666666667vw;
    top: 102.2666666667vw;
  }
}
@media screen and (min-width: 769px) {
  #gift #sec2 .pic.pic3 {
    width: 10.71484375vw;
    left: 10.9375vw;
    top: 63.75vw;
  }
}
@media screen and (max-width: 768px) {
  #gift #sec2 .pic.pic4 {
    top: 177.4666666667vw;
  }
}
@media screen and (min-width: 769px) {
  #gift #sec2 .pic.pic4 {
    width: 6.796875vw;
    left: 41.640625vw;
    top: 77.5vw;
  }
}
@media screen and (max-width: 768px) {
  #gift #sec2 .pic.pic5 {
    left: -1.2vw;
    top: 205.8666666667vw;
  }
}
@media screen and (min-width: 769px) {
  #gift #sec2 .pic.pic5 {
    width: 10.625vw;
    left: 9.6875vw;
    top: 106.25vw;
  }
}
@media screen and (max-width: 768px) {
  #gift #sec2 .pic.pic6 {
    left: 60.8vw;
    top: 321.6vw;
  }
}
@media screen and (min-width: 769px) {
  #gift #sec2 .pic.pic6 {
    width: 10.625vw;
    left: 9.6875vw;
    top: 106.25vw;
  }
}
@media screen and (max-width: 768px) {
  #gift #sec2 .pic.pic7 {
    top: 328.5333333333vw;
    left: 72.2vw;
  }
}
@media screen and (min-width: 769px) {
  #gift #sec2 .pic.pic7 {
    width: 10.165625vw;
    left: 77.5vw;
    top: 81.015625vw;
  }
}
@media screen and (max-width: 768px) {
  #gift #sec2 .pic.pic8 {
    top: 348vw;
  }
}
@media screen and (min-width: 769px) {
  #gift #sec2 .pic.pic8 {
    width: 5.546875vw;
    left: 49.140625vw;
    top: 104.296875vw;
  }
}
@media screen and (max-width: 768px) {
  #gift #sec2 .pic.pic9 {
    top: 455.3333333333vw;
  }
}
@media screen and (min-width: 769px) {
  #gift #sec2 .pic.pic9 {
    width: 6.640625vw;
    left: 28.28125vw;
    top: 125.78125vw;
  }
}
@media screen and (max-width: 768px) {
  #gift #sec2 .pic.pic10 {
    top: 472.2vw;
    left: 2.6666666667vw;
  }
}
@media screen and (min-width: 769px) {
  #gift #sec2 .pic.pic10 {
    width: 6.171875vw;
    left: 20.703125vw;
    top: 132.8125vw;
  }
}
@media screen and (max-width: 768px) {
  #gift #sec2 .pic.pic11 {
    top: 481.8666666667vw;
    left: 70vw;
  }
}
@media screen and (min-width: 769px) {
  #gift #sec2 .pic.pic11 {
    width: 11.5625vw;
    left: 61.875vw;
    top: 135.5859375vw;
  }
}
#gift #sec3 {
  background-color: #146040;
}
@media screen and (max-width: 768px) {
  #gift #sec3 .pic.pic1 {
    top: 49.0666666667vw;
  }
}
@media screen and (min-width: 769px) {
  #gift #sec3 .pic.pic1 {
    width: 6.09375vw;
    left: 67.5vw;
    top: 35.859375vw;
  }
}
@media screen and (max-width: 768px) {
  #gift #sec3 .pic.pic2 {
    top: 58.8vw;
  }
}
@media screen and (min-width: 769px) {
  #gift #sec3 .pic.pic2 {
    width: 12.1875vw;
    right: 38.59375vw;
    top: 27.96875vw;
  }
}
@media screen and (max-width: 768px) {
  #gift #sec3 .pic.pic3 {
    top: 169.2vw;
  }
}
@media screen and (min-width: 769px) {
  #gift #sec3 .pic.pic3 {
    width: 10.71484375vw;
    left: 10.9375vw;
    top: 63.75vw;
  }
}
@media screen and (max-width: 768px) {
  #gift #sec3 .pic.pic4 {
    left: 76.2666666667vw;
    top: 180.5333333333vw;
  }
}
@media screen and (min-width: 769px) {
  #gift #sec3 .pic.pic4 {
    width: 11.09375vw;
    left: 79.453125vw;
    top: 76.5625vw;
  }
}
@media screen and (max-width: 768px) {
  #gift #sec3 .pic.pic5 {
    left: -0.6vw;
    top: 207.2vw;
  }
}
@media screen and (min-width: 769px) {
  #gift #sec3 .pic.pic5 {
    width: 9.921875vw;
    left: 30.078125vw;
    top: 91.5625vw;
  }
}
@media screen and (max-width: 768px) {
  #gift #sec3 .pic.pic6 {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  #gift #sec3 .pic.pic6 {
    width: 10.625vw;
    left: 9.6875vw;
    top: 106.25vw;
  }
}
@media screen and (max-width: 768px) {
  #gift #sec3 .pic.pic7 {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  #gift #sec3 .pic.pic7 {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  #gift #sec3 .pic.pic8 {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  #gift #sec3 .pic.pic8 {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  #gift #sec3 .pic.pic9 {
    top: 318.2666666667vw;
  }
}
@media screen and (min-width: 769px) {
  #gift #sec3 .pic.pic9 {
    width: 6.640625vw;
    left: 28.28125vw;
    top: 125.78125vw;
  }
}
@media screen and (max-width: 768px) {
  #gift #sec3 .pic.pic10 {
    left: 3.4vw;
    top: 336.2vw;
  }
}
@media screen and (min-width: 769px) {
  #gift #sec3 .pic.pic10 {
    width: 6.171875vw;
    left: 20.703125vw;
    top: 132.8125vw;
  }
}
@media screen and (max-width: 768px) {
  #gift #sec3 .pic.pic11 {
    left: 70vw;
    top: 341.8vw;
  }
}
@media screen and (min-width: 769px) {
  #gift #sec3 .pic.pic11 {
    width: 11.5625vw;
    left: 61.875vw;
    top: 133.59375vw;
  }
}
@media screen and (max-width: 768px) {
  #gift #sec3 .pic.pic14 {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  #gift #sec3 .pic.pic14 {
    transform: rotate(9deg);
    width: 5.78125vw;
    left: 17.671875vw;
    top: 85.546875vw;
  }
}
@media screen and (max-width: 768px) {
  #gift #sec3 .pic.pic15 {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  #gift #sec3 .pic.pic15 {
    transform: rotate(9deg);
    width: 5.234375vw;
    left: 15.625vw;
    top: 98.515625vw;
  }
}
#gift #sec4 {
  background-color: #9D931C;
}
@media screen and (max-width: 768px) {
  #gift #sec4 .pic.pic1 {
    top: 53.8666666667vw;
  }
}
@media screen and (min-width: 769px) {
  #gift #sec4 .pic.pic1 {
    width: 6.09375vw;
    left: 67.5vw;
    top: 35.859375vw;
  }
}
@media screen and (max-width: 768px) {
  #gift #sec4 .pic.pic2 {
    top: 66.6666666667vw;
  }
}
@media screen and (min-width: 769px) {
  #gift #sec4 .pic.pic2 {
    width: 12.1875vw;
    right: 38.59375vw;
    top: 27.96875vw;
  }
}
@media screen and (max-width: 768px) {
  #gift #sec4 .pic.pic3 {
    top: 183.0666666667vw;
  }
}
@media screen and (min-width: 769px) {
  #gift #sec4 .pic.pic3 {
    width: 10.71484375vw;
    left: 10.9375vw;
    top: 63.75vw;
  }
}
@media screen and (max-width: 768px) {
  #gift #sec4 .pic.pic4 {
    left: 76.2666666667vw;
    top: 195.4666666667vw;
  }
}
@media screen and (min-width: 769px) {
  #gift #sec4 .pic.pic4 {
    width: 11.09375vw;
    left: 79.453125vw;
    top: 76.5625vw;
  }
}
@media screen and (max-width: 768px) {
  #gift #sec4 .pic.pic5 {
    left: -0.6133333333vw;
    top: 219.2vw;
  }
}
@media screen and (min-width: 769px) {
  #gift #sec4 .pic.pic5 {
    width: 9.921875vw;
    left: 30.078125vw;
    top: 91.5625vw;
  }
}
@media screen and (max-width: 768px) {
  #gift #sec4 .pic.pic6 {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  #gift #sec4 .pic.pic6 {
    width: 10.625vw;
    left: 9.6875vw;
    top: 106.25vw;
  }
}
@media screen and (max-width: 768px) {
  #gift #sec4 .pic.pic7 {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  #gift #sec4 .pic.pic7 {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  #gift #sec4 .pic.pic8 {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  #gift #sec4 .pic.pic8 {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  #gift #sec4 .pic.pic9 {
    top: 332.2666666667vw;
  }
}
@media screen and (min-width: 769px) {
  #gift #sec4 .pic.pic9 {
    width: 6.640625vw;
    left: 28.28125vw;
    top: 125.78125vw;
  }
}
@media screen and (max-width: 768px) {
  #gift #sec4 .pic.pic10 {
    left: 3.4vw;
    top: 355.1333333333vw;
  }
}
@media screen and (min-width: 769px) {
  #gift #sec4 .pic.pic10 {
    width: 6.171875vw;
    left: 20.703125vw;
    top: 132.8125vw;
  }
}
@media screen and (max-width: 768px) {
  #gift #sec4 .pic.pic11 {
    left: 70vw;
    top: 355.6vw;
  }
}
@media screen and (min-width: 769px) {
  #gift #sec4 .pic.pic11 {
    width: 11.5625vw;
    left: 61.875vw;
    top: 133.59375vw;
  }
}
@media screen and (max-width: 768px) {
  #gift #sec4 .pic.pic14 {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  #gift #sec4 .pic.pic14 {
    transform: rotate(9deg);
    width: 5.78125vw;
    left: 17.671875vw;
    top: 85.546875vw;
  }
}
@media screen and (max-width: 768px) {
  #gift #sec4 .pic.pic15 {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  #gift #sec4 .pic.pic15 {
    transform: rotate(9deg);
    width: 5.234375vw;
    left: 15.625vw;
    top: 98.515625vw;
  }
}

/* フローティング */
.floating {
  position: fixed;
  gap: 0.5px;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  transition: all 0.3s ease 0s;
  visibility: visible;
  opacity: 1;
}
.floating.is-hidden {
  visibility: hidden;
  opacity: 0;
}

.floating__nav-items {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.floating__nav-items li {
  width: calc(25% - 1.5px);
}

.floating__nav-btn {
  display: inline-block;
  color: #fff;
  padding: 10px 0 15px;
  transition: filter 0.3s ease 0s;
  text-align: center;
  line-height: 0.8;
  margin: 0 auto;
  position: relative;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
  width: 100%;
}
.floating__nav-btn.sec1_link {
  background-color: #CF2841;
}
.floating__nav-btn.sec2_link {
  background-color: #144160;
}
.floating__nav-btn.sec3_link {
  background-color: #146040;
}
.floating__nav-btn.sec4_link {
  background-color: #9D931C;
}
@media screen and (max-width: 768px) {
  .floating__nav-btn {
    font-size: 5.3333333333vw;
  }
}
@media screen and (min-width: 769px) {
  .floating__nav-btn {
    font-size: 1.875vw;
    padding: 15px 0 20px;
  }
}
.floating__nav-btn .sub {
  display: block;
}
@media screen and (max-width: 768px) {
  .floating__nav-btn .sub {
    font-size: 10px;
  }
}
@media screen and (min-width: 769px) {
  .floating__nav-btn .sub {
    font-size: 0.9375vw;
  }
}
@media screen and (max-width: 768px) {
  .floating__nav-btn .yen {
    font-size: 14px;
  }
}
@media screen and (min-width: 769px) {
  .floating__nav-btn .yen {
    font-size: 1.09375vw;
  }
}
.floating__nav-btn:hover {
  filter: brightness(0.7) contrast(1.6);
}

/*--------------------------------------*
* foundation
*--------------------------------------*/
/*--------------------------------------*
* info
*--------------------------------------*/
#info {
  position: relative;
}
@media screen and (max-width: 768px) {
  #info {
    padding: 26.6666666667vw 0 50.6666666667vw;
  }
}
@media screen and (min-width: 769px) {
  #info {
    padding: 7.8125vw 0 27.34375vw;
  }
}
#info p {
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  #info p {
    font-size: 14px;
    margin-top: 4vw;
  }
}
@media screen and (min-width: 769px) {
  #info p {
    font-size: 1.25vw;
    margin-top: 2.34375vw;
  }
}
#info .note {
  display: block;
}
@media screen and (max-width: 768px) {
  #info .note {
    font-size: 12px;
  }
}
@media screen and (min-width: 769px) {
  #info .note {
    font-size: 1.09375vw;
  }
}
#info .note a {
  display: inline;
  color: #0027FF;
  border-bottom: 1px solid #0027FF;
}
#info #wrapping .inner {
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  #info #wrapping .inner {
    width: 80vw;
  }
}
@media screen and (min-width: 769px) {
  #info #wrapping .inner {
    width: 39.0625vw;
  }
}
#info #wrapping .inner h2 {
  text-align: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  #info #wrapping .inner h2 {
    font-size: 24px;
  }
}
@media screen and (min-width: 769px) {
  #info #wrapping .inner h2 {
    font-size: 3.4375vw;
  }
}
#info #wrapping .inner h2::before {
  content: "";
  display: inline-block;
  background-image: url(../assets/images/wrapping_illust_1.png);
  position: absolute;
  width: 9.8666666667vw;
  height: 16.1333333333vw;
  left: 10.8666666667vw;
  top: -4.9333333333vw;
  transform: rotate(-24deg);
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (min-width: 769px) {
  #info #wrapping .inner h2::before {
    width: 4.296875vw;
    height: 11.328125vw;
    left: 6.875vw;
    top: -1.953125vw;
  }
}
#info #wrapping .inner h2::after {
  content: "";
  display: inline-block;
  background-image: url(../assets/images/wrapping_illust_1.png);
  position: absolute;
  width: 9.8666666667vw;
  height: 16.1333333333vw;
  left: 59.4666666667vw;
  top: -4vw;
  transform: rotate(24deg);
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (min-width: 769px) {
  #info #wrapping .inner h2::after {
    width: 4.296875vw;
    height: 11.328125vw;
    left: 28.125vw;
    top: -1.5625vw;
  }
}
@media screen and (max-width: 768px) {
  #info #wrapping .inner figure {
    margin: 7.3333333333vw auto 5.3333333333vw;
  }
}
@media screen and (min-width: 769px) {
  #info #wrapping .inner figure {
    margin: 3.90625vw auto 0;
  }
}
@media screen and (min-width: 769px) {
  #info #wrapping .inner p {
    margin-top: 1.40625vw;
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 768px) {
  #info #collabo {
    margin-top: 16vw;
  }
}
@media screen and (min-width: 769px) {
  #info #collabo {
    margin-top: 9.375vw;
  }
}
#info #collabo .frame {
  position: relative;
  z-index: 2;
  margin: 0 auto;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  #info #collabo .frame {
    width: 90vw;
    border: 2.5px solid #CF2841;
    border-radius: 10px;
  }
}
@media screen and (min-width: 769px) {
  #info #collabo .frame {
    width: 62.5vw;
    border: 5px solid #CF2841;
    border-radius: 20px;
  }
}
#info #collabo .frame .wrap_h2 {
  background-color: #CF2841;
  position: relative;
}
@media screen and (max-width: 768px) {
  #info #collabo .frame .wrap_h2 {
    padding: 9.3333333333vw 0 10vw;
    border-radius: 5px 5px 0 0;
  }
}
@media screen and (min-width: 769px) {
  #info #collabo .frame .wrap_h2 {
    padding: 3.90625vw 0 3.90625vw;
    border-radius: 10px 10px 0 0;
  }
}
#info #collabo .frame .wrap_h2 h2 {
  position: relative;
  text-align: center;
  color: #fff;
}
@media screen and (max-width: 768px) {
  #info #collabo .frame .wrap_h2 h2 {
    font-size: 24px;
  }
}
@media screen and (min-width: 769px) {
  #info #collabo .frame .wrap_h2 h2 {
    font-size: 3.4375vw;
  }
}
#info #collabo .frame .wrap_h2 h2::before {
  content: "";
  display: inline-block;
  background-image: url(../assets/images/collabo_h2_illust1.png);
  position: absolute;
  width: 16.9333333333vw;
  height: 14.5333333333vw;
  left: 7.6vw;
  top: -2.6666666667vw;
  transform: rotate(-9deg);
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (min-width: 769px) {
  #info #collabo .frame .wrap_h2 h2::before {
    width: 8.28125vw;
    height: 11.328125vw;
    left: 12.890625vw;
    top: -1.71875vw;
  }
}
#info #collabo .frame .wrap_h2 h2::after {
  content: "";
  display: inline-block;
  background-image: url(../assets/images/collabo_h2_illust2.png);
  position: absolute;
  width: 16.9333333333vw;
  height: 14.5333333333vw;
  left: 64.6666666667vw;
  top: -2.6666666667vw;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (min-width: 769px) {
  #info #collabo .frame .wrap_h2 h2::after {
    width: 8.28125vw;
    height: 11.328125vw;
    left: 41.796875vw;
    top: -1.71875vw;
  }
}
@media screen and (max-width: 768px) {
  #info #collabo .frame .wrap_h2 h2 span {
    font-size: 17px;
  }
}
@media screen and (min-width: 769px) {
  #info #collabo .frame .wrap_h2 h2 span {
    font-size: 30px;
  }
}
@media screen and (max-width: 768px) {
  #info #collabo .frame .inner {
    width: 80vw;
    margin: 8vw auto;
  }
}
@media screen and (min-width: 769px) {
  #info #collabo .frame .inner {
    width: 39.0625vw;
    margin: 4.6875vw auto;
  }
}
@media screen and (max-width: 768px) {
  #info #collabo .frame .inner .group:nth-child(n+2) {
    margin-top: 4.8vw;
  }
}
@media screen and (min-width: 769px) {
  #info #collabo .frame .inner .group:nth-child(n+2) {
    margin-top: 2.34375vw;
  }
}
@media screen and (max-width: 768px) {
  #info #collabo .frame .inner .group p {
    width: 72vw;
    margin: 4.8vw auto 0;
  }
}
@media screen and (min-width: 769px) {
  #info #collabo .frame .inner .group p {
    width: 35.15625vw;
    margin: 2.34375vw auto 0;
    font-size: 1.25vw;
  }
}
@media screen and (min-width: 769px) {
  #info #collabo .frame .inner .group p.note {
    font-size: 1.09375vw;
    margin: 1.40625vw auto 0;
  }
}
#info #collabo .frame .inner #calendar {
  background-color: #FDF8EB;
  border-radius: 15px;
  position: relative;
}
@media screen and (max-width: 768px) {
  #info #collabo .frame .inner #calendar {
    padding: 12vw 0;
    margin-top: 26.6666666667vw;
  }
}
@media screen and (min-width: 769px) {
  #info #collabo .frame .inner #calendar {
    padding: 3.515625vw 0;
    margin-top: 4.6875vw;
  }
}
#info #collabo .frame .inner #calendar:before {
  content: "";
  position: absolute;
  bottom: -14px;
  left: 50%;
  margin-left: -9px;
  border: 25px solid transparent;
  border-top: 25px solid #FDF8EB;
  z-index: 0;
  transform: rotate(146deg);
}
#info #collabo .frame .inner #calendar .inner {
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #info #collabo .frame .inner #calendar .inner {
    width: 60vw;
  }
}
@media screen and (min-width: 769px) {
  #info #collabo .frame .inner #calendar .inner {
    width: 75%;
  }
}
#info #collabo .frame .inner #calendar .inner h3 {
  text-align: center;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  #info #collabo .frame .inner #calendar .inner h3 {
    font-size: 14px;
  }
}
@media screen and (min-width: 769px) {
  #info #collabo .frame .inner #calendar .inner h3 {
    font-size: 1.40625vw;
  }
}
#info #collabo .frame .inner #calendar .inner h3 span {
  display: block;
}
@media screen and (max-width: 768px) {
  #info #collabo .frame .inner #calendar .inner h3 span {
    font-size: 11px;
  }
}
@media screen and (min-width: 769px) {
  #info #collabo .frame .inner #calendar .inner h3 span {
    font-size: 1.09375vw;
  }
}
@media screen and (max-width: 768px) {
  #info #collabo .frame .inner #calendar .inner figure {
    margin-top: 5.3333333333vw;
  }
}
@media screen and (min-width: 769px) {
  #info #collabo .frame .inner #calendar .inner figure {
    margin-top: 1.5625vw;
  }
}
@media screen and (max-width: 768px) {
  #info #collabo .frame .inner #calendar .inner p {
    margin-bottom: 6vw;
    font-size: 11px;
    line-height: 1.818;
  }
}
@media screen and (min-width: 769px) {
  #info #collabo .frame .inner #calendar .inner p {
    font-size: 1.09375vw;
    margin-top: 1.40625vw;
    margin-bottom: 1.7578125vw;
  }
}
#info #collabo .frame .inner #calendar .inner .btn a {
  background-color: #CF2841;
  color: #fff;
  font-weight: normal;
}
#info #collabo .frame .inner #calendar .inner dl dt {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 225px;
  width: 100%;
  min-height: 50px;
  padding: 0 5%;
  margin: 0 auto;
  font-size: 14px;
  font-family: "futura-pt-bold", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1;
  letter-spacing: 0.05em;
  text-decoration: none;
  text-align: center;
  border-radius: 9999px;
  border: none;
  background-color: #CF2841;
  color: #fff;
  font-weight: normal;
  box-sizing: border-box;
  cursor: pointer;
}
@media screen and (min-width: 769px) {
  #info #collabo .frame .inner #calendar .inner dl dt {
    max-width: 23.4375vw;
    min-height: 4.6875vw;
    font-size: 1.25vw;
  }
}
#info #collabo .frame .inner #calendar .inner dl dt:hover {
  opacity: 0.6;
}
#info #collabo .frame .inner #calendar .inner div#glayLayer {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background: #000000;
  filter: alpha(opacity=50);
  opacity: 0.5;
}
#info #collabo .frame .inner #prof {
  background-color: #F4F4F4;
  border-radius: 15px;
  position: relative;
}
@media screen and (max-width: 768px) {
  #info #collabo .frame .inner #prof {
    padding: 12vw 0;
    margin-top: 17.3333333333vw;
  }
}
@media screen and (min-width: 769px) {
  #info #collabo .frame .inner #prof {
    padding: 4.296875vw 0;
    margin-top: 3.90625vw;
  }
}
#info #collabo .frame .inner #prof .inner {
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #info #collabo .frame .inner #prof .inner {
    width: 60vw;
  }
}
@media screen and (min-width: 769px) {
  #info #collabo .frame .inner #prof .inner {
    width: 35.15625vw;
  }
}
#info #collabo .frame .inner #prof .inner h3 {
  text-align: center;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  #info #collabo .frame .inner #prof .inner h3 {
    font-size: 5.0666666667vw;
  }
}
@media screen and (min-width: 769px) {
  #info #collabo .frame .inner #prof .inner h3 {
    font-size: 1.875vw;
  }
}
#info #collabo .frame .inner #prof .inner h3 span {
  display: block;
}
@media screen and (max-width: 768px) {
  #info #collabo .frame .inner #prof .inner h3 span {
    font-size: 12px;
  }
}
@media screen and (min-width: 769px) {
  #info #collabo .frame .inner #prof .inner h3 span {
    font-size: 1.25vw;
  }
}
#info #collabo .frame .inner #prof .inner .col2 {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 768px) {
  #info #collabo .frame .inner #prof .inner .col2 {
    margin: 5.8666666667vw auto;
    gap: 2.6666666667vw;
  }
}
@media screen and (min-width: 769px) {
  #info #collabo .frame .inner #prof .inner .col2 {
    margin: 2.34375vw auto;
    gap: 0.78125vw;
  }
}
#info #collabo .frame .inner #prof .inner .col2 figure {
  width: 51%;
}
@media screen and (min-width: 769px) {
  #info #collabo .frame .inner #prof .inner .col2 figure {
    width: 100%;
    max-width: 150px;
  }
}
#info #collabo .frame .inner #prof .inner .col2 ul {
  width: 43%;
}
@media screen and (min-width: 769px) {
  #info #collabo .frame .inner #prof .inner .col2 ul {
    width: 100%;
    max-width: 150px;
  }
}
@media screen and (max-width: 768px) {
  #info #collabo .frame .inner #prof .inner .col2 ul li:nth-child(n+2) {
    margin-top: 1.7333333333vw;
  }
}
@media screen and (min-width: 769px) {
  #info #collabo .frame .inner #prof .inner .col2 ul li:nth-child(n+2) {
    margin-top: 0.5078125vw;
  }
}
#info #collabo .frame .inner #prof .inner .col2 ul li.btn a {
  background-color: #c7c7c7;
  color: #fff;
  font-family: "futura-pt", sans-serif;
  font-weight: 400;
  font-style: normal;
  padding: 0;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #info #collabo .frame .inner #prof .inner .col2 ul li.btn a {
    font-size: 12px;
    max-width: 105px;
    min-height: 26.25px;
  }
}
@media screen and (min-width: 769px) {
  #info #collabo .frame .inner #prof .inner .col2 ul li.btn a {
    font-size: 14px;
    min-height: 35px;
    margin: 0;
  }
}
@media screen and (max-width: 768px) {
  #info #collabo .frame .inner #prof .inner p {
    font-size: 11px;
    line-height: 2;
  }
}
@media screen and (min-width: 769px) {
  #info #collabo .frame .inner #prof .inner p {
    font-size: 12px;
    line-height: 2;
    width: 80%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  #info #movie {
    margin-top: 36vw;
  }
}
@media screen and (min-width: 769px) {
  #info #movie {
    margin-top: 11.71875vw;
  }
}
#info #movie .inner {
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  #info #movie .inner {
    width: 80vw;
  }
}
@media screen and (min-width: 769px) {
  #info #movie .inner {
    width: 58.59375vw;
  }
}
#info #movie .inner h2 {
  text-align: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  #info #movie .inner h2 {
    font-size: 24px;
  }
}
@media screen and (min-width: 769px) {
  #info #movie .inner h2 {
    font-size: 3.4375vw;
  }
}
#info #movie .inner h2::before {
  content: "";
  display: inline-block;
  background-image: url(../assets/images/top_collabo_4.png);
  position: absolute;
  width: 16.216vw;
  height: 26.7186666667vw;
  left: 8.4vw;
  top: -11.4666666667vw;
  transform: rotate(-9deg);
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (min-width: 769px) {
  #info #movie .inner h2::before {
    width: 7.8125vw;
    height: 15.625vw;
    left: 13.671875vw;
    top: -5.3125vw;
  }
}
#info #movie .inner h2::after {
  content: "";
  display: inline-block;
  background-image: url(../assets/images/top_collabo_1.png);
  position: absolute;
  width: 22.8vw;
  height: 37.6vw;
  left: 53.7333333333vw;
  top: -11.4666666667vw;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (min-width: 769px) {
  #info #movie .inner h2::after {
    width: 10.15625vw;
    height: 18.75vw;
    left: 36.5625vw;
    top: -4.53125vw;
  }
}
#info #movie .inner p {
  text-align: center;
}
@media screen and (max-width: 768px) {
  #info #movie .inner p {
    margin-top: 5.3333333333vw;
  }
}
@media screen and (min-width: 769px) {
  #info #movie .inner p {
    margin-top: 3.90625vw;
  }
}
@media screen and (max-width: 768px) {
  #info #movie .inner figure {
    margin: 2.6666666667vw auto 5.3333333333vw;
  }
}
@media screen and (min-width: 769px) {
  #info #movie .inner figure {
    margin: 2.34375vw auto 3.125vw;
  }
}
#info .pic {
  position: absolute;
  z-index: 3;
}
@media screen and (max-width: 768px) {
  #info .pic.pic1 {
    width: 18.9333333333vw;
    left: 78.2666666667vw;
    top: 168.5333333333vw;
  }
}
@media screen and (min-width: 769px) {
  #info .pic.pic1 {
    width: 9.0625vw;
    left: 65.46875vw;
    top: 72.859375vw;
  }
}
#info .pic.pic2 {
  transform: rotate(-7deg);
}
@media screen and (max-width: 768px) {
  #info .pic.pic2 {
    width: 22.9333333333vw;
    left: 1.3333333333vw;
    top: 246.4vw;
  }
}
@media screen and (min-width: 769px) {
  #info .pic.pic2 {
    width: 10.71484375vw;
    left: 24.921875vw;
    top: 111.71875vw;
  }
}
@media screen and (max-width: 768px) {
  #info .pic.pic3 {
    width: 20.4vw;
    left: 76.5333333333vw;
    top: 303.2vw;
  }
}
@media screen and (min-width: 769px) {
  #info .pic.pic3 {
    width: 9.375vw;
    left: 64.84375vw;
    top: 132.5vw;
  }
}
@media screen and (max-width: 768px) {
  #info .pic.pic4 {
    width: 14.4vw;
    left: 75.6vw;
    top: 382.9333333333vw;
  }
}
@media screen and (min-width: 769px) {
  #info .pic.pic4 {
    width: 7.8125vw;
    left: 64.84375vw;
    top: 170.546875vw;
  }
}
@media screen and (max-width: 768px) {
  #info .pic.pic5 {
    width: 24.1333333333vw;
    left: 69.52vw;
    top: 403.4666666667vw;
  }
}
@media screen and (min-width: 769px) {
  #info .pic.pic5 {
    width: 11.5625vw;
    left: 61.875vw;
    top: 180.546875vw;
  }
}
@media screen and (max-width: 768px) {
  #info .pic.pic6 {
    width: 26.4vw;
    left: 7.7333333333vw;
    top: 402vw;
  }
}
@media screen and (min-width: 769px) {
  #info .pic.pic6 {
    width: 10.625vw;
    left: 22.265625vw;
    top: 178.75vw;
  }
}
@media screen and (max-width: 768px) {
  #info .pic.pic7 {
    width: 33.0666666667vw;
    left: 64vw;
    top: 553.8666666667vw;
  }
}
@media screen and (min-width: 769px) {
  #info .pic.pic7 {
    width: 12.109375vw;
    left: 60.46875vw;
    top: 227.96875vw;
  }
}
@media screen and (max-width: 768px) {
  #info .pic.pic8 {
    width: 17.0666666667vw;
    left: 7.7333333333vw;
    bottom: 146vw;
  }
}
@media screen and (min-width: 769px) {
  #info .pic.pic8 {
    width: 7.5390625vw;
    left: 25.140625vw;
    bottom: 93vw;
  }
}
@media screen and (max-width: 768px) {
  #info .pic.pic9 {
    width: 28.8vw;
    left: 46.5333333333vw;
    bottom: 0;
  }
}
@media screen and (min-width: 769px) {
  #info .pic.pic9 {
    width: 10.9375vw;
    left: 53.125vw;
    bottom: 7.96875vw;
  }
}

#overLayer::before, #overLayer::after { /* 共通設定 */
  content: "";
  position: absolute;
  width: 1px; /* 棒の幅（太さ） */
  height: 30px; /* 棒の高さ */
  background: #fff;
  top: -5%;
  right: 8%;
}
@media screen and (min-width: 769px) {
  #overLayer::before, #overLayer::after {
    right: 3%;
  }
}

#overLayer::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

#overLayer::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

#overLayer {
  display: none;
  width: 400px;
  background: white;
  padding: 0;
  position: fixed;
  top: 50%;
  left: 50%;
  border-bottom: 5px solid #CF2841;
}
@media screen and (max-width: 768px) {
  #overLayer {
    font-size: 5.3333333333vw;
  }
}
@media screen and (min-width: 769px) {
  #overLayer {
    font-size: 1.71875vw;
  }
}

.shops_heading {
  text-align: center;
  background-color: #CF2841;
  color: #fff;
  padding: 1em 0;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 768px) {
  .shops_heading {
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 769px) {
  .shops_heading {
    font-size: 1.25vw;
  }
}

.shops_link {
  margin: 1em auto 1.5em;
  width: 70%;
  text-align: center;
}
.shops_link li:nth-child(n+2) {
  padding-top: 0.25em;
}
.shops_link li a {
  color: #111;
  display: inline-block;
  border-bottom: 1px solid #111;
  line-height: 1.25;
}
@media screen and (max-width: 768px) {
  .shops_link li a {
    font-size: 3.7333333333vw;
  }
}
@media screen and (min-width: 769px) {
  .shops_link li a {
    font-size: 1.015625vw;
  }
}/*# sourceMappingURL=style.css.map */