@charset "UTF-8";
/* ===== CSS基本リセット ===== */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
}

body {
  font-family: 'ryo-gothic-plusn', sans-serif;
  font-style: normal;
  line-height: 1.6;
  color: #333;
  background-color: #fff;
}

/* ===== リスト系リセット ===== */
ul,
ol {
  list-style: none;
}

/* ===== リンク初期設定 ===== */
a {
  text-decoration: none;
  color: inherit;
}

/* ===== 画像の初期設定 ===== */
img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* ===== ボタンのリセット ===== */
button {
  background: none;
  border: none;
  cursor: pointer;
  font: inherit;
}

/* ===== テーブル初期設定 ===== */
table {
  border-collapse: collapse;
  width: 100%;
}

/* ===== フォーム要素のフォント継承 ===== */
input,
textarea,
select {
  font: inherit;
  color: inherit;
}

:root {
  --font-size_30_25: clamp(1.5625rem, 0.26vw + 1.366rem, 1.875rem);
  --font-size_35_30: clamp(1.5rem, 2.4vw + 1.2rem, 3.5rem);
  --font-size_24_18: clamp(1.2rem, calc(1.2rem + 0.8333vw), 2.4rem);
}

/* *********************************
 共通項目
****************************** */
.title {
  position: relative;
  z-index: 1;
  margin: 0 auto;
  width: fit-content;
}
.s.title--padding-top02 {
  padding-top: 6.56%;
}
.s .title {
  width: 84.44vw;
}
.title--padding-top {
  padding-top: 6.56%;
}
.title--padding-top02 {
  padding-top: 6.56%;
}
.s .title--padding-top02 {
  padding-top: 8.56%;
}
.title--padding-top03 {
  padding-top: 6.56%;
}
.s .title--padding-top {
  padding: 13.66% 20px 9.393% 20px;
}

.s .title--padding-top03 {
  margin: 0 auto;
}

.wave {
  display: block;
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  pointer-events: none;
  transform: translateY(-1px);
}
.wave-divider--bottom {
  display: block;
  width: 100%;
  height: auto;
  position: absolute;
  bottom: -1px;
  left: 0;
  z-index: 2;
  pointer-events: none;
  transform: translateY(3px);
}

.btn {
  position: relative;
  display: flex;
  gap: 40px;
  background-color: #fff;
  border-radius: 100px;
  border: solid 2px #000;
  padding: 16px 0;
  font-size: 1.56vw;
  font-weight: 700;
  width: 100%;
  box-shadow: 8px 8px 0px 0px #ff6000;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s;
}
.s .btn {
  gap: 34px;
  border-radius: 100px;
  border: solid 1.67px #000;
  padding: 3.092% 0;
  font-size: 3.33vw;
  width: 100%;
  box-shadow: 6px 6px 0px 0px #ff6000;
}
.btn:hover,
.btn:active {
  background-color: #ffff58;
}
.btn::after {
  content: '';
  position: absolute;
  display: inline-block;
  width: 16px;
  height: 30px;
  position: absolute;
  right: 10%;
  background-image: url(../imgs/button-arrow.svg);
  background-repeat: no-repeat;
  transition: all 0.3s;
}
.s .btn::after {
  content: '';
  position: absolute;
  display: inline-block;
  width: 3vw;
  height: 5vw;
  right: 10%;
  background-image: url(../imgs/button-arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.btn:hover:after {
  transform: translateX(5px);
}

/* spのみ */
.s .btn img {
  width: 6.8vw;
}

.s .text--margin {
  margin-left: 1rem;
}

/* メニュー */
.menu {
  position: fixed;
  top: -2px;
  right: -2px;
  padding: 3.1vw 3.1vw 3.9vw 3.1vw;
  background-color: #ffffc5;
  border-radius: 0 0 0 40px;
  border: #000 solid 2px;
  transform: translateX(100%);
  transition: transform 0.3s;
  z-index: 99;
}
.s .menu {
  top: -1px;
  right: -1px;
  padding: 8.6vw 8.6vw 7.3vw 8.6vw;
  border-radius: 0 0 0 30px;
  border: #000 solid 1px;
}
.menu._acitve {
  transform: translateX(0);
}

.menu-title {
  width: 6.2vw;
}
.s .menu-title {
  width: 26.6vw;
}

.menu-list {
  padding-top: 3.6vw;
  width: 25.2vw;
  display: flex;
  flex-direction: column;
  row-gap: 2.8vw;
}
.s .menu-list {
  padding-top: 8.6vw;
  width: 100%;
  row-gap: 10.6vw;
}

.menu-list li {
  width: fit-content;
  height: 3.2vw;
}
.s .menu-list li {
  height: 10.2vw;
}

.menu-list li img {
  width: auto;
  height: 100%;
}

.menu-item {
  text-decoration-skip-ink: auto;
  display: flex;
  align-items: center;
  height: 100%;
  gap: 1vw;
}
.menu-item img:nth-child(2) {
  display: inline-block;
  width: 2.08vw;
  height: 1.35vw;
  transition: transform 0.2s;
}

.s .menu-item img:nth-child(2) {
  width: 5.33vw;
  height: 3.46vw;
}

.menu-item:hover img:nth-child(2),
.menu-item:active img:nth-child(2) {
  transform: translateY(0.3vw);
}

.menu-item:hover,
.menu-item:active {
  opacity: 0.75;
}

.menu-bottom {
  width: 20.5vw;
  margin: 3.6vw auto 0;
}
.s .menu-bottom {
  width: 70.5vw;
  margin: 12.6vw auto 0;
}

.menu-open {
  position: fixed;
}
.menu-close {
  position: absolute;
}
.menu-open,
.menu-close {
  width: 6.2vw;
  top: 1.5vw;
  right: 1.5vw;
  z-index: 99;
  cursor: pointer;
}
.s .menu-open,
.s .menu-close {
  width: 14.4vw;
  top: 2.6vw;
  right: 2.6vw;
}

/* 追従ボタン */
.follow-btn {
  position: fixed;
  bottom: 1.5vw;
  right: 1.5vw;
  width: 6.2vw;
  z-index: 99;
  display: none;
}
.s .follow-btn {
  bottom: 2.6vw;
  right: 2.6vw;
  width: 14.4vw;
}

/**********************************
 main
****************************** */
main {
  overflow: hidden;
}

/**********************************
 about
****************************** */
.about {
  position: relative;
  background-color: #ffffc5;
  padding: 9.73vw 0 8.85vw 0;
}
.s .about {
  padding: 10.73vw 0 10.73vw 0;
}

.about__text {
  font-size: 1.56vw;
  font-weight: 900;
  text-align: center;
  width: 80%;
  margin: 0 auto;
  letter-spacing: -0.01rem;
  line-height: 2;
  z-index: 2;
}
.m .about__text {
  font-size: 1.73vw;
}
.s .about__text {
  font-size: 3.333vw;
  font-weight: 900;
  text-align: center;
  width: 81.86%;
  margin: 0 auto;
  letter-spacing: 0.02em;
  line-height: 2;
}

.about-deco {
  position: absolute;
  z-index: 0;
  width: fit-content;
}
.about-deco--v1 {
  width: 9.84vw;
  bottom: 19%;
  left: 6%;
}
.about-deco--v2 {
  width: 6.35vw;
  top: 9%;
  right: 11%;
}
.about-deco--v3 {
  width: 9.79vw;
  top: 50%;
  right: 5%;
}
.s .about-deco--v1 {
  width: 12.66vw;
  bottom: 21%;
  left: 0%;
}
.s .about-deco--v2 {
  width: 8.13vw;
  top: 12%;
  right: 25%;
}
.s .about-deco--v3 {
  width: 9.6vw;
  top: 65%;
  right: 9%;
}

/* *********************************
play
****************************** */
.play {
  position: relative;
  background-color: #ffe4ef;
  z-index: 1;
  padding-bottom: 9.53%;
}

.deco_img {
  position: absolute;
  top: 10.8%;
  left: 2%;
  width: 5.89vw;
  height: 6.77vw;
}
.deco_img02 {
  position: absolute;
  top: 18%;
  right: 2%;
  width: 4.79vw;
  height: 6.77vw;
}
.deco_img03 {
  position: absolute;
  top: 31%;
  left: 2%;
  width: 7.5vw;
  height: 6.77vw;
}
.s .deco_img,
.s .deco_img02,
.s .deco_img03 {
  display: none;
}
.play::after {
  content: '';
  background-image: url(../imgs/play-bg.png);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: 100%;
  background-position: center 10%;
  z-index: -1;
}

.play-content-box {
  padding: 0 20px;
}
.s .play-content-box {
  padding: 0 10px;
}
.play-content-box02 {
  padding: 0 20px;
  margin-top: 150px;
}
.s .play-content-box02 {
  margin-top: 50px;
  padding: 0 10px;
}
.play-conent {
  position: relative;
  background-color: rgba(255, 29, 122, 0.18);
  background-image: url(../hakodate/images/pickup_bg.jpg);
  background-repeat: no-repeat;
  background-size: 100%;
  padding-bottom: 50px;
  max-width: 1520px;
}
.play-conent2 {
  position: relative;
  background-color: rgba(34, 140, 255, 0.18);
  background-image: url(../hakodate/images/test-bg.jpg);
  background-repeat: no-repeat;
  background-size: 100%;
  padding-bottom: 50px;
  height: 100%;
  max-width: 1520px;
}

.play__incidentally-date {
  position: absolute;

  top: 36%;
  left: -3%;
  width: 99%;
}
.s .play__incidentally-date {
  display: none;
}
.gurume__deko_100 {
  position: absolute;
  top: -7%;
  left: -2%;
  width: 34%;
  z-index: 1;
  transform: translateY(-50%);
}
.gurume__deco_taberu {
  position: absolute;
  top: 1%;
  right: 9vw;
  width: 13%;
  z-index: 1;
}
.gurume__title-wrap {
  position: relative;
  z-index: 2;
  text-align: center;
  margin: 0 auto;
}
.play__title {
  width: 65.78vw;
}
.s .play__title {
  width: 100%;
  margin: 0;
  padding: 0 20px 70x 20px;
}

.play__item-wrap {
  max-width: 1520px;
  position: relative;
  background-color: #fff;
  width: 79.16vw;
  margin: 100px auto 0 auto;
  position: relative;
  z-index: 123;
}

.s .play__item-wrap {
  width: 89.33vw;
  margin: 50px auto 0 auto;
  padding: 0;
  margin: -33px auto 0 auto;
}

.play-deco {
  position: absolute;
  width: 20vw;
  top: -1.3%;
  right: -14%;
}
.s .play-deco {
  top: -0.35%;
  right: -9%;
}
.play-deco02 {
  position: absolute;
  width: 11%;
  top: 18%;
  left: 0;
}
.s .play-deco02 {
  left: 86%;
  top: 80%;
  width: 13.96vw;
}
/* guest */
.guest_img {
  /*松岡昌宏画像の調整*/
  width: 65vw;
  margin: 0 auto;
}
.playmiru__img {
  /*見る画像の調整*/
  max-width: 512px;
  width: 26.72vw;
  margin: 20px auto 216px auto;
  transform: translateY(48px);
}
.s .playmiru__img {
  transform: translateY(9px);
}
.s .playmiru__img {
  /*見る画像の調整*/
  width: 40.1vw;
  margin: 0 auto 15vw auto;
}
.playmiru__img02 {
  /*見る画像の調整*/
  max-width: 512px;
  width: 26.72vw;
  margin: 20px auto 0 auto;
  transform: translateY(-138px);
}
.s .playmiru__img02 {
  width: 37.22vw;
  transform: translateY(-40px);
}
.playFamily_img {
  /*家族画像の配置調整*/
  position: absolute;
  top: 7%;
  right: 8%;
  width: 20%;
}
.s .playFamily_img {
  top: 2%;
  right: 3%;
  width: 25%;
}
.matuoka-spBox {
  padding: 0 30px;
}
.matuoka-text_wrap {
  width: 66.77vw;
  background-image: url(../hakodate/images/text-wrapBg.png);
  background-size: cover;
  background-repeat: no-repeat;
  padding: 30px 40px;
  text-align: center;
  margin: 15px auto 0 auto;
}
.matuoka-text_wrap {
  display: none;
}
.s .matuoka-text_wrap {
  display: block;
  padding: 20px 15px 10px 15px;
  background-color: #fff;
}
.matuoka-content {
  position: relative;
}
.matuoka-content02 {
  width: 95%;
  margin: 0 auto;
}
.matuoka-img {
  width: 100%;
}
.s .matuoka-content {
  margin-top: 0;
}
.matuoka_img02 {
  width: 90%;
  margin: 0 auto;
}
.matuoka_img02 img {
  width: 100%;
}
.miru-timeBox {
  /*見る画像のサイズ調整と親要素に*/
  position: absolute;
  top: -18%;
  left: 10%;
  display: flex;
  gap: 10px;
  align-items: center;
  z-index: 1;
}
.guest-text_img {
  width: 15vw;
  max-width: 288px;
}
.s .guest-text_img {
  width: 21.74vw;
  margin-top: 8vw;
}
.miru-time {
  width: 12vw;
}
.s .miru-time {
  display: none;
}
.matuoka-wrap {
  /*松岡テキストの配置調整*/
  position: absolute;
  top: 30%;
  right: 10%;
  width: 40%;
}
.s .matuoka-wrap {
  display: none;
}
.play-content_text {
  position: relative;
  display: flex;
  align-items: center;
  gap: 20px;
}
.matuoaka-text {
  /*松岡テキストのフォント調整など*/
  display: inline-block;
  font-size: clamp(16px, 2.08vw, 40px);
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.5;
  z-index: 2;
  border-bottom: #000 solid 3px;
}
.s .matuoaka-text {
  font-size: 11px;
  border-bottom: none;
}
.matuoka-am {
  /*松岡テキストのフォント調整など*/
  font-size: clamp(16px, 2.08vw, 37px);
  font-weight: 600;
  margin-top: 30px;
  width: 80%;
  letter-spacing: 0.1rem;
}
.s .matuoka-am {
  font-size: clamp(11px, 2.8vw, 22px);
  margin-top: 0;
  font-weight: bold;
}
.matuoka-name {
  /*松岡テキストのフォント調整など*/
  font-size: clamp(16px, 2.08vw, 37px);
  font-weight: 500;
  font-family: 'Noto Sans JP', sans-serif;
  margin-top: 10px;
}
.matuoka-name span {
  /*松岡テキストのフォント調整など*/
  font-size: clamp(11px, 2.083vw, 40px);
  font-weight: 700;
  font-family: 'Noto Sans JP', sans-serif;
  letter-spacing: 0.2em;
  z-index: 2;
  color: #ff1d7a;
}
.matuoka-subtext {
  /*松岡テキストのフォント調整など*/
  font-size: clamp(11px, 1.32vw, 25px);
  font-weight: 500;
  font-family: 'Noto Sans JP', sans-serif;
  margin-top: 10px;
  line-height: 1.25em;
  letter-spacing: 0.1rem;
}
.play-content_text span {
  /*8/17のフォント調整*/
  font-size: 40px;
  font-weight: 900;

  letter-spacing: 0.2em;
  line-height: 2;
  z-index: 2;
}

.play-text {
  /*スター達がのテキスト調整*/
  font-size: clamp(11px, 3.333vw, 64px);
  font-weight: 900;
  font-family: 'Noto Sans JP', sans-serif;
  text-align: center;
  width: 80%;
  margin: -50px auto 0 auto;
  letter-spacing: 0.02em;
  line-height: 2;
  z-index: 2;
}

.play-text02 {
  /*スター達がのテキスト調整*/
  font-size: clamp(11px, 3.333vw, 64px);
  font-weight: 900;
  font-family: 'Noto Sans JP', sans-serif;
  text-align: center;
  width: 80%;
  margin: 50px auto 0 auto;
  letter-spacing: 0.02em;
  line-height: 2;
  z-index: 2;
}
.s .play-text {
  font-size: 19px;
  font-weight: 900;
  font-family: 'Noto Sans JP', sans-serif;
  text-align: center;
  width: 81.86%;
  margin: 0 auto 0 auto;
  letter-spacing: 0.02em;
  line-height: 2;
  margin-top: 50p;
}
.s .play-text02 {
  font-size: 19px;
  font-weight: 900;
  font-family: 'Noto Sans JP', sans-serif;
  text-align: center;
  width: 81.86%;
  margin: 50px auto 0 auto;
  letter-spacing: 0.02em;
  line-height: 2;
  margin-top: 50p;
}
.guest {
  width: 50.59%;
  position: relative;
}
.s .guest {
  width: 100%;
}
.guest p {
  background-image: url(../imgs/play-name-bg.png);
  background-size: 100% 100%;
  font-size: 1.04vw;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: bold;
  width: 74%;
  margin: 0.92vw auto 0;
  padding: 1.31% 0;
}
.s .guest p {
  width: 100%;
  font-size: 2.66vw;
  margin: 1.86vw auto 0;
}
.guest p span {
  font-size: 1.56vw;
}
.s .guest p span {
  font-size: 4vw;
}
.guest__time {
  width: 36.32%;
  position: absolute;
  top: -33%;
  left: 0;
}
.guest__time--reverse {
  width: 36.32%;
  position: absolute;
  top: -33%;
  right: 0;
}
.s .guest__time--reverse {
  width: 36.32%;
  position: absolute;
  top: -33%;
  left: 0;
}
.s .guest-content__item {
  flex-direction: column-reverse;
  gap: 16vw;
  padding-top: 14.66vw;
}
.guest-content {
  margin-top: 120px;
  padding: 0 40px;
}
.s .guest-content {
  margin-top: 0;
  padding: 0 30px;
}
.guest-item-box {
  display: flex;
  gap: 15px;
}
.s .guest-item-box {
  flex-direction: column;
}
.matuoka_img {
  max-width: 1300px;
  width: 67.71vw;
  margin: 0 auto;
  padding: 0 20px;
}
.guest-wrap {
  /*左側画像とテキスト要素のサイズ調整*/
  width: 40%;
}
.guest-wrap2 {
  /*右側画像とテキスト要素のサイズ調整*/
  width: 80%;
}
.guest-wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 15px;
}
.s .guest-wrap {
  flex-direction: column;
}
.guest-wrap._right {
  /*右側全体のサイズ調整*/
  position: relative;
  width: 31%;
}
.s .guest-wrap._right {
  width: 100%;
  margin-top: -70px;
}
.guest-wrap._left {
  width: 62%;
}
.s .guest-wrap._left {
  width: 100%;
  margin-top: -23px;
}
.guest-deco {
  /*日付画像の配置調整*/
  width: 14.22vw;
  margin: 30px auto 0 auto;
}
.guest-deco02 {
  /*日付画像の配置調整*/
  width: 14.22vw;
  margin: 30px auto 0 auto;
}
.guest-deco03 {
  /*日付画像の配置調整*/
  width: 14.22vw;
  margin: 30px auto 0 auto;
}
.s .guest-deco {
  width: 21.74vw;
  margin-right: 49vw;
  transform: translateY(12vw);
}
.s .guest-deco02 {
  width: 21.74vw;
  margin-right: 49vw;
  transform: translateY(3vw);
}
.s .guest-deco03 {
  width: 21.74vw;
  margin-right: 49vw;
  transform: translateY(0vw);
}
.guest-deco_16 {
  width: 14.22vw;
  margin-top: -5%;
}
.s .guest-deco_16 {
  width: 21.74vw;
  margin-right: 42vw;
  transform: translateY(11vw);
}
.pickup-guest_content {
  max-width: 1300px;
  width: 100%;
}
.guest-content__box {
  /*ゲスト要素の横並び調整*/
  position: relative;
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 30px;
  margin: 20px auto 0 auto;
  width: 100%;
  max-width: 1300px; /*最大の横幅指定*/
}
.guest-content__box02 {
  /*ゲスト要素の横並び調整*/
  position: relative;
  display: flex;
  align-items: start;
  justify-content: center;
  gap: 50px;
  margin: 0 auto;
  width: 100%;
  max-width: 1300px; /*最大の横幅指定*/
}
.s .guest-content__box02 {
  flex-direction: column;
  position: static;
  gap: 20px;
  margin-top: -28px;
}
.guest-content__box2 {
  position: relative;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-top: 200px;
}
.s .guest-content__box {
  position: static;
  flex-direction: column;
  margin: -15px auto 0 auto;
}
.s .guest-content__box2 {
  flex-direction: column;
}
.s .guest-item {
  flex-direction: column-reverse;
  gap: 16vw;
}
.guest-item--reverse {
  flex-direction: row-reverse;
}

.guest-text_wrap {
  /*ゲストテキストの背景画像と余白調整*/
  background-image: url(../hakodate/images/guest-text_bg02.png);
  background-color: #fff;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 20px 20px 0 20px;
  text-align: center;
  margin-top: 15px;
}
.s .guest-text_wrap {
  margin-top: 8px;
  padding: 12px 15px 5px 15px;
}

.guest-box {
  background-color: #fff;
  font-size: 1.25vw;
  font-weight: 500;
  padding: 0 5px;
}
.guest-box02 {
  background-color: #fff;
  font-size: 1.25vw;
  font-weight: 500;
  padding: 0 5px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 188px;
}
.m .guest-box02 {
  background-color: #fff;
  font-size: 1.25vw;
  font-weight: 500;
  padding: 0 5px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 160px;
}
.s .guest-box02 {
  height: auto;
}
.s .guest-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 5px;
}
.guest-text {
  font-size: clamp(11px, 1.771vw, 34px);
  font-weight: 600;
  font-family: 'Noto Sans JP', sans-serif;
  max-width: 400px;
  width: 100%;
  border-bottom: 2px solid #000;
  padding: 20px 0;
  line-height: 1.1;
}
.guest-text03 {
  font-size: clamp(11px, 1.771vw, 34px);
  font-weight: 600;
  font-family: 'Noto Sans JP', sans-serif;
  max-width: 500px;
  width: 60%;
  border-bottom: 2px solid #000;
  padding: 15px 0;
  line-height: 1.1;
}
.guest-text03 span {
  font-size: clamp(10px, 1.771vw, 25px);
}
.guest-text04 {
  font-size: clamp(11px, 1.771vw, 34px);
  font-weight: 600;
  font-family: 'Noto Sans JP', sans-serif;
  max-width: 500px;
  width: 60%;
  border-bottom: 2px solid #000;
  padding: 15px 0 29px 0;
  line-height: 1.1;
}
.guest-text04 span {
  font-size: clamp(10px, 1.771vw, 25px);
}
.guest-text02 {
  font-size: 21px;
  font-weight: 600;
  font-family: 'Noto Sans JP', sans-serif;
  max-width: 400px;
  width: 100%;
  border-bottom: 2px solid #000;
  padding: 20px 0;
  color: #ff1d7a;
}
.s .guest-text {
  width: 80%;
  font-size: 21px;
  padding: 10px 0;
  border-bottom: 1.25px solid #000;
}
.s .guest-text03 {
  width: 80%;
  font-size: 21px;
  padding: 10px 0;
  border-bottom: 1.25px solid #000;
}
.s .guest-text04 {
  width: 80%;
  font-size: 21px;
  padding: 10px 0;
  border-bottom: 1.25px solid #000;
}
.s .guest-text02 {
  font-size: clamp(14px, 5vw, 39px);
  padding: 5px 0;
  border-bottom: 1.25px solid #000;
  width: 80%;
}
.guest-box span {
  font-size: 17px;
  margin-right: 10px;
  font-family: 'Noto Sans JP', sans-serif;
}
.guest-schedule {
  font-size: clamp(11px, 1.042vw, 20px);
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 600;
  max-width: 400px;
  width: 100%;
  padding: 12px 0;
  line-height: 1.2;
}
.matuoka-schedule {
  font-size: clamp(11px, 1.042vw, 20px);
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 600;
  max-width: 400px;
  width: 100%;
  padding: 9px 0 2px 0;
  line-height: 1.2;
}
.guest-schedule02 {
  font-size: clamp(11px, 1.042vw, 20px);
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  max-width: 600px;
  width: 100%;
  padding: 12px 0;

  line-height: 1.2;
}

.s .guest-schedule {
  font-size: clamp(11px, 2vw, 22px);
  padding: 6px 0;
  margin: 0 auto;
  line-height: 1.2;
}
.s .guest-schedule02 {
  font-size: clamp(11px, 2vw, 22px);
  padding: 6px 0;
  margin: 0 auto;
  line-height: 1.2;
}
.guest-schedule03 {
  font-size: clamp(11px, 1.042vw, 20px);
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  max-width: 600px;
  width: 100%;
  padding: 20px 0 12px 0;

  line-height: 1.2;
}
.s .guest-schedule03 {
  font-size: clamp(11px, 2vw, 22px);
  padding: 6px 0;
  margin: 0 auto;
  line-height: 1.2;
}
.guest-comment {
  background-image: url(../hakodate/images/guest-comment-left.png);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  width: 29.14%;
  aspect-ratio: 3 / 1; /* 横3：縦1の比率 */
  position: relative;
  font-weight: bold;
  font-size: 2.91vw;
}
.guest-comment--reverse {
  background-image: url(../hakodate/images/guest-comment-right.png);
}
.s .guest-comment,
.s .guest-comment--reverse {
  background-image: url(../hakodate/images/guest-comment_sp.png);
  width: 56.8%;
  background-size: 100% 100%;
  aspect-ratio: 3 / 1.5;
}
.guest-comment p {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 3vw;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.1em;
  width: 100%;
}
.s .guest-comment p {
  font-size: 6.93vw;
}

.guest-deco--v1 {
  position: absolute;
  bottom: 0%;
  right: 38%;
  width: 6.71%;
}
.s .guest-deco--v1 {
  width: 9.86vw;
  top: 16%;
  left: unset;
  bottom: unset;
  right: 4%;
}
.guest-deco--v2 {
  position: absolute;
  bottom: -5%;
  right: 10%;
  width: 14.93%;
}
.s .guest-deco--v2 {
  width: 14.4vw;
  bottom: -17%;
}

.play-next {
  width: 30.78vw;
  margin: 1.82vw auto 0;
}
.s .play-next {
  width: 57.46%;
  margin: 4.66vw auto 0;
}

/* 遊ぶ グルメ */
.gurume-bg {
  position: relative;
}
.gurume-mv {
  position: relative;
  width: 60vw;
  margin: 80px auto 0 auto;
}
.gurume-ouru {
  position: relative;
  padding: 0 10px;
}
.gurume-mv__img {
  position: relative;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto 0 auto;
}
.m .gurume-mv__img {
  width: 100%;
}
.gurume-mv__deco {
  position: absolute;
  top: 50%;
  right: -5%;
  width: 14.48vw;
  transform: translateY(-50%);
}
.s .gurume-mv__deco {
  width: 20.4vw;
}
.wrap-item {
  position: relative;
  width: 30vw;
}
.gurume-deco {
  position: absolute;
  bottom: 163px;
  left: 29%;
  width: 30%;
}
.gurume-ikura {
  width: 15vw;
}
.gurume-niku {
  width: 20vw;
}
.gurume-decoArea {
  position: relative;
  margin-top: 150px;
}
.s .gurume-decoArea {
  margin-top: 50px;
}
.gurume-text02 {
  position: relative;
  display: inline-block;
  font-size: 1.25vw;
  font-weight: 300;
  font-family: 'Noto Sans JP', sans-serif;
  color: #228cff;
  line-height: 1.6;
  margin-left: 7.19vw;
  margin-top: -3vw;
}
.s .gurume-text02 {
  font-size: 14px;
  margin-left: 10px;
  margin-top: 30px;
  text-align: center;
}
.gurume-text02::after {
  position: absolute;
  top: 4vw;
  left: 0;
  content: '';
  width: 2.55vw;
  height: 96px;

  background-size: contain;
  background-repeat: no-repeat;
  background-image: url(../hakodate/images/gurume-arrow.png);
}
.s .gurume-text02::after {
  width: 5.55vw;
  top: 105%;
  left: 10%;
}
.gurume-decoBox {
  display: flex;
  justify-content: space-between;
}

.s .gurume-decoBox {
  flex-direction: column-reverse;
  align-items: center;
}
.gurume-decoBox2 {
  display: flex;
  gap: 10%;
}
.s .gurume-decoBox2 {
  flex-direction: column-reverse;
  align-items: center;
}
.gurume-left {
  width: 50%;
  margin-top: -2%;
}
.s .gurume-left {
  width: 100%;
}
.gurume-left2 {
  width: 50%;
}
.s .gurume-left2 {
  width: 90%;
  margin-right: auto;
}
.gurume-right {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 35%;
  margin-top: -7%;
}
.s .gurume-right {
  width: 85%;
  align-items: end;
}
.gurume-decoItem00 {
  width: 45%;
  margin-left: auto;
}
.s .gurume-decoItem00 {
  width: 90%;
}
.gurume-decoItem02 {
  position: absolute;
  top: 31vw;
  left: 8vw;
  width: 18.33vw;
}
.gurume-decoItem03 {
  /* width: 37%; */
}
.s .gurume-decoItem03 {
  position: static;
}
.gurume-decoItem04 {
  transform: translateX(8%);
}
.s .gurume-decoItem04 {
  width: 85%;
  transform: translate(10%, -8%);
}
.gurume-decoItem05 {
  margin-top: 3vw;
  margin-bottom: 9vw;
}

.gurume-decoItem06 {
  width: 32%;
}
.s .gurume-decoItem06 {
  width: 40%;
}
.gurume-decoItem {
  position: absolute;

  top: 16vw;
  left: 26vw;
  width: 26vw;
}
.gurume-text03 {
  position: relative;
  text-align: right;
  font-size: 1.25vw;
  font-weight: 300;
  font-family: 'Noto Sans JP', sans-serif;
  color: #228cff;
  line-height: 1.6;
}
.s .gurume-text03 {
  font-size: 14px;
  margin-right: 15px;
  text-align: center;
}
.gurume-text03::after {
  position: absolute;
  top: 2vw;
  right: -5vw;
  content: '';
  width: 3.91vw;
  height: 85px;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url(../hakodate/images/gurume-arrow2.png);
}
.s .gurume-text03::after {
  width: 7.91vw;
  top: 110%;
  right: 10%;
  rotate: 30deg;
}
.gurume-text04 {
  position: relative;
  text-align: left;
  font-size: 1.25vw;
  font-weight: 300;
  font-family: 'Noto Sans JP', sans-serif;
  color: #228cff;
  line-height: 1.6;
  margin-top: 3vw;
  margin-left: 7.19vw;
}
.s .gurume-text04 {
  font-size: 14px;
  margin-left: 15%;
}
.gurume-text04::after {
  position: absolute;
  top: 2vw;
  left: -15px;
  content: '';
  width: 2.5vw;
  height: 96px;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url(../hakodate/images/gurume-arrow3.png);
}
.s .gurume-text04::after {
  width: 5.5vw;
  top: 50%;
  left: -6%;
}
.gurume-decos {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: left;
  margin-left: 11vw;
  margin-top: -5vw;
  margin-bottom: 1%;
}
.s .gurume-decos {
  margin: 0 auto;
  width: 75%;
  justify-content: end;
  gap: 10%;
}
.gurume-decoItem07 {
  position: absolute;
  bottom: 25%;
  right: 10%;
  width: 28%;
  margin-top: 47px;
  z-index: 123;
}
.s .gurume-decoItem07 {
  width: 35%;
  right: auto;
  left: 10%;
}
.gurume-note {
  position: absolute;
  bottom: 5%;
  left: 5%;
  font-size: 18px;
  z-index: 123;
}
.s .gurume-note {
  font-size: 7px;
  left: auto;
  right: 5%;
  bottom: 2%;
}
.gurume-bottomBox {
  position: absolute;
  bottom: 0;
}
.play__item-wrap--gurume {
  position: relative;
  margin-top: clamp(50px, 5.68vw, 109px);
}
.gurume-bg-img {
  position: relative;
  bottom: 0;
  width: 100%;
  z-index: 30; /* 他の画像よりも高く */
  pointer-events: none; /* 背景として使うならクリック無効化 */
}
.s .play__item-wrap--gurume {
  margin: 4.66vw auto 0;
}
.play__item-wrap--gurume h3 {
  font-size: 4.5vw;
  color: #000;
  font-weight: 900;
  text-align: center;
}
.s .play__item-wrap--gurume h3 {
  font-size: 7.33vw;
}
.gurume-text-wrapper {
  position: relative;
  width: fit-content;
  text-align: center;
  margin: 0 auto;
  margin-top: 50px;
}
.s .gurume-text-wrapper {
  margin-top: 20px;
}
.gurume-text-img {
  position: absolute;

  width: 60%;
  top: -94px;
  left: -15%;
}
.s .gurume-text-img {
  top: 0;
  left: 0;
  width: 60%;
  transform: translate(-25%, -90%);
}
.gurume-text {
  display: inline;
  font-size: clamp(11px, 3.229vw, 62px);
  font-weight: 600;
  padding: 20px 80px;
  background-image: url(../hakodate/images/text-wrapBg.png);
  background-color: #fff;
  background-repeat: no-repeat;
  background-size: cover;
}
.gurume-text06 {
  position: relative;
  display: inline;
  background-image: url(../hakodate/images/1x/アセット\ 27.png);
  background-repeat: no-repeat;
  background-size: cover;
  color: #228cff;
  font-size: 1.25vw;
  font-weight: 300;
  color: #228cff;
  line-height: 1.6;
  text-align: center;
}
.s .gurume-text06 {
  font-size: 13px;
  margin-top: -30%;
}
.gurume-text06::after {
  position: absolute;
  top: 5vw;
  right: -28px;
  content: '';
  width: 103px;
  height: 27px;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url(../hakodate/images/gurume-arrow4.png);
}
.s .gurume-text06::after {
  width: 45%;
  top: 110%;
  right: -10%;
}
.s .gurume-text {
  font-size: 17px;
  margin-top: 10px;
  padding: 15px 40px;
}

.play-deco--v1 {
  width: 17.08vw;
  position: absolute;
  top: -2%;
  right: -13%;
}
.s .play-deco--v1 {
  width: 19.1vw;
  top: -1%;
  right: -6%;
}
.play-deco--v2 {
  width: 5.88vw;
  position: absolute;
  top: 25%;
  left: -10%;
}
.play-deco--v3 {
  width: 4.79vw;
  position: absolute;
  bottom: 27%;
  right: -10%;
}
.play-deco--v4 {
  width: 7.5vw;
  position: absolute;
  bottom: -50%;
  left: -12%;
}
.m .play-deco--v4 {
  bottom: -90%;
}
.play-deco--v5 {
  width: 10.26vw;
  top: 5%;
  right: 8%;
}
.s .play-deco--v5 {
  top: 7%;
  right: 7%;
}
.play-deco--v6 {
  width: 5.83vw;
  bottom: 19%;
  right: -2%;
}
.s .play-deco--v6 {
  width: 9vw;
  bottom: 42%;
  right: 5%;
}
.play-deco--v7 {
  width: 4.94vw;
  top: 50%;
  left: -3%;
}
.s .play-deco--v7 {
  width: 9.8vw;
  top: unset;
  bottom: 48%;
  left: 5%;
}
.play-deco--v8 {
  position: absolute;
  width: 4.16vw;
  bottom: 42%;
  right: 0;
}
.s .play-deco--v8 {
  width: 9.46vw;
  bottom: 37%;
  right: 4%;
}
.play-deco--v9 {
  width: 4.73vw;
  top: 10%;
  left: 49%;
}
.s .play-deco--v9 {
  width: 12.26vw;
  top: -1%;
  transform: translateY(-50%);
  left: unset;
  right: 14%;
}
.play-deco--v10 {
  position: absolute;
  width: 3.91vw;
  bottom: 7%;
  right: 37%;
}
.br-sp_irumi {
  display: block;
}
.s .br-sp_irumi {
  display: none;
}
.s .play-deco--v10 {
  width: 10vw;
  bottom: 45%;
  right: unset;
  left: 9%;
}
.play-deco--v11 {
  position: absolute;
  width: 8%;
  top: 42%;
  left: 9%;
}
.m .play-deco--v11 {
  left: 4%;
}
.s .play-deco--v11 {
  width: 7.733vw;
  top: 88%;
  left: 0;
}
.play-deco--v12 {
  width: 5.46vw;
  top: 54%;
  right: -6%;
}
.s .play-deco--v12 {
  width: 9.73vw;
  top: 3%;
  left: 2%;
  bottom: unset;
  right: unset;
}
.play-deco--v13 {
  position: absolute;
  width: 13.77%;
  bottom: 7%;
  right: -28%;
}
.s .play-deco--v13 {
  width: 8.73vw;
  bottom: -35%;
  left: unset;
  right: -1%;
}
.play__incidentally {
  width: 79.16vw;
  margin: 1.5vw auto 0;
  position: relative;
}
.s .play__incidentally {
  width: 89.33vw;
  margin: 2.5vw auto 0;
  position: relative;
}

/* SPのみ */
.s .gurume_heavy-light {
  width: 56.91%;
  margin: 1.49% auto 0;
}

/* model */
.model {
  position: relative;
  z-index: 1;
}
.s .model {
  padding-bottom: 12.93%;
}
.br-sp {
  display: none;
}
.s .br-sp {
  display: block;
}
.model__items-wrap {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  position: relative;
  width: 75.16vw;
  margin: 0 auto;
  justify-content: center;
}
.s .model__items-wrap {
  flex-direction: column;
  padding-top: 12.733%;
  gap: 5px;
  width: 89.33%;
  margin: 0 auto;
  align-items: center;
}

.model__items-wrap:first-of-type {
  padding-top: 3.34%;
  gap: 40px;
  max-width: 1600px;
}
.s .model__items-wrap:first-of-type {
  gap: 10px;
}
.model__title {
  width: 48.59vw;
}
.s .model__title {
  width: 80.2vw;
}
.s .model__title.title--padding-top {
  padding-top: 21.22vw;
}

.model__text-warp {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1.1vw;
  align-items: flex-start;
}
.model__text-warp01 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1.1vw;

  margin-top: 60px;
}
.s .model__text-warp01 {
  width: 100%;
  margin-top: 20px;
  text-align: center;
  align-items: center;
  gap: 2.5vw;
}
.model-time {
  width: 22.5vw;
  border-top: 1px solid #000;
  padding-top: 15px;
}
.s .model-time {
  width: 60%;
  border-top: none;
  padding-top: 0;
}
.s .model__text-warp {
  align-items: center;
  margin: 0 auto;
  text-align: center;
  width: 100%;
}
.s .model__text-warp._text {
  margin-top: 20px;
  margin-bottom: 20px;
}
.model__text-warp--v4 {
  margin-bottom: 2.2vw;
}

.model__text-order {
  font-size: 1.56vw;
  font-weight: 900;
  font-family: 'Noto Sans JP', sans-serif;
  display: flex;
  align-items: flex-end;
  gap: 25px;
  letter-spacing: 0.15em;
}
.model__text-order01 {
  font-size: 1.56vw;
  font-weight: 900;
  font-family: 'Noto Sans JP', sans-serif;
  display: flex;
  align-items: flex-end;
  gap: 25px;
  letter-spacing: 0.15em;
}
.model__text-order02 {
  font-size: 1.56vw;
  font-weight: 900;
  font-family: 'Noto Sans JP', sans-serif;
  display: flex;
  align-items: flex-end;
  gap: 25px;
  letter-spacing: 0.15em;
}
.m .model__text-order {
  font-size: 1.644vw;
  gap: 25px;
}
.m .model__text-order01 {
  font-size: 1.644vw;
  gap: 25px;
}
.m .model__text-order02 {
  font-size: 1.644vw;
  gap: 25px;
}
.s .model__text-order {
  font-size: 4.06vw;
  gap: 8px;
  letter-spacing: 0.15em;
  align-items: center;
  margin-bottom: 5px;
}
.s .model__text-order01 {
  font-size: 4.06vw;
  gap: 8px;
  letter-spacing: 0.15em;
  align-items: center;
  margin-bottom: 5px;
}
.s .model__text-order02 {
  font-size: 4.06vw;
  gap: 8px;
  letter-spacing: 0.1rem;
  align-items: center;
  margin-bottom: 5px;
}
.s .model__text-order p {
  letter-spacing: 0.15em;
}
.model__number--v1 {
  width: 1.11vw;
}
.s .model__number--v1 {
  width: 2vw;
}
.model__number--v2 {
  width: 2vw;
}
.s .model__number--v2 {
  width: 3.86vw;
}
.model__number--v3 {
  width: 2.1vw;
}
.s .model__number--v3 {
  width: 3.86vw;
}
.model__number--v4 {
  width: 2.44vw;
}
.s .model__number--v4 {
  width: 4.66vw;
}

.model__text {
  font-size: 1.25vw;
  font-weight: 900;
  font-family: 'Noto Sans JP', sans-serif;
  letter-spacing: 0.15em;
  line-height: 1.5;
}
.model__text02 {
  font-size: 1.25vw;
  font-weight: 900;
  font-family: 'Noto Sans JP', sans-serif;
  letter-spacing: 0.15em;
  line-height: 1.5;
  margin-top: -11px;
}
.m .model__text {
  font-size: 1.5vw;
  font-weight: 700;
}
.s .model__text02 {
  font-size: 3.33vw;
  margin-top: -8px;
}
.s .model__text {
  font-size: 3.33vw;
  letter-spacing: 0.05em;
  padding-bottom: 3%;
  font-weight: 900;
}
.s .model__text._border {
  border-bottom: 1px solid #000;
}

.model__img-wrap {
  position: relative;
  width: 43.35%;
}
.s .model__img-wrap {
  width: 72vw;
}

.model__time {
  width: 13.43vw;
  position: absolute;
}
.s .model__time {
  width: 23.2vw;
}
.model__time--v1 {
  top: -5%;
  left: 0;
}
.s .model__time--v1 {
  top: 10%;
  right: -14%;
  left: unset;
}
.model__time--v2 {
  top: -8%;
  right: -18%;
}
.s .model__time--v2 {
  top: 27%;
  right: unset;
  left: -23%;
}
.model__time--v3 {
  top: 37%;
  left: -29%;
}
.s .model__time--v3 {
  top: 14%;
  left: unset;
  right: -14%;
}
.model__time--v4 {
  top: -2%;
  right: -3%;
}
.s .model__time--v4 {
  top: 20%;
  right: unset;
  left: -22%;
}

.model__items-wrap:nth-of-type(2n) {
  flex-direction: row-reverse;
}
.s .model__items-wrap:nth-of-type(2n) {
  align-items: flex-end;
  flex-direction: column;
  padding-top: 12.733%;
}
.model__items-wrap:nth-of-type(2) {
  position: relative;
  padding-top: 0.8vw;
  align-items: center;
  column-gap: 1.07vw;
}
.model__img-wrap--v2 {
  width: 39%;
}

.model__items-wrap:nth-of-type(3) {
  position: relative;
  padding-top: 4.8vw;
  align-items: center;
  column-gap: 1.07vw;
  max-width: 1600px;
}
.model__img-wrap--v3 {
  width: 43%;
}
.s .model__items-wrap:nth-of-type(3) {
  padding-top: 14.733%;
}

.model__items-wrap:nth-of-type(4) {
  position: relative;
  justify-content: flex-start;
  align-items: end;
  padding-top: 0.8vw;
}

.model__img-wrap--v4 {
  position: relative;
  width: 42%;
  transform: translateY(-18%);
}
.s .model__img-wrap--v4 {
  transform: translateY(-16%);
}
.model-time_text {
  display: flex;
  align-items: center;
  gap: 20px;
  font-size: 35px;
  font-weight: bold;
  font-family: 'Noto Sans JP', sans-serif;
  letter-spacing: 0.15em;
  color: #ff1d7a;
}
.model-time_text p {
  color: #000;
  font-size: 24px;
  font-weight: bold;
  font-family: 'Noto Sans JP', sans-serif;
}

.model-text_pink {
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #ff1d7a;
  border-radius: 50%;
  color: #fff;
  font-weight: bold;
  background-color: #ff1d7a;
  letter-spacing: -0.01rem;
}
.model__items-wrap:nth-of-type(2)::before {
  content: '';
  background-image: url(../imgs/model-arrow_01.png);
  background-size: contain;
  width: 5vw;
  height: 4.35vw;
  background-repeat: no-repeat;
  position: absolute;
  top: 0%;
  left: 49%;
  transform: translate(-50%, -50%);
  z-index: 2;
}
.m .model__items-wrap:nth-of-type(2)::before {
  left: 46%;
}
.s .model__items-wrap:nth-of-type(2)::before {
  content: '';
  background-image: url(../imgs/model-arrow_01_sp.png);
  background-size: contain;
  width: 11.67vw;
  height: 10.93vw;
  background-repeat: no-repeat;
  position: absolute;
  top: 6%;
  left: 16%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

.model__items-wrap:nth-of-type(3)::before {
  content: '';
  background-image: url(../imgs/model-arrow_02.png);
  background-size: contain;
  width: 5vw;
  height: 4.35vw;
  background-repeat: no-repeat;
  position: absolute;
  top: 6%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}
.s .model__items-wrap:nth-of-type(3)::before {
  content: '';
  background-image: url(../imgs/model-arrow_02_sp.png);
  background-size: contain;
  width: 16.67vw;
  height: 11.93vw;
  background-repeat: no-repeat;
  position: absolute;
  top: 3%;
  left: 85%;
  transform: translate(-50%, -50%);
  z-index: 2;
}
.model__items-wrap:nth-of-type(4)::before {
  content: '';
  background-image: url(../hakodate/images/play-arrow05.png);
  background-size: contain;
  width: 5vw;
  height: 4.01vw;
  background-repeat: no-repeat;
  position: absolute;
  top: -4%;
  left: 56%;
  transform: translate(-50%, -50%);
  z-index: 2;
}
.m .model__items-wrap:nth-of-type(4)::before {
  left: 52%;
}
.s .model__items-wrap:nth-of-type(4)::before {
  content: '';
  background-image: url(../imgs/model-arrow_03_sp.png);
  background-size: contain;
  width: 11.67vw;
  height: 12.93vw;
  background-repeat: no-repeat;
  position: absolute;
  top: 3%;
  left: 19%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

/* SPのみ */
.s .model__img-wrap--v1 {
  width: 72vw;
}
.s .model__img-wrap--v2 {
  width: 79%;
}
.s .model__img-wrap--v3 {
  margin-right: auto;
}

.s .play__incidentally-comment {
  width: 23.73%;
  position: absolute;
  right: -2%;
  bottom: 2%;
}

/* *********************************
 special
****************************** */
.special {
  background-color: #c9ff8f;
  position: relative;
  padding-bottom: 8.22vw;
}
.sp {
  display: none;
}
.s .sp {
  display: block;
}
.special__title {
  width: 30.72vw;
}
.s .special__title {
  width: 54.66vw;
}

.special__contents--wrap {
  background-color: #fff;
  width: 79.16vw;
  margin: 4.427vw auto 0;
  position: relative;
  padding-top: 3.947%;
  padding-bottom: 5.78%;
  position: relative;
}
.m .special__contents--wrap {
  width: 89.33vw;
}
.s .special__contents--wrap {
  margin: 7.73vw auto 0;
  padding-top: 14.66%;
}

.special__items {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas:
    'a b'
    'a c';
  align-items: center;
  justify-items: center;
  column-gap: 2.8vw;
  width: 79.6%;
  margin: 0 auto;
}
.s .special__items {
  grid-template-columns: 1fr;
  grid-template-areas:
    'b'
    'a'
    'c';
}
.movie-img {
  grid-area: a;
  width: 30vw;
  text-align: right;
  justify-items: end;
}
.s .movie-img {
  width: 64.8vw;
  margin-top: 5.22%;
}
.movie-title {
  grid-area: b;
  font-size: 3.12vw;
  font-weight: 900;
  color: #ff1d7a;
  text-align: center;
  position: relative;
  letter-spacing: 0.3em;
}
.s .movie-title {
  font-size: 7.2vw;
  letter-spacing: 0.1em;
}
.movie-title p {
  line-height: 1.8;
}
.s .movie-title p {
  line-height: 1.6;
}
.movie-info {
  grid-area: c;
  font-weight: 700;
  font-size: 2.6vw;
  letter-spacing: 0.1em;
  border-top: dotted 5px #000;
  padding-top: 5.26%;
}
.s .movie-info {
  border: none;
  font-size: 4.53vw;
  width: 64.8vw;
}
.movie-info--row {
  display: grid;
  grid-template-columns: minmax(0, 20%) auto 1fr;
  align-items: baseline;
  margin-bottom: 0.8vw;
}
.label {
  text-align: right;
}
.label.song {
  text-align: center;
  margin-left: 0.5em;
}

.special__movie {
  width: 79.6%;
  height: auto;
  margin: 7.89% auto 0;
}
.s .special__movie {
  width: 84.77%;
}

.special__text {
  width: 25%;
  margin: 24.89% auto 24.89% auto;
}
.s .special__text {
  width: 50.66%;
}

.special-deco {
  position: absolute;
}
.special-deco--v1 {
  width: 9.53vw;
  top: -105%;
  right: 0;
}
.s .special-deco--v1 {
  width: 13.73vw;
  top: -82%;
  right: unset;
  left: -17%;
}
.special-deco--v2 {
  width: 2.76vw;
  top: 0;
  right: -8%;
}
.s .special-deco--v2 {
  width: 12.93vw;
  top: 46%;
  right: -20%;
}

.special__deco {
  width: 15.26%;
  height: auto;
}
.special__deco--v1 {
  position: absolute;
  top: -2%;
  left: -4%;
}
.special__deco--v2 {
  position: absolute;
  top: -2%;
  right: -4%;
}
.special__deco--v3 {
  position: absolute;
  bottom: -2%;
  left: -4%;
}
.special__deco--v4 {
  position: absolute;
  bottom: -2%;
  right: -4%;
}

/* *********************************
 influencer
****************************** */
.influencer {
  background-color: #ffffc5;
  position: relative;
  padding-bottom: 8.22vw;
}
.s .influencer {
  padding-bottom: 8vw;
}

.influencer__title {
  width: 86.3vw;
  text-align: center;
}
.s .influencer__title {
  width: 95.66vw;
  text-align: center;
  padding-bottom: min(10.5vw, 66px);
}
.influencer__report-title03 {
  display: none;
}
.s .influencer__report-title03 {
  display: block;
}

/* インスタグラム投稿追加用 */
/* .influencer__report-wrap {
  background: url(../kishiwada/imgs/influencer-report_bg_sp.png);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 5vw;
  position: relative;
  width: 96.87vw;
  margin: 2vw auto 0;
  background-size: 100% 100%;
  background-position: center;
  padding: 12% 6% 10%;
} */
/* .s .influencer__report-wrap {
  width: 110vw;
  margin-left: -5vw;
} */
/* .s .influencer__report-wrap--sp {
  display: flex;
  flex-direction: column;
  gap: 5px;
} */
.s .influencer__report-title02 {
  display: none;
}
.influencer__report-title {
  position: absolute;
  top: -3vw;
  left: 17%;
  width: 68.7%;
}
.s .influencer__report-title {
  position: absolute;
  top: -10vw;
  left: 10%;
  width: 76.36%;
}
.instagram-embed._instagram-embed--single {
  position: relative;

  background-color: #fff;
  background: #fff;
  border: 0;
  border-radius: 3px;
  box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.5), 0 1px 10px 0 rgba(0, 0, 0, 0.15);
  margin: 1px;
  max-width: 540px;

  height: 60%;
  padding: 0;
  width: calc(65% - 2px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 30px;
  font-size: min(1.6vw, 30px);
  font-family: 'Noto Sans JP', sans-serif;
  margin-bottom: 12px;
}
.s .instagram-embed._instagram-embed--single {
  font-size: min(5vw, 25px);
}
.instagram-img {
  width: 70%;
  height: 100%;
}
.instagram-embed._instagram-embed--single .full-link {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10;
}
@media screen and (max-width: 1700px) {
  .instagram-embed._instagram-embed--single {
    height: 62%;
  }
}
@media screen and (max-width: 1600px) {
  .instagram-embed._instagram-embed--single {
    height: 63%;
  }
}
@media screen and (max-width: 1400px) {
  .instagram-embed._instagram-embed--single {
    height: 63%;
  }
}
.s .instagram-embed._instagram-embed--single {
  height: 110vw;
}
.SocialProof {
  display: none !important;
}

.instagram-embed {
  width: 24vw;
}
.s .instagram-embed {
  width: 75%;
}
.instagram-media {
  min-width: 10px !important;
  max-width: 100% !important;
}
.instagram-mediaBox {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: min(8vw, 40px);
}
.Feedback {
  display: none !important;
}

.wave-divider--bottom--influencer {
  bottom: 2.44vw;
}
/* .report__img--v1 {
  top: 18%;
  left: 9%;
  width: 23.13%;
  min-width: 300px;
}
.report__img--v2 {
  top: 18%;
  left: 39%;
  width: 23.13%;
  min-width: 300px;
}
.report__img--v3 {
  top: 18%;
  left: 68%;
  width: 23.13%;
  min-width: 300px;
} */

/* .influencer-name {
  margin: 6.97% auto 0;
}

.influencer-name--v1 {
  width: 72%;
}
.influencer-name--v2 {
  width: 108%;
  max-width: 600px;
  margin-left: -4%;
}
.influencer-name--v3 {
  width: 110%;
  max-width: 110%;
  margin-left: -5%;
} */

.imgcharacter__text {
  position: absolute;
  top: 55%;
  left: 15%;
  transform: translateY(-50%);
  z-index: 4;
  width: 28.59%;
}

.wave-divider--bottom--influencer {
  bottom: 2.44vw;
}

.instagram__link {
  position: absolute;
  top: 70%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 12%;
}
.s .instagram__link {
  position: absolute;
  top: 70%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 13%;
}
/* 
.instagram__item_tentative {
  position: relative;
} */

/* インスタグラム投稿追加用 */
/* .reportite__item {
  position: relative;
  width: 110%;
  margin-left: -5%;
  background: url(../kishiwada/imgs/influencer-report_bg_sp.png);
  background-size: 100% 100%;
  background-repeat: no-repeat;

  display: flex;
  justify-content: center;
  align-items: center;
  padding: 25% 0 25%;
} */

/* .reportite__item--movie--v1 {
  width: 63.6vw;
  min-width: 320px;
  top: 17%;
  left: 21%;
}
.reportite__item--movie--v2 {
  width: 63.6vw;
  min-width: 320px;
  top: 3%;
  left: 21%;
}
.reportite__item--movie--v3 {
  width: 63.6vw;
  min-width: 320px;
  height: auto;
  top: 3%;
  left: 21%;
} */

.influencer__report-bg {
  margin-top: 2%;
}
.influencer__report-bg img {
  width: 130%;
  position: relative;
}
.influencer__report-text {
  width: 40vw;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.s .influencer__report-text {
  width: 48vw;
}

/* インスタ埋め込み用 */
/* .instagram__item {
  position: relative;
  width: 100%;
}

.instagram-media {
  min-width: 10px !important;
}

.Feedback {
  display: none !important;
} */

/* sp */

/* .s .influencer-name {
  margin: 3.77% auto 0;
}

.s .influencer-name--v1 {
  max-width: 700px;
  width: 75%;
}

.s .influencer-name--v2 {
  width: 87.84%;
}

.s .influencer-name--v3 {
  max-width: 600px;
  width: 106%;
  margin-left: 0;
} */

/* *********************************
  info
****************************** */
.info {
  background-image: url(../imgs/info-bg.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding-bottom: 4.16vw;
}
.s .info {
  padding-bottom: 19.73vw;
}

.info__title {
  width: 37.8vw;
}
.s .info__title {
  width: 56.4%;
}
.pc {
  position: relative;
  background-image: url(../hakodate/images/influencer-bg.png);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
}
.s .pc {
  background-image: url(../hakodate/images/influencer-bg_sp_1.png);
}
.info__contents-wrap {
  background-color: #fff;
  text-align: center;
  width: 79.16vw;
  margin: 3.64vw auto 0;
  padding-bottom: 5.26vw;
}
.s .info__contents-wrap {
  width: 89.33%;
  margin: 7.73vw auto 0;
  padding-bottom: 6.71%;
}

.info__subtitle {
  font-size: 30px;
  font-weight: 900;
  padding-top: 2.96%;
  padding-bottom: 2.3%;
}

.info__subtitle:nth-of-type(2) {
  padding-top: 7.1%;
}
.s .info__subtitle:nth-of-type(2) {
  padding-top: 12.77%;
}

.info__contents-wrap p {
  font-size: 1.25vw;
  font-weight: 600;
}
.m .info__contents-wrap p {
  font-size: 1.6vw;
}
.s .info__contents-wrap p {
  font-size: 3.33vw;
}

.info__text-wrap {
  border-top: solid 1px #000;
  width: 58%;
  margin: 0 auto;
}
.info__text-wrap li {
  font-weight: 600;
}
.m .info__text-wrap {
  border-top: solid 1px #000;
  width: 85.02%;
  margin: 0 auto;
}
.s .info__text-wrap {
  width: 94.02%;
  margin: 0 auto;
}

.info__text-wrap p:nth-child(1) {
  padding-top: 3.82%;
  line-height: 1.5;
}
.s .info__text-wrap p:nth-child(1) {
  padding-top: 4.77%;
  letter-spacing: 0.05em;
}
.info__text-wrap p:nth-child(2) {
  padding-top: 6.78%;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
.s .info__text-wrap p:nth-child(2) {
  padding-top: 6.56%;
  letter-spacing: 0.05em;
}
.info__text-wrap p:nth-child(3) {
  padding-top: 7.78%;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
.info__text-wrap p:nth-child(3) .text--margin {
  margin-left: 1em;
}
.info__text-wrap p:nth-child(4) {
  padding-top: 1.05%;
}
.s .info__text-wrap p:nth-child(4) {
  padding-top: 1.06%;
}
.m .info__text-wrap p:nth-child(2),
.m .info__text-wrap p:nth-child(3) {
  padding-top: 3.94%;
}
.s .info__text-wrap p:nth-child(3) .text--margin {
  margin-left: 0;
}

.info__text-wrap ul {
  font-size: 1.25vw;
  font-weight: 600;
}
.s .info__text-wrap ul {
  font-size: 3.33vw;
  font-weight: 500;
}
.info__text-wrap ul li span {
  color: #ff6000;
}

/* .inline-center {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  font-size: 1em;
  margin: 0 0.25em;
} */

.slash {
  display: inline-block;
  margin-left: 0.5em;
}

.info__text-wrap .btn {
  margin: 0 auto;
  margin-top: 2.97%;
  width: 76.77%;
  padding: 4% 0;
}
.m .info__text-wrap .btn {
  width: 65.54%;
  font-size: 2.4vw;
}
.s .info__text-wrap .btn {
  margin: 0 auto;
  margin-top: 5.33%;
  width: 72.38%;
  font-size: 3.33vw;
}

/* SPのみ */
.s .info__contents-wrap h3 {
  font-size: 5.06vw;
  font-weight: 700;
  padding-top: 6.77%;
}

.s .info__text-wrap--sp {
  display: inline-block;
}

/* *********************************
 footer
****************************** */
.footer {
  background-color: #b5d1dc;
  text-align: center;
}

.footer__icon {
  margin: 0 auto;
  width: 5.93vw;
  padding-top: 1.197vw;
}
.s .footer__icon {
  padding-top: 3.2vw;
  width: 12.26vw;
}

.footer__text {
  padding-top: 2.08vw;
  font-size: 1.25vw;
  font-weight: 500;
}
.s .footer__text {
  padding-top: 2.8%;
  font-size: 2.4vw;
}

.copyright {
  font-size: 20px;
  font-weight: 500;
  background-color: #ffffc5;
  padding: 1.71vw 0;
  margin-top: 1.197vw;
}
.s .copyright {
  font-size: 2vw;
  padding: 2.13% 0;
  margin-top: 4vw;
}
.influencer-text_title {
  text-align: center;
}
.influencer__contents--wrap {
  background-image: url(../tamano/images/influencer-contents_bg_sp.png);
  background-size: 100% 100%;
  background-position: center;
  position: relative;
  background-repeat: no-repeat;
  margin-top: 10%;
}
.s .influencer__contents--wrap {
  background-image: none;
  margin-top: 0;
}
.influencer__contents {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  grid-template-rows: repeat(2, 1fr);
  width: 70%;
  margin: 0 auto;
  justify-items: center;
  padding: 15.25% 0 23.25% 0;
  row-gap: 4.16vw;
}
.s .influencer__contents {
  grid-template-columns: 1fr;
  width: 100%;
  padding: 0 0;
  row-gap: 0;
  padding-top: 6%;
  padding-bottom: 45%;
}
.influencer__item {
  display: flex;
  flex-direction: column;
  font-weight: 700;
  align-items: center;
}
.s .influencer__item {
  justify-content: flex-end;
  margin-top: 10%;
}
.s .influencer__item:first-child {
  padding-top: 0;
}
.influencer__item-descriptionn {
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
}
.s .influencer__item-descriptionn {
  grid-template-columns: 1fr;
  align-items: center;
  width: 75%;
}

.influencer__item__icon {
  width: 9.37vw;
}
.s .influencer__item__icon {
  width: 34.5%;
}
.s .influencer__item__icon--v1 {
  width: 34%;
}
.s .influencer__item__icon--v4 {
  width: 34%;
}

.influencer__item__name {
  padding-top: 1.6em;
  font-size: 1.36vw;
  text-align: center;
}
.s .influencer__item__name {
  padding-top: 1em;
  font-size: clamp(12.5px, 3.33vw, 24px);
  line-height: 1.5;
}
.influencer__item__text {
  padding-top: 2em;
  font-size: 1.25vw;
}
.s .influencer__item__text {
  padding-top: 1.7em;
  font-size: clamp(12px, 2.4vw, 18px);
  grid-column: 1/-1;
  justify-items: center;
}
.influencer__item__text p {
  line-height: 1.5;
  text-align: center;
}

.instagram-embed {
  width: 24vw;
}
.instagram-embed._second {
  margin-bottom: 24px;
}
.s .instagram-embed._second {
  margin-bottom: 12px;
}
.s .instagram-embed {
  width: 75%;
}

.Feedback {
  display: none !important;
}

.wave-divider--bottom--influencer {
  bottom: 2.44vw;
}

/* *********************************
  info
****************************** */
.info {
  background-image: url(../imgs/info-bg.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding-bottom: 4.16vw;
}
.s .info {
  padding-bottom: 19.73vw;
}

.info__title {
  width: 38.8vw;
}
.s .info__title {
  width: 56.4%;
}

.info__contents-wrap {
  background-color: #fff;
  text-align: center;
  width: 79.16vw;
  margin: 3.64vw auto 0;
  padding-bottom: 5.26vw;
}
.s .info__contents-wrap {
  width: 89.33%;
  margin: 7.73vw auto 0;
  padding-bottom: 6.71%;
}

.info__subtitle {
  font-size: 30px;
  font-weight: 900;
  padding-top: 2.96%;
  padding-bottom: 2.3%;
}

.info__subtitle:nth-of-type(2) {
  padding-top: 7.1%;
}
.s .info__subtitle:nth-of-type(2) {
  padding-top: 12.77%;
}

.info__contents-wrap p {
  font-size: 1.25vw;
  font-weight: 500;
}
.m .info__contents-wrap p {
  font-size: 1.6vw;
}
.s .info__contents-wrap p {
  font-size: 3.33vw;
}

.info__text-wrap {
  border-top: solid 1px #000;
  width: 55%;
  margin: 0 auto;
}
.m .info__text-wrap {
  border-top: solid 1px #000;
  width: 85.02%;
  margin: 0 auto;
}
.s .info__text-wrap {
  width: 94.02%;
  margin: 0 auto;
}

.info__text-wrap p:nth-child(1) {
  padding-top: 3.82%;
  line-height: 1.5;
}
.s .info__text-wrap p:nth-child(1) {
  padding-top: 4.77%;
  letter-spacing: 0.05em;
}
.info__text-wrap p:nth-child(2) {
  padding-top: 6.78%;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
.s .info__text-wrap p:nth-child(2) {
  padding-top: 6.56%;
  letter-spacing: 0.05em;
}
.info__text-wrap p:nth-child(3) {
  padding-top: 7.78%;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
.info__text-wrap p:nth-child(3) .text--margin {
  margin-left: 1em;
}
.info__text-wrap p:nth-child(4) {
  padding-top: 1.05%;
}
.s .info__text-wrap p:nth-child(4) {
  padding-top: 1.06%;
}
.m .info__text-wrap p:nth-child(2),
.m .info__text-wrap p:nth-child(3) {
  padding-top: 3.94%;
}
.s .info__text-wrap p:nth-child(3) .text--margin {
  margin-left: 0;
}

.info__text-wrap ul {
  font-size: 1.25vw;
  font-weight: 500;
}
.s .info__text-wrap ul {
  font-size: 3.33vw;
  font-weight: 500;
}
.info__text-wrap ul li span {
  color: #ff6000;
}

/* .inline-center {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  font-size: 1em;
  margin: 0 0.25em;
} */

.slash {
  display: inline-block;
  margin-left: 0.5em;
}

.info__text-wrap .btn {
  margin: 0 auto;
  margin-top: 6.97%;
  width: 76.77%;
  padding: 4% 0;
}
.m .info__text-wrap .btn {
  width: 65.54%;
  font-size: 2.4vw;
}
.s .info__text-wrap .btn {
  margin: 0 auto;
  margin-top: 5.33%;
  width: 72.38%;
  font-size: 3.33vw;
}

/* SPのみ */
.s .info__contents-wrap h3 {
  font-size: 5.06vw;
  font-weight: 700;
  padding-top: 6.77%;
}

.s .info__text-wrap--sp {
  display: inline-block;
}
