@charset "UTF-8";
/******************************************************************************
******************************************************************************
**
** style.cssにおいて ( var.3.1.3 )
** -- baseでは基本タグとサイト大枠のCSS指定
** -- headerではヘッダーのCSS指定
** -- global navではグローバルナビのCSS指定
** -- contentではコンテント・メイン・サイドナビのCSS指定
** -- footerではフッターのCSS指定
** -- pagetopではページトップボタンのCSS指定
** -- indexではトップページのCSS指定
** -- pageでは汎用ページのCSS指定
** -- styleでは汎用ページのコンテンツ（データ入れ）で使用する基本タグのCSS指定
**
** 注意事項
** -- CSSの命名規則はApplicatsオリジナルの命名規則を採用しています。
** -- 初期フォントサイズはreset.cssにて14pxにリセットしています。
** -- 行間は1.6にリセットしています。
**        単位は不要です。(スタイル崩れする可能性有)
** -- コンテンツ内のフォントサイズ・行間は
**        [ base ]のcontentsクラスで指定しています。
**        変更する場合はこちらを変更してください。
**
******************************************************************************
******************************************************************************/
/*-------------------------------------------------------------------------------------------------------
*********************************************************************************************************
*********************************************************************************************************
******
****** PCスタイル
******
*********************************************************************************************************
*********************************************************************************************************
-------------------------------------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
******************************************************************************
** base
******************************************************************************
----------------------------------------------------------------------------*/
html, body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

body {
  min-height: 100vh;
  font-size: 18px;
}

.w_base {
  width: 90%;
  max-width: 1120px;
  margin: 0 auto;
}

.pc-only {
  display: none !important;
}

/*----------------------------------------------------------------------------
******************************************************************************
**  color
******************************************************************************
----------------------------------------------------------------------------*/
:root {
  --main-color-01: #0CA5CC;
  --main-color-02: #F6F651;
  --main-color-03: #ECFAFF;
  --main-font-01: "Noto Sans JP", sans-serif;
}

/*----------------------------------------------------------------------------
******************************************************************************
**  font
******************************************************************************
----------------------------------------------------------------------------*/
html * {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-style: normal;
}

body {
  background: url(../images/bg.jpeg) center center/cover no-repeat;
}

.mv {
  display: block;
  position: relative;
  width: 100%;
  margin-top: 30px;
  /* スクロールダウンの位置 */
  /* 線のアニメーション部分 */
}
.mv .scroll {
  position: absolute;
  right: 5%;
  bottom: 110px;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
.mv .scroll::before {
  -webkit-animation: scroll 2s infinite;
          animation: scroll 2s infinite;
  background-color: #000;
  bottom: -115px;
  content: "";
  height: 100px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  width: 1px;
}
.mv figure {
  width: auto;
}
.mv .mv_1 {
  position: relative;
  margin: auto;
  display: block;
  width: 95%;
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
}
.mv .mv_2_h1 {
  display: block;
  width: 95%;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.mv .mv_2_h1 img {
  width: 100%;
}
.mv .mv_3 {
  width: 95%;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

/* 線のアニメーション */
@-webkit-keyframes scroll {
  0% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  51% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
}
@keyframes scroll {
  0% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  51% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
}
main {
  width: 100%;
  margin-top: 28px;
}

mark {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, white), color-stop(50%, var(--main-color-02))) !important;
  background: linear-gradient(white 50%, var(--main-color-02) 50%) !important;
}

.main_wrap {
  max-width: 1120px;
  width: 95%;
  margin: auto;
  background: white;
  border-radius: 20px;
  padding: 6vw 2.5%;
}
.main_wrap h2 {
  font-size: clamp(1.1em, 6.5vw, 2em);
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-weight: 700;
  text-align: center;
  padding: 0 30px;
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
  margin: auto;
  position: relative;
}
.main_wrap h2.mark:before, .main_wrap h2:after {
  content: "";
  position: absolute;
  display: block;
  width: 29px;
  aspect-ratio: 59/81;
  bottom: 0;
}
.main_wrap h2.mark:before {
  background: url(../images/h2-before.png) center center/contain no-repeat;
  left: 0;
}
.main_wrap h2.mark:after {
  background: url(../images/h2-after.png) center center/contain no-repeat;
  right: 0;
}
.main_wrap .date {
  width: 87%;
  padding: 5.4% 5.49%;
  margin: 40px auto;
  background: #F5F5F5;
  border-radius: 10px;
}
.main_wrap .date p {
  text-align: center;
  font-size: clamp(1.3em, 8.8vw, 3.5em);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  line-height: 1em;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: 700;
}
.main_wrap .date p span {
  line-height: 1em;
  font-weight: 700;
}
.main_wrap .date p .unit {
  font-size: 0.8em;
}
.main_wrap .date p .year {
  font-size: 0.5em;
}
.main_wrap .date p .week {
  font-size: 0.25em;
  background: var(--main-color-01);
  border-radius: 100vh;
  padding: 5px;
  text-align: center;
  display: block;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  aspect-ratio: 1/1;
  line-height: 1em;
  font-weight: bold;
  color: white;
}
.main_wrap .date p .tilde {
  font-size: 1em;
  text-indent: 100%;
  width: 100%;
  overflow: hidden;
  background: url(../images/tilde.png) center center/contain no-repeat;
  margin: 0 0.3em;
}
.main_wrap .detail_lead {
  text-align: center;
  font-size: 1.2em;
  margin-bottom: 0.5em;
}
.main_wrap .detail_box {
  padding: 60px 0 60px;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(25%, #22B4D5), to(#87F2FF));
  background: linear-gradient(0.5turn, #22B4D5 25%, #87F2FF 100%);
  position: relative;
}
.main_wrap .detail_item1 {
  position: relative;
}
.main_wrap .detail_item1:before, .main_wrap .detail_item1:after {
  content: "";
  display: block;
  position: absolute;
}
.main_wrap .detail_item1:before {
  width: 55px;
  aspect-ratio: 115/55;
  background: url(../images/fish-illust.png) center center/contain no-repeat;
  left: 5%;
  top: -39px;
  z-index: -1;
}
.main_wrap .detail_item1:after {
  width: 27px;
  height: 62px;
  background: url(../images/bubble-illust.png) center center/contain no-repeat;
  right: 5%;
  bottom: 30px;
}
.main_wrap .detail_item1 p {
  font-weight: bold;
  color: white;
  line-height: 2.4em;
  text-align: center;
  font-size: 13px;
}
.main_wrap .detail_item1 p span.yf {
  color: var(--main-color-02);
  font-size: 1.5em;
  font-weight: 700;
  text-shadow: 0px 3px 6px hsla(0, 0%, 0%, 0.16);
}
.main_wrap .detail_item1 p span.bg {
  color: var(--main-color-01);
  background: var(--main-color-02);
  padding: 0px 14px;
  display: block;
  margin: auto;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  font-size: 4vw;
  font-weight: 600;
  margin-top: 20px;
}
.main_wrap .detail_item2 {
  position: relative;
}
.main_wrap .detail_item2:before, .main_wrap .detail_item2:after {
  content: "";
  display: block;
  position: absolute;
}
.main_wrap .detail_item2:before {
  width: 68px;
  height: 55px;
  background: url(../images/fish-illust-reverse.png) center center/contain no-repeat;
  right: 5%;
  top: 80px;
}
.main_wrap .detail_item2:after {
  width: 68px;
  height: 55px;
  background: url(../images/fish-illust.png) center center/contain no-repeat;
  left: 5%;
  bottom: 0px;
}
.main_wrap .detail_item2 p.flow {
  color: var(--main-color-01);
  background: var(--main-color-02);
  display: block;
  position: relative;
  text-shadow: white;
  font-weight: 700;
  -webkit-text-stroke: 9px rgb(255, 255, 255);
  text-stroke: 2px rgb(255, 255, 255);
  paint-order: stroke;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin: auto;
  margin-top: 50px;
  margin-bottom: 1.2em;
  border-radius: 100vh;
  padding: 10px;
  width: 90%;
  max-width: 400px;
  text-align: center;
  font-size: clamp(1.2em, 2vw, 1.7em);
}
.main_wrap .detail_item2 p.flow span {
  -webkit-text-stroke: initial;
  paint-order: initial;
  color: white;
  text-align: center;
  position: absolute;
  left: 50%;
  -webkit-transform: translate(-50%);
          transform: translate(-50%);
  top: -35px;
  font-size: 1.2rem;
}
.main_wrap .detail_item2 p.flow:before {
  content: "";
  display: block;
  position: absolute;
  width: 27px;
  height: 62px;
  background: url(../images/bubble-illust-reverse.png) center center/contain no-repeat;
  left: -11px;
  bottom: 23px;
}
.main_wrap .detail_item2 img {
  width: 90%;
  height: auto;
  margin: auto;
  display: block;
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
}
.main_wrap .comingsoon img {
  width: 100%;
  height: auto;
}
.main_wrap img.wave {
  width: 100%;
  margin: 30px auto;
}

.campain_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  margin-top: 60px;
  gap: 20px;
}
.campain_box .campain_item_award {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.campain_box .campain_item_award img {
  max-width: 600px;
  width: 100%;
  display: block;
  margin: 10px auto;
}
.campain_box .campain_item_award p.award_type {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.campain_box .campain_item_award p.award_type span {
  display: block;
  padding: 5px;
  color: white;
  line-height: 1em;
  border-radius: 5px;
}
.campain_box .campain_item_award p.award_type span._typeis {
  font-size: 1.5em;
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.campain_box .campain_item_award p.award_type span._stamp {
  text-align: center;
}
.campain_box .campain_item_award p.award_type span._stamp span {
  font-size: 0.7rem;
  padding: 0;
}
.campain_box .campain_item_award p.award_type span._stamp b {
  font-size: 1.5em;
  font-weight: bold;
}
.campain_box .campain_item_award.__A p span {
  background: #FF8811;
}
.campain_box .campain_item_award.__A {
  width: 100%;
}
.campain_box .campain_item_award.__A img {
  max-width: 188px;
  margin: 30px auto 15px;
}
.campain_box .campain_item_award.__B p span {
  background: #EE599E;
}
.campain_box .campain_item_award.__C p span {
  background: #11C6FF;
}
.campain_box .campain_item_award .award_prize {
  text-align: center;
}
.campain_box .campain_item_award .award_prize.__A {
  font-size: clamp(1em, 1.5vw, 1.5em);
  font-weight: bold;
  position: relative;
}
.campain_box .campain_item_award .award_prize.__A:before, .campain_box .campain_item_award .award_prize.__A:after {
  content: "";
  display: block;
  width: 41px;
  aspect-ratio: 41/60;
  position: absolute;
  background: url(../images/bright.png) center center/contain no-repeat;
}
.campain_box .campain_item_award .award_prize.__A:before {
  top: 0;
  left: 20px;
}
.campain_box .campain_item_award .award_prize.__A:after {
  bottom: 0;
  right: 20px;
}
.campain_box .campain_item_more {
  width: 100%;
  position: relative;
  border: solid 3px var(--main-color-01);
  padding: 5%;
  font-weight: bold;
  font-size: 0.9em;
}
.campain_box .campain_item_more:before {
  content: "";
  position: absolute;
  top: 7px;
  left: -37px;
  display: block;
  width: 40px;
  height: 31px;
  background: url(../images/fukidashi.png) center center/contain no-repeat;
  -webkit-transform: translate(100%, -100%) rotate(93deg);
          transform: translate(100%, -100%) rotate(93deg);
}
.campain_box .campain_item_more .bg {
  text-align: center;
  color: var(--main-color-01);
  background: var(--main-color-02);
  padding: 5px 14px;
  display: block;
  margin-bottom: 0.8em;
  font-size: clamp(1em, 1.4vw, 1.4em);
  font-weight: 600;
  margin-top: 10px;
}
.campain_box .campain_item_more .blue {
  font-weight: bold;
  margin: 1em 0;
  color: #4D7BB4;
}
.campain_box .campain_item_more .blue mark {
  background: var(--main-color-02);
}
.campain_box .campain_item_more .blue .instagram_link {
  font-weight: bold;
}
.campain_box .campain_item_more dl dt {
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
  padding: 0.1em 0.4em;
  color: white;
  font-weight: bold;
  font-size: 0.9em;
  background: #4D7BB4;
}
.campain_box .campain_item_more dl dd {
  padding: 0.5em 0.4em;
  font-size: bold;
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
  background: var(--main-color-02);
  color: rgb(65, 80, 247);
}
.campain_box .campain_item_more .bae_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3%;
}
.campain_box .campain_item_more .bae_box .bae p {
  padding: 10px 5px;
  color: white;
  line-height: 1em;
  border-radius: 5px;
  font-size: 1em;
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: baseline;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #35CE29;
}
.campain_box .campain_item_more .bae_box .bae p span {
  font-size: 0.7em;
}
.campain_box .campain_item_more .bae_box p.award_prize {
  color: initial;
  text-align: center;
}
.campain_box .campain_item_more .bae_box span.number_of_items {
  color: initial;
}

.number_of_items {
  display: block;
  border: solid 1px #000;
  border-radius: 100vh;
  padding: 0.2em 1em;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  background: none !important;
  text-align: center;
  font-size: 1rem;
  font-weight: 600;
  margin: auto;
}

.box_kickoff {
  display: none;
  margin: 100px auto;
  background: url(../images/kickoff-background-sp.png) center 37px/90% no-repeat, #fff;
}
.box_kickoff .kickoff_title {
  width: 90%;
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
  display: block;
  margin: auto;
}
.box_kickoff .kickoff_lead {
  color: black;
  text-align: center;
  line-height: 1.9em;
  font-size: 1.1em;
  margin-top: 1em;
}
.box_kickoff .kickoff_lead span {
  color: var(--main-color-01);
}
.box_kickoff .kickoff_table {
  margin-top: 50px;
}
.box_kickoff .kickoff_table tbody tr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 3em;
  gap: 20px;
}
.box_kickoff .kickoff_table tbody tr th, .box_kickoff .kickoff_table tbody tr td {
  display: block;
  font-size: 1em;
}
.box_kickoff .kickoff_table tbody tr th.table_date, .box_kickoff .kickoff_table tbody tr td.table_date {
  text-align: right;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.box_kickoff .kickoff_table tbody tr th.sp_ta_c, .box_kickoff .kickoff_table tbody tr td.sp_ta_c {
  text-align: center;
}
.box_kickoff .kickoff_table tbody tr th.table_detail, .box_kickoff .kickoff_table tbody tr td.table_detail {
  line-height: 1.9em;
}
.box_kickoff .kickoff_table tbody tr th .table_stage, .box_kickoff .kickoff_table tbody tr td .table_stage {
  text-align: center;
  font-size: bold;
  line-height: 1.2em;
}
.box_kickoff .kickoff_table tbody tr th .table_stage span, .box_kickoff .kickoff_table tbody tr td .table_stage span {
  color: #8A8A8A;
  font-weight: bold;
}
.box_kickoff .kickoff_table tbody tr th {
  padding: 5px 10px;
  background: #4D7BB4;
  color: white;
  font-weight: bold;
  width: 5em;
  text-align: center;
  border-radius: 10px;
}
.box_kickoff .kickoff_table tbody tr td {
  width: 100%;
  font-size: 1.14rem;
}
.box_kickoff .kickoff_table ul {
  list-style: disc;
  padding-left: 1.3em;
}
.box_kickoff .kickoff_table .indent {
  padding-left: 1em;
  text-indent: -1em;
}
.box_kickoff .stage_event {
  padding-left: 0.8em;
  width: 100%;
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
  margin: auto;
  display: block;
}
.box_kickoff .stage_event span {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
}
.box_kickoff .stage_event span:before {
  content: "";
  display: block;
  width: 28px;
  aspect-ratio: 28/31;
}
.box_kickoff .stage_event span:nth-child(1):before {
  background: url(../images/icon-rps.png) center center/contain no-repeat;
}
.box_kickoff .stage_event span:nth-child(2):before {
  background: url(../images/icon-seri.png) center center/contain no-repeat;
}
.box_kickoff .stage_event span:nth-child(3):before {
  background: url(../images/icon-pr.png) center center/contain no-repeat;
}

.main_wrap.shop_list h2 {
  font-size: clamp(1em, 1.5vw, 1.5em);
  margin-bottom: 12px;
  font-weight: normal;
}
.main_wrap.shop_list div[class$=_area] h3 {
  display: block;
  font-weight: bold;
  width: 100%;
  color: white;
  font-size: clamp(1.2em, 1.5vw, 1.8em);
  padding: 5px 0;
  text-align: center;
  margin-bottom: 8px;
}
.main_wrap.shop_list div[class$=_area] .shop_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 20px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
.main_wrap.shop_list div[class$=_area] .shop_item:last-child {
  margin-bottom: 50px;
}
.main_wrap.shop_list div[class$=_area] .shop_item figure.shop_thumbnail {
  width: 40%;
  aspect-ratio: 275/194;
  overflow: hidden;
}
.main_wrap.shop_list div[class$=_area] .shop_item figure.shop_thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.main_wrap.shop_list div[class$=_area] .shop_item div.shop_text {
  width: calc(60% - 10px);
}
.main_wrap.shop_list div[class$=_area] .shop_item div.shop_text h4 {
  color: #4D7BB4;
  font-weight: bold;
  font-size: clamp(0.9em, 1vw, 1.5em);
}
.main_wrap.shop_list div[class$=_area] .shop_item div.shop_text ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
.main_wrap.shop_list div[class$=_area] .shop_item div.shop_text ul li:before {
  content: "";
  display: block;
  width: 1em;
  height: 1.6em;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.main_wrap.shop_list div[class$=_area] .shop_item div.shop_text ul li:nth-child(1):before {
  background: url(../images/icon-address.png) center center/contain no-repeat;
}
.main_wrap.shop_list div[class$=_area] .shop_item div.shop_text ul li:nth-child(2):before {
  background: url(../images/icon-tel.png) center center/contain no-repeat;
}
.main_wrap.shop_list div[class$=_area] .shop_item div.shop_text ul li:nth-child(3):before {
  background: url(../images/icon-time.png) center center/contain no-repeat;
}
.main_wrap.shop_list div[class$=_area] .shop_item div.shop_text ul li:nth-child(4):before {
  background: url(../images/icon-recommended.png) center center/contain no-repeat;
}
.main_wrap.shop_list .hamamachi_area h3 {
  background: #E77DEF;
}
.main_wrap.shop_list .nagasaki_area h3 {
  background: #E34A4A;
}
.main_wrap.shop_list .urakami_area h3 {
  background: #40A6FF;
}
.main_wrap.shop_list .sumiyoshi_area h3 {
  background: #53D965;
}
.main_wrap.shop_list .tobu_area h3 {
  background: #FF9940;
}
.main_wrap.shop_list .nanbu_area h3 {
  background: #7A5D5D;
}

.main_wrap.shop_list{
  margin:50px auto;
}

.link_area {
  width: 95%;
  left: 2.5%;
  bottom: 30px;
  position: fixed;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 2;
  opacity: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.link_area.activeLink {
  opacity: 1;
}
.link_area img {
  margin: auto;
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
  width: 100%;
}
.link_area #Map {
  position: relative;
  width: 70px;
  aspect-ratio: 372/572;
  margin-bottom: 10px;
  left: 0;
  top: 0;
}
.link_area #Map img {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  opacity: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.link_area #Map img.active {
  opacity: 1 !important;
}
.link_area .links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: calc(100% - 75px);
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  z-index: 2;
}
.link_area .links a {
  font-size: 0.8em;
  display: block;
  width: 32%;
  padding: 3px 0px;
  margin-bottom: 3px;
  text-align: center;
  font-weight: bold;
  background: white;
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.link_area .links a span {
  font-size: 0.78em;
}
.link_area .links a.active {
  color: white !important;
}
.link_area .links #HamamachiLink {
  border: solid 2px #E77DEF;
  color: #E77DEF;
}
.link_area .links #HamamachiLink.active {
  background: #E77DEF;
}
.link_area .links #NagasakiLink {
  border: solid 2px #E34A4A;
  color: #E34A4A;
}
.link_area .links #NagasakiLink.active {
  background: #E34A4A;
}
.link_area .links #UrakamiLink {
  border: solid 2px #40A6FF;
  color: #40A6FF;
}
.link_area .links #UrakamiLink.active {
  background: #40A6FF;
}
.link_area .links #SumiyoshiLink {
  border: solid 2px #53D965;
  color: #53D965;
}
.link_area .links #SumiyoshiLink.active {
  background: #53D965;
}
.link_area .links #TobuLink {
  border: solid 2px #FF9940;
  color: #FF9940;
}
.link_area .links #TobuLink.active {
  background: #FF9940;
}
.link_area .links #NanbuLink {
  border: solid 2px #7A5D5D;
  color: #7A5D5D;
}
.link_area .links #NanbuLink.active {
  background: #7A5D5D;
}

.my_map {
  display: block;
  width: 95%;
  aspect-ratio: 9/16;
  margin: 50px auto;
}

.box_343 {
  margin: 50px auto;
}
.box_343 p {
  font-weight: 700;
  font-size: 0.9em;
  line-height: 2.65em;
}
.box_343 p img {
  display: inline-block;
  font-weight: 700;
  vertical-align: middle;
  scale: 0.9;
}
.box_343 .bnr_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 35px;
}
.box_343 .bnr_box img {
  max-width: 100%;
}
.box_343 .bnr_box img.check {
  max-width: 70%;
}
.box_343 .bnr_box a:hover {
  opacity: 0.8;
}

footer #copyright {
  padding: 1em 0;
  font-size: 12px;
  line-height: 30px;
  color: #ffffff;
  background: #bf9224;
  text-align: center;
}
footer #copyright a {
  color: white;
  text-decoration: none;
}
footer #copyright a:hover {
  color: #fc9;
}

.begin_animation figure img.mv_1 {
  -webkit-transform: translateY(-120%);
          transform: translateY(-120%);
  opacity: 0;
  -webkit-animation: fadeDown 0.5s ease forwards;
          animation: fadeDown 0.5s ease forwards;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}
.begin_animation figure h1.mv_2_h1 img {
  opacity: 0;
  -webkit-animation: scaleIn 2s ease forwards;
          animation: scaleIn 2s ease forwards;
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
}
.begin_animation figure img.mv_3 {
  opacity: 0;
  -webkit-animation: fadeInDate 0.5s ease forwards;
          animation: fadeInDate 0.5s ease forwards;
  -webkit-animation-delay: 4s;
          animation-delay: 4s;
}
.begin_animation .scroll {
  opacity: 0;
  -webkit-animation: fadeInDate 0.5s ease forwards;
          animation: fadeInDate 0.5s ease forwards;
  -webkit-animation-delay: 5s;
          animation-delay: 5s;
}

@-webkit-keyframes fadeDown {
  0% {
    -webkit-transform: translate(0, -100%);
            transform: translate(0, -100%);
    opacity: 1;
  }
  100% {
    -webkit-transform: translate(0);
            transform: translate(0);
    opacity: 1;
  }
}

@keyframes fadeDown {
  0% {
    -webkit-transform: translate(0, -100%);
            transform: translate(0, -100%);
    opacity: 1;
  }
  100% {
    -webkit-transform: translate(0);
            transform: translate(0);
    opacity: 1;
  }
}
@-webkit-keyframes scaleIn {
  0% {
    scale: 0;
    opacity: 1;
  }
  45% {
    scale: 1.2;
    opacity: 1;
  }
  55% {
    scale: 1.2;
    opacity: 1;
  }
  100% {
    scale: 1;
    opacity: 1;
  }
}
@keyframes scaleIn {
  0% {
    scale: 0;
    opacity: 1;
  }
  45% {
    scale: 1.2;
    opacity: 1;
  }
  55% {
    scale: 1.2;
    opacity: 1;
  }
  100% {
    scale: 1;
    opacity: 1;
  }
}
@-webkit-keyframes fadeInDate {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeInDate {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}/*# sourceMappingURL=sp.css.map */